From 91dd95759da3d5a5e5a962ac6a10308f6ea399e8 Mon Sep 17 00:00:00 2001 From: Joy Arulraj Date: Mon, 20 Jan 2020 02:49:15 -0500 Subject: [PATCH] Refactoring Parser (#48) --- .gitignore | 9 + .travis.yml | 3 +- Grammar/README.md | 16 - Grammar/frameQL/README.md | 80 - Grammar/frameQL/grammar/frameQLLexer.g4 | 1156 - Grammar/frameQL/grammar/frameQLParser.g4 | 2468 - Grammar/frameQL/grammar/test.txt | 13 - Grammar/frameQL/grammar/test/.DS_Store | Bin 6148 -> 0 bytes Grammar/frameQL/grammar/test/README.MD | 19 - Grammar/frameQL/grammar/test/evalQuery.py | 62 - .../frameQL/grammar/test/frameQLLexer.interp | 2973 - Grammar/frameQL/grammar/test/frameQLLexer.py | 7058 --- .../frameQL/grammar/test/frameQLLexer.tokens | 1941 - .../frameQL/grammar/test/frameQLParser.interp | 2283 - Grammar/frameQL/grammar/test/frameQLParser.py | 48303 --------------- .../frameQL/grammar/test/frameQLParser.tokens | 1941 - .../grammar/test/frameQLParserListener.py | 4807 -- Grammar/frameQL/grammar/test/readme.md | 19 - Grammar/frameQL/grammar/test/temp.py | 62 - Grammar/frameQL/grammar/test/test.txt | 3 - .../grammar/test/testFor2PairBrackets.txt | 3 - environment.yml | 2 +- script/antlr4/setup.sh | 17 + script/formatting/formatter.py | 14 +- src/{query_parser => parser}/__init__.py | 0 src/{query_parser => parser}/eva_parser.py | 12 +- .../eva_ql_parser_visitor.py | 89 +- src/{query_parser => parser}/eva_statement.py | 3 +- .../parser/evaql}/__init__.py | 0 src/parser/evaql/evaql_lexer.g4 | 239 + src/parser/evaql/evaql_parser.g4 | 483 + .../select_statement.py | 6 +- src/{query_parser => parser}/table_ref.py | 0 src/{query_parser => parser}/types.py | 0 test/parser/__init__.py | 14 + test/{query_parser => parser}/test_parser.py | 13 +- .../test_parser_visitor.py | 12 +- test/udfs/data/dog.jpeg.REMOVED.git-id | 1 + test/udfs/data/dog_cat.jpg.REMOVED.git-id | 1 + third_party/evaQL/__init__.py | 0 third_party/evaQL/grammar/frameQLLexer.g4 | 1156 - third_party/evaQL/grammar/frameQLParser.g4 | 2468 - third_party/evaQL/parser/frameQLLexer.py | 7057 --- third_party/evaQL/parser/frameQLParser.py | 49878 ---------------- .../evaQL/parser/frameQLParserVisitor.py | 2665 - 45 files changed, 848 insertions(+), 136501 deletions(-) delete mode 100644 Grammar/README.md delete mode 100644 Grammar/frameQL/README.md delete mode 100644 Grammar/frameQL/grammar/frameQLLexer.g4 delete mode 100644 Grammar/frameQL/grammar/frameQLParser.g4 delete mode 100644 Grammar/frameQL/grammar/test.txt delete mode 100644 Grammar/frameQL/grammar/test/.DS_Store delete mode 100644 Grammar/frameQL/grammar/test/README.MD delete mode 100644 Grammar/frameQL/grammar/test/evalQuery.py delete mode 100644 Grammar/frameQL/grammar/test/frameQLLexer.interp delete mode 100644 Grammar/frameQL/grammar/test/frameQLLexer.py delete mode 100644 Grammar/frameQL/grammar/test/frameQLLexer.tokens delete mode 100644 Grammar/frameQL/grammar/test/frameQLParser.interp delete mode 100644 Grammar/frameQL/grammar/test/frameQLParser.py delete mode 100644 Grammar/frameQL/grammar/test/frameQLParser.tokens delete mode 100644 Grammar/frameQL/grammar/test/frameQLParserListener.py delete mode 100644 Grammar/frameQL/grammar/test/readme.md delete mode 100644 Grammar/frameQL/grammar/test/temp.py delete mode 100644 Grammar/frameQL/grammar/test/test.txt delete mode 100644 Grammar/frameQL/grammar/test/testFor2PairBrackets.txt create mode 100755 script/antlr4/setup.sh rename src/{query_parser => parser}/__init__.py (100%) rename src/{query_parser => parser}/eva_parser.py (76%) rename src/{query_parser => parser}/eva_ql_parser_visitor.py (64%) rename src/{query_parser => parser}/eva_statement.py (95%) rename {test/query_parser => src/parser/evaql}/__init__.py (100%) create mode 100644 src/parser/evaql/evaql_lexer.g4 create mode 100644 src/parser/evaql/evaql_parser.g4 rename src/{query_parser => parser}/select_statement.py (94%) rename src/{query_parser => parser}/table_ref.py (100%) rename src/{query_parser => parser}/types.py (100%) create mode 100644 test/parser/__init__.py rename test/{query_parser => parser}/test_parser.py (93%) rename test/{query_parser => parser}/test_parser_visitor.py (91%) create mode 100644 test/udfs/data/dog.jpeg.REMOVED.git-id create mode 100644 test/udfs/data/dog_cat.jpg.REMOVED.git-id delete mode 100644 third_party/evaQL/__init__.py delete mode 100644 third_party/evaQL/grammar/frameQLLexer.g4 delete mode 100644 third_party/evaQL/grammar/frameQLParser.g4 delete mode 100644 third_party/evaQL/parser/frameQLLexer.py delete mode 100644 third_party/evaQL/parser/frameQLParser.py delete mode 100644 third_party/evaQL/parser/frameQLParserVisitor.py diff --git a/.gitignore b/.gitignore index 4638481576..572514c1fc 100644 --- a/.gitignore +++ b/.gitignore @@ -132,3 +132,12 @@ tmp/* .settings/* # configuration + +# Grammar files and ANTLR4 +*.jar +evaql_lexer.py +evaql_parser.py +evaql_parserListener.py +evaql_parserVisitor.py +*.tokens +*.interp diff --git a/.travis.yml b/.travis.yml index 74420af628..d74fef8ecc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,7 +23,8 @@ install: - conda list script: - - pycodestyle --select E src/ test/ --exclude src/filters + - ./script/antlr4/setup.sh + - pycodestyle --select E src/ test/ --exclude src/filters,src/parser/evaql - pytest test/ --cov-report= --cov=src/ -s -v after_success: diff --git a/Grammar/README.md b/Grammar/README.md deleted file mode 100644 index cdde876016..0000000000 --- a/Grammar/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# FRAMEQL, a Video analytic language -Building grammar for video analytics -This repository has 2 main components; Grammar and test program; - -## Grammar -Grammar is a set of rules that specify what a language should look like and how to interpret. They are stored in -**/frameQL/grammar**. -In this directory, you will see **frameQLLexer** and **frameQLParser** that are rules for our language. -In **/frameQL/grammar/test** is our test program that will take in a query text file and return a list of arguments that can be recognized by EVA video analytic engine, which is being developmented by another team. - -You can read more about it in each of the directories' README.MD - -## Contributors -(Kedi Zheng) **kzheng65**, also holds the account **zhenk14** -(Minyi Hu) **mhu80**, also holds the account **minyi.hu** -(Vijay Sri Lakshmanan) **vlakshmanan9** diff --git a/Grammar/frameQL/README.md b/Grammar/frameQL/README.md deleted file mode 100644 index 22d9c338da..0000000000 --- a/Grammar/frameQL/README.md +++ /dev/null @@ -1,80 +0,0 @@ -# FrameQL -## Overview -FrameQL is a Declearative language that takes SQL-ish language to perform video analytic - -## Structure of FrameQL language -A valid FrameQL program is a ***frameQLstatements***. -*frameQL statements* will consists of multiple ***frameQL statement***. -Each ***frameQLstatement*** can be either ***ddlStatement*** or ***dmlStatement***, *** transactionStatement*** -Since FrameQL will be used mainly for video exploratory purpose, we will focus on ***dmlStatement***, specifically, ***selectStatement***. - -A ***selectStatement*** will contain ***querySpecification*** that starts with **SELECT**. - -Each ***querySepcification*** will take the form of of: -``` - SELECT ***selectSpec*** ***selectElements*** - ***fromClause*** ***errorTolerenceExpression*** ***confLevelExpression*** -``` - -Where ***selectSpec*** can be empty or **DISTINCT**. - -***selectElements*** is a list of attribltes from the table returned in ***fromClause*** - -***fromClause*** will take the form of -``` -FROM tableSources WHERE (expressions) -``` - -***errorTolerenceExpression*** and ***confLevelExpression*** are expressions that are used to specify the fault tolerence of the backend and confidence level of the result. Together, these two expressions will have the form -``` -ERROR< 0.2 CONF> 0.9 -``` - - -The implementation of the Grammar is stored in frameQLParser.g4 and will be converted into a program that parses input with this grammar via ANTLR. - -# Building Lexer and Parser of FrameQL grammar with ANTLR -ANTLR is a language tool that translate grammar for Lexer and Parser into program that can translate stream into tokens and tokens into sentences that follows the specified grammar. Users can then modify the generated code to let the parser perform actions based on the input. - - - -## How to generate parser -REVIEWERS, PLEASE DON'T CALL ANTLR Since it will overwrite the codes we have written. -### Use ANTLR4 to construct the parser and the lexer -First, we need to translate our grammar into actual -``` -antlr4 -Dlanguage=Python3 *.g4 -o ../build -``` - - - -## How to generate a Java program the views that parse tree -### Compile all java files in build -Go to ../build and execute: -``` -antlr4 *.g4 -o ../javaBuild -``` - -### -## How to construct parse tree -in /javaBuild, run: -``` -grun frameQL root -gui -``` -frameQL is the parser generated by antlr and we will start from the **root** rule. - -It will ask for inputs in the command prompt - -Or we can provide input txt file via: -``` -grun frameQL root -gui query.txt -``` - -In the end, grun will output the parse tree - -## Problems -### No runtime environemnt -Just export CLASSPATH -``` -export CLASSPATH=".:/usr/local/lib/antlr-4.7.1-complete.jar:$CLASSPATH" -``` diff --git a/Grammar/frameQL/grammar/frameQLLexer.g4 b/Grammar/frameQL/grammar/frameQLLexer.g4 deleted file mode 100644 index 944fa00d68..0000000000 --- a/Grammar/frameQL/grammar/frameQLLexer.g4 +++ /dev/null @@ -1,1156 +0,0 @@ - -lexer grammar frameQLLexer; - -channels { MYSQLCOMMENT, ERRORCHANNEL } - -// SKIP - -SPACE: [ \t\r\n]+ -> channel(HIDDEN); -SPEC_MYSQL_COMMENT: '/*!' .+? '*/' -> channel(MYSQLCOMMENT); -COMMENT_INPUT: '/*' .*? '*/' -> channel(HIDDEN); -LINE_COMMENT: ( - ('-- ' | '#') ~[\r\n]* ('\r'? '\n' | EOF) - | '--' ('\r'? '\n' | EOF) - ) -> channel(HIDDEN); - - - -//FrameQL keyword -ERRORBOUND: 'ERROR_WITHIN'; -CONFLEVEL: 'AT_CONFIDENCE'; - -// Keywords -// Common Keywords - -ADD: 'ADD'; -ALL: 'ALL'; -ALTER: 'ALTER'; -ALWAYS: 'ALWAYS'; -ANALYZE: 'ANALYZE'; -AND: 'AND'; -AS: 'AS'; -ASC: 'ASC'; -BEFORE: 'BEFORE'; -BETWEEN: 'BETWEEN'; -BOTH: 'BOTH'; -BY: 'BY'; -CALL: 'CALL'; -CASCADE: 'CASCADE'; -CASE: 'CASE'; -CAST: 'CAST'; -CHANGE: 'CHANGE'; -CHARACTER: 'CHARACTER'; -CHECK: 'CHECK'; -COLLATE: 'COLLATE'; -COLUMN: 'COLUMN'; -CONDITION: 'CONDITION'; -CONSTRAINT: 'CONSTRAINT'; -CONTINUE: 'CONTINUE'; -CONVERT: 'CONVERT'; -CREATE: 'CREATE'; -CROSS: 'CROSS'; -CURRENT_USER: 'CURRENT_USER'; -CURSOR: 'CURSOR'; -DATABASE: 'DATABASE'; -DATABASES: 'DATABASES'; -DECLARE: 'DECLARE'; -DEFAULT: 'DEFAULT'; -DELAYED: 'DELAYED'; -DELETE: 'DELETE'; -DESC: 'DESC'; -DESCRIBE: 'DESCRIBE'; -DETERMINISTIC: 'DETERMINISTIC'; -DISTINCT: 'DISTINCT'; -DISTINCTROW: 'DISTINCTROW'; -DROP: 'DROP'; -EACH: 'EACH'; -ELSE: 'ELSE'; -ELSEIF: 'ELSEIF'; -ENCLOSED: 'ENCLOSED'; -ESCAPED: 'ESCAPED'; -EXISTS: 'EXISTS'; -EXIT: 'EXIT'; -EXPLAIN: 'EXPLAIN'; -FALSE: 'FALSE'; -FETCH: 'FETCH'; -FOR: 'FOR'; -FORCE: 'FORCE'; -FOREIGN: 'FOREIGN'; -FROM: 'FROM'; -FULLTEXT: 'FULLTEXT'; -GENERATED: 'GENERATED'; -GRANT: 'GRANT'; -GROUP: 'GROUP'; -HAVING: 'HAVING'; -HIGH_PRIORITY: 'HIGH_PRIORITY'; -IF: 'IF'; -IGNORE: 'IGNORE'; -IN: 'IN'; -INDEX: 'INDEX'; -INFILE: 'INFILE'; -INNER: 'INNER'; -INOUT: 'INOUT'; -INSERT: 'INSERT'; -INTERVAL: 'INTERVAL'; -INTO: 'INTO'; -IS: 'IS'; -ITERATE: 'ITERATE'; -JOIN: 'JOIN'; -KEY: 'KEY'; -KEYS: 'KEYS'; -KILL: 'KILL'; -LEADING: 'LEADING'; -LEAVE: 'LEAVE'; -LEFT: 'LEFT'; -LIKE: 'LIKE'; -LIMIT: 'LIMIT'; -LINEAR: 'LINEAR'; -LINES: 'LINES'; -LOAD: 'LOAD'; -LOCK: 'LOCK'; -LOOP: 'LOOP'; -LOW_PRIORITY: 'LOW_PRIORITY'; -MASTER_BIND: 'MASTER_BIND'; -MASTER_SSL_VERIFY_SERVER_CERT: 'MASTER_SSL_VERIFY_SERVER_CERT'; -MATCH: 'MATCH'; -MAXVALUE: 'MAXVALUE'; -MODIFIES: 'MODIFIES'; -NATURAL: 'NATURAL'; -NOT: 'NOT'; -NO_WRITE_TO_BINLOG: 'NO_WRITE_TO_BINLOG'; -NULL_LITERAL: 'NULL'; -ON: 'ON'; -OPTIMIZE: 'OPTIMIZE'; -OPTION: 'OPTION'; -OPTIONALLY: 'OPTIONALLY'; -OR: 'OR'; -ORDER: 'ORDER'; -OUT: 'OUT'; -OUTER: 'OUTER'; -OUTFILE: 'OUTFILE'; -PARTITION: 'PARTITION'; -PRIMARY: 'PRIMARY'; -PROCEDURE: 'PROCEDURE'; -PURGE: 'PURGE'; -RANGE: 'RANGE'; -READ: 'READ'; -READS: 'READS'; -REFERENCES: 'REFERENCES'; -REGEXP: 'REGEXP'; -RELEASE: 'RELEASE'; -RENAME: 'RENAME'; -REPEAT: 'REPEAT'; -REPLACE: 'REPLACE'; -REQUIRE: 'REQUIRE'; -RESTRICT: 'RESTRICT'; -RETURN: 'RETURN'; -REVOKE: 'REVOKE'; -RIGHT: 'RIGHT'; -RLIKE: 'RLIKE'; -SCHEMA: 'SCHEMA'; -SCHEMAS: 'SCHEMAS'; -SELECT: 'SELECT'; -SET: 'SET'; -SEPARATOR: 'SEPARATOR'; -SHOW: 'SHOW'; -SPATIAL: 'SPATIAL'; -SQL: 'SQL'; -SQLEXCEPTION: 'SQLEXCEPTION'; -SQLSTATE: 'SQLSTATE'; -SQLWARNING: 'SQLWARNING'; -SQL_BIG_RESULT: 'SQL_BIG_RESULT'; -SQL_CALC_FOUND_ROWS: 'SQL_CALC_FOUND_ROWS'; -SQL_SMALL_RESULT: 'SQL_SMALL_RESULT'; -SSL: 'SSL'; -STARTING: 'STARTING'; -STRAIGHT_JOIN: 'STRAIGHT_JOIN'; -TABLE: 'TABLE'; -TERMINATED: 'TERMINATED'; -THEN: 'THEN'; -TO: 'TO'; -TRAILING: 'TRAILING'; -TRIGGER: 'TRIGGER'; -TRUE: 'TRUE'; -UNDO: 'UNDO'; -UNION: 'UNION'; -UNIQUE: 'UNIQUE'; -UNLOCK: 'UNLOCK'; -UNSIGNED: 'UNSIGNED'; -UPDATE: 'UPDATE'; -USAGE: 'USAGE'; -USE: 'USE'; -USING: 'USING'; -VALUES: 'VALUES'; -WHEN: 'WHEN'; -WHERE: 'WHERE'; -WHILE: 'WHILE'; -WITH: 'WITH'; -WRITE: 'WRITE'; -XOR: 'XOR'; -ZEROFILL: 'ZEROFILL'; - - -// DATA TYPE Keywords - -TINYINT: 'TINYINT'; -SMALLINT: 'SMALLINT'; -MEDIUMINT: 'MEDIUMINT'; -INT: 'INT'; -INTEGER: 'INTEGER'; -BIGINT: 'BIGINT'; -REAL: 'REAL'; -DOUBLE: 'DOUBLE'; -FLOAT: 'FLOAT'; -DECIMAL: 'DECIMAL'; -NUMERIC: 'NUMERIC'; -DATE: 'DATE'; -TIME: 'TIME'; -TIMESTAMP: 'TIMESTAMP'; -DATETIME: 'DATETIME'; -YEAR: 'YEAR'; -CHAR: 'CHAR'; -VARCHAR: 'VARCHAR'; -BINARY: 'BINARY'; -VARBINARY: 'VARBINARY'; -TINYBLOB: 'TINYBLOB'; -BLOB: 'BLOB'; -MEDIUMBLOB: 'MEDIUMBLOB'; -LONGBLOB: 'LONGBLOB'; -TINYTEXT: 'TINYTEXT'; -TEXT: 'TEXT'; -MEDIUMTEXT: 'MEDIUMTEXT'; -LONGTEXT: 'LONGTEXT'; -ENUM: 'ENUM'; -SERIAL: 'SERIAL'; - - -// Interval type Keywords - -YEAR_MONTH: 'YEAR_MONTH'; -DAY_HOUR: 'DAY_HOUR'; -DAY_MINUTE: 'DAY_MINUTE'; -DAY_SECOND: 'DAY_SECOND'; -HOUR_MINUTE: 'HOUR_MINUTE'; -HOUR_SECOND: 'HOUR_SECOND'; -MINUTE_SECOND: 'MINUTE_SECOND'; -SECOND_MICROSECOND: 'SECOND_MICROSECOND'; -MINUTE_MICROSECOND: 'MINUTE_MICROSECOND'; -HOUR_MICROSECOND: 'HOUR_MICROSECOND'; -DAY_MICROSECOND: 'DAY_MICROSECOND'; - - -// Group function Keywords - -AVG: 'AVG'; -BIT_AND: 'BIT_AND'; -BIT_OR: 'BIT_OR'; -BIT_XOR: 'BIT_XOR'; -COUNT: 'COUNT'; -GROUP_CONCAT: 'GROUP_CONCAT'; -MAX: 'MAX'; -MIN: 'MIN'; -STD: 'STD'; -STDDEV: 'STDDEV'; -STDDEV_POP: 'STDDEV_POP'; -STDDEV_SAMP: 'STDDEV_SAMP'; -SUM: 'SUM'; -VAR_POP: 'VAR_POP'; -VAR_SAMP: 'VAR_SAMP'; -VARIANCE: 'VARIANCE'; - - -//FRAMEQL aggregate -FCOUNT: 'FCOUNT'; -// Common function Keywords - -CURRENT_DATE: 'CURRENT_DATE'; -CURRENT_TIME: 'CURRENT_TIME'; -CURRENT_TIMESTAMP: 'CURRENT_TIMESTAMP'; -LOCALTIME: 'LOCALTIME'; -CURDATE: 'CURDATE'; -CURTIME: 'CURTIME'; -DATE_ADD: 'DATE_ADD'; -DATE_SUB: 'DATE_SUB'; -EXTRACT: 'EXTRACT'; -LOCALTIMESTAMP: 'LOCALTIMESTAMP'; -NOW: 'NOW'; -POSITION: 'POSITION'; -SUBSTR: 'SUBSTR'; -SUBSTRING: 'SUBSTRING'; -SYSDATE: 'SYSDATE'; -TRIM: 'TRIM'; -UTC_DATE: 'UTC_DATE'; -UTC_TIME: 'UTC_TIME'; -UTC_TIMESTAMP: 'UTC_TIMESTAMP'; - - - -// Keywords, but can be ID -// Common Keywords, but can be ID - -ACCOUNT: 'ACCOUNT'; -ACTION: 'ACTION'; -AFTER: 'AFTER'; -AGGREGATE: 'AGGREGATE'; -ALGORITHM: 'ALGORITHM'; -ANY: 'ANY'; -AT: 'AT'; -AUTHORS: 'AUTHORS'; -AUTOCOMMIT: 'AUTOCOMMIT'; -AUTOEXTEND_SIZE: 'AUTOEXTEND_SIZE'; -AUTO_INCREMENT: 'AUTO_INCREMENT'; -AVG_ROW_LENGTH: 'AVG_ROW_LENGTH'; -BEGIN: 'BEGIN'; -BINLOG: 'BINLOG'; -BIT: 'BIT'; -BLOCK: 'BLOCK'; -BOOL: 'BOOL'; -BOOLEAN: 'BOOLEAN'; -BTREE: 'BTREE'; -CACHE: 'CACHE'; -CASCADED: 'CASCADED'; -CHAIN: 'CHAIN'; -CHANGED: 'CHANGED'; -CHANNEL: 'CHANNEL'; -CHECKSUM: 'CHECKSUM'; -CIPHER: 'CIPHER'; -CLIENT: 'CLIENT'; -CLOSE: 'CLOSE'; -COALESCE: 'COALESCE'; -CODE: 'CODE'; -COLUMNS: 'COLUMNS'; -COLUMN_FORMAT: 'COLUMN_FORMAT'; -COMMENT: 'COMMENT'; -COMMIT: 'COMMIT'; -COMPACT: 'COMPACT'; -COMPLETION: 'COMPLETION'; -COMPRESSED: 'COMPRESSED'; -COMPRESSION: 'COMPRESSION'; -CONCURRENT: 'CONCURRENT'; -CONNECTION: 'CONNECTION'; -CONSISTENT: 'CONSISTENT'; -CONTAINS: 'CONTAINS'; -CONTEXT: 'CONTEXT'; -CONTRIBUTORS: 'CONTRIBUTORS'; -COPY: 'COPY'; -CPU: 'CPU'; -DATA: 'DATA'; -DATAFILE: 'DATAFILE'; -DEALLOCATE: 'DEALLOCATE'; -DEFAULT_AUTH: 'DEFAULT_AUTH'; -DEFINER: 'DEFINER'; -DELAY_KEY_WRITE: 'DELAY_KEY_WRITE'; -DES_KEY_FILE: 'DES_KEY_FILE'; -DIRECTORY: 'DIRECTORY'; -DISABLE: 'DISABLE'; -DISCARD: 'DISCARD'; -DISK: 'DISK'; -DO: 'DO'; -DUMPFILE: 'DUMPFILE'; -DUPLICATE: 'DUPLICATE'; -DYNAMIC: 'DYNAMIC'; -ENABLE: 'ENABLE'; -ENCRYPTION: 'ENCRYPTION'; -END: 'END'; -ENDS: 'ENDS'; -ENGINE: 'ENGINE'; -ENGINES: 'ENGINES'; -ERROR: 'ERROR'; -ERRORS: 'ERRORS'; -ESCAPE: 'ESCAPE'; -EVEN: 'EVEN'; -EVENT: 'EVENT'; -EVENTS: 'EVENTS'; -EVERY: 'EVERY'; -EXCHANGE: 'EXCHANGE'; -EXCLUSIVE: 'EXCLUSIVE'; -EXPIRE: 'EXPIRE'; -EXPORT: 'EXPORT'; -EXTENDED: 'EXTENDED'; -EXTENT_SIZE: 'EXTENT_SIZE'; -FAST: 'FAST'; -FAULTS: 'FAULTS'; -FIELDS: 'FIELDS'; -FILE_BLOCK_SIZE: 'FILE_BLOCK_SIZE'; -FILTER: 'FILTER'; -FIRST: 'FIRST'; -FIXED: 'FIXED'; -FLUSH: 'FLUSH'; -FOLLOWS: 'FOLLOWS'; -FOUND: 'FOUND'; -FULL: 'FULL'; -FUNCTION: 'FUNCTION'; -GENERAL: 'GENERAL'; -GLOBAL: 'GLOBAL'; -GRANTS: 'GRANTS'; -GROUP_REPLICATION: 'GROUP_REPLICATION'; -HANDLER: 'HANDLER'; -HASH: 'HASH'; -HELP: 'HELP'; -HOST: 'HOST'; -HOSTS: 'HOSTS'; -IDENTIFIED: 'IDENTIFIED'; -IGNORE_SERVER_IDS: 'IGNORE_SERVER_IDS'; -IMPORT: 'IMPORT'; -INDEXES: 'INDEXES'; -INITIAL_SIZE: 'INITIAL_SIZE'; -INPLACE: 'INPLACE'; -INSERT_METHOD: 'INSERT_METHOD'; -INSTALL: 'INSTALL'; -INSTANCE: 'INSTANCE'; -INVOKER: 'INVOKER'; -IO: 'IO'; -IO_THREAD: 'IO_THREAD'; -IPC: 'IPC'; -ISOLATION: 'ISOLATION'; -ISSUER: 'ISSUER'; -JSON: 'JSON'; -KEY_BLOCK_SIZE: 'KEY_BLOCK_SIZE'; -LANGUAGE: 'LANGUAGE'; -LAST: 'LAST'; -LEAVES: 'LEAVES'; -LESS: 'LESS'; -LEVEL: 'LEVEL'; -LIST: 'LIST'; -LOCAL: 'LOCAL'; -LOGFILE: 'LOGFILE'; -LOGS: 'LOGS'; -MASTER: 'MASTER'; -MASTER_AUTO_POSITION: 'MASTER_AUTO_POSITION'; -MASTER_CONNECT_RETRY: 'MASTER_CONNECT_RETRY'; -MASTER_DELAY: 'MASTER_DELAY'; -MASTER_HEARTBEAT_PERIOD: 'MASTER_HEARTBEAT_PERIOD'; -MASTER_HOST: 'MASTER_HOST'; -MASTER_LOG_FILE: 'MASTER_LOG_FILE'; -MASTER_LOG_POS: 'MASTER_LOG_POS'; -MASTER_PASSWORD: 'MASTER_PASSWORD'; -MASTER_PORT: 'MASTER_PORT'; -MASTER_RETRY_COUNT: 'MASTER_RETRY_COUNT'; -MASTER_SSL: 'MASTER_SSL'; -MASTER_SSL_CA: 'MASTER_SSL_CA'; -MASTER_SSL_CAPATH: 'MASTER_SSL_CAPATH'; -MASTER_SSL_CERT: 'MASTER_SSL_CERT'; -MASTER_SSL_CIPHER: 'MASTER_SSL_CIPHER'; -MASTER_SSL_CRL: 'MASTER_SSL_CRL'; -MASTER_SSL_CRLPATH: 'MASTER_SSL_CRLPATH'; -MASTER_SSL_KEY: 'MASTER_SSL_KEY'; -MASTER_TLS_VERSION: 'MASTER_TLS_VERSION'; -MASTER_USER: 'MASTER_USER'; -MAX_CONNECTIONS_PER_HOUR: 'MAX_CONNECTIONS_PER_HOUR'; -MAX_QUERIES_PER_HOUR: 'MAX_QUERIES_PER_HOUR'; -MAX_ROWS: 'MAX_ROWS'; -MAX_SIZE: 'MAX_SIZE'; -MAX_UPDATES_PER_HOUR: 'MAX_UPDATES_PER_HOUR'; -MAX_USER_CONNECTIONS: 'MAX_USER_CONNECTIONS'; -MEDIUM: 'MEDIUM'; -MERGE: 'MERGE'; -MID: 'MID'; -MIGRATE: 'MIGRATE'; -MIN_ROWS: 'MIN_ROWS'; -MODE: 'MODE'; -MODIFY: 'MODIFY'; -MUTEX: 'MUTEX'; -MYSQL: 'MYSQL'; -NAME: 'NAME'; -NAMES: 'NAMES'; -NCHAR: 'NCHAR'; -NEVER: 'NEVER'; -NEXT: 'NEXT'; -NO: 'NO'; -NODEGROUP: 'NODEGROUP'; -NONE: 'NONE'; -OFFLINE: 'OFFLINE'; -OFFSET: 'OFFSET'; -OJ: 'OJ'; -OLD_PASSWORD: 'OLD_PASSWORD'; -ONE: 'ONE'; -ONLINE: 'ONLINE'; -ONLY: 'ONLY'; -OPEN: 'OPEN'; -OPTIMIZER_COSTS: 'OPTIMIZER_COSTS'; -OPTIONS: 'OPTIONS'; -OWNER: 'OWNER'; -PACK_KEYS: 'PACK_KEYS'; -PAGE: 'PAGE'; -PARSER: 'PARSER'; -PARTIAL: 'PARTIAL'; -PARTITIONING: 'PARTITIONING'; -PARTITIONS: 'PARTITIONS'; -PASSWORD: 'PASSWORD'; -PHASE: 'PHASE'; -PLUGIN: 'PLUGIN'; -PLUGIN_DIR: 'PLUGIN_DIR'; -PLUGINS: 'PLUGINS'; -PORT: 'PORT'; -PRECEDES: 'PRECEDES'; -PREPARE: 'PREPARE'; -PRESERVE: 'PRESERVE'; -PREV: 'PREV'; -PROCESSLIST: 'PROCESSLIST'; -PROFILE: 'PROFILE'; -PROFILES: 'PROFILES'; -PROXY: 'PROXY'; -QUERY: 'QUERY'; -QUICK: 'QUICK'; -REBUILD: 'REBUILD'; -RECOVER: 'RECOVER'; -REDO_BUFFER_SIZE: 'REDO_BUFFER_SIZE'; -REDUNDANT: 'REDUNDANT'; -RELAY: 'RELAY'; -RELAY_LOG_FILE: 'RELAY_LOG_FILE'; -RELAY_LOG_POS: 'RELAY_LOG_POS'; -RELAYLOG: 'RELAYLOG'; -REMOVE: 'REMOVE'; -REORGANIZE: 'REORGANIZE'; -REPAIR: 'REPAIR'; -REPLICATE_DO_DB: 'REPLICATE_DO_DB'; -REPLICATE_DO_TABLE: 'REPLICATE_DO_TABLE'; -REPLICATE_IGNORE_DB: 'REPLICATE_IGNORE_DB'; -REPLICATE_IGNORE_TABLE: 'REPLICATE_IGNORE_TABLE'; -REPLICATE_REWRITE_DB: 'REPLICATE_REWRITE_DB'; -REPLICATE_WILD_DO_TABLE: 'REPLICATE_WILD_DO_TABLE'; -REPLICATE_WILD_IGNORE_TABLE: 'REPLICATE_WILD_IGNORE_TABLE'; -REPLICATION: 'REPLICATION'; -RESET: 'RESET'; -RESUME: 'RESUME'; -RETURNS: 'RETURNS'; -ROLLBACK: 'ROLLBACK'; -ROLLUP: 'ROLLUP'; -ROTATE: 'ROTATE'; -ROW: 'ROW'; -ROWS: 'ROWS'; -ROW_FORMAT: 'ROW_FORMAT'; -SAVEPOINT: 'SAVEPOINT'; -SCHEDULE: 'SCHEDULE'; -SECURITY: 'SECURITY'; -SERVER: 'SERVER'; -SESSION: 'SESSION'; -SHARE: 'SHARE'; -SHARED: 'SHARED'; -SIGNED: 'SIGNED'; -SIMPLE: 'SIMPLE'; -SLAVE: 'SLAVE'; -SLOW: 'SLOW'; -SNAPSHOT: 'SNAPSHOT'; -SOCKET: 'SOCKET'; -SOME: 'SOME'; -SONAME: 'SONAME'; -SOUNDS: 'SOUNDS'; -SOURCE: 'SOURCE'; -SQL_AFTER_GTIDS: 'SQL_AFTER_GTIDS'; -SQL_AFTER_MTS_GAPS: 'SQL_AFTER_MTS_GAPS'; -SQL_BEFORE_GTIDS: 'SQL_BEFORE_GTIDS'; -SQL_BUFFER_RESULT: 'SQL_BUFFER_RESULT'; -SQL_CACHE: 'SQL_CACHE'; -SQL_NO_CACHE: 'SQL_NO_CACHE'; -SQL_THREAD: 'SQL_THREAD'; -START: 'START'; -STARTS: 'STARTS'; -STATS_AUTO_RECALC: 'STATS_AUTO_RECALC'; -STATS_PERSISTENT: 'STATS_PERSISTENT'; -STATS_SAMPLE_PAGES: 'STATS_SAMPLE_PAGES'; -STATUS: 'STATUS'; -STOP: 'STOP'; -STORAGE: 'STORAGE'; -STORED: 'STORED'; -STRING: 'STRING'; -SUBJECT: 'SUBJECT'; -SUBPARTITION: 'SUBPARTITION'; -SUBPARTITIONS: 'SUBPARTITIONS'; -SUSPEND: 'SUSPEND'; -SWAPS: 'SWAPS'; -SWITCHES: 'SWITCHES'; -TABLESPACE: 'TABLESPACE'; -TEMPORARY: 'TEMPORARY'; -TEMPTABLE: 'TEMPTABLE'; -THAN: 'THAN'; -TRADITIONAL: 'TRADITIONAL'; -TRANSACTION: 'TRANSACTION'; -TRIGGERS: 'TRIGGERS'; -TRUNCATE: 'TRUNCATE'; -UNDEFINED: 'UNDEFINED'; -UNDOFILE: 'UNDOFILE'; -UNDO_BUFFER_SIZE: 'UNDO_BUFFER_SIZE'; -UNINSTALL: 'UNINSTALL'; -UNKNOWN: 'UNKNOWN'; -UNTIL: 'UNTIL'; -UPGRADE: 'UPGRADE'; -USER: 'USER'; -USE_FRM: 'USE_FRM'; -USER_RESOURCES: 'USER_RESOURCES'; -VALIDATION: 'VALIDATION'; -VALUE: 'VALUE'; -VARIABLES: 'VARIABLES'; -VIEW: 'VIEW'; -VIRTUAL: 'VIRTUAL'; -WAIT: 'WAIT'; -WARNINGS: 'WARNINGS'; -WITHOUT: 'WITHOUT'; -WORK: 'WORK'; -WRAPPER: 'WRAPPER'; -X509: 'X509'; -XA: 'XA'; -XML: 'XML'; - - -// Date format Keywords - -EUR: 'EUR'; -USA: 'USA'; -JIS: 'JIS'; -ISO: 'ISO'; -INTERNAL: 'INTERNAL'; - - -// Interval type Keywords - -QUARTER: 'QUARTER'; -MONTH: 'MONTH'; -DAY: 'DAY'; -HOUR: 'HOUR'; -MINUTE: 'MINUTE'; -WEEK: 'WEEK'; -SECOND: 'SECOND'; -MICROSECOND: 'MICROSECOND'; - - -// PRIVILEGES - -TABLES: 'TABLES'; -ROUTINE: 'ROUTINE'; -EXECUTE: 'EXECUTE'; -FILE: 'FILE'; -PROCESS: 'PROCESS'; -RELOAD: 'RELOAD'; -SHUTDOWN: 'SHUTDOWN'; -SUPER: 'SUPER'; -PRIVILEGES: 'PRIVILEGES'; - - -// Charsets - -ARMSCII8: 'ARMSCII8'; -ASCII: 'ASCII'; -BIG5: 'BIG5'; -CP1250: 'CP1250'; -CP1251: 'CP1251'; -CP1256: 'CP1256'; -CP1257: 'CP1257'; -CP850: 'CP850'; -CP852: 'CP852'; -CP866: 'CP866'; -CP932: 'CP932'; -DEC8: 'DEC8'; -EUCJPMS: 'EUCJPMS'; -EUCKR: 'EUCKR'; -GB2312: 'GB2312'; -GBK: 'GBK'; -GEOSTD8: 'GEOSTD8'; -GREEK: 'GREEK'; -HEBREW: 'HEBREW'; -HP8: 'HP8'; -KEYBCS2: 'KEYBCS2'; -KOI8R: 'KOI8R'; -KOI8U: 'KOI8U'; -LATIN1: 'LATIN1'; -LATIN2: 'LATIN2'; -LATIN5: 'LATIN5'; -LATIN7: 'LATIN7'; -MACCE: 'MACCE'; -MACROMAN: 'MACROMAN'; -SJIS: 'SJIS'; -SWE7: 'SWE7'; -TIS620: 'TIS620'; -UCS2: 'UCS2'; -UJIS: 'UJIS'; -UTF16: 'UTF16'; -UTF16LE: 'UTF16LE'; -UTF32: 'UTF32'; -UTF8: 'UTF8'; -UTF8MB3: 'UTF8MB3'; -UTF8MB4: 'UTF8MB4'; - - -// DB Engines - -ARCHIVE: 'ARCHIVE'; -BLACKHOLE: 'BLACKHOLE'; -CSV: 'CSV'; -FEDERATED: 'FEDERATED'; -INNODB: 'INNODB'; -MEMORY: 'MEMORY'; -MRG_MYISAM: 'MRG_MYISAM'; -MYISAM: 'MYISAM'; -NDB: 'NDB'; -NDBCLUSTER: 'NDBCLUSTER'; -PERFOMANCE_SCHEMA: 'PERFOMANCE_SCHEMA'; - - -// Transaction Levels - -REPEATABLE: 'REPEATABLE'; -COMMITTED: 'COMMITTED'; -UNCOMMITTED: 'UNCOMMITTED'; -SERIALIZABLE: 'SERIALIZABLE'; - - -// Spatial data types - -GEOMETRYCOLLECTION: 'GEOMETRYCOLLECTION'; -LINESTRING: 'LINESTRING'; -MULTILINESTRING: 'MULTILINESTRING'; -MULTIPOINT: 'MULTIPOINT'; -MULTIPOLYGON: 'MULTIPOLYGON'; -POINT: 'POINT'; -POLYGON: 'POLYGON'; - - -// Common function names - -ABS: 'ABS'; -ACOS: 'ACOS'; -ADDDATE: 'ADDDATE'; -ADDTIME: 'ADDTIME'; -AES_DECRYPT: 'AES_DECRYPT'; -AES_ENCRYPT: 'AES_ENCRYPT'; -AREA: 'AREA'; -ASBINARY: 'ASBINARY'; -ASIN: 'ASIN'; -ASTEXT: 'ASTEXT'; -ASWKB: 'ASWKB'; -ASWKT: 'ASWKT'; -ASYMMETRIC_DECRYPT: 'ASYMMETRIC_DECRYPT'; -ASYMMETRIC_DERIVE: 'ASYMMETRIC_DERIVE'; -ASYMMETRIC_ENCRYPT: 'ASYMMETRIC_ENCRYPT'; -ASYMMETRIC_SIGN: 'ASYMMETRIC_SIGN'; -ASYMMETRIC_VERIFY: 'ASYMMETRIC_VERIFY'; -ATAN: 'ATAN'; -ATAN2: 'ATAN2'; -BENCHMARK: 'BENCHMARK'; -BIN: 'BIN'; -BIT_COUNT: 'BIT_COUNT'; -BIT_LENGTH: 'BIT_LENGTH'; -BUFFER: 'BUFFER'; -CEIL: 'CEIL'; -CEILING: 'CEILING'; -CENTROID: 'CENTROID'; -CHARACTER_LENGTH: 'CHARACTER_LENGTH'; -CHARSET: 'CHARSET'; -CHAR_LENGTH: 'CHAR_LENGTH'; -COERCIBILITY: 'COERCIBILITY'; -COLLATION: 'COLLATION'; -COMPRESS: 'COMPRESS'; -CONCAT: 'CONCAT'; -CONCAT_WS: 'CONCAT_WS'; -CONNECTION_ID: 'CONNECTION_ID'; -CONV: 'CONV'; -CONVERT_TZ: 'CONVERT_TZ'; -COS: 'COS'; -COT: 'COT'; -CRC32: 'CRC32'; -CREATE_ASYMMETRIC_PRIV_KEY: 'CREATE_ASYMMETRIC_PRIV_KEY'; -CREATE_ASYMMETRIC_PUB_KEY: 'CREATE_ASYMMETRIC_PUB_KEY'; -CREATE_DH_PARAMETERS: 'CREATE_DH_PARAMETERS'; -CREATE_DIGEST: 'CREATE_DIGEST'; -CROSSES: 'CROSSES'; -DATEDIFF: 'DATEDIFF'; -DATE_FORMAT: 'DATE_FORMAT'; -DAYNAME: 'DAYNAME'; -DAYOFMONTH: 'DAYOFMONTH'; -DAYOFWEEK: 'DAYOFWEEK'; -DAYOFYEAR: 'DAYOFYEAR'; -DECODE: 'DECODE'; -DEGREES: 'DEGREES'; -DES_DECRYPT: 'DES_DECRYPT'; -DES_ENCRYPT: 'DES_ENCRYPT'; -DIMENSION: 'DIMENSION'; -DISJOINT: 'DISJOINT'; -ELT: 'ELT'; -ENCODE: 'ENCODE'; -ENCRYPT: 'ENCRYPT'; -ENDPOINT: 'ENDPOINT'; -ENVELOPE: 'ENVELOPE'; -EQUALS: 'EQUALS'; -EXP: 'EXP'; -EXPORT_SET: 'EXPORT_SET'; -EXTERIORRING: 'EXTERIORRING'; -EXTRACTVALUE: 'EXTRACTVALUE'; -FIELD: 'FIELD'; -FIND_IN_SET: 'FIND_IN_SET'; -FLOOR: 'FLOOR'; -FORMAT: 'FORMAT'; -FOUND_ROWS: 'FOUND_ROWS'; -FROM_BASE64: 'FROM_BASE64'; -FROM_DAYS: 'FROM_DAYS'; -FROM_UNIXTIME: 'FROM_UNIXTIME'; -GEOMCOLLFROMTEXT: 'GEOMCOLLFROMTEXT'; -GEOMCOLLFROMWKB: 'GEOMCOLLFROMWKB'; -GEOMETRYCOLLECTIONFROMTEXT: 'GEOMETRYCOLLECTIONFROMTEXT'; -GEOMETRYCOLLECTIONFROMWKB: 'GEOMETRYCOLLECTIONFROMWKB'; -GEOMETRYFROMTEXT: 'GEOMETRYFROMTEXT'; -GEOMETRYFROMWKB: 'GEOMETRYFROMWKB'; -GEOMETRYN: 'GEOMETRYN'; -GEOMETRYTYPE: 'GEOMETRYTYPE'; -GEOMFROMTEXT: 'GEOMFROMTEXT'; -GEOMFROMWKB: 'GEOMFROMWKB'; -GET_FORMAT: 'GET_FORMAT'; -GET_LOCK: 'GET_LOCK'; -GLENGTH: 'GLENGTH'; -GREATEST: 'GREATEST'; -GTID_SUBSET: 'GTID_SUBSET'; -GTID_SUBTRACT: 'GTID_SUBTRACT'; -HEX: 'HEX'; -IFNULL: 'IFNULL'; -INET6_ATON: 'INET6_ATON'; -INET6_NTOA: 'INET6_NTOA'; -INET_ATON: 'INET_ATON'; -INET_NTOA: 'INET_NTOA'; -INSTR: 'INSTR'; -INTERIORRINGN: 'INTERIORRINGN'; -INTERSECTS: 'INTERSECTS'; -ISCLOSED: 'ISCLOSED'; -ISEMPTY: 'ISEMPTY'; -ISNULL: 'ISNULL'; -ISSIMPLE: 'ISSIMPLE'; -IS_FREE_LOCK: 'IS_FREE_LOCK'; -IS_IPV4: 'IS_IPV4'; -IS_IPV4_COMPAT: 'IS_IPV4_COMPAT'; -IS_IPV4_MAPPED: 'IS_IPV4_MAPPED'; -IS_IPV6: 'IS_IPV6'; -IS_USED_LOCK: 'IS_USED_LOCK'; -LAST_INSERT_ID: 'LAST_INSERT_ID'; -LCASE: 'LCASE'; -LEAST: 'LEAST'; -LENGTH: 'LENGTH'; -LINEFROMTEXT: 'LINEFROMTEXT'; -LINEFROMWKB: 'LINEFROMWKB'; -LINESTRINGFROMTEXT: 'LINESTRINGFROMTEXT'; -LINESTRINGFROMWKB: 'LINESTRINGFROMWKB'; -LN: 'LN'; -LOAD_FILE: 'LOAD_FILE'; -LOCATE: 'LOCATE'; -LOG: 'LOG'; -LOG10: 'LOG10'; -LOG2: 'LOG2'; -LOWER: 'LOWER'; -LPAD: 'LPAD'; -LTRIM: 'LTRIM'; -MAKEDATE: 'MAKEDATE'; -MAKETIME: 'MAKETIME'; -MAKE_SET: 'MAKE_SET'; -MASTER_POS_WAIT: 'MASTER_POS_WAIT'; -MBRCONTAINS: 'MBRCONTAINS'; -MBRDISJOINT: 'MBRDISJOINT'; -MBREQUAL: 'MBREQUAL'; -MBRINTERSECTS: 'MBRINTERSECTS'; -MBROVERLAPS: 'MBROVERLAPS'; -MBRTOUCHES: 'MBRTOUCHES'; -MBRWITHIN: 'MBRWITHIN'; -MD5: 'MD5'; -MLINEFROMTEXT: 'MLINEFROMTEXT'; -MLINEFROMWKB: 'MLINEFROMWKB'; -MONTHNAME: 'MONTHNAME'; -MPOINTFROMTEXT: 'MPOINTFROMTEXT'; -MPOINTFROMWKB: 'MPOINTFROMWKB'; -MPOLYFROMTEXT: 'MPOLYFROMTEXT'; -MPOLYFROMWKB: 'MPOLYFROMWKB'; -MULTILINESTRINGFROMTEXT: 'MULTILINESTRINGFROMTEXT'; -MULTILINESTRINGFROMWKB: 'MULTILINESTRINGFROMWKB'; -MULTIPOINTFROMTEXT: 'MULTIPOINTFROMTEXT'; -MULTIPOINTFROMWKB: 'MULTIPOINTFROMWKB'; -MULTIPOLYGONFROMTEXT: 'MULTIPOLYGONFROMTEXT'; -MULTIPOLYGONFROMWKB: 'MULTIPOLYGONFROMWKB'; -NAME_CONST: 'NAME_CONST'; -NULLIF: 'NULLIF'; -NUMGEOMETRIES: 'NUMGEOMETRIES'; -NUMINTERIORRINGS: 'NUMINTERIORRINGS'; -NUMPOINTS: 'NUMPOINTS'; -OCT: 'OCT'; -OCTET_LENGTH: 'OCTET_LENGTH'; -ORD: 'ORD'; -OVERLAPS: 'OVERLAPS'; -PERIOD_ADD: 'PERIOD_ADD'; -PERIOD_DIFF: 'PERIOD_DIFF'; -PI: 'PI'; -POINTFROMTEXT: 'POINTFROMTEXT'; -POINTFROMWKB: 'POINTFROMWKB'; -POINTN: 'POINTN'; -POLYFROMTEXT: 'POLYFROMTEXT'; -POLYFROMWKB: 'POLYFROMWKB'; -POLYGONFROMTEXT: 'POLYGONFROMTEXT'; -POLYGONFROMWKB: 'POLYGONFROMWKB'; -POW: 'POW'; -POWER: 'POWER'; -QUOTE: 'QUOTE'; -RADIANS: 'RADIANS'; -RAND: 'RAND'; -RANDOM_BYTES: 'RANDOM_BYTES'; -RELEASE_LOCK: 'RELEASE_LOCK'; -REVERSE: 'REVERSE'; -ROUND: 'ROUND'; -ROW_COUNT: 'ROW_COUNT'; -RPAD: 'RPAD'; -RTRIM: 'RTRIM'; -SEC_TO_TIME: 'SEC_TO_TIME'; -SESSION_USER: 'SESSION_USER'; -SHA: 'SHA'; -SHA1: 'SHA1'; -SHA2: 'SHA2'; -SIGN: 'SIGN'; -SIN: 'SIN'; -SLEEP: 'SLEEP'; -SOUNDEX: 'SOUNDEX'; -SQL_THREAD_WAIT_AFTER_GTIDS: 'SQL_THREAD_WAIT_AFTER_GTIDS'; -SQRT: 'SQRT'; -SRID: 'SRID'; -STARTPOINT: 'STARTPOINT'; -STRCMP: 'STRCMP'; -STR_TO_DATE: 'STR_TO_DATE'; -ST_AREA: 'ST_AREA'; -ST_ASBINARY: 'ST_ASBINARY'; -ST_ASTEXT: 'ST_ASTEXT'; -ST_ASWKB: 'ST_ASWKB'; -ST_ASWKT: 'ST_ASWKT'; -ST_BUFFER: 'ST_BUFFER'; -ST_CENTROID: 'ST_CENTROID'; -ST_CONTAINS: 'ST_CONTAINS'; -ST_CROSSES: 'ST_CROSSES'; -ST_DIFFERENCE: 'ST_DIFFERENCE'; -ST_DIMENSION: 'ST_DIMENSION'; -ST_DISJOINT: 'ST_DISJOINT'; -ST_DISTANCE: 'ST_DISTANCE'; -ST_ENDPOINT: 'ST_ENDPOINT'; -ST_ENVELOPE: 'ST_ENVELOPE'; -ST_EQUALS: 'ST_EQUALS'; -ST_EXTERIORRING: 'ST_EXTERIORRING'; -ST_GEOMCOLLFROMTEXT: 'ST_GEOMCOLLFROMTEXT'; -ST_GEOMCOLLFROMTXT: 'ST_GEOMCOLLFROMTXT'; -ST_GEOMCOLLFROMWKB: 'ST_GEOMCOLLFROMWKB'; -ST_GEOMETRYCOLLECTIONFROMTEXT: 'ST_GEOMETRYCOLLECTIONFROMTEXT'; -ST_GEOMETRYCOLLECTIONFROMWKB: 'ST_GEOMETRYCOLLECTIONFROMWKB'; -ST_GEOMETRYFROMTEXT: 'ST_GEOMETRYFROMTEXT'; -ST_GEOMETRYFROMWKB: 'ST_GEOMETRYFROMWKB'; -ST_GEOMETRYN: 'ST_GEOMETRYN'; -ST_GEOMETRYTYPE: 'ST_GEOMETRYTYPE'; -ST_GEOMFROMTEXT: 'ST_GEOMFROMTEXT'; -ST_GEOMFROMWKB: 'ST_GEOMFROMWKB'; -ST_INTERIORRINGN: 'ST_INTERIORRINGN'; -ST_INTERSECTION: 'ST_INTERSECTION'; -ST_INTERSECTS: 'ST_INTERSECTS'; -ST_ISCLOSED: 'ST_ISCLOSED'; -ST_ISEMPTY: 'ST_ISEMPTY'; -ST_ISSIMPLE: 'ST_ISSIMPLE'; -ST_LINEFROMTEXT: 'ST_LINEFROMTEXT'; -ST_LINEFROMWKB: 'ST_LINEFROMWKB'; -ST_LINESTRINGFROMTEXT: 'ST_LINESTRINGFROMTEXT'; -ST_LINESTRINGFROMWKB: 'ST_LINESTRINGFROMWKB'; -ST_NUMGEOMETRIES: 'ST_NUMGEOMETRIES'; -ST_NUMINTERIORRING: 'ST_NUMINTERIORRING'; -ST_NUMINTERIORRINGS: 'ST_NUMINTERIORRINGS'; -ST_NUMPOINTS: 'ST_NUMPOINTS'; -ST_OVERLAPS: 'ST_OVERLAPS'; -ST_POINTFROMTEXT: 'ST_POINTFROMTEXT'; -ST_POINTFROMWKB: 'ST_POINTFROMWKB'; -ST_POINTN: 'ST_POINTN'; -ST_POLYFROMTEXT: 'ST_POLYFROMTEXT'; -ST_POLYFROMWKB: 'ST_POLYFROMWKB'; -ST_POLYGONFROMTEXT: 'ST_POLYGONFROMTEXT'; -ST_POLYGONFROMWKB: 'ST_POLYGONFROMWKB'; -ST_SRID: 'ST_SRID'; -ST_STARTPOINT: 'ST_STARTPOINT'; -ST_SYMDIFFERENCE: 'ST_SYMDIFFERENCE'; -ST_TOUCHES: 'ST_TOUCHES'; -ST_UNION: 'ST_UNION'; -ST_WITHIN: 'ST_WITHIN'; -ST_X: 'ST_X'; -ST_Y: 'ST_Y'; -SUBDATE: 'SUBDATE'; -SUBSTRING_INDEX: 'SUBSTRING_INDEX'; -SUBTIME: 'SUBTIME'; -SYSTEM_USER: 'SYSTEM_USER'; -TAN: 'TAN'; -TIMEDIFF: 'TIMEDIFF'; -TIMESTAMPADD: 'TIMESTAMPADD'; -TIMESTAMPDIFF: 'TIMESTAMPDIFF'; -TIME_FORMAT: 'TIME_FORMAT'; -TIME_TO_SEC: 'TIME_TO_SEC'; -TOUCHES: 'TOUCHES'; -TO_BASE64: 'TO_BASE64'; -TO_DAYS: 'TO_DAYS'; -TO_SECONDS: 'TO_SECONDS'; -UCASE: 'UCASE'; -UNCOMPRESS: 'UNCOMPRESS'; -UNCOMPRESSED_LENGTH: 'UNCOMPRESSED_LENGTH'; -UNHEX: 'UNHEX'; -UNIX_TIMESTAMP: 'UNIX_TIMESTAMP'; -UPDATEXML: 'UPDATEXML'; -UPPER: 'UPPER'; -UUID: 'UUID'; -UUID_SHORT: 'UUID_SHORT'; -VALIDATE_PASSWORD_STRENGTH: 'VALIDATE_PASSWORD_STRENGTH'; -VERSION: 'VERSION'; -WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS'; -WEEKDAY: 'WEEKDAY'; -WEEKOFYEAR: 'WEEKOFYEAR'; -WEIGHT_STRING: 'WEIGHT_STRING'; -WITHIN: 'WITHIN'; -YEARWEEK: 'YEARWEEK'; -Y_FUNCTION: 'Y'; -X_FUNCTION: 'X'; - - - -// Operators -// Operators. Assigns - -VAR_ASSIGN: ':='; -PLUS_ASSIGN: '+='; -MINUS_ASSIGN: '-='; -MULT_ASSIGN: '*='; -DIV_ASSIGN: '/='; -MOD_ASSIGN: '%='; -AND_ASSIGN: '&='; -XOR_ASSIGN: '^='; -OR_ASSIGN: '|='; - - -// Operators. Arithmetics - -STAR: '*'; -DIVIDE: '/'; -MODULE: '%'; -PLUS: '+'; -MINUSMINUS: '--'; -MINUS: '-'; -DIV: 'DIV'; -MOD: 'MOD'; - - -// Operators. Comparation - -EQUAL_SYMBOL: '='; -GREATER_SYMBOL: '>'; -LESS_SYMBOL: '<'; -EXCLAMATION_SYMBOL: '!'; - - -// Operators. Bit - -BIT_NOT_OP: '~'; -BIT_OR_OP: '|'; -BIT_AND_OP: '&'; -BIT_XOR_OP: '^'; - - -// Constructors symbols - -DOT: '.'; -LR_BRACKET: '('; -RR_BRACKET: ')'; -COMMA: ','; -SEMI: ';'; -AT_SIGN: '@'; -ZERO_DECIMAL: '0'; -ONE_DECIMAL: '1'; -TWO_DECIMAL: '2'; -SINGLE_QUOTE_SYMB: '\''; -DOUBLE_QUOTE_SYMB: '"'; -REVERSE_QUOTE_SYMB: '`'; -COLON_SYMB: ':'; - - - -// Charsets - -CHARSET_REVERSE_QOUTE_STRING: '`' CHARSET_NAME '`'; - - - -// File's sizes - - -FILESIZE_LITERAL: DEC_DIGIT+ ('K'|'M'|'G'|'T'); - - - -// Literal Primitives - - -START_NATIONAL_STRING_LITERAL: 'N' SQUOTA_STRING; -STRING_LITERAL: DQUOTA_STRING | SQUOTA_STRING; -DECIMAL_LITERAL: DEC_DIGIT+; -HEXADECIMAL_LITERAL: 'X' '\'' (HEX_DIGIT HEX_DIGIT)+ '\'' - | '0X' HEX_DIGIT+; - -REAL_LITERAL: (DEC_DIGIT+)? '.' DEC_DIGIT+ - | DEC_DIGIT+ '.' EXPONENT_NUM_PART - | (DEC_DIGIT+)? '.' (DEC_DIGIT+ EXPONENT_NUM_PART) - | DEC_DIGIT+ EXPONENT_NUM_PART; -NULL_SPEC_LITERAL: '\\' 'N'; -BIT_STRING: BIT_STRING_L; -STRING_CHARSET_NAME: '_' CHARSET_NAME; - - - - -// Hack for dotID -// Prevent recognize string: .123somelatin AS ((.123), FLOAT_LITERAL), ((somelatin), ID) -// it must recoginze: .123somelatin AS ((.), DOT), (123somelatin, ID) - -DOT_ID: '.' ID_LITERAL; - - - -// Identifiers - -ID: ID_LITERAL; -// DOUBLE_QUOTE_ID: '"' ~'"'+ '"'; -REVERSE_QUOTE_ID: '`' ~'`'+ '`'; -STRING_USER_NAME: ( - SQUOTA_STRING | DQUOTA_STRING - | BQUOTA_STRING | ID_LITERAL - ) '@' - ( - SQUOTA_STRING | DQUOTA_STRING - | BQUOTA_STRING | ID_LITERAL - ); -LOCAL_ID: '@' - ( - [A-Z0-9._$]+ - | SQUOTA_STRING - | DQUOTA_STRING - | BQUOTA_STRING - ); -GLOBAL_ID: '@' '@' - ( - [A-Z0-9._$]+ - | BQUOTA_STRING - ); - - -// Fragments for Literal primitives - -fragment CHARSET_NAME: ARMSCII8 | ASCII | BIG5 | BINARY | CP1250 - | CP1251 | CP1256 | CP1257 | CP850 - | CP852 | CP866 | CP932 | DEC8 | EUCJPMS - | EUCKR | GB2312 | GBK | GEOSTD8 | GREEK - | HEBREW | HP8 | KEYBCS2 | KOI8R | KOI8U - | LATIN1 | LATIN2 | LATIN5 | LATIN7 - | MACCE | MACROMAN | SJIS | SWE7 | TIS620 - | UCS2 | UJIS | UTF16 | UTF16LE | UTF32 - | UTF8 | UTF8MB4; - -fragment EXPONENT_NUM_PART: 'E' '-'? DEC_DIGIT+; -fragment ID_LITERAL: [A-Z_$0-9]*?[A-Z_$]+?[A-Z_$0-9]*; -fragment DQUOTA_STRING: '"' ( '\\'. | '""' | ~('"'| '\\') )* '"'; -fragment SQUOTA_STRING: '\'' ('\\'. | '\'\'' | ~('\'' | '\\'))* '\''; -fragment BQUOTA_STRING: '`' ( '\\'. | '``' | ~('`'|'\\'))* '`'; -fragment HEX_DIGIT: [0-9A-F]; -fragment DEC_DIGIT: [0-9]; -fragment BIT_STRING_L: 'B' '\'' [01]+ '\''; - - - -// Last tokens must generate Errors - -ERROR_RECONGNIGION: . -> channel(ERRORCHANNEL); diff --git a/Grammar/frameQL/grammar/frameQLParser.g4 b/Grammar/frameQL/grammar/frameQLParser.g4 deleted file mode 100644 index b577924a1a..0000000000 --- a/Grammar/frameQL/grammar/frameQLParser.g4 +++ /dev/null @@ -1,2468 +0,0 @@ - -parser grammar frameQLParser; - -options { tokenVocab=frameQLLexer; } - - -// Top Level Description - -root - : sqlStatements? MINUSMINUS? EOF - ; - -sqlStatements - : (sqlStatement MINUSMINUS? SEMI | emptyStatement)* - (sqlStatement (MINUSMINUS? SEMI)? | emptyStatement) - ; - -sqlStatement - : ddlStatement | dmlStatement | transactionStatement - | replicationStatement | preparedStatement - | administrationStatement | utilityStatement - ; - -emptyStatement - : SEMI - ; - -ddlStatement - : createDatabase | createEvent | createIndex - | createLogfileGroup | createProcedure | createFunction - | createServer | createTable | createTablespaceInnodb - | createTablespaceNdb | createTrigger | createView - | alterDatabase | alterEvent | alterFunction - | alterInstance | alterLogfileGroup | alterProcedure - | alterServer | alterTable | alterTablespace | alterView - | dropDatabase | dropEvent | dropIndex - | dropLogfileGroup | dropProcedure | dropFunction - | dropServer | dropTable | dropTablespace - | dropTrigger | dropView - | renameTable | truncateTable - ; - -dmlStatement - : selectStatement | insertStatement | updateStatement - | deleteStatement | replaceStatement | callStatement - | loadDataStatement | loadXmlStatement | doStatement - | handlerStatement - ; - -transactionStatement - : startTransaction - | beginWork | commitWork | rollbackWork - | savepointStatement | rollbackStatement - | releaseStatement | lockTables | unlockTables - ; - -replicationStatement - : changeMaster | changeReplicationFilter | purgeBinaryLogs - | resetMaster | resetSlave | startSlave | stopSlave - | startGroupReplication | stopGroupReplication - | xaStartTransaction | xaEndTransaction | xaPrepareStatement - | xaCommitWork | xaRollbackWork | xaRecoverWork - ; - -preparedStatement - : prepareStatement | executeStatement | deallocatePrepare - ; - -// remark: NOT INCLUDED IN sqlStatement, but include in body -// of routine's statements -compoundStatement - : blockStatement - | caseStatement | ifStatement | leaveStatement - | loopStatement | repeatStatement | whileStatement - | iterateStatement | returnStatement | cursorStatement - ; - -administrationStatement - : alterUser | createUser | dropUser | grantStatement - | grantProxy | renameUser | revokeStatement - | revokeProxy | analyzeTable | checkTable - | checksumTable | optimizeTable | repairTable - | createUdfunction | installPlugin | uninstallPlugin - | setStatement | showStatement | binlogStatement - | cacheIndexStatement | flushStatement | killStatement - | loadIndexIntoCache | resetStatement - | shutdownStatement - ; - -utilityStatement - : simpleDescribeStatement | fullDescribeStatement - | helpStatement | useStatement - ; - - -// Data Definition Language - -// Create statements - -createDatabase - : CREATE dbFormat=(DATABASE | SCHEMA) - ifNotExists? uid createDatabaseOption* - ; - -createEvent - : CREATE ownerStatement? EVENT ifNotExists? fullId - ON SCHEDULE scheduleExpression - (ON COMPLETION NOT? PRESERVE)? enableType? - (COMMENT STRING_LITERAL)? - DO routineBody - ; - -createIndex - : CREATE - intimeAction=(ONLINE | OFFLINE)? - indexCategory=(UNIQUE | FULLTEXT | SPATIAL)? - INDEX uid indexType? - ON tableName indexColumnNames - indexOption* - ( - ALGORITHM '='? algType=(DEFAULT | INPLACE | COPY) - | LOCK '='? - lockType=(DEFAULT | NONE | SHARED | EXCLUSIVE) - )? - ; - -createLogfileGroup - : CREATE LOGFILE GROUP uid - ADD UNDOFILE undoFile=STRING_LITERAL - (INITIAL_SIZE '='? initSize=fileSizeLiteral)? - (UNDO_BUFFER_SIZE '='? undoSize=fileSizeLiteral)? - (REDO_BUFFER_SIZE '='? redoSize=fileSizeLiteral)? - (NODEGROUP '='? uid)? - WAIT? - (COMMENT '='? comment=STRING_LITERAL)? - ENGINE '='? engineName - ; - -createProcedure - : CREATE ownerStatement? - PROCEDURE fullId - '(' procedureParameter? (',' procedureParameter)* ')' - routineOption* - routineBody - ; - -createFunction - : CREATE ownerStatement? - FUNCTION fullId - '(' functionParameter? (',' functionParameter)* ')' - RETURNS dataType - routineOption* - routineBody - ; - -createServer - : CREATE SERVER uid - FOREIGN DATA WRAPPER wrapperName=(MYSQL | STRING_LITERAL) - OPTIONS '(' serverOption (',' serverOption)* ')' - ; - -createTable - : CREATE TEMPORARY? TABLE ifNotExists? - tableName - ( - LIKE tableName - | '(' LIKE parenthesisTable=tableName ')' - ) #copyCreateTable - | CREATE TEMPORARY? TABLE ifNotExists? - tableName createDefinitions? - ( tableOption (','? tableOption)* )? - partitionDefinitions? keyViolate=(IGNORE | REPLACE)? - AS? selectStatement #queryCreateTable - | CREATE TEMPORARY? TABLE ifNotExists? - tableName createDefinitions - ( tableOption (','? tableOption)* )? - partitionDefinitions? #columnCreateTable - ; - -createTablespaceInnodb - : CREATE TABLESPACE uid - ADD DATAFILE datafile=STRING_LITERAL - (FILE_BLOCK_SIZE '=' fileBlockSize=fileSizeLiteral)? - (ENGINE '='? engineName)? - ; - -createTablespaceNdb - : CREATE TABLESPACE uid - ADD DATAFILE datafile=STRING_LITERAL - USE LOGFILE GROUP uid - (EXTENT_SIZE '='? extentSize=fileSizeLiteral)? - (INITIAL_SIZE '='? initialSize=fileSizeLiteral)? - (AUTOEXTEND_SIZE '='? autoextendSize=fileSizeLiteral)? - (MAX_SIZE '='? maxSize=fileSizeLiteral)? - (NODEGROUP '='? uid)? - WAIT? - (COMMENT '='? comment=STRING_LITERAL)? - ENGINE '='? engineName - ; - -createTrigger - : CREATE ownerStatement? - TRIGGER thisTrigger=fullId - triggerTime=(BEFORE | AFTER) - triggerEvent=(INSERT | UPDATE | DELETE) - ON tableName FOR EACH ROW - (triggerPlace=(FOLLOWS | PRECEDES) otherTrigger=fullId)? - routineBody - ; - -createView - : CREATE (OR REPLACE)? - ( - ALGORITHM '=' algType=(UNDEFINED | MERGE | TEMPTABLE) - )? - ownerStatement? - (SQL SECURITY secContext=(DEFINER | INVOKER))? - VIEW fullId ('(' uidList ')')? AS selectStatement - (WITH checkOption=(CASCADED | LOCAL)? CHECK OPTION)? - ; - -// details - -createDatabaseOption - : DEFAULT? (CHARACTER SET | CHARSET) '='? charsetName - | DEFAULT? COLLATE '='? collationName - ; - -ownerStatement - : DEFINER '=' (userName | CURRENT_USER ( '(' ')')?) - ; - -scheduleExpression - : AT timestampValue intervalExpr* #preciseSchedule - | EVERY (decimalLiteral | expression) intervalType - ( - STARTS start=timestampValue - (startIntervals+=intervalExpr)* - )? - ( - ENDS end=timestampValue - (endIntervals+=intervalExpr)* - )? #intervalSchedule - ; - -timestampValue - : CURRENT_TIMESTAMP - | stringLiteral - | decimalLiteral - | expression - ; - -intervalExpr - : '+' INTERVAL (decimalLiteral | expression) intervalType - ; - -intervalType - : intervalTypeBase - | YEAR | YEAR_MONTH | DAY_HOUR | DAY_MINUTE - | DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND - | SECOND_MICROSECOND | MINUTE_MICROSECOND - | HOUR_MICROSECOND | DAY_MICROSECOND - ; - -enableType - : ENABLE | DISABLE | DISABLE ON SLAVE - ; - -indexType - : USING (BTREE | HASH) - ; - -indexOption - : KEY_BLOCK_SIZE '='? fileSizeLiteral - | indexType - | WITH PARSER uid - | COMMENT STRING_LITERAL - ; - -procedureParameter - : direction=(IN | OUT | INOUT) uid dataType - ; - -functionParameter - : uid dataType - ; - -routineOption - : COMMENT STRING_LITERAL #routineComment - | LANGUAGE SQL #routineLanguage - | NOT? DETERMINISTIC #routineBehavior - | ( - CONTAINS SQL | NO SQL | READS SQL DATA - | MODIFIES SQL DATA - ) #routineData - | SQL SECURITY context=(DEFINER | INVOKER) #routineSecurity - ; - -serverOption - : HOST STRING_LITERAL - | DATABASE STRING_LITERAL - | USER STRING_LITERAL - | PASSWORD STRING_LITERAL - | SOCKET STRING_LITERAL - | OWNER STRING_LITERAL - | PORT decimalLiteral - ; - -createDefinitions - : '(' createDefinition (',' createDefinition)* ')' - ; - -createDefinition - : uid columnDefinition #columnDeclaration - | tableConstraint #constraintDeclaration - | indexColumnDefinition #indexDeclaration - ; - -columnDefinition - : dataType columnConstraint* - ; - -columnConstraint - : nullNotnull #nullColumnConstraint - | DEFAULT defaultValue #defaultColumnConstraint - | AUTO_INCREMENT #autoIncrementColumnConstraint - | PRIMARY? KEY #primaryKeyColumnConstraint - | UNIQUE KEY? #uniqueKeyColumnConstraint - | COMMENT STRING_LITERAL #commentColumnConstraint - | COLUMN_FORMAT colformat=(FIXED | DYNAMIC | DEFAULT) #formatColumnConstraint - | STORAGE storageval=(DISK | MEMORY | DEFAULT) #storageColumnConstraint - | referenceDefinition #referenceColumnConstraint - | (GENERATED ALWAYS)? AS '(' expression ')' (VIRTUAL | STORED)? #generatedColumnConstraint - | SERIAL DEFAULT VALUE #serialDefaultColumnConstraint - ; - -tableConstraint - : (CONSTRAINT name=uid?)? - PRIMARY KEY indexType? indexColumnNames indexOption* #primaryKeyTableConstraint - | (CONSTRAINT name=uid?)? - UNIQUE indexFormat=(INDEX | KEY)? index=uid? - indexType? indexColumnNames indexOption* #uniqueKeyTableConstraint - | (CONSTRAINT name=uid?)? - FOREIGN KEY index=uid? indexColumnNames - referenceDefinition #foreignKeyTableConstraint - | (CONSTRAINT name=uid?)? - CHECK '(' expression ')' #checkTableConstraint - ; - -referenceDefinition - : REFERENCES tableName indexColumnNames - (MATCH matchType=(FULL | PARTIAL | SIMPLE))? - referenceAction? - ; - -referenceAction - : ON DELETE onDelete=referenceControlType - ( - ON UPDATE onUpdate=referenceControlType - )? - | ON UPDATE onUpdate=referenceControlType - ( - ON DELETE onDelete=referenceControlType - )? - ; - -referenceControlType - : RESTRICT | CASCADE | SET NULL_LITERAL | NO ACTION - ; - -indexColumnDefinition - : indexFormat=(INDEX | KEY) uid? indexType? - indexColumnNames indexOption* #simpleIndexDeclaration - | (FULLTEXT | SPATIAL) - indexFormat=(INDEX | KEY)? uid? - indexColumnNames indexOption* #specialIndexDeclaration - ; - -tableOption - : ENGINE '='? engineName #tableOptionEngine - | AUTO_INCREMENT '='? decimalLiteral #tableOptionAutoIncrement - | AVG_ROW_LENGTH '='? decimalLiteral #tableOptionAverage - | DEFAULT? (CHARACTER SET | CHARSET) '='? charsetName #tableOptionCharset - | CHECKSUM '='? boolValue=('0' | '1') #tableOptionChecksum - | DEFAULT? COLLATE '='? collationName #tableOptionCollate - | COMMENT '='? STRING_LITERAL #tableOptionComment - | COMPRESSION '='? STRING_LITERAL #tableOptionCompression - | CONNECTION '='? STRING_LITERAL #tableOptionConnection - | DATA DIRECTORY '='? STRING_LITERAL #tableOptionDataDirectory - | DELAY_KEY_WRITE '='? boolValue=('0' | '1') #tableOptionDelay - | ENCRYPTION '='? STRING_LITERAL #tableOptionEncryption - | INDEX DIRECTORY '='? STRING_LITERAL #tableOptionIndexDirectory - | INSERT_METHOD '='? insertMethod=(NO | FIRST | LAST) #tableOptionInsertMethod - | KEY_BLOCK_SIZE '='? fileSizeLiteral #tableOptionKeyBlockSize - | MAX_ROWS '='? decimalLiteral #tableOptionMaxRows - | MIN_ROWS '='? decimalLiteral #tableOptionMinRows - | PACK_KEYS '='? extBoolValue=('0' | '1' | DEFAULT) #tableOptionPackKeys - | PASSWORD '='? STRING_LITERAL #tableOptionPassword - | ROW_FORMAT '='? - rowFormat=( - DEFAULT | DYNAMIC | FIXED | COMPRESSED - | REDUNDANT | COMPACT - ) #tableOptionRowFormat - | STATS_AUTO_RECALC '='? extBoolValue=(DEFAULT | '0' | '1') #tableOptionRecalculation - | STATS_PERSISTENT '='? extBoolValue=(DEFAULT | '0' | '1') #tableOptionPersistent - | STATS_SAMPLE_PAGES '='? decimalLiteral #tableOptionSamplePage - | TABLESPACE uid tablespaceStorage? #tableOptionTablespace - | UNION '='? '(' tables ')' #tableOptionUnion - ; - -tablespaceStorage - : STORAGE (DISK | MEMORY | DEFAULT) - ; - -partitionDefinitions - : PARTITION BY partitionFunctionDefinition - (PARTITIONS count=decimalLiteral)? - ( - SUBPARTITION BY subpartitionFunctionDefinition - (SUBPARTITIONS subCount=decimalLiteral)? - )? - ('(' partitionDefinition (',' partitionDefinition)* ')')? - ; - -partitionFunctionDefinition - : LINEAR? HASH '(' expression ')' #partitionFunctionHash - | LINEAR? KEY (ALGORITHM '=' algType=('1' | '2'))? - '(' uidList ')' #partitionFunctionKey - | RANGE ( '(' expression ')' | COLUMNS '(' uidList ')' ) #partitionFunctionRange - | LIST ( '(' expression ')' | COLUMNS '(' uidList ')' ) #partitionFunctionList - ; - -subpartitionFunctionDefinition - : LINEAR? HASH '(' expression ')' #subPartitionFunctionHash - | LINEAR? KEY (ALGORITHM '=' algType=('1' | '2'))? - '(' uidList ')' #subPartitionFunctionKey - ; - -partitionDefinition - : PARTITION uid VALUES LESS THAN - '(' - partitionDefinerAtom (',' partitionDefinerAtom)* - ')' - partitionOption* - (subpartitionDefinition (',' subpartitionDefinition)*)? #partitionComparision - | PARTITION uid VALUES IN - '(' - partitionDefinerAtom (',' partitionDefinerAtom)* - ')' - partitionOption* - (subpartitionDefinition (',' subpartitionDefinition)*)? #partitionListAtom - | PARTITION uid VALUES IN - '(' - partitionDefinerVector (',' partitionDefinerVector)* - ')' - partitionOption* - (subpartitionDefinition (',' subpartitionDefinition)*)? #partitionListVector - | PARTITION uid partitionOption* - (subpartitionDefinition (',' subpartitionDefinition)*)? #partitionSimple - ; - -partitionDefinerAtom - : constant | MAXVALUE | expression - ; - -partitionDefinerVector - : '(' partitionDefinerAtom (',' partitionDefinerAtom)+ ')' - ; - -subpartitionDefinition - : SUBPARTITION uid partitionOption* - ; - -partitionOption - : STORAGE? ENGINE '='? engineName #partitionOptionEngine - | COMMENT '='? comment=STRING_LITERAL #partitionOptionComment - | DATA DIRECTORY '='? dataDirectory=STRING_LITERAL #partitionOptionDataDirectory - | INDEX DIRECTORY '='? indexDirectory=STRING_LITERAL #partitionOptionIndexDirectory - | MAX_ROWS '='? maxRows=decimalLiteral #partitionOptionMaxRows - | MIN_ROWS '='? minRows=decimalLiteral #partitionOptionMinRows - | TABLESPACE '='? tablespace=uid #partitionOptionTablespace - | NODEGROUP '='? nodegroup=uid #partitionOptionNodeGroup - ; - -// Alter statements - -alterDatabase - : ALTER dbFormat=(DATABASE | SCHEMA) uid? - createDatabaseOption+ #alterSimpleDatabase - | ALTER dbFormat=(DATABASE | SCHEMA) uid - UPGRADE DATA DIRECTORY NAME #alterUpgradeName - ; - -alterEvent - : ALTER ownerStatement? - EVENT fullId - (ON SCHEDULE scheduleExpression)? - (ON COMPLETION NOT? PRESERVE)? - (RENAME TO fullId)? enableType? - (COMMENT STRING_LITERAL)? - (DO routineBody)? - ; - -alterFunction - : ALTER FUNCTION fullId routineOption* - ; - -alterInstance - : ALTER INSTANCE ROTATE INNODB MASTER KEY - ; - -alterLogfileGroup - : ALTER LOGFILE GROUP uid - ADD UNDOFILE STRING_LITERAL - (INITIAL_SIZE '='? fileSizeLiteral)? - WAIT? ENGINE '='? engineName - ; - -alterProcedure - : ALTER PROCEDURE fullId routineOption* - ; - -alterServer - : ALTER SERVER uid OPTIONS - '(' serverOption (',' serverOption)* ')' - ; - -alterTable - : ALTER intimeAction=(ONLINE | OFFLINE)? - IGNORE? TABLE tableName - alterSpecification (',' alterSpecification)* - partitionDefinitions? - ; - -alterTablespace - : ALTER TABLESPACE uid - objectAction=(ADD | DROP) DATAFILE STRING_LITERAL - (INITIAL_SIZE '=' fileSizeLiteral)? - WAIT? - ENGINE '='? engineName - ; - -alterView - : ALTER - ( - ALGORITHM '=' algType=(UNDEFINED | MERGE | TEMPTABLE) - )? - ownerStatement? - (SQL SECURITY secContext=(DEFINER | INVOKER))? - VIEW fullId ('(' uidList ')')? AS selectStatement - (WITH checkOpt=(CASCADED | LOCAL)? CHECK OPTION)? - ; - -// details - -alterSpecification - : tableOption (','? tableOption)* #alterByTableOption - | ADD COLUMN? uid columnDefinition (FIRST | AFTER uid)? #alterByAddColumn - | ADD COLUMN? - '(' - uid columnDefinition ( ',' uid columnDefinition)* - ')' #alterByAddColumns - | ADD indexFormat=(INDEX | KEY) uid? indexType? - indexColumnNames indexOption* #alterByAddIndex - | ADD (CONSTRAINT name=uid?)? PRIMARY KEY - indexType? indexColumnNames indexOption* #alterByAddPrimaryKey - | ADD (CONSTRAINT name=uid?)? UNIQUE - indexFormat=(INDEX | KEY)? indexName=uid? - indexType? indexColumnNames indexOption* #alterByAddUniqueKey - | ADD keyType=(FULLTEXT | SPATIAL) - indexFormat=(INDEX | KEY)? uid? - indexColumnNames indexOption* #alterByAddSpecialIndex - | ADD (CONSTRAINT name=uid?)? FOREIGN KEY - indexName=uid? indexColumnNames referenceDefinition #alterByAddForeignKey - | ADD (CONSTRAINT name=uid?)? CHECK '(' expression ')' #alterByAddCheckTableConstraint - | ALGORITHM '='? algType=(DEFAULT | INPLACE | COPY) #alterBySetAlgorithm - | ALTER COLUMN? uid - (SET DEFAULT defaultValue | DROP DEFAULT) #alterByChangeDefault - | CHANGE COLUMN? oldColumn=uid - newColumn=uid columnDefinition - (FIRST | AFTER afterColumn=uid)? #alterByChangeColumn - | RENAME COLUMN oldColumn=uid TO newColumn=uid #alterByRenameColumn - | LOCK '='? lockType=(DEFAULT | NONE | SHARED | EXCLUSIVE) #alterByLock - | MODIFY COLUMN? - uid columnDefinition (FIRST | AFTER uid)? #alterByModifyColumn - | DROP COLUMN? uid #alterByDropColumn - | DROP PRIMARY KEY #alterByDropPrimaryKey - | DROP indexFormat=(INDEX | KEY) uid #alterByDropIndex - | DROP FOREIGN KEY uid #alterByDropForeignKey - | DISABLE KEYS #alterByDisableKeys - | ENABLE KEYS #alterByEnableKeys - | RENAME renameFormat=(TO | AS)? (uid | fullId) #alterByRename - | ORDER BY uidList #alterByOrder - | CONVERT TO CHARACTER SET charsetName - (COLLATE collationName)? #alterByConvertCharset - | DEFAULT? CHARACTER SET '=' charsetName - (COLLATE '=' collationName)? #alterByDefaultCharset - | DISCARD TABLESPACE #alterByDiscardTablespace - | IMPORT TABLESPACE #alterByImportTablespace - | FORCE #alterByForce - | validationFormat=(WITHOUT | WITH) VALIDATION #alterByValidate - | ADD PARTITION - '(' - partitionDefinition (',' partitionDefinition)* - ')' #alterByAddPartition - | DROP PARTITION uidList #alterByDropPartition - | DISCARD PARTITION (uidList | ALL) TABLESPACE #alterByDiscardPartition - | IMPORT PARTITION (uidList | ALL) TABLESPACE #alterByImportPartition - | TRUNCATE PARTITION (uidList | ALL) #alterByTruncatePartition - | COALESCE PARTITION decimalLiteral #alterByCoalescePartition - | REORGANIZE PARTITION uidList - INTO '(' - partitionDefinition (',' partitionDefinition)* - ')' #alterByReorganizePartition - | EXCHANGE PARTITION uid WITH TABLE tableName - (validationFormat=(WITH | WITHOUT) VALIDATION)? #alterByExchangePartition - | ANALYZE PARTITION (uidList | ALL) #alterByAnalyzePartitiion - | CHECK PARTITION (uidList | ALL) #alterByCheckPartition - | OPTIMIZE PARTITION (uidList | ALL) #alterByOptimizePartition - | REBUILD PARTITION (uidList | ALL) #alterByRebuildPartition - | REPAIR PARTITION (uidList | ALL) #alterByRepairPartition - | REMOVE PARTITIONING #alterByRemovePartitioning - | UPGRADE PARTITIONING #alterByUpgradePartitioning - ; - - -// Drop statements - -dropDatabase - : DROP dbFormat=(DATABASE | SCHEMA) ifExists? uid - ; - -dropEvent - : DROP EVENT ifExists? fullId - ; - -dropIndex - : DROP INDEX intimeAction=(ONLINE | OFFLINE)? - uid ON tableName - ( - ALGORITHM '='? algType=(DEFAULT | INPLACE | COPY) - )? - ( - LOCK '='? lockType=(DEFAULT | NONE | SHARED | EXCLUSIVE) - )? - ; - -dropLogfileGroup - : DROP LOGFILE GROUP uid ENGINE '=' engineName - ; - -dropProcedure - : DROP PROCEDURE ifExists? fullId - ; - -dropFunction - : DROP FUNCTION ifExists? fullId - ; - -dropServer - : DROP SERVER ifExists? uid - ; - -dropTable - : DROP TEMPORARY? TABLE ifExists? - tables dropType=(RESTRICT | CASCADE)? - ; - -dropTablespace - : DROP TABLESPACE uid (ENGINE '='? engineName)? - ; - -dropTrigger - : DROP TRIGGER ifExists? fullId - ; - -dropView - : DROP VIEW ifExists? - fullId (',' fullId)* dropType=(RESTRICT | CASCADE)? - ; - - -// Other DDL statements - -renameTable - : RENAME TABLE - renameTableClause (',' renameTableClause)* - ; - -renameTableClause - : tableName TO tableName - ; - -truncateTable - : TRUNCATE TABLE? tableName - ; - - -// Data Manipulation Language - -// Primary DML Statements - - -callStatement - : CALL fullId - ( - '(' (constants | expressions)? ')' - )? - ; - -deleteStatement - : singleDeleteStatement | multipleDeleteStatement - ; - -doStatement - : DO expressions - ; - -handlerStatement - : handlerOpenStatement - | handlerReadIndexStatement - | handlerReadStatement - | handlerCloseStatement - ; - -insertStatement - : INSERT - priority=(LOW_PRIORITY | DELAYED | HIGH_PRIORITY)? - IGNORE? INTO? tableName - (PARTITION '(' partitions=uidList ')' )? - ( - ('(' columns=uidList ')')? insertStatementValue - | SET - setFirst=updatedElement - (',' setElements+=updatedElement)* - ) - ( - ON DUPLICATE KEY UPDATE - duplicatedFirst=updatedElement - (',' duplicatedElements+=updatedElement)* - )? - ; - -loadDataStatement - : LOAD DATA - priority=(LOW_PRIORITY | CONCURRENT)? - LOCAL? INFILE filename=STRING_LITERAL - violation=(REPLACE | IGNORE)? - INTO TABLE tableName - (PARTITION '(' uidList ')' )? - (CHARACTER SET charset=charsetName)? - ( - fieldsFormat=(FIELDS | COLUMNS) - selectFieldsInto+ - )? - ( - LINES - selectLinesInto+ - )? - ( - IGNORE decimalLiteral linesFormat=(LINES | ROWS) - )? - ( '(' assignmentField (',' assignmentField)* ')' )? - (SET updatedElement (',' updatedElement)*)? - ; - -loadXmlStatement - : LOAD XML - priority=(LOW_PRIORITY | CONCURRENT)? - LOCAL? INFILE filename=STRING_LITERAL - violation=(REPLACE | IGNORE)? - INTO TABLE tableName - (CHARACTER SET charset=charsetName)? - (ROWS IDENTIFIED BY '<' tag=STRING_LITERAL '>')? - ( IGNORE decimalLiteral linesFormat=(LINES | ROWS) )? - ( '(' assignmentField (',' assignmentField)* ')' )? - (SET updatedElement (',' updatedElement)*)? - ; - -replaceStatement - : REPLACE priority=(LOW_PRIORITY | DELAYED)? - INTO? tableName - (PARTITION '(' partitions=uidList ')' )? - ( - ('(' columns=uidList ')')? insertStatementValue - | SET - setFirst=updatedElement - (',' setElements+=updatedElement)* - ) - ; - -selectStatement - : querySpecification lockClause? #simpleSelect - | queryExpression lockClause? #parenthesisSelect - | querySpecificationNointo unionStatement+ - ( - UNION unionType=(ALL | DISTINCT)? - (querySpecification | queryExpression) - )? - orderByClause? limitClause? lockClause? #unionSelect - | queryExpressionNointo unionParenthesis+ - ( - UNION unionType=(ALL | DISTINCT)? - queryExpression - )? - orderByClause? limitClause? lockClause? #unionParenthesisSelect - ; - -updateStatement - : singleUpdateStatement | multipleUpdateStatement - ; - -// details - -insertStatementValue - : selectStatement - | insertFormat=(VALUES | VALUE) - '(' expressionsWithDefaults ')' - (',' '(' expressionsWithDefaults ')')* - ; - -updatedElement - : fullColumnName '=' (expression | DEFAULT) - ; - -assignmentField - : uid | LOCAL_ID - ; - -lockClause - : FOR UPDATE | LOCK IN SHARE MODE - ; - -// Detailed DML Statements - -singleDeleteStatement - : DELETE priority=LOW_PRIORITY? QUICK? IGNORE? - FROM tableName - (PARTITION '(' uidList ')' )? - (WHERE expression)? - orderByClause? (LIMIT decimalLiteral)? - ; - -multipleDeleteStatement - : DELETE priority=LOW_PRIORITY? QUICK? IGNORE? - ( - tableName ('.' '*')? ( ',' tableName ('.' '*')? )* - FROM tableSources - | FROM - tableName ('.' '*')? ( ',' tableName ('.' '*')? )* - USING tableSources - ) - (WHERE expression)? - ; - -handlerOpenStatement - : HANDLER tableName OPEN (AS? uid)? - ; - -handlerReadIndexStatement - : HANDLER tableName READ index=uid - ( - comparisonOperator '(' constants ')' - | moveOrder=(FIRST | NEXT | PREV | LAST) - ) - (WHERE expression)? (LIMIT decimalLiteral)? - ; - -handlerReadStatement - : HANDLER tableName READ moveOrder=(FIRST | NEXT) - (WHERE expression)? (LIMIT decimalLiteral)? - ; - -handlerCloseStatement - : HANDLER tableName CLOSE - ; - -singleUpdateStatement - : UPDATE priority=LOW_PRIORITY? IGNORE? tableName (AS? uid)? - SET updatedElement (',' updatedElement)* - (WHERE expression)? orderByClause? limitClause? - ; - -multipleUpdateStatement - : UPDATE priority=LOW_PRIORITY? IGNORE? tableSources - SET updatedElement (',' updatedElement)* - (WHERE expression)? - ; - -// details - -orderByClause - : ORDER BY orderByExpression (',' orderByExpression)* - ; - -orderByExpression - : expression order=(ASC | DESC)? - ; - -tableSources - : tableSource (',' tableSource)* - ; - -tableSource - : tableSourceItem joinPart* #tableSourceBase - | '(' tableSourceItem joinPart* ')' #tableSourceNested - ; - -tableSourceItem - : tableName - (PARTITION '(' uidList ')' )? (AS? alias=uid)? - (indexHint (',' indexHint)* )? #atomTableItem - | ( - selectStatement - | '(' parenthesisSubquery=selectStatement ')' - ) - AS? alias=uid #subqueryTableItem - | '(' tableSources ')' #tableSourcesItem - ; - -indexHint - : indexHintAction=(USE | IGNORE | FORCE) - keyFormat=(INDEX|KEY) ( FOR indexHintType)? - '(' uidList ')' - ; - -indexHintType - : JOIN | ORDER BY | GROUP BY - ; - -joinPart - : (INNER | CROSS)? JOIN tableSourceItem - ( - ON expression - | USING '(' uidList ')' - )? #innerJoin - | STRAIGHT_JOIN tableSourceItem (ON expression)? #straightJoin - | (LEFT | RIGHT) OUTER? JOIN tableSourceItem - ( - ON expression - | USING '(' uidList ')' - ) #outerJoin - | NATURAL ((LEFT | RIGHT) OUTER?)? JOIN tableSourceItem #naturalJoin - ; - -// Select Statement's Details - -queryExpression - : '(' querySpecification ')' - | '(' queryExpression ')' - ; - -queryExpressionNointo - : '(' querySpecificationNointo ')' - | '(' queryExpressionNointo ')' - ; -//frameQL statement added -querySpecification - : SELECT selectSpec* selectElements selectIntoExpression? - fromClause? orderByClause? limitClause? - | SELECT selectSpec* selectElements - fromClause? orderByClause? limitClause? selectIntoExpression? - | SELECT selectSpec* selectElements - fromClause? errorTolerenceExpression? confLevelExpression? - - ; - -querySpecificationNointo - : SELECT selectSpec* selectElements - fromClause? orderByClause? limitClause? - ; - -unionParenthesis - : UNION unionType=(ALL | DISTINCT)? queryExpressionNointo - ; - -unionStatement - : UNION unionType=(ALL | DISTINCT)? - (querySpecificationNointo | queryExpressionNointo) - ; - -// details - -selectSpec - : (ALL | DISTINCT | DISTINCTROW) - | HIGH_PRIORITY | STRAIGHT_JOIN | SQL_SMALL_RESULT - | SQL_BIG_RESULT | SQL_BUFFER_RESULT - | (SQL_CACHE | SQL_NO_CACHE) - | SQL_CALC_FOUND_ROWS - ; - -selectElements - : (star='*' | selectElement ) (',' selectElement)* - ; - -selectElement - : fullId '.' '*' #selectStarElement - | fullColumnName (AS? uid)? #selectColumnElement - | functionCall (AS? uid)? #selectFunctionElement - | (LOCAL_ID VAR_ASSIGN)? expression (AS? uid)? #selectExpressionElement - ; - -errorTolerenceExpression - : ERRORBOUND REAL_LITERAL - ; -confLevelExpression - : CONFLEVEL REAL_LITERAL - ; -selectIntoExpression - : INTO assignmentField (',' assignmentField )* #selectIntoVariables - | INTO DUMPFILE STRING_LITERAL #selectIntoDumpFile - | ( - INTO OUTFILE filename=STRING_LITERAL - (CHARACTER SET charset=charsetName)? - ( - fieldsFormat=(FIELDS | COLUMNS) - selectFieldsInto+ - )? - ( - LINES selectLinesInto+ - )? - ) #selectIntoTextFile - ; - -selectFieldsInto - : TERMINATED BY terminationField=STRING_LITERAL - | OPTIONALLY? ENCLOSED BY enclosion=STRING_LITERAL - | ESCAPED BY escaping=STRING_LITERAL - ; - -selectLinesInto - : STARTING BY starting=STRING_LITERAL - | TERMINATED BY terminationLine=STRING_LITERAL - ; - -fromClause - : FROM tableSources - (WHERE whereExpr=expression)? - ( - GROUP BY - groupByItem (',' groupByItem)* - (WITH ROLLUP)? - )? - (HAVING havingExpr=expression)? - ; - -groupByItem - : expression order=(ASC | DESC)? - ; - -limitClause - : LIMIT - ( - (offset=decimalLiteral ',')? limit=decimalLiteral - | limit=decimalLiteral OFFSET offset=decimalLiteral - ) - ; - - -// Transaction's Statements - -startTransaction - : START TRANSACTION (transactionMode (',' transactionMode)* )? - ; - -beginWork - : BEGIN WORK? - ; - -commitWork - : COMMIT WORK? - (AND nochain=NO? CHAIN)? - (norelease=NO? RELEASE)? - ; - -rollbackWork - : ROLLBACK WORK? - (AND nochain=NO? CHAIN)? - (norelease=NO? RELEASE)? - ; - -savepointStatement - : SAVEPOINT uid - ; - -rollbackStatement - : ROLLBACK WORK? TO SAVEPOINT? uid - ; - -releaseStatement - : RELEASE SAVEPOINT uid - ; - -lockTables - : LOCK TABLES lockTableElement (',' lockTableElement)* - ; - -unlockTables - : UNLOCK TABLES - ; - - -// details - -setAutocommitStatement - : SET AUTOCOMMIT '=' autocommitValue=('0' | '1') - ; - -setTransactionStatement - : SET transactionContext=(GLOBAL | SESSION)? TRANSACTION - transactionOption (',' transactionOption)* - ; - -transactionMode - : WITH CONSISTENT SNAPSHOT - | READ WRITE - | READ ONLY - ; - -lockTableElement - : tableName (AS? uid)? lockAction - ; - -lockAction - : READ LOCAL? | LOW_PRIORITY? WRITE - ; - -transactionOption - : ISOLATION LEVEL transactionLevel - | READ WRITE - | READ ONLY - ; - -transactionLevel - : REPEATABLE READ - | READ COMMITTED - | READ UNCOMMITTED - | SERIALIZABLE - ; - - -// Replication's Statements - -// Base Replication - -changeMaster - : CHANGE MASTER TO - masterOption (',' masterOption)* channelOption? - ; - -changeReplicationFilter - : CHANGE REPLICATION FILTER - replicationFilter (',' replicationFilter)* - ; - -purgeBinaryLogs - : PURGE purgeFormat=(BINARY | MASTER) LOGS - ( - TO fileName=STRING_LITERAL - | BEFORE timeValue=STRING_LITERAL - ) - ; - -resetMaster - : RESET MASTER - ; - -resetSlave - : RESET SLAVE ALL? channelOption? - ; - -startSlave - : START SLAVE (threadType (',' threadType)*)? - (UNTIL untilOption)? - connectionOption* channelOption? - ; - -stopSlave - : STOP SLAVE (threadType (',' threadType)*)? - ; - -startGroupReplication - : START GROUP_REPLICATION - ; - -stopGroupReplication - : STOP GROUP_REPLICATION - ; - -// details - -masterOption - : stringMasterOption '=' STRING_LITERAL #masterStringOption - | decimalMasterOption '=' decimalLiteral #masterDecimalOption - | boolMasterOption '=' boolVal=('0' | '1') #masterBoolOption - | MASTER_HEARTBEAT_PERIOD '=' REAL_LITERAL #masterRealOption - | IGNORE_SERVER_IDS '=' '(' (uid (',' uid)*)? ')' #masterUidListOption - ; - -stringMasterOption - : MASTER_BIND | MASTER_HOST | MASTER_USER | MASTER_PASSWORD - | MASTER_LOG_FILE | RELAY_LOG_FILE | MASTER_SSL_CA - | MASTER_SSL_CAPATH | MASTER_SSL_CERT | MASTER_SSL_CRL - | MASTER_SSL_CRLPATH | MASTER_SSL_KEY | MASTER_SSL_CIPHER - | MASTER_TLS_VERSION - ; -decimalMasterOption - : MASTER_PORT | MASTER_CONNECT_RETRY | MASTER_RETRY_COUNT - | MASTER_DELAY | MASTER_LOG_POS | RELAY_LOG_POS - ; - -boolMasterOption - : MASTER_AUTO_POSITION | MASTER_SSL - | MASTER_SSL_VERIFY_SERVER_CERT - ; - -channelOption - : FOR CHANNEL STRING_LITERAL - ; - -replicationFilter - : REPLICATE_DO_DB '=' '(' uidList ')' #doDbReplication - | REPLICATE_IGNORE_DB '=' '(' uidList ')' #ignoreDbReplication - | REPLICATE_DO_TABLE '=' '(' tables ')' #doTableReplication - | REPLICATE_IGNORE_TABLE '=' '(' tables ')' #ignoreTableReplication - | REPLICATE_WILD_DO_TABLE '=' '(' simpleStrings ')' #wildDoTableReplication - | REPLICATE_WILD_IGNORE_TABLE - '=' '(' simpleStrings ')' #wildIgnoreTableReplication - | REPLICATE_REWRITE_DB '=' - '(' tablePair (',' tablePair)* ')' #rewriteDbReplication - ; - -tablePair - : '(' firstTable=tableName ',' secondTable=tableName ')' - ; - -threadType - : IO_THREAD | SQL_THREAD - ; - -untilOption - : gtids=(SQL_BEFORE_GTIDS | SQL_AFTER_GTIDS) - '=' gtuidSet #gtidsUntilOption - | MASTER_LOG_FILE '=' STRING_LITERAL - ',' MASTER_LOG_POS '=' decimalLiteral #masterLogUntilOption - | RELAY_LOG_FILE '=' STRING_LITERAL - ',' RELAY_LOG_POS '=' decimalLiteral #relayLogUntilOption - | SQL_AFTER_MTS_GAPS #sqlGapsUntilOption - ; - -connectionOption - : USER '=' conOptUser=STRING_LITERAL #userConnectionOption - | PASSWORD '=' conOptPassword=STRING_LITERAL #passwordConnectionOption - | DEFAULT_AUTH '=' conOptDefAuth=STRING_LITERAL #defaultAuthConnectionOption - | PLUGIN_DIR '=' conOptPluginDir=STRING_LITERAL #pluginDirConnectionOption - ; - -gtuidSet - : uuidSet (',' uuidSet)* - | STRING_LITERAL - ; - - -// XA Transactions - -xaStartTransaction - : XA xaStart=(START | BEGIN) xid xaAction=(JOIN | RESUME)? - ; - -xaEndTransaction - : XA END xid (SUSPEND (FOR MIGRATE)?)? - ; - -xaPrepareStatement - : XA PREPARE xid - ; - -xaCommitWork - : XA COMMIT xid (ONE PHASE)? - ; - -xaRollbackWork - : XA ROLLBACK xid - ; - -xaRecoverWork - : XA RECOVER (CONVERT xid)? - ; - - -// Prepared Statements - -prepareStatement - : PREPARE uid FROM - (query=STRING_LITERAL | variable=LOCAL_ID) - ; - -executeStatement - : EXECUTE uid (USING userVariables)? - ; - -deallocatePrepare - : dropFormat=(DEALLOCATE | DROP) PREPARE uid - ; - - -// Compound Statements - -routineBody - : blockStatement | sqlStatement - ; - -// details - -blockStatement - : (uid ':')? BEGIN - ( - (declareVariable SEMI)* - (declareCondition SEMI)* - (declareCursor SEMI)* - (declareHandler SEMI)* - procedureSqlStatement+ - )? - END uid? - ; - -caseStatement - : CASE (uid | expression)? caseAlternative+ - (ELSE procedureSqlStatement+)? - END CASE - ; - -ifStatement - : IF expression - THEN thenStatements+=procedureSqlStatement+ - elifAlternative* - (ELSE elseStatements+=procedureSqlStatement+ )? - END IF - ; - -iterateStatement - : ITERATE uid - ; - -leaveStatement - : LEAVE uid - ; - -loopStatement - : (uid ':')? - LOOP procedureSqlStatement+ - END LOOP uid? - ; - -repeatStatement - : (uid ':')? - REPEAT procedureSqlStatement+ - UNTIL expression - END REPEAT uid? - ; - -returnStatement - : RETURN expression - ; - -whileStatement - : (uid ':')? - WHILE expression - DO procedureSqlStatement+ - END WHILE uid? - ; - -cursorStatement - : CLOSE uid #CloseCursor - | FETCH (NEXT? FROM)? uid INTO uidList #FetchCursor - | OPEN uid #OpenCursor - ; - -// details - -declareVariable - : DECLARE uidList dataType (DEFAULT defaultValue)? - ; - -declareCondition - : DECLARE uid CONDITION FOR - ( decimalLiteral | SQLSTATE VALUE? STRING_LITERAL) - ; - -declareCursor - : DECLARE uid CURSOR FOR selectStatement - ; - -declareHandler - : DECLARE handlerAction=(CONTINUE | EXIT | UNDO) - HANDLER FOR - handlerConditionValue (',' handlerConditionValue)* - routineBody - ; - -handlerConditionValue - : decimalLiteral #handlerConditionCode - | SQLSTATE VALUE? STRING_LITERAL #handlerConditionState - | uid #handlerConditionName - | SQLWARNING #handlerConditionWarning - | NOT FOUND #handlerConditionNotfound - | SQLEXCEPTION #handlerConditionException - ; - -procedureSqlStatement - : (compoundStatement | sqlStatement) SEMI - ; - -caseAlternative - : WHEN (constant | expression) - THEN procedureSqlStatement+ - ; - -elifAlternative - : ELSEIF expression - THEN procedureSqlStatement+ - ; - -// Administration Statements - -// Account management statements - -alterUser - : ALTER USER - userSpecification (',' userSpecification)* #alterUserMysqlV56 - | ALTER USER ifExists? - userAuthOption (',' userAuthOption)* - ( - REQUIRE - (tlsNone=NONE | tlsOption (AND? tlsOption)* ) - )? - (WITH userResourceOption+)? - (userPasswordOption | userLockOption)* #alterUserMysqlV57 - ; - -createUser - : CREATE USER userAuthOption (',' userAuthOption)* #createUserMysqlV56 - | CREATE USER ifNotExists? - userAuthOption (',' userAuthOption)* - ( - REQUIRE - (tlsNone=NONE | tlsOption (AND? tlsOption)* ) - )? - (WITH userResourceOption+)? - (userPasswordOption | userLockOption)* #createUserMysqlV57 - ; - -dropUser - : DROP USER ifExists? userName (',' userName)* - ; - -grantStatement - : GRANT privelegeClause (',' privelegeClause)* - ON - privilegeObject=(TABLE | FUNCTION | PROCEDURE)? - privilegeLevel - TO userAuthOption (',' userAuthOption)* - ( - REQUIRE - (tlsNone=NONE | tlsOption (AND? tlsOption)* ) - )? - (WITH (GRANT OPTION | userResourceOption)* )? - ; - -grantProxy - : GRANT PROXY ON fromFirst=userName - TO toFirst=userName (',' toOther+=userName)* - (WITH GRANT OPTION)? - ; - -renameUser - : RENAME USER - renameUserClause (',' renameUserClause)* - ; - -revokeStatement - : REVOKE privelegeClause (',' privelegeClause)* - ON - privilegeObject=(TABLE | FUNCTION | PROCEDURE)? - privilegeLevel - FROM userName (',' userName)* #detailRevoke - | REVOKE ALL PRIVILEGES? ',' GRANT OPTION - FROM userName (',' userName)* #shortRevoke - ; - -revokeProxy - : REVOKE PROXY ON onUser=userName - FROM fromFirst=userName (',' fromOther+=userName)* - ; - -setPasswordStatement - : SET PASSWORD (FOR userName)? - '=' ( passwordFunctionClause | STRING_LITERAL) - ; - -// details - -userSpecification - : userName userPasswordOption - ; - -userAuthOption - : userName IDENTIFIED BY PASSWORD hashed=STRING_LITERAL #passwordAuthOption - | userName - IDENTIFIED (WITH authPlugin)? BY STRING_LITERAL #stringAuthOption - | userName - IDENTIFIED WITH authPlugin - (AS STRING_LITERAL)? #hashAuthOption - | userName #simpleAuthOption - ; - -tlsOption - : SSL - | X509 - | CIPHER STRING_LITERAL - | ISSUER STRING_LITERAL - | SUBJECT STRING_LITERAL - ; - -userResourceOption - : MAX_QUERIES_PER_HOUR decimalLiteral - | MAX_UPDATES_PER_HOUR decimalLiteral - | MAX_CONNECTIONS_PER_HOUR decimalLiteral - | MAX_USER_CONNECTIONS decimalLiteral - ; - -userPasswordOption - : PASSWORD EXPIRE - (expireType=DEFAULT - | expireType=NEVER - | expireType=INTERVAL decimalLiteral DAY - )? - ; - -userLockOption - : ACCOUNT lockType=(LOCK | UNLOCK) - ; - -privelegeClause - : privilege ( '(' uidList ')' )? - ; - -privilege - : ALL PRIVILEGES? - | ALTER ROUTINE? - | CREATE - (TEMPORARY TABLES | ROUTINE | VIEW | USER | TABLESPACE)? - | DELETE | DROP | EVENT | EXECUTE | FILE | GRANT OPTION - | INDEX | INSERT | LOCK TABLES | PROCESS | PROXY - | REFERENCES | RELOAD - | REPLICATION (CLIENT | SLAVE) - | SELECT - | SHOW (VIEW | DATABASES) - | SHUTDOWN | SUPER | TRIGGER | UPDATE | USAGE - ; - -privilegeLevel - : '*' #currentSchemaPriviLevel - | '*' '.' '*' #globalPrivLevel - | uid '.' '*' #definiteSchemaPrivLevel - | uid '.' uid #definiteFullTablePrivLevel - | uid #definiteTablePrivLevel - ; - -renameUserClause - : fromFirst=userName TO toFirst=userName - ; - -// Table maintenance statements - -analyzeTable - : ANALYZE actionOption=(NO_WRITE_TO_BINLOG | LOCAL)? - TABLE tables - ; - -checkTable - : CHECK TABLE tables checkTableOption* - ; - -checksumTable - : CHECKSUM TABLE tables actionOption=(QUICK | EXTENDED)? - ; - -optimizeTable - : OPTIMIZE actionOption=(NO_WRITE_TO_BINLOG | LOCAL)? - TABLE tables - ; - -repairTable - : REPAIR actionOption=(NO_WRITE_TO_BINLOG | LOCAL)? - TABLE tables - QUICK? EXTENDED? USE_FRM? - ; - -// details - -checkTableOption - : FOR UPGRADE | QUICK | FAST | MEDIUM | EXTENDED | CHANGED - ; - - -// Plugin and udf statements - -createUdfunction - : CREATE AGGREGATE? FUNCTION uid - RETURNS returnType=(STRING | INTEGER | REAL | DECIMAL) - SONAME STRING_LITERAL - ; - -installPlugin - : INSTALL PLUGIN uid SONAME STRING_LITERAL - ; - -uninstallPlugin - : UNINSTALL PLUGIN uid - ; - - -// Set and show statements - -setStatement - : SET variableClause '=' expression - (',' variableClause '=' expression)* #setVariable - | SET (CHARACTER SET | CHARSET) (charsetName | DEFAULT) #setCharset - | SET NAMES - (charsetName (COLLATE collationName)? | DEFAULT) #setNames - | setPasswordStatement #setPassword - | setTransactionStatement #setTransaction - | setAutocommitStatement #setAutocommit - ; - -showStatement - : SHOW logFormat=(BINARY | MASTER) LOGS #showMasterLogs - | SHOW logFormat=(BINLOG | RELAYLOG) - EVENTS (IN filename=STRING_LITERAL)? - (FROM fromPosition=decimalLiteral)? - (LIMIT - (offset=decimalLiteral ',')? - rowCount=decimalLiteral - )? #showLogEvents - | SHOW showCommonEntity showFilter? #showObjectFilter - | SHOW FULL? columnsFormat=(COLUMNS | FIELDS) - tableFormat=(FROM | IN) tableName - (schemaFormat=(FROM | IN) uid)? showFilter? #showColumns - | SHOW CREATE schemaFormat=(DATABASE | SCHEMA) - ifNotExists? uid #showCreateDb - | SHOW CREATE - namedEntity=( - EVENT | FUNCTION | PROCEDURE - | TABLE | TRIGGER | VIEW - ) - fullId #showCreateFullIdObject - | SHOW CREATE USER userName #showCreateUser - | SHOW ENGINE engineName engineOption=(STATUS | MUTEX) #showEngine - | SHOW showGlobalInfoClause #showGlobalInfo - | SHOW errorFormat=(ERRORS | WARNINGS) - (LIMIT - (offset=decimalLiteral ',')? - rowCount=decimalLiteral - ) #showErrors - | SHOW COUNT '(' '*' ')' errorFormat=(ERRORS | WARNINGS) #showCountErrors - | SHOW showSchemaEntity - (schemaFormat=(FROM | IN) uid)? showFilter? #showSchemaFilter - | SHOW routine=(FUNCTION | PROCEDURE) CODE fullId #showRoutine - | SHOW GRANTS (FOR userName)? #showGrants - | SHOW indexFormat=(INDEX | INDEXES | KEYS) - tableFormat=(FROM | IN) tableName - (schemaFormat=(FROM | IN) uid)? (WHERE expression)? #showIndexes - | SHOW OPEN TABLES ( schemaFormat=(FROM | IN) uid)? - showFilter? #showOpenTables - | SHOW PROFILE showProfileType (',' showProfileType)* - (FOR QUERY queryCount=decimalLiteral)? - (LIMIT - (offset=decimalLiteral ',')? - rowCount=decimalLiteral - ) #showProfile - | SHOW SLAVE STATUS (FOR CHANNEL STRING_LITERAL)? #showSlaveStatus - ; - -// details - -variableClause - : LOCAL_ID | GLOBAL_ID | ( ('@' '@')? (GLOBAL | SESSION) )? uid - ; - -showCommonEntity - : CHARACTER SET | COLLATION | DATABASES | SCHEMAS - | FUNCTION STATUS | PROCEDURE STATUS - | (GLOBAL | SESSION)? (STATUS | VARIABLES) - ; - -showFilter - : LIKE STRING_LITERAL - | WHERE expression - ; - -showGlobalInfoClause - : STORAGE? ENGINES | MASTER STATUS | PLUGINS - | PRIVILEGES | FULL? PROCESSLIST | PROFILES - | SLAVE HOSTS | AUTHORS | CONTRIBUTORS - ; - -showSchemaEntity - : EVENTS | TABLE STATUS | FULL? TABLES | TRIGGERS - ; - -showProfileType - : ALL | BLOCK IO | CONTEXT SWITCHES | CPU | IPC | MEMORY - | PAGE FAULTS | SOURCE | SWAPS - ; - - -// Other administrative statements - -binlogStatement - : BINLOG STRING_LITERAL - ; - -cacheIndexStatement - : CACHE INDEX tableIndexes (',' tableIndexes)* - ( PARTITION '(' (uidList | ALL) ')' )? - IN schema=uid - ; - -flushStatement - : FLUSH flushFormat=(NO_WRITE_TO_BINLOG | LOCAL)? - flushOption (',' flushOption)* - ; - -killStatement - : KILL connectionFormat=(CONNECTION | QUERY)? - decimalLiteral+ - ; - -loadIndexIntoCache - : LOAD INDEX INTO CACHE - loadedTableIndexes (',' loadedTableIndexes)* - ; - -// remark reset (maser | slave) describe in replication's -// statements section -resetStatement - : RESET QUERY CACHE - ; - -shutdownStatement - : SHUTDOWN - ; - -// details - -tableIndexes - : tableName ( indexFormat=(INDEX | KEY)? '(' uidList ')' )? - ; - -flushOption - : ( - DES_KEY_FILE | HOSTS - | ( - BINARY | ENGINE | ERROR | GENERAL | RELAY | SLOW - )? LOGS - | OPTIMIZER_COSTS | PRIVILEGES | QUERY CACHE | STATUS - | USER_RESOURCES | TABLES (WITH READ LOCK)? - ) #simpleFlushOption - | RELAY LOGS channelOption? #channelFlushOption - | TABLES tables flushTableOption? #tableFlushOption - ; - -flushTableOption - : WITH READ LOCK - | FOR EXPORT - ; - -loadedTableIndexes - : tableName - ( PARTITION '(' (partitionList=uidList | ALL) ')' )? - ( indexFormat=(INDEX | KEY)? '(' indexList=uidList ')' )? - (IGNORE LEAVES)? - ; - - -// Utility Statements - - -simpleDescribeStatement - : command=(EXPLAIN | DESCRIBE | DESC) tableName - (column=uid | pattern=STRING_LITERAL)? - ; - -fullDescribeStatement - : command=(EXPLAIN | DESCRIBE | DESC) - ( - formatType=(EXTENDED | PARTITIONS | FORMAT ) - '=' - formatValue=(TRADITIONAL | JSON) - )? - describeObjectClause - ; - -helpStatement - : HELP STRING_LITERAL - ; - -useStatement - : USE uid - ; - -// details - -describeObjectClause - : ( - selectStatement | deleteStatement | insertStatement - | replaceStatement | updateStatement - ) #describeStatements - | FOR CONNECTION uid #describeConnection - ; - - -// Common Clauses - -// DB Objects - -fullId - : uid (DOT_ID | '.' uid)? - ; - -tableName - : fullId - ; - -fullColumnName - : uid (dottedId dottedId? )? - ; - -indexColumnName - : uid ('(' decimalLiteral ')')? sortType=(ASC | DESC)? - ; - -userName - : STRING_USER_NAME | ID; - -mysqlVariable - : LOCAL_ID - | GLOBAL_ID - ; - -charsetName - : BINARY - | charsetNameBase - | STRING_LITERAL - | CHARSET_REVERSE_QOUTE_STRING - ; - -collationName - : uid | STRING_LITERAL; - -engineName - : ARCHIVE | BLACKHOLE | CSV | FEDERATED | INNODB | MEMORY - | MRG_MYISAM | MYISAM | NDB | NDBCLUSTER | PERFOMANCE_SCHEMA - | STRING_LITERAL | REVERSE_QUOTE_ID - ; - -uuidSet - : decimalLiteral '-' decimalLiteral '-' decimalLiteral - '-' decimalLiteral '-' decimalLiteral - (':' decimalLiteral '-' decimalLiteral)+ - ; - -xid - : globalTableUid=xuidStringId - ( - ',' qualifier=xuidStringId - (',' idFormat=decimalLiteral)? - )? - ; - -xuidStringId - : STRING_LITERAL - | BIT_STRING - | HEXADECIMAL_LITERAL+ - ; - -authPlugin - : uid | STRING_LITERAL - ; - -uid - : simpleId - //| DOUBLE_QUOTE_ID - | REVERSE_QUOTE_ID - | CHARSET_REVERSE_QOUTE_STRING - ; - -simpleId - : ID - | charsetNameBase - | transactionLevelBase - | engineName - | privilegesBase - | intervalTypeBase - | dataTypeBase - | keywordsCanBeId - | functionNameBase - ; - -dottedId - : DOT_ID - | '.' uid - ; - - -// Literals - -decimalLiteral - : DECIMAL_LITERAL | ZERO_DECIMAL | ONE_DECIMAL | TWO_DECIMAL - ; - -fileSizeLiteral - : FILESIZE_LITERAL | decimalLiteral; - -stringLiteral - : ( - STRING_CHARSET_NAME? STRING_LITERAL - | START_NATIONAL_STRING_LITERAL - ) STRING_LITERAL+ - | ( - STRING_CHARSET_NAME? STRING_LITERAL - | START_NATIONAL_STRING_LITERAL - ) (COLLATE collationName)? - ; - -booleanLiteral - : TRUE | FALSE; - -hexadecimalLiteral - : STRING_CHARSET_NAME? HEXADECIMAL_LITERAL; - -nullNotnull - : NOT? (NULL_LITERAL | NULL_SPEC_LITERAL) - ; - -constant - : stringLiteral | decimalLiteral - | '-' decimalLiteral - | hexadecimalLiteral | booleanLiteral - | REAL_LITERAL | BIT_STRING - | NOT? nullLiteral=(NULL_LITERAL | NULL_SPEC_LITERAL) - ; - - -// Data Types - -dataType - : typeName=( - CHAR | VARCHAR | TINYTEXT | TEXT | MEDIUMTEXT | LONGTEXT - ) - lengthOneDimension? BINARY? - (CHARACTER SET charsetName)? (COLLATE collationName)? #stringDataType - | typeName=( - TINYINT | SMALLINT | MEDIUMINT | INT | INTEGER | BIGINT - ) - lengthOneDimension? UNSIGNED? ZEROFILL? #dimensionDataType - | typeName=(REAL | DOUBLE | FLOAT) - lengthTwoDimension? UNSIGNED? ZEROFILL? #dimensionDataType - | typeName=(DECIMAL | NUMERIC) - lengthTwoOptionalDimension? UNSIGNED? ZEROFILL? #dimensionDataType - | typeName=( - DATE | TINYBLOB | BLOB | MEDIUMBLOB | LONGBLOB - | BOOL | BOOLEAN | SERIAL - ) #simpleDataType - | typeName=( - BIT | TIME | TIMESTAMP | DATETIME | BINARY - | VARBINARY | YEAR - ) - lengthOneDimension? #dimensionDataType - | typeName=(ENUM | SET) - '(' STRING_LITERAL (',' STRING_LITERAL)* ')' BINARY? - (CHARACTER SET charsetName)? (COLLATE collationName)? #collectionDataType - | typeName=( - GEOMETRYCOLLECTION | LINESTRING | MULTILINESTRING - | MULTIPOINT | MULTIPOLYGON | POINT | POLYGON - ) #spatialDataType - ; - -convertedDataType - : typeName=(BINARY| NCHAR) lengthOneDimension? - | typeName=CHAR lengthOneDimension? (CHARACTER SET charsetName)? - | typeName=(DATE | DATETIME | TIME) - | typeName=DECIMAL lengthTwoDimension? - | (SIGNED | UNSIGNED) INTEGER? - ; - -lengthOneDimension - : '(' decimalLiteral ')' - ; - -lengthTwoDimension - : '(' decimalLiteral ',' decimalLiteral ')' - ; - -lengthTwoOptionalDimension - : '(' decimalLiteral (',' decimalLiteral)? ')' - ; - - -// Common Lists - -uidList - : uid (',' uid)* - ; - -tables - : tableName (',' tableName)* - ; - -indexColumnNames - : '(' indexColumnName (',' indexColumnName)* ')' - ; - -expressions - : expression (',' expression)* - ; - -expressionsWithDefaults - : expressionOrDefault (',' expressionOrDefault)* - ; - -constants - : constant (',' constant)* - ; - -simpleStrings - : STRING_LITERAL (',' STRING_LITERAL)* - ; - -userVariables - : LOCAL_ID (',' LOCAL_ID)* - ; - - -// Common Expressons - -defaultValue - : NULL_LITERAL - | constant - | currentTimestamp (ON UPDATE currentTimestamp)? - ; - -currentTimestamp - : - ( - (CURRENT_TIMESTAMP | LOCALTIME | LOCALTIMESTAMP) ('(' decimalLiteral? ')')? - | NOW '(' decimalLiteral? ')' - ) - ; - -expressionOrDefault - : expression | DEFAULT - ; - -ifExists - : IF EXISTS; - -ifNotExists - : IF NOT EXISTS; - - -// Functions - -functionCall - : specificFunction #specificFunctionCall - | aggregateWindowedFunction #aggregateFunctionCall - | scalarFunctionName '(' functionArgs? ')' #scalarFunctionCall - | fullId '(' functionArgs? ')' #udfFunctionCall - | passwordFunctionClause #passwordFunctionCall - ; - -specificFunction - : ( - CURRENT_DATE | CURRENT_TIME | CURRENT_TIMESTAMP - | CURRENT_USER | LOCALTIME - ) #simpleFunctionCall - | CONVERT '(' expression separator=',' convertedDataType ')' #dataTypeFunctionCall - | CONVERT '(' expression USING charsetName ')' #dataTypeFunctionCall - | CAST '(' expression AS convertedDataType ')' #dataTypeFunctionCall - | VALUES '(' fullColumnName ')' #valuesFunctionCall - | CASE expression caseFuncAlternative+ - (ELSE elseArg=functionArg)? END #caseFunctionCall - | CASE caseFuncAlternative+ - (ELSE elseArg=functionArg)? END #caseFunctionCall - | CHAR '(' functionArgs (USING charsetName)? ')' #charFunctionCall - | POSITION - '(' - ( - positionString=stringLiteral - | positionExpression=expression - ) - IN - ( - inString=stringLiteral - | inExpression=expression - ) - ')' #positionFunctionCall - | (SUBSTR | SUBSTRING) - '(' - ( - sourceString=stringLiteral - | sourceExpression=expression - ) FROM - ( - fromDecimal=decimalLiteral - | fromExpression=expression - ) - ( - FOR - ( - forDecimal=decimalLiteral - | forExpression=expression - ) - )? - ')' #substrFunctionCall - | TRIM - '(' - positioinForm=(BOTH | LEADING | TRAILING) - ( - sourceString=stringLiteral - | sourceExpression=expression - )? - FROM - ( - fromString=stringLiteral - | fromExpression=expression - ) - ')' #trimFunctionCall - | TRIM - '(' - ( - sourceString=stringLiteral - | sourceExpression=expression - ) - FROM - ( - fromString=stringLiteral - | fromExpression=expression - ) - ')' #trimFunctionCall - | WEIGHT_STRING - '(' - (stringLiteral | expression) - (AS stringFormat=(CHAR | BINARY) - '(' decimalLiteral ')' )? levelsInWeightString? - ')' #weightFunctionCall - | EXTRACT - '(' - intervalType - FROM - ( - sourceString=stringLiteral - | sourceExpression=expression - ) - ')' #extractFunctionCall - | GET_FORMAT - '(' - datetimeFormat=(DATE | TIME | DATETIME) - ',' stringLiteral - ')' #getFormatFunctionCall - ; - -caseFuncAlternative - : WHEN condition=functionArg - THEN consequent=functionArg - ; - -levelsInWeightString - : LEVEL levelInWeightListElement - (',' levelInWeightListElement)* #levelWeightList - | LEVEL - firstLevel=decimalLiteral '-' lastLevel=decimalLiteral #levelWeightRange - ; - -levelInWeightListElement - : decimalLiteral orderType=(ASC | DESC | REVERSE)? - ; - -aggregateWindowedFunction - : (AVG | MAX | MIN | SUM) - '(' aggregator=(ALL | DISTINCT)? functionArg ')' - | COUNT '(' (starArg='*' | aggregator=ALL? functionArg) ')' - | COUNT '(' aggregator=DISTINCT functionArgs ')' - | FCOUNT '(' (starArg='*') ')' - | ( - BIT_AND | BIT_OR | BIT_XOR | STD | STDDEV | STDDEV_POP - | STDDEV_SAMP | VAR_POP | VAR_SAMP | VARIANCE - ) '(' aggregator=ALL? functionArg ')' - | GROUP_CONCAT '(' - aggregator=DISTINCT? functionArgs - (ORDER BY - orderByExpression (',' orderByExpression)* - )? (SEPARATOR separator=STRING_LITERAL)? - ')' - ; - -scalarFunctionName - : functionNameBase - | ASCII | CURDATE | CURRENT_DATE | CURRENT_TIME - | CURRENT_TIMESTAMP | CURTIME | DATE_ADD | DATE_SUB - | IF | INSERT | LOCALTIME | LOCALTIMESTAMP | MID | NOW - | REPLACE | SUBSTR | SUBSTRING | SYSDATE | TRIM - | UTC_DATE | UTC_TIME | UTC_TIMESTAMP - ; - -passwordFunctionClause - : functionName=(PASSWORD | OLD_PASSWORD) '(' functionArg ')' - ; - -functionArgs - : (constant | fullColumnName | functionCall | expression) - ( - ',' - (constant | fullColumnName | functionCall | expression) - )* - ; - -functionArg - : constant | fullColumnName | functionCall | expression - ; - - -// Expressions, predicates - -// Simplified approach for expression -expression - : notOperator=(NOT | '!') expression #notExpression - | expression logicalOperator expression #logicalExpression - | predicate IS NOT? testValue=(TRUE | FALSE | UNKNOWN) #isExpression - | predicate #predicateExpression - ; - -predicate - : predicate NOT? IN '(' (selectStatement | expressions) ')' #inPredicate - | predicate IS nullNotnull #isNullPredicate - | left=predicate comparisonOperator right=predicate #binaryComparasionPredicate - | predicate comparisonOperator - quantifier=(ALL | ANY | SOME) '(' selectStatement ')' #subqueryComparasionPredicate - | predicate NOT? BETWEEN predicate AND predicate #betweenPredicate - | predicate SOUNDS LIKE predicate #soundsLikePredicate - | predicate NOT? LIKE predicate (ESCAPE STRING_LITERAL)? #likePredicate - | predicate NOT? regex=(REGEXP | RLIKE) predicate #regexpPredicate - | (LOCAL_ID VAR_ASSIGN)? expressionAtom #expressionAtomPredicate - ; - - -// Add in ASTVisitor nullNotnull in constant -expressionAtom - : constant #constantExpressionAtom - | fullColumnName #fullColumnNameExpressionAtom - | functionCall #functionCallExpressionAtom - | expressionAtom COLLATE collationName #collateExpressionAtom - | mysqlVariable #mysqlVariableExpressionAtom - | unaryOperator expressionAtom #unaryExpressionAtom - | BINARY expressionAtom #binaryExpressionAtom - | '(' expression (',' expression)* ')' #nestedExpressionAtom - | ROW '(' expression (',' expression)+ ')' #nestedRowExpressionAtom - | EXISTS '(' selectStatement ')' #existsExpessionAtom - | '(' selectStatement ')' #subqueryExpessionAtom - | INTERVAL expression intervalType #intervalExpressionAtom - | left=expressionAtom bitOperator right=expressionAtom #bitExpressionAtom - | left=expressionAtom mathOperator right=expressionAtom #mathExpressionAtom - ; - -unaryOperator - : '!' | '~' | '+' | '-' | NOT - ; - -comparisonOperator - : '=' | '>' | '<' | '<' '=' | '>' '=' - | '<' '>' | '!' '=' | '<' '=' '>' - ; - -logicalOperator - : AND | '&' '&' | XOR | OR | '|' '|' - ; - -bitOperator - : '<' '<' | '>' '>' | '&' | '^' | '|' - ; - -mathOperator - : '*' | '/' | '%' | DIV | MOD | '+' | '-' | '--' - ; - - -// Simple id sets -// (that keyword, which can be id) - -charsetNameBase - : ARMSCII8 | ASCII | BIG5 | CP1250 | CP1251 | CP1256 | CP1257 - | CP850 | CP852 | CP866 | CP932 | DEC8 | EUCJPMS | EUCKR - | GB2312 | GBK | GEOSTD8 | GREEK | HEBREW | HP8 | KEYBCS2 - | KOI8R | KOI8U | LATIN1 | LATIN2 | LATIN5 | LATIN7 | MACCE - | MACROMAN | SJIS | SWE7 | TIS620 | UCS2 | UJIS | UTF16 - | UTF16LE | UTF32 | UTF8 | UTF8MB3 | UTF8MB4 - ; - -transactionLevelBase - : REPEATABLE | COMMITTED | UNCOMMITTED | SERIALIZABLE - ; - -privilegesBase - : TABLES | ROUTINE | EXECUTE | FILE | PROCESS - | RELOAD | SHUTDOWN | SUPER | PRIVILEGES - ; - -intervalTypeBase - : QUARTER | MONTH | DAY | HOUR - | MINUTE | WEEK | SECOND | MICROSECOND - ; - -dataTypeBase - : DATE | TIME | TIMESTAMP | DATETIME | YEAR | ENUM | TEXT - ; - -keywordsCanBeId - : ACCOUNT | ACTION | AFTER | AGGREGATE | ALGORITHM | ANY - | AT | AUTHORS | AUTOCOMMIT | AUTOEXTEND_SIZE - | AUTO_INCREMENT | AVG_ROW_LENGTH | BEGIN | BINLOG | BIT - | BLOCK | BOOL | BOOLEAN | BTREE | CASCADED | CHAIN | CHANGED - | CHANNEL | CHECKSUM | CIPHER | CLIENT | COALESCE | CODE - | COLUMNS | COLUMN_FORMAT | COMMENT | COMMIT | COMPACT - | COMPLETION | COMPRESSED | COMPRESSION | CONCURRENT - | CONNECTION | CONSISTENT | CONTAINS | CONTEXT - | CONTRIBUTORS | COPY | CPU | DATA | DATAFILE | DEALLOCATE - | DEFAULT_AUTH | DEFINER | DELAY_KEY_WRITE | DIRECTORY - | DISABLE | DISCARD | DISK | DO | DUMPFILE | DUPLICATE - | DYNAMIC | ENABLE | ENCRYPTION | ENDS | ENGINE | ENGINES - | ERROR | ERRORS | ESCAPE | EVEN | EVENT | EVENTS | EVERY - | EXCHANGE | EXCLUSIVE | EXPIRE | EXTENDED | EXTENT_SIZE | FAST | FAULTS - | FIELDS | FILE_BLOCK_SIZE | FILTER | FIRST | FIXED - | FOLLOWS | FULL | FUNCTION | GLOBAL | GRANTS - | GROUP_REPLICATION | HASH | HOST | IDENTIFIED - | IGNORE_SERVER_IDS | IMPORT | INDEXES | INITIAL_SIZE - | INPLACE | INSERT_METHOD | INSTANCE | INVOKER | IO - | IO_THREAD | IPC | ISOLATION | ISSUER | KEY_BLOCK_SIZE - | LANGUAGE | LAST | LEAVES | LESS | LEVEL | LIST | LOCAL - | LOGFILE | LOGS | MASTER | MASTER_AUTO_POSITION - | MASTER_CONNECT_RETRY | MASTER_DELAY - | MASTER_HEARTBEAT_PERIOD | MASTER_HOST | MASTER_LOG_FILE - | MASTER_LOG_POS | MASTER_PASSWORD | MASTER_PORT - | MASTER_RETRY_COUNT | MASTER_SSL | MASTER_SSL_CA - | MASTER_SSL_CAPATH | MASTER_SSL_CERT | MASTER_SSL_CIPHER - | MASTER_SSL_CRL | MASTER_SSL_CRLPATH | MASTER_SSL_KEY - | MASTER_TLS_VERSION | MASTER_USER - | MAX_CONNECTIONS_PER_HOUR | MAX_QUERIES_PER_HOUR - | MAX_ROWS | MAX_SIZE | MAX_UPDATES_PER_HOUR - | MAX_USER_CONNECTIONS | MEDIUM | MEMORY | MERGE | MID | MIGRATE - | MIN_ROWS | MODIFY | MUTEX | MYSQL | NAME | NAMES - | NCHAR | NEVER | NO | NODEGROUP | NONE | OFFLINE | OFFSET - | OJ | OLD_PASSWORD | ONE | ONLINE | ONLY | OPTIMIZER_COSTS - | OPTIONS | OWNER | PACK_KEYS | PAGE | PARSER | PARTIAL - | PARTITIONING | PARTITIONS | PASSWORD | PHASE | PLUGINS - | PLUGIN_DIR | PORT | PRECEDES | PREPARE | PRESERVE | PREV - | PROCESSLIST | PROFILE | PROFILES | PROXY | QUERY | QUICK - | REBUILD | RECOVER | REDO_BUFFER_SIZE | REDUNDANT - | RELAYLOG | RELAY_LOG_FILE | RELAY_LOG_POS | REMOVE - | REORGANIZE | REPAIR | REPLICATE_DO_DB | REPLICATE_DO_TABLE - | REPLICATE_IGNORE_DB | REPLICATE_IGNORE_TABLE - | REPLICATE_REWRITE_DB | REPLICATE_WILD_DO_TABLE - | REPLICATE_WILD_IGNORE_TABLE | REPLICATION | RESUME - | RETURNS | ROLLBACK | ROLLUP | ROTATE | ROW | ROWS - | ROW_FORMAT | SAVEPOINT | SCHEDULE | SECURITY | SERIAL | SERVER - | SESSION | SHARE | SHARED | SIGNED | SIMPLE | SLAVE - | SNAPSHOT | SOCKET | SOME | SOUNDS | SOURCE - | SQL_AFTER_GTIDS | SQL_AFTER_MTS_GAPS | SQL_BEFORE_GTIDS - | SQL_BUFFER_RESULT | SQL_CACHE | SQL_NO_CACHE | SQL_THREAD - | START | STARTS | STATS_AUTO_RECALC | STATS_PERSISTENT - | STATS_SAMPLE_PAGES | STATUS | STOP | STORAGE | STRING - | SUBJECT | SUBPARTITION | SUBPARTITIONS | SUSPEND | SWAPS - | SWITCHES | TABLESPACE | TEMPORARY | TEMPTABLE | THAN - | TRANSACTION | TRUNCATE | UNDEFINED | UNDOFILE - | UNDO_BUFFER_SIZE | UNKNOWN | UPGRADE | USER | VALIDATION - | VALUE | VARIABLES | VIEW | WAIT | WARNINGS | WITHOUT - | WORK | WRAPPER | X509 | XA | XML - ; - -functionNameBase - : ABS | ACOS | ADDDATE | ADDTIME | AES_DECRYPT | AES_ENCRYPT - | AREA | ASBINARY | ASIN | ASTEXT | ASWKB | ASWKT - | ASYMMETRIC_DECRYPT | ASYMMETRIC_DERIVE - | ASYMMETRIC_ENCRYPT | ASYMMETRIC_SIGN | ASYMMETRIC_VERIFY - | ATAN | ATAN2 | BENCHMARK | BIN | BIT_COUNT | BIT_LENGTH - | BUFFER | CEIL | CEILING | CENTROID | CHARACTER_LENGTH - | CHARSET | CHAR_LENGTH | COERCIBILITY | COLLATION - | COMPRESS | CONCAT | CONCAT_WS | CONNECTION_ID | CONV - | CONVERT_TZ | COS | COT | COUNT | CRC32 - | CREATE_ASYMMETRIC_PRIV_KEY | CREATE_ASYMMETRIC_PUB_KEY - | CREATE_DH_PARAMETERS | CREATE_DIGEST | CROSSES | DATABASE | DATE - | DATEDIFF | DATE_FORMAT | DAY | DAYNAME | DAYOFMONTH - | DAYOFWEEK | DAYOFYEAR | DECODE | DEGREES | DES_DECRYPT - | DES_ENCRYPT | DIMENSION | DISJOINT | ELT | ENCODE - | ENCRYPT | ENDPOINT | ENVELOPE | EQUALS | EXP | EXPORT_SET - | EXTERIORRING | EXTRACTVALUE | FIELD | FIND_IN_SET | FLOOR - | FORMAT | FOUND_ROWS | FROM_BASE64 | FROM_DAYS - | FROM_UNIXTIME | GEOMCOLLFROMTEXT | GEOMCOLLFROMWKB - | GEOMETRYCOLLECTION | GEOMETRYCOLLECTIONFROMTEXT - | GEOMETRYCOLLECTIONFROMWKB | GEOMETRYFROMTEXT - | GEOMETRYFROMWKB | GEOMETRYN | GEOMETRYTYPE | GEOMFROMTEXT - | GEOMFROMWKB | GET_FORMAT | GET_LOCK | GLENGTH | GREATEST - | GTID_SUBSET | GTID_SUBTRACT | HEX | HOUR | IFNULL - | INET6_ATON | INET6_NTOA | INET_ATON | INET_NTOA | INSTR - | INTERIORRINGN | INTERSECTS | ISCLOSED | ISEMPTY | ISNULL - | ISSIMPLE | IS_FREE_LOCK | IS_IPV4 | IS_IPV4_COMPAT - | IS_IPV4_MAPPED | IS_IPV6 | IS_USED_LOCK | LAST_INSERT_ID - | LCASE | LEAST | LEFT | LENGTH | LINEFROMTEXT | LINEFROMWKB - | LINESTRING | LINESTRINGFROMTEXT | LINESTRINGFROMWKB | LN - | LOAD_FILE | LOCATE | LOG | LOG10 | LOG2 | LOWER | LPAD - | LTRIM | MAKEDATE | MAKETIME | MAKE_SET | MASTER_POS_WAIT - | MBRCONTAINS | MBRDISJOINT | MBREQUAL | MBRINTERSECTS - | MBROVERLAPS | MBRTOUCHES | MBRWITHIN | MD5 | MICROSECOND - | MINUTE | MLINEFROMTEXT | MLINEFROMWKB | MONTH | MONTHNAME - | MPOINTFROMTEXT | MPOINTFROMWKB | MPOLYFROMTEXT - | MPOLYFROMWKB | MULTILINESTRING | MULTILINESTRINGFROMTEXT - | MULTILINESTRINGFROMWKB | MULTIPOINT | MULTIPOINTFROMTEXT - | MULTIPOINTFROMWKB | MULTIPOLYGON | MULTIPOLYGONFROMTEXT - | MULTIPOLYGONFROMWKB | NAME_CONST | NULLIF | NUMGEOMETRIES - | NUMINTERIORRINGS | NUMPOINTS | OCT | OCTET_LENGTH | ORD - | OVERLAPS | PERIOD_ADD | PERIOD_DIFF | PI | POINT - | POINTFROMTEXT | POINTFROMWKB | POINTN | POLYFROMTEXT - | POLYFROMWKB | POLYGON | POLYGONFROMTEXT | POLYGONFROMWKB - | POSITION| POW | POWER | QUARTER | QUOTE | RADIANS | RAND - | RANDOM_BYTES | RELEASE_LOCK | REVERSE | RIGHT | ROUND - | ROW_COUNT | RPAD | RTRIM | SECOND | SEC_TO_TIME - | SESSION_USER | SHA | SHA1 | SHA2 | SIGN | SIN | SLEEP - | SOUNDEX | SQL_THREAD_WAIT_AFTER_GTIDS | SQRT | SRID - | STARTPOINT | STRCMP | STR_TO_DATE | ST_AREA | ST_ASBINARY - | ST_ASTEXT | ST_ASWKB | ST_ASWKT | ST_BUFFER | ST_CENTROID - | ST_CONTAINS | ST_CROSSES | ST_DIFFERENCE | ST_DIMENSION - | ST_DISJOINT | ST_DISTANCE | ST_ENDPOINT | ST_ENVELOPE - | ST_EQUALS | ST_EXTERIORRING | ST_GEOMCOLLFROMTEXT - | ST_GEOMCOLLFROMTXT | ST_GEOMCOLLFROMWKB - | ST_GEOMETRYCOLLECTIONFROMTEXT - | ST_GEOMETRYCOLLECTIONFROMWKB | ST_GEOMETRYFROMTEXT - | ST_GEOMETRYFROMWKB | ST_GEOMETRYN | ST_GEOMETRYTYPE - | ST_GEOMFROMTEXT | ST_GEOMFROMWKB | ST_INTERIORRINGN - | ST_INTERSECTION | ST_INTERSECTS | ST_ISCLOSED | ST_ISEMPTY - | ST_ISSIMPLE | ST_LINEFROMTEXT | ST_LINEFROMWKB - | ST_LINESTRINGFROMTEXT | ST_LINESTRINGFROMWKB - | ST_NUMGEOMETRIES | ST_NUMINTERIORRING - | ST_NUMINTERIORRINGS | ST_NUMPOINTS | ST_OVERLAPS - | ST_POINTFROMTEXT | ST_POINTFROMWKB | ST_POINTN - | ST_POLYFROMTEXT | ST_POLYFROMWKB | ST_POLYGONFROMTEXT - | ST_POLYGONFROMWKB | ST_SRID | ST_STARTPOINT - | ST_SYMDIFFERENCE | ST_TOUCHES | ST_UNION | ST_WITHIN - | ST_X | ST_Y | SUBDATE | SUBSTRING_INDEX | SUBTIME - | SYSTEM_USER | TAN | TIME | TIMEDIFF | TIMESTAMP - | TIMESTAMPADD | TIMESTAMPDIFF | TIME_FORMAT | TIME_TO_SEC - | TOUCHES | TO_BASE64 | TO_DAYS | TO_SECONDS | UCASE - | UNCOMPRESS | UNCOMPRESSED_LENGTH | UNHEX | UNIX_TIMESTAMP - | UPDATEXML | UPPER | UUID | UUID_SHORT - | VALIDATE_PASSWORD_STRENGTH | VERSION - | WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS | WEEK | WEEKDAY - | WEEKOFYEAR | WEIGHT_STRING | WITHIN | YEAR | YEARWEEK - | Y_FUNCTION | X_FUNCTION - ; \ No newline at end of file diff --git a/Grammar/frameQL/grammar/test.txt b/Grammar/frameQL/grammar/test.txt deleted file mode 100644 index ebef9907f8..0000000000 --- a/Grammar/frameQL/grammar/test.txt +++ /dev/null @@ -1,13 +0,0 @@ -SELECT FCOUNT(*) -FROM TAIPAI -WHERE CLASS = 'CAR' -ERROR_WITHIN 0.1 - -SELECT * -FROM TAIPAI -WHERE CLASS = 'BUS' AND REDNESS(CONTENT) > 200 -GROUP BY TRACKID -HAVING COUNT(*) > 15 - - -SELECT * FROM T WHERE C!= CAR AND (T= SEDAN OR B=TRUCK) \ No newline at end of file diff --git a/Grammar/frameQL/grammar/test/.DS_Store b/Grammar/frameQL/grammar/test/.DS_Store deleted file mode 100644 index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0' -'<' -'!' -'~' -'|' -'&' -'^' -'.' -'(' -')' -',' -';' -'@' -'0' -'1' -'2' -'\'' -'"' -'`' -':' -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null - -token symbolic names: -null -SPACE -SPEC_MYSQL_COMMENT -COMMENT_INPUT -LINE_COMMENT -ERRORBOUND -CONFLEVEL -ADD -ALL -ALTER -ALWAYS -ANALYZE -AND -AS -ASC -BEFORE -BETWEEN -BOTH -BY -CALL -CASCADE -CASE -CAST -CHANGE -CHARACTER -CHECK -COLLATE -COLUMN -CONDITION -CONSTRAINT -CONTINUE -CONVERT -CREATE -CROSS -CURRENT_USER -CURSOR -DATABASE -DATABASES -DECLARE -DEFAULT -DELAYED -DELETE -DESC -DESCRIBE -DETERMINISTIC -DISTINCT -DISTINCTROW -DROP -EACH -ELSE -ELSEIF -ENCLOSED -ESCAPED -EXISTS -EXIT -EXPLAIN -FALSE -FETCH -FOR -FORCE -FOREIGN -FROM -FULLTEXT -GENERATED -GRANT -GROUP -HAVING -HIGH_PRIORITY -IF -IGNORE -IN -INDEX -INFILE -INNER -INOUT -INSERT -INTERVAL -INTO -IS -ITERATE -JOIN -KEY -KEYS -KILL -LEADING -LEAVE -LEFT -LIKE -LIMIT -LINEAR -LINES -LOAD -LOCK -LOOP -LOW_PRIORITY -MASTER_BIND -MASTER_SSL_VERIFY_SERVER_CERT -MATCH -MAXVALUE -MODIFIES -NATURAL -NOT -NO_WRITE_TO_BINLOG -NULL_LITERAL -ON -OPTIMIZE -OPTION -OPTIONALLY -OR -ORDER -OUT -OUTER -OUTFILE -PARTITION -PRIMARY -PROCEDURE -PURGE -RANGE -READ -READS -REFERENCES -REGEXP -RELEASE -RENAME -REPEAT -REPLACE -REQUIRE -RESTRICT -RETURN -REVOKE -RIGHT -RLIKE -SCHEMA -SCHEMAS -SELECT -SET -SEPARATOR -SHOW -SPATIAL -SQL -SQLEXCEPTION -SQLSTATE -SQLWARNING -SQL_BIG_RESULT -SQL_CALC_FOUND_ROWS -SQL_SMALL_RESULT -SSL -STARTING -STRAIGHT_JOIN -TABLE -TERMINATED -THEN -TO -TRAILING -TRIGGER -TRUE -UNDO -UNION -UNIQUE -UNLOCK -UNSIGNED -UPDATE -USAGE -USE -USING -VALUES -WHEN -WHERE -WHILE -WITH -WRITE -XOR -ZEROFILL -TINYINT -SMALLINT -MEDIUMINT -INT -INTEGER -BIGINT -REAL -DOUBLE -FLOAT -DECIMAL -NUMERIC -DATE -TIME -TIMESTAMP -DATETIME -YEAR -CHAR -VARCHAR -BINARY -VARBINARY -TINYBLOB -BLOB -MEDIUMBLOB -LONGBLOB -TINYTEXT -TEXT -MEDIUMTEXT -LONGTEXT -ENUM -SERIAL -YEAR_MONTH -DAY_HOUR -DAY_MINUTE -DAY_SECOND -HOUR_MINUTE -HOUR_SECOND -MINUTE_SECOND -SECOND_MICROSECOND -MINUTE_MICROSECOND -HOUR_MICROSECOND -DAY_MICROSECOND -AVG -BIT_AND -BIT_OR -BIT_XOR -COUNT -GROUP_CONCAT -MAX -MIN -STD -STDDEV -STDDEV_POP -STDDEV_SAMP -SUM -VAR_POP -VAR_SAMP -VARIANCE -FCOUNT -CURRENT_DATE -CURRENT_TIME -CURRENT_TIMESTAMP -LOCALTIME -CURDATE -CURTIME -DATE_ADD -DATE_SUB -EXTRACT -LOCALTIMESTAMP -NOW -POSITION -SUBSTR -SUBSTRING -SYSDATE -TRIM -UTC_DATE -UTC_TIME -UTC_TIMESTAMP -ACCOUNT -ACTION -AFTER -AGGREGATE -ALGORITHM -ANY -AT -AUTHORS -AUTOCOMMIT -AUTOEXTEND_SIZE -AUTO_INCREMENT -AVG_ROW_LENGTH -BEGIN -BINLOG -BIT -BLOCK -BOOL -BOOLEAN -BTREE -CACHE -CASCADED -CHAIN -CHANGED -CHANNEL -CHECKSUM -CIPHER -CLIENT -CLOSE -COALESCE -CODE -COLUMNS -COLUMN_FORMAT -COMMENT -COMMIT -COMPACT -COMPLETION -COMPRESSED -COMPRESSION -CONCURRENT -CONNECTION -CONSISTENT -CONTAINS -CONTEXT -CONTRIBUTORS -COPY -CPU -DATA -DATAFILE -DEALLOCATE -DEFAULT_AUTH -DEFINER -DELAY_KEY_WRITE -DES_KEY_FILE -DIRECTORY -DISABLE -DISCARD -DISK -DO -DUMPFILE -DUPLICATE -DYNAMIC -ENABLE -ENCRYPTION -END -ENDS -ENGINE -ENGINES -ERROR -ERRORS -ESCAPE -EVEN -EVENT -EVENTS -EVERY -EXCHANGE -EXCLUSIVE -EXPIRE -EXPORT -EXTENDED -EXTENT_SIZE -FAST -FAULTS -FIELDS -FILE_BLOCK_SIZE -FILTER -FIRST -FIXED -FLUSH -FOLLOWS -FOUND -FULL -FUNCTION -GENERAL -GLOBAL -GRANTS -GROUP_REPLICATION -HANDLER -HASH -HELP -HOST -HOSTS -IDENTIFIED -IGNORE_SERVER_IDS -IMPORT -INDEXES -INITIAL_SIZE -INPLACE -INSERT_METHOD -INSTALL -INSTANCE -INVOKER -IO -IO_THREAD -IPC -ISOLATION -ISSUER -JSON -KEY_BLOCK_SIZE -LANGUAGE -LAST -LEAVES -LESS -LEVEL -LIST -LOCAL -LOGFILE -LOGS -MASTER -MASTER_AUTO_POSITION -MASTER_CONNECT_RETRY -MASTER_DELAY -MASTER_HEARTBEAT_PERIOD -MASTER_HOST -MASTER_LOG_FILE -MASTER_LOG_POS -MASTER_PASSWORD -MASTER_PORT -MASTER_RETRY_COUNT -MASTER_SSL -MASTER_SSL_CA -MASTER_SSL_CAPATH -MASTER_SSL_CERT -MASTER_SSL_CIPHER -MASTER_SSL_CRL -MASTER_SSL_CRLPATH -MASTER_SSL_KEY -MASTER_TLS_VERSION -MASTER_USER -MAX_CONNECTIONS_PER_HOUR -MAX_QUERIES_PER_HOUR -MAX_ROWS -MAX_SIZE -MAX_UPDATES_PER_HOUR -MAX_USER_CONNECTIONS -MEDIUM -MERGE -MID -MIGRATE -MIN_ROWS -MODE -MODIFY -MUTEX -MYSQL -NAME -NAMES -NCHAR -NEVER -NEXT -NO -NODEGROUP -NONE -OFFLINE -OFFSET -OJ -OLD_PASSWORD -ONE -ONLINE -ONLY -OPEN -OPTIMIZER_COSTS -OPTIONS -OWNER -PACK_KEYS -PAGE -PARSER -PARTIAL -PARTITIONING -PARTITIONS -PASSWORD -PHASE -PLUGIN -PLUGIN_DIR -PLUGINS -PORT -PRECEDES -PREPARE -PRESERVE -PREV -PROCESSLIST -PROFILE -PROFILES -PROXY -QUERY -QUICK -REBUILD -RECOVER -REDO_BUFFER_SIZE -REDUNDANT -RELAY -RELAY_LOG_FILE -RELAY_LOG_POS -RELAYLOG -REMOVE -REORGANIZE -REPAIR -REPLICATE_DO_DB -REPLICATE_DO_TABLE -REPLICATE_IGNORE_DB -REPLICATE_IGNORE_TABLE -REPLICATE_REWRITE_DB -REPLICATE_WILD_DO_TABLE -REPLICATE_WILD_IGNORE_TABLE -REPLICATION -RESET -RESUME -RETURNS -ROLLBACK -ROLLUP -ROTATE -ROW -ROWS -ROW_FORMAT -SAVEPOINT -SCHEDULE -SECURITY -SERVER -SESSION -SHARE -SHARED -SIGNED -SIMPLE -SLAVE -SLOW -SNAPSHOT -SOCKET -SOME -SONAME -SOUNDS -SOURCE -SQL_AFTER_GTIDS -SQL_AFTER_MTS_GAPS -SQL_BEFORE_GTIDS -SQL_BUFFER_RESULT -SQL_CACHE -SQL_NO_CACHE -SQL_THREAD -START -STARTS -STATS_AUTO_RECALC -STATS_PERSISTENT -STATS_SAMPLE_PAGES -STATUS -STOP -STORAGE -STORED -STRING -SUBJECT -SUBPARTITION -SUBPARTITIONS -SUSPEND -SWAPS -SWITCHES -TABLESPACE -TEMPORARY -TEMPTABLE -THAN -TRADITIONAL -TRANSACTION -TRIGGERS -TRUNCATE -UNDEFINED -UNDOFILE -UNDO_BUFFER_SIZE -UNINSTALL -UNKNOWN -UNTIL -UPGRADE -USER -USE_FRM -USER_RESOURCES -VALIDATION -VALUE -VARIABLES -VIEW -VIRTUAL -WAIT -WARNINGS -WITHOUT -WORK -WRAPPER -X509 -XA -XML -EUR -USA -JIS -ISO -INTERNAL -QUARTER -MONTH -DAY -HOUR -MINUTE -WEEK -SECOND -MICROSECOND -TABLES -ROUTINE -EXECUTE -FILE -PROCESS -RELOAD -SHUTDOWN -SUPER -PRIVILEGES -ARMSCII8 -ASCII -BIG5 -CP1250 -CP1251 -CP1256 -CP1257 -CP850 -CP852 -CP866 -CP932 -DEC8 -EUCJPMS -EUCKR -GB2312 -GBK -GEOSTD8 -GREEK -HEBREW -HP8 -KEYBCS2 -KOI8R -KOI8U -LATIN1 -LATIN2 -LATIN5 -LATIN7 -MACCE -MACROMAN -SJIS -SWE7 -TIS620 -UCS2 -UJIS -UTF16 -UTF16LE -UTF32 -UTF8 -UTF8MB3 -UTF8MB4 -ARCHIVE -BLACKHOLE -CSV -FEDERATED -INNODB -MEMORY -MRG_MYISAM -MYISAM -NDB -NDBCLUSTER -PERFOMANCE_SCHEMA -REPEATABLE -COMMITTED -UNCOMMITTED -SERIALIZABLE -GEOMETRYCOLLECTION -LINESTRING -MULTILINESTRING -MULTIPOINT -MULTIPOLYGON -POINT -POLYGON -ABS -ACOS -ADDDATE -ADDTIME -AES_DECRYPT -AES_ENCRYPT -AREA -ASBINARY -ASIN -ASTEXT -ASWKB -ASWKT -ASYMMETRIC_DECRYPT -ASYMMETRIC_DERIVE -ASYMMETRIC_ENCRYPT -ASYMMETRIC_SIGN -ASYMMETRIC_VERIFY -ATAN -ATAN2 -BENCHMARK -BIN -BIT_COUNT -BIT_LENGTH -BUFFER -CEIL -CEILING -CENTROID -CHARACTER_LENGTH -CHARSET -CHAR_LENGTH -COERCIBILITY -COLLATION -COMPRESS -CONCAT -CONCAT_WS -CONNECTION_ID -CONV -CONVERT_TZ -COS -COT -CRC32 -CREATE_ASYMMETRIC_PRIV_KEY -CREATE_ASYMMETRIC_PUB_KEY -CREATE_DH_PARAMETERS -CREATE_DIGEST -CROSSES -DATEDIFF -DATE_FORMAT -DAYNAME -DAYOFMONTH -DAYOFWEEK -DAYOFYEAR -DECODE -DEGREES -DES_DECRYPT -DES_ENCRYPT -DIMENSION -DISJOINT -ELT -ENCODE -ENCRYPT -ENDPOINT -ENVELOPE -EQUALS -EXP -EXPORT_SET -EXTERIORRING -EXTRACTVALUE -FIELD -FIND_IN_SET -FLOOR -FORMAT -FOUND_ROWS -FROM_BASE64 -FROM_DAYS -FROM_UNIXTIME -GEOMCOLLFROMTEXT -GEOMCOLLFROMWKB -GEOMETRYCOLLECTIONFROMTEXT -GEOMETRYCOLLECTIONFROMWKB -GEOMETRYFROMTEXT -GEOMETRYFROMWKB -GEOMETRYN -GEOMETRYTYPE -GEOMFROMTEXT -GEOMFROMWKB -GET_FORMAT -GET_LOCK -GLENGTH -GREATEST -GTID_SUBSET -GTID_SUBTRACT -HEX -IFNULL -INET6_ATON -INET6_NTOA -INET_ATON -INET_NTOA -INSTR -INTERIORRINGN -INTERSECTS -ISCLOSED -ISEMPTY -ISNULL -ISSIMPLE -IS_FREE_LOCK -IS_IPV4 -IS_IPV4_COMPAT -IS_IPV4_MAPPED -IS_IPV6 -IS_USED_LOCK -LAST_INSERT_ID -LCASE -LEAST -LENGTH -LINEFROMTEXT -LINEFROMWKB -LINESTRINGFROMTEXT -LINESTRINGFROMWKB -LN -LOAD_FILE -LOCATE -LOG -LOG10 -LOG2 -LOWER -LPAD -LTRIM -MAKEDATE -MAKETIME -MAKE_SET -MASTER_POS_WAIT -MBRCONTAINS -MBRDISJOINT -MBREQUAL -MBRINTERSECTS -MBROVERLAPS -MBRTOUCHES -MBRWITHIN -MD5 -MLINEFROMTEXT -MLINEFROMWKB -MONTHNAME -MPOINTFROMTEXT -MPOINTFROMWKB -MPOLYFROMTEXT -MPOLYFROMWKB -MULTILINESTRINGFROMTEXT -MULTILINESTRINGFROMWKB -MULTIPOINTFROMTEXT -MULTIPOINTFROMWKB -MULTIPOLYGONFROMTEXT -MULTIPOLYGONFROMWKB -NAME_CONST -NULLIF -NUMGEOMETRIES -NUMINTERIORRINGS -NUMPOINTS -OCT -OCTET_LENGTH -ORD -OVERLAPS -PERIOD_ADD -PERIOD_DIFF -PI -POINTFROMTEXT -POINTFROMWKB -POINTN -POLYFROMTEXT -POLYFROMWKB -POLYGONFROMTEXT -POLYGONFROMWKB -POW -POWER -QUOTE -RADIANS -RAND -RANDOM_BYTES -RELEASE_LOCK -REVERSE -ROUND -ROW_COUNT -RPAD -RTRIM -SEC_TO_TIME -SESSION_USER -SHA -SHA1 -SHA2 -SIGN -SIN -SLEEP -SOUNDEX -SQL_THREAD_WAIT_AFTER_GTIDS -SQRT -SRID -STARTPOINT -STRCMP -STR_TO_DATE -ST_AREA -ST_ASBINARY -ST_ASTEXT -ST_ASWKB -ST_ASWKT -ST_BUFFER -ST_CENTROID -ST_CONTAINS -ST_CROSSES -ST_DIFFERENCE -ST_DIMENSION -ST_DISJOINT -ST_DISTANCE -ST_ENDPOINT -ST_ENVELOPE -ST_EQUALS -ST_EXTERIORRING -ST_GEOMCOLLFROMTEXT -ST_GEOMCOLLFROMTXT -ST_GEOMCOLLFROMWKB -ST_GEOMETRYCOLLECTIONFROMTEXT -ST_GEOMETRYCOLLECTIONFROMWKB -ST_GEOMETRYFROMTEXT -ST_GEOMETRYFROMWKB -ST_GEOMETRYN -ST_GEOMETRYTYPE -ST_GEOMFROMTEXT -ST_GEOMFROMWKB -ST_INTERIORRINGN -ST_INTERSECTION -ST_INTERSECTS -ST_ISCLOSED -ST_ISEMPTY -ST_ISSIMPLE -ST_LINEFROMTEXT -ST_LINEFROMWKB -ST_LINESTRINGFROMTEXT -ST_LINESTRINGFROMWKB -ST_NUMGEOMETRIES -ST_NUMINTERIORRING -ST_NUMINTERIORRINGS -ST_NUMPOINTS -ST_OVERLAPS -ST_POINTFROMTEXT -ST_POINTFROMWKB -ST_POINTN -ST_POLYFROMTEXT -ST_POLYFROMWKB -ST_POLYGONFROMTEXT -ST_POLYGONFROMWKB -ST_SRID -ST_STARTPOINT -ST_SYMDIFFERENCE -ST_TOUCHES -ST_UNION -ST_WITHIN -ST_X -ST_Y -SUBDATE -SUBSTRING_INDEX -SUBTIME -SYSTEM_USER -TAN -TIMEDIFF -TIMESTAMPADD -TIMESTAMPDIFF -TIME_FORMAT -TIME_TO_SEC -TOUCHES -TO_BASE64 -TO_DAYS -TO_SECONDS -UCASE -UNCOMPRESS -UNCOMPRESSED_LENGTH -UNHEX -UNIX_TIMESTAMP -UPDATEXML -UPPER -UUID -UUID_SHORT -VALIDATE_PASSWORD_STRENGTH -VERSION -WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS -WEEKDAY -WEEKOFYEAR -WEIGHT_STRING -WITHIN -YEARWEEK -Y_FUNCTION -X_FUNCTION -VAR_ASSIGN -PLUS_ASSIGN -MINUS_ASSIGN -MULT_ASSIGN -DIV_ASSIGN -MOD_ASSIGN -AND_ASSIGN -XOR_ASSIGN -OR_ASSIGN -STAR -DIVIDE -MODULE -PLUS -MINUSMINUS -MINUS -DIV -MOD -EQUAL_SYMBOL -GREATER_SYMBOL -LESS_SYMBOL -EXCLAMATION_SYMBOL -BIT_NOT_OP -BIT_OR_OP -BIT_AND_OP -BIT_XOR_OP -DOT -LR_BRACKET -RR_BRACKET -COMMA -SEMI -AT_SIGN -ZERO_DECIMAL -ONE_DECIMAL -TWO_DECIMAL -SINGLE_QUOTE_SYMB -DOUBLE_QUOTE_SYMB -REVERSE_QUOTE_SYMB -COLON_SYMB -CHARSET_REVERSE_QOUTE_STRING -FILESIZE_LITERAL -START_NATIONAL_STRING_LITERAL -STRING_LITERAL -DECIMAL_LITERAL -HEXADECIMAL_LITERAL -REAL_LITERAL -NULL_SPEC_LITERAL -BIT_STRING -STRING_CHARSET_NAME -DOT_ID -ID -REVERSE_QUOTE_ID -STRING_USER_NAME -LOCAL_ID -GLOBAL_ID -ERROR_RECONGNIGION - -rule names: -SPACE -SPEC_MYSQL_COMMENT -COMMENT_INPUT -LINE_COMMENT -ERRORBOUND -CONFLEVEL -ADD -ALL -ALTER -ALWAYS -ANALYZE -AND -AS -ASC -BEFORE -BETWEEN -BOTH -BY -CALL -CASCADE -CASE -CAST -CHANGE -CHARACTER -CHECK -COLLATE -COLUMN -CONDITION -CONSTRAINT -CONTINUE -CONVERT -CREATE -CROSS -CURRENT_USER -CURSOR -DATABASE -DATABASES -DECLARE -DEFAULT -DELAYED -DELETE -DESC -DESCRIBE -DETERMINISTIC -DISTINCT -DISTINCTROW -DROP -EACH -ELSE -ELSEIF -ENCLOSED -ESCAPED -EXISTS -EXIT -EXPLAIN -FALSE -FETCH -FOR -FORCE -FOREIGN -FROM -FULLTEXT -GENERATED -GRANT -GROUP -HAVING -HIGH_PRIORITY -IF -IGNORE -IN -INDEX -INFILE -INNER -INOUT -INSERT -INTERVAL -INTO -IS -ITERATE -JOIN -KEY -KEYS -KILL -LEADING -LEAVE -LEFT -LIKE -LIMIT -LINEAR -LINES -LOAD -LOCK -LOOP -LOW_PRIORITY -MASTER_BIND -MASTER_SSL_VERIFY_SERVER_CERT -MATCH -MAXVALUE -MODIFIES -NATURAL -NOT -NO_WRITE_TO_BINLOG -NULL_LITERAL -ON -OPTIMIZE -OPTION -OPTIONALLY -OR -ORDER -OUT -OUTER -OUTFILE -PARTITION -PRIMARY -PROCEDURE -PURGE -RANGE -READ -READS -REFERENCES -REGEXP -RELEASE -RENAME -REPEAT -REPLACE -REQUIRE -RESTRICT -RETURN -REVOKE -RIGHT -RLIKE -SCHEMA -SCHEMAS -SELECT -SET -SEPARATOR -SHOW -SPATIAL -SQL -SQLEXCEPTION -SQLSTATE -SQLWARNING -SQL_BIG_RESULT -SQL_CALC_FOUND_ROWS -SQL_SMALL_RESULT -SSL -STARTING -STRAIGHT_JOIN -TABLE -TERMINATED -THEN -TO -TRAILING -TRIGGER -TRUE -UNDO -UNION -UNIQUE -UNLOCK -UNSIGNED -UPDATE -USAGE -USE -USING -VALUES -WHEN -WHERE -WHILE -WITH -WRITE -XOR -ZEROFILL -TINYINT -SMALLINT -MEDIUMINT -INT -INTEGER -BIGINT -REAL -DOUBLE -FLOAT -DECIMAL -NUMERIC -DATE -TIME -TIMESTAMP -DATETIME -YEAR -CHAR -VARCHAR -BINARY -VARBINARY -TINYBLOB -BLOB -MEDIUMBLOB -LONGBLOB -TINYTEXT -TEXT -MEDIUMTEXT -LONGTEXT -ENUM -SERIAL -YEAR_MONTH -DAY_HOUR -DAY_MINUTE -DAY_SECOND -HOUR_MINUTE -HOUR_SECOND -MINUTE_SECOND -SECOND_MICROSECOND -MINUTE_MICROSECOND -HOUR_MICROSECOND -DAY_MICROSECOND -AVG -BIT_AND -BIT_OR -BIT_XOR -COUNT -GROUP_CONCAT -MAX -MIN -STD -STDDEV -STDDEV_POP -STDDEV_SAMP -SUM -VAR_POP -VAR_SAMP -VARIANCE -FCOUNT -CURRENT_DATE -CURRENT_TIME -CURRENT_TIMESTAMP -LOCALTIME -CURDATE -CURTIME -DATE_ADD -DATE_SUB -EXTRACT -LOCALTIMESTAMP -NOW -POSITION -SUBSTR -SUBSTRING -SYSDATE -TRIM -UTC_DATE -UTC_TIME -UTC_TIMESTAMP -ACCOUNT -ACTION -AFTER -AGGREGATE -ALGORITHM -ANY -AT -AUTHORS -AUTOCOMMIT -AUTOEXTEND_SIZE -AUTO_INCREMENT -AVG_ROW_LENGTH -BEGIN -BINLOG -BIT -BLOCK -BOOL -BOOLEAN -BTREE -CACHE -CASCADED -CHAIN -CHANGED -CHANNEL -CHECKSUM -CIPHER -CLIENT -CLOSE -COALESCE -CODE -COLUMNS -COLUMN_FORMAT -COMMENT -COMMIT -COMPACT -COMPLETION -COMPRESSED -COMPRESSION -CONCURRENT -CONNECTION -CONSISTENT -CONTAINS -CONTEXT -CONTRIBUTORS -COPY -CPU -DATA -DATAFILE -DEALLOCATE -DEFAULT_AUTH -DEFINER -DELAY_KEY_WRITE -DES_KEY_FILE -DIRECTORY -DISABLE -DISCARD -DISK -DO -DUMPFILE -DUPLICATE -DYNAMIC -ENABLE -ENCRYPTION -END -ENDS -ENGINE -ENGINES -ERROR -ERRORS -ESCAPE -EVEN -EVENT -EVENTS -EVERY -EXCHANGE -EXCLUSIVE -EXPIRE -EXPORT -EXTENDED -EXTENT_SIZE -FAST -FAULTS -FIELDS -FILE_BLOCK_SIZE -FILTER -FIRST -FIXED -FLUSH -FOLLOWS -FOUND -FULL -FUNCTION -GENERAL -GLOBAL -GRANTS -GROUP_REPLICATION -HANDLER -HASH -HELP -HOST -HOSTS -IDENTIFIED -IGNORE_SERVER_IDS -IMPORT -INDEXES -INITIAL_SIZE -INPLACE -INSERT_METHOD -INSTALL -INSTANCE -INVOKER -IO -IO_THREAD -IPC -ISOLATION -ISSUER -JSON -KEY_BLOCK_SIZE -LANGUAGE -LAST -LEAVES -LESS -LEVEL -LIST -LOCAL -LOGFILE -LOGS -MASTER -MASTER_AUTO_POSITION -MASTER_CONNECT_RETRY -MASTER_DELAY -MASTER_HEARTBEAT_PERIOD -MASTER_HOST -MASTER_LOG_FILE -MASTER_LOG_POS -MASTER_PASSWORD -MASTER_PORT -MASTER_RETRY_COUNT -MASTER_SSL -MASTER_SSL_CA -MASTER_SSL_CAPATH -MASTER_SSL_CERT -MASTER_SSL_CIPHER -MASTER_SSL_CRL -MASTER_SSL_CRLPATH -MASTER_SSL_KEY -MASTER_TLS_VERSION -MASTER_USER -MAX_CONNECTIONS_PER_HOUR -MAX_QUERIES_PER_HOUR -MAX_ROWS -MAX_SIZE -MAX_UPDATES_PER_HOUR -MAX_USER_CONNECTIONS -MEDIUM -MERGE -MID -MIGRATE -MIN_ROWS -MODE -MODIFY -MUTEX -MYSQL -NAME -NAMES -NCHAR -NEVER -NEXT -NO -NODEGROUP -NONE -OFFLINE -OFFSET -OJ -OLD_PASSWORD -ONE -ONLINE -ONLY -OPEN -OPTIMIZER_COSTS -OPTIONS -OWNER -PACK_KEYS -PAGE -PARSER -PARTIAL -PARTITIONING -PARTITIONS -PASSWORD -PHASE -PLUGIN -PLUGIN_DIR -PLUGINS -PORT -PRECEDES -PREPARE -PRESERVE -PREV -PROCESSLIST -PROFILE -PROFILES -PROXY -QUERY -QUICK -REBUILD -RECOVER -REDO_BUFFER_SIZE -REDUNDANT -RELAY -RELAY_LOG_FILE -RELAY_LOG_POS -RELAYLOG -REMOVE -REORGANIZE -REPAIR -REPLICATE_DO_DB -REPLICATE_DO_TABLE -REPLICATE_IGNORE_DB -REPLICATE_IGNORE_TABLE -REPLICATE_REWRITE_DB -REPLICATE_WILD_DO_TABLE -REPLICATE_WILD_IGNORE_TABLE -REPLICATION -RESET -RESUME -RETURNS -ROLLBACK -ROLLUP -ROTATE -ROW -ROWS -ROW_FORMAT -SAVEPOINT -SCHEDULE -SECURITY -SERVER -SESSION -SHARE -SHARED -SIGNED -SIMPLE -SLAVE -SLOW -SNAPSHOT -SOCKET -SOME -SONAME -SOUNDS -SOURCE -SQL_AFTER_GTIDS -SQL_AFTER_MTS_GAPS -SQL_BEFORE_GTIDS -SQL_BUFFER_RESULT -SQL_CACHE -SQL_NO_CACHE -SQL_THREAD -START -STARTS -STATS_AUTO_RECALC -STATS_PERSISTENT -STATS_SAMPLE_PAGES -STATUS -STOP -STORAGE -STORED -STRING -SUBJECT -SUBPARTITION -SUBPARTITIONS -SUSPEND -SWAPS -SWITCHES -TABLESPACE -TEMPORARY -TEMPTABLE -THAN -TRADITIONAL -TRANSACTION -TRIGGERS -TRUNCATE -UNDEFINED -UNDOFILE -UNDO_BUFFER_SIZE -UNINSTALL -UNKNOWN -UNTIL -UPGRADE -USER -USE_FRM -USER_RESOURCES -VALIDATION -VALUE -VARIABLES -VIEW -VIRTUAL -WAIT -WARNINGS -WITHOUT -WORK -WRAPPER -X509 -XA -XML -EUR -USA -JIS -ISO -INTERNAL -QUARTER -MONTH -DAY -HOUR -MINUTE -WEEK -SECOND -MICROSECOND -TABLES -ROUTINE -EXECUTE -FILE -PROCESS -RELOAD -SHUTDOWN -SUPER -PRIVILEGES -ARMSCII8 -ASCII -BIG5 -CP1250 -CP1251 -CP1256 -CP1257 -CP850 -CP852 -CP866 -CP932 -DEC8 -EUCJPMS -EUCKR -GB2312 -GBK -GEOSTD8 -GREEK -HEBREW -HP8 -KEYBCS2 -KOI8R -KOI8U -LATIN1 -LATIN2 -LATIN5 -LATIN7 -MACCE -MACROMAN -SJIS -SWE7 -TIS620 -UCS2 -UJIS -UTF16 -UTF16LE -UTF32 -UTF8 -UTF8MB3 -UTF8MB4 -ARCHIVE -BLACKHOLE -CSV -FEDERATED -INNODB -MEMORY -MRG_MYISAM -MYISAM -NDB -NDBCLUSTER -PERFOMANCE_SCHEMA -REPEATABLE -COMMITTED -UNCOMMITTED -SERIALIZABLE -GEOMETRYCOLLECTION -LINESTRING -MULTILINESTRING -MULTIPOINT -MULTIPOLYGON -POINT -POLYGON -ABS -ACOS -ADDDATE -ADDTIME -AES_DECRYPT -AES_ENCRYPT -AREA -ASBINARY -ASIN -ASTEXT -ASWKB -ASWKT -ASYMMETRIC_DECRYPT -ASYMMETRIC_DERIVE -ASYMMETRIC_ENCRYPT -ASYMMETRIC_SIGN -ASYMMETRIC_VERIFY -ATAN -ATAN2 -BENCHMARK -BIN -BIT_COUNT -BIT_LENGTH -BUFFER -CEIL -CEILING -CENTROID -CHARACTER_LENGTH -CHARSET -CHAR_LENGTH -COERCIBILITY -COLLATION -COMPRESS -CONCAT -CONCAT_WS -CONNECTION_ID -CONV -CONVERT_TZ -COS -COT -CRC32 -CREATE_ASYMMETRIC_PRIV_KEY -CREATE_ASYMMETRIC_PUB_KEY -CREATE_DH_PARAMETERS -CREATE_DIGEST -CROSSES -DATEDIFF -DATE_FORMAT -DAYNAME -DAYOFMONTH -DAYOFWEEK -DAYOFYEAR -DECODE -DEGREES -DES_DECRYPT -DES_ENCRYPT -DIMENSION -DISJOINT -ELT -ENCODE -ENCRYPT -ENDPOINT -ENVELOPE -EQUALS -EXP -EXPORT_SET -EXTERIORRING -EXTRACTVALUE -FIELD -FIND_IN_SET -FLOOR -FORMAT -FOUND_ROWS -FROM_BASE64 -FROM_DAYS -FROM_UNIXTIME -GEOMCOLLFROMTEXT -GEOMCOLLFROMWKB -GEOMETRYCOLLECTIONFROMTEXT -GEOMETRYCOLLECTIONFROMWKB -GEOMETRYFROMTEXT -GEOMETRYFROMWKB -GEOMETRYN -GEOMETRYTYPE -GEOMFROMTEXT -GEOMFROMWKB -GET_FORMAT -GET_LOCK -GLENGTH -GREATEST -GTID_SUBSET -GTID_SUBTRACT -HEX -IFNULL -INET6_ATON -INET6_NTOA -INET_ATON -INET_NTOA -INSTR -INTERIORRINGN -INTERSECTS -ISCLOSED -ISEMPTY -ISNULL -ISSIMPLE -IS_FREE_LOCK -IS_IPV4 -IS_IPV4_COMPAT -IS_IPV4_MAPPED -IS_IPV6 -IS_USED_LOCK -LAST_INSERT_ID -LCASE -LEAST -LENGTH -LINEFROMTEXT -LINEFROMWKB -LINESTRINGFROMTEXT -LINESTRINGFROMWKB -LN -LOAD_FILE -LOCATE -LOG -LOG10 -LOG2 -LOWER -LPAD -LTRIM -MAKEDATE -MAKETIME -MAKE_SET -MASTER_POS_WAIT -MBRCONTAINS -MBRDISJOINT -MBREQUAL -MBRINTERSECTS -MBROVERLAPS -MBRTOUCHES -MBRWITHIN -MD5 -MLINEFROMTEXT -MLINEFROMWKB -MONTHNAME -MPOINTFROMTEXT -MPOINTFROMWKB -MPOLYFROMTEXT -MPOLYFROMWKB -MULTILINESTRINGFROMTEXT -MULTILINESTRINGFROMWKB -MULTIPOINTFROMTEXT -MULTIPOINTFROMWKB -MULTIPOLYGONFROMTEXT -MULTIPOLYGONFROMWKB -NAME_CONST -NULLIF -NUMGEOMETRIES -NUMINTERIORRINGS -NUMPOINTS -OCT -OCTET_LENGTH -ORD -OVERLAPS -PERIOD_ADD -PERIOD_DIFF -PI -POINTFROMTEXT -POINTFROMWKB -POINTN -POLYFROMTEXT -POLYFROMWKB -POLYGONFROMTEXT -POLYGONFROMWKB -POW -POWER -QUOTE -RADIANS -RAND -RANDOM_BYTES -RELEASE_LOCK -REVERSE -ROUND -ROW_COUNT -RPAD -RTRIM -SEC_TO_TIME -SESSION_USER -SHA -SHA1 -SHA2 -SIGN -SIN -SLEEP -SOUNDEX -SQL_THREAD_WAIT_AFTER_GTIDS -SQRT -SRID -STARTPOINT -STRCMP -STR_TO_DATE -ST_AREA -ST_ASBINARY -ST_ASTEXT -ST_ASWKB -ST_ASWKT -ST_BUFFER -ST_CENTROID -ST_CONTAINS -ST_CROSSES -ST_DIFFERENCE -ST_DIMENSION -ST_DISJOINT -ST_DISTANCE -ST_ENDPOINT -ST_ENVELOPE -ST_EQUALS -ST_EXTERIORRING -ST_GEOMCOLLFROMTEXT -ST_GEOMCOLLFROMTXT -ST_GEOMCOLLFROMWKB -ST_GEOMETRYCOLLECTIONFROMTEXT -ST_GEOMETRYCOLLECTIONFROMWKB -ST_GEOMETRYFROMTEXT -ST_GEOMETRYFROMWKB -ST_GEOMETRYN -ST_GEOMETRYTYPE -ST_GEOMFROMTEXT -ST_GEOMFROMWKB -ST_INTERIORRINGN -ST_INTERSECTION -ST_INTERSECTS -ST_ISCLOSED -ST_ISEMPTY -ST_ISSIMPLE -ST_LINEFROMTEXT -ST_LINEFROMWKB -ST_LINESTRINGFROMTEXT -ST_LINESTRINGFROMWKB -ST_NUMGEOMETRIES -ST_NUMINTERIORRING -ST_NUMINTERIORRINGS -ST_NUMPOINTS -ST_OVERLAPS -ST_POINTFROMTEXT -ST_POINTFROMWKB -ST_POINTN -ST_POLYFROMTEXT -ST_POLYFROMWKB -ST_POLYGONFROMTEXT -ST_POLYGONFROMWKB -ST_SRID -ST_STARTPOINT -ST_SYMDIFFERENCE -ST_TOUCHES -ST_UNION -ST_WITHIN -ST_X -ST_Y -SUBDATE -SUBSTRING_INDEX -SUBTIME -SYSTEM_USER -TAN -TIMEDIFF -TIMESTAMPADD -TIMESTAMPDIFF -TIME_FORMAT -TIME_TO_SEC -TOUCHES -TO_BASE64 -TO_DAYS -TO_SECONDS -UCASE -UNCOMPRESS -UNCOMPRESSED_LENGTH -UNHEX -UNIX_TIMESTAMP -UPDATEXML -UPPER -UUID -UUID_SHORT -VALIDATE_PASSWORD_STRENGTH -VERSION -WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS -WEEKDAY -WEEKOFYEAR -WEIGHT_STRING -WITHIN -YEARWEEK -Y_FUNCTION -X_FUNCTION -VAR_ASSIGN -PLUS_ASSIGN -MINUS_ASSIGN -MULT_ASSIGN -DIV_ASSIGN -MOD_ASSIGN -AND_ASSIGN -XOR_ASSIGN -OR_ASSIGN -STAR -DIVIDE -MODULE -PLUS -MINUSMINUS -MINUS -DIV -MOD -EQUAL_SYMBOL -GREATER_SYMBOL -LESS_SYMBOL -EXCLAMATION_SYMBOL -BIT_NOT_OP -BIT_OR_OP -BIT_AND_OP -BIT_XOR_OP -DOT -LR_BRACKET -RR_BRACKET -COMMA -SEMI -AT_SIGN -ZERO_DECIMAL -ONE_DECIMAL -TWO_DECIMAL -SINGLE_QUOTE_SYMB -DOUBLE_QUOTE_SYMB -REVERSE_QUOTE_SYMB -COLON_SYMB -CHARSET_REVERSE_QOUTE_STRING -FILESIZE_LITERAL -START_NATIONAL_STRING_LITERAL -STRING_LITERAL -DECIMAL_LITERAL -HEXADECIMAL_LITERAL -REAL_LITERAL -NULL_SPEC_LITERAL -BIT_STRING -STRING_CHARSET_NAME -DOT_ID -ID -REVERSE_QUOTE_ID -STRING_USER_NAME -LOCAL_ID -GLOBAL_ID -CHARSET_NAME -EXPONENT_NUM_PART -ID_LITERAL -DQUOTA_STRING -SQUOTA_STRING -BQUOTA_STRING -HEX_DIGIT -DEC_DIGIT -BIT_STRING_L -ERROR_RECONGNIGION - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN -null -null -MYSQLCOMMENT -ERRORCHANNEL - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 983, 11085, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 4, 55, 9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 4, 58, 9, 58, 4, 59, 9, 59, 4, 60, 9, 60, 4, 61, 9, 61, 4, 62, 9, 62, 4, 63, 9, 63, 4, 64, 9, 64, 4, 65, 9, 65, 4, 66, 9, 66, 4, 67, 9, 67, 4, 68, 9, 68, 4, 69, 9, 69, 4, 70, 9, 70, 4, 71, 9, 71, 4, 72, 9, 72, 4, 73, 9, 73, 4, 74, 9, 74, 4, 75, 9, 75, 4, 76, 9, 76, 4, 77, 9, 77, 4, 78, 9, 78, 4, 79, 9, 79, 4, 80, 9, 80, 4, 81, 9, 81, 4, 82, 9, 82, 4, 83, 9, 83, 4, 84, 9, 84, 4, 85, 9, 85, 4, 86, 9, 86, 4, 87, 9, 87, 4, 88, 9, 88, 4, 89, 9, 89, 4, 90, 9, 90, 4, 91, 9, 91, 4, 92, 9, 92, 4, 93, 9, 93, 4, 94, 9, 94, 4, 95, 9, 95, 4, 96, 9, 96, 4, 97, 9, 97, 4, 98, 9, 98, 4, 99, 9, 99, 4, 100, 9, 100, 4, 101, 9, 101, 4, 102, 9, 102, 4, 103, 9, 103, 4, 104, 9, 104, 4, 105, 9, 105, 4, 106, 9, 106, 4, 107, 9, 107, 4, 108, 9, 108, 4, 109, 9, 109, 4, 110, 9, 110, 4, 111, 9, 111, 4, 112, 9, 112, 4, 113, 9, 113, 4, 114, 9, 114, 4, 115, 9, 115, 4, 116, 9, 116, 4, 117, 9, 117, 4, 118, 9, 118, 4, 119, 9, 119, 4, 120, 9, 120, 4, 121, 9, 121, 4, 122, 9, 122, 4, 123, 9, 123, 4, 124, 9, 124, 4, 125, 9, 125, 4, 126, 9, 126, 4, 127, 9, 127, 4, 128, 9, 128, 4, 129, 9, 129, 4, 130, 9, 130, 4, 131, 9, 131, 4, 132, 9, 132, 4, 133, 9, 133, 4, 134, 9, 134, 4, 135, 9, 135, 4, 136, 9, 136, 4, 137, 9, 137, 4, 138, 9, 138, 4, 139, 9, 139, 4, 140, 9, 140, 4, 141, 9, 141, 4, 142, 9, 142, 4, 143, 9, 143, 4, 144, 9, 144, 4, 145, 9, 145, 4, 146, 9, 146, 4, 147, 9, 147, 4, 148, 9, 148, 4, 149, 9, 149, 4, 150, 9, 150, 4, 151, 9, 151, 4, 152, 9, 152, 4, 153, 9, 153, 4, 154, 9, 154, 4, 155, 9, 155, 4, 156, 9, 156, 4, 157, 9, 157, 4, 158, 9, 158, 4, 159, 9, 159, 4, 160, 9, 160, 4, 161, 9, 161, 4, 162, 9, 162, 4, 163, 9, 163, 4, 164, 9, 164, 4, 165, 9, 165, 4, 166, 9, 166, 4, 167, 9, 167, 4, 168, 9, 168, 4, 169, 9, 169, 4, 170, 9, 170, 4, 171, 9, 171, 4, 172, 9, 172, 4, 173, 9, 173, 4, 174, 9, 174, 4, 175, 9, 175, 4, 176, 9, 176, 4, 177, 9, 177, 4, 178, 9, 178, 4, 179, 9, 179, 4, 180, 9, 180, 4, 181, 9, 181, 4, 182, 9, 182, 4, 183, 9, 183, 4, 184, 9, 184, 4, 185, 9, 185, 4, 186, 9, 186, 4, 187, 9, 187, 4, 188, 9, 188, 4, 189, 9, 189, 4, 190, 9, 190, 4, 191, 9, 191, 4, 192, 9, 192, 4, 193, 9, 193, 4, 194, 9, 194, 4, 195, 9, 195, 4, 196, 9, 196, 4, 197, 9, 197, 4, 198, 9, 198, 4, 199, 9, 199, 4, 200, 9, 200, 4, 201, 9, 201, 4, 202, 9, 202, 4, 203, 9, 203, 4, 204, 9, 204, 4, 205, 9, 205, 4, 206, 9, 206, 4, 207, 9, 207, 4, 208, 9, 208, 4, 209, 9, 209, 4, 210, 9, 210, 4, 211, 9, 211, 4, 212, 9, 212, 4, 213, 9, 213, 4, 214, 9, 214, 4, 215, 9, 215, 4, 216, 9, 216, 4, 217, 9, 217, 4, 218, 9, 218, 4, 219, 9, 219, 4, 220, 9, 220, 4, 221, 9, 221, 4, 222, 9, 222, 4, 223, 9, 223, 4, 224, 9, 224, 4, 225, 9, 225, 4, 226, 9, 226, 4, 227, 9, 227, 4, 228, 9, 228, 4, 229, 9, 229, 4, 230, 9, 230, 4, 231, 9, 231, 4, 232, 9, 232, 4, 233, 9, 233, 4, 234, 9, 234, 4, 235, 9, 235, 4, 236, 9, 236, 4, 237, 9, 237, 4, 238, 9, 238, 4, 239, 9, 239, 4, 240, 9, 240, 4, 241, 9, 241, 4, 242, 9, 242, 4, 243, 9, 243, 4, 244, 9, 244, 4, 245, 9, 245, 4, 246, 9, 246, 4, 247, 9, 247, 4, 248, 9, 248, 4, 249, 9, 249, 4, 250, 9, 250, 4, 251, 9, 251, 4, 252, 9, 252, 4, 253, 9, 253, 4, 254, 9, 254, 4, 255, 9, 255, 4, 256, 9, 256, 4, 257, 9, 257, 4, 258, 9, 258, 4, 259, 9, 259, 4, 260, 9, 260, 4, 261, 9, 261, 4, 262, 9, 262, 4, 263, 9, 263, 4, 264, 9, 264, 4, 265, 9, 265, 4, 266, 9, 266, 4, 267, 9, 267, 4, 268, 9, 268, 4, 269, 9, 269, 4, 270, 9, 270, 4, 271, 9, 271, 4, 272, 9, 272, 4, 273, 9, 273, 4, 274, 9, 274, 4, 275, 9, 275, 4, 276, 9, 276, 4, 277, 9, 277, 4, 278, 9, 278, 4, 279, 9, 279, 4, 280, 9, 280, 4, 281, 9, 281, 4, 282, 9, 282, 4, 283, 9, 283, 4, 284, 9, 284, 4, 285, 9, 285, 4, 286, 9, 286, 4, 287, 9, 287, 4, 288, 9, 288, 4, 289, 9, 289, 4, 290, 9, 290, 4, 291, 9, 291, 4, 292, 9, 292, 4, 293, 9, 293, 4, 294, 9, 294, 4, 295, 9, 295, 4, 296, 9, 296, 4, 297, 9, 297, 4, 298, 9, 298, 4, 299, 9, 299, 4, 300, 9, 300, 4, 301, 9, 301, 4, 302, 9, 302, 4, 303, 9, 303, 4, 304, 9, 304, 4, 305, 9, 305, 4, 306, 9, 306, 4, 307, 9, 307, 4, 308, 9, 308, 4, 309, 9, 309, 4, 310, 9, 310, 4, 311, 9, 311, 4, 312, 9, 312, 4, 313, 9, 313, 4, 314, 9, 314, 4, 315, 9, 315, 4, 316, 9, 316, 4, 317, 9, 317, 4, 318, 9, 318, 4, 319, 9, 319, 4, 320, 9, 320, 4, 321, 9, 321, 4, 322, 9, 322, 4, 323, 9, 323, 4, 324, 9, 324, 4, 325, 9, 325, 4, 326, 9, 326, 4, 327, 9, 327, 4, 328, 9, 328, 4, 329, 9, 329, 4, 330, 9, 330, 4, 331, 9, 331, 4, 332, 9, 332, 4, 333, 9, 333, 4, 334, 9, 334, 4, 335, 9, 335, 4, 336, 9, 336, 4, 337, 9, 337, 4, 338, 9, 338, 4, 339, 9, 339, 4, 340, 9, 340, 4, 341, 9, 341, 4, 342, 9, 342, 4, 343, 9, 343, 4, 344, 9, 344, 4, 345, 9, 345, 4, 346, 9, 346, 4, 347, 9, 347, 4, 348, 9, 348, 4, 349, 9, 349, 4, 350, 9, 350, 4, 351, 9, 351, 4, 352, 9, 352, 4, 353, 9, 353, 4, 354, 9, 354, 4, 355, 9, 355, 4, 356, 9, 356, 4, 357, 9, 357, 4, 358, 9, 358, 4, 359, 9, 359, 4, 360, 9, 360, 4, 361, 9, 361, 4, 362, 9, 362, 4, 363, 9, 363, 4, 364, 9, 364, 4, 365, 9, 365, 4, 366, 9, 366, 4, 367, 9, 367, 4, 368, 9, 368, 4, 369, 9, 369, 4, 370, 9, 370, 4, 371, 9, 371, 4, 372, 9, 372, 4, 373, 9, 373, 4, 374, 9, 374, 4, 375, 9, 375, 4, 376, 9, 376, 4, 377, 9, 377, 4, 378, 9, 378, 4, 379, 9, 379, 4, 380, 9, 380, 4, 381, 9, 381, 4, 382, 9, 382, 4, 383, 9, 383, 4, 384, 9, 384, 4, 385, 9, 385, 4, 386, 9, 386, 4, 387, 9, 387, 4, 388, 9, 388, 4, 389, 9, 389, 4, 390, 9, 390, 4, 391, 9, 391, 4, 392, 9, 392, 4, 393, 9, 393, 4, 394, 9, 394, 4, 395, 9, 395, 4, 396, 9, 396, 4, 397, 9, 397, 4, 398, 9, 398, 4, 399, 9, 399, 4, 400, 9, 400, 4, 401, 9, 401, 4, 402, 9, 402, 4, 403, 9, 403, 4, 404, 9, 404, 4, 405, 9, 405, 4, 406, 9, 406, 4, 407, 9, 407, 4, 408, 9, 408, 4, 409, 9, 409, 4, 410, 9, 410, 4, 411, 9, 411, 4, 412, 9, 412, 4, 413, 9, 413, 4, 414, 9, 414, 4, 415, 9, 415, 4, 416, 9, 416, 4, 417, 9, 417, 4, 418, 9, 418, 4, 419, 9, 419, 4, 420, 9, 420, 4, 421, 9, 421, 4, 422, 9, 422, 4, 423, 9, 423, 4, 424, 9, 424, 4, 425, 9, 425, 4, 426, 9, 426, 4, 427, 9, 427, 4, 428, 9, 428, 4, 429, 9, 429, 4, 430, 9, 430, 4, 431, 9, 431, 4, 432, 9, 432, 4, 433, 9, 433, 4, 434, 9, 434, 4, 435, 9, 435, 4, 436, 9, 436, 4, 437, 9, 437, 4, 438, 9, 438, 4, 439, 9, 439, 4, 440, 9, 440, 4, 441, 9, 441, 4, 442, 9, 442, 4, 443, 9, 443, 4, 444, 9, 444, 4, 445, 9, 445, 4, 446, 9, 446, 4, 447, 9, 447, 4, 448, 9, 448, 4, 449, 9, 449, 4, 450, 9, 450, 4, 451, 9, 451, 4, 452, 9, 452, 4, 453, 9, 453, 4, 454, 9, 454, 4, 455, 9, 455, 4, 456, 9, 456, 4, 457, 9, 457, 4, 458, 9, 458, 4, 459, 9, 459, 4, 460, 9, 460, 4, 461, 9, 461, 4, 462, 9, 462, 4, 463, 9, 463, 4, 464, 9, 464, 4, 465, 9, 465, 4, 466, 9, 466, 4, 467, 9, 467, 4, 468, 9, 468, 4, 469, 9, 469, 4, 470, 9, 470, 4, 471, 9, 471, 4, 472, 9, 472, 4, 473, 9, 473, 4, 474, 9, 474, 4, 475, 9, 475, 4, 476, 9, 476, 4, 477, 9, 477, 4, 478, 9, 478, 4, 479, 9, 479, 4, 480, 9, 480, 4, 481, 9, 481, 4, 482, 9, 482, 4, 483, 9, 483, 4, 484, 9, 484, 4, 485, 9, 485, 4, 486, 9, 486, 4, 487, 9, 487, 4, 488, 9, 488, 4, 489, 9, 489, 4, 490, 9, 490, 4, 491, 9, 491, 4, 492, 9, 492, 4, 493, 9, 493, 4, 494, 9, 494, 4, 495, 9, 495, 4, 496, 9, 496, 4, 497, 9, 497, 4, 498, 9, 498, 4, 499, 9, 499, 4, 500, 9, 500, 4, 501, 9, 501, 4, 502, 9, 502, 4, 503, 9, 503, 4, 504, 9, 504, 4, 505, 9, 505, 4, 506, 9, 506, 4, 507, 9, 507, 4, 508, 9, 508, 4, 509, 9, 509, 4, 510, 9, 510, 4, 511, 9, 511, 4, 512, 9, 512, 4, 513, 9, 513, 4, 514, 9, 514, 4, 515, 9, 515, 4, 516, 9, 516, 4, 517, 9, 517, 4, 518, 9, 518, 4, 519, 9, 519, 4, 520, 9, 520, 4, 521, 9, 521, 4, 522, 9, 522, 4, 523, 9, 523, 4, 524, 9, 524, 4, 525, 9, 525, 4, 526, 9, 526, 4, 527, 9, 527, 4, 528, 9, 528, 4, 529, 9, 529, 4, 530, 9, 530, 4, 531, 9, 531, 4, 532, 9, 532, 4, 533, 9, 533, 4, 534, 9, 534, 4, 535, 9, 535, 4, 536, 9, 536, 4, 537, 9, 537, 4, 538, 9, 538, 4, 539, 9, 539, 4, 540, 9, 540, 4, 541, 9, 541, 4, 542, 9, 542, 4, 543, 9, 543, 4, 544, 9, 544, 4, 545, 9, 545, 4, 546, 9, 546, 4, 547, 9, 547, 4, 548, 9, 548, 4, 549, 9, 549, 4, 550, 9, 550, 4, 551, 9, 551, 4, 552, 9, 552, 4, 553, 9, 553, 4, 554, 9, 554, 4, 555, 9, 555, 4, 556, 9, 556, 4, 557, 9, 557, 4, 558, 9, 558, 4, 559, 9, 559, 4, 560, 9, 560, 4, 561, 9, 561, 4, 562, 9, 562, 4, 563, 9, 563, 4, 564, 9, 564, 4, 565, 9, 565, 4, 566, 9, 566, 4, 567, 9, 567, 4, 568, 9, 568, 4, 569, 9, 569, 4, 570, 9, 570, 4, 571, 9, 571, 4, 572, 9, 572, 4, 573, 9, 573, 4, 574, 9, 574, 4, 575, 9, 575, 4, 576, 9, 576, 4, 577, 9, 577, 4, 578, 9, 578, 4, 579, 9, 579, 4, 580, 9, 580, 4, 581, 9, 581, 4, 582, 9, 582, 4, 583, 9, 583, 4, 584, 9, 584, 4, 585, 9, 585, 4, 586, 9, 586, 4, 587, 9, 587, 4, 588, 9, 588, 4, 589, 9, 589, 4, 590, 9, 590, 4, 591, 9, 591, 4, 592, 9, 592, 4, 593, 9, 593, 4, 594, 9, 594, 4, 595, 9, 595, 4, 596, 9, 596, 4, 597, 9, 597, 4, 598, 9, 598, 4, 599, 9, 599, 4, 600, 9, 600, 4, 601, 9, 601, 4, 602, 9, 602, 4, 603, 9, 603, 4, 604, 9, 604, 4, 605, 9, 605, 4, 606, 9, 606, 4, 607, 9, 607, 4, 608, 9, 608, 4, 609, 9, 609, 4, 610, 9, 610, 4, 611, 9, 611, 4, 612, 9, 612, 4, 613, 9, 613, 4, 614, 9, 614, 4, 615, 9, 615, 4, 616, 9, 616, 4, 617, 9, 617, 4, 618, 9, 618, 4, 619, 9, 619, 4, 620, 9, 620, 4, 621, 9, 621, 4, 622, 9, 622, 4, 623, 9, 623, 4, 624, 9, 624, 4, 625, 9, 625, 4, 626, 9, 626, 4, 627, 9, 627, 4, 628, 9, 628, 4, 629, 9, 629, 4, 630, 9, 630, 4, 631, 9, 631, 4, 632, 9, 632, 4, 633, 9, 633, 4, 634, 9, 634, 4, 635, 9, 635, 4, 636, 9, 636, 4, 637, 9, 637, 4, 638, 9, 638, 4, 639, 9, 639, 4, 640, 9, 640, 4, 641, 9, 641, 4, 642, 9, 642, 4, 643, 9, 643, 4, 644, 9, 644, 4, 645, 9, 645, 4, 646, 9, 646, 4, 647, 9, 647, 4, 648, 9, 648, 4, 649, 9, 649, 4, 650, 9, 650, 4, 651, 9, 651, 4, 652, 9, 652, 4, 653, 9, 653, 4, 654, 9, 654, 4, 655, 9, 655, 4, 656, 9, 656, 4, 657, 9, 657, 4, 658, 9, 658, 4, 659, 9, 659, 4, 660, 9, 660, 4, 661, 9, 661, 4, 662, 9, 662, 4, 663, 9, 663, 4, 664, 9, 664, 4, 665, 9, 665, 4, 666, 9, 666, 4, 667, 9, 667, 4, 668, 9, 668, 4, 669, 9, 669, 4, 670, 9, 670, 4, 671, 9, 671, 4, 672, 9, 672, 4, 673, 9, 673, 4, 674, 9, 674, 4, 675, 9, 675, 4, 676, 9, 676, 4, 677, 9, 677, 4, 678, 9, 678, 4, 679, 9, 679, 4, 680, 9, 680, 4, 681, 9, 681, 4, 682, 9, 682, 4, 683, 9, 683, 4, 684, 9, 684, 4, 685, 9, 685, 4, 686, 9, 686, 4, 687, 9, 687, 4, 688, 9, 688, 4, 689, 9, 689, 4, 690, 9, 690, 4, 691, 9, 691, 4, 692, 9, 692, 4, 693, 9, 693, 4, 694, 9, 694, 4, 695, 9, 695, 4, 696, 9, 696, 4, 697, 9, 697, 4, 698, 9, 698, 4, 699, 9, 699, 4, 700, 9, 700, 4, 701, 9, 701, 4, 702, 9, 702, 4, 703, 9, 703, 4, 704, 9, 704, 4, 705, 9, 705, 4, 706, 9, 706, 4, 707, 9, 707, 4, 708, 9, 708, 4, 709, 9, 709, 4, 710, 9, 710, 4, 711, 9, 711, 4, 712, 9, 712, 4, 713, 9, 713, 4, 714, 9, 714, 4, 715, 9, 715, 4, 716, 9, 716, 4, 717, 9, 717, 4, 718, 9, 718, 4, 719, 9, 719, 4, 720, 9, 720, 4, 721, 9, 721, 4, 722, 9, 722, 4, 723, 9, 723, 4, 724, 9, 724, 4, 725, 9, 725, 4, 726, 9, 726, 4, 727, 9, 727, 4, 728, 9, 728, 4, 729, 9, 729, 4, 730, 9, 730, 4, 731, 9, 731, 4, 732, 9, 732, 4, 733, 9, 733, 4, 734, 9, 734, 4, 735, 9, 735, 4, 736, 9, 736, 4, 737, 9, 737, 4, 738, 9, 738, 4, 739, 9, 739, 4, 740, 9, 740, 4, 741, 9, 741, 4, 742, 9, 742, 4, 743, 9, 743, 4, 744, 9, 744, 4, 745, 9, 745, 4, 746, 9, 746, 4, 747, 9, 747, 4, 748, 9, 748, 4, 749, 9, 749, 4, 750, 9, 750, 4, 751, 9, 751, 4, 752, 9, 752, 4, 753, 9, 753, 4, 754, 9, 754, 4, 755, 9, 755, 4, 756, 9, 756, 4, 757, 9, 757, 4, 758, 9, 758, 4, 759, 9, 759, 4, 760, 9, 760, 4, 761, 9, 761, 4, 762, 9, 762, 4, 763, 9, 763, 4, 764, 9, 764, 4, 765, 9, 765, 4, 766, 9, 766, 4, 767, 9, 767, 4, 768, 9, 768, 4, 769, 9, 769, 4, 770, 9, 770, 4, 771, 9, 771, 4, 772, 9, 772, 4, 773, 9, 773, 4, 774, 9, 774, 4, 775, 9, 775, 4, 776, 9, 776, 4, 777, 9, 777, 4, 778, 9, 778, 4, 779, 9, 779, 4, 780, 9, 780, 4, 781, 9, 781, 4, 782, 9, 782, 4, 783, 9, 783, 4, 784, 9, 784, 4, 785, 9, 785, 4, 786, 9, 786, 4, 787, 9, 787, 4, 788, 9, 788, 4, 789, 9, 789, 4, 790, 9, 790, 4, 791, 9, 791, 4, 792, 9, 792, 4, 793, 9, 793, 4, 794, 9, 794, 4, 795, 9, 795, 4, 796, 9, 796, 4, 797, 9, 797, 4, 798, 9, 798, 4, 799, 9, 799, 4, 800, 9, 800, 4, 801, 9, 801, 4, 802, 9, 802, 4, 803, 9, 803, 4, 804, 9, 804, 4, 805, 9, 805, 4, 806, 9, 806, 4, 807, 9, 807, 4, 808, 9, 808, 4, 809, 9, 809, 4, 810, 9, 810, 4, 811, 9, 811, 4, 812, 9, 812, 4, 813, 9, 813, 4, 814, 9, 814, 4, 815, 9, 815, 4, 816, 9, 816, 4, 817, 9, 817, 4, 818, 9, 818, 4, 819, 9, 819, 4, 820, 9, 820, 4, 821, 9, 821, 4, 822, 9, 822, 4, 823, 9, 823, 4, 824, 9, 824, 4, 825, 9, 825, 4, 826, 9, 826, 4, 827, 9, 827, 4, 828, 9, 828, 4, 829, 9, 829, 4, 830, 9, 830, 4, 831, 9, 831, 4, 832, 9, 832, 4, 833, 9, 833, 4, 834, 9, 834, 4, 835, 9, 835, 4, 836, 9, 836, 4, 837, 9, 837, 4, 838, 9, 838, 4, 839, 9, 839, 4, 840, 9, 840, 4, 841, 9, 841, 4, 842, 9, 842, 4, 843, 9, 843, 4, 844, 9, 844, 4, 845, 9, 845, 4, 846, 9, 846, 4, 847, 9, 847, 4, 848, 9, 848, 4, 849, 9, 849, 4, 850, 9, 850, 4, 851, 9, 851, 4, 852, 9, 852, 4, 853, 9, 853, 4, 854, 9, 854, 4, 855, 9, 855, 4, 856, 9, 856, 4, 857, 9, 857, 4, 858, 9, 858, 4, 859, 9, 859, 4, 860, 9, 860, 4, 861, 9, 861, 4, 862, 9, 862, 4, 863, 9, 863, 4, 864, 9, 864, 4, 865, 9, 865, 4, 866, 9, 866, 4, 867, 9, 867, 4, 868, 9, 868, 4, 869, 9, 869, 4, 870, 9, 870, 4, 871, 9, 871, 4, 872, 9, 872, 4, 873, 9, 873, 4, 874, 9, 874, 4, 875, 9, 875, 4, 876, 9, 876, 4, 877, 9, 877, 4, 878, 9, 878, 4, 879, 9, 879, 4, 880, 9, 880, 4, 881, 9, 881, 4, 882, 9, 882, 4, 883, 9, 883, 4, 884, 9, 884, 4, 885, 9, 885, 4, 886, 9, 886, 4, 887, 9, 887, 4, 888, 9, 888, 4, 889, 9, 889, 4, 890, 9, 890, 4, 891, 9, 891, 4, 892, 9, 892, 4, 893, 9, 893, 4, 894, 9, 894, 4, 895, 9, 895, 4, 896, 9, 896, 4, 897, 9, 897, 4, 898, 9, 898, 4, 899, 9, 899, 4, 900, 9, 900, 4, 901, 9, 901, 4, 902, 9, 902, 4, 903, 9, 903, 4, 904, 9, 904, 4, 905, 9, 905, 4, 906, 9, 906, 4, 907, 9, 907, 4, 908, 9, 908, 4, 909, 9, 909, 4, 910, 9, 910, 4, 911, 9, 911, 4, 912, 9, 912, 4, 913, 9, 913, 4, 914, 9, 914, 4, 915, 9, 915, 4, 916, 9, 916, 4, 917, 9, 917, 4, 918, 9, 918, 4, 919, 9, 919, 4, 920, 9, 920, 4, 921, 9, 921, 4, 922, 9, 922, 4, 923, 9, 923, 4, 924, 9, 924, 4, 925, 9, 925, 4, 926, 9, 926, 4, 927, 9, 927, 4, 928, 9, 928, 4, 929, 9, 929, 4, 930, 9, 930, 4, 931, 9, 931, 4, 932, 9, 932, 4, 933, 9, 933, 4, 934, 9, 934, 4, 935, 9, 935, 4, 936, 9, 936, 4, 937, 9, 937, 4, 938, 9, 938, 4, 939, 9, 939, 4, 940, 9, 940, 4, 941, 9, 941, 4, 942, 9, 942, 4, 943, 9, 943, 4, 944, 9, 944, 4, 945, 9, 945, 4, 946, 9, 946, 4, 947, 9, 947, 4, 948, 9, 948, 4, 949, 9, 949, 4, 950, 9, 950, 4, 951, 9, 951, 4, 952, 9, 952, 4, 953, 9, 953, 4, 954, 9, 954, 4, 955, 9, 955, 4, 956, 9, 956, 4, 957, 9, 957, 4, 958, 9, 958, 4, 959, 9, 959, 4, 960, 9, 960, 4, 961, 9, 961, 4, 962, 9, 962, 4, 963, 9, 963, 4, 964, 9, 964, 4, 965, 9, 965, 4, 966, 9, 966, 4, 967, 9, 967, 4, 968, 9, 968, 4, 969, 9, 969, 4, 970, 9, 970, 4, 971, 9, 971, 4, 972, 9, 972, 4, 973, 9, 973, 4, 974, 9, 974, 4, 975, 9, 975, 4, 976, 9, 976, 4, 977, 9, 977, 4, 978, 9, 978, 4, 979, 9, 979, 4, 980, 9, 980, 4, 981, 9, 981, 4, 982, 9, 982, 4, 983, 9, 983, 4, 984, 9, 984, 4, 985, 9, 985, 4, 986, 9, 986, 4, 987, 9, 987, 4, 988, 9, 988, 4, 989, 9, 989, 4, 990, 9, 990, 4, 991, 9, 991, 3, 2, 6, 2, 1985, 10, 2, 13, 2, 14, 2, 1986, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 3, 1996, 10, 3, 13, 3, 14, 3, 1997, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 4, 7, 4, 2009, 10, 4, 12, 4, 14, 4, 2012, 11, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 2023, 10, 5, 3, 5, 7, 5, 2026, 10, 5, 12, 5, 14, 5, 2029, 11, 5, 3, 5, 5, 5, 2032, 10, 5, 3, 5, 3, 5, 5, 5, 2036, 10, 5, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 2042, 10, 5, 3, 5, 3, 5, 5, 5, 2046, 10, 5, 5, 5, 2048, 10, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 79, 3, 79, 3, 79, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 82, 3, 82, 3, 82, 3, 82, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 94, 3, 94, 3, 94, 3, 94, 3, 94, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 102, 3, 102, 3, 102, 3, 102, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 105, 3, 105, 3, 105, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 109, 3, 109, 3, 109, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 111, 3, 111, 3, 111, 3, 111, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 120, 3, 120, 3, 120, 3, 120, 3, 120, 3, 120, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 136, 3, 136, 3, 136, 3, 136, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 140, 3, 140, 3, 140, 3, 140, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 147, 3, 147, 3, 147, 3, 147, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 3, 153, 3, 153, 3, 153, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 159, 3, 159, 3, 159, 3, 159, 3, 159, 3, 159, 3, 159, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 164, 3, 164, 3, 164, 3, 164, 3, 165, 3, 165, 3, 165, 3, 165, 3, 165, 3, 165, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 171, 3, 171, 3, 171, 3, 171, 3, 171, 3, 171, 3, 172, 3, 172, 3, 172, 3, 172, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 177, 3, 177, 3, 177, 3, 177, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 186, 3, 186, 3, 186, 3, 186, 3, 186, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 215, 3, 215, 3, 215, 3, 215, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 221, 3, 221, 3, 221, 3, 221, 3, 222, 3, 222, 3, 222, 3, 222, 3, 223, 3, 223, 3, 223, 3, 223, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 227, 3, 227, 3, 227, 3, 227, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 242, 3, 242, 3, 242, 3, 242, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 256, 3, 256, 3, 256, 3, 256, 3, 257, 3, 257, 3, 257, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 264, 3, 264, 3, 264, 3, 264, 3, 264, 3, 264, 3, 264, 3, 265, 3, 265, 3, 265, 3, 265, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 278, 3, 278, 3, 278, 3, 278, 3, 278, 3, 278, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 295, 3, 295, 3, 295, 3, 295, 3, 295, 3, 296, 3, 296, 3, 296, 3, 296, 3, 297, 3, 297, 3, 297, 3, 297, 3, 297, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 308, 3, 308, 3, 308, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 314, 3, 314, 3, 314, 3, 314, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 318, 3, 318, 3, 318, 3, 318, 3, 318, 3, 318, 3, 319, 3, 319, 3, 319, 3, 319, 3, 319, 3, 319, 3, 319, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 321, 3, 321, 3, 321, 3, 321, 3, 321, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 338, 3, 338, 3, 338, 3, 338, 3, 338, 3, 338, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 342, 3, 342, 3, 342, 3, 342, 3, 342, 3, 342, 3, 342, 3, 342, 3, 342, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 344, 3, 344, 3, 344, 3, 344, 3, 344, 3, 344, 3, 344, 3, 345, 3, 345, 3, 345, 3, 345, 3, 345, 3, 345, 3, 345, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 348, 3, 348, 3, 348, 3, 348, 3, 348, 3, 349, 3, 349, 3, 349, 3, 349, 3, 349, 3, 350, 3, 350, 3, 350, 3, 350, 3, 350, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 3, 360, 3, 360, 3, 360, 3, 360, 3, 360, 3, 360, 3, 360, 3, 360, 3, 360, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 362, 3, 362, 3, 362, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 364, 3, 364, 3, 364, 3, 364, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 367, 3, 367, 3, 367, 3, 367, 3, 367, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 369, 3, 369, 3, 369, 3, 369, 3, 369, 3, 369, 3, 369, 3, 369, 3, 369, 3, 370, 3, 370, 3, 370, 3, 370, 3, 370, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 372, 3, 372, 3, 372, 3, 372, 3, 372, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 374, 3, 374, 3, 374, 3, 374, 3, 374, 3, 375, 3, 375, 3, 375, 3, 375, 3, 375, 3, 375, 3, 376, 3, 376, 3, 376, 3, 376, 3, 376, 3, 376, 3, 376, 3, 376, 3, 377, 3, 377, 3, 377, 3, 377, 3, 377, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 390, 3, 390, 3, 390, 3, 390, 3, 390, 3, 390, 3, 390, 3, 390, 3, 390, 3, 390, 3, 390, 3, 390, 3, 390, 3, 390, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 402, 3, 402, 3, 402, 3, 402, 3, 402, 3, 402, 3, 402, 3, 402, 3, 402, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 407, 3, 407, 3, 407, 3, 407, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 3, 419, 3, 419, 3, 419, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 424, 3, 424, 3, 424, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 426, 3, 426, 3, 426, 3, 426, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 429, 3, 429, 3, 429, 3, 429, 3, 429, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 433, 3, 433, 3, 433, 3, 433, 3, 433, 3, 433, 3, 433, 3, 433, 3, 433, 3, 433, 3, 434, 3, 434, 3, 434, 3, 434, 3, 434, 3, 435, 3, 435, 3, 435, 3, 435, 3, 435, 3, 435, 3, 435, 3, 436, 3, 436, 3, 436, 3, 436, 3, 436, 3, 436, 3, 436, 3, 436, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 440, 3, 440, 3, 440, 3, 440, 3, 440, 3, 440, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 444, 3, 444, 3, 444, 3, 444, 3, 444, 3, 445, 3, 445, 3, 445, 3, 445, 3, 445, 3, 445, 3, 445, 3, 445, 3, 445, 3, 446, 3, 446, 3, 446, 3, 446, 3, 446, 3, 446, 3, 446, 3, 446, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 448, 3, 448, 3, 448, 3, 448, 3, 448, 3, 449, 3, 449, 3, 449, 3, 449, 3, 449, 3, 449, 3, 449, 3, 449, 3, 449, 3, 449, 3, 449, 3, 449, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 451, 3, 451, 3, 451, 3, 451, 3, 451, 3, 451, 3, 451, 3, 451, 3, 451, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 454, 3, 454, 3, 454, 3, 454, 3, 454, 3, 454, 3, 455, 3, 455, 3, 455, 3, 455, 3, 455, 3, 455, 3, 455, 3, 455, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 457, 3, 457, 3, 457, 3, 457, 3, 457, 3, 457, 3, 457, 3, 457, 3, 457, 3, 457, 3, 457, 3, 457, 3, 457, 3, 457, 3, 457, 3, 457, 3, 457, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 459, 3, 459, 3, 459, 3, 459, 3, 459, 3, 459, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 461, 3, 461, 3, 461, 3, 461, 3, 461, 3, 461, 3, 461, 3, 461, 3, 461, 3, 461, 3, 461, 3, 461, 3, 461, 3, 461, 3, 462, 3, 462, 3, 462, 3, 462, 3, 462, 3, 462, 3, 462, 3, 462, 3, 462, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 464, 3, 464, 3, 464, 3, 464, 3, 464, 3, 464, 3, 464, 3, 464, 3, 464, 3, 464, 3, 464, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 473, 3, 473, 3, 473, 3, 473, 3, 473, 3, 473, 3, 473, 3, 473, 3, 473, 3, 473, 3, 473, 3, 473, 3, 474, 3, 474, 3, 474, 3, 474, 3, 474, 3, 474, 3, 475, 3, 475, 3, 475, 3, 475, 3, 475, 3, 475, 3, 475, 3, 476, 3, 476, 3, 476, 3, 476, 3, 476, 3, 476, 3, 476, 3, 476, 3, 477, 3, 477, 3, 477, 3, 477, 3, 477, 3, 477, 3, 477, 3, 477, 3, 477, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 480, 3, 480, 3, 480, 3, 480, 3, 481, 3, 481, 3, 481, 3, 481, 3, 481, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 483, 3, 483, 3, 483, 3, 483, 3, 483, 3, 483, 3, 483, 3, 483, 3, 483, 3, 483, 3, 484, 3, 484, 3, 484, 3, 484, 3, 484, 3, 484, 3, 484, 3, 484, 3, 484, 3, 485, 3, 485, 3, 485, 3, 485, 3, 485, 3, 485, 3, 485, 3, 485, 3, 485, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 488, 3, 488, 3, 488, 3, 488, 3, 488, 3, 488, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 492, 3, 492, 3, 492, 3, 492, 3, 492, 3, 492, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 495, 3, 495, 3, 495, 3, 495, 3, 495, 3, 495, 3, 495, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 504, 3, 504, 3, 504, 3, 504, 3, 504, 3, 504, 3, 504, 3, 504, 3, 504, 3, 504, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 507, 3, 507, 3, 507, 3, 507, 3, 507, 3, 507, 3, 508, 3, 508, 3, 508, 3, 508, 3, 508, 3, 508, 3, 508, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 510, 3, 510, 3, 510, 3, 510, 3, 510, 3, 510, 3, 510, 3, 510, 3, 510, 3, 510, 3, 510, 3, 510, 3, 510, 3, 510, 3, 510, 3, 510, 3, 510, 3, 511, 3, 511, 3, 511, 3, 511, 3, 511, 3, 511, 3, 511, 3, 511, 3, 511, 3, 511, 3, 511, 3, 511, 3, 511, 3, 511, 3, 511, 3, 511, 3, 511, 3, 511, 3, 511, 3, 512, 3, 512, 3, 512, 3, 512, 3, 512, 3, 512, 3, 512, 3, 513, 3, 513, 3, 513, 3, 513, 3, 513, 3, 514, 3, 514, 3, 514, 3, 514, 3, 514, 3, 514, 3, 514, 3, 514, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 516, 3, 516, 3, 516, 3, 516, 3, 516, 3, 516, 3, 516, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 519, 3, 519, 3, 519, 3, 519, 3, 519, 3, 519, 3, 519, 3, 519, 3, 519, 3, 519, 3, 519, 3, 519, 3, 519, 3, 519, 3, 520, 3, 520, 3, 520, 3, 520, 3, 520, 3, 520, 3, 520, 3, 520, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 523, 3, 523, 3, 523, 3, 523, 3, 523, 3, 523, 3, 523, 3, 523, 3, 523, 3, 523, 3, 523, 3, 524, 3, 524, 3, 524, 3, 524, 3, 524, 3, 524, 3, 524, 3, 524, 3, 524, 3, 524, 3, 525, 3, 525, 3, 525, 3, 525, 3, 525, 3, 525, 3, 525, 3, 525, 3, 525, 3, 525, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 528, 3, 528, 3, 528, 3, 528, 3, 528, 3, 528, 3, 528, 3, 528, 3, 528, 3, 528, 3, 528, 3, 528, 3, 529, 3, 529, 3, 529, 3, 529, 3, 529, 3, 529, 3, 529, 3, 529, 3, 529, 3, 530, 3, 530, 3, 530, 3, 530, 3, 530, 3, 530, 3, 530, 3, 530, 3, 530, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 532, 3, 532, 3, 532, 3, 532, 3, 532, 3, 532, 3, 532, 3, 532, 3, 532, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 537, 3, 537, 3, 537, 3, 537, 3, 537, 3, 537, 3, 537, 3, 537, 3, 538, 3, 538, 3, 538, 3, 538, 3, 538, 3, 539, 3, 539, 3, 539, 3, 539, 3, 539, 3, 539, 3, 539, 3, 539, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 545, 3, 545, 3, 545, 3, 545, 3, 545, 3, 545, 3, 545, 3, 545, 3, 546, 3, 546, 3, 546, 3, 546, 3, 546, 3, 547, 3, 547, 3, 547, 3, 547, 3, 547, 3, 547, 3, 547, 3, 547, 3, 547, 3, 548, 3, 548, 3, 548, 3, 548, 3, 548, 3, 548, 3, 548, 3, 548, 3, 549, 3, 549, 3, 549, 3, 549, 3, 549, 3, 550, 3, 550, 3, 550, 3, 550, 3, 550, 3, 550, 3, 550, 3, 550, 3, 551, 3, 551, 3, 551, 3, 551, 3, 551, 3, 552, 3, 552, 3, 552, 3, 553, 3, 553, 3, 553, 3, 553, 3, 554, 3, 554, 3, 554, 3, 554, 3, 555, 3, 555, 3, 555, 3, 555, 3, 556, 3, 556, 3, 556, 3, 556, 3, 557, 3, 557, 3, 557, 3, 557, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 560, 3, 560, 3, 560, 3, 560, 3, 560, 3, 560, 3, 561, 3, 561, 3, 561, 3, 561, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 566, 3, 566, 3, 566, 3, 566, 3, 566, 3, 566, 3, 566, 3, 566, 3, 566, 3, 566, 3, 566, 3, 566, 3, 567, 3, 567, 3, 567, 3, 567, 3, 567, 3, 567, 3, 567, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 571, 3, 571, 3, 571, 3, 571, 3, 571, 3, 571, 3, 571, 3, 571, 3, 572, 3, 572, 3, 572, 3, 572, 3, 572, 3, 572, 3, 572, 3, 573, 3, 573, 3, 573, 3, 573, 3, 573, 3, 573, 3, 573, 3, 573, 3, 573, 3, 574, 3, 574, 3, 574, 3, 574, 3, 574, 3, 574, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 576, 3, 576, 3, 576, 3, 576, 3, 576, 3, 576, 3, 576, 3, 576, 3, 576, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 578, 3, 578, 3, 578, 3, 578, 3, 578, 3, 579, 3, 579, 3, 579, 3, 579, 3, 579, 3, 579, 3, 579, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 582, 3, 582, 3, 582, 3, 582, 3, 582, 3, 582, 3, 582, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 585, 3, 585, 3, 585, 3, 585, 3, 585, 3, 585, 3, 586, 3, 586, 3, 586, 3, 586, 3, 586, 3, 586, 3, 587, 3, 587, 3, 587, 3, 587, 3, 587, 3, 588, 3, 588, 3, 588, 3, 588, 3, 588, 3, 588, 3, 588, 3, 588, 3, 589, 3, 589, 3, 589, 3, 589, 3, 589, 3, 589, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 591, 3, 591, 3, 591, 3, 591, 3, 592, 3, 592, 3, 592, 3, 592, 3, 592, 3, 592, 3, 592, 3, 592, 3, 593, 3, 593, 3, 593, 3, 593, 3, 593, 3, 593, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 595, 3, 595, 3, 595, 3, 595, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 597, 3, 597, 3, 597, 3, 597, 3, 597, 3, 597, 3, 598, 3, 598, 3, 598, 3, 598, 3, 598, 3, 598, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 600, 3, 600, 3, 600, 3, 600, 3, 600, 3, 600, 3, 600, 3, 601, 3, 601, 3, 601, 3, 601, 3, 601, 3, 601, 3, 601, 3, 602, 3, 602, 3, 602, 3, 602, 3, 602, 3, 602, 3, 602, 3, 603, 3, 603, 3, 603, 3, 603, 3, 603, 3, 603, 3, 604, 3, 604, 3, 604, 3, 604, 3, 604, 3, 604, 3, 604, 3, 604, 3, 604, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 606, 3, 606, 3, 606, 3, 606, 3, 606, 3, 607, 3, 607, 3, 607, 3, 607, 3, 607, 3, 607, 3, 607, 3, 608, 3, 608, 3, 608, 3, 608, 3, 608, 3, 609, 3, 609, 3, 609, 3, 609, 3, 609, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 613, 3, 613, 3, 613, 3, 613, 3, 613, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 615, 3, 615, 3, 615, 3, 615, 3, 615, 3, 615, 3, 615, 3, 615, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 618, 3, 618, 3, 618, 3, 618, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 624, 3, 624, 3, 624, 3, 624, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 638, 3, 638, 3, 638, 3, 638, 3, 639, 3, 639, 3, 639, 3, 639, 3, 639, 3, 640, 3, 640, 3, 640, 3, 640, 3, 640, 3, 640, 3, 640, 3, 640, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 642, 3, 642, 3, 642, 3, 642, 3, 642, 3, 642, 3, 642, 3, 642, 3, 642, 3, 642, 3, 642, 3, 642, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 644, 3, 644, 3, 644, 3, 644, 3, 644, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 646, 3, 646, 3, 646, 3, 646, 3, 646, 3, 647, 3, 647, 3, 647, 3, 647, 3, 647, 3, 647, 3, 647, 3, 648, 3, 648, 3, 648, 3, 648, 3, 648, 3, 648, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 653, 3, 653, 3, 653, 3, 653, 3, 653, 3, 653, 3, 653, 3, 653, 3, 653, 3, 653, 3, 653, 3, 653, 3, 653, 3, 653, 3, 653, 3, 653, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 655, 3, 655, 3, 655, 3, 655, 3, 655, 3, 656, 3, 656, 3, 656, 3, 656, 3, 656, 3, 656, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 658, 3, 658, 3, 658, 3, 658, 3, 659, 3, 659, 3, 659, 3, 659, 3, 659, 3, 659, 3, 659, 3, 659, 3, 659, 3, 659, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 662, 3, 662, 3, 662, 3, 662, 3, 662, 3, 663, 3, 663, 3, 663, 3, 663, 3, 663, 3, 663, 3, 663, 3, 663, 3, 664, 3, 664, 3, 664, 3, 664, 3, 664, 3, 664, 3, 664, 3, 664, 3, 664, 3, 665, 3, 665, 3, 665, 3, 665, 3, 665, 3, 665, 3, 665, 3, 665, 3, 665, 3, 665, 3, 665, 3, 665, 3, 665, 3, 665, 3, 665, 3, 665, 3, 665, 3, 666, 3, 666, 3, 666, 3, 666, 3, 666, 3, 666, 3, 666, 3, 666, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 670, 3, 670, 3, 670, 3, 670, 3, 670, 3, 670, 3, 670, 3, 670, 3, 670, 3, 671, 3, 671, 3, 671, 3, 671, 3, 671, 3, 671, 3, 671, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 674, 3, 674, 3, 674, 3, 674, 3, 674, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 676, 3, 676, 3, 676, 3, 676, 3, 677, 3, 677, 3, 677, 3, 677, 3, 678, 3, 678, 3, 678, 3, 678, 3, 678, 3, 678, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 682, 3, 682, 3, 682, 3, 682, 3, 682, 3, 682, 3, 682, 3, 682, 3, 682, 3, 682, 3, 682, 3, 682, 3, 682, 3, 682, 3, 683, 3, 683, 3, 683, 3, 683, 3, 683, 3, 683, 3, 683, 3, 683, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 689, 3, 689, 3, 689, 3, 689, 3, 689, 3, 689, 3, 689, 3, 689, 3, 689, 3, 689, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 691, 3, 691, 3, 691, 3, 691, 3, 691, 3, 691, 3, 691, 3, 691, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 696, 3, 696, 3, 696, 3, 696, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 699, 3, 699, 3, 699, 3, 699, 3, 699, 3, 699, 3, 699, 3, 699, 3, 699, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 701, 3, 701, 3, 701, 3, 701, 3, 701, 3, 701, 3, 701, 3, 702, 3, 702, 3, 702, 3, 702, 3, 703, 3, 703, 3, 703, 3, 703, 3, 703, 3, 703, 3, 703, 3, 703, 3, 703, 3, 703, 3, 703, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 706, 3, 706, 3, 706, 3, 706, 3, 706, 3, 706, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 709, 3, 709, 3, 709, 3, 709, 3, 709, 3, 709, 3, 709, 3, 710, 3, 710, 3, 710, 3, 710, 3, 710, 3, 710, 3, 710, 3, 710, 3, 710, 3, 710, 3, 710, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 721, 3, 721, 3, 721, 3, 721, 3, 721, 3, 721, 3, 721, 3, 721, 3, 721, 3, 721, 3, 721, 3, 721, 3, 721, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 723, 3, 723, 3, 723, 3, 723, 3, 723, 3, 723, 3, 723, 3, 723, 3, 723, 3, 723, 3, 723, 3, 723, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 725, 3, 725, 3, 725, 3, 725, 3, 725, 3, 725, 3, 725, 3, 725, 3, 725, 3, 726, 3, 726, 3, 726, 3, 726, 3, 726, 3, 726, 3, 726, 3, 726, 3, 727, 3, 727, 3, 727, 3, 727, 3, 727, 3, 727, 3, 727, 3, 727, 3, 727, 3, 728, 3, 728, 3, 728, 3, 728, 3, 728, 3, 728, 3, 728, 3, 728, 3, 728, 3, 728, 3, 728, 3, 728, 3, 729, 3, 729, 3, 729, 3, 729, 3, 729, 3, 729, 3, 729, 3, 729, 3, 729, 3, 729, 3, 729, 3, 729, 3, 729, 3, 729, 3, 730, 3, 730, 3, 730, 3, 730, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 735, 3, 735, 3, 735, 3, 735, 3, 735, 3, 735, 3, 735, 3, 735, 3, 735, 3, 735, 3, 736, 3, 736, 3, 736, 3, 736, 3, 736, 3, 736, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 742, 3, 742, 3, 742, 3, 742, 3, 742, 3, 742, 3, 742, 3, 742, 3, 742, 3, 743, 3, 743, 3, 743, 3, 743, 3, 743, 3, 743, 3, 743, 3, 743, 3, 743, 3, 743, 3, 743, 3, 743, 3, 743, 3, 744, 3, 744, 3, 744, 3, 744, 3, 744, 3, 744, 3, 744, 3, 744, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 749, 3, 749, 3, 749, 3, 749, 3, 749, 3, 749, 3, 749, 3, 749, 3, 749, 3, 749, 3, 749, 3, 749, 3, 749, 3, 749, 3, 749, 3, 750, 3, 750, 3, 750, 3, 750, 3, 750, 3, 750, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 752, 3, 752, 3, 752, 3, 752, 3, 752, 3, 752, 3, 752, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 754, 3, 754, 3, 754, 3, 754, 3, 754, 3, 754, 3, 754, 3, 754, 3, 754, 3, 754, 3, 754, 3, 754, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 756, 3, 756, 3, 756, 3, 756, 3, 756, 3, 756, 3, 756, 3, 756, 3, 756, 3, 756, 3, 756, 3, 756, 3, 756, 3, 756, 3, 756, 3, 756, 3, 756, 3, 756, 3, 757, 3, 757, 3, 757, 3, 758, 3, 758, 3, 758, 3, 758, 3, 758, 3, 758, 3, 758, 3, 758, 3, 758, 3, 758, 3, 759, 3, 759, 3, 759, 3, 759, 3, 759, 3, 759, 3, 759, 3, 760, 3, 760, 3, 760, 3, 760, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 762, 3, 762, 3, 762, 3, 762, 3, 762, 3, 763, 3, 763, 3, 763, 3, 763, 3, 763, 3, 763, 3, 764, 3, 764, 3, 764, 3, 764, 3, 764, 3, 765, 3, 765, 3, 765, 3, 765, 3, 765, 3, 765, 3, 766, 3, 766, 3, 766, 3, 766, 3, 766, 3, 766, 3, 766, 3, 766, 3, 766, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 768, 3, 768, 3, 768, 3, 768, 3, 768, 3, 768, 3, 768, 3, 768, 3, 768, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 772, 3, 772, 3, 772, 3, 772, 3, 772, 3, 772, 3, 772, 3, 772, 3, 772, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 774, 3, 774, 3, 774, 3, 774, 3, 774, 3, 774, 3, 774, 3, 774, 3, 774, 3, 774, 3, 774, 3, 774, 3, 775, 3, 775, 3, 775, 3, 775, 3, 775, 3, 775, 3, 775, 3, 775, 3, 775, 3, 775, 3, 775, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 777, 3, 777, 3, 777, 3, 777, 3, 778, 3, 778, 3, 778, 3, 778, 3, 778, 3, 778, 3, 778, 3, 778, 3, 778, 3, 778, 3, 778, 3, 778, 3, 778, 3, 778, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 791, 3, 791, 3, 791, 3, 791, 3, 791, 3, 791, 3, 791, 3, 791, 3, 791, 3, 791, 3, 791, 3, 792, 3, 792, 3, 792, 3, 792, 3, 792, 3, 792, 3, 792, 3, 793, 3, 793, 3, 793, 3, 793, 3, 793, 3, 793, 3, 793, 3, 793, 3, 793, 3, 793, 3, 793, 3, 793, 3, 793, 3, 793, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 795, 3, 795, 3, 795, 3, 795, 3, 795, 3, 795, 3, 795, 3, 795, 3, 795, 3, 795, 3, 796, 3, 796, 3, 796, 3, 796, 3, 797, 3, 797, 3, 797, 3, 797, 3, 797, 3, 797, 3, 797, 3, 797, 3, 797, 3, 797, 3, 797, 3, 797, 3, 797, 3, 798, 3, 798, 3, 798, 3, 798, 3, 799, 3, 799, 3, 799, 3, 799, 3, 799, 3, 799, 3, 799, 3, 799, 3, 799, 3, 800, 3, 800, 3, 800, 3, 800, 3, 800, 3, 800, 3, 800, 3, 800, 3, 800, 3, 800, 3, 800, 3, 801, 3, 801, 3, 801, 3, 801, 3, 801, 3, 801, 3, 801, 3, 801, 3, 801, 3, 801, 3, 801, 3, 801, 3, 802, 3, 802, 3, 802, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 804, 3, 804, 3, 804, 3, 804, 3, 804, 3, 804, 3, 804, 3, 804, 3, 804, 3, 804, 3, 804, 3, 804, 3, 804, 3, 805, 3, 805, 3, 805, 3, 805, 3, 805, 3, 805, 3, 805, 3, 806, 3, 806, 3, 806, 3, 806, 3, 806, 3, 806, 3, 806, 3, 806, 3, 806, 3, 806, 3, 806, 3, 806, 3, 806, 3, 807, 3, 807, 3, 807, 3, 807, 3, 807, 3, 807, 3, 807, 3, 807, 3, 807, 3, 807, 3, 807, 3, 807, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 810, 3, 810, 3, 810, 3, 810, 3, 811, 3, 811, 3, 811, 3, 811, 3, 811, 3, 811, 3, 812, 3, 812, 3, 812, 3, 812, 3, 812, 3, 812, 3, 813, 3, 813, 3, 813, 3, 813, 3, 813, 3, 813, 3, 813, 3, 813, 3, 814, 3, 814, 3, 814, 3, 814, 3, 814, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 816, 3, 816, 3, 816, 3, 816, 3, 816, 3, 816, 3, 816, 3, 816, 3, 816, 3, 816, 3, 816, 3, 816, 3, 816, 3, 817, 3, 817, 3, 817, 3, 817, 3, 817, 3, 817, 3, 817, 3, 817, 3, 818, 3, 818, 3, 818, 3, 818, 3, 818, 3, 818, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 821, 3, 821, 3, 821, 3, 821, 3, 821, 3, 821, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 823, 3, 823, 3, 823, 3, 823, 3, 823, 3, 823, 3, 823, 3, 823, 3, 823, 3, 823, 3, 823, 3, 823, 3, 823, 3, 824, 3, 824, 3, 824, 3, 824, 3, 825, 3, 825, 3, 825, 3, 825, 3, 825, 3, 826, 3, 826, 3, 826, 3, 826, 3, 826, 3, 827, 3, 827, 3, 827, 3, 827, 3, 827, 3, 828, 3, 828, 3, 828, 3, 828, 3, 829, 3, 829, 3, 829, 3, 829, 3, 829, 3, 829, 3, 830, 3, 830, 3, 830, 3, 830, 3, 830, 3, 830, 3, 830, 3, 830, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 832, 3, 832, 3, 832, 3, 832, 3, 832, 3, 833, 3, 833, 3, 833, 3, 833, 3, 833, 3, 834, 3, 834, 3, 834, 3, 834, 3, 834, 3, 834, 3, 834, 3, 834, 3, 834, 3, 834, 3, 834, 3, 835, 3, 835, 3, 835, 3, 835, 3, 835, 3, 835, 3, 835, 3, 836, 3, 836, 3, 836, 3, 836, 3, 836, 3, 836, 3, 836, 3, 836, 3, 836, 3, 836, 3, 836, 3, 836, 3, 837, 3, 837, 3, 837, 3, 837, 3, 837, 3, 837, 3, 837, 3, 837, 3, 838, 3, 838, 3, 838, 3, 838, 3, 838, 3, 838, 3, 838, 3, 838, 3, 838, 3, 838, 3, 838, 3, 838, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 840, 3, 840, 3, 840, 3, 840, 3, 840, 3, 840, 3, 840, 3, 840, 3, 840, 3, 841, 3, 841, 3, 841, 3, 841, 3, 841, 3, 841, 3, 841, 3, 841, 3, 841, 3, 842, 3, 842, 3, 842, 3, 842, 3, 842, 3, 842, 3, 842, 3, 842, 3, 842, 3, 842, 3, 843, 3, 843, 3, 843, 3, 843, 3, 843, 3, 843, 3, 843, 3, 843, 3, 843, 3, 843, 3, 843, 3, 843, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 845, 3, 845, 3, 845, 3, 845, 3, 845, 3, 845, 3, 845, 3, 845, 3, 845, 3, 845, 3, 845, 3, 846, 3, 846, 3, 846, 3, 846, 3, 846, 3, 846, 3, 846, 3, 846, 3, 846, 3, 846, 3, 846, 3, 846, 3, 846, 3, 846, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 849, 3, 849, 3, 849, 3, 849, 3, 849, 3, 849, 3, 849, 3, 849, 3, 849, 3, 849, 3, 849, 3, 849, 3, 850, 3, 850, 3, 850, 3, 850, 3, 850, 3, 850, 3, 850, 3, 850, 3, 850, 3, 850, 3, 850, 3, 850, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 861, 3, 861, 3, 861, 3, 861, 3, 861, 3, 861, 3, 861, 3, 861, 3, 861, 3, 861, 3, 861, 3, 861, 3, 861, 3, 862, 3, 862, 3, 862, 3, 862, 3, 862, 3, 862, 3, 862, 3, 862, 3, 862, 3, 862, 3, 862, 3, 862, 3, 862, 3, 862, 3, 862, 3, 862, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 864, 3, 864, 3, 864, 3, 864, 3, 864, 3, 864, 3, 864, 3, 864, 3, 864, 3, 864, 3, 864, 3, 864, 3, 864, 3, 864, 3, 864, 3, 865, 3, 865, 3, 865, 3, 865, 3, 865, 3, 865, 3, 865, 3, 865, 3, 865, 3, 865, 3, 865, 3, 865, 3, 865, 3, 865, 3, 865, 3, 865, 3, 865, 3, 866, 3, 866, 3, 866, 3, 866, 3, 866, 3, 866, 3, 866, 3, 866, 3, 866, 3, 866, 3, 866, 3, 866, 3, 866, 3, 866, 3, 866, 3, 866, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 868, 3, 868, 3, 868, 3, 868, 3, 868, 3, 868, 3, 868, 3, 868, 3, 868, 3, 868, 3, 868, 3, 868, 3, 869, 3, 869, 3, 869, 3, 869, 3, 869, 3, 869, 3, 869, 3, 869, 3, 869, 3, 869, 3, 869, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 871, 3, 871, 3, 871, 3, 871, 3, 871, 3, 871, 3, 871, 3, 871, 3, 871, 3, 871, 3, 871, 3, 871, 3, 871, 3, 871, 3, 871, 3, 871, 3, 872, 3, 872, 3, 872, 3, 872, 3, 872, 3, 872, 3, 872, 3, 872, 3, 872, 3, 872, 3, 872, 3, 872, 3, 872, 3, 872, 3, 872, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 878, 3, 878, 3, 878, 3, 878, 3, 878, 3, 878, 3, 878, 3, 878, 3, 878, 3, 878, 3, 878, 3, 878, 3, 878, 3, 879, 3, 879, 3, 879, 3, 879, 3, 879, 3, 879, 3, 879, 3, 879, 3, 879, 3, 879, 3, 879, 3, 879, 3, 880, 3, 880, 3, 880, 3, 880, 3, 880, 3, 880, 3, 880, 3, 880, 3, 880, 3, 880, 3, 880, 3, 880, 3, 880, 3, 880, 3, 880, 3, 880, 3, 880, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 882, 3, 882, 3, 882, 3, 882, 3, 882, 3, 882, 3, 882, 3, 882, 3, 882, 3, 882, 3, 883, 3, 883, 3, 883, 3, 883, 3, 883, 3, 883, 3, 883, 3, 883, 3, 883, 3, 883, 3, 883, 3, 883, 3, 883, 3, 883, 3, 883, 3, 883, 3, 884, 3, 884, 3, 884, 3, 884, 3, 884, 3, 884, 3, 884, 3, 884, 3, 884, 3, 884, 3, 884, 3, 884, 3, 884, 3, 884, 3, 884, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 886, 3, 886, 3, 886, 3, 886, 3, 886, 3, 886, 3, 886, 3, 886, 3, 886, 3, 886, 3, 886, 3, 886, 3, 886, 3, 886, 3, 886, 3, 886, 3, 886, 3, 886, 3, 887, 3, 887, 3, 887, 3, 887, 3, 887, 3, 887, 3, 887, 3, 887, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 889, 3, 889, 3, 889, 3, 889, 3, 889, 3, 889, 3, 889, 3, 889, 3, 889, 3, 889, 3, 889, 3, 889, 3, 889, 3, 889, 3, 889, 3, 889, 3, 889, 3, 890, 3, 890, 3, 890, 3, 890, 3, 890, 3, 890, 3, 890, 3, 890, 3, 890, 3, 890, 3, 890, 3, 891, 3, 891, 3, 891, 3, 891, 3, 891, 3, 891, 3, 891, 3, 891, 3, 891, 3, 892, 3, 892, 3, 892, 3, 892, 3, 892, 3, 892, 3, 892, 3, 892, 3, 892, 3, 892, 3, 893, 3, 893, 3, 893, 3, 893, 3, 893, 3, 894, 3, 894, 3, 894, 3, 894, 3, 894, 3, 895, 3, 895, 3, 895, 3, 895, 3, 895, 3, 895, 3, 895, 3, 895, 3, 896, 3, 896, 3, 896, 3, 896, 3, 896, 3, 896, 3, 896, 3, 896, 3, 896, 3, 896, 3, 896, 3, 896, 3, 896, 3, 896, 3, 896, 3, 896, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 899, 3, 899, 3, 899, 3, 899, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 902, 3, 902, 3, 902, 3, 902, 3, 902, 3, 902, 3, 902, 3, 902, 3, 902, 3, 902, 3, 902, 3, 902, 3, 902, 3, 902, 3, 903, 3, 903, 3, 903, 3, 903, 3, 903, 3, 903, 3, 903, 3, 903, 3, 903, 3, 903, 3, 903, 3, 903, 3, 904, 3, 904, 3, 904, 3, 904, 3, 904, 3, 904, 3, 904, 3, 904, 3, 904, 3, 904, 3, 904, 3, 904, 3, 905, 3, 905, 3, 905, 3, 905, 3, 905, 3, 905, 3, 905, 3, 905, 3, 906, 3, 906, 3, 906, 3, 906, 3, 906, 3, 906, 3, 906, 3, 906, 3, 906, 3, 906, 3, 907, 3, 907, 3, 907, 3, 907, 3, 907, 3, 907, 3, 907, 3, 907, 3, 908, 3, 908, 3, 908, 3, 908, 3, 908, 3, 908, 3, 908, 3, 908, 3, 908, 3, 908, 3, 908, 3, 909, 3, 909, 3, 909, 3, 909, 3, 909, 3, 909, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 912, 3, 912, 3, 912, 3, 912, 3, 912, 3, 912, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 916, 3, 916, 3, 916, 3, 916, 3, 916, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 919, 3, 919, 3, 919, 3, 919, 3, 919, 3, 919, 3, 919, 3, 919, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 926, 3, 926, 3, 927, 3, 927, 3, 928, 3, 928, 3, 928, 3, 929, 3, 929, 3, 929, 3, 930, 3, 930, 3, 930, 3, 931, 3, 931, 3, 931, 3, 932, 3, 932, 3, 932, 3, 933, 3, 933, 3, 933, 3, 934, 3, 934, 3, 934, 3, 935, 3, 935, 3, 935, 3, 936, 3, 936, 3, 936, 3, 937, 3, 937, 3, 938, 3, 938, 3, 939, 3, 939, 3, 940, 3, 940, 3, 941, 3, 941, 3, 941, 3, 942, 3, 942, 3, 943, 3, 943, 3, 943, 3, 943, 3, 944, 3, 944, 3, 944, 3, 944, 3, 945, 3, 945, 3, 946, 3, 946, 3, 947, 3, 947, 3, 948, 3, 948, 3, 949, 3, 949, 3, 950, 3, 950, 3, 951, 3, 951, 3, 952, 3, 952, 3, 953, 3, 953, 3, 954, 3, 954, 3, 955, 3, 955, 3, 956, 3, 956, 3, 957, 3, 957, 3, 958, 3, 958, 3, 959, 3, 959, 3, 960, 3, 960, 3, 961, 3, 961, 3, 962, 3, 962, 3, 963, 3, 963, 3, 964, 3, 964, 3, 965, 3, 965, 3, 966, 3, 966, 3, 966, 3, 966, 3, 967, 6, 967, 10823, 10, 967, 13, 967, 14, 967, 10824, 3, 967, 3, 967, 3, 968, 3, 968, 3, 968, 3, 969, 3, 969, 5, 969, 10834, 10, 969, 3, 970, 6, 970, 10837, 10, 970, 13, 970, 14, 970, 10838, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 6, 971, 10846, 10, 971, 13, 971, 14, 971, 10847, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 6, 971, 10856, 10, 971, 13, 971, 14, 971, 10857, 5, 971, 10860, 10, 971, 3, 972, 6, 972, 10863, 10, 972, 13, 972, 14, 972, 10864, 5, 972, 10867, 10, 972, 3, 972, 3, 972, 6, 972, 10871, 10, 972, 13, 972, 14, 972, 10872, 3, 972, 6, 972, 10876, 10, 972, 13, 972, 14, 972, 10877, 3, 972, 3, 972, 3, 972, 3, 972, 6, 972, 10884, 10, 972, 13, 972, 14, 972, 10885, 5, 972, 10888, 10, 972, 3, 972, 3, 972, 6, 972, 10892, 10, 972, 13, 972, 14, 972, 10893, 3, 972, 3, 972, 3, 972, 6, 972, 10899, 10, 972, 13, 972, 14, 972, 10900, 3, 972, 3, 972, 5, 972, 10905, 10, 972, 3, 973, 3, 973, 3, 973, 3, 974, 3, 974, 3, 975, 3, 975, 3, 975, 3, 976, 3, 976, 3, 976, 3, 977, 3, 977, 3, 978, 3, 978, 6, 978, 10922, 10, 978, 13, 978, 14, 978, 10923, 3, 978, 3, 978, 3, 979, 3, 979, 3, 979, 3, 979, 5, 979, 10932, 10, 979, 3, 979, 3, 979, 3, 979, 3, 979, 3, 979, 5, 979, 10939, 10, 979, 3, 980, 3, 980, 6, 980, 10943, 10, 980, 13, 980, 14, 980, 10944, 3, 980, 3, 980, 3, 980, 5, 980, 10950, 10, 980, 3, 981, 3, 981, 3, 981, 6, 981, 10955, 10, 981, 13, 981, 14, 981, 10956, 3, 981, 5, 981, 10960, 10, 981, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 5, 982, 11002, 10, 982, 3, 983, 3, 983, 5, 983, 11006, 10, 983, 3, 983, 6, 983, 11009, 10, 983, 13, 983, 14, 983, 11010, 3, 984, 7, 984, 11014, 10, 984, 12, 984, 14, 984, 11017, 11, 984, 3, 984, 6, 984, 11020, 10, 984, 13, 984, 14, 984, 11021, 3, 984, 7, 984, 11025, 10, 984, 12, 984, 14, 984, 11028, 11, 984, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 7, 985, 11036, 10, 985, 12, 985, 14, 985, 11039, 11, 985, 3, 985, 3, 985, 3, 986, 3, 986, 3, 986, 3, 986, 3, 986, 3, 986, 7, 986, 11049, 10, 986, 12, 986, 14, 986, 11052, 11, 986, 3, 986, 3, 986, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 7, 987, 11062, 10, 987, 12, 987, 14, 987, 11065, 11, 987, 3, 987, 3, 987, 3, 988, 3, 988, 3, 989, 3, 989, 3, 990, 3, 990, 3, 990, 6, 990, 11076, 10, 990, 13, 990, 14, 990, 11077, 3, 990, 3, 990, 3, 991, 3, 991, 3, 991, 3, 991, 6, 1997, 2010, 11015, 11021, 2, 992, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61, 121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69, 137, 70, 139, 71, 141, 72, 143, 73, 145, 74, 147, 75, 149, 76, 151, 77, 153, 78, 155, 79, 157, 80, 159, 81, 161, 82, 163, 83, 165, 84, 167, 85, 169, 86, 171, 87, 173, 88, 175, 89, 177, 90, 179, 91, 181, 92, 183, 93, 185, 94, 187, 95, 189, 96, 191, 97, 193, 98, 195, 99, 197, 100, 199, 101, 201, 102, 203, 103, 205, 104, 207, 105, 209, 106, 211, 107, 213, 108, 215, 109, 217, 110, 219, 111, 221, 112, 223, 113, 225, 114, 227, 115, 229, 116, 231, 117, 233, 118, 235, 119, 237, 120, 239, 121, 241, 122, 243, 123, 245, 124, 247, 125, 249, 126, 251, 127, 253, 128, 255, 129, 257, 130, 259, 131, 261, 132, 263, 133, 265, 134, 267, 135, 269, 136, 271, 137, 273, 138, 275, 139, 277, 140, 279, 141, 281, 142, 283, 143, 285, 144, 287, 145, 289, 146, 291, 147, 293, 148, 295, 149, 297, 150, 299, 151, 301, 152, 303, 153, 305, 154, 307, 155, 309, 156, 311, 157, 313, 158, 315, 159, 317, 160, 319, 161, 321, 162, 323, 163, 325, 164, 327, 165, 329, 166, 331, 167, 333, 168, 335, 169, 337, 170, 339, 171, 341, 172, 343, 173, 345, 174, 347, 175, 349, 176, 351, 177, 353, 178, 355, 179, 357, 180, 359, 181, 361, 182, 363, 183, 365, 184, 367, 185, 369, 186, 371, 187, 373, 188, 375, 189, 377, 190, 379, 191, 381, 192, 383, 193, 385, 194, 387, 195, 389, 196, 391, 197, 393, 198, 395, 199, 397, 200, 399, 201, 401, 202, 403, 203, 405, 204, 407, 205, 409, 206, 411, 207, 413, 208, 415, 209, 417, 210, 419, 211, 421, 212, 423, 213, 425, 214, 427, 215, 429, 216, 431, 217, 433, 218, 435, 219, 437, 220, 439, 221, 441, 222, 443, 223, 445, 224, 447, 225, 449, 226, 451, 227, 453, 228, 455, 229, 457, 230, 459, 231, 461, 232, 463, 233, 465, 234, 467, 235, 469, 236, 471, 237, 473, 238, 475, 239, 477, 240, 479, 241, 481, 242, 483, 243, 485, 244, 487, 245, 489, 246, 491, 247, 493, 248, 495, 249, 497, 250, 499, 251, 501, 252, 503, 253, 505, 254, 507, 255, 509, 256, 511, 257, 513, 258, 515, 259, 517, 260, 519, 261, 521, 262, 523, 263, 525, 264, 527, 265, 529, 266, 531, 267, 533, 268, 535, 269, 537, 270, 539, 271, 541, 272, 543, 273, 545, 274, 547, 275, 549, 276, 551, 277, 553, 278, 555, 279, 557, 280, 559, 281, 561, 282, 563, 283, 565, 284, 567, 285, 569, 286, 571, 287, 573, 288, 575, 289, 577, 290, 579, 291, 581, 292, 583, 293, 585, 294, 587, 295, 589, 296, 591, 297, 593, 298, 595, 299, 597, 300, 599, 301, 601, 302, 603, 303, 605, 304, 607, 305, 609, 306, 611, 307, 613, 308, 615, 309, 617, 310, 619, 311, 621, 312, 623, 313, 625, 314, 627, 315, 629, 316, 631, 317, 633, 318, 635, 319, 637, 320, 639, 321, 641, 322, 643, 323, 645, 324, 647, 325, 649, 326, 651, 327, 653, 328, 655, 329, 657, 330, 659, 331, 661, 332, 663, 333, 665, 334, 667, 335, 669, 336, 671, 337, 673, 338, 675, 339, 677, 340, 679, 341, 681, 342, 683, 343, 685, 344, 687, 345, 689, 346, 691, 347, 693, 348, 695, 349, 697, 350, 699, 351, 701, 352, 703, 353, 705, 354, 707, 355, 709, 356, 711, 357, 713, 358, 715, 359, 717, 360, 719, 361, 721, 362, 723, 363, 725, 364, 727, 365, 729, 366, 731, 367, 733, 368, 735, 369, 737, 370, 739, 371, 741, 372, 743, 373, 745, 374, 747, 375, 749, 376, 751, 377, 753, 378, 755, 379, 757, 380, 759, 381, 761, 382, 763, 383, 765, 384, 767, 385, 769, 386, 771, 387, 773, 388, 775, 389, 777, 390, 779, 391, 781, 392, 783, 393, 785, 394, 787, 395, 789, 396, 791, 397, 793, 398, 795, 399, 797, 400, 799, 401, 801, 402, 803, 403, 805, 404, 807, 405, 809, 406, 811, 407, 813, 408, 815, 409, 817, 410, 819, 411, 821, 412, 823, 413, 825, 414, 827, 415, 829, 416, 831, 417, 833, 418, 835, 419, 837, 420, 839, 421, 841, 422, 843, 423, 845, 424, 847, 425, 849, 426, 851, 427, 853, 428, 855, 429, 857, 430, 859, 431, 861, 432, 863, 433, 865, 434, 867, 435, 869, 436, 871, 437, 873, 438, 875, 439, 877, 440, 879, 441, 881, 442, 883, 443, 885, 444, 887, 445, 889, 446, 891, 447, 893, 448, 895, 449, 897, 450, 899, 451, 901, 452, 903, 453, 905, 454, 907, 455, 909, 456, 911, 457, 913, 458, 915, 459, 917, 460, 919, 461, 921, 462, 923, 463, 925, 464, 927, 465, 929, 466, 931, 467, 933, 468, 935, 469, 937, 470, 939, 471, 941, 472, 943, 473, 945, 474, 947, 475, 949, 476, 951, 477, 953, 478, 955, 479, 957, 480, 959, 481, 961, 482, 963, 483, 965, 484, 967, 485, 969, 486, 971, 487, 973, 488, 975, 489, 977, 490, 979, 491, 981, 492, 983, 493, 985, 494, 987, 495, 989, 496, 991, 497, 993, 498, 995, 499, 997, 500, 999, 501, 1001, 502, 1003, 503, 1005, 504, 1007, 505, 1009, 506, 1011, 507, 1013, 508, 1015, 509, 1017, 510, 1019, 511, 1021, 512, 1023, 513, 1025, 514, 1027, 515, 1029, 516, 1031, 517, 1033, 518, 1035, 519, 1037, 520, 1039, 521, 1041, 522, 1043, 523, 1045, 524, 1047, 525, 1049, 526, 1051, 527, 1053, 528, 1055, 529, 1057, 530, 1059, 531, 1061, 532, 1063, 533, 1065, 534, 1067, 535, 1069, 536, 1071, 537, 1073, 538, 1075, 539, 1077, 540, 1079, 541, 1081, 542, 1083, 543, 1085, 544, 1087, 545, 1089, 546, 1091, 547, 1093, 548, 1095, 549, 1097, 550, 1099, 551, 1101, 552, 1103, 553, 1105, 554, 1107, 555, 1109, 556, 1111, 557, 1113, 558, 1115, 559, 1117, 560, 1119, 561, 1121, 562, 1123, 563, 1125, 564, 1127, 565, 1129, 566, 1131, 567, 1133, 568, 1135, 569, 1137, 570, 1139, 571, 1141, 572, 1143, 573, 1145, 574, 1147, 575, 1149, 576, 1151, 577, 1153, 578, 1155, 579, 1157, 580, 1159, 581, 1161, 582, 1163, 583, 1165, 584, 1167, 585, 1169, 586, 1171, 587, 1173, 588, 1175, 589, 1177, 590, 1179, 591, 1181, 592, 1183, 593, 1185, 594, 1187, 595, 1189, 596, 1191, 597, 1193, 598, 1195, 599, 1197, 600, 1199, 601, 1201, 602, 1203, 603, 1205, 604, 1207, 605, 1209, 606, 1211, 607, 1213, 608, 1215, 609, 1217, 610, 1219, 611, 1221, 612, 1223, 613, 1225, 614, 1227, 615, 1229, 616, 1231, 617, 1233, 618, 1235, 619, 1237, 620, 1239, 621, 1241, 622, 1243, 623, 1245, 624, 1247, 625, 1249, 626, 1251, 627, 1253, 628, 1255, 629, 1257, 630, 1259, 631, 1261, 632, 1263, 633, 1265, 634, 1267, 635, 1269, 636, 1271, 637, 1273, 638, 1275, 639, 1277, 640, 1279, 641, 1281, 642, 1283, 643, 1285, 644, 1287, 645, 1289, 646, 1291, 647, 1293, 648, 1295, 649, 1297, 650, 1299, 651, 1301, 652, 1303, 653, 1305, 654, 1307, 655, 1309, 656, 1311, 657, 1313, 658, 1315, 659, 1317, 660, 1319, 661, 1321, 662, 1323, 663, 1325, 664, 1327, 665, 1329, 666, 1331, 667, 1333, 668, 1335, 669, 1337, 670, 1339, 671, 1341, 672, 1343, 673, 1345, 674, 1347, 675, 1349, 676, 1351, 677, 1353, 678, 1355, 679, 1357, 680, 1359, 681, 1361, 682, 1363, 683, 1365, 684, 1367, 685, 1369, 686, 1371, 687, 1373, 688, 1375, 689, 1377, 690, 1379, 691, 1381, 692, 1383, 693, 1385, 694, 1387, 695, 1389, 696, 1391, 697, 1393, 698, 1395, 699, 1397, 700, 1399, 701, 1401, 702, 1403, 703, 1405, 704, 1407, 705, 1409, 706, 1411, 707, 1413, 708, 1415, 709, 1417, 710, 1419, 711, 1421, 712, 1423, 713, 1425, 714, 1427, 715, 1429, 716, 1431, 717, 1433, 718, 1435, 719, 1437, 720, 1439, 721, 1441, 722, 1443, 723, 1445, 724, 1447, 725, 1449, 726, 1451, 727, 1453, 728, 1455, 729, 1457, 730, 1459, 731, 1461, 732, 1463, 733, 1465, 734, 1467, 735, 1469, 736, 1471, 737, 1473, 738, 1475, 739, 1477, 740, 1479, 741, 1481, 742, 1483, 743, 1485, 744, 1487, 745, 1489, 746, 1491, 747, 1493, 748, 1495, 749, 1497, 750, 1499, 751, 1501, 752, 1503, 753, 1505, 754, 1507, 755, 1509, 756, 1511, 757, 1513, 758, 1515, 759, 1517, 760, 1519, 761, 1521, 762, 1523, 763, 1525, 764, 1527, 765, 1529, 766, 1531, 767, 1533, 768, 1535, 769, 1537, 770, 1539, 771, 1541, 772, 1543, 773, 1545, 774, 1547, 775, 1549, 776, 1551, 777, 1553, 778, 1555, 779, 1557, 780, 1559, 781, 1561, 782, 1563, 783, 1565, 784, 1567, 785, 1569, 786, 1571, 787, 1573, 788, 1575, 789, 1577, 790, 1579, 791, 1581, 792, 1583, 793, 1585, 794, 1587, 795, 1589, 796, 1591, 797, 1593, 798, 1595, 799, 1597, 800, 1599, 801, 1601, 802, 1603, 803, 1605, 804, 1607, 805, 1609, 806, 1611, 807, 1613, 808, 1615, 809, 1617, 810, 1619, 811, 1621, 812, 1623, 813, 1625, 814, 1627, 815, 1629, 816, 1631, 817, 1633, 818, 1635, 819, 1637, 820, 1639, 821, 1641, 822, 1643, 823, 1645, 824, 1647, 825, 1649, 826, 1651, 827, 1653, 828, 1655, 829, 1657, 830, 1659, 831, 1661, 832, 1663, 833, 1665, 834, 1667, 835, 1669, 836, 1671, 837, 1673, 838, 1675, 839, 1677, 840, 1679, 841, 1681, 842, 1683, 843, 1685, 844, 1687, 845, 1689, 846, 1691, 847, 1693, 848, 1695, 849, 1697, 850, 1699, 851, 1701, 852, 1703, 853, 1705, 854, 1707, 855, 1709, 856, 1711, 857, 1713, 858, 1715, 859, 1717, 860, 1719, 861, 1721, 862, 1723, 863, 1725, 864, 1727, 865, 1729, 866, 1731, 867, 1733, 868, 1735, 869, 1737, 870, 1739, 871, 1741, 872, 1743, 873, 1745, 874, 1747, 875, 1749, 876, 1751, 877, 1753, 878, 1755, 879, 1757, 880, 1759, 881, 1761, 882, 1763, 883, 1765, 884, 1767, 885, 1769, 886, 1771, 887, 1773, 888, 1775, 889, 1777, 890, 1779, 891, 1781, 892, 1783, 893, 1785, 894, 1787, 895, 1789, 896, 1791, 897, 1793, 898, 1795, 899, 1797, 900, 1799, 901, 1801, 902, 1803, 903, 1805, 904, 1807, 905, 1809, 906, 1811, 907, 1813, 908, 1815, 909, 1817, 910, 1819, 911, 1821, 912, 1823, 913, 1825, 914, 1827, 915, 1829, 916, 1831, 917, 1833, 918, 1835, 919, 1837, 920, 1839, 921, 1841, 922, 1843, 923, 1845, 924, 1847, 925, 1849, 926, 1851, 927, 1853, 928, 1855, 929, 1857, 930, 1859, 931, 1861, 932, 1863, 933, 1865, 934, 1867, 935, 1869, 936, 1871, 937, 1873, 938, 1875, 939, 1877, 940, 1879, 941, 1881, 942, 1883, 943, 1885, 944, 1887, 945, 1889, 946, 1891, 947, 1893, 948, 1895, 949, 1897, 950, 1899, 951, 1901, 952, 1903, 953, 1905, 954, 1907, 955, 1909, 956, 1911, 957, 1913, 958, 1915, 959, 1917, 960, 1919, 961, 1921, 962, 1923, 963, 1925, 964, 1927, 965, 1929, 966, 1931, 967, 1933, 968, 1935, 969, 1937, 970, 1939, 971, 1941, 972, 1943, 973, 1945, 974, 1947, 975, 1949, 976, 1951, 977, 1953, 978, 1955, 979, 1957, 980, 1959, 981, 1961, 982, 1963, 2, 1965, 2, 1967, 2, 1969, 2, 1971, 2, 1973, 2, 1975, 2, 1977, 2, 1979, 2, 1981, 983, 3, 2, 15, 5, 2, 11, 12, 15, 15, 34, 34, 4, 2, 12, 12, 15, 15, 6, 2, 73, 73, 77, 77, 79, 79, 86, 86, 3, 2, 98, 98, 7, 2, 38, 38, 48, 48, 50, 59, 67, 92, 97, 97, 6, 2, 38, 38, 50, 59, 67, 92, 97, 97, 5, 2, 38, 38, 67, 92, 97, 97, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 4, 2, 94, 94, 98, 98, 4, 2, 50, 59, 67, 72, 3, 2, 50, 59, 3, 2, 50, 51, 2, 11169, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 2, 39, 3, 2, 2, 2, 2, 41, 3, 2, 2, 2, 2, 43, 3, 2, 2, 2, 2, 45, 3, 2, 2, 2, 2, 47, 3, 2, 2, 2, 2, 49, 3, 2, 2, 2, 2, 51, 3, 2, 2, 2, 2, 53, 3, 2, 2, 2, 2, 55, 3, 2, 2, 2, 2, 57, 3, 2, 2, 2, 2, 59, 3, 2, 2, 2, 2, 61, 3, 2, 2, 2, 2, 63, 3, 2, 2, 2, 2, 65, 3, 2, 2, 2, 2, 67, 3, 2, 2, 2, 2, 69, 3, 2, 2, 2, 2, 71, 3, 2, 2, 2, 2, 73, 3, 2, 2, 2, 2, 75, 3, 2, 2, 2, 2, 77, 3, 2, 2, 2, 2, 79, 3, 2, 2, 2, 2, 81, 3, 2, 2, 2, 2, 83, 3, 2, 2, 2, 2, 85, 3, 2, 2, 2, 2, 87, 3, 2, 2, 2, 2, 89, 3, 2, 2, 2, 2, 91, 3, 2, 2, 2, 2, 93, 3, 2, 2, 2, 2, 95, 3, 2, 2, 2, 2, 97, 3, 2, 2, 2, 2, 99, 3, 2, 2, 2, 2, 101, 3, 2, 2, 2, 2, 103, 3, 2, 2, 2, 2, 105, 3, 2, 2, 2, 2, 107, 3, 2, 2, 2, 2, 109, 3, 2, 2, 2, 2, 111, 3, 2, 2, 2, 2, 113, 3, 2, 2, 2, 2, 115, 3, 2, 2, 2, 2, 117, 3, 2, 2, 2, 2, 119, 3, 2, 2, 2, 2, 121, 3, 2, 2, 2, 2, 123, 3, 2, 2, 2, 2, 125, 3, 2, 2, 2, 2, 127, 3, 2, 2, 2, 2, 129, 3, 2, 2, 2, 2, 131, 3, 2, 2, 2, 2, 133, 3, 2, 2, 2, 2, 135, 3, 2, 2, 2, 2, 137, 3, 2, 2, 2, 2, 139, 3, 2, 2, 2, 2, 141, 3, 2, 2, 2, 2, 143, 3, 2, 2, 2, 2, 145, 3, 2, 2, 2, 2, 147, 3, 2, 2, 2, 2, 149, 3, 2, 2, 2, 2, 151, 3, 2, 2, 2, 2, 153, 3, 2, 2, 2, 2, 155, 3, 2, 2, 2, 2, 157, 3, 2, 2, 2, 2, 159, 3, 2, 2, 2, 2, 161, 3, 2, 2, 2, 2, 163, 3, 2, 2, 2, 2, 165, 3, 2, 2, 2, 2, 167, 3, 2, 2, 2, 2, 169, 3, 2, 2, 2, 2, 171, 3, 2, 2, 2, 2, 173, 3, 2, 2, 2, 2, 175, 3, 2, 2, 2, 2, 177, 3, 2, 2, 2, 2, 179, 3, 2, 2, 2, 2, 181, 3, 2, 2, 2, 2, 183, 3, 2, 2, 2, 2, 185, 3, 2, 2, 2, 2, 187, 3, 2, 2, 2, 2, 189, 3, 2, 2, 2, 2, 191, 3, 2, 2, 2, 2, 193, 3, 2, 2, 2, 2, 195, 3, 2, 2, 2, 2, 197, 3, 2, 2, 2, 2, 199, 3, 2, 2, 2, 2, 201, 3, 2, 2, 2, 2, 203, 3, 2, 2, 2, 2, 205, 3, 2, 2, 2, 2, 207, 3, 2, 2, 2, 2, 209, 3, 2, 2, 2, 2, 211, 3, 2, 2, 2, 2, 213, 3, 2, 2, 2, 2, 215, 3, 2, 2, 2, 2, 217, 3, 2, 2, 2, 2, 219, 3, 2, 2, 2, 2, 221, 3, 2, 2, 2, 2, 223, 3, 2, 2, 2, 2, 225, 3, 2, 2, 2, 2, 227, 3, 2, 2, 2, 2, 229, 3, 2, 2, 2, 2, 231, 3, 2, 2, 2, 2, 233, 3, 2, 2, 2, 2, 235, 3, 2, 2, 2, 2, 237, 3, 2, 2, 2, 2, 239, 3, 2, 2, 2, 2, 241, 3, 2, 2, 2, 2, 243, 3, 2, 2, 2, 2, 245, 3, 2, 2, 2, 2, 247, 3, 2, 2, 2, 2, 249, 3, 2, 2, 2, 2, 251, 3, 2, 2, 2, 2, 253, 3, 2, 2, 2, 2, 255, 3, 2, 2, 2, 2, 257, 3, 2, 2, 2, 2, 259, 3, 2, 2, 2, 2, 261, 3, 2, 2, 2, 2, 263, 3, 2, 2, 2, 2, 265, 3, 2, 2, 2, 2, 267, 3, 2, 2, 2, 2, 269, 3, 2, 2, 2, 2, 271, 3, 2, 2, 2, 2, 273, 3, 2, 2, 2, 2, 275, 3, 2, 2, 2, 2, 277, 3, 2, 2, 2, 2, 279, 3, 2, 2, 2, 2, 281, 3, 2, 2, 2, 2, 283, 3, 2, 2, 2, 2, 285, 3, 2, 2, 2, 2, 287, 3, 2, 2, 2, 2, 289, 3, 2, 2, 2, 2, 291, 3, 2, 2, 2, 2, 293, 3, 2, 2, 2, 2, 295, 3, 2, 2, 2, 2, 297, 3, 2, 2, 2, 2, 299, 3, 2, 2, 2, 2, 301, 3, 2, 2, 2, 2, 303, 3, 2, 2, 2, 2, 305, 3, 2, 2, 2, 2, 307, 3, 2, 2, 2, 2, 309, 3, 2, 2, 2, 2, 311, 3, 2, 2, 2, 2, 313, 3, 2, 2, 2, 2, 315, 3, 2, 2, 2, 2, 317, 3, 2, 2, 2, 2, 319, 3, 2, 2, 2, 2, 321, 3, 2, 2, 2, 2, 323, 3, 2, 2, 2, 2, 325, 3, 2, 2, 2, 2, 327, 3, 2, 2, 2, 2, 329, 3, 2, 2, 2, 2, 331, 3, 2, 2, 2, 2, 333, 3, 2, 2, 2, 2, 335, 3, 2, 2, 2, 2, 337, 3, 2, 2, 2, 2, 339, 3, 2, 2, 2, 2, 341, 3, 2, 2, 2, 2, 343, 3, 2, 2, 2, 2, 345, 3, 2, 2, 2, 2, 347, 3, 2, 2, 2, 2, 349, 3, 2, 2, 2, 2, 351, 3, 2, 2, 2, 2, 353, 3, 2, 2, 2, 2, 355, 3, 2, 2, 2, 2, 357, 3, 2, 2, 2, 2, 359, 3, 2, 2, 2, 2, 361, 3, 2, 2, 2, 2, 363, 3, 2, 2, 2, 2, 365, 3, 2, 2, 2, 2, 367, 3, 2, 2, 2, 2, 369, 3, 2, 2, 2, 2, 371, 3, 2, 2, 2, 2, 373, 3, 2, 2, 2, 2, 375, 3, 2, 2, 2, 2, 377, 3, 2, 2, 2, 2, 379, 3, 2, 2, 2, 2, 381, 3, 2, 2, 2, 2, 383, 3, 2, 2, 2, 2, 385, 3, 2, 2, 2, 2, 387, 3, 2, 2, 2, 2, 389, 3, 2, 2, 2, 2, 391, 3, 2, 2, 2, 2, 393, 3, 2, 2, 2, 2, 395, 3, 2, 2, 2, 2, 397, 3, 2, 2, 2, 2, 399, 3, 2, 2, 2, 2, 401, 3, 2, 2, 2, 2, 403, 3, 2, 2, 2, 2, 405, 3, 2, 2, 2, 2, 407, 3, 2, 2, 2, 2, 409, 3, 2, 2, 2, 2, 411, 3, 2, 2, 2, 2, 413, 3, 2, 2, 2, 2, 415, 3, 2, 2, 2, 2, 417, 3, 2, 2, 2, 2, 419, 3, 2, 2, 2, 2, 421, 3, 2, 2, 2, 2, 423, 3, 2, 2, 2, 2, 425, 3, 2, 2, 2, 2, 427, 3, 2, 2, 2, 2, 429, 3, 2, 2, 2, 2, 431, 3, 2, 2, 2, 2, 433, 3, 2, 2, 2, 2, 435, 3, 2, 2, 2, 2, 437, 3, 2, 2, 2, 2, 439, 3, 2, 2, 2, 2, 441, 3, 2, 2, 2, 2, 443, 3, 2, 2, 2, 2, 445, 3, 2, 2, 2, 2, 447, 3, 2, 2, 2, 2, 449, 3, 2, 2, 2, 2, 451, 3, 2, 2, 2, 2, 453, 3, 2, 2, 2, 2, 455, 3, 2, 2, 2, 2, 457, 3, 2, 2, 2, 2, 459, 3, 2, 2, 2, 2, 461, 3, 2, 2, 2, 2, 463, 3, 2, 2, 2, 2, 465, 3, 2, 2, 2, 2, 467, 3, 2, 2, 2, 2, 469, 3, 2, 2, 2, 2, 471, 3, 2, 2, 2, 2, 473, 3, 2, 2, 2, 2, 475, 3, 2, 2, 2, 2, 477, 3, 2, 2, 2, 2, 479, 3, 2, 2, 2, 2, 481, 3, 2, 2, 2, 2, 483, 3, 2, 2, 2, 2, 485, 3, 2, 2, 2, 2, 487, 3, 2, 2, 2, 2, 489, 3, 2, 2, 2, 2, 491, 3, 2, 2, 2, 2, 493, 3, 2, 2, 2, 2, 495, 3, 2, 2, 2, 2, 497, 3, 2, 2, 2, 2, 499, 3, 2, 2, 2, 2, 501, 3, 2, 2, 2, 2, 503, 3, 2, 2, 2, 2, 505, 3, 2, 2, 2, 2, 507, 3, 2, 2, 2, 2, 509, 3, 2, 2, 2, 2, 511, 3, 2, 2, 2, 2, 513, 3, 2, 2, 2, 2, 515, 3, 2, 2, 2, 2, 517, 3, 2, 2, 2, 2, 519, 3, 2, 2, 2, 2, 521, 3, 2, 2, 2, 2, 523, 3, 2, 2, 2, 2, 525, 3, 2, 2, 2, 2, 527, 3, 2, 2, 2, 2, 529, 3, 2, 2, 2, 2, 531, 3, 2, 2, 2, 2, 533, 3, 2, 2, 2, 2, 535, 3, 2, 2, 2, 2, 537, 3, 2, 2, 2, 2, 539, 3, 2, 2, 2, 2, 541, 3, 2, 2, 2, 2, 543, 3, 2, 2, 2, 2, 545, 3, 2, 2, 2, 2, 547, 3, 2, 2, 2, 2, 549, 3, 2, 2, 2, 2, 551, 3, 2, 2, 2, 2, 553, 3, 2, 2, 2, 2, 555, 3, 2, 2, 2, 2, 557, 3, 2, 2, 2, 2, 559, 3, 2, 2, 2, 2, 561, 3, 2, 2, 2, 2, 563, 3, 2, 2, 2, 2, 565, 3, 2, 2, 2, 2, 567, 3, 2, 2, 2, 2, 569, 3, 2, 2, 2, 2, 571, 3, 2, 2, 2, 2, 573, 3, 2, 2, 2, 2, 575, 3, 2, 2, 2, 2, 577, 3, 2, 2, 2, 2, 579, 3, 2, 2, 2, 2, 581, 3, 2, 2, 2, 2, 583, 3, 2, 2, 2, 2, 585, 3, 2, 2, 2, 2, 587, 3, 2, 2, 2, 2, 589, 3, 2, 2, 2, 2, 591, 3, 2, 2, 2, 2, 593, 3, 2, 2, 2, 2, 595, 3, 2, 2, 2, 2, 597, 3, 2, 2, 2, 2, 599, 3, 2, 2, 2, 2, 601, 3, 2, 2, 2, 2, 603, 3, 2, 2, 2, 2, 605, 3, 2, 2, 2, 2, 607, 3, 2, 2, 2, 2, 609, 3, 2, 2, 2, 2, 611, 3, 2, 2, 2, 2, 613, 3, 2, 2, 2, 2, 615, 3, 2, 2, 2, 2, 617, 3, 2, 2, 2, 2, 619, 3, 2, 2, 2, 2, 621, 3, 2, 2, 2, 2, 623, 3, 2, 2, 2, 2, 625, 3, 2, 2, 2, 2, 627, 3, 2, 2, 2, 2, 629, 3, 2, 2, 2, 2, 631, 3, 2, 2, 2, 2, 633, 3, 2, 2, 2, 2, 635, 3, 2, 2, 2, 2, 637, 3, 2, 2, 2, 2, 639, 3, 2, 2, 2, 2, 641, 3, 2, 2, 2, 2, 643, 3, 2, 2, 2, 2, 645, 3, 2, 2, 2, 2, 647, 3, 2, 2, 2, 2, 649, 3, 2, 2, 2, 2, 651, 3, 2, 2, 2, 2, 653, 3, 2, 2, 2, 2, 655, 3, 2, 2, 2, 2, 657, 3, 2, 2, 2, 2, 659, 3, 2, 2, 2, 2, 661, 3, 2, 2, 2, 2, 663, 3, 2, 2, 2, 2, 665, 3, 2, 2, 2, 2, 667, 3, 2, 2, 2, 2, 669, 3, 2, 2, 2, 2, 671, 3, 2, 2, 2, 2, 673, 3, 2, 2, 2, 2, 675, 3, 2, 2, 2, 2, 677, 3, 2, 2, 2, 2, 679, 3, 2, 2, 2, 2, 681, 3, 2, 2, 2, 2, 683, 3, 2, 2, 2, 2, 685, 3, 2, 2, 2, 2, 687, 3, 2, 2, 2, 2, 689, 3, 2, 2, 2, 2, 691, 3, 2, 2, 2, 2, 693, 3, 2, 2, 2, 2, 695, 3, 2, 2, 2, 2, 697, 3, 2, 2, 2, 2, 699, 3, 2, 2, 2, 2, 701, 3, 2, 2, 2, 2, 703, 3, 2, 2, 2, 2, 705, 3, 2, 2, 2, 2, 707, 3, 2, 2, 2, 2, 709, 3, 2, 2, 2, 2, 711, 3, 2, 2, 2, 2, 713, 3, 2, 2, 2, 2, 715, 3, 2, 2, 2, 2, 717, 3, 2, 2, 2, 2, 719, 3, 2, 2, 2, 2, 721, 3, 2, 2, 2, 2, 723, 3, 2, 2, 2, 2, 725, 3, 2, 2, 2, 2, 727, 3, 2, 2, 2, 2, 729, 3, 2, 2, 2, 2, 731, 3, 2, 2, 2, 2, 733, 3, 2, 2, 2, 2, 735, 3, 2, 2, 2, 2, 737, 3, 2, 2, 2, 2, 739, 3, 2, 2, 2, 2, 741, 3, 2, 2, 2, 2, 743, 3, 2, 2, 2, 2, 745, 3, 2, 2, 2, 2, 747, 3, 2, 2, 2, 2, 749, 3, 2, 2, 2, 2, 751, 3, 2, 2, 2, 2, 753, 3, 2, 2, 2, 2, 755, 3, 2, 2, 2, 2, 757, 3, 2, 2, 2, 2, 759, 3, 2, 2, 2, 2, 761, 3, 2, 2, 2, 2, 763, 3, 2, 2, 2, 2, 765, 3, 2, 2, 2, 2, 767, 3, 2, 2, 2, 2, 769, 3, 2, 2, 2, 2, 771, 3, 2, 2, 2, 2, 773, 3, 2, 2, 2, 2, 775, 3, 2, 2, 2, 2, 777, 3, 2, 2, 2, 2, 779, 3, 2, 2, 2, 2, 781, 3, 2, 2, 2, 2, 783, 3, 2, 2, 2, 2, 785, 3, 2, 2, 2, 2, 787, 3, 2, 2, 2, 2, 789, 3, 2, 2, 2, 2, 791, 3, 2, 2, 2, 2, 793, 3, 2, 2, 2, 2, 795, 3, 2, 2, 2, 2, 797, 3, 2, 2, 2, 2, 799, 3, 2, 2, 2, 2, 801, 3, 2, 2, 2, 2, 803, 3, 2, 2, 2, 2, 805, 3, 2, 2, 2, 2, 807, 3, 2, 2, 2, 2, 809, 3, 2, 2, 2, 2, 811, 3, 2, 2, 2, 2, 813, 3, 2, 2, 2, 2, 815, 3, 2, 2, 2, 2, 817, 3, 2, 2, 2, 2, 819, 3, 2, 2, 2, 2, 821, 3, 2, 2, 2, 2, 823, 3, 2, 2, 2, 2, 825, 3, 2, 2, 2, 2, 827, 3, 2, 2, 2, 2, 829, 3, 2, 2, 2, 2, 831, 3, 2, 2, 2, 2, 833, 3, 2, 2, 2, 2, 835, 3, 2, 2, 2, 2, 837, 3, 2, 2, 2, 2, 839, 3, 2, 2, 2, 2, 841, 3, 2, 2, 2, 2, 843, 3, 2, 2, 2, 2, 845, 3, 2, 2, 2, 2, 847, 3, 2, 2, 2, 2, 849, 3, 2, 2, 2, 2, 851, 3, 2, 2, 2, 2, 853, 3, 2, 2, 2, 2, 855, 3, 2, 2, 2, 2, 857, 3, 2, 2, 2, 2, 859, 3, 2, 2, 2, 2, 861, 3, 2, 2, 2, 2, 863, 3, 2, 2, 2, 2, 865, 3, 2, 2, 2, 2, 867, 3, 2, 2, 2, 2, 869, 3, 2, 2, 2, 2, 871, 3, 2, 2, 2, 2, 873, 3, 2, 2, 2, 2, 875, 3, 2, 2, 2, 2, 877, 3, 2, 2, 2, 2, 879, 3, 2, 2, 2, 2, 881, 3, 2, 2, 2, 2, 883, 3, 2, 2, 2, 2, 885, 3, 2, 2, 2, 2, 887, 3, 2, 2, 2, 2, 889, 3, 2, 2, 2, 2, 891, 3, 2, 2, 2, 2, 893, 3, 2, 2, 2, 2, 895, 3, 2, 2, 2, 2, 897, 3, 2, 2, 2, 2, 899, 3, 2, 2, 2, 2, 901, 3, 2, 2, 2, 2, 903, 3, 2, 2, 2, 2, 905, 3, 2, 2, 2, 2, 907, 3, 2, 2, 2, 2, 909, 3, 2, 2, 2, 2, 911, 3, 2, 2, 2, 2, 913, 3, 2, 2, 2, 2, 915, 3, 2, 2, 2, 2, 917, 3, 2, 2, 2, 2, 919, 3, 2, 2, 2, 2, 921, 3, 2, 2, 2, 2, 923, 3, 2, 2, 2, 2, 925, 3, 2, 2, 2, 2, 927, 3, 2, 2, 2, 2, 929, 3, 2, 2, 2, 2, 931, 3, 2, 2, 2, 2, 933, 3, 2, 2, 2, 2, 935, 3, 2, 2, 2, 2, 937, 3, 2, 2, 2, 2, 939, 3, 2, 2, 2, 2, 941, 3, 2, 2, 2, 2, 943, 3, 2, 2, 2, 2, 945, 3, 2, 2, 2, 2, 947, 3, 2, 2, 2, 2, 949, 3, 2, 2, 2, 2, 951, 3, 2, 2, 2, 2, 953, 3, 2, 2, 2, 2, 955, 3, 2, 2, 2, 2, 957, 3, 2, 2, 2, 2, 959, 3, 2, 2, 2, 2, 961, 3, 2, 2, 2, 2, 963, 3, 2, 2, 2, 2, 965, 3, 2, 2, 2, 2, 967, 3, 2, 2, 2, 2, 969, 3, 2, 2, 2, 2, 971, 3, 2, 2, 2, 2, 973, 3, 2, 2, 2, 2, 975, 3, 2, 2, 2, 2, 977, 3, 2, 2, 2, 2, 979, 3, 2, 2, 2, 2, 981, 3, 2, 2, 2, 2, 983, 3, 2, 2, 2, 2, 985, 3, 2, 2, 2, 2, 987, 3, 2, 2, 2, 2, 989, 3, 2, 2, 2, 2, 991, 3, 2, 2, 2, 2, 993, 3, 2, 2, 2, 2, 995, 3, 2, 2, 2, 2, 997, 3, 2, 2, 2, 2, 999, 3, 2, 2, 2, 2, 1001, 3, 2, 2, 2, 2, 1003, 3, 2, 2, 2, 2, 1005, 3, 2, 2, 2, 2, 1007, 3, 2, 2, 2, 2, 1009, 3, 2, 2, 2, 2, 1011, 3, 2, 2, 2, 2, 1013, 3, 2, 2, 2, 2, 1015, 3, 2, 2, 2, 2, 1017, 3, 2, 2, 2, 2, 1019, 3, 2, 2, 2, 2, 1021, 3, 2, 2, 2, 2, 1023, 3, 2, 2, 2, 2, 1025, 3, 2, 2, 2, 2, 1027, 3, 2, 2, 2, 2, 1029, 3, 2, 2, 2, 2, 1031, 3, 2, 2, 2, 2, 1033, 3, 2, 2, 2, 2, 1035, 3, 2, 2, 2, 2, 1037, 3, 2, 2, 2, 2, 1039, 3, 2, 2, 2, 2, 1041, 3, 2, 2, 2, 2, 1043, 3, 2, 2, 2, 2, 1045, 3, 2, 2, 2, 2, 1047, 3, 2, 2, 2, 2, 1049, 3, 2, 2, 2, 2, 1051, 3, 2, 2, 2, 2, 1053, 3, 2, 2, 2, 2, 1055, 3, 2, 2, 2, 2, 1057, 3, 2, 2, 2, 2, 1059, 3, 2, 2, 2, 2, 1061, 3, 2, 2, 2, 2, 1063, 3, 2, 2, 2, 2, 1065, 3, 2, 2, 2, 2, 1067, 3, 2, 2, 2, 2, 1069, 3, 2, 2, 2, 2, 1071, 3, 2, 2, 2, 2, 1073, 3, 2, 2, 2, 2, 1075, 3, 2, 2, 2, 2, 1077, 3, 2, 2, 2, 2, 1079, 3, 2, 2, 2, 2, 1081, 3, 2, 2, 2, 2, 1083, 3, 2, 2, 2, 2, 1085, 3, 2, 2, 2, 2, 1087, 3, 2, 2, 2, 2, 1089, 3, 2, 2, 2, 2, 1091, 3, 2, 2, 2, 2, 1093, 3, 2, 2, 2, 2, 1095, 3, 2, 2, 2, 2, 1097, 3, 2, 2, 2, 2, 1099, 3, 2, 2, 2, 2, 1101, 3, 2, 2, 2, 2, 1103, 3, 2, 2, 2, 2, 1105, 3, 2, 2, 2, 2, 1107, 3, 2, 2, 2, 2, 1109, 3, 2, 2, 2, 2, 1111, 3, 2, 2, 2, 2, 1113, 3, 2, 2, 2, 2, 1115, 3, 2, 2, 2, 2, 1117, 3, 2, 2, 2, 2, 1119, 3, 2, 2, 2, 2, 1121, 3, 2, 2, 2, 2, 1123, 3, 2, 2, 2, 2, 1125, 3, 2, 2, 2, 2, 1127, 3, 2, 2, 2, 2, 1129, 3, 2, 2, 2, 2, 1131, 3, 2, 2, 2, 2, 1133, 3, 2, 2, 2, 2, 1135, 3, 2, 2, 2, 2, 1137, 3, 2, 2, 2, 2, 1139, 3, 2, 2, 2, 2, 1141, 3, 2, 2, 2, 2, 1143, 3, 2, 2, 2, 2, 1145, 3, 2, 2, 2, 2, 1147, 3, 2, 2, 2, 2, 1149, 3, 2, 2, 2, 2, 1151, 3, 2, 2, 2, 2, 1153, 3, 2, 2, 2, 2, 1155, 3, 2, 2, 2, 2, 1157, 3, 2, 2, 2, 2, 1159, 3, 2, 2, 2, 2, 1161, 3, 2, 2, 2, 2, 1163, 3, 2, 2, 2, 2, 1165, 3, 2, 2, 2, 2, 1167, 3, 2, 2, 2, 2, 1169, 3, 2, 2, 2, 2, 1171, 3, 2, 2, 2, 2, 1173, 3, 2, 2, 2, 2, 1175, 3, 2, 2, 2, 2, 1177, 3, 2, 2, 2, 2, 1179, 3, 2, 2, 2, 2, 1181, 3, 2, 2, 2, 2, 1183, 3, 2, 2, 2, 2, 1185, 3, 2, 2, 2, 2, 1187, 3, 2, 2, 2, 2, 1189, 3, 2, 2, 2, 2, 1191, 3, 2, 2, 2, 2, 1193, 3, 2, 2, 2, 2, 1195, 3, 2, 2, 2, 2, 1197, 3, 2, 2, 2, 2, 1199, 3, 2, 2, 2, 2, 1201, 3, 2, 2, 2, 2, 1203, 3, 2, 2, 2, 2, 1205, 3, 2, 2, 2, 2, 1207, 3, 2, 2, 2, 2, 1209, 3, 2, 2, 2, 2, 1211, 3, 2, 2, 2, 2, 1213, 3, 2, 2, 2, 2, 1215, 3, 2, 2, 2, 2, 1217, 3, 2, 2, 2, 2, 1219, 3, 2, 2, 2, 2, 1221, 3, 2, 2, 2, 2, 1223, 3, 2, 2, 2, 2, 1225, 3, 2, 2, 2, 2, 1227, 3, 2, 2, 2, 2, 1229, 3, 2, 2, 2, 2, 1231, 3, 2, 2, 2, 2, 1233, 3, 2, 2, 2, 2, 1235, 3, 2, 2, 2, 2, 1237, 3, 2, 2, 2, 2, 1239, 3, 2, 2, 2, 2, 1241, 3, 2, 2, 2, 2, 1243, 3, 2, 2, 2, 2, 1245, 3, 2, 2, 2, 2, 1247, 3, 2, 2, 2, 2, 1249, 3, 2, 2, 2, 2, 1251, 3, 2, 2, 2, 2, 1253, 3, 2, 2, 2, 2, 1255, 3, 2, 2, 2, 2, 1257, 3, 2, 2, 2, 2, 1259, 3, 2, 2, 2, 2, 1261, 3, 2, 2, 2, 2, 1263, 3, 2, 2, 2, 2, 1265, 3, 2, 2, 2, 2, 1267, 3, 2, 2, 2, 2, 1269, 3, 2, 2, 2, 2, 1271, 3, 2, 2, 2, 2, 1273, 3, 2, 2, 2, 2, 1275, 3, 2, 2, 2, 2, 1277, 3, 2, 2, 2, 2, 1279, 3, 2, 2, 2, 2, 1281, 3, 2, 2, 2, 2, 1283, 3, 2, 2, 2, 2, 1285, 3, 2, 2, 2, 2, 1287, 3, 2, 2, 2, 2, 1289, 3, 2, 2, 2, 2, 1291, 3, 2, 2, 2, 2, 1293, 3, 2, 2, 2, 2, 1295, 3, 2, 2, 2, 2, 1297, 3, 2, 2, 2, 2, 1299, 3, 2, 2, 2, 2, 1301, 3, 2, 2, 2, 2, 1303, 3, 2, 2, 2, 2, 1305, 3, 2, 2, 2, 2, 1307, 3, 2, 2, 2, 2, 1309, 3, 2, 2, 2, 2, 1311, 3, 2, 2, 2, 2, 1313, 3, 2, 2, 2, 2, 1315, 3, 2, 2, 2, 2, 1317, 3, 2, 2, 2, 2, 1319, 3, 2, 2, 2, 2, 1321, 3, 2, 2, 2, 2, 1323, 3, 2, 2, 2, 2, 1325, 3, 2, 2, 2, 2, 1327, 3, 2, 2, 2, 2, 1329, 3, 2, 2, 2, 2, 1331, 3, 2, 2, 2, 2, 1333, 3, 2, 2, 2, 2, 1335, 3, 2, 2, 2, 2, 1337, 3, 2, 2, 2, 2, 1339, 3, 2, 2, 2, 2, 1341, 3, 2, 2, 2, 2, 1343, 3, 2, 2, 2, 2, 1345, 3, 2, 2, 2, 2, 1347, 3, 2, 2, 2, 2, 1349, 3, 2, 2, 2, 2, 1351, 3, 2, 2, 2, 2, 1353, 3, 2, 2, 2, 2, 1355, 3, 2, 2, 2, 2, 1357, 3, 2, 2, 2, 2, 1359, 3, 2, 2, 2, 2, 1361, 3, 2, 2, 2, 2, 1363, 3, 2, 2, 2, 2, 1365, 3, 2, 2, 2, 2, 1367, 3, 2, 2, 2, 2, 1369, 3, 2, 2, 2, 2, 1371, 3, 2, 2, 2, 2, 1373, 3, 2, 2, 2, 2, 1375, 3, 2, 2, 2, 2, 1377, 3, 2, 2, 2, 2, 1379, 3, 2, 2, 2, 2, 1381, 3, 2, 2, 2, 2, 1383, 3, 2, 2, 2, 2, 1385, 3, 2, 2, 2, 2, 1387, 3, 2, 2, 2, 2, 1389, 3, 2, 2, 2, 2, 1391, 3, 2, 2, 2, 2, 1393, 3, 2, 2, 2, 2, 1395, 3, 2, 2, 2, 2, 1397, 3, 2, 2, 2, 2, 1399, 3, 2, 2, 2, 2, 1401, 3, 2, 2, 2, 2, 1403, 3, 2, 2, 2, 2, 1405, 3, 2, 2, 2, 2, 1407, 3, 2, 2, 2, 2, 1409, 3, 2, 2, 2, 2, 1411, 3, 2, 2, 2, 2, 1413, 3, 2, 2, 2, 2, 1415, 3, 2, 2, 2, 2, 1417, 3, 2, 2, 2, 2, 1419, 3, 2, 2, 2, 2, 1421, 3, 2, 2, 2, 2, 1423, 3, 2, 2, 2, 2, 1425, 3, 2, 2, 2, 2, 1427, 3, 2, 2, 2, 2, 1429, 3, 2, 2, 2, 2, 1431, 3, 2, 2, 2, 2, 1433, 3, 2, 2, 2, 2, 1435, 3, 2, 2, 2, 2, 1437, 3, 2, 2, 2, 2, 1439, 3, 2, 2, 2, 2, 1441, 3, 2, 2, 2, 2, 1443, 3, 2, 2, 2, 2, 1445, 3, 2, 2, 2, 2, 1447, 3, 2, 2, 2, 2, 1449, 3, 2, 2, 2, 2, 1451, 3, 2, 2, 2, 2, 1453, 3, 2, 2, 2, 2, 1455, 3, 2, 2, 2, 2, 1457, 3, 2, 2, 2, 2, 1459, 3, 2, 2, 2, 2, 1461, 3, 2, 2, 2, 2, 1463, 3, 2, 2, 2, 2, 1465, 3, 2, 2, 2, 2, 1467, 3, 2, 2, 2, 2, 1469, 3, 2, 2, 2, 2, 1471, 3, 2, 2, 2, 2, 1473, 3, 2, 2, 2, 2, 1475, 3, 2, 2, 2, 2, 1477, 3, 2, 2, 2, 2, 1479, 3, 2, 2, 2, 2, 1481, 3, 2, 2, 2, 2, 1483, 3, 2, 2, 2, 2, 1485, 3, 2, 2, 2, 2, 1487, 3, 2, 2, 2, 2, 1489, 3, 2, 2, 2, 2, 1491, 3, 2, 2, 2, 2, 1493, 3, 2, 2, 2, 2, 1495, 3, 2, 2, 2, 2, 1497, 3, 2, 2, 2, 2, 1499, 3, 2, 2, 2, 2, 1501, 3, 2, 2, 2, 2, 1503, 3, 2, 2, 2, 2, 1505, 3, 2, 2, 2, 2, 1507, 3, 2, 2, 2, 2, 1509, 3, 2, 2, 2, 2, 1511, 3, 2, 2, 2, 2, 1513, 3, 2, 2, 2, 2, 1515, 3, 2, 2, 2, 2, 1517, 3, 2, 2, 2, 2, 1519, 3, 2, 2, 2, 2, 1521, 3, 2, 2, 2, 2, 1523, 3, 2, 2, 2, 2, 1525, 3, 2, 2, 2, 2, 1527, 3, 2, 2, 2, 2, 1529, 3, 2, 2, 2, 2, 1531, 3, 2, 2, 2, 2, 1533, 3, 2, 2, 2, 2, 1535, 3, 2, 2, 2, 2, 1537, 3, 2, 2, 2, 2, 1539, 3, 2, 2, 2, 2, 1541, 3, 2, 2, 2, 2, 1543, 3, 2, 2, 2, 2, 1545, 3, 2, 2, 2, 2, 1547, 3, 2, 2, 2, 2, 1549, 3, 2, 2, 2, 2, 1551, 3, 2, 2, 2, 2, 1553, 3, 2, 2, 2, 2, 1555, 3, 2, 2, 2, 2, 1557, 3, 2, 2, 2, 2, 1559, 3, 2, 2, 2, 2, 1561, 3, 2, 2, 2, 2, 1563, 3, 2, 2, 2, 2, 1565, 3, 2, 2, 2, 2, 1567, 3, 2, 2, 2, 2, 1569, 3, 2, 2, 2, 2, 1571, 3, 2, 2, 2, 2, 1573, 3, 2, 2, 2, 2, 1575, 3, 2, 2, 2, 2, 1577, 3, 2, 2, 2, 2, 1579, 3, 2, 2, 2, 2, 1581, 3, 2, 2, 2, 2, 1583, 3, 2, 2, 2, 2, 1585, 3, 2, 2, 2, 2, 1587, 3, 2, 2, 2, 2, 1589, 3, 2, 2, 2, 2, 1591, 3, 2, 2, 2, 2, 1593, 3, 2, 2, 2, 2, 1595, 3, 2, 2, 2, 2, 1597, 3, 2, 2, 2, 2, 1599, 3, 2, 2, 2, 2, 1601, 3, 2, 2, 2, 2, 1603, 3, 2, 2, 2, 2, 1605, 3, 2, 2, 2, 2, 1607, 3, 2, 2, 2, 2, 1609, 3, 2, 2, 2, 2, 1611, 3, 2, 2, 2, 2, 1613, 3, 2, 2, 2, 2, 1615, 3, 2, 2, 2, 2, 1617, 3, 2, 2, 2, 2, 1619, 3, 2, 2, 2, 2, 1621, 3, 2, 2, 2, 2, 1623, 3, 2, 2, 2, 2, 1625, 3, 2, 2, 2, 2, 1627, 3, 2, 2, 2, 2, 1629, 3, 2, 2, 2, 2, 1631, 3, 2, 2, 2, 2, 1633, 3, 2, 2, 2, 2, 1635, 3, 2, 2, 2, 2, 1637, 3, 2, 2, 2, 2, 1639, 3, 2, 2, 2, 2, 1641, 3, 2, 2, 2, 2, 1643, 3, 2, 2, 2, 2, 1645, 3, 2, 2, 2, 2, 1647, 3, 2, 2, 2, 2, 1649, 3, 2, 2, 2, 2, 1651, 3, 2, 2, 2, 2, 1653, 3, 2, 2, 2, 2, 1655, 3, 2, 2, 2, 2, 1657, 3, 2, 2, 2, 2, 1659, 3, 2, 2, 2, 2, 1661, 3, 2, 2, 2, 2, 1663, 3, 2, 2, 2, 2, 1665, 3, 2, 2, 2, 2, 1667, 3, 2, 2, 2, 2, 1669, 3, 2, 2, 2, 2, 1671, 3, 2, 2, 2, 2, 1673, 3, 2, 2, 2, 2, 1675, 3, 2, 2, 2, 2, 1677, 3, 2, 2, 2, 2, 1679, 3, 2, 2, 2, 2, 1681, 3, 2, 2, 2, 2, 1683, 3, 2, 2, 2, 2, 1685, 3, 2, 2, 2, 2, 1687, 3, 2, 2, 2, 2, 1689, 3, 2, 2, 2, 2, 1691, 3, 2, 2, 2, 2, 1693, 3, 2, 2, 2, 2, 1695, 3, 2, 2, 2, 2, 1697, 3, 2, 2, 2, 2, 1699, 3, 2, 2, 2, 2, 1701, 3, 2, 2, 2, 2, 1703, 3, 2, 2, 2, 2, 1705, 3, 2, 2, 2, 2, 1707, 3, 2, 2, 2, 2, 1709, 3, 2, 2, 2, 2, 1711, 3, 2, 2, 2, 2, 1713, 3, 2, 2, 2, 2, 1715, 3, 2, 2, 2, 2, 1717, 3, 2, 2, 2, 2, 1719, 3, 2, 2, 2, 2, 1721, 3, 2, 2, 2, 2, 1723, 3, 2, 2, 2, 2, 1725, 3, 2, 2, 2, 2, 1727, 3, 2, 2, 2, 2, 1729, 3, 2, 2, 2, 2, 1731, 3, 2, 2, 2, 2, 1733, 3, 2, 2, 2, 2, 1735, 3, 2, 2, 2, 2, 1737, 3, 2, 2, 2, 2, 1739, 3, 2, 2, 2, 2, 1741, 3, 2, 2, 2, 2, 1743, 3, 2, 2, 2, 2, 1745, 3, 2, 2, 2, 2, 1747, 3, 2, 2, 2, 2, 1749, 3, 2, 2, 2, 2, 1751, 3, 2, 2, 2, 2, 1753, 3, 2, 2, 2, 2, 1755, 3, 2, 2, 2, 2, 1757, 3, 2, 2, 2, 2, 1759, 3, 2, 2, 2, 2, 1761, 3, 2, 2, 2, 2, 1763, 3, 2, 2, 2, 2, 1765, 3, 2, 2, 2, 2, 1767, 3, 2, 2, 2, 2, 1769, 3, 2, 2, 2, 2, 1771, 3, 2, 2, 2, 2, 1773, 3, 2, 2, 2, 2, 1775, 3, 2, 2, 2, 2, 1777, 3, 2, 2, 2, 2, 1779, 3, 2, 2, 2, 2, 1781, 3, 2, 2, 2, 2, 1783, 3, 2, 2, 2, 2, 1785, 3, 2, 2, 2, 2, 1787, 3, 2, 2, 2, 2, 1789, 3, 2, 2, 2, 2, 1791, 3, 2, 2, 2, 2, 1793, 3, 2, 2, 2, 2, 1795, 3, 2, 2, 2, 2, 1797, 3, 2, 2, 2, 2, 1799, 3, 2, 2, 2, 2, 1801, 3, 2, 2, 2, 2, 1803, 3, 2, 2, 2, 2, 1805, 3, 2, 2, 2, 2, 1807, 3, 2, 2, 2, 2, 1809, 3, 2, 2, 2, 2, 1811, 3, 2, 2, 2, 2, 1813, 3, 2, 2, 2, 2, 1815, 3, 2, 2, 2, 2, 1817, 3, 2, 2, 2, 2, 1819, 3, 2, 2, 2, 2, 1821, 3, 2, 2, 2, 2, 1823, 3, 2, 2, 2, 2, 1825, 3, 2, 2, 2, 2, 1827, 3, 2, 2, 2, 2, 1829, 3, 2, 2, 2, 2, 1831, 3, 2, 2, 2, 2, 1833, 3, 2, 2, 2, 2, 1835, 3, 2, 2, 2, 2, 1837, 3, 2, 2, 2, 2, 1839, 3, 2, 2, 2, 2, 1841, 3, 2, 2, 2, 2, 1843, 3, 2, 2, 2, 2, 1845, 3, 2, 2, 2, 2, 1847, 3, 2, 2, 2, 2, 1849, 3, 2, 2, 2, 2, 1851, 3, 2, 2, 2, 2, 1853, 3, 2, 2, 2, 2, 1855, 3, 2, 2, 2, 2, 1857, 3, 2, 2, 2, 2, 1859, 3, 2, 2, 2, 2, 1861, 3, 2, 2, 2, 2, 1863, 3, 2, 2, 2, 2, 1865, 3, 2, 2, 2, 2, 1867, 3, 2, 2, 2, 2, 1869, 3, 2, 2, 2, 2, 1871, 3, 2, 2, 2, 2, 1873, 3, 2, 2, 2, 2, 1875, 3, 2, 2, 2, 2, 1877, 3, 2, 2, 2, 2, 1879, 3, 2, 2, 2, 2, 1881, 3, 2, 2, 2, 2, 1883, 3, 2, 2, 2, 2, 1885, 3, 2, 2, 2, 2, 1887, 3, 2, 2, 2, 2, 1889, 3, 2, 2, 2, 2, 1891, 3, 2, 2, 2, 2, 1893, 3, 2, 2, 2, 2, 1895, 3, 2, 2, 2, 2, 1897, 3, 2, 2, 2, 2, 1899, 3, 2, 2, 2, 2, 1901, 3, 2, 2, 2, 2, 1903, 3, 2, 2, 2, 2, 1905, 3, 2, 2, 2, 2, 1907, 3, 2, 2, 2, 2, 1909, 3, 2, 2, 2, 2, 1911, 3, 2, 2, 2, 2, 1913, 3, 2, 2, 2, 2, 1915, 3, 2, 2, 2, 2, 1917, 3, 2, 2, 2, 2, 1919, 3, 2, 2, 2, 2, 1921, 3, 2, 2, 2, 2, 1923, 3, 2, 2, 2, 2, 1925, 3, 2, 2, 2, 2, 1927, 3, 2, 2, 2, 2, 1929, 3, 2, 2, 2, 2, 1931, 3, 2, 2, 2, 2, 1933, 3, 2, 2, 2, 2, 1935, 3, 2, 2, 2, 2, 1937, 3, 2, 2, 2, 2, 1939, 3, 2, 2, 2, 2, 1941, 3, 2, 2, 2, 2, 1943, 3, 2, 2, 2, 2, 1945, 3, 2, 2, 2, 2, 1947, 3, 2, 2, 2, 2, 1949, 3, 2, 2, 2, 2, 1951, 3, 2, 2, 2, 2, 1953, 3, 2, 2, 2, 2, 1955, 3, 2, 2, 2, 2, 1957, 3, 2, 2, 2, 2, 1959, 3, 2, 2, 2, 2, 1961, 3, 2, 2, 2, 2, 1981, 3, 2, 2, 2, 3, 1984, 3, 2, 2, 2, 5, 1990, 3, 2, 2, 2, 7, 2004, 3, 2, 2, 2, 9, 2047, 3, 2, 2, 2, 11, 2051, 3, 2, 2, 2, 13, 2064, 3, 2, 2, 2, 15, 2078, 3, 2, 2, 2, 17, 2082, 3, 2, 2, 2, 19, 2086, 3, 2, 2, 2, 21, 2092, 3, 2, 2, 2, 23, 2099, 3, 2, 2, 2, 25, 2107, 3, 2, 2, 2, 27, 2111, 3, 2, 2, 2, 29, 2114, 3, 2, 2, 2, 31, 2118, 3, 2, 2, 2, 33, 2125, 3, 2, 2, 2, 35, 2133, 3, 2, 2, 2, 37, 2138, 3, 2, 2, 2, 39, 2141, 3, 2, 2, 2, 41, 2146, 3, 2, 2, 2, 43, 2154, 3, 2, 2, 2, 45, 2159, 3, 2, 2, 2, 47, 2164, 3, 2, 2, 2, 49, 2171, 3, 2, 2, 2, 51, 2181, 3, 2, 2, 2, 53, 2187, 3, 2, 2, 2, 55, 2195, 3, 2, 2, 2, 57, 2202, 3, 2, 2, 2, 59, 2212, 3, 2, 2, 2, 61, 2223, 3, 2, 2, 2, 63, 2232, 3, 2, 2, 2, 65, 2240, 3, 2, 2, 2, 67, 2247, 3, 2, 2, 2, 69, 2253, 3, 2, 2, 2, 71, 2266, 3, 2, 2, 2, 73, 2273, 3, 2, 2, 2, 75, 2282, 3, 2, 2, 2, 77, 2292, 3, 2, 2, 2, 79, 2300, 3, 2, 2, 2, 81, 2308, 3, 2, 2, 2, 83, 2316, 3, 2, 2, 2, 85, 2323, 3, 2, 2, 2, 87, 2328, 3, 2, 2, 2, 89, 2337, 3, 2, 2, 2, 91, 2351, 3, 2, 2, 2, 93, 2360, 3, 2, 2, 2, 95, 2372, 3, 2, 2, 2, 97, 2377, 3, 2, 2, 2, 99, 2382, 3, 2, 2, 2, 101, 2387, 3, 2, 2, 2, 103, 2394, 3, 2, 2, 2, 105, 2403, 3, 2, 2, 2, 107, 2411, 3, 2, 2, 2, 109, 2418, 3, 2, 2, 2, 111, 2423, 3, 2, 2, 2, 113, 2431, 3, 2, 2, 2, 115, 2437, 3, 2, 2, 2, 117, 2443, 3, 2, 2, 2, 119, 2447, 3, 2, 2, 2, 121, 2453, 3, 2, 2, 2, 123, 2461, 3, 2, 2, 2, 125, 2466, 3, 2, 2, 2, 127, 2475, 3, 2, 2, 2, 129, 2485, 3, 2, 2, 2, 131, 2491, 3, 2, 2, 2, 133, 2497, 3, 2, 2, 2, 135, 2504, 3, 2, 2, 2, 137, 2518, 3, 2, 2, 2, 139, 2521, 3, 2, 2, 2, 141, 2528, 3, 2, 2, 2, 143, 2531, 3, 2, 2, 2, 145, 2537, 3, 2, 2, 2, 147, 2544, 3, 2, 2, 2, 149, 2550, 3, 2, 2, 2, 151, 2556, 3, 2, 2, 2, 153, 2563, 3, 2, 2, 2, 155, 2572, 3, 2, 2, 2, 157, 2577, 3, 2, 2, 2, 159, 2580, 3, 2, 2, 2, 161, 2588, 3, 2, 2, 2, 163, 2593, 3, 2, 2, 2, 165, 2597, 3, 2, 2, 2, 167, 2602, 3, 2, 2, 2, 169, 2607, 3, 2, 2, 2, 171, 2615, 3, 2, 2, 2, 173, 2621, 3, 2, 2, 2, 175, 2626, 3, 2, 2, 2, 177, 2631, 3, 2, 2, 2, 179, 2637, 3, 2, 2, 2, 181, 2644, 3, 2, 2, 2, 183, 2650, 3, 2, 2, 2, 185, 2655, 3, 2, 2, 2, 187, 2660, 3, 2, 2, 2, 189, 2665, 3, 2, 2, 2, 191, 2678, 3, 2, 2, 2, 193, 2690, 3, 2, 2, 2, 195, 2720, 3, 2, 2, 2, 197, 2726, 3, 2, 2, 2, 199, 2735, 3, 2, 2, 2, 201, 2744, 3, 2, 2, 2, 203, 2752, 3, 2, 2, 2, 205, 2756, 3, 2, 2, 2, 207, 2775, 3, 2, 2, 2, 209, 2780, 3, 2, 2, 2, 211, 2783, 3, 2, 2, 2, 213, 2792, 3, 2, 2, 2, 215, 2799, 3, 2, 2, 2, 217, 2810, 3, 2, 2, 2, 219, 2813, 3, 2, 2, 2, 221, 2819, 3, 2, 2, 2, 223, 2823, 3, 2, 2, 2, 225, 2829, 3, 2, 2, 2, 227, 2837, 3, 2, 2, 2, 229, 2847, 3, 2, 2, 2, 231, 2855, 3, 2, 2, 2, 233, 2865, 3, 2, 2, 2, 235, 2871, 3, 2, 2, 2, 237, 2877, 3, 2, 2, 2, 239, 2882, 3, 2, 2, 2, 241, 2888, 3, 2, 2, 2, 243, 2899, 3, 2, 2, 2, 245, 2906, 3, 2, 2, 2, 247, 2914, 3, 2, 2, 2, 249, 2921, 3, 2, 2, 2, 251, 2928, 3, 2, 2, 2, 253, 2936, 3, 2, 2, 2, 255, 2944, 3, 2, 2, 2, 257, 2953, 3, 2, 2, 2, 259, 2960, 3, 2, 2, 2, 261, 2967, 3, 2, 2, 2, 263, 2973, 3, 2, 2, 2, 265, 2979, 3, 2, 2, 2, 267, 2986, 3, 2, 2, 2, 269, 2994, 3, 2, 2, 2, 271, 3001, 3, 2, 2, 2, 273, 3005, 3, 2, 2, 2, 275, 3015, 3, 2, 2, 2, 277, 3020, 3, 2, 2, 2, 279, 3028, 3, 2, 2, 2, 281, 3032, 3, 2, 2, 2, 283, 3045, 3, 2, 2, 2, 285, 3054, 3, 2, 2, 2, 287, 3065, 3, 2, 2, 2, 289, 3080, 3, 2, 2, 2, 291, 3100, 3, 2, 2, 2, 293, 3117, 3, 2, 2, 2, 295, 3121, 3, 2, 2, 2, 297, 3130, 3, 2, 2, 2, 299, 3144, 3, 2, 2, 2, 301, 3150, 3, 2, 2, 2, 303, 3161, 3, 2, 2, 2, 305, 3166, 3, 2, 2, 2, 307, 3169, 3, 2, 2, 2, 309, 3178, 3, 2, 2, 2, 311, 3186, 3, 2, 2, 2, 313, 3191, 3, 2, 2, 2, 315, 3196, 3, 2, 2, 2, 317, 3202, 3, 2, 2, 2, 319, 3209, 3, 2, 2, 2, 321, 3216, 3, 2, 2, 2, 323, 3225, 3, 2, 2, 2, 325, 3232, 3, 2, 2, 2, 327, 3238, 3, 2, 2, 2, 329, 3242, 3, 2, 2, 2, 331, 3248, 3, 2, 2, 2, 333, 3255, 3, 2, 2, 2, 335, 3260, 3, 2, 2, 2, 337, 3266, 3, 2, 2, 2, 339, 3272, 3, 2, 2, 2, 341, 3277, 3, 2, 2, 2, 343, 3283, 3, 2, 2, 2, 345, 3287, 3, 2, 2, 2, 347, 3296, 3, 2, 2, 2, 349, 3304, 3, 2, 2, 2, 351, 3313, 3, 2, 2, 2, 353, 3323, 3, 2, 2, 2, 355, 3327, 3, 2, 2, 2, 357, 3335, 3, 2, 2, 2, 359, 3342, 3, 2, 2, 2, 361, 3347, 3, 2, 2, 2, 363, 3354, 3, 2, 2, 2, 365, 3360, 3, 2, 2, 2, 367, 3368, 3, 2, 2, 2, 369, 3376, 3, 2, 2, 2, 371, 3381, 3, 2, 2, 2, 373, 3386, 3, 2, 2, 2, 375, 3396, 3, 2, 2, 2, 377, 3405, 3, 2, 2, 2, 379, 3410, 3, 2, 2, 2, 381, 3415, 3, 2, 2, 2, 383, 3423, 3, 2, 2, 2, 385, 3430, 3, 2, 2, 2, 387, 3440, 3, 2, 2, 2, 389, 3449, 3, 2, 2, 2, 391, 3454, 3, 2, 2, 2, 393, 3465, 3, 2, 2, 2, 395, 3474, 3, 2, 2, 2, 397, 3483, 3, 2, 2, 2, 399, 3488, 3, 2, 2, 2, 401, 3499, 3, 2, 2, 2, 403, 3508, 3, 2, 2, 2, 405, 3513, 3, 2, 2, 2, 407, 3520, 3, 2, 2, 2, 409, 3531, 3, 2, 2, 2, 411, 3540, 3, 2, 2, 2, 413, 3551, 3, 2, 2, 2, 415, 3562, 3, 2, 2, 2, 417, 3574, 3, 2, 2, 2, 419, 3586, 3, 2, 2, 2, 421, 3600, 3, 2, 2, 2, 423, 3619, 3, 2, 2, 2, 425, 3638, 3, 2, 2, 2, 427, 3655, 3, 2, 2, 2, 429, 3671, 3, 2, 2, 2, 431, 3675, 3, 2, 2, 2, 433, 3683, 3, 2, 2, 2, 435, 3690, 3, 2, 2, 2, 437, 3698, 3, 2, 2, 2, 439, 3704, 3, 2, 2, 2, 441, 3717, 3, 2, 2, 2, 443, 3721, 3, 2, 2, 2, 445, 3725, 3, 2, 2, 2, 447, 3729, 3, 2, 2, 2, 449, 3736, 3, 2, 2, 2, 451, 3747, 3, 2, 2, 2, 453, 3759, 3, 2, 2, 2, 455, 3763, 3, 2, 2, 2, 457, 3771, 3, 2, 2, 2, 459, 3780, 3, 2, 2, 2, 461, 3789, 3, 2, 2, 2, 463, 3796, 3, 2, 2, 2, 465, 3809, 3, 2, 2, 2, 467, 3822, 3, 2, 2, 2, 469, 3840, 3, 2, 2, 2, 471, 3850, 3, 2, 2, 2, 473, 3858, 3, 2, 2, 2, 475, 3866, 3, 2, 2, 2, 477, 3875, 3, 2, 2, 2, 479, 3884, 3, 2, 2, 2, 481, 3892, 3, 2, 2, 2, 483, 3907, 3, 2, 2, 2, 485, 3911, 3, 2, 2, 2, 487, 3920, 3, 2, 2, 2, 489, 3927, 3, 2, 2, 2, 491, 3937, 3, 2, 2, 2, 493, 3945, 3, 2, 2, 2, 495, 3950, 3, 2, 2, 2, 497, 3959, 3, 2, 2, 2, 499, 3968, 3, 2, 2, 2, 501, 3982, 3, 2, 2, 2, 503, 3990, 3, 2, 2, 2, 505, 3997, 3, 2, 2, 2, 507, 4003, 3, 2, 2, 2, 509, 4013, 3, 2, 2, 2, 511, 4023, 3, 2, 2, 2, 513, 4027, 3, 2, 2, 2, 515, 4030, 3, 2, 2, 2, 517, 4038, 3, 2, 2, 2, 519, 4049, 3, 2, 2, 2, 521, 4065, 3, 2, 2, 2, 523, 4080, 3, 2, 2, 2, 525, 4095, 3, 2, 2, 2, 527, 4101, 3, 2, 2, 2, 529, 4108, 3, 2, 2, 2, 531, 4112, 3, 2, 2, 2, 533, 4118, 3, 2, 2, 2, 535, 4123, 3, 2, 2, 2, 537, 4131, 3, 2, 2, 2, 539, 4137, 3, 2, 2, 2, 541, 4143, 3, 2, 2, 2, 543, 4152, 3, 2, 2, 2, 545, 4158, 3, 2, 2, 2, 547, 4166, 3, 2, 2, 2, 549, 4174, 3, 2, 2, 2, 551, 4183, 3, 2, 2, 2, 553, 4190, 3, 2, 2, 2, 555, 4197, 3, 2, 2, 2, 557, 4203, 3, 2, 2, 2, 559, 4212, 3, 2, 2, 2, 561, 4217, 3, 2, 2, 2, 563, 4225, 3, 2, 2, 2, 565, 4239, 3, 2, 2, 2, 567, 4247, 3, 2, 2, 2, 569, 4254, 3, 2, 2, 2, 571, 4262, 3, 2, 2, 2, 573, 4273, 3, 2, 2, 2, 575, 4284, 3, 2, 2, 2, 577, 4296, 3, 2, 2, 2, 579, 4307, 3, 2, 2, 2, 581, 4318, 3, 2, 2, 2, 583, 4329, 3, 2, 2, 2, 585, 4338, 3, 2, 2, 2, 587, 4346, 3, 2, 2, 2, 589, 4359, 3, 2, 2, 2, 591, 4364, 3, 2, 2, 2, 593, 4368, 3, 2, 2, 2, 595, 4373, 3, 2, 2, 2, 597, 4382, 3, 2, 2, 2, 599, 4393, 3, 2, 2, 2, 601, 4406, 3, 2, 2, 2, 603, 4414, 3, 2, 2, 2, 605, 4430, 3, 2, 2, 2, 607, 4443, 3, 2, 2, 2, 609, 4453, 3, 2, 2, 2, 611, 4461, 3, 2, 2, 2, 613, 4469, 3, 2, 2, 2, 615, 4474, 3, 2, 2, 2, 617, 4477, 3, 2, 2, 2, 619, 4486, 3, 2, 2, 2, 621, 4496, 3, 2, 2, 2, 623, 4504, 3, 2, 2, 2, 625, 4511, 3, 2, 2, 2, 627, 4522, 3, 2, 2, 2, 629, 4526, 3, 2, 2, 2, 631, 4531, 3, 2, 2, 2, 633, 4538, 3, 2, 2, 2, 635, 4546, 3, 2, 2, 2, 637, 4552, 3, 2, 2, 2, 639, 4559, 3, 2, 2, 2, 641, 4566, 3, 2, 2, 2, 643, 4571, 3, 2, 2, 2, 645, 4577, 3, 2, 2, 2, 647, 4584, 3, 2, 2, 2, 649, 4590, 3, 2, 2, 2, 651, 4599, 3, 2, 2, 2, 653, 4609, 3, 2, 2, 2, 655, 4616, 3, 2, 2, 2, 657, 4623, 3, 2, 2, 2, 659, 4632, 3, 2, 2, 2, 661, 4644, 3, 2, 2, 2, 663, 4649, 3, 2, 2, 2, 665, 4656, 3, 2, 2, 2, 667, 4663, 3, 2, 2, 2, 669, 4679, 3, 2, 2, 2, 671, 4686, 3, 2, 2, 2, 673, 4692, 3, 2, 2, 2, 675, 4698, 3, 2, 2, 2, 677, 4704, 3, 2, 2, 2, 679, 4712, 3, 2, 2, 2, 681, 4718, 3, 2, 2, 2, 683, 4723, 3, 2, 2, 2, 685, 4732, 3, 2, 2, 2, 687, 4740, 3, 2, 2, 2, 689, 4747, 3, 2, 2, 2, 691, 4754, 3, 2, 2, 2, 693, 4772, 3, 2, 2, 2, 695, 4780, 3, 2, 2, 2, 697, 4785, 3, 2, 2, 2, 699, 4790, 3, 2, 2, 2, 701, 4795, 3, 2, 2, 2, 703, 4801, 3, 2, 2, 2, 705, 4812, 3, 2, 2, 2, 707, 4830, 3, 2, 2, 2, 709, 4837, 3, 2, 2, 2, 711, 4845, 3, 2, 2, 2, 713, 4858, 3, 2, 2, 2, 715, 4866, 3, 2, 2, 2, 717, 4880, 3, 2, 2, 2, 719, 4888, 3, 2, 2, 2, 721, 4897, 3, 2, 2, 2, 723, 4905, 3, 2, 2, 2, 725, 4908, 3, 2, 2, 2, 727, 4918, 3, 2, 2, 2, 729, 4922, 3, 2, 2, 2, 731, 4932, 3, 2, 2, 2, 733, 4939, 3, 2, 2, 2, 735, 4944, 3, 2, 2, 2, 737, 4959, 3, 2, 2, 2, 739, 4968, 3, 2, 2, 2, 741, 4973, 3, 2, 2, 2, 743, 4980, 3, 2, 2, 2, 745, 4985, 3, 2, 2, 2, 747, 4991, 3, 2, 2, 2, 749, 4996, 3, 2, 2, 2, 751, 5002, 3, 2, 2, 2, 753, 5010, 3, 2, 2, 2, 755, 5015, 3, 2, 2, 2, 757, 5022, 3, 2, 2, 2, 759, 5043, 3, 2, 2, 2, 761, 5064, 3, 2, 2, 2, 763, 5077, 3, 2, 2, 2, 765, 5101, 3, 2, 2, 2, 767, 5113, 3, 2, 2, 2, 769, 5129, 3, 2, 2, 2, 771, 5144, 3, 2, 2, 2, 773, 5160, 3, 2, 2, 2, 775, 5172, 3, 2, 2, 2, 777, 5191, 3, 2, 2, 2, 779, 5202, 3, 2, 2, 2, 781, 5216, 3, 2, 2, 2, 783, 5234, 3, 2, 2, 2, 785, 5250, 3, 2, 2, 2, 787, 5268, 3, 2, 2, 2, 789, 5283, 3, 2, 2, 2, 791, 5302, 3, 2, 2, 2, 793, 5317, 3, 2, 2, 2, 795, 5336, 3, 2, 2, 2, 797, 5348, 3, 2, 2, 2, 799, 5373, 3, 2, 2, 2, 801, 5394, 3, 2, 2, 2, 803, 5403, 3, 2, 2, 2, 805, 5412, 3, 2, 2, 2, 807, 5433, 3, 2, 2, 2, 809, 5454, 3, 2, 2, 2, 811, 5461, 3, 2, 2, 2, 813, 5467, 3, 2, 2, 2, 815, 5471, 3, 2, 2, 2, 817, 5479, 3, 2, 2, 2, 819, 5488, 3, 2, 2, 2, 821, 5493, 3, 2, 2, 2, 823, 5500, 3, 2, 2, 2, 825, 5506, 3, 2, 2, 2, 827, 5512, 3, 2, 2, 2, 829, 5517, 3, 2, 2, 2, 831, 5523, 3, 2, 2, 2, 833, 5529, 3, 2, 2, 2, 835, 5535, 3, 2, 2, 2, 837, 5540, 3, 2, 2, 2, 839, 5543, 3, 2, 2, 2, 841, 5553, 3, 2, 2, 2, 843, 5558, 3, 2, 2, 2, 845, 5566, 3, 2, 2, 2, 847, 5573, 3, 2, 2, 2, 849, 5576, 3, 2, 2, 2, 851, 5589, 3, 2, 2, 2, 853, 5593, 3, 2, 2, 2, 855, 5600, 3, 2, 2, 2, 857, 5605, 3, 2, 2, 2, 859, 5610, 3, 2, 2, 2, 861, 5626, 3, 2, 2, 2, 863, 5634, 3, 2, 2, 2, 865, 5640, 3, 2, 2, 2, 867, 5650, 3, 2, 2, 2, 869, 5655, 3, 2, 2, 2, 871, 5662, 3, 2, 2, 2, 873, 5670, 3, 2, 2, 2, 875, 5683, 3, 2, 2, 2, 877, 5694, 3, 2, 2, 2, 879, 5703, 3, 2, 2, 2, 881, 5709, 3, 2, 2, 2, 883, 5716, 3, 2, 2, 2, 885, 5727, 3, 2, 2, 2, 887, 5735, 3, 2, 2, 2, 889, 5740, 3, 2, 2, 2, 891, 5749, 3, 2, 2, 2, 893, 5757, 3, 2, 2, 2, 895, 5766, 3, 2, 2, 2, 897, 5771, 3, 2, 2, 2, 899, 5783, 3, 2, 2, 2, 901, 5791, 3, 2, 2, 2, 903, 5800, 3, 2, 2, 2, 905, 5806, 3, 2, 2, 2, 907, 5812, 3, 2, 2, 2, 909, 5818, 3, 2, 2, 2, 911, 5826, 3, 2, 2, 2, 913, 5834, 3, 2, 2, 2, 915, 5851, 3, 2, 2, 2, 917, 5861, 3, 2, 2, 2, 919, 5867, 3, 2, 2, 2, 921, 5882, 3, 2, 2, 2, 923, 5896, 3, 2, 2, 2, 925, 5905, 3, 2, 2, 2, 927, 5912, 3, 2, 2, 2, 929, 5923, 3, 2, 2, 2, 931, 5930, 3, 2, 2, 2, 933, 5946, 3, 2, 2, 2, 935, 5965, 3, 2, 2, 2, 937, 5985, 3, 2, 2, 2, 939, 6008, 3, 2, 2, 2, 941, 6029, 3, 2, 2, 2, 943, 6053, 3, 2, 2, 2, 945, 6081, 3, 2, 2, 2, 947, 6093, 3, 2, 2, 2, 949, 6099, 3, 2, 2, 2, 951, 6106, 3, 2, 2, 2, 953, 6114, 3, 2, 2, 2, 955, 6123, 3, 2, 2, 2, 957, 6130, 3, 2, 2, 2, 959, 6137, 3, 2, 2, 2, 961, 6141, 3, 2, 2, 2, 963, 6146, 3, 2, 2, 2, 965, 6157, 3, 2, 2, 2, 967, 6167, 3, 2, 2, 2, 969, 6176, 3, 2, 2, 2, 971, 6185, 3, 2, 2, 2, 973, 6192, 3, 2, 2, 2, 975, 6200, 3, 2, 2, 2, 977, 6206, 3, 2, 2, 2, 979, 6213, 3, 2, 2, 2, 981, 6220, 3, 2, 2, 2, 983, 6227, 3, 2, 2, 2, 985, 6233, 3, 2, 2, 2, 987, 6238, 3, 2, 2, 2, 989, 6247, 3, 2, 2, 2, 991, 6254, 3, 2, 2, 2, 993, 6259, 3, 2, 2, 2, 995, 6266, 3, 2, 2, 2, 997, 6273, 3, 2, 2, 2, 999, 6280, 3, 2, 2, 2, 1001, 6296, 3, 2, 2, 2, 1003, 6315, 3, 2, 2, 2, 1005, 6332, 3, 2, 2, 2, 1007, 6350, 3, 2, 2, 2, 1009, 6360, 3, 2, 2, 2, 1011, 6373, 3, 2, 2, 2, 1013, 6384, 3, 2, 2, 2, 1015, 6390, 3, 2, 2, 2, 1017, 6397, 3, 2, 2, 2, 1019, 6415, 3, 2, 2, 2, 1021, 6432, 3, 2, 2, 2, 1023, 6451, 3, 2, 2, 2, 1025, 6458, 3, 2, 2, 2, 1027, 6463, 3, 2, 2, 2, 1029, 6471, 3, 2, 2, 2, 1031, 6478, 3, 2, 2, 2, 1033, 6485, 3, 2, 2, 2, 1035, 6493, 3, 2, 2, 2, 1037, 6506, 3, 2, 2, 2, 1039, 6520, 3, 2, 2, 2, 1041, 6528, 3, 2, 2, 2, 1043, 6534, 3, 2, 2, 2, 1045, 6543, 3, 2, 2, 2, 1047, 6554, 3, 2, 2, 2, 1049, 6564, 3, 2, 2, 2, 1051, 6574, 3, 2, 2, 2, 1053, 6579, 3, 2, 2, 2, 1055, 6591, 3, 2, 2, 2, 1057, 6603, 3, 2, 2, 2, 1059, 6612, 3, 2, 2, 2, 1061, 6621, 3, 2, 2, 2, 1063, 6631, 3, 2, 2, 2, 1065, 6640, 3, 2, 2, 2, 1067, 6657, 3, 2, 2, 2, 1069, 6667, 3, 2, 2, 2, 1071, 6675, 3, 2, 2, 2, 1073, 6681, 3, 2, 2, 2, 1075, 6689, 3, 2, 2, 2, 1077, 6694, 3, 2, 2, 2, 1079, 6702, 3, 2, 2, 2, 1081, 6717, 3, 2, 2, 2, 1083, 6728, 3, 2, 2, 2, 1085, 6734, 3, 2, 2, 2, 1087, 6744, 3, 2, 2, 2, 1089, 6749, 3, 2, 2, 2, 1091, 6757, 3, 2, 2, 2, 1093, 6762, 3, 2, 2, 2, 1095, 6771, 3, 2, 2, 2, 1097, 6779, 3, 2, 2, 2, 1099, 6784, 3, 2, 2, 2, 1101, 6792, 3, 2, 2, 2, 1103, 6797, 3, 2, 2, 2, 1105, 6800, 3, 2, 2, 2, 1107, 6804, 3, 2, 2, 2, 1109, 6808, 3, 2, 2, 2, 1111, 6812, 3, 2, 2, 2, 1113, 6816, 3, 2, 2, 2, 1115, 6820, 3, 2, 2, 2, 1117, 6829, 3, 2, 2, 2, 1119, 6837, 3, 2, 2, 2, 1121, 6843, 3, 2, 2, 2, 1123, 6847, 3, 2, 2, 2, 1125, 6852, 3, 2, 2, 2, 1127, 6859, 3, 2, 2, 2, 1129, 6864, 3, 2, 2, 2, 1131, 6871, 3, 2, 2, 2, 1133, 6883, 3, 2, 2, 2, 1135, 6890, 3, 2, 2, 2, 1137, 6898, 3, 2, 2, 2, 1139, 6906, 3, 2, 2, 2, 1141, 6911, 3, 2, 2, 2, 1143, 6919, 3, 2, 2, 2, 1145, 6926, 3, 2, 2, 2, 1147, 6935, 3, 2, 2, 2, 1149, 6941, 3, 2, 2, 2, 1151, 6952, 3, 2, 2, 2, 1153, 6961, 3, 2, 2, 2, 1155, 6967, 3, 2, 2, 2, 1157, 6972, 3, 2, 2, 2, 1159, 6979, 3, 2, 2, 2, 1161, 6986, 3, 2, 2, 2, 1163, 6993, 3, 2, 2, 2, 1165, 7000, 3, 2, 2, 2, 1167, 7006, 3, 2, 2, 2, 1169, 7012, 3, 2, 2, 2, 1171, 7018, 3, 2, 2, 2, 1173, 7024, 3, 2, 2, 2, 1175, 7029, 3, 2, 2, 2, 1177, 7037, 3, 2, 2, 2, 1179, 7043, 3, 2, 2, 2, 1181, 7050, 3, 2, 2, 2, 1183, 7054, 3, 2, 2, 2, 1185, 7062, 3, 2, 2, 2, 1187, 7068, 3, 2, 2, 2, 1189, 7075, 3, 2, 2, 2, 1191, 7079, 3, 2, 2, 2, 1193, 7087, 3, 2, 2, 2, 1195, 7093, 3, 2, 2, 2, 1197, 7099, 3, 2, 2, 2, 1199, 7106, 3, 2, 2, 2, 1201, 7113, 3, 2, 2, 2, 1203, 7120, 3, 2, 2, 2, 1205, 7127, 3, 2, 2, 2, 1207, 7133, 3, 2, 2, 2, 1209, 7142, 3, 2, 2, 2, 1211, 7147, 3, 2, 2, 2, 1213, 7152, 3, 2, 2, 2, 1215, 7159, 3, 2, 2, 2, 1217, 7164, 3, 2, 2, 2, 1219, 7169, 3, 2, 2, 2, 1221, 7175, 3, 2, 2, 2, 1223, 7183, 3, 2, 2, 2, 1225, 7189, 3, 2, 2, 2, 1227, 7194, 3, 2, 2, 2, 1229, 7202, 3, 2, 2, 2, 1231, 7210, 3, 2, 2, 2, 1233, 7218, 3, 2, 2, 2, 1235, 7228, 3, 2, 2, 2, 1237, 7232, 3, 2, 2, 2, 1239, 7242, 3, 2, 2, 2, 1241, 7249, 3, 2, 2, 2, 1243, 7256, 3, 2, 2, 2, 1245, 7267, 3, 2, 2, 2, 1247, 7274, 3, 2, 2, 2, 1249, 7278, 3, 2, 2, 2, 1251, 7289, 3, 2, 2, 2, 1253, 7307, 3, 2, 2, 2, 1255, 7318, 3, 2, 2, 2, 1257, 7328, 3, 2, 2, 2, 1259, 7340, 3, 2, 2, 2, 1261, 7353, 3, 2, 2, 2, 1263, 7372, 3, 2, 2, 2, 1265, 7383, 3, 2, 2, 2, 1267, 7399, 3, 2, 2, 2, 1269, 7410, 3, 2, 2, 2, 1271, 7423, 3, 2, 2, 2, 1273, 7429, 3, 2, 2, 2, 1275, 7437, 3, 2, 2, 2, 1277, 7441, 3, 2, 2, 2, 1279, 7446, 3, 2, 2, 2, 1281, 7454, 3, 2, 2, 2, 1283, 7462, 3, 2, 2, 2, 1285, 7474, 3, 2, 2, 2, 1287, 7486, 3, 2, 2, 2, 1289, 7491, 3, 2, 2, 2, 1291, 7500, 3, 2, 2, 2, 1293, 7505, 3, 2, 2, 2, 1295, 7512, 3, 2, 2, 2, 1297, 7518, 3, 2, 2, 2, 1299, 7524, 3, 2, 2, 2, 1301, 7543, 3, 2, 2, 2, 1303, 7561, 3, 2, 2, 2, 1305, 7580, 3, 2, 2, 2, 1307, 7596, 3, 2, 2, 2, 1309, 7614, 3, 2, 2, 2, 1311, 7619, 3, 2, 2, 2, 1313, 7625, 3, 2, 2, 2, 1315, 7635, 3, 2, 2, 2, 1317, 7639, 3, 2, 2, 2, 1319, 7649, 3, 2, 2, 2, 1321, 7660, 3, 2, 2, 2, 1323, 7667, 3, 2, 2, 2, 1325, 7672, 3, 2, 2, 2, 1327, 7680, 3, 2, 2, 2, 1329, 7689, 3, 2, 2, 2, 1331, 7706, 3, 2, 2, 2, 1333, 7714, 3, 2, 2, 2, 1335, 7726, 3, 2, 2, 2, 1337, 7739, 3, 2, 2, 2, 1339, 7749, 3, 2, 2, 2, 1341, 7758, 3, 2, 2, 2, 1343, 7765, 3, 2, 2, 2, 1345, 7775, 3, 2, 2, 2, 1347, 7789, 3, 2, 2, 2, 1349, 7794, 3, 2, 2, 2, 1351, 7805, 3, 2, 2, 2, 1353, 7809, 3, 2, 2, 2, 1355, 7813, 3, 2, 2, 2, 1357, 7819, 3, 2, 2, 2, 1359, 7846, 3, 2, 2, 2, 1361, 7872, 3, 2, 2, 2, 1363, 7893, 3, 2, 2, 2, 1365, 7907, 3, 2, 2, 2, 1367, 7915, 3, 2, 2, 2, 1369, 7924, 3, 2, 2, 2, 1371, 7936, 3, 2, 2, 2, 1373, 7944, 3, 2, 2, 2, 1375, 7955, 3, 2, 2, 2, 1377, 7965, 3, 2, 2, 2, 1379, 7975, 3, 2, 2, 2, 1381, 7982, 3, 2, 2, 2, 1383, 7990, 3, 2, 2, 2, 1385, 8002, 3, 2, 2, 2, 1387, 8014, 3, 2, 2, 2, 1389, 8024, 3, 2, 2, 2, 1391, 8033, 3, 2, 2, 2, 1393, 8037, 3, 2, 2, 2, 1395, 8044, 3, 2, 2, 2, 1397, 8052, 3, 2, 2, 2, 1399, 8061, 3, 2, 2, 2, 1401, 8070, 3, 2, 2, 2, 1403, 8077, 3, 2, 2, 2, 1405, 8081, 3, 2, 2, 2, 1407, 8092, 3, 2, 2, 2, 1409, 8105, 3, 2, 2, 2, 1411, 8118, 3, 2, 2, 2, 1413, 8124, 3, 2, 2, 2, 1415, 8136, 3, 2, 2, 2, 1417, 8142, 3, 2, 2, 2, 1419, 8149, 3, 2, 2, 2, 1421, 8160, 3, 2, 2, 2, 1423, 8172, 3, 2, 2, 2, 1425, 8182, 3, 2, 2, 2, 1427, 8196, 3, 2, 2, 2, 1429, 8213, 3, 2, 2, 2, 1431, 8229, 3, 2, 2, 2, 1433, 8256, 3, 2, 2, 2, 1435, 8282, 3, 2, 2, 2, 1437, 8299, 3, 2, 2, 2, 1439, 8315, 3, 2, 2, 2, 1441, 8325, 3, 2, 2, 2, 1443, 8338, 3, 2, 2, 2, 1445, 8351, 3, 2, 2, 2, 1447, 8363, 3, 2, 2, 2, 1449, 8374, 3, 2, 2, 2, 1451, 8383, 3, 2, 2, 2, 1453, 8391, 3, 2, 2, 2, 1455, 8400, 3, 2, 2, 2, 1457, 8412, 3, 2, 2, 2, 1459, 8426, 3, 2, 2, 2, 1461, 8430, 3, 2, 2, 2, 1463, 8437, 3, 2, 2, 2, 1465, 8448, 3, 2, 2, 2, 1467, 8459, 3, 2, 2, 2, 1469, 8469, 3, 2, 2, 2, 1471, 8479, 3, 2, 2, 2, 1473, 8485, 3, 2, 2, 2, 1475, 8499, 3, 2, 2, 2, 1477, 8510, 3, 2, 2, 2, 1479, 8519, 3, 2, 2, 2, 1481, 8527, 3, 2, 2, 2, 1483, 8534, 3, 2, 2, 2, 1485, 8543, 3, 2, 2, 2, 1487, 8556, 3, 2, 2, 2, 1489, 8564, 3, 2, 2, 2, 1491, 8579, 3, 2, 2, 2, 1493, 8594, 3, 2, 2, 2, 1495, 8602, 3, 2, 2, 2, 1497, 8615, 3, 2, 2, 2, 1499, 8630, 3, 2, 2, 2, 1501, 8636, 3, 2, 2, 2, 1503, 8642, 3, 2, 2, 2, 1505, 8649, 3, 2, 2, 2, 1507, 8662, 3, 2, 2, 2, 1509, 8674, 3, 2, 2, 2, 1511, 8693, 3, 2, 2, 2, 1513, 8711, 3, 2, 2, 2, 1515, 8714, 3, 2, 2, 2, 1517, 8724, 3, 2, 2, 2, 1519, 8731, 3, 2, 2, 2, 1521, 8735, 3, 2, 2, 2, 1523, 8741, 3, 2, 2, 2, 1525, 8746, 3, 2, 2, 2, 1527, 8752, 3, 2, 2, 2, 1529, 8757, 3, 2, 2, 2, 1531, 8763, 3, 2, 2, 2, 1533, 8772, 3, 2, 2, 2, 1535, 8781, 3, 2, 2, 2, 1537, 8790, 3, 2, 2, 2, 1539, 8806, 3, 2, 2, 2, 1541, 8818, 3, 2, 2, 2, 1543, 8830, 3, 2, 2, 2, 1545, 8839, 3, 2, 2, 2, 1547, 8853, 3, 2, 2, 2, 1549, 8865, 3, 2, 2, 2, 1551, 8876, 3, 2, 2, 2, 1553, 8886, 3, 2, 2, 2, 1555, 8890, 3, 2, 2, 2, 1557, 8904, 3, 2, 2, 2, 1559, 8917, 3, 2, 2, 2, 1561, 8927, 3, 2, 2, 2, 1563, 8942, 3, 2, 2, 2, 1565, 8956, 3, 2, 2, 2, 1567, 8970, 3, 2, 2, 2, 1569, 8983, 3, 2, 2, 2, 1571, 9007, 3, 2, 2, 2, 1573, 9030, 3, 2, 2, 2, 1575, 9049, 3, 2, 2, 2, 1577, 9067, 3, 2, 2, 2, 1579, 9088, 3, 2, 2, 2, 1581, 9108, 3, 2, 2, 2, 1583, 9119, 3, 2, 2, 2, 1585, 9126, 3, 2, 2, 2, 1587, 9140, 3, 2, 2, 2, 1589, 9157, 3, 2, 2, 2, 1591, 9167, 3, 2, 2, 2, 1593, 9171, 3, 2, 2, 2, 1595, 9184, 3, 2, 2, 2, 1597, 9188, 3, 2, 2, 2, 1599, 9197, 3, 2, 2, 2, 1601, 9208, 3, 2, 2, 2, 1603, 9220, 3, 2, 2, 2, 1605, 9223, 3, 2, 2, 2, 1607, 9237, 3, 2, 2, 2, 1609, 9250, 3, 2, 2, 2, 1611, 9257, 3, 2, 2, 2, 1613, 9270, 3, 2, 2, 2, 1615, 9282, 3, 2, 2, 2, 1617, 9298, 3, 2, 2, 2, 1619, 9313, 3, 2, 2, 2, 1621, 9317, 3, 2, 2, 2, 1623, 9323, 3, 2, 2, 2, 1625, 9329, 3, 2, 2, 2, 1627, 9337, 3, 2, 2, 2, 1629, 9342, 3, 2, 2, 2, 1631, 9355, 3, 2, 2, 2, 1633, 9368, 3, 2, 2, 2, 1635, 9376, 3, 2, 2, 2, 1637, 9382, 3, 2, 2, 2, 1639, 9392, 3, 2, 2, 2, 1641, 9397, 3, 2, 2, 2, 1643, 9403, 3, 2, 2, 2, 1645, 9415, 3, 2, 2, 2, 1647, 9428, 3, 2, 2, 2, 1649, 9432, 3, 2, 2, 2, 1651, 9437, 3, 2, 2, 2, 1653, 9442, 3, 2, 2, 2, 1655, 9447, 3, 2, 2, 2, 1657, 9451, 3, 2, 2, 2, 1659, 9457, 3, 2, 2, 2, 1661, 9465, 3, 2, 2, 2, 1663, 9493, 3, 2, 2, 2, 1665, 9498, 3, 2, 2, 2, 1667, 9503, 3, 2, 2, 2, 1669, 9514, 3, 2, 2, 2, 1671, 9521, 3, 2, 2, 2, 1673, 9533, 3, 2, 2, 2, 1675, 9541, 3, 2, 2, 2, 1677, 9553, 3, 2, 2, 2, 1679, 9563, 3, 2, 2, 2, 1681, 9572, 3, 2, 2, 2, 1683, 9581, 3, 2, 2, 2, 1685, 9591, 3, 2, 2, 2, 1687, 9603, 3, 2, 2, 2, 1689, 9615, 3, 2, 2, 2, 1691, 9626, 3, 2, 2, 2, 1693, 9640, 3, 2, 2, 2, 1695, 9653, 3, 2, 2, 2, 1697, 9665, 3, 2, 2, 2, 1699, 9677, 3, 2, 2, 2, 1701, 9689, 3, 2, 2, 2, 1703, 9701, 3, 2, 2, 2, 1705, 9711, 3, 2, 2, 2, 1707, 9727, 3, 2, 2, 2, 1709, 9747, 3, 2, 2, 2, 1711, 9766, 3, 2, 2, 2, 1713, 9785, 3, 2, 2, 2, 1715, 9815, 3, 2, 2, 2, 1717, 9844, 3, 2, 2, 2, 1719, 9864, 3, 2, 2, 2, 1721, 9883, 3, 2, 2, 2, 1723, 9896, 3, 2, 2, 2, 1725, 9912, 3, 2, 2, 2, 1727, 9928, 3, 2, 2, 2, 1729, 9943, 3, 2, 2, 2, 1731, 9960, 3, 2, 2, 2, 1733, 9976, 3, 2, 2, 2, 1735, 9990, 3, 2, 2, 2, 1737, 10002, 3, 2, 2, 2, 1739, 10013, 3, 2, 2, 2, 1741, 10025, 3, 2, 2, 2, 1743, 10041, 3, 2, 2, 2, 1745, 10056, 3, 2, 2, 2, 1747, 10078, 3, 2, 2, 2, 1749, 10099, 3, 2, 2, 2, 1751, 10116, 3, 2, 2, 2, 1753, 10135, 3, 2, 2, 2, 1755, 10155, 3, 2, 2, 2, 1757, 10168, 3, 2, 2, 2, 1759, 10180, 3, 2, 2, 2, 1761, 10197, 3, 2, 2, 2, 1763, 10213, 3, 2, 2, 2, 1765, 10223, 3, 2, 2, 2, 1767, 10239, 3, 2, 2, 2, 1769, 10254, 3, 2, 2, 2, 1771, 10273, 3, 2, 2, 2, 1773, 10291, 3, 2, 2, 2, 1775, 10299, 3, 2, 2, 2, 1777, 10313, 3, 2, 2, 2, 1779, 10330, 3, 2, 2, 2, 1781, 10341, 3, 2, 2, 2, 1783, 10350, 3, 2, 2, 2, 1785, 10360, 3, 2, 2, 2, 1787, 10365, 3, 2, 2, 2, 1789, 10370, 3, 2, 2, 2, 1791, 10378, 3, 2, 2, 2, 1793, 10394, 3, 2, 2, 2, 1795, 10402, 3, 2, 2, 2, 1797, 10414, 3, 2, 2, 2, 1799, 10418, 3, 2, 2, 2, 1801, 10427, 3, 2, 2, 2, 1803, 10440, 3, 2, 2, 2, 1805, 10454, 3, 2, 2, 2, 1807, 10466, 3, 2, 2, 2, 1809, 10478, 3, 2, 2, 2, 1811, 10486, 3, 2, 2, 2, 1813, 10496, 3, 2, 2, 2, 1815, 10504, 3, 2, 2, 2, 1817, 10515, 3, 2, 2, 2, 1819, 10521, 3, 2, 2, 2, 1821, 10532, 3, 2, 2, 2, 1823, 10552, 3, 2, 2, 2, 1825, 10558, 3, 2, 2, 2, 1827, 10573, 3, 2, 2, 2, 1829, 10583, 3, 2, 2, 2, 1831, 10589, 3, 2, 2, 2, 1833, 10594, 3, 2, 2, 2, 1835, 10605, 3, 2, 2, 2, 1837, 10632, 3, 2, 2, 2, 1839, 10640, 3, 2, 2, 2, 1841, 10674, 3, 2, 2, 2, 1843, 10682, 3, 2, 2, 2, 1845, 10693, 3, 2, 2, 2, 1847, 10707, 3, 2, 2, 2, 1849, 10714, 3, 2, 2, 2, 1851, 10723, 3, 2, 2, 2, 1853, 10725, 3, 2, 2, 2, 1855, 10727, 3, 2, 2, 2, 1857, 10730, 3, 2, 2, 2, 1859, 10733, 3, 2, 2, 2, 1861, 10736, 3, 2, 2, 2, 1863, 10739, 3, 2, 2, 2, 1865, 10742, 3, 2, 2, 2, 1867, 10745, 3, 2, 2, 2, 1869, 10748, 3, 2, 2, 2, 1871, 10751, 3, 2, 2, 2, 1873, 10754, 3, 2, 2, 2, 1875, 10756, 3, 2, 2, 2, 1877, 10758, 3, 2, 2, 2, 1879, 10760, 3, 2, 2, 2, 1881, 10762, 3, 2, 2, 2, 1883, 10765, 3, 2, 2, 2, 1885, 10767, 3, 2, 2, 2, 1887, 10771, 3, 2, 2, 2, 1889, 10775, 3, 2, 2, 2, 1891, 10777, 3, 2, 2, 2, 1893, 10779, 3, 2, 2, 2, 1895, 10781, 3, 2, 2, 2, 1897, 10783, 3, 2, 2, 2, 1899, 10785, 3, 2, 2, 2, 1901, 10787, 3, 2, 2, 2, 1903, 10789, 3, 2, 2, 2, 1905, 10791, 3, 2, 2, 2, 1907, 10793, 3, 2, 2, 2, 1909, 10795, 3, 2, 2, 2, 1911, 10797, 3, 2, 2, 2, 1913, 10799, 3, 2, 2, 2, 1915, 10801, 3, 2, 2, 2, 1917, 10803, 3, 2, 2, 2, 1919, 10805, 3, 2, 2, 2, 1921, 10807, 3, 2, 2, 2, 1923, 10809, 3, 2, 2, 2, 1925, 10811, 3, 2, 2, 2, 1927, 10813, 3, 2, 2, 2, 1929, 10815, 3, 2, 2, 2, 1931, 10817, 3, 2, 2, 2, 1933, 10822, 3, 2, 2, 2, 1935, 10828, 3, 2, 2, 2, 1937, 10833, 3, 2, 2, 2, 1939, 10836, 3, 2, 2, 2, 1941, 10859, 3, 2, 2, 2, 1943, 10904, 3, 2, 2, 2, 1945, 10906, 3, 2, 2, 2, 1947, 10909, 3, 2, 2, 2, 1949, 10911, 3, 2, 2, 2, 1951, 10914, 3, 2, 2, 2, 1953, 10917, 3, 2, 2, 2, 1955, 10919, 3, 2, 2, 2, 1957, 10931, 3, 2, 2, 2, 1959, 10940, 3, 2, 2, 2, 1961, 10951, 3, 2, 2, 2, 1963, 11001, 3, 2, 2, 2, 1965, 11003, 3, 2, 2, 2, 1967, 11015, 3, 2, 2, 2, 1969, 11029, 3, 2, 2, 2, 1971, 11042, 3, 2, 2, 2, 1973, 11055, 3, 2, 2, 2, 1975, 11068, 3, 2, 2, 2, 1977, 11070, 3, 2, 2, 2, 1979, 11072, 3, 2, 2, 2, 1981, 11081, 3, 2, 2, 2, 1983, 1985, 9, 2, 2, 2, 1984, 1983, 3, 2, 2, 2, 1985, 1986, 3, 2, 2, 2, 1986, 1984, 3, 2, 2, 2, 1986, 1987, 3, 2, 2, 2, 1987, 1988, 3, 2, 2, 2, 1988, 1989, 8, 2, 2, 2, 1989, 4, 3, 2, 2, 2, 1990, 1991, 7, 49, 2, 2, 1991, 1992, 7, 44, 2, 2, 1992, 1993, 7, 35, 2, 2, 1993, 1995, 3, 2, 2, 2, 1994, 1996, 11, 2, 2, 2, 1995, 1994, 3, 2, 2, 2, 1996, 1997, 3, 2, 2, 2, 1997, 1998, 3, 2, 2, 2, 1997, 1995, 3, 2, 2, 2, 1998, 1999, 3, 2, 2, 2, 1999, 2000, 7, 44, 2, 2, 2000, 2001, 7, 49, 2, 2, 2001, 2002, 3, 2, 2, 2, 2002, 2003, 8, 3, 3, 2, 2003, 6, 3, 2, 2, 2, 2004, 2005, 7, 49, 2, 2, 2005, 2006, 7, 44, 2, 2, 2006, 2010, 3, 2, 2, 2, 2007, 2009, 11, 2, 2, 2, 2008, 2007, 3, 2, 2, 2, 2009, 2012, 3, 2, 2, 2, 2010, 2011, 3, 2, 2, 2, 2010, 2008, 3, 2, 2, 2, 2011, 2013, 3, 2, 2, 2, 2012, 2010, 3, 2, 2, 2, 2013, 2014, 7, 44, 2, 2, 2014, 2015, 7, 49, 2, 2, 2015, 2016, 3, 2, 2, 2, 2016, 2017, 8, 4, 2, 2, 2017, 8, 3, 2, 2, 2, 2018, 2019, 7, 47, 2, 2, 2019, 2020, 7, 47, 2, 2, 2020, 2023, 7, 34, 2, 2, 2021, 2023, 7, 37, 2, 2, 2022, 2018, 3, 2, 2, 2, 2022, 2021, 3, 2, 2, 2, 2023, 2027, 3, 2, 2, 2, 2024, 2026, 10, 3, 2, 2, 2025, 2024, 3, 2, 2, 2, 2026, 2029, 3, 2, 2, 2, 2027, 2025, 3, 2, 2, 2, 2027, 2028, 3, 2, 2, 2, 2028, 2035, 3, 2, 2, 2, 2029, 2027, 3, 2, 2, 2, 2030, 2032, 7, 15, 2, 2, 2031, 2030, 3, 2, 2, 2, 2031, 2032, 3, 2, 2, 2, 2032, 2033, 3, 2, 2, 2, 2033, 2036, 7, 12, 2, 2, 2034, 2036, 7, 2, 2, 3, 2035, 2031, 3, 2, 2, 2, 2035, 2034, 3, 2, 2, 2, 2036, 2048, 3, 2, 2, 2, 2037, 2038, 7, 47, 2, 2, 2038, 2039, 7, 47, 2, 2, 2039, 2045, 3, 2, 2, 2, 2040, 2042, 7, 15, 2, 2, 2041, 2040, 3, 2, 2, 2, 2041, 2042, 3, 2, 2, 2, 2042, 2043, 3, 2, 2, 2, 2043, 2046, 7, 12, 2, 2, 2044, 2046, 7, 2, 2, 3, 2045, 2041, 3, 2, 2, 2, 2045, 2044, 3, 2, 2, 2, 2046, 2048, 3, 2, 2, 2, 2047, 2022, 3, 2, 2, 2, 2047, 2037, 3, 2, 2, 2, 2048, 2049, 3, 2, 2, 2, 2049, 2050, 8, 5, 2, 2, 2050, 10, 3, 2, 2, 2, 2051, 2052, 7, 71, 2, 2, 2052, 2053, 7, 84, 2, 2, 2053, 2054, 7, 84, 2, 2, 2054, 2055, 7, 81, 2, 2, 2055, 2056, 7, 84, 2, 2, 2056, 2057, 7, 97, 2, 2, 2057, 2058, 7, 89, 2, 2, 2058, 2059, 7, 75, 2, 2, 2059, 2060, 7, 86, 2, 2, 2060, 2061, 7, 74, 2, 2, 2061, 2062, 7, 75, 2, 2, 2062, 2063, 7, 80, 2, 2, 2063, 12, 3, 2, 2, 2, 2064, 2065, 7, 67, 2, 2, 2065, 2066, 7, 86, 2, 2, 2066, 2067, 7, 97, 2, 2, 2067, 2068, 7, 69, 2, 2, 2068, 2069, 7, 81, 2, 2, 2069, 2070, 7, 80, 2, 2, 2070, 2071, 7, 72, 2, 2, 2071, 2072, 7, 75, 2, 2, 2072, 2073, 7, 70, 2, 2, 2073, 2074, 7, 71, 2, 2, 2074, 2075, 7, 80, 2, 2, 2075, 2076, 7, 69, 2, 2, 2076, 2077, 7, 71, 2, 2, 2077, 14, 3, 2, 2, 2, 2078, 2079, 7, 67, 2, 2, 2079, 2080, 7, 70, 2, 2, 2080, 2081, 7, 70, 2, 2, 2081, 16, 3, 2, 2, 2, 2082, 2083, 7, 67, 2, 2, 2083, 2084, 7, 78, 2, 2, 2084, 2085, 7, 78, 2, 2, 2085, 18, 3, 2, 2, 2, 2086, 2087, 7, 67, 2, 2, 2087, 2088, 7, 78, 2, 2, 2088, 2089, 7, 86, 2, 2, 2089, 2090, 7, 71, 2, 2, 2090, 2091, 7, 84, 2, 2, 2091, 20, 3, 2, 2, 2, 2092, 2093, 7, 67, 2, 2, 2093, 2094, 7, 78, 2, 2, 2094, 2095, 7, 89, 2, 2, 2095, 2096, 7, 67, 2, 2, 2096, 2097, 7, 91, 2, 2, 2097, 2098, 7, 85, 2, 2, 2098, 22, 3, 2, 2, 2, 2099, 2100, 7, 67, 2, 2, 2100, 2101, 7, 80, 2, 2, 2101, 2102, 7, 67, 2, 2, 2102, 2103, 7, 78, 2, 2, 2103, 2104, 7, 91, 2, 2, 2104, 2105, 7, 92, 2, 2, 2105, 2106, 7, 71, 2, 2, 2106, 24, 3, 2, 2, 2, 2107, 2108, 7, 67, 2, 2, 2108, 2109, 7, 80, 2, 2, 2109, 2110, 7, 70, 2, 2, 2110, 26, 3, 2, 2, 2, 2111, 2112, 7, 67, 2, 2, 2112, 2113, 7, 85, 2, 2, 2113, 28, 3, 2, 2, 2, 2114, 2115, 7, 67, 2, 2, 2115, 2116, 7, 85, 2, 2, 2116, 2117, 7, 69, 2, 2, 2117, 30, 3, 2, 2, 2, 2118, 2119, 7, 68, 2, 2, 2119, 2120, 7, 71, 2, 2, 2120, 2121, 7, 72, 2, 2, 2121, 2122, 7, 81, 2, 2, 2122, 2123, 7, 84, 2, 2, 2123, 2124, 7, 71, 2, 2, 2124, 32, 3, 2, 2, 2, 2125, 2126, 7, 68, 2, 2, 2126, 2127, 7, 71, 2, 2, 2127, 2128, 7, 86, 2, 2, 2128, 2129, 7, 89, 2, 2, 2129, 2130, 7, 71, 2, 2, 2130, 2131, 7, 71, 2, 2, 2131, 2132, 7, 80, 2, 2, 2132, 34, 3, 2, 2, 2, 2133, 2134, 7, 68, 2, 2, 2134, 2135, 7, 81, 2, 2, 2135, 2136, 7, 86, 2, 2, 2136, 2137, 7, 74, 2, 2, 2137, 36, 3, 2, 2, 2, 2138, 2139, 7, 68, 2, 2, 2139, 2140, 7, 91, 2, 2, 2140, 38, 3, 2, 2, 2, 2141, 2142, 7, 69, 2, 2, 2142, 2143, 7, 67, 2, 2, 2143, 2144, 7, 78, 2, 2, 2144, 2145, 7, 78, 2, 2, 2145, 40, 3, 2, 2, 2, 2146, 2147, 7, 69, 2, 2, 2147, 2148, 7, 67, 2, 2, 2148, 2149, 7, 85, 2, 2, 2149, 2150, 7, 69, 2, 2, 2150, 2151, 7, 67, 2, 2, 2151, 2152, 7, 70, 2, 2, 2152, 2153, 7, 71, 2, 2, 2153, 42, 3, 2, 2, 2, 2154, 2155, 7, 69, 2, 2, 2155, 2156, 7, 67, 2, 2, 2156, 2157, 7, 85, 2, 2, 2157, 2158, 7, 71, 2, 2, 2158, 44, 3, 2, 2, 2, 2159, 2160, 7, 69, 2, 2, 2160, 2161, 7, 67, 2, 2, 2161, 2162, 7, 85, 2, 2, 2162, 2163, 7, 86, 2, 2, 2163, 46, 3, 2, 2, 2, 2164, 2165, 7, 69, 2, 2, 2165, 2166, 7, 74, 2, 2, 2166, 2167, 7, 67, 2, 2, 2167, 2168, 7, 80, 2, 2, 2168, 2169, 7, 73, 2, 2, 2169, 2170, 7, 71, 2, 2, 2170, 48, 3, 2, 2, 2, 2171, 2172, 7, 69, 2, 2, 2172, 2173, 7, 74, 2, 2, 2173, 2174, 7, 67, 2, 2, 2174, 2175, 7, 84, 2, 2, 2175, 2176, 7, 67, 2, 2, 2176, 2177, 7, 69, 2, 2, 2177, 2178, 7, 86, 2, 2, 2178, 2179, 7, 71, 2, 2, 2179, 2180, 7, 84, 2, 2, 2180, 50, 3, 2, 2, 2, 2181, 2182, 7, 69, 2, 2, 2182, 2183, 7, 74, 2, 2, 2183, 2184, 7, 71, 2, 2, 2184, 2185, 7, 69, 2, 2, 2185, 2186, 7, 77, 2, 2, 2186, 52, 3, 2, 2, 2, 2187, 2188, 7, 69, 2, 2, 2188, 2189, 7, 81, 2, 2, 2189, 2190, 7, 78, 2, 2, 2190, 2191, 7, 78, 2, 2, 2191, 2192, 7, 67, 2, 2, 2192, 2193, 7, 86, 2, 2, 2193, 2194, 7, 71, 2, 2, 2194, 54, 3, 2, 2, 2, 2195, 2196, 7, 69, 2, 2, 2196, 2197, 7, 81, 2, 2, 2197, 2198, 7, 78, 2, 2, 2198, 2199, 7, 87, 2, 2, 2199, 2200, 7, 79, 2, 2, 2200, 2201, 7, 80, 2, 2, 2201, 56, 3, 2, 2, 2, 2202, 2203, 7, 69, 2, 2, 2203, 2204, 7, 81, 2, 2, 2204, 2205, 7, 80, 2, 2, 2205, 2206, 7, 70, 2, 2, 2206, 2207, 7, 75, 2, 2, 2207, 2208, 7, 86, 2, 2, 2208, 2209, 7, 75, 2, 2, 2209, 2210, 7, 81, 2, 2, 2210, 2211, 7, 80, 2, 2, 2211, 58, 3, 2, 2, 2, 2212, 2213, 7, 69, 2, 2, 2213, 2214, 7, 81, 2, 2, 2214, 2215, 7, 80, 2, 2, 2215, 2216, 7, 85, 2, 2, 2216, 2217, 7, 86, 2, 2, 2217, 2218, 7, 84, 2, 2, 2218, 2219, 7, 67, 2, 2, 2219, 2220, 7, 75, 2, 2, 2220, 2221, 7, 80, 2, 2, 2221, 2222, 7, 86, 2, 2, 2222, 60, 3, 2, 2, 2, 2223, 2224, 7, 69, 2, 2, 2224, 2225, 7, 81, 2, 2, 2225, 2226, 7, 80, 2, 2, 2226, 2227, 7, 86, 2, 2, 2227, 2228, 7, 75, 2, 2, 2228, 2229, 7, 80, 2, 2, 2229, 2230, 7, 87, 2, 2, 2230, 2231, 7, 71, 2, 2, 2231, 62, 3, 2, 2, 2, 2232, 2233, 7, 69, 2, 2, 2233, 2234, 7, 81, 2, 2, 2234, 2235, 7, 80, 2, 2, 2235, 2236, 7, 88, 2, 2, 2236, 2237, 7, 71, 2, 2, 2237, 2238, 7, 84, 2, 2, 2238, 2239, 7, 86, 2, 2, 2239, 64, 3, 2, 2, 2, 2240, 2241, 7, 69, 2, 2, 2241, 2242, 7, 84, 2, 2, 2242, 2243, 7, 71, 2, 2, 2243, 2244, 7, 67, 2, 2, 2244, 2245, 7, 86, 2, 2, 2245, 2246, 7, 71, 2, 2, 2246, 66, 3, 2, 2, 2, 2247, 2248, 7, 69, 2, 2, 2248, 2249, 7, 84, 2, 2, 2249, 2250, 7, 81, 2, 2, 2250, 2251, 7, 85, 2, 2, 2251, 2252, 7, 85, 2, 2, 2252, 68, 3, 2, 2, 2, 2253, 2254, 7, 69, 2, 2, 2254, 2255, 7, 87, 2, 2, 2255, 2256, 7, 84, 2, 2, 2256, 2257, 7, 84, 2, 2, 2257, 2258, 7, 71, 2, 2, 2258, 2259, 7, 80, 2, 2, 2259, 2260, 7, 86, 2, 2, 2260, 2261, 7, 97, 2, 2, 2261, 2262, 7, 87, 2, 2, 2262, 2263, 7, 85, 2, 2, 2263, 2264, 7, 71, 2, 2, 2264, 2265, 7, 84, 2, 2, 2265, 70, 3, 2, 2, 2, 2266, 2267, 7, 69, 2, 2, 2267, 2268, 7, 87, 2, 2, 2268, 2269, 7, 84, 2, 2, 2269, 2270, 7, 85, 2, 2, 2270, 2271, 7, 81, 2, 2, 2271, 2272, 7, 84, 2, 2, 2272, 72, 3, 2, 2, 2, 2273, 2274, 7, 70, 2, 2, 2274, 2275, 7, 67, 2, 2, 2275, 2276, 7, 86, 2, 2, 2276, 2277, 7, 67, 2, 2, 2277, 2278, 7, 68, 2, 2, 2278, 2279, 7, 67, 2, 2, 2279, 2280, 7, 85, 2, 2, 2280, 2281, 7, 71, 2, 2, 2281, 74, 3, 2, 2, 2, 2282, 2283, 7, 70, 2, 2, 2283, 2284, 7, 67, 2, 2, 2284, 2285, 7, 86, 2, 2, 2285, 2286, 7, 67, 2, 2, 2286, 2287, 7, 68, 2, 2, 2287, 2288, 7, 67, 2, 2, 2288, 2289, 7, 85, 2, 2, 2289, 2290, 7, 71, 2, 2, 2290, 2291, 7, 85, 2, 2, 2291, 76, 3, 2, 2, 2, 2292, 2293, 7, 70, 2, 2, 2293, 2294, 7, 71, 2, 2, 2294, 2295, 7, 69, 2, 2, 2295, 2296, 7, 78, 2, 2, 2296, 2297, 7, 67, 2, 2, 2297, 2298, 7, 84, 2, 2, 2298, 2299, 7, 71, 2, 2, 2299, 78, 3, 2, 2, 2, 2300, 2301, 7, 70, 2, 2, 2301, 2302, 7, 71, 2, 2, 2302, 2303, 7, 72, 2, 2, 2303, 2304, 7, 67, 2, 2, 2304, 2305, 7, 87, 2, 2, 2305, 2306, 7, 78, 2, 2, 2306, 2307, 7, 86, 2, 2, 2307, 80, 3, 2, 2, 2, 2308, 2309, 7, 70, 2, 2, 2309, 2310, 7, 71, 2, 2, 2310, 2311, 7, 78, 2, 2, 2311, 2312, 7, 67, 2, 2, 2312, 2313, 7, 91, 2, 2, 2313, 2314, 7, 71, 2, 2, 2314, 2315, 7, 70, 2, 2, 2315, 82, 3, 2, 2, 2, 2316, 2317, 7, 70, 2, 2, 2317, 2318, 7, 71, 2, 2, 2318, 2319, 7, 78, 2, 2, 2319, 2320, 7, 71, 2, 2, 2320, 2321, 7, 86, 2, 2, 2321, 2322, 7, 71, 2, 2, 2322, 84, 3, 2, 2, 2, 2323, 2324, 7, 70, 2, 2, 2324, 2325, 7, 71, 2, 2, 2325, 2326, 7, 85, 2, 2, 2326, 2327, 7, 69, 2, 2, 2327, 86, 3, 2, 2, 2, 2328, 2329, 7, 70, 2, 2, 2329, 2330, 7, 71, 2, 2, 2330, 2331, 7, 85, 2, 2, 2331, 2332, 7, 69, 2, 2, 2332, 2333, 7, 84, 2, 2, 2333, 2334, 7, 75, 2, 2, 2334, 2335, 7, 68, 2, 2, 2335, 2336, 7, 71, 2, 2, 2336, 88, 3, 2, 2, 2, 2337, 2338, 7, 70, 2, 2, 2338, 2339, 7, 71, 2, 2, 2339, 2340, 7, 86, 2, 2, 2340, 2341, 7, 71, 2, 2, 2341, 2342, 7, 84, 2, 2, 2342, 2343, 7, 79, 2, 2, 2343, 2344, 7, 75, 2, 2, 2344, 2345, 7, 80, 2, 2, 2345, 2346, 7, 75, 2, 2, 2346, 2347, 7, 85, 2, 2, 2347, 2348, 7, 86, 2, 2, 2348, 2349, 7, 75, 2, 2, 2349, 2350, 7, 69, 2, 2, 2350, 90, 3, 2, 2, 2, 2351, 2352, 7, 70, 2, 2, 2352, 2353, 7, 75, 2, 2, 2353, 2354, 7, 85, 2, 2, 2354, 2355, 7, 86, 2, 2, 2355, 2356, 7, 75, 2, 2, 2356, 2357, 7, 80, 2, 2, 2357, 2358, 7, 69, 2, 2, 2358, 2359, 7, 86, 2, 2, 2359, 92, 3, 2, 2, 2, 2360, 2361, 7, 70, 2, 2, 2361, 2362, 7, 75, 2, 2, 2362, 2363, 7, 85, 2, 2, 2363, 2364, 7, 86, 2, 2, 2364, 2365, 7, 75, 2, 2, 2365, 2366, 7, 80, 2, 2, 2366, 2367, 7, 69, 2, 2, 2367, 2368, 7, 86, 2, 2, 2368, 2369, 7, 84, 2, 2, 2369, 2370, 7, 81, 2, 2, 2370, 2371, 7, 89, 2, 2, 2371, 94, 3, 2, 2, 2, 2372, 2373, 7, 70, 2, 2, 2373, 2374, 7, 84, 2, 2, 2374, 2375, 7, 81, 2, 2, 2375, 2376, 7, 82, 2, 2, 2376, 96, 3, 2, 2, 2, 2377, 2378, 7, 71, 2, 2, 2378, 2379, 7, 67, 2, 2, 2379, 2380, 7, 69, 2, 2, 2380, 2381, 7, 74, 2, 2, 2381, 98, 3, 2, 2, 2, 2382, 2383, 7, 71, 2, 2, 2383, 2384, 7, 78, 2, 2, 2384, 2385, 7, 85, 2, 2, 2385, 2386, 7, 71, 2, 2, 2386, 100, 3, 2, 2, 2, 2387, 2388, 7, 71, 2, 2, 2388, 2389, 7, 78, 2, 2, 2389, 2390, 7, 85, 2, 2, 2390, 2391, 7, 71, 2, 2, 2391, 2392, 7, 75, 2, 2, 2392, 2393, 7, 72, 2, 2, 2393, 102, 3, 2, 2, 2, 2394, 2395, 7, 71, 2, 2, 2395, 2396, 7, 80, 2, 2, 2396, 2397, 7, 69, 2, 2, 2397, 2398, 7, 78, 2, 2, 2398, 2399, 7, 81, 2, 2, 2399, 2400, 7, 85, 2, 2, 2400, 2401, 7, 71, 2, 2, 2401, 2402, 7, 70, 2, 2, 2402, 104, 3, 2, 2, 2, 2403, 2404, 7, 71, 2, 2, 2404, 2405, 7, 85, 2, 2, 2405, 2406, 7, 69, 2, 2, 2406, 2407, 7, 67, 2, 2, 2407, 2408, 7, 82, 2, 2, 2408, 2409, 7, 71, 2, 2, 2409, 2410, 7, 70, 2, 2, 2410, 106, 3, 2, 2, 2, 2411, 2412, 7, 71, 2, 2, 2412, 2413, 7, 90, 2, 2, 2413, 2414, 7, 75, 2, 2, 2414, 2415, 7, 85, 2, 2, 2415, 2416, 7, 86, 2, 2, 2416, 2417, 7, 85, 2, 2, 2417, 108, 3, 2, 2, 2, 2418, 2419, 7, 71, 2, 2, 2419, 2420, 7, 90, 2, 2, 2420, 2421, 7, 75, 2, 2, 2421, 2422, 7, 86, 2, 2, 2422, 110, 3, 2, 2, 2, 2423, 2424, 7, 71, 2, 2, 2424, 2425, 7, 90, 2, 2, 2425, 2426, 7, 82, 2, 2, 2426, 2427, 7, 78, 2, 2, 2427, 2428, 7, 67, 2, 2, 2428, 2429, 7, 75, 2, 2, 2429, 2430, 7, 80, 2, 2, 2430, 112, 3, 2, 2, 2, 2431, 2432, 7, 72, 2, 2, 2432, 2433, 7, 67, 2, 2, 2433, 2434, 7, 78, 2, 2, 2434, 2435, 7, 85, 2, 2, 2435, 2436, 7, 71, 2, 2, 2436, 114, 3, 2, 2, 2, 2437, 2438, 7, 72, 2, 2, 2438, 2439, 7, 71, 2, 2, 2439, 2440, 7, 86, 2, 2, 2440, 2441, 7, 69, 2, 2, 2441, 2442, 7, 74, 2, 2, 2442, 116, 3, 2, 2, 2, 2443, 2444, 7, 72, 2, 2, 2444, 2445, 7, 81, 2, 2, 2445, 2446, 7, 84, 2, 2, 2446, 118, 3, 2, 2, 2, 2447, 2448, 7, 72, 2, 2, 2448, 2449, 7, 81, 2, 2, 2449, 2450, 7, 84, 2, 2, 2450, 2451, 7, 69, 2, 2, 2451, 2452, 7, 71, 2, 2, 2452, 120, 3, 2, 2, 2, 2453, 2454, 7, 72, 2, 2, 2454, 2455, 7, 81, 2, 2, 2455, 2456, 7, 84, 2, 2, 2456, 2457, 7, 71, 2, 2, 2457, 2458, 7, 75, 2, 2, 2458, 2459, 7, 73, 2, 2, 2459, 2460, 7, 80, 2, 2, 2460, 122, 3, 2, 2, 2, 2461, 2462, 7, 72, 2, 2, 2462, 2463, 7, 84, 2, 2, 2463, 2464, 7, 81, 2, 2, 2464, 2465, 7, 79, 2, 2, 2465, 124, 3, 2, 2, 2, 2466, 2467, 7, 72, 2, 2, 2467, 2468, 7, 87, 2, 2, 2468, 2469, 7, 78, 2, 2, 2469, 2470, 7, 78, 2, 2, 2470, 2471, 7, 86, 2, 2, 2471, 2472, 7, 71, 2, 2, 2472, 2473, 7, 90, 2, 2, 2473, 2474, 7, 86, 2, 2, 2474, 126, 3, 2, 2, 2, 2475, 2476, 7, 73, 2, 2, 2476, 2477, 7, 71, 2, 2, 2477, 2478, 7, 80, 2, 2, 2478, 2479, 7, 71, 2, 2, 2479, 2480, 7, 84, 2, 2, 2480, 2481, 7, 67, 2, 2, 2481, 2482, 7, 86, 2, 2, 2482, 2483, 7, 71, 2, 2, 2483, 2484, 7, 70, 2, 2, 2484, 128, 3, 2, 2, 2, 2485, 2486, 7, 73, 2, 2, 2486, 2487, 7, 84, 2, 2, 2487, 2488, 7, 67, 2, 2, 2488, 2489, 7, 80, 2, 2, 2489, 2490, 7, 86, 2, 2, 2490, 130, 3, 2, 2, 2, 2491, 2492, 7, 73, 2, 2, 2492, 2493, 7, 84, 2, 2, 2493, 2494, 7, 81, 2, 2, 2494, 2495, 7, 87, 2, 2, 2495, 2496, 7, 82, 2, 2, 2496, 132, 3, 2, 2, 2, 2497, 2498, 7, 74, 2, 2, 2498, 2499, 7, 67, 2, 2, 2499, 2500, 7, 88, 2, 2, 2500, 2501, 7, 75, 2, 2, 2501, 2502, 7, 80, 2, 2, 2502, 2503, 7, 73, 2, 2, 2503, 134, 3, 2, 2, 2, 2504, 2505, 7, 74, 2, 2, 2505, 2506, 7, 75, 2, 2, 2506, 2507, 7, 73, 2, 2, 2507, 2508, 7, 74, 2, 2, 2508, 2509, 7, 97, 2, 2, 2509, 2510, 7, 82, 2, 2, 2510, 2511, 7, 84, 2, 2, 2511, 2512, 7, 75, 2, 2, 2512, 2513, 7, 81, 2, 2, 2513, 2514, 7, 84, 2, 2, 2514, 2515, 7, 75, 2, 2, 2515, 2516, 7, 86, 2, 2, 2516, 2517, 7, 91, 2, 2, 2517, 136, 3, 2, 2, 2, 2518, 2519, 7, 75, 2, 2, 2519, 2520, 7, 72, 2, 2, 2520, 138, 3, 2, 2, 2, 2521, 2522, 7, 75, 2, 2, 2522, 2523, 7, 73, 2, 2, 2523, 2524, 7, 80, 2, 2, 2524, 2525, 7, 81, 2, 2, 2525, 2526, 7, 84, 2, 2, 2526, 2527, 7, 71, 2, 2, 2527, 140, 3, 2, 2, 2, 2528, 2529, 7, 75, 2, 2, 2529, 2530, 7, 80, 2, 2, 2530, 142, 3, 2, 2, 2, 2531, 2532, 7, 75, 2, 2, 2532, 2533, 7, 80, 2, 2, 2533, 2534, 7, 70, 2, 2, 2534, 2535, 7, 71, 2, 2, 2535, 2536, 7, 90, 2, 2, 2536, 144, 3, 2, 2, 2, 2537, 2538, 7, 75, 2, 2, 2538, 2539, 7, 80, 2, 2, 2539, 2540, 7, 72, 2, 2, 2540, 2541, 7, 75, 2, 2, 2541, 2542, 7, 78, 2, 2, 2542, 2543, 7, 71, 2, 2, 2543, 146, 3, 2, 2, 2, 2544, 2545, 7, 75, 2, 2, 2545, 2546, 7, 80, 2, 2, 2546, 2547, 7, 80, 2, 2, 2547, 2548, 7, 71, 2, 2, 2548, 2549, 7, 84, 2, 2, 2549, 148, 3, 2, 2, 2, 2550, 2551, 7, 75, 2, 2, 2551, 2552, 7, 80, 2, 2, 2552, 2553, 7, 81, 2, 2, 2553, 2554, 7, 87, 2, 2, 2554, 2555, 7, 86, 2, 2, 2555, 150, 3, 2, 2, 2, 2556, 2557, 7, 75, 2, 2, 2557, 2558, 7, 80, 2, 2, 2558, 2559, 7, 85, 2, 2, 2559, 2560, 7, 71, 2, 2, 2560, 2561, 7, 84, 2, 2, 2561, 2562, 7, 86, 2, 2, 2562, 152, 3, 2, 2, 2, 2563, 2564, 7, 75, 2, 2, 2564, 2565, 7, 80, 2, 2, 2565, 2566, 7, 86, 2, 2, 2566, 2567, 7, 71, 2, 2, 2567, 2568, 7, 84, 2, 2, 2568, 2569, 7, 88, 2, 2, 2569, 2570, 7, 67, 2, 2, 2570, 2571, 7, 78, 2, 2, 2571, 154, 3, 2, 2, 2, 2572, 2573, 7, 75, 2, 2, 2573, 2574, 7, 80, 2, 2, 2574, 2575, 7, 86, 2, 2, 2575, 2576, 7, 81, 2, 2, 2576, 156, 3, 2, 2, 2, 2577, 2578, 7, 75, 2, 2, 2578, 2579, 7, 85, 2, 2, 2579, 158, 3, 2, 2, 2, 2580, 2581, 7, 75, 2, 2, 2581, 2582, 7, 86, 2, 2, 2582, 2583, 7, 71, 2, 2, 2583, 2584, 7, 84, 2, 2, 2584, 2585, 7, 67, 2, 2, 2585, 2586, 7, 86, 2, 2, 2586, 2587, 7, 71, 2, 2, 2587, 160, 3, 2, 2, 2, 2588, 2589, 7, 76, 2, 2, 2589, 2590, 7, 81, 2, 2, 2590, 2591, 7, 75, 2, 2, 2591, 2592, 7, 80, 2, 2, 2592, 162, 3, 2, 2, 2, 2593, 2594, 7, 77, 2, 2, 2594, 2595, 7, 71, 2, 2, 2595, 2596, 7, 91, 2, 2, 2596, 164, 3, 2, 2, 2, 2597, 2598, 7, 77, 2, 2, 2598, 2599, 7, 71, 2, 2, 2599, 2600, 7, 91, 2, 2, 2600, 2601, 7, 85, 2, 2, 2601, 166, 3, 2, 2, 2, 2602, 2603, 7, 77, 2, 2, 2603, 2604, 7, 75, 2, 2, 2604, 2605, 7, 78, 2, 2, 2605, 2606, 7, 78, 2, 2, 2606, 168, 3, 2, 2, 2, 2607, 2608, 7, 78, 2, 2, 2608, 2609, 7, 71, 2, 2, 2609, 2610, 7, 67, 2, 2, 2610, 2611, 7, 70, 2, 2, 2611, 2612, 7, 75, 2, 2, 2612, 2613, 7, 80, 2, 2, 2613, 2614, 7, 73, 2, 2, 2614, 170, 3, 2, 2, 2, 2615, 2616, 7, 78, 2, 2, 2616, 2617, 7, 71, 2, 2, 2617, 2618, 7, 67, 2, 2, 2618, 2619, 7, 88, 2, 2, 2619, 2620, 7, 71, 2, 2, 2620, 172, 3, 2, 2, 2, 2621, 2622, 7, 78, 2, 2, 2622, 2623, 7, 71, 2, 2, 2623, 2624, 7, 72, 2, 2, 2624, 2625, 7, 86, 2, 2, 2625, 174, 3, 2, 2, 2, 2626, 2627, 7, 78, 2, 2, 2627, 2628, 7, 75, 2, 2, 2628, 2629, 7, 77, 2, 2, 2629, 2630, 7, 71, 2, 2, 2630, 176, 3, 2, 2, 2, 2631, 2632, 7, 78, 2, 2, 2632, 2633, 7, 75, 2, 2, 2633, 2634, 7, 79, 2, 2, 2634, 2635, 7, 75, 2, 2, 2635, 2636, 7, 86, 2, 2, 2636, 178, 3, 2, 2, 2, 2637, 2638, 7, 78, 2, 2, 2638, 2639, 7, 75, 2, 2, 2639, 2640, 7, 80, 2, 2, 2640, 2641, 7, 71, 2, 2, 2641, 2642, 7, 67, 2, 2, 2642, 2643, 7, 84, 2, 2, 2643, 180, 3, 2, 2, 2, 2644, 2645, 7, 78, 2, 2, 2645, 2646, 7, 75, 2, 2, 2646, 2647, 7, 80, 2, 2, 2647, 2648, 7, 71, 2, 2, 2648, 2649, 7, 85, 2, 2, 2649, 182, 3, 2, 2, 2, 2650, 2651, 7, 78, 2, 2, 2651, 2652, 7, 81, 2, 2, 2652, 2653, 7, 67, 2, 2, 2653, 2654, 7, 70, 2, 2, 2654, 184, 3, 2, 2, 2, 2655, 2656, 7, 78, 2, 2, 2656, 2657, 7, 81, 2, 2, 2657, 2658, 7, 69, 2, 2, 2658, 2659, 7, 77, 2, 2, 2659, 186, 3, 2, 2, 2, 2660, 2661, 7, 78, 2, 2, 2661, 2662, 7, 81, 2, 2, 2662, 2663, 7, 81, 2, 2, 2663, 2664, 7, 82, 2, 2, 2664, 188, 3, 2, 2, 2, 2665, 2666, 7, 78, 2, 2, 2666, 2667, 7, 81, 2, 2, 2667, 2668, 7, 89, 2, 2, 2668, 2669, 7, 97, 2, 2, 2669, 2670, 7, 82, 2, 2, 2670, 2671, 7, 84, 2, 2, 2671, 2672, 7, 75, 2, 2, 2672, 2673, 7, 81, 2, 2, 2673, 2674, 7, 84, 2, 2, 2674, 2675, 7, 75, 2, 2, 2675, 2676, 7, 86, 2, 2, 2676, 2677, 7, 91, 2, 2, 2677, 190, 3, 2, 2, 2, 2678, 2679, 7, 79, 2, 2, 2679, 2680, 7, 67, 2, 2, 2680, 2681, 7, 85, 2, 2, 2681, 2682, 7, 86, 2, 2, 2682, 2683, 7, 71, 2, 2, 2683, 2684, 7, 84, 2, 2, 2684, 2685, 7, 97, 2, 2, 2685, 2686, 7, 68, 2, 2, 2686, 2687, 7, 75, 2, 2, 2687, 2688, 7, 80, 2, 2, 2688, 2689, 7, 70, 2, 2, 2689, 192, 3, 2, 2, 2, 2690, 2691, 7, 79, 2, 2, 2691, 2692, 7, 67, 2, 2, 2692, 2693, 7, 85, 2, 2, 2693, 2694, 7, 86, 2, 2, 2694, 2695, 7, 71, 2, 2, 2695, 2696, 7, 84, 2, 2, 2696, 2697, 7, 97, 2, 2, 2697, 2698, 7, 85, 2, 2, 2698, 2699, 7, 85, 2, 2, 2699, 2700, 7, 78, 2, 2, 2700, 2701, 7, 97, 2, 2, 2701, 2702, 7, 88, 2, 2, 2702, 2703, 7, 71, 2, 2, 2703, 2704, 7, 84, 2, 2, 2704, 2705, 7, 75, 2, 2, 2705, 2706, 7, 72, 2, 2, 2706, 2707, 7, 91, 2, 2, 2707, 2708, 7, 97, 2, 2, 2708, 2709, 7, 85, 2, 2, 2709, 2710, 7, 71, 2, 2, 2710, 2711, 7, 84, 2, 2, 2711, 2712, 7, 88, 2, 2, 2712, 2713, 7, 71, 2, 2, 2713, 2714, 7, 84, 2, 2, 2714, 2715, 7, 97, 2, 2, 2715, 2716, 7, 69, 2, 2, 2716, 2717, 7, 71, 2, 2, 2717, 2718, 7, 84, 2, 2, 2718, 2719, 7, 86, 2, 2, 2719, 194, 3, 2, 2, 2, 2720, 2721, 7, 79, 2, 2, 2721, 2722, 7, 67, 2, 2, 2722, 2723, 7, 86, 2, 2, 2723, 2724, 7, 69, 2, 2, 2724, 2725, 7, 74, 2, 2, 2725, 196, 3, 2, 2, 2, 2726, 2727, 7, 79, 2, 2, 2727, 2728, 7, 67, 2, 2, 2728, 2729, 7, 90, 2, 2, 2729, 2730, 7, 88, 2, 2, 2730, 2731, 7, 67, 2, 2, 2731, 2732, 7, 78, 2, 2, 2732, 2733, 7, 87, 2, 2, 2733, 2734, 7, 71, 2, 2, 2734, 198, 3, 2, 2, 2, 2735, 2736, 7, 79, 2, 2, 2736, 2737, 7, 81, 2, 2, 2737, 2738, 7, 70, 2, 2, 2738, 2739, 7, 75, 2, 2, 2739, 2740, 7, 72, 2, 2, 2740, 2741, 7, 75, 2, 2, 2741, 2742, 7, 71, 2, 2, 2742, 2743, 7, 85, 2, 2, 2743, 200, 3, 2, 2, 2, 2744, 2745, 7, 80, 2, 2, 2745, 2746, 7, 67, 2, 2, 2746, 2747, 7, 86, 2, 2, 2747, 2748, 7, 87, 2, 2, 2748, 2749, 7, 84, 2, 2, 2749, 2750, 7, 67, 2, 2, 2750, 2751, 7, 78, 2, 2, 2751, 202, 3, 2, 2, 2, 2752, 2753, 7, 80, 2, 2, 2753, 2754, 7, 81, 2, 2, 2754, 2755, 7, 86, 2, 2, 2755, 204, 3, 2, 2, 2, 2756, 2757, 7, 80, 2, 2, 2757, 2758, 7, 81, 2, 2, 2758, 2759, 7, 97, 2, 2, 2759, 2760, 7, 89, 2, 2, 2760, 2761, 7, 84, 2, 2, 2761, 2762, 7, 75, 2, 2, 2762, 2763, 7, 86, 2, 2, 2763, 2764, 7, 71, 2, 2, 2764, 2765, 7, 97, 2, 2, 2765, 2766, 7, 86, 2, 2, 2766, 2767, 7, 81, 2, 2, 2767, 2768, 7, 97, 2, 2, 2768, 2769, 7, 68, 2, 2, 2769, 2770, 7, 75, 2, 2, 2770, 2771, 7, 80, 2, 2, 2771, 2772, 7, 78, 2, 2, 2772, 2773, 7, 81, 2, 2, 2773, 2774, 7, 73, 2, 2, 2774, 206, 3, 2, 2, 2, 2775, 2776, 7, 80, 2, 2, 2776, 2777, 7, 87, 2, 2, 2777, 2778, 7, 78, 2, 2, 2778, 2779, 7, 78, 2, 2, 2779, 208, 3, 2, 2, 2, 2780, 2781, 7, 81, 2, 2, 2781, 2782, 7, 80, 2, 2, 2782, 210, 3, 2, 2, 2, 2783, 2784, 7, 81, 2, 2, 2784, 2785, 7, 82, 2, 2, 2785, 2786, 7, 86, 2, 2, 2786, 2787, 7, 75, 2, 2, 2787, 2788, 7, 79, 2, 2, 2788, 2789, 7, 75, 2, 2, 2789, 2790, 7, 92, 2, 2, 2790, 2791, 7, 71, 2, 2, 2791, 212, 3, 2, 2, 2, 2792, 2793, 7, 81, 2, 2, 2793, 2794, 7, 82, 2, 2, 2794, 2795, 7, 86, 2, 2, 2795, 2796, 7, 75, 2, 2, 2796, 2797, 7, 81, 2, 2, 2797, 2798, 7, 80, 2, 2, 2798, 214, 3, 2, 2, 2, 2799, 2800, 7, 81, 2, 2, 2800, 2801, 7, 82, 2, 2, 2801, 2802, 7, 86, 2, 2, 2802, 2803, 7, 75, 2, 2, 2803, 2804, 7, 81, 2, 2, 2804, 2805, 7, 80, 2, 2, 2805, 2806, 7, 67, 2, 2, 2806, 2807, 7, 78, 2, 2, 2807, 2808, 7, 78, 2, 2, 2808, 2809, 7, 91, 2, 2, 2809, 216, 3, 2, 2, 2, 2810, 2811, 7, 81, 2, 2, 2811, 2812, 7, 84, 2, 2, 2812, 218, 3, 2, 2, 2, 2813, 2814, 7, 81, 2, 2, 2814, 2815, 7, 84, 2, 2, 2815, 2816, 7, 70, 2, 2, 2816, 2817, 7, 71, 2, 2, 2817, 2818, 7, 84, 2, 2, 2818, 220, 3, 2, 2, 2, 2819, 2820, 7, 81, 2, 2, 2820, 2821, 7, 87, 2, 2, 2821, 2822, 7, 86, 2, 2, 2822, 222, 3, 2, 2, 2, 2823, 2824, 7, 81, 2, 2, 2824, 2825, 7, 87, 2, 2, 2825, 2826, 7, 86, 2, 2, 2826, 2827, 7, 71, 2, 2, 2827, 2828, 7, 84, 2, 2, 2828, 224, 3, 2, 2, 2, 2829, 2830, 7, 81, 2, 2, 2830, 2831, 7, 87, 2, 2, 2831, 2832, 7, 86, 2, 2, 2832, 2833, 7, 72, 2, 2, 2833, 2834, 7, 75, 2, 2, 2834, 2835, 7, 78, 2, 2, 2835, 2836, 7, 71, 2, 2, 2836, 226, 3, 2, 2, 2, 2837, 2838, 7, 82, 2, 2, 2838, 2839, 7, 67, 2, 2, 2839, 2840, 7, 84, 2, 2, 2840, 2841, 7, 86, 2, 2, 2841, 2842, 7, 75, 2, 2, 2842, 2843, 7, 86, 2, 2, 2843, 2844, 7, 75, 2, 2, 2844, 2845, 7, 81, 2, 2, 2845, 2846, 7, 80, 2, 2, 2846, 228, 3, 2, 2, 2, 2847, 2848, 7, 82, 2, 2, 2848, 2849, 7, 84, 2, 2, 2849, 2850, 7, 75, 2, 2, 2850, 2851, 7, 79, 2, 2, 2851, 2852, 7, 67, 2, 2, 2852, 2853, 7, 84, 2, 2, 2853, 2854, 7, 91, 2, 2, 2854, 230, 3, 2, 2, 2, 2855, 2856, 7, 82, 2, 2, 2856, 2857, 7, 84, 2, 2, 2857, 2858, 7, 81, 2, 2, 2858, 2859, 7, 69, 2, 2, 2859, 2860, 7, 71, 2, 2, 2860, 2861, 7, 70, 2, 2, 2861, 2862, 7, 87, 2, 2, 2862, 2863, 7, 84, 2, 2, 2863, 2864, 7, 71, 2, 2, 2864, 232, 3, 2, 2, 2, 2865, 2866, 7, 82, 2, 2, 2866, 2867, 7, 87, 2, 2, 2867, 2868, 7, 84, 2, 2, 2868, 2869, 7, 73, 2, 2, 2869, 2870, 7, 71, 2, 2, 2870, 234, 3, 2, 2, 2, 2871, 2872, 7, 84, 2, 2, 2872, 2873, 7, 67, 2, 2, 2873, 2874, 7, 80, 2, 2, 2874, 2875, 7, 73, 2, 2, 2875, 2876, 7, 71, 2, 2, 2876, 236, 3, 2, 2, 2, 2877, 2878, 7, 84, 2, 2, 2878, 2879, 7, 71, 2, 2, 2879, 2880, 7, 67, 2, 2, 2880, 2881, 7, 70, 2, 2, 2881, 238, 3, 2, 2, 2, 2882, 2883, 7, 84, 2, 2, 2883, 2884, 7, 71, 2, 2, 2884, 2885, 7, 67, 2, 2, 2885, 2886, 7, 70, 2, 2, 2886, 2887, 7, 85, 2, 2, 2887, 240, 3, 2, 2, 2, 2888, 2889, 7, 84, 2, 2, 2889, 2890, 7, 71, 2, 2, 2890, 2891, 7, 72, 2, 2, 2891, 2892, 7, 71, 2, 2, 2892, 2893, 7, 84, 2, 2, 2893, 2894, 7, 71, 2, 2, 2894, 2895, 7, 80, 2, 2, 2895, 2896, 7, 69, 2, 2, 2896, 2897, 7, 71, 2, 2, 2897, 2898, 7, 85, 2, 2, 2898, 242, 3, 2, 2, 2, 2899, 2900, 7, 84, 2, 2, 2900, 2901, 7, 71, 2, 2, 2901, 2902, 7, 73, 2, 2, 2902, 2903, 7, 71, 2, 2, 2903, 2904, 7, 90, 2, 2, 2904, 2905, 7, 82, 2, 2, 2905, 244, 3, 2, 2, 2, 2906, 2907, 7, 84, 2, 2, 2907, 2908, 7, 71, 2, 2, 2908, 2909, 7, 78, 2, 2, 2909, 2910, 7, 71, 2, 2, 2910, 2911, 7, 67, 2, 2, 2911, 2912, 7, 85, 2, 2, 2912, 2913, 7, 71, 2, 2, 2913, 246, 3, 2, 2, 2, 2914, 2915, 7, 84, 2, 2, 2915, 2916, 7, 71, 2, 2, 2916, 2917, 7, 80, 2, 2, 2917, 2918, 7, 67, 2, 2, 2918, 2919, 7, 79, 2, 2, 2919, 2920, 7, 71, 2, 2, 2920, 248, 3, 2, 2, 2, 2921, 2922, 7, 84, 2, 2, 2922, 2923, 7, 71, 2, 2, 2923, 2924, 7, 82, 2, 2, 2924, 2925, 7, 71, 2, 2, 2925, 2926, 7, 67, 2, 2, 2926, 2927, 7, 86, 2, 2, 2927, 250, 3, 2, 2, 2, 2928, 2929, 7, 84, 2, 2, 2929, 2930, 7, 71, 2, 2, 2930, 2931, 7, 82, 2, 2, 2931, 2932, 7, 78, 2, 2, 2932, 2933, 7, 67, 2, 2, 2933, 2934, 7, 69, 2, 2, 2934, 2935, 7, 71, 2, 2, 2935, 252, 3, 2, 2, 2, 2936, 2937, 7, 84, 2, 2, 2937, 2938, 7, 71, 2, 2, 2938, 2939, 7, 83, 2, 2, 2939, 2940, 7, 87, 2, 2, 2940, 2941, 7, 75, 2, 2, 2941, 2942, 7, 84, 2, 2, 2942, 2943, 7, 71, 2, 2, 2943, 254, 3, 2, 2, 2, 2944, 2945, 7, 84, 2, 2, 2945, 2946, 7, 71, 2, 2, 2946, 2947, 7, 85, 2, 2, 2947, 2948, 7, 86, 2, 2, 2948, 2949, 7, 84, 2, 2, 2949, 2950, 7, 75, 2, 2, 2950, 2951, 7, 69, 2, 2, 2951, 2952, 7, 86, 2, 2, 2952, 256, 3, 2, 2, 2, 2953, 2954, 7, 84, 2, 2, 2954, 2955, 7, 71, 2, 2, 2955, 2956, 7, 86, 2, 2, 2956, 2957, 7, 87, 2, 2, 2957, 2958, 7, 84, 2, 2, 2958, 2959, 7, 80, 2, 2, 2959, 258, 3, 2, 2, 2, 2960, 2961, 7, 84, 2, 2, 2961, 2962, 7, 71, 2, 2, 2962, 2963, 7, 88, 2, 2, 2963, 2964, 7, 81, 2, 2, 2964, 2965, 7, 77, 2, 2, 2965, 2966, 7, 71, 2, 2, 2966, 260, 3, 2, 2, 2, 2967, 2968, 7, 84, 2, 2, 2968, 2969, 7, 75, 2, 2, 2969, 2970, 7, 73, 2, 2, 2970, 2971, 7, 74, 2, 2, 2971, 2972, 7, 86, 2, 2, 2972, 262, 3, 2, 2, 2, 2973, 2974, 7, 84, 2, 2, 2974, 2975, 7, 78, 2, 2, 2975, 2976, 7, 75, 2, 2, 2976, 2977, 7, 77, 2, 2, 2977, 2978, 7, 71, 2, 2, 2978, 264, 3, 2, 2, 2, 2979, 2980, 7, 85, 2, 2, 2980, 2981, 7, 69, 2, 2, 2981, 2982, 7, 74, 2, 2, 2982, 2983, 7, 71, 2, 2, 2983, 2984, 7, 79, 2, 2, 2984, 2985, 7, 67, 2, 2, 2985, 266, 3, 2, 2, 2, 2986, 2987, 7, 85, 2, 2, 2987, 2988, 7, 69, 2, 2, 2988, 2989, 7, 74, 2, 2, 2989, 2990, 7, 71, 2, 2, 2990, 2991, 7, 79, 2, 2, 2991, 2992, 7, 67, 2, 2, 2992, 2993, 7, 85, 2, 2, 2993, 268, 3, 2, 2, 2, 2994, 2995, 7, 85, 2, 2, 2995, 2996, 7, 71, 2, 2, 2996, 2997, 7, 78, 2, 2, 2997, 2998, 7, 71, 2, 2, 2998, 2999, 7, 69, 2, 2, 2999, 3000, 7, 86, 2, 2, 3000, 270, 3, 2, 2, 2, 3001, 3002, 7, 85, 2, 2, 3002, 3003, 7, 71, 2, 2, 3003, 3004, 7, 86, 2, 2, 3004, 272, 3, 2, 2, 2, 3005, 3006, 7, 85, 2, 2, 3006, 3007, 7, 71, 2, 2, 3007, 3008, 7, 82, 2, 2, 3008, 3009, 7, 67, 2, 2, 3009, 3010, 7, 84, 2, 2, 3010, 3011, 7, 67, 2, 2, 3011, 3012, 7, 86, 2, 2, 3012, 3013, 7, 81, 2, 2, 3013, 3014, 7, 84, 2, 2, 3014, 274, 3, 2, 2, 2, 3015, 3016, 7, 85, 2, 2, 3016, 3017, 7, 74, 2, 2, 3017, 3018, 7, 81, 2, 2, 3018, 3019, 7, 89, 2, 2, 3019, 276, 3, 2, 2, 2, 3020, 3021, 7, 85, 2, 2, 3021, 3022, 7, 82, 2, 2, 3022, 3023, 7, 67, 2, 2, 3023, 3024, 7, 86, 2, 2, 3024, 3025, 7, 75, 2, 2, 3025, 3026, 7, 67, 2, 2, 3026, 3027, 7, 78, 2, 2, 3027, 278, 3, 2, 2, 2, 3028, 3029, 7, 85, 2, 2, 3029, 3030, 7, 83, 2, 2, 3030, 3031, 7, 78, 2, 2, 3031, 280, 3, 2, 2, 2, 3032, 3033, 7, 85, 2, 2, 3033, 3034, 7, 83, 2, 2, 3034, 3035, 7, 78, 2, 2, 3035, 3036, 7, 71, 2, 2, 3036, 3037, 7, 90, 2, 2, 3037, 3038, 7, 69, 2, 2, 3038, 3039, 7, 71, 2, 2, 3039, 3040, 7, 82, 2, 2, 3040, 3041, 7, 86, 2, 2, 3041, 3042, 7, 75, 2, 2, 3042, 3043, 7, 81, 2, 2, 3043, 3044, 7, 80, 2, 2, 3044, 282, 3, 2, 2, 2, 3045, 3046, 7, 85, 2, 2, 3046, 3047, 7, 83, 2, 2, 3047, 3048, 7, 78, 2, 2, 3048, 3049, 7, 85, 2, 2, 3049, 3050, 7, 86, 2, 2, 3050, 3051, 7, 67, 2, 2, 3051, 3052, 7, 86, 2, 2, 3052, 3053, 7, 71, 2, 2, 3053, 284, 3, 2, 2, 2, 3054, 3055, 7, 85, 2, 2, 3055, 3056, 7, 83, 2, 2, 3056, 3057, 7, 78, 2, 2, 3057, 3058, 7, 89, 2, 2, 3058, 3059, 7, 67, 2, 2, 3059, 3060, 7, 84, 2, 2, 3060, 3061, 7, 80, 2, 2, 3061, 3062, 7, 75, 2, 2, 3062, 3063, 7, 80, 2, 2, 3063, 3064, 7, 73, 2, 2, 3064, 286, 3, 2, 2, 2, 3065, 3066, 7, 85, 2, 2, 3066, 3067, 7, 83, 2, 2, 3067, 3068, 7, 78, 2, 2, 3068, 3069, 7, 97, 2, 2, 3069, 3070, 7, 68, 2, 2, 3070, 3071, 7, 75, 2, 2, 3071, 3072, 7, 73, 2, 2, 3072, 3073, 7, 97, 2, 2, 3073, 3074, 7, 84, 2, 2, 3074, 3075, 7, 71, 2, 2, 3075, 3076, 7, 85, 2, 2, 3076, 3077, 7, 87, 2, 2, 3077, 3078, 7, 78, 2, 2, 3078, 3079, 7, 86, 2, 2, 3079, 288, 3, 2, 2, 2, 3080, 3081, 7, 85, 2, 2, 3081, 3082, 7, 83, 2, 2, 3082, 3083, 7, 78, 2, 2, 3083, 3084, 7, 97, 2, 2, 3084, 3085, 7, 69, 2, 2, 3085, 3086, 7, 67, 2, 2, 3086, 3087, 7, 78, 2, 2, 3087, 3088, 7, 69, 2, 2, 3088, 3089, 7, 97, 2, 2, 3089, 3090, 7, 72, 2, 2, 3090, 3091, 7, 81, 2, 2, 3091, 3092, 7, 87, 2, 2, 3092, 3093, 7, 80, 2, 2, 3093, 3094, 7, 70, 2, 2, 3094, 3095, 7, 97, 2, 2, 3095, 3096, 7, 84, 2, 2, 3096, 3097, 7, 81, 2, 2, 3097, 3098, 7, 89, 2, 2, 3098, 3099, 7, 85, 2, 2, 3099, 290, 3, 2, 2, 2, 3100, 3101, 7, 85, 2, 2, 3101, 3102, 7, 83, 2, 2, 3102, 3103, 7, 78, 2, 2, 3103, 3104, 7, 97, 2, 2, 3104, 3105, 7, 85, 2, 2, 3105, 3106, 7, 79, 2, 2, 3106, 3107, 7, 67, 2, 2, 3107, 3108, 7, 78, 2, 2, 3108, 3109, 7, 78, 2, 2, 3109, 3110, 7, 97, 2, 2, 3110, 3111, 7, 84, 2, 2, 3111, 3112, 7, 71, 2, 2, 3112, 3113, 7, 85, 2, 2, 3113, 3114, 7, 87, 2, 2, 3114, 3115, 7, 78, 2, 2, 3115, 3116, 7, 86, 2, 2, 3116, 292, 3, 2, 2, 2, 3117, 3118, 7, 85, 2, 2, 3118, 3119, 7, 85, 2, 2, 3119, 3120, 7, 78, 2, 2, 3120, 294, 3, 2, 2, 2, 3121, 3122, 7, 85, 2, 2, 3122, 3123, 7, 86, 2, 2, 3123, 3124, 7, 67, 2, 2, 3124, 3125, 7, 84, 2, 2, 3125, 3126, 7, 86, 2, 2, 3126, 3127, 7, 75, 2, 2, 3127, 3128, 7, 80, 2, 2, 3128, 3129, 7, 73, 2, 2, 3129, 296, 3, 2, 2, 2, 3130, 3131, 7, 85, 2, 2, 3131, 3132, 7, 86, 2, 2, 3132, 3133, 7, 84, 2, 2, 3133, 3134, 7, 67, 2, 2, 3134, 3135, 7, 75, 2, 2, 3135, 3136, 7, 73, 2, 2, 3136, 3137, 7, 74, 2, 2, 3137, 3138, 7, 86, 2, 2, 3138, 3139, 7, 97, 2, 2, 3139, 3140, 7, 76, 2, 2, 3140, 3141, 7, 81, 2, 2, 3141, 3142, 7, 75, 2, 2, 3142, 3143, 7, 80, 2, 2, 3143, 298, 3, 2, 2, 2, 3144, 3145, 7, 86, 2, 2, 3145, 3146, 7, 67, 2, 2, 3146, 3147, 7, 68, 2, 2, 3147, 3148, 7, 78, 2, 2, 3148, 3149, 7, 71, 2, 2, 3149, 300, 3, 2, 2, 2, 3150, 3151, 7, 86, 2, 2, 3151, 3152, 7, 71, 2, 2, 3152, 3153, 7, 84, 2, 2, 3153, 3154, 7, 79, 2, 2, 3154, 3155, 7, 75, 2, 2, 3155, 3156, 7, 80, 2, 2, 3156, 3157, 7, 67, 2, 2, 3157, 3158, 7, 86, 2, 2, 3158, 3159, 7, 71, 2, 2, 3159, 3160, 7, 70, 2, 2, 3160, 302, 3, 2, 2, 2, 3161, 3162, 7, 86, 2, 2, 3162, 3163, 7, 74, 2, 2, 3163, 3164, 7, 71, 2, 2, 3164, 3165, 7, 80, 2, 2, 3165, 304, 3, 2, 2, 2, 3166, 3167, 7, 86, 2, 2, 3167, 3168, 7, 81, 2, 2, 3168, 306, 3, 2, 2, 2, 3169, 3170, 7, 86, 2, 2, 3170, 3171, 7, 84, 2, 2, 3171, 3172, 7, 67, 2, 2, 3172, 3173, 7, 75, 2, 2, 3173, 3174, 7, 78, 2, 2, 3174, 3175, 7, 75, 2, 2, 3175, 3176, 7, 80, 2, 2, 3176, 3177, 7, 73, 2, 2, 3177, 308, 3, 2, 2, 2, 3178, 3179, 7, 86, 2, 2, 3179, 3180, 7, 84, 2, 2, 3180, 3181, 7, 75, 2, 2, 3181, 3182, 7, 73, 2, 2, 3182, 3183, 7, 73, 2, 2, 3183, 3184, 7, 71, 2, 2, 3184, 3185, 7, 84, 2, 2, 3185, 310, 3, 2, 2, 2, 3186, 3187, 7, 86, 2, 2, 3187, 3188, 7, 84, 2, 2, 3188, 3189, 7, 87, 2, 2, 3189, 3190, 7, 71, 2, 2, 3190, 312, 3, 2, 2, 2, 3191, 3192, 7, 87, 2, 2, 3192, 3193, 7, 80, 2, 2, 3193, 3194, 7, 70, 2, 2, 3194, 3195, 7, 81, 2, 2, 3195, 314, 3, 2, 2, 2, 3196, 3197, 7, 87, 2, 2, 3197, 3198, 7, 80, 2, 2, 3198, 3199, 7, 75, 2, 2, 3199, 3200, 7, 81, 2, 2, 3200, 3201, 7, 80, 2, 2, 3201, 316, 3, 2, 2, 2, 3202, 3203, 7, 87, 2, 2, 3203, 3204, 7, 80, 2, 2, 3204, 3205, 7, 75, 2, 2, 3205, 3206, 7, 83, 2, 2, 3206, 3207, 7, 87, 2, 2, 3207, 3208, 7, 71, 2, 2, 3208, 318, 3, 2, 2, 2, 3209, 3210, 7, 87, 2, 2, 3210, 3211, 7, 80, 2, 2, 3211, 3212, 7, 78, 2, 2, 3212, 3213, 7, 81, 2, 2, 3213, 3214, 7, 69, 2, 2, 3214, 3215, 7, 77, 2, 2, 3215, 320, 3, 2, 2, 2, 3216, 3217, 7, 87, 2, 2, 3217, 3218, 7, 80, 2, 2, 3218, 3219, 7, 85, 2, 2, 3219, 3220, 7, 75, 2, 2, 3220, 3221, 7, 73, 2, 2, 3221, 3222, 7, 80, 2, 2, 3222, 3223, 7, 71, 2, 2, 3223, 3224, 7, 70, 2, 2, 3224, 322, 3, 2, 2, 2, 3225, 3226, 7, 87, 2, 2, 3226, 3227, 7, 82, 2, 2, 3227, 3228, 7, 70, 2, 2, 3228, 3229, 7, 67, 2, 2, 3229, 3230, 7, 86, 2, 2, 3230, 3231, 7, 71, 2, 2, 3231, 324, 3, 2, 2, 2, 3232, 3233, 7, 87, 2, 2, 3233, 3234, 7, 85, 2, 2, 3234, 3235, 7, 67, 2, 2, 3235, 3236, 7, 73, 2, 2, 3236, 3237, 7, 71, 2, 2, 3237, 326, 3, 2, 2, 2, 3238, 3239, 7, 87, 2, 2, 3239, 3240, 7, 85, 2, 2, 3240, 3241, 7, 71, 2, 2, 3241, 328, 3, 2, 2, 2, 3242, 3243, 7, 87, 2, 2, 3243, 3244, 7, 85, 2, 2, 3244, 3245, 7, 75, 2, 2, 3245, 3246, 7, 80, 2, 2, 3246, 3247, 7, 73, 2, 2, 3247, 330, 3, 2, 2, 2, 3248, 3249, 7, 88, 2, 2, 3249, 3250, 7, 67, 2, 2, 3250, 3251, 7, 78, 2, 2, 3251, 3252, 7, 87, 2, 2, 3252, 3253, 7, 71, 2, 2, 3253, 3254, 7, 85, 2, 2, 3254, 332, 3, 2, 2, 2, 3255, 3256, 7, 89, 2, 2, 3256, 3257, 7, 74, 2, 2, 3257, 3258, 7, 71, 2, 2, 3258, 3259, 7, 80, 2, 2, 3259, 334, 3, 2, 2, 2, 3260, 3261, 7, 89, 2, 2, 3261, 3262, 7, 74, 2, 2, 3262, 3263, 7, 71, 2, 2, 3263, 3264, 7, 84, 2, 2, 3264, 3265, 7, 71, 2, 2, 3265, 336, 3, 2, 2, 2, 3266, 3267, 7, 89, 2, 2, 3267, 3268, 7, 74, 2, 2, 3268, 3269, 7, 75, 2, 2, 3269, 3270, 7, 78, 2, 2, 3270, 3271, 7, 71, 2, 2, 3271, 338, 3, 2, 2, 2, 3272, 3273, 7, 89, 2, 2, 3273, 3274, 7, 75, 2, 2, 3274, 3275, 7, 86, 2, 2, 3275, 3276, 7, 74, 2, 2, 3276, 340, 3, 2, 2, 2, 3277, 3278, 7, 89, 2, 2, 3278, 3279, 7, 84, 2, 2, 3279, 3280, 7, 75, 2, 2, 3280, 3281, 7, 86, 2, 2, 3281, 3282, 7, 71, 2, 2, 3282, 342, 3, 2, 2, 2, 3283, 3284, 7, 90, 2, 2, 3284, 3285, 7, 81, 2, 2, 3285, 3286, 7, 84, 2, 2, 3286, 344, 3, 2, 2, 2, 3287, 3288, 7, 92, 2, 2, 3288, 3289, 7, 71, 2, 2, 3289, 3290, 7, 84, 2, 2, 3290, 3291, 7, 81, 2, 2, 3291, 3292, 7, 72, 2, 2, 3292, 3293, 7, 75, 2, 2, 3293, 3294, 7, 78, 2, 2, 3294, 3295, 7, 78, 2, 2, 3295, 346, 3, 2, 2, 2, 3296, 3297, 7, 86, 2, 2, 3297, 3298, 7, 75, 2, 2, 3298, 3299, 7, 80, 2, 2, 3299, 3300, 7, 91, 2, 2, 3300, 3301, 7, 75, 2, 2, 3301, 3302, 7, 80, 2, 2, 3302, 3303, 7, 86, 2, 2, 3303, 348, 3, 2, 2, 2, 3304, 3305, 7, 85, 2, 2, 3305, 3306, 7, 79, 2, 2, 3306, 3307, 7, 67, 2, 2, 3307, 3308, 7, 78, 2, 2, 3308, 3309, 7, 78, 2, 2, 3309, 3310, 7, 75, 2, 2, 3310, 3311, 7, 80, 2, 2, 3311, 3312, 7, 86, 2, 2, 3312, 350, 3, 2, 2, 2, 3313, 3314, 7, 79, 2, 2, 3314, 3315, 7, 71, 2, 2, 3315, 3316, 7, 70, 2, 2, 3316, 3317, 7, 75, 2, 2, 3317, 3318, 7, 87, 2, 2, 3318, 3319, 7, 79, 2, 2, 3319, 3320, 7, 75, 2, 2, 3320, 3321, 7, 80, 2, 2, 3321, 3322, 7, 86, 2, 2, 3322, 352, 3, 2, 2, 2, 3323, 3324, 7, 75, 2, 2, 3324, 3325, 7, 80, 2, 2, 3325, 3326, 7, 86, 2, 2, 3326, 354, 3, 2, 2, 2, 3327, 3328, 7, 75, 2, 2, 3328, 3329, 7, 80, 2, 2, 3329, 3330, 7, 86, 2, 2, 3330, 3331, 7, 71, 2, 2, 3331, 3332, 7, 73, 2, 2, 3332, 3333, 7, 71, 2, 2, 3333, 3334, 7, 84, 2, 2, 3334, 356, 3, 2, 2, 2, 3335, 3336, 7, 68, 2, 2, 3336, 3337, 7, 75, 2, 2, 3337, 3338, 7, 73, 2, 2, 3338, 3339, 7, 75, 2, 2, 3339, 3340, 7, 80, 2, 2, 3340, 3341, 7, 86, 2, 2, 3341, 358, 3, 2, 2, 2, 3342, 3343, 7, 84, 2, 2, 3343, 3344, 7, 71, 2, 2, 3344, 3345, 7, 67, 2, 2, 3345, 3346, 7, 78, 2, 2, 3346, 360, 3, 2, 2, 2, 3347, 3348, 7, 70, 2, 2, 3348, 3349, 7, 81, 2, 2, 3349, 3350, 7, 87, 2, 2, 3350, 3351, 7, 68, 2, 2, 3351, 3352, 7, 78, 2, 2, 3352, 3353, 7, 71, 2, 2, 3353, 362, 3, 2, 2, 2, 3354, 3355, 7, 72, 2, 2, 3355, 3356, 7, 78, 2, 2, 3356, 3357, 7, 81, 2, 2, 3357, 3358, 7, 67, 2, 2, 3358, 3359, 7, 86, 2, 2, 3359, 364, 3, 2, 2, 2, 3360, 3361, 7, 70, 2, 2, 3361, 3362, 7, 71, 2, 2, 3362, 3363, 7, 69, 2, 2, 3363, 3364, 7, 75, 2, 2, 3364, 3365, 7, 79, 2, 2, 3365, 3366, 7, 67, 2, 2, 3366, 3367, 7, 78, 2, 2, 3367, 366, 3, 2, 2, 2, 3368, 3369, 7, 80, 2, 2, 3369, 3370, 7, 87, 2, 2, 3370, 3371, 7, 79, 2, 2, 3371, 3372, 7, 71, 2, 2, 3372, 3373, 7, 84, 2, 2, 3373, 3374, 7, 75, 2, 2, 3374, 3375, 7, 69, 2, 2, 3375, 368, 3, 2, 2, 2, 3376, 3377, 7, 70, 2, 2, 3377, 3378, 7, 67, 2, 2, 3378, 3379, 7, 86, 2, 2, 3379, 3380, 7, 71, 2, 2, 3380, 370, 3, 2, 2, 2, 3381, 3382, 7, 86, 2, 2, 3382, 3383, 7, 75, 2, 2, 3383, 3384, 7, 79, 2, 2, 3384, 3385, 7, 71, 2, 2, 3385, 372, 3, 2, 2, 2, 3386, 3387, 7, 86, 2, 2, 3387, 3388, 7, 75, 2, 2, 3388, 3389, 7, 79, 2, 2, 3389, 3390, 7, 71, 2, 2, 3390, 3391, 7, 85, 2, 2, 3391, 3392, 7, 86, 2, 2, 3392, 3393, 7, 67, 2, 2, 3393, 3394, 7, 79, 2, 2, 3394, 3395, 7, 82, 2, 2, 3395, 374, 3, 2, 2, 2, 3396, 3397, 7, 70, 2, 2, 3397, 3398, 7, 67, 2, 2, 3398, 3399, 7, 86, 2, 2, 3399, 3400, 7, 71, 2, 2, 3400, 3401, 7, 86, 2, 2, 3401, 3402, 7, 75, 2, 2, 3402, 3403, 7, 79, 2, 2, 3403, 3404, 7, 71, 2, 2, 3404, 376, 3, 2, 2, 2, 3405, 3406, 7, 91, 2, 2, 3406, 3407, 7, 71, 2, 2, 3407, 3408, 7, 67, 2, 2, 3408, 3409, 7, 84, 2, 2, 3409, 378, 3, 2, 2, 2, 3410, 3411, 7, 69, 2, 2, 3411, 3412, 7, 74, 2, 2, 3412, 3413, 7, 67, 2, 2, 3413, 3414, 7, 84, 2, 2, 3414, 380, 3, 2, 2, 2, 3415, 3416, 7, 88, 2, 2, 3416, 3417, 7, 67, 2, 2, 3417, 3418, 7, 84, 2, 2, 3418, 3419, 7, 69, 2, 2, 3419, 3420, 7, 74, 2, 2, 3420, 3421, 7, 67, 2, 2, 3421, 3422, 7, 84, 2, 2, 3422, 382, 3, 2, 2, 2, 3423, 3424, 7, 68, 2, 2, 3424, 3425, 7, 75, 2, 2, 3425, 3426, 7, 80, 2, 2, 3426, 3427, 7, 67, 2, 2, 3427, 3428, 7, 84, 2, 2, 3428, 3429, 7, 91, 2, 2, 3429, 384, 3, 2, 2, 2, 3430, 3431, 7, 88, 2, 2, 3431, 3432, 7, 67, 2, 2, 3432, 3433, 7, 84, 2, 2, 3433, 3434, 7, 68, 2, 2, 3434, 3435, 7, 75, 2, 2, 3435, 3436, 7, 80, 2, 2, 3436, 3437, 7, 67, 2, 2, 3437, 3438, 7, 84, 2, 2, 3438, 3439, 7, 91, 2, 2, 3439, 386, 3, 2, 2, 2, 3440, 3441, 7, 86, 2, 2, 3441, 3442, 7, 75, 2, 2, 3442, 3443, 7, 80, 2, 2, 3443, 3444, 7, 91, 2, 2, 3444, 3445, 7, 68, 2, 2, 3445, 3446, 7, 78, 2, 2, 3446, 3447, 7, 81, 2, 2, 3447, 3448, 7, 68, 2, 2, 3448, 388, 3, 2, 2, 2, 3449, 3450, 7, 68, 2, 2, 3450, 3451, 7, 78, 2, 2, 3451, 3452, 7, 81, 2, 2, 3452, 3453, 7, 68, 2, 2, 3453, 390, 3, 2, 2, 2, 3454, 3455, 7, 79, 2, 2, 3455, 3456, 7, 71, 2, 2, 3456, 3457, 7, 70, 2, 2, 3457, 3458, 7, 75, 2, 2, 3458, 3459, 7, 87, 2, 2, 3459, 3460, 7, 79, 2, 2, 3460, 3461, 7, 68, 2, 2, 3461, 3462, 7, 78, 2, 2, 3462, 3463, 7, 81, 2, 2, 3463, 3464, 7, 68, 2, 2, 3464, 392, 3, 2, 2, 2, 3465, 3466, 7, 78, 2, 2, 3466, 3467, 7, 81, 2, 2, 3467, 3468, 7, 80, 2, 2, 3468, 3469, 7, 73, 2, 2, 3469, 3470, 7, 68, 2, 2, 3470, 3471, 7, 78, 2, 2, 3471, 3472, 7, 81, 2, 2, 3472, 3473, 7, 68, 2, 2, 3473, 394, 3, 2, 2, 2, 3474, 3475, 7, 86, 2, 2, 3475, 3476, 7, 75, 2, 2, 3476, 3477, 7, 80, 2, 2, 3477, 3478, 7, 91, 2, 2, 3478, 3479, 7, 86, 2, 2, 3479, 3480, 7, 71, 2, 2, 3480, 3481, 7, 90, 2, 2, 3481, 3482, 7, 86, 2, 2, 3482, 396, 3, 2, 2, 2, 3483, 3484, 7, 86, 2, 2, 3484, 3485, 7, 71, 2, 2, 3485, 3486, 7, 90, 2, 2, 3486, 3487, 7, 86, 2, 2, 3487, 398, 3, 2, 2, 2, 3488, 3489, 7, 79, 2, 2, 3489, 3490, 7, 71, 2, 2, 3490, 3491, 7, 70, 2, 2, 3491, 3492, 7, 75, 2, 2, 3492, 3493, 7, 87, 2, 2, 3493, 3494, 7, 79, 2, 2, 3494, 3495, 7, 86, 2, 2, 3495, 3496, 7, 71, 2, 2, 3496, 3497, 7, 90, 2, 2, 3497, 3498, 7, 86, 2, 2, 3498, 400, 3, 2, 2, 2, 3499, 3500, 7, 78, 2, 2, 3500, 3501, 7, 81, 2, 2, 3501, 3502, 7, 80, 2, 2, 3502, 3503, 7, 73, 2, 2, 3503, 3504, 7, 86, 2, 2, 3504, 3505, 7, 71, 2, 2, 3505, 3506, 7, 90, 2, 2, 3506, 3507, 7, 86, 2, 2, 3507, 402, 3, 2, 2, 2, 3508, 3509, 7, 71, 2, 2, 3509, 3510, 7, 80, 2, 2, 3510, 3511, 7, 87, 2, 2, 3511, 3512, 7, 79, 2, 2, 3512, 404, 3, 2, 2, 2, 3513, 3514, 7, 85, 2, 2, 3514, 3515, 7, 71, 2, 2, 3515, 3516, 7, 84, 2, 2, 3516, 3517, 7, 75, 2, 2, 3517, 3518, 7, 67, 2, 2, 3518, 3519, 7, 78, 2, 2, 3519, 406, 3, 2, 2, 2, 3520, 3521, 7, 91, 2, 2, 3521, 3522, 7, 71, 2, 2, 3522, 3523, 7, 67, 2, 2, 3523, 3524, 7, 84, 2, 2, 3524, 3525, 7, 97, 2, 2, 3525, 3526, 7, 79, 2, 2, 3526, 3527, 7, 81, 2, 2, 3527, 3528, 7, 80, 2, 2, 3528, 3529, 7, 86, 2, 2, 3529, 3530, 7, 74, 2, 2, 3530, 408, 3, 2, 2, 2, 3531, 3532, 7, 70, 2, 2, 3532, 3533, 7, 67, 2, 2, 3533, 3534, 7, 91, 2, 2, 3534, 3535, 7, 97, 2, 2, 3535, 3536, 7, 74, 2, 2, 3536, 3537, 7, 81, 2, 2, 3537, 3538, 7, 87, 2, 2, 3538, 3539, 7, 84, 2, 2, 3539, 410, 3, 2, 2, 2, 3540, 3541, 7, 70, 2, 2, 3541, 3542, 7, 67, 2, 2, 3542, 3543, 7, 91, 2, 2, 3543, 3544, 7, 97, 2, 2, 3544, 3545, 7, 79, 2, 2, 3545, 3546, 7, 75, 2, 2, 3546, 3547, 7, 80, 2, 2, 3547, 3548, 7, 87, 2, 2, 3548, 3549, 7, 86, 2, 2, 3549, 3550, 7, 71, 2, 2, 3550, 412, 3, 2, 2, 2, 3551, 3552, 7, 70, 2, 2, 3552, 3553, 7, 67, 2, 2, 3553, 3554, 7, 91, 2, 2, 3554, 3555, 7, 97, 2, 2, 3555, 3556, 7, 85, 2, 2, 3556, 3557, 7, 71, 2, 2, 3557, 3558, 7, 69, 2, 2, 3558, 3559, 7, 81, 2, 2, 3559, 3560, 7, 80, 2, 2, 3560, 3561, 7, 70, 2, 2, 3561, 414, 3, 2, 2, 2, 3562, 3563, 7, 74, 2, 2, 3563, 3564, 7, 81, 2, 2, 3564, 3565, 7, 87, 2, 2, 3565, 3566, 7, 84, 2, 2, 3566, 3567, 7, 97, 2, 2, 3567, 3568, 7, 79, 2, 2, 3568, 3569, 7, 75, 2, 2, 3569, 3570, 7, 80, 2, 2, 3570, 3571, 7, 87, 2, 2, 3571, 3572, 7, 86, 2, 2, 3572, 3573, 7, 71, 2, 2, 3573, 416, 3, 2, 2, 2, 3574, 3575, 7, 74, 2, 2, 3575, 3576, 7, 81, 2, 2, 3576, 3577, 7, 87, 2, 2, 3577, 3578, 7, 84, 2, 2, 3578, 3579, 7, 97, 2, 2, 3579, 3580, 7, 85, 2, 2, 3580, 3581, 7, 71, 2, 2, 3581, 3582, 7, 69, 2, 2, 3582, 3583, 7, 81, 2, 2, 3583, 3584, 7, 80, 2, 2, 3584, 3585, 7, 70, 2, 2, 3585, 418, 3, 2, 2, 2, 3586, 3587, 7, 79, 2, 2, 3587, 3588, 7, 75, 2, 2, 3588, 3589, 7, 80, 2, 2, 3589, 3590, 7, 87, 2, 2, 3590, 3591, 7, 86, 2, 2, 3591, 3592, 7, 71, 2, 2, 3592, 3593, 7, 97, 2, 2, 3593, 3594, 7, 85, 2, 2, 3594, 3595, 7, 71, 2, 2, 3595, 3596, 7, 69, 2, 2, 3596, 3597, 7, 81, 2, 2, 3597, 3598, 7, 80, 2, 2, 3598, 3599, 7, 70, 2, 2, 3599, 420, 3, 2, 2, 2, 3600, 3601, 7, 85, 2, 2, 3601, 3602, 7, 71, 2, 2, 3602, 3603, 7, 69, 2, 2, 3603, 3604, 7, 81, 2, 2, 3604, 3605, 7, 80, 2, 2, 3605, 3606, 7, 70, 2, 2, 3606, 3607, 7, 97, 2, 2, 3607, 3608, 7, 79, 2, 2, 3608, 3609, 7, 75, 2, 2, 3609, 3610, 7, 69, 2, 2, 3610, 3611, 7, 84, 2, 2, 3611, 3612, 7, 81, 2, 2, 3612, 3613, 7, 85, 2, 2, 3613, 3614, 7, 71, 2, 2, 3614, 3615, 7, 69, 2, 2, 3615, 3616, 7, 81, 2, 2, 3616, 3617, 7, 80, 2, 2, 3617, 3618, 7, 70, 2, 2, 3618, 422, 3, 2, 2, 2, 3619, 3620, 7, 79, 2, 2, 3620, 3621, 7, 75, 2, 2, 3621, 3622, 7, 80, 2, 2, 3622, 3623, 7, 87, 2, 2, 3623, 3624, 7, 86, 2, 2, 3624, 3625, 7, 71, 2, 2, 3625, 3626, 7, 97, 2, 2, 3626, 3627, 7, 79, 2, 2, 3627, 3628, 7, 75, 2, 2, 3628, 3629, 7, 69, 2, 2, 3629, 3630, 7, 84, 2, 2, 3630, 3631, 7, 81, 2, 2, 3631, 3632, 7, 85, 2, 2, 3632, 3633, 7, 71, 2, 2, 3633, 3634, 7, 69, 2, 2, 3634, 3635, 7, 81, 2, 2, 3635, 3636, 7, 80, 2, 2, 3636, 3637, 7, 70, 2, 2, 3637, 424, 3, 2, 2, 2, 3638, 3639, 7, 74, 2, 2, 3639, 3640, 7, 81, 2, 2, 3640, 3641, 7, 87, 2, 2, 3641, 3642, 7, 84, 2, 2, 3642, 3643, 7, 97, 2, 2, 3643, 3644, 7, 79, 2, 2, 3644, 3645, 7, 75, 2, 2, 3645, 3646, 7, 69, 2, 2, 3646, 3647, 7, 84, 2, 2, 3647, 3648, 7, 81, 2, 2, 3648, 3649, 7, 85, 2, 2, 3649, 3650, 7, 71, 2, 2, 3650, 3651, 7, 69, 2, 2, 3651, 3652, 7, 81, 2, 2, 3652, 3653, 7, 80, 2, 2, 3653, 3654, 7, 70, 2, 2, 3654, 426, 3, 2, 2, 2, 3655, 3656, 7, 70, 2, 2, 3656, 3657, 7, 67, 2, 2, 3657, 3658, 7, 91, 2, 2, 3658, 3659, 7, 97, 2, 2, 3659, 3660, 7, 79, 2, 2, 3660, 3661, 7, 75, 2, 2, 3661, 3662, 7, 69, 2, 2, 3662, 3663, 7, 84, 2, 2, 3663, 3664, 7, 81, 2, 2, 3664, 3665, 7, 85, 2, 2, 3665, 3666, 7, 71, 2, 2, 3666, 3667, 7, 69, 2, 2, 3667, 3668, 7, 81, 2, 2, 3668, 3669, 7, 80, 2, 2, 3669, 3670, 7, 70, 2, 2, 3670, 428, 3, 2, 2, 2, 3671, 3672, 7, 67, 2, 2, 3672, 3673, 7, 88, 2, 2, 3673, 3674, 7, 73, 2, 2, 3674, 430, 3, 2, 2, 2, 3675, 3676, 7, 68, 2, 2, 3676, 3677, 7, 75, 2, 2, 3677, 3678, 7, 86, 2, 2, 3678, 3679, 7, 97, 2, 2, 3679, 3680, 7, 67, 2, 2, 3680, 3681, 7, 80, 2, 2, 3681, 3682, 7, 70, 2, 2, 3682, 432, 3, 2, 2, 2, 3683, 3684, 7, 68, 2, 2, 3684, 3685, 7, 75, 2, 2, 3685, 3686, 7, 86, 2, 2, 3686, 3687, 7, 97, 2, 2, 3687, 3688, 7, 81, 2, 2, 3688, 3689, 7, 84, 2, 2, 3689, 434, 3, 2, 2, 2, 3690, 3691, 7, 68, 2, 2, 3691, 3692, 7, 75, 2, 2, 3692, 3693, 7, 86, 2, 2, 3693, 3694, 7, 97, 2, 2, 3694, 3695, 7, 90, 2, 2, 3695, 3696, 7, 81, 2, 2, 3696, 3697, 7, 84, 2, 2, 3697, 436, 3, 2, 2, 2, 3698, 3699, 7, 69, 2, 2, 3699, 3700, 7, 81, 2, 2, 3700, 3701, 7, 87, 2, 2, 3701, 3702, 7, 80, 2, 2, 3702, 3703, 7, 86, 2, 2, 3703, 438, 3, 2, 2, 2, 3704, 3705, 7, 73, 2, 2, 3705, 3706, 7, 84, 2, 2, 3706, 3707, 7, 81, 2, 2, 3707, 3708, 7, 87, 2, 2, 3708, 3709, 7, 82, 2, 2, 3709, 3710, 7, 97, 2, 2, 3710, 3711, 7, 69, 2, 2, 3711, 3712, 7, 81, 2, 2, 3712, 3713, 7, 80, 2, 2, 3713, 3714, 7, 69, 2, 2, 3714, 3715, 7, 67, 2, 2, 3715, 3716, 7, 86, 2, 2, 3716, 440, 3, 2, 2, 2, 3717, 3718, 7, 79, 2, 2, 3718, 3719, 7, 67, 2, 2, 3719, 3720, 7, 90, 2, 2, 3720, 442, 3, 2, 2, 2, 3721, 3722, 7, 79, 2, 2, 3722, 3723, 7, 75, 2, 2, 3723, 3724, 7, 80, 2, 2, 3724, 444, 3, 2, 2, 2, 3725, 3726, 7, 85, 2, 2, 3726, 3727, 7, 86, 2, 2, 3727, 3728, 7, 70, 2, 2, 3728, 446, 3, 2, 2, 2, 3729, 3730, 7, 85, 2, 2, 3730, 3731, 7, 86, 2, 2, 3731, 3732, 7, 70, 2, 2, 3732, 3733, 7, 70, 2, 2, 3733, 3734, 7, 71, 2, 2, 3734, 3735, 7, 88, 2, 2, 3735, 448, 3, 2, 2, 2, 3736, 3737, 7, 85, 2, 2, 3737, 3738, 7, 86, 2, 2, 3738, 3739, 7, 70, 2, 2, 3739, 3740, 7, 70, 2, 2, 3740, 3741, 7, 71, 2, 2, 3741, 3742, 7, 88, 2, 2, 3742, 3743, 7, 97, 2, 2, 3743, 3744, 7, 82, 2, 2, 3744, 3745, 7, 81, 2, 2, 3745, 3746, 7, 82, 2, 2, 3746, 450, 3, 2, 2, 2, 3747, 3748, 7, 85, 2, 2, 3748, 3749, 7, 86, 2, 2, 3749, 3750, 7, 70, 2, 2, 3750, 3751, 7, 70, 2, 2, 3751, 3752, 7, 71, 2, 2, 3752, 3753, 7, 88, 2, 2, 3753, 3754, 7, 97, 2, 2, 3754, 3755, 7, 85, 2, 2, 3755, 3756, 7, 67, 2, 2, 3756, 3757, 7, 79, 2, 2, 3757, 3758, 7, 82, 2, 2, 3758, 452, 3, 2, 2, 2, 3759, 3760, 7, 85, 2, 2, 3760, 3761, 7, 87, 2, 2, 3761, 3762, 7, 79, 2, 2, 3762, 454, 3, 2, 2, 2, 3763, 3764, 7, 88, 2, 2, 3764, 3765, 7, 67, 2, 2, 3765, 3766, 7, 84, 2, 2, 3766, 3767, 7, 97, 2, 2, 3767, 3768, 7, 82, 2, 2, 3768, 3769, 7, 81, 2, 2, 3769, 3770, 7, 82, 2, 2, 3770, 456, 3, 2, 2, 2, 3771, 3772, 7, 88, 2, 2, 3772, 3773, 7, 67, 2, 2, 3773, 3774, 7, 84, 2, 2, 3774, 3775, 7, 97, 2, 2, 3775, 3776, 7, 85, 2, 2, 3776, 3777, 7, 67, 2, 2, 3777, 3778, 7, 79, 2, 2, 3778, 3779, 7, 82, 2, 2, 3779, 458, 3, 2, 2, 2, 3780, 3781, 7, 88, 2, 2, 3781, 3782, 7, 67, 2, 2, 3782, 3783, 7, 84, 2, 2, 3783, 3784, 7, 75, 2, 2, 3784, 3785, 7, 67, 2, 2, 3785, 3786, 7, 80, 2, 2, 3786, 3787, 7, 69, 2, 2, 3787, 3788, 7, 71, 2, 2, 3788, 460, 3, 2, 2, 2, 3789, 3790, 7, 72, 2, 2, 3790, 3791, 7, 69, 2, 2, 3791, 3792, 7, 81, 2, 2, 3792, 3793, 7, 87, 2, 2, 3793, 3794, 7, 80, 2, 2, 3794, 3795, 7, 86, 2, 2, 3795, 462, 3, 2, 2, 2, 3796, 3797, 7, 69, 2, 2, 3797, 3798, 7, 87, 2, 2, 3798, 3799, 7, 84, 2, 2, 3799, 3800, 7, 84, 2, 2, 3800, 3801, 7, 71, 2, 2, 3801, 3802, 7, 80, 2, 2, 3802, 3803, 7, 86, 2, 2, 3803, 3804, 7, 97, 2, 2, 3804, 3805, 7, 70, 2, 2, 3805, 3806, 7, 67, 2, 2, 3806, 3807, 7, 86, 2, 2, 3807, 3808, 7, 71, 2, 2, 3808, 464, 3, 2, 2, 2, 3809, 3810, 7, 69, 2, 2, 3810, 3811, 7, 87, 2, 2, 3811, 3812, 7, 84, 2, 2, 3812, 3813, 7, 84, 2, 2, 3813, 3814, 7, 71, 2, 2, 3814, 3815, 7, 80, 2, 2, 3815, 3816, 7, 86, 2, 2, 3816, 3817, 7, 97, 2, 2, 3817, 3818, 7, 86, 2, 2, 3818, 3819, 7, 75, 2, 2, 3819, 3820, 7, 79, 2, 2, 3820, 3821, 7, 71, 2, 2, 3821, 466, 3, 2, 2, 2, 3822, 3823, 7, 69, 2, 2, 3823, 3824, 7, 87, 2, 2, 3824, 3825, 7, 84, 2, 2, 3825, 3826, 7, 84, 2, 2, 3826, 3827, 7, 71, 2, 2, 3827, 3828, 7, 80, 2, 2, 3828, 3829, 7, 86, 2, 2, 3829, 3830, 7, 97, 2, 2, 3830, 3831, 7, 86, 2, 2, 3831, 3832, 7, 75, 2, 2, 3832, 3833, 7, 79, 2, 2, 3833, 3834, 7, 71, 2, 2, 3834, 3835, 7, 85, 2, 2, 3835, 3836, 7, 86, 2, 2, 3836, 3837, 7, 67, 2, 2, 3837, 3838, 7, 79, 2, 2, 3838, 3839, 7, 82, 2, 2, 3839, 468, 3, 2, 2, 2, 3840, 3841, 7, 78, 2, 2, 3841, 3842, 7, 81, 2, 2, 3842, 3843, 7, 69, 2, 2, 3843, 3844, 7, 67, 2, 2, 3844, 3845, 7, 78, 2, 2, 3845, 3846, 7, 86, 2, 2, 3846, 3847, 7, 75, 2, 2, 3847, 3848, 7, 79, 2, 2, 3848, 3849, 7, 71, 2, 2, 3849, 470, 3, 2, 2, 2, 3850, 3851, 7, 69, 2, 2, 3851, 3852, 7, 87, 2, 2, 3852, 3853, 7, 84, 2, 2, 3853, 3854, 7, 70, 2, 2, 3854, 3855, 7, 67, 2, 2, 3855, 3856, 7, 86, 2, 2, 3856, 3857, 7, 71, 2, 2, 3857, 472, 3, 2, 2, 2, 3858, 3859, 7, 69, 2, 2, 3859, 3860, 7, 87, 2, 2, 3860, 3861, 7, 84, 2, 2, 3861, 3862, 7, 86, 2, 2, 3862, 3863, 7, 75, 2, 2, 3863, 3864, 7, 79, 2, 2, 3864, 3865, 7, 71, 2, 2, 3865, 474, 3, 2, 2, 2, 3866, 3867, 7, 70, 2, 2, 3867, 3868, 7, 67, 2, 2, 3868, 3869, 7, 86, 2, 2, 3869, 3870, 7, 71, 2, 2, 3870, 3871, 7, 97, 2, 2, 3871, 3872, 7, 67, 2, 2, 3872, 3873, 7, 70, 2, 2, 3873, 3874, 7, 70, 2, 2, 3874, 476, 3, 2, 2, 2, 3875, 3876, 7, 70, 2, 2, 3876, 3877, 7, 67, 2, 2, 3877, 3878, 7, 86, 2, 2, 3878, 3879, 7, 71, 2, 2, 3879, 3880, 7, 97, 2, 2, 3880, 3881, 7, 85, 2, 2, 3881, 3882, 7, 87, 2, 2, 3882, 3883, 7, 68, 2, 2, 3883, 478, 3, 2, 2, 2, 3884, 3885, 7, 71, 2, 2, 3885, 3886, 7, 90, 2, 2, 3886, 3887, 7, 86, 2, 2, 3887, 3888, 7, 84, 2, 2, 3888, 3889, 7, 67, 2, 2, 3889, 3890, 7, 69, 2, 2, 3890, 3891, 7, 86, 2, 2, 3891, 480, 3, 2, 2, 2, 3892, 3893, 7, 78, 2, 2, 3893, 3894, 7, 81, 2, 2, 3894, 3895, 7, 69, 2, 2, 3895, 3896, 7, 67, 2, 2, 3896, 3897, 7, 78, 2, 2, 3897, 3898, 7, 86, 2, 2, 3898, 3899, 7, 75, 2, 2, 3899, 3900, 7, 79, 2, 2, 3900, 3901, 7, 71, 2, 2, 3901, 3902, 7, 85, 2, 2, 3902, 3903, 7, 86, 2, 2, 3903, 3904, 7, 67, 2, 2, 3904, 3905, 7, 79, 2, 2, 3905, 3906, 7, 82, 2, 2, 3906, 482, 3, 2, 2, 2, 3907, 3908, 7, 80, 2, 2, 3908, 3909, 7, 81, 2, 2, 3909, 3910, 7, 89, 2, 2, 3910, 484, 3, 2, 2, 2, 3911, 3912, 7, 82, 2, 2, 3912, 3913, 7, 81, 2, 2, 3913, 3914, 7, 85, 2, 2, 3914, 3915, 7, 75, 2, 2, 3915, 3916, 7, 86, 2, 2, 3916, 3917, 7, 75, 2, 2, 3917, 3918, 7, 81, 2, 2, 3918, 3919, 7, 80, 2, 2, 3919, 486, 3, 2, 2, 2, 3920, 3921, 7, 85, 2, 2, 3921, 3922, 7, 87, 2, 2, 3922, 3923, 7, 68, 2, 2, 3923, 3924, 7, 85, 2, 2, 3924, 3925, 7, 86, 2, 2, 3925, 3926, 7, 84, 2, 2, 3926, 488, 3, 2, 2, 2, 3927, 3928, 7, 85, 2, 2, 3928, 3929, 7, 87, 2, 2, 3929, 3930, 7, 68, 2, 2, 3930, 3931, 7, 85, 2, 2, 3931, 3932, 7, 86, 2, 2, 3932, 3933, 7, 84, 2, 2, 3933, 3934, 7, 75, 2, 2, 3934, 3935, 7, 80, 2, 2, 3935, 3936, 7, 73, 2, 2, 3936, 490, 3, 2, 2, 2, 3937, 3938, 7, 85, 2, 2, 3938, 3939, 7, 91, 2, 2, 3939, 3940, 7, 85, 2, 2, 3940, 3941, 7, 70, 2, 2, 3941, 3942, 7, 67, 2, 2, 3942, 3943, 7, 86, 2, 2, 3943, 3944, 7, 71, 2, 2, 3944, 492, 3, 2, 2, 2, 3945, 3946, 7, 86, 2, 2, 3946, 3947, 7, 84, 2, 2, 3947, 3948, 7, 75, 2, 2, 3948, 3949, 7, 79, 2, 2, 3949, 494, 3, 2, 2, 2, 3950, 3951, 7, 87, 2, 2, 3951, 3952, 7, 86, 2, 2, 3952, 3953, 7, 69, 2, 2, 3953, 3954, 7, 97, 2, 2, 3954, 3955, 7, 70, 2, 2, 3955, 3956, 7, 67, 2, 2, 3956, 3957, 7, 86, 2, 2, 3957, 3958, 7, 71, 2, 2, 3958, 496, 3, 2, 2, 2, 3959, 3960, 7, 87, 2, 2, 3960, 3961, 7, 86, 2, 2, 3961, 3962, 7, 69, 2, 2, 3962, 3963, 7, 97, 2, 2, 3963, 3964, 7, 86, 2, 2, 3964, 3965, 7, 75, 2, 2, 3965, 3966, 7, 79, 2, 2, 3966, 3967, 7, 71, 2, 2, 3967, 498, 3, 2, 2, 2, 3968, 3969, 7, 87, 2, 2, 3969, 3970, 7, 86, 2, 2, 3970, 3971, 7, 69, 2, 2, 3971, 3972, 7, 97, 2, 2, 3972, 3973, 7, 86, 2, 2, 3973, 3974, 7, 75, 2, 2, 3974, 3975, 7, 79, 2, 2, 3975, 3976, 7, 71, 2, 2, 3976, 3977, 7, 85, 2, 2, 3977, 3978, 7, 86, 2, 2, 3978, 3979, 7, 67, 2, 2, 3979, 3980, 7, 79, 2, 2, 3980, 3981, 7, 82, 2, 2, 3981, 500, 3, 2, 2, 2, 3982, 3983, 7, 67, 2, 2, 3983, 3984, 7, 69, 2, 2, 3984, 3985, 7, 69, 2, 2, 3985, 3986, 7, 81, 2, 2, 3986, 3987, 7, 87, 2, 2, 3987, 3988, 7, 80, 2, 2, 3988, 3989, 7, 86, 2, 2, 3989, 502, 3, 2, 2, 2, 3990, 3991, 7, 67, 2, 2, 3991, 3992, 7, 69, 2, 2, 3992, 3993, 7, 86, 2, 2, 3993, 3994, 7, 75, 2, 2, 3994, 3995, 7, 81, 2, 2, 3995, 3996, 7, 80, 2, 2, 3996, 504, 3, 2, 2, 2, 3997, 3998, 7, 67, 2, 2, 3998, 3999, 7, 72, 2, 2, 3999, 4000, 7, 86, 2, 2, 4000, 4001, 7, 71, 2, 2, 4001, 4002, 7, 84, 2, 2, 4002, 506, 3, 2, 2, 2, 4003, 4004, 7, 67, 2, 2, 4004, 4005, 7, 73, 2, 2, 4005, 4006, 7, 73, 2, 2, 4006, 4007, 7, 84, 2, 2, 4007, 4008, 7, 71, 2, 2, 4008, 4009, 7, 73, 2, 2, 4009, 4010, 7, 67, 2, 2, 4010, 4011, 7, 86, 2, 2, 4011, 4012, 7, 71, 2, 2, 4012, 508, 3, 2, 2, 2, 4013, 4014, 7, 67, 2, 2, 4014, 4015, 7, 78, 2, 2, 4015, 4016, 7, 73, 2, 2, 4016, 4017, 7, 81, 2, 2, 4017, 4018, 7, 84, 2, 2, 4018, 4019, 7, 75, 2, 2, 4019, 4020, 7, 86, 2, 2, 4020, 4021, 7, 74, 2, 2, 4021, 4022, 7, 79, 2, 2, 4022, 510, 3, 2, 2, 2, 4023, 4024, 7, 67, 2, 2, 4024, 4025, 7, 80, 2, 2, 4025, 4026, 7, 91, 2, 2, 4026, 512, 3, 2, 2, 2, 4027, 4028, 7, 67, 2, 2, 4028, 4029, 7, 86, 2, 2, 4029, 514, 3, 2, 2, 2, 4030, 4031, 7, 67, 2, 2, 4031, 4032, 7, 87, 2, 2, 4032, 4033, 7, 86, 2, 2, 4033, 4034, 7, 74, 2, 2, 4034, 4035, 7, 81, 2, 2, 4035, 4036, 7, 84, 2, 2, 4036, 4037, 7, 85, 2, 2, 4037, 516, 3, 2, 2, 2, 4038, 4039, 7, 67, 2, 2, 4039, 4040, 7, 87, 2, 2, 4040, 4041, 7, 86, 2, 2, 4041, 4042, 7, 81, 2, 2, 4042, 4043, 7, 69, 2, 2, 4043, 4044, 7, 81, 2, 2, 4044, 4045, 7, 79, 2, 2, 4045, 4046, 7, 79, 2, 2, 4046, 4047, 7, 75, 2, 2, 4047, 4048, 7, 86, 2, 2, 4048, 518, 3, 2, 2, 2, 4049, 4050, 7, 67, 2, 2, 4050, 4051, 7, 87, 2, 2, 4051, 4052, 7, 86, 2, 2, 4052, 4053, 7, 81, 2, 2, 4053, 4054, 7, 71, 2, 2, 4054, 4055, 7, 90, 2, 2, 4055, 4056, 7, 86, 2, 2, 4056, 4057, 7, 71, 2, 2, 4057, 4058, 7, 80, 2, 2, 4058, 4059, 7, 70, 2, 2, 4059, 4060, 7, 97, 2, 2, 4060, 4061, 7, 85, 2, 2, 4061, 4062, 7, 75, 2, 2, 4062, 4063, 7, 92, 2, 2, 4063, 4064, 7, 71, 2, 2, 4064, 520, 3, 2, 2, 2, 4065, 4066, 7, 67, 2, 2, 4066, 4067, 7, 87, 2, 2, 4067, 4068, 7, 86, 2, 2, 4068, 4069, 7, 81, 2, 2, 4069, 4070, 7, 97, 2, 2, 4070, 4071, 7, 75, 2, 2, 4071, 4072, 7, 80, 2, 2, 4072, 4073, 7, 69, 2, 2, 4073, 4074, 7, 84, 2, 2, 4074, 4075, 7, 71, 2, 2, 4075, 4076, 7, 79, 2, 2, 4076, 4077, 7, 71, 2, 2, 4077, 4078, 7, 80, 2, 2, 4078, 4079, 7, 86, 2, 2, 4079, 522, 3, 2, 2, 2, 4080, 4081, 7, 67, 2, 2, 4081, 4082, 7, 88, 2, 2, 4082, 4083, 7, 73, 2, 2, 4083, 4084, 7, 97, 2, 2, 4084, 4085, 7, 84, 2, 2, 4085, 4086, 7, 81, 2, 2, 4086, 4087, 7, 89, 2, 2, 4087, 4088, 7, 97, 2, 2, 4088, 4089, 7, 78, 2, 2, 4089, 4090, 7, 71, 2, 2, 4090, 4091, 7, 80, 2, 2, 4091, 4092, 7, 73, 2, 2, 4092, 4093, 7, 86, 2, 2, 4093, 4094, 7, 74, 2, 2, 4094, 524, 3, 2, 2, 2, 4095, 4096, 7, 68, 2, 2, 4096, 4097, 7, 71, 2, 2, 4097, 4098, 7, 73, 2, 2, 4098, 4099, 7, 75, 2, 2, 4099, 4100, 7, 80, 2, 2, 4100, 526, 3, 2, 2, 2, 4101, 4102, 7, 68, 2, 2, 4102, 4103, 7, 75, 2, 2, 4103, 4104, 7, 80, 2, 2, 4104, 4105, 7, 78, 2, 2, 4105, 4106, 7, 81, 2, 2, 4106, 4107, 7, 73, 2, 2, 4107, 528, 3, 2, 2, 2, 4108, 4109, 7, 68, 2, 2, 4109, 4110, 7, 75, 2, 2, 4110, 4111, 7, 86, 2, 2, 4111, 530, 3, 2, 2, 2, 4112, 4113, 7, 68, 2, 2, 4113, 4114, 7, 78, 2, 2, 4114, 4115, 7, 81, 2, 2, 4115, 4116, 7, 69, 2, 2, 4116, 4117, 7, 77, 2, 2, 4117, 532, 3, 2, 2, 2, 4118, 4119, 7, 68, 2, 2, 4119, 4120, 7, 81, 2, 2, 4120, 4121, 7, 81, 2, 2, 4121, 4122, 7, 78, 2, 2, 4122, 534, 3, 2, 2, 2, 4123, 4124, 7, 68, 2, 2, 4124, 4125, 7, 81, 2, 2, 4125, 4126, 7, 81, 2, 2, 4126, 4127, 7, 78, 2, 2, 4127, 4128, 7, 71, 2, 2, 4128, 4129, 7, 67, 2, 2, 4129, 4130, 7, 80, 2, 2, 4130, 536, 3, 2, 2, 2, 4131, 4132, 7, 68, 2, 2, 4132, 4133, 7, 86, 2, 2, 4133, 4134, 7, 84, 2, 2, 4134, 4135, 7, 71, 2, 2, 4135, 4136, 7, 71, 2, 2, 4136, 538, 3, 2, 2, 2, 4137, 4138, 7, 69, 2, 2, 4138, 4139, 7, 67, 2, 2, 4139, 4140, 7, 69, 2, 2, 4140, 4141, 7, 74, 2, 2, 4141, 4142, 7, 71, 2, 2, 4142, 540, 3, 2, 2, 2, 4143, 4144, 7, 69, 2, 2, 4144, 4145, 7, 67, 2, 2, 4145, 4146, 7, 85, 2, 2, 4146, 4147, 7, 69, 2, 2, 4147, 4148, 7, 67, 2, 2, 4148, 4149, 7, 70, 2, 2, 4149, 4150, 7, 71, 2, 2, 4150, 4151, 7, 70, 2, 2, 4151, 542, 3, 2, 2, 2, 4152, 4153, 7, 69, 2, 2, 4153, 4154, 7, 74, 2, 2, 4154, 4155, 7, 67, 2, 2, 4155, 4156, 7, 75, 2, 2, 4156, 4157, 7, 80, 2, 2, 4157, 544, 3, 2, 2, 2, 4158, 4159, 7, 69, 2, 2, 4159, 4160, 7, 74, 2, 2, 4160, 4161, 7, 67, 2, 2, 4161, 4162, 7, 80, 2, 2, 4162, 4163, 7, 73, 2, 2, 4163, 4164, 7, 71, 2, 2, 4164, 4165, 7, 70, 2, 2, 4165, 546, 3, 2, 2, 2, 4166, 4167, 7, 69, 2, 2, 4167, 4168, 7, 74, 2, 2, 4168, 4169, 7, 67, 2, 2, 4169, 4170, 7, 80, 2, 2, 4170, 4171, 7, 80, 2, 2, 4171, 4172, 7, 71, 2, 2, 4172, 4173, 7, 78, 2, 2, 4173, 548, 3, 2, 2, 2, 4174, 4175, 7, 69, 2, 2, 4175, 4176, 7, 74, 2, 2, 4176, 4177, 7, 71, 2, 2, 4177, 4178, 7, 69, 2, 2, 4178, 4179, 7, 77, 2, 2, 4179, 4180, 7, 85, 2, 2, 4180, 4181, 7, 87, 2, 2, 4181, 4182, 7, 79, 2, 2, 4182, 550, 3, 2, 2, 2, 4183, 4184, 7, 69, 2, 2, 4184, 4185, 7, 75, 2, 2, 4185, 4186, 7, 82, 2, 2, 4186, 4187, 7, 74, 2, 2, 4187, 4188, 7, 71, 2, 2, 4188, 4189, 7, 84, 2, 2, 4189, 552, 3, 2, 2, 2, 4190, 4191, 7, 69, 2, 2, 4191, 4192, 7, 78, 2, 2, 4192, 4193, 7, 75, 2, 2, 4193, 4194, 7, 71, 2, 2, 4194, 4195, 7, 80, 2, 2, 4195, 4196, 7, 86, 2, 2, 4196, 554, 3, 2, 2, 2, 4197, 4198, 7, 69, 2, 2, 4198, 4199, 7, 78, 2, 2, 4199, 4200, 7, 81, 2, 2, 4200, 4201, 7, 85, 2, 2, 4201, 4202, 7, 71, 2, 2, 4202, 556, 3, 2, 2, 2, 4203, 4204, 7, 69, 2, 2, 4204, 4205, 7, 81, 2, 2, 4205, 4206, 7, 67, 2, 2, 4206, 4207, 7, 78, 2, 2, 4207, 4208, 7, 71, 2, 2, 4208, 4209, 7, 85, 2, 2, 4209, 4210, 7, 69, 2, 2, 4210, 4211, 7, 71, 2, 2, 4211, 558, 3, 2, 2, 2, 4212, 4213, 7, 69, 2, 2, 4213, 4214, 7, 81, 2, 2, 4214, 4215, 7, 70, 2, 2, 4215, 4216, 7, 71, 2, 2, 4216, 560, 3, 2, 2, 2, 4217, 4218, 7, 69, 2, 2, 4218, 4219, 7, 81, 2, 2, 4219, 4220, 7, 78, 2, 2, 4220, 4221, 7, 87, 2, 2, 4221, 4222, 7, 79, 2, 2, 4222, 4223, 7, 80, 2, 2, 4223, 4224, 7, 85, 2, 2, 4224, 562, 3, 2, 2, 2, 4225, 4226, 7, 69, 2, 2, 4226, 4227, 7, 81, 2, 2, 4227, 4228, 7, 78, 2, 2, 4228, 4229, 7, 87, 2, 2, 4229, 4230, 7, 79, 2, 2, 4230, 4231, 7, 80, 2, 2, 4231, 4232, 7, 97, 2, 2, 4232, 4233, 7, 72, 2, 2, 4233, 4234, 7, 81, 2, 2, 4234, 4235, 7, 84, 2, 2, 4235, 4236, 7, 79, 2, 2, 4236, 4237, 7, 67, 2, 2, 4237, 4238, 7, 86, 2, 2, 4238, 564, 3, 2, 2, 2, 4239, 4240, 7, 69, 2, 2, 4240, 4241, 7, 81, 2, 2, 4241, 4242, 7, 79, 2, 2, 4242, 4243, 7, 79, 2, 2, 4243, 4244, 7, 71, 2, 2, 4244, 4245, 7, 80, 2, 2, 4245, 4246, 7, 86, 2, 2, 4246, 566, 3, 2, 2, 2, 4247, 4248, 7, 69, 2, 2, 4248, 4249, 7, 81, 2, 2, 4249, 4250, 7, 79, 2, 2, 4250, 4251, 7, 79, 2, 2, 4251, 4252, 7, 75, 2, 2, 4252, 4253, 7, 86, 2, 2, 4253, 568, 3, 2, 2, 2, 4254, 4255, 7, 69, 2, 2, 4255, 4256, 7, 81, 2, 2, 4256, 4257, 7, 79, 2, 2, 4257, 4258, 7, 82, 2, 2, 4258, 4259, 7, 67, 2, 2, 4259, 4260, 7, 69, 2, 2, 4260, 4261, 7, 86, 2, 2, 4261, 570, 3, 2, 2, 2, 4262, 4263, 7, 69, 2, 2, 4263, 4264, 7, 81, 2, 2, 4264, 4265, 7, 79, 2, 2, 4265, 4266, 7, 82, 2, 2, 4266, 4267, 7, 78, 2, 2, 4267, 4268, 7, 71, 2, 2, 4268, 4269, 7, 86, 2, 2, 4269, 4270, 7, 75, 2, 2, 4270, 4271, 7, 81, 2, 2, 4271, 4272, 7, 80, 2, 2, 4272, 572, 3, 2, 2, 2, 4273, 4274, 7, 69, 2, 2, 4274, 4275, 7, 81, 2, 2, 4275, 4276, 7, 79, 2, 2, 4276, 4277, 7, 82, 2, 2, 4277, 4278, 7, 84, 2, 2, 4278, 4279, 7, 71, 2, 2, 4279, 4280, 7, 85, 2, 2, 4280, 4281, 7, 85, 2, 2, 4281, 4282, 7, 71, 2, 2, 4282, 4283, 7, 70, 2, 2, 4283, 574, 3, 2, 2, 2, 4284, 4285, 7, 69, 2, 2, 4285, 4286, 7, 81, 2, 2, 4286, 4287, 7, 79, 2, 2, 4287, 4288, 7, 82, 2, 2, 4288, 4289, 7, 84, 2, 2, 4289, 4290, 7, 71, 2, 2, 4290, 4291, 7, 85, 2, 2, 4291, 4292, 7, 85, 2, 2, 4292, 4293, 7, 75, 2, 2, 4293, 4294, 7, 81, 2, 2, 4294, 4295, 7, 80, 2, 2, 4295, 576, 3, 2, 2, 2, 4296, 4297, 7, 69, 2, 2, 4297, 4298, 7, 81, 2, 2, 4298, 4299, 7, 80, 2, 2, 4299, 4300, 7, 69, 2, 2, 4300, 4301, 7, 87, 2, 2, 4301, 4302, 7, 84, 2, 2, 4302, 4303, 7, 84, 2, 2, 4303, 4304, 7, 71, 2, 2, 4304, 4305, 7, 80, 2, 2, 4305, 4306, 7, 86, 2, 2, 4306, 578, 3, 2, 2, 2, 4307, 4308, 7, 69, 2, 2, 4308, 4309, 7, 81, 2, 2, 4309, 4310, 7, 80, 2, 2, 4310, 4311, 7, 80, 2, 2, 4311, 4312, 7, 71, 2, 2, 4312, 4313, 7, 69, 2, 2, 4313, 4314, 7, 86, 2, 2, 4314, 4315, 7, 75, 2, 2, 4315, 4316, 7, 81, 2, 2, 4316, 4317, 7, 80, 2, 2, 4317, 580, 3, 2, 2, 2, 4318, 4319, 7, 69, 2, 2, 4319, 4320, 7, 81, 2, 2, 4320, 4321, 7, 80, 2, 2, 4321, 4322, 7, 85, 2, 2, 4322, 4323, 7, 75, 2, 2, 4323, 4324, 7, 85, 2, 2, 4324, 4325, 7, 86, 2, 2, 4325, 4326, 7, 71, 2, 2, 4326, 4327, 7, 80, 2, 2, 4327, 4328, 7, 86, 2, 2, 4328, 582, 3, 2, 2, 2, 4329, 4330, 7, 69, 2, 2, 4330, 4331, 7, 81, 2, 2, 4331, 4332, 7, 80, 2, 2, 4332, 4333, 7, 86, 2, 2, 4333, 4334, 7, 67, 2, 2, 4334, 4335, 7, 75, 2, 2, 4335, 4336, 7, 80, 2, 2, 4336, 4337, 7, 85, 2, 2, 4337, 584, 3, 2, 2, 2, 4338, 4339, 7, 69, 2, 2, 4339, 4340, 7, 81, 2, 2, 4340, 4341, 7, 80, 2, 2, 4341, 4342, 7, 86, 2, 2, 4342, 4343, 7, 71, 2, 2, 4343, 4344, 7, 90, 2, 2, 4344, 4345, 7, 86, 2, 2, 4345, 586, 3, 2, 2, 2, 4346, 4347, 7, 69, 2, 2, 4347, 4348, 7, 81, 2, 2, 4348, 4349, 7, 80, 2, 2, 4349, 4350, 7, 86, 2, 2, 4350, 4351, 7, 84, 2, 2, 4351, 4352, 7, 75, 2, 2, 4352, 4353, 7, 68, 2, 2, 4353, 4354, 7, 87, 2, 2, 4354, 4355, 7, 86, 2, 2, 4355, 4356, 7, 81, 2, 2, 4356, 4357, 7, 84, 2, 2, 4357, 4358, 7, 85, 2, 2, 4358, 588, 3, 2, 2, 2, 4359, 4360, 7, 69, 2, 2, 4360, 4361, 7, 81, 2, 2, 4361, 4362, 7, 82, 2, 2, 4362, 4363, 7, 91, 2, 2, 4363, 590, 3, 2, 2, 2, 4364, 4365, 7, 69, 2, 2, 4365, 4366, 7, 82, 2, 2, 4366, 4367, 7, 87, 2, 2, 4367, 592, 3, 2, 2, 2, 4368, 4369, 7, 70, 2, 2, 4369, 4370, 7, 67, 2, 2, 4370, 4371, 7, 86, 2, 2, 4371, 4372, 7, 67, 2, 2, 4372, 594, 3, 2, 2, 2, 4373, 4374, 7, 70, 2, 2, 4374, 4375, 7, 67, 2, 2, 4375, 4376, 7, 86, 2, 2, 4376, 4377, 7, 67, 2, 2, 4377, 4378, 7, 72, 2, 2, 4378, 4379, 7, 75, 2, 2, 4379, 4380, 7, 78, 2, 2, 4380, 4381, 7, 71, 2, 2, 4381, 596, 3, 2, 2, 2, 4382, 4383, 7, 70, 2, 2, 4383, 4384, 7, 71, 2, 2, 4384, 4385, 7, 67, 2, 2, 4385, 4386, 7, 78, 2, 2, 4386, 4387, 7, 78, 2, 2, 4387, 4388, 7, 81, 2, 2, 4388, 4389, 7, 69, 2, 2, 4389, 4390, 7, 67, 2, 2, 4390, 4391, 7, 86, 2, 2, 4391, 4392, 7, 71, 2, 2, 4392, 598, 3, 2, 2, 2, 4393, 4394, 7, 70, 2, 2, 4394, 4395, 7, 71, 2, 2, 4395, 4396, 7, 72, 2, 2, 4396, 4397, 7, 67, 2, 2, 4397, 4398, 7, 87, 2, 2, 4398, 4399, 7, 78, 2, 2, 4399, 4400, 7, 86, 2, 2, 4400, 4401, 7, 97, 2, 2, 4401, 4402, 7, 67, 2, 2, 4402, 4403, 7, 87, 2, 2, 4403, 4404, 7, 86, 2, 2, 4404, 4405, 7, 74, 2, 2, 4405, 600, 3, 2, 2, 2, 4406, 4407, 7, 70, 2, 2, 4407, 4408, 7, 71, 2, 2, 4408, 4409, 7, 72, 2, 2, 4409, 4410, 7, 75, 2, 2, 4410, 4411, 7, 80, 2, 2, 4411, 4412, 7, 71, 2, 2, 4412, 4413, 7, 84, 2, 2, 4413, 602, 3, 2, 2, 2, 4414, 4415, 7, 70, 2, 2, 4415, 4416, 7, 71, 2, 2, 4416, 4417, 7, 78, 2, 2, 4417, 4418, 7, 67, 2, 2, 4418, 4419, 7, 91, 2, 2, 4419, 4420, 7, 97, 2, 2, 4420, 4421, 7, 77, 2, 2, 4421, 4422, 7, 71, 2, 2, 4422, 4423, 7, 91, 2, 2, 4423, 4424, 7, 97, 2, 2, 4424, 4425, 7, 89, 2, 2, 4425, 4426, 7, 84, 2, 2, 4426, 4427, 7, 75, 2, 2, 4427, 4428, 7, 86, 2, 2, 4428, 4429, 7, 71, 2, 2, 4429, 604, 3, 2, 2, 2, 4430, 4431, 7, 70, 2, 2, 4431, 4432, 7, 71, 2, 2, 4432, 4433, 7, 85, 2, 2, 4433, 4434, 7, 97, 2, 2, 4434, 4435, 7, 77, 2, 2, 4435, 4436, 7, 71, 2, 2, 4436, 4437, 7, 91, 2, 2, 4437, 4438, 7, 97, 2, 2, 4438, 4439, 7, 72, 2, 2, 4439, 4440, 7, 75, 2, 2, 4440, 4441, 7, 78, 2, 2, 4441, 4442, 7, 71, 2, 2, 4442, 606, 3, 2, 2, 2, 4443, 4444, 7, 70, 2, 2, 4444, 4445, 7, 75, 2, 2, 4445, 4446, 7, 84, 2, 2, 4446, 4447, 7, 71, 2, 2, 4447, 4448, 7, 69, 2, 2, 4448, 4449, 7, 86, 2, 2, 4449, 4450, 7, 81, 2, 2, 4450, 4451, 7, 84, 2, 2, 4451, 4452, 7, 91, 2, 2, 4452, 608, 3, 2, 2, 2, 4453, 4454, 7, 70, 2, 2, 4454, 4455, 7, 75, 2, 2, 4455, 4456, 7, 85, 2, 2, 4456, 4457, 7, 67, 2, 2, 4457, 4458, 7, 68, 2, 2, 4458, 4459, 7, 78, 2, 2, 4459, 4460, 7, 71, 2, 2, 4460, 610, 3, 2, 2, 2, 4461, 4462, 7, 70, 2, 2, 4462, 4463, 7, 75, 2, 2, 4463, 4464, 7, 85, 2, 2, 4464, 4465, 7, 69, 2, 2, 4465, 4466, 7, 67, 2, 2, 4466, 4467, 7, 84, 2, 2, 4467, 4468, 7, 70, 2, 2, 4468, 612, 3, 2, 2, 2, 4469, 4470, 7, 70, 2, 2, 4470, 4471, 7, 75, 2, 2, 4471, 4472, 7, 85, 2, 2, 4472, 4473, 7, 77, 2, 2, 4473, 614, 3, 2, 2, 2, 4474, 4475, 7, 70, 2, 2, 4475, 4476, 7, 81, 2, 2, 4476, 616, 3, 2, 2, 2, 4477, 4478, 7, 70, 2, 2, 4478, 4479, 7, 87, 2, 2, 4479, 4480, 7, 79, 2, 2, 4480, 4481, 7, 82, 2, 2, 4481, 4482, 7, 72, 2, 2, 4482, 4483, 7, 75, 2, 2, 4483, 4484, 7, 78, 2, 2, 4484, 4485, 7, 71, 2, 2, 4485, 618, 3, 2, 2, 2, 4486, 4487, 7, 70, 2, 2, 4487, 4488, 7, 87, 2, 2, 4488, 4489, 7, 82, 2, 2, 4489, 4490, 7, 78, 2, 2, 4490, 4491, 7, 75, 2, 2, 4491, 4492, 7, 69, 2, 2, 4492, 4493, 7, 67, 2, 2, 4493, 4494, 7, 86, 2, 2, 4494, 4495, 7, 71, 2, 2, 4495, 620, 3, 2, 2, 2, 4496, 4497, 7, 70, 2, 2, 4497, 4498, 7, 91, 2, 2, 4498, 4499, 7, 80, 2, 2, 4499, 4500, 7, 67, 2, 2, 4500, 4501, 7, 79, 2, 2, 4501, 4502, 7, 75, 2, 2, 4502, 4503, 7, 69, 2, 2, 4503, 622, 3, 2, 2, 2, 4504, 4505, 7, 71, 2, 2, 4505, 4506, 7, 80, 2, 2, 4506, 4507, 7, 67, 2, 2, 4507, 4508, 7, 68, 2, 2, 4508, 4509, 7, 78, 2, 2, 4509, 4510, 7, 71, 2, 2, 4510, 624, 3, 2, 2, 2, 4511, 4512, 7, 71, 2, 2, 4512, 4513, 7, 80, 2, 2, 4513, 4514, 7, 69, 2, 2, 4514, 4515, 7, 84, 2, 2, 4515, 4516, 7, 91, 2, 2, 4516, 4517, 7, 82, 2, 2, 4517, 4518, 7, 86, 2, 2, 4518, 4519, 7, 75, 2, 2, 4519, 4520, 7, 81, 2, 2, 4520, 4521, 7, 80, 2, 2, 4521, 626, 3, 2, 2, 2, 4522, 4523, 7, 71, 2, 2, 4523, 4524, 7, 80, 2, 2, 4524, 4525, 7, 70, 2, 2, 4525, 628, 3, 2, 2, 2, 4526, 4527, 7, 71, 2, 2, 4527, 4528, 7, 80, 2, 2, 4528, 4529, 7, 70, 2, 2, 4529, 4530, 7, 85, 2, 2, 4530, 630, 3, 2, 2, 2, 4531, 4532, 7, 71, 2, 2, 4532, 4533, 7, 80, 2, 2, 4533, 4534, 7, 73, 2, 2, 4534, 4535, 7, 75, 2, 2, 4535, 4536, 7, 80, 2, 2, 4536, 4537, 7, 71, 2, 2, 4537, 632, 3, 2, 2, 2, 4538, 4539, 7, 71, 2, 2, 4539, 4540, 7, 80, 2, 2, 4540, 4541, 7, 73, 2, 2, 4541, 4542, 7, 75, 2, 2, 4542, 4543, 7, 80, 2, 2, 4543, 4544, 7, 71, 2, 2, 4544, 4545, 7, 85, 2, 2, 4545, 634, 3, 2, 2, 2, 4546, 4547, 7, 71, 2, 2, 4547, 4548, 7, 84, 2, 2, 4548, 4549, 7, 84, 2, 2, 4549, 4550, 7, 81, 2, 2, 4550, 4551, 7, 84, 2, 2, 4551, 636, 3, 2, 2, 2, 4552, 4553, 7, 71, 2, 2, 4553, 4554, 7, 84, 2, 2, 4554, 4555, 7, 84, 2, 2, 4555, 4556, 7, 81, 2, 2, 4556, 4557, 7, 84, 2, 2, 4557, 4558, 7, 85, 2, 2, 4558, 638, 3, 2, 2, 2, 4559, 4560, 7, 71, 2, 2, 4560, 4561, 7, 85, 2, 2, 4561, 4562, 7, 69, 2, 2, 4562, 4563, 7, 67, 2, 2, 4563, 4564, 7, 82, 2, 2, 4564, 4565, 7, 71, 2, 2, 4565, 640, 3, 2, 2, 2, 4566, 4567, 7, 71, 2, 2, 4567, 4568, 7, 88, 2, 2, 4568, 4569, 7, 71, 2, 2, 4569, 4570, 7, 80, 2, 2, 4570, 642, 3, 2, 2, 2, 4571, 4572, 7, 71, 2, 2, 4572, 4573, 7, 88, 2, 2, 4573, 4574, 7, 71, 2, 2, 4574, 4575, 7, 80, 2, 2, 4575, 4576, 7, 86, 2, 2, 4576, 644, 3, 2, 2, 2, 4577, 4578, 7, 71, 2, 2, 4578, 4579, 7, 88, 2, 2, 4579, 4580, 7, 71, 2, 2, 4580, 4581, 7, 80, 2, 2, 4581, 4582, 7, 86, 2, 2, 4582, 4583, 7, 85, 2, 2, 4583, 646, 3, 2, 2, 2, 4584, 4585, 7, 71, 2, 2, 4585, 4586, 7, 88, 2, 2, 4586, 4587, 7, 71, 2, 2, 4587, 4588, 7, 84, 2, 2, 4588, 4589, 7, 91, 2, 2, 4589, 648, 3, 2, 2, 2, 4590, 4591, 7, 71, 2, 2, 4591, 4592, 7, 90, 2, 2, 4592, 4593, 7, 69, 2, 2, 4593, 4594, 7, 74, 2, 2, 4594, 4595, 7, 67, 2, 2, 4595, 4596, 7, 80, 2, 2, 4596, 4597, 7, 73, 2, 2, 4597, 4598, 7, 71, 2, 2, 4598, 650, 3, 2, 2, 2, 4599, 4600, 7, 71, 2, 2, 4600, 4601, 7, 90, 2, 2, 4601, 4602, 7, 69, 2, 2, 4602, 4603, 7, 78, 2, 2, 4603, 4604, 7, 87, 2, 2, 4604, 4605, 7, 85, 2, 2, 4605, 4606, 7, 75, 2, 2, 4606, 4607, 7, 88, 2, 2, 4607, 4608, 7, 71, 2, 2, 4608, 652, 3, 2, 2, 2, 4609, 4610, 7, 71, 2, 2, 4610, 4611, 7, 90, 2, 2, 4611, 4612, 7, 82, 2, 2, 4612, 4613, 7, 75, 2, 2, 4613, 4614, 7, 84, 2, 2, 4614, 4615, 7, 71, 2, 2, 4615, 654, 3, 2, 2, 2, 4616, 4617, 7, 71, 2, 2, 4617, 4618, 7, 90, 2, 2, 4618, 4619, 7, 82, 2, 2, 4619, 4620, 7, 81, 2, 2, 4620, 4621, 7, 84, 2, 2, 4621, 4622, 7, 86, 2, 2, 4622, 656, 3, 2, 2, 2, 4623, 4624, 7, 71, 2, 2, 4624, 4625, 7, 90, 2, 2, 4625, 4626, 7, 86, 2, 2, 4626, 4627, 7, 71, 2, 2, 4627, 4628, 7, 80, 2, 2, 4628, 4629, 7, 70, 2, 2, 4629, 4630, 7, 71, 2, 2, 4630, 4631, 7, 70, 2, 2, 4631, 658, 3, 2, 2, 2, 4632, 4633, 7, 71, 2, 2, 4633, 4634, 7, 90, 2, 2, 4634, 4635, 7, 86, 2, 2, 4635, 4636, 7, 71, 2, 2, 4636, 4637, 7, 80, 2, 2, 4637, 4638, 7, 86, 2, 2, 4638, 4639, 7, 97, 2, 2, 4639, 4640, 7, 85, 2, 2, 4640, 4641, 7, 75, 2, 2, 4641, 4642, 7, 92, 2, 2, 4642, 4643, 7, 71, 2, 2, 4643, 660, 3, 2, 2, 2, 4644, 4645, 7, 72, 2, 2, 4645, 4646, 7, 67, 2, 2, 4646, 4647, 7, 85, 2, 2, 4647, 4648, 7, 86, 2, 2, 4648, 662, 3, 2, 2, 2, 4649, 4650, 7, 72, 2, 2, 4650, 4651, 7, 67, 2, 2, 4651, 4652, 7, 87, 2, 2, 4652, 4653, 7, 78, 2, 2, 4653, 4654, 7, 86, 2, 2, 4654, 4655, 7, 85, 2, 2, 4655, 664, 3, 2, 2, 2, 4656, 4657, 7, 72, 2, 2, 4657, 4658, 7, 75, 2, 2, 4658, 4659, 7, 71, 2, 2, 4659, 4660, 7, 78, 2, 2, 4660, 4661, 7, 70, 2, 2, 4661, 4662, 7, 85, 2, 2, 4662, 666, 3, 2, 2, 2, 4663, 4664, 7, 72, 2, 2, 4664, 4665, 7, 75, 2, 2, 4665, 4666, 7, 78, 2, 2, 4666, 4667, 7, 71, 2, 2, 4667, 4668, 7, 97, 2, 2, 4668, 4669, 7, 68, 2, 2, 4669, 4670, 7, 78, 2, 2, 4670, 4671, 7, 81, 2, 2, 4671, 4672, 7, 69, 2, 2, 4672, 4673, 7, 77, 2, 2, 4673, 4674, 7, 97, 2, 2, 4674, 4675, 7, 85, 2, 2, 4675, 4676, 7, 75, 2, 2, 4676, 4677, 7, 92, 2, 2, 4677, 4678, 7, 71, 2, 2, 4678, 668, 3, 2, 2, 2, 4679, 4680, 7, 72, 2, 2, 4680, 4681, 7, 75, 2, 2, 4681, 4682, 7, 78, 2, 2, 4682, 4683, 7, 86, 2, 2, 4683, 4684, 7, 71, 2, 2, 4684, 4685, 7, 84, 2, 2, 4685, 670, 3, 2, 2, 2, 4686, 4687, 7, 72, 2, 2, 4687, 4688, 7, 75, 2, 2, 4688, 4689, 7, 84, 2, 2, 4689, 4690, 7, 85, 2, 2, 4690, 4691, 7, 86, 2, 2, 4691, 672, 3, 2, 2, 2, 4692, 4693, 7, 72, 2, 2, 4693, 4694, 7, 75, 2, 2, 4694, 4695, 7, 90, 2, 2, 4695, 4696, 7, 71, 2, 2, 4696, 4697, 7, 70, 2, 2, 4697, 674, 3, 2, 2, 2, 4698, 4699, 7, 72, 2, 2, 4699, 4700, 7, 78, 2, 2, 4700, 4701, 7, 87, 2, 2, 4701, 4702, 7, 85, 2, 2, 4702, 4703, 7, 74, 2, 2, 4703, 676, 3, 2, 2, 2, 4704, 4705, 7, 72, 2, 2, 4705, 4706, 7, 81, 2, 2, 4706, 4707, 7, 78, 2, 2, 4707, 4708, 7, 78, 2, 2, 4708, 4709, 7, 81, 2, 2, 4709, 4710, 7, 89, 2, 2, 4710, 4711, 7, 85, 2, 2, 4711, 678, 3, 2, 2, 2, 4712, 4713, 7, 72, 2, 2, 4713, 4714, 7, 81, 2, 2, 4714, 4715, 7, 87, 2, 2, 4715, 4716, 7, 80, 2, 2, 4716, 4717, 7, 70, 2, 2, 4717, 680, 3, 2, 2, 2, 4718, 4719, 7, 72, 2, 2, 4719, 4720, 7, 87, 2, 2, 4720, 4721, 7, 78, 2, 2, 4721, 4722, 7, 78, 2, 2, 4722, 682, 3, 2, 2, 2, 4723, 4724, 7, 72, 2, 2, 4724, 4725, 7, 87, 2, 2, 4725, 4726, 7, 80, 2, 2, 4726, 4727, 7, 69, 2, 2, 4727, 4728, 7, 86, 2, 2, 4728, 4729, 7, 75, 2, 2, 4729, 4730, 7, 81, 2, 2, 4730, 4731, 7, 80, 2, 2, 4731, 684, 3, 2, 2, 2, 4732, 4733, 7, 73, 2, 2, 4733, 4734, 7, 71, 2, 2, 4734, 4735, 7, 80, 2, 2, 4735, 4736, 7, 71, 2, 2, 4736, 4737, 7, 84, 2, 2, 4737, 4738, 7, 67, 2, 2, 4738, 4739, 7, 78, 2, 2, 4739, 686, 3, 2, 2, 2, 4740, 4741, 7, 73, 2, 2, 4741, 4742, 7, 78, 2, 2, 4742, 4743, 7, 81, 2, 2, 4743, 4744, 7, 68, 2, 2, 4744, 4745, 7, 67, 2, 2, 4745, 4746, 7, 78, 2, 2, 4746, 688, 3, 2, 2, 2, 4747, 4748, 7, 73, 2, 2, 4748, 4749, 7, 84, 2, 2, 4749, 4750, 7, 67, 2, 2, 4750, 4751, 7, 80, 2, 2, 4751, 4752, 7, 86, 2, 2, 4752, 4753, 7, 85, 2, 2, 4753, 690, 3, 2, 2, 2, 4754, 4755, 7, 73, 2, 2, 4755, 4756, 7, 84, 2, 2, 4756, 4757, 7, 81, 2, 2, 4757, 4758, 7, 87, 2, 2, 4758, 4759, 7, 82, 2, 2, 4759, 4760, 7, 97, 2, 2, 4760, 4761, 7, 84, 2, 2, 4761, 4762, 7, 71, 2, 2, 4762, 4763, 7, 82, 2, 2, 4763, 4764, 7, 78, 2, 2, 4764, 4765, 7, 75, 2, 2, 4765, 4766, 7, 69, 2, 2, 4766, 4767, 7, 67, 2, 2, 4767, 4768, 7, 86, 2, 2, 4768, 4769, 7, 75, 2, 2, 4769, 4770, 7, 81, 2, 2, 4770, 4771, 7, 80, 2, 2, 4771, 692, 3, 2, 2, 2, 4772, 4773, 7, 74, 2, 2, 4773, 4774, 7, 67, 2, 2, 4774, 4775, 7, 80, 2, 2, 4775, 4776, 7, 70, 2, 2, 4776, 4777, 7, 78, 2, 2, 4777, 4778, 7, 71, 2, 2, 4778, 4779, 7, 84, 2, 2, 4779, 694, 3, 2, 2, 2, 4780, 4781, 7, 74, 2, 2, 4781, 4782, 7, 67, 2, 2, 4782, 4783, 7, 85, 2, 2, 4783, 4784, 7, 74, 2, 2, 4784, 696, 3, 2, 2, 2, 4785, 4786, 7, 74, 2, 2, 4786, 4787, 7, 71, 2, 2, 4787, 4788, 7, 78, 2, 2, 4788, 4789, 7, 82, 2, 2, 4789, 698, 3, 2, 2, 2, 4790, 4791, 7, 74, 2, 2, 4791, 4792, 7, 81, 2, 2, 4792, 4793, 7, 85, 2, 2, 4793, 4794, 7, 86, 2, 2, 4794, 700, 3, 2, 2, 2, 4795, 4796, 7, 74, 2, 2, 4796, 4797, 7, 81, 2, 2, 4797, 4798, 7, 85, 2, 2, 4798, 4799, 7, 86, 2, 2, 4799, 4800, 7, 85, 2, 2, 4800, 702, 3, 2, 2, 2, 4801, 4802, 7, 75, 2, 2, 4802, 4803, 7, 70, 2, 2, 4803, 4804, 7, 71, 2, 2, 4804, 4805, 7, 80, 2, 2, 4805, 4806, 7, 86, 2, 2, 4806, 4807, 7, 75, 2, 2, 4807, 4808, 7, 72, 2, 2, 4808, 4809, 7, 75, 2, 2, 4809, 4810, 7, 71, 2, 2, 4810, 4811, 7, 70, 2, 2, 4811, 704, 3, 2, 2, 2, 4812, 4813, 7, 75, 2, 2, 4813, 4814, 7, 73, 2, 2, 4814, 4815, 7, 80, 2, 2, 4815, 4816, 7, 81, 2, 2, 4816, 4817, 7, 84, 2, 2, 4817, 4818, 7, 71, 2, 2, 4818, 4819, 7, 97, 2, 2, 4819, 4820, 7, 85, 2, 2, 4820, 4821, 7, 71, 2, 2, 4821, 4822, 7, 84, 2, 2, 4822, 4823, 7, 88, 2, 2, 4823, 4824, 7, 71, 2, 2, 4824, 4825, 7, 84, 2, 2, 4825, 4826, 7, 97, 2, 2, 4826, 4827, 7, 75, 2, 2, 4827, 4828, 7, 70, 2, 2, 4828, 4829, 7, 85, 2, 2, 4829, 706, 3, 2, 2, 2, 4830, 4831, 7, 75, 2, 2, 4831, 4832, 7, 79, 2, 2, 4832, 4833, 7, 82, 2, 2, 4833, 4834, 7, 81, 2, 2, 4834, 4835, 7, 84, 2, 2, 4835, 4836, 7, 86, 2, 2, 4836, 708, 3, 2, 2, 2, 4837, 4838, 7, 75, 2, 2, 4838, 4839, 7, 80, 2, 2, 4839, 4840, 7, 70, 2, 2, 4840, 4841, 7, 71, 2, 2, 4841, 4842, 7, 90, 2, 2, 4842, 4843, 7, 71, 2, 2, 4843, 4844, 7, 85, 2, 2, 4844, 710, 3, 2, 2, 2, 4845, 4846, 7, 75, 2, 2, 4846, 4847, 7, 80, 2, 2, 4847, 4848, 7, 75, 2, 2, 4848, 4849, 7, 86, 2, 2, 4849, 4850, 7, 75, 2, 2, 4850, 4851, 7, 67, 2, 2, 4851, 4852, 7, 78, 2, 2, 4852, 4853, 7, 97, 2, 2, 4853, 4854, 7, 85, 2, 2, 4854, 4855, 7, 75, 2, 2, 4855, 4856, 7, 92, 2, 2, 4856, 4857, 7, 71, 2, 2, 4857, 712, 3, 2, 2, 2, 4858, 4859, 7, 75, 2, 2, 4859, 4860, 7, 80, 2, 2, 4860, 4861, 7, 82, 2, 2, 4861, 4862, 7, 78, 2, 2, 4862, 4863, 7, 67, 2, 2, 4863, 4864, 7, 69, 2, 2, 4864, 4865, 7, 71, 2, 2, 4865, 714, 3, 2, 2, 2, 4866, 4867, 7, 75, 2, 2, 4867, 4868, 7, 80, 2, 2, 4868, 4869, 7, 85, 2, 2, 4869, 4870, 7, 71, 2, 2, 4870, 4871, 7, 84, 2, 2, 4871, 4872, 7, 86, 2, 2, 4872, 4873, 7, 97, 2, 2, 4873, 4874, 7, 79, 2, 2, 4874, 4875, 7, 71, 2, 2, 4875, 4876, 7, 86, 2, 2, 4876, 4877, 7, 74, 2, 2, 4877, 4878, 7, 81, 2, 2, 4878, 4879, 7, 70, 2, 2, 4879, 716, 3, 2, 2, 2, 4880, 4881, 7, 75, 2, 2, 4881, 4882, 7, 80, 2, 2, 4882, 4883, 7, 85, 2, 2, 4883, 4884, 7, 86, 2, 2, 4884, 4885, 7, 67, 2, 2, 4885, 4886, 7, 78, 2, 2, 4886, 4887, 7, 78, 2, 2, 4887, 718, 3, 2, 2, 2, 4888, 4889, 7, 75, 2, 2, 4889, 4890, 7, 80, 2, 2, 4890, 4891, 7, 85, 2, 2, 4891, 4892, 7, 86, 2, 2, 4892, 4893, 7, 67, 2, 2, 4893, 4894, 7, 80, 2, 2, 4894, 4895, 7, 69, 2, 2, 4895, 4896, 7, 71, 2, 2, 4896, 720, 3, 2, 2, 2, 4897, 4898, 7, 75, 2, 2, 4898, 4899, 7, 80, 2, 2, 4899, 4900, 7, 88, 2, 2, 4900, 4901, 7, 81, 2, 2, 4901, 4902, 7, 77, 2, 2, 4902, 4903, 7, 71, 2, 2, 4903, 4904, 7, 84, 2, 2, 4904, 722, 3, 2, 2, 2, 4905, 4906, 7, 75, 2, 2, 4906, 4907, 7, 81, 2, 2, 4907, 724, 3, 2, 2, 2, 4908, 4909, 7, 75, 2, 2, 4909, 4910, 7, 81, 2, 2, 4910, 4911, 7, 97, 2, 2, 4911, 4912, 7, 86, 2, 2, 4912, 4913, 7, 74, 2, 2, 4913, 4914, 7, 84, 2, 2, 4914, 4915, 7, 71, 2, 2, 4915, 4916, 7, 67, 2, 2, 4916, 4917, 7, 70, 2, 2, 4917, 726, 3, 2, 2, 2, 4918, 4919, 7, 75, 2, 2, 4919, 4920, 7, 82, 2, 2, 4920, 4921, 7, 69, 2, 2, 4921, 728, 3, 2, 2, 2, 4922, 4923, 7, 75, 2, 2, 4923, 4924, 7, 85, 2, 2, 4924, 4925, 7, 81, 2, 2, 4925, 4926, 7, 78, 2, 2, 4926, 4927, 7, 67, 2, 2, 4927, 4928, 7, 86, 2, 2, 4928, 4929, 7, 75, 2, 2, 4929, 4930, 7, 81, 2, 2, 4930, 4931, 7, 80, 2, 2, 4931, 730, 3, 2, 2, 2, 4932, 4933, 7, 75, 2, 2, 4933, 4934, 7, 85, 2, 2, 4934, 4935, 7, 85, 2, 2, 4935, 4936, 7, 87, 2, 2, 4936, 4937, 7, 71, 2, 2, 4937, 4938, 7, 84, 2, 2, 4938, 732, 3, 2, 2, 2, 4939, 4940, 7, 76, 2, 2, 4940, 4941, 7, 85, 2, 2, 4941, 4942, 7, 81, 2, 2, 4942, 4943, 7, 80, 2, 2, 4943, 734, 3, 2, 2, 2, 4944, 4945, 7, 77, 2, 2, 4945, 4946, 7, 71, 2, 2, 4946, 4947, 7, 91, 2, 2, 4947, 4948, 7, 97, 2, 2, 4948, 4949, 7, 68, 2, 2, 4949, 4950, 7, 78, 2, 2, 4950, 4951, 7, 81, 2, 2, 4951, 4952, 7, 69, 2, 2, 4952, 4953, 7, 77, 2, 2, 4953, 4954, 7, 97, 2, 2, 4954, 4955, 7, 85, 2, 2, 4955, 4956, 7, 75, 2, 2, 4956, 4957, 7, 92, 2, 2, 4957, 4958, 7, 71, 2, 2, 4958, 736, 3, 2, 2, 2, 4959, 4960, 7, 78, 2, 2, 4960, 4961, 7, 67, 2, 2, 4961, 4962, 7, 80, 2, 2, 4962, 4963, 7, 73, 2, 2, 4963, 4964, 7, 87, 2, 2, 4964, 4965, 7, 67, 2, 2, 4965, 4966, 7, 73, 2, 2, 4966, 4967, 7, 71, 2, 2, 4967, 738, 3, 2, 2, 2, 4968, 4969, 7, 78, 2, 2, 4969, 4970, 7, 67, 2, 2, 4970, 4971, 7, 85, 2, 2, 4971, 4972, 7, 86, 2, 2, 4972, 740, 3, 2, 2, 2, 4973, 4974, 7, 78, 2, 2, 4974, 4975, 7, 71, 2, 2, 4975, 4976, 7, 67, 2, 2, 4976, 4977, 7, 88, 2, 2, 4977, 4978, 7, 71, 2, 2, 4978, 4979, 7, 85, 2, 2, 4979, 742, 3, 2, 2, 2, 4980, 4981, 7, 78, 2, 2, 4981, 4982, 7, 71, 2, 2, 4982, 4983, 7, 85, 2, 2, 4983, 4984, 7, 85, 2, 2, 4984, 744, 3, 2, 2, 2, 4985, 4986, 7, 78, 2, 2, 4986, 4987, 7, 71, 2, 2, 4987, 4988, 7, 88, 2, 2, 4988, 4989, 7, 71, 2, 2, 4989, 4990, 7, 78, 2, 2, 4990, 746, 3, 2, 2, 2, 4991, 4992, 7, 78, 2, 2, 4992, 4993, 7, 75, 2, 2, 4993, 4994, 7, 85, 2, 2, 4994, 4995, 7, 86, 2, 2, 4995, 748, 3, 2, 2, 2, 4996, 4997, 7, 78, 2, 2, 4997, 4998, 7, 81, 2, 2, 4998, 4999, 7, 69, 2, 2, 4999, 5000, 7, 67, 2, 2, 5000, 5001, 7, 78, 2, 2, 5001, 750, 3, 2, 2, 2, 5002, 5003, 7, 78, 2, 2, 5003, 5004, 7, 81, 2, 2, 5004, 5005, 7, 73, 2, 2, 5005, 5006, 7, 72, 2, 2, 5006, 5007, 7, 75, 2, 2, 5007, 5008, 7, 78, 2, 2, 5008, 5009, 7, 71, 2, 2, 5009, 752, 3, 2, 2, 2, 5010, 5011, 7, 78, 2, 2, 5011, 5012, 7, 81, 2, 2, 5012, 5013, 7, 73, 2, 2, 5013, 5014, 7, 85, 2, 2, 5014, 754, 3, 2, 2, 2, 5015, 5016, 7, 79, 2, 2, 5016, 5017, 7, 67, 2, 2, 5017, 5018, 7, 85, 2, 2, 5018, 5019, 7, 86, 2, 2, 5019, 5020, 7, 71, 2, 2, 5020, 5021, 7, 84, 2, 2, 5021, 756, 3, 2, 2, 2, 5022, 5023, 7, 79, 2, 2, 5023, 5024, 7, 67, 2, 2, 5024, 5025, 7, 85, 2, 2, 5025, 5026, 7, 86, 2, 2, 5026, 5027, 7, 71, 2, 2, 5027, 5028, 7, 84, 2, 2, 5028, 5029, 7, 97, 2, 2, 5029, 5030, 7, 67, 2, 2, 5030, 5031, 7, 87, 2, 2, 5031, 5032, 7, 86, 2, 2, 5032, 5033, 7, 81, 2, 2, 5033, 5034, 7, 97, 2, 2, 5034, 5035, 7, 82, 2, 2, 5035, 5036, 7, 81, 2, 2, 5036, 5037, 7, 85, 2, 2, 5037, 5038, 7, 75, 2, 2, 5038, 5039, 7, 86, 2, 2, 5039, 5040, 7, 75, 2, 2, 5040, 5041, 7, 81, 2, 2, 5041, 5042, 7, 80, 2, 2, 5042, 758, 3, 2, 2, 2, 5043, 5044, 7, 79, 2, 2, 5044, 5045, 7, 67, 2, 2, 5045, 5046, 7, 85, 2, 2, 5046, 5047, 7, 86, 2, 2, 5047, 5048, 7, 71, 2, 2, 5048, 5049, 7, 84, 2, 2, 5049, 5050, 7, 97, 2, 2, 5050, 5051, 7, 69, 2, 2, 5051, 5052, 7, 81, 2, 2, 5052, 5053, 7, 80, 2, 2, 5053, 5054, 7, 80, 2, 2, 5054, 5055, 7, 71, 2, 2, 5055, 5056, 7, 69, 2, 2, 5056, 5057, 7, 86, 2, 2, 5057, 5058, 7, 97, 2, 2, 5058, 5059, 7, 84, 2, 2, 5059, 5060, 7, 71, 2, 2, 5060, 5061, 7, 86, 2, 2, 5061, 5062, 7, 84, 2, 2, 5062, 5063, 7, 91, 2, 2, 5063, 760, 3, 2, 2, 2, 5064, 5065, 7, 79, 2, 2, 5065, 5066, 7, 67, 2, 2, 5066, 5067, 7, 85, 2, 2, 5067, 5068, 7, 86, 2, 2, 5068, 5069, 7, 71, 2, 2, 5069, 5070, 7, 84, 2, 2, 5070, 5071, 7, 97, 2, 2, 5071, 5072, 7, 70, 2, 2, 5072, 5073, 7, 71, 2, 2, 5073, 5074, 7, 78, 2, 2, 5074, 5075, 7, 67, 2, 2, 5075, 5076, 7, 91, 2, 2, 5076, 762, 3, 2, 2, 2, 5077, 5078, 7, 79, 2, 2, 5078, 5079, 7, 67, 2, 2, 5079, 5080, 7, 85, 2, 2, 5080, 5081, 7, 86, 2, 2, 5081, 5082, 7, 71, 2, 2, 5082, 5083, 7, 84, 2, 2, 5083, 5084, 7, 97, 2, 2, 5084, 5085, 7, 74, 2, 2, 5085, 5086, 7, 71, 2, 2, 5086, 5087, 7, 67, 2, 2, 5087, 5088, 7, 84, 2, 2, 5088, 5089, 7, 86, 2, 2, 5089, 5090, 7, 68, 2, 2, 5090, 5091, 7, 71, 2, 2, 5091, 5092, 7, 67, 2, 2, 5092, 5093, 7, 86, 2, 2, 5093, 5094, 7, 97, 2, 2, 5094, 5095, 7, 82, 2, 2, 5095, 5096, 7, 71, 2, 2, 5096, 5097, 7, 84, 2, 2, 5097, 5098, 7, 75, 2, 2, 5098, 5099, 7, 81, 2, 2, 5099, 5100, 7, 70, 2, 2, 5100, 764, 3, 2, 2, 2, 5101, 5102, 7, 79, 2, 2, 5102, 5103, 7, 67, 2, 2, 5103, 5104, 7, 85, 2, 2, 5104, 5105, 7, 86, 2, 2, 5105, 5106, 7, 71, 2, 2, 5106, 5107, 7, 84, 2, 2, 5107, 5108, 7, 97, 2, 2, 5108, 5109, 7, 74, 2, 2, 5109, 5110, 7, 81, 2, 2, 5110, 5111, 7, 85, 2, 2, 5111, 5112, 7, 86, 2, 2, 5112, 766, 3, 2, 2, 2, 5113, 5114, 7, 79, 2, 2, 5114, 5115, 7, 67, 2, 2, 5115, 5116, 7, 85, 2, 2, 5116, 5117, 7, 86, 2, 2, 5117, 5118, 7, 71, 2, 2, 5118, 5119, 7, 84, 2, 2, 5119, 5120, 7, 97, 2, 2, 5120, 5121, 7, 78, 2, 2, 5121, 5122, 7, 81, 2, 2, 5122, 5123, 7, 73, 2, 2, 5123, 5124, 7, 97, 2, 2, 5124, 5125, 7, 72, 2, 2, 5125, 5126, 7, 75, 2, 2, 5126, 5127, 7, 78, 2, 2, 5127, 5128, 7, 71, 2, 2, 5128, 768, 3, 2, 2, 2, 5129, 5130, 7, 79, 2, 2, 5130, 5131, 7, 67, 2, 2, 5131, 5132, 7, 85, 2, 2, 5132, 5133, 7, 86, 2, 2, 5133, 5134, 7, 71, 2, 2, 5134, 5135, 7, 84, 2, 2, 5135, 5136, 7, 97, 2, 2, 5136, 5137, 7, 78, 2, 2, 5137, 5138, 7, 81, 2, 2, 5138, 5139, 7, 73, 2, 2, 5139, 5140, 7, 97, 2, 2, 5140, 5141, 7, 82, 2, 2, 5141, 5142, 7, 81, 2, 2, 5142, 5143, 7, 85, 2, 2, 5143, 770, 3, 2, 2, 2, 5144, 5145, 7, 79, 2, 2, 5145, 5146, 7, 67, 2, 2, 5146, 5147, 7, 85, 2, 2, 5147, 5148, 7, 86, 2, 2, 5148, 5149, 7, 71, 2, 2, 5149, 5150, 7, 84, 2, 2, 5150, 5151, 7, 97, 2, 2, 5151, 5152, 7, 82, 2, 2, 5152, 5153, 7, 67, 2, 2, 5153, 5154, 7, 85, 2, 2, 5154, 5155, 7, 85, 2, 2, 5155, 5156, 7, 89, 2, 2, 5156, 5157, 7, 81, 2, 2, 5157, 5158, 7, 84, 2, 2, 5158, 5159, 7, 70, 2, 2, 5159, 772, 3, 2, 2, 2, 5160, 5161, 7, 79, 2, 2, 5161, 5162, 7, 67, 2, 2, 5162, 5163, 7, 85, 2, 2, 5163, 5164, 7, 86, 2, 2, 5164, 5165, 7, 71, 2, 2, 5165, 5166, 7, 84, 2, 2, 5166, 5167, 7, 97, 2, 2, 5167, 5168, 7, 82, 2, 2, 5168, 5169, 7, 81, 2, 2, 5169, 5170, 7, 84, 2, 2, 5170, 5171, 7, 86, 2, 2, 5171, 774, 3, 2, 2, 2, 5172, 5173, 7, 79, 2, 2, 5173, 5174, 7, 67, 2, 2, 5174, 5175, 7, 85, 2, 2, 5175, 5176, 7, 86, 2, 2, 5176, 5177, 7, 71, 2, 2, 5177, 5178, 7, 84, 2, 2, 5178, 5179, 7, 97, 2, 2, 5179, 5180, 7, 84, 2, 2, 5180, 5181, 7, 71, 2, 2, 5181, 5182, 7, 86, 2, 2, 5182, 5183, 7, 84, 2, 2, 5183, 5184, 7, 91, 2, 2, 5184, 5185, 7, 97, 2, 2, 5185, 5186, 7, 69, 2, 2, 5186, 5187, 7, 81, 2, 2, 5187, 5188, 7, 87, 2, 2, 5188, 5189, 7, 80, 2, 2, 5189, 5190, 7, 86, 2, 2, 5190, 776, 3, 2, 2, 2, 5191, 5192, 7, 79, 2, 2, 5192, 5193, 7, 67, 2, 2, 5193, 5194, 7, 85, 2, 2, 5194, 5195, 7, 86, 2, 2, 5195, 5196, 7, 71, 2, 2, 5196, 5197, 7, 84, 2, 2, 5197, 5198, 7, 97, 2, 2, 5198, 5199, 7, 85, 2, 2, 5199, 5200, 7, 85, 2, 2, 5200, 5201, 7, 78, 2, 2, 5201, 778, 3, 2, 2, 2, 5202, 5203, 7, 79, 2, 2, 5203, 5204, 7, 67, 2, 2, 5204, 5205, 7, 85, 2, 2, 5205, 5206, 7, 86, 2, 2, 5206, 5207, 7, 71, 2, 2, 5207, 5208, 7, 84, 2, 2, 5208, 5209, 7, 97, 2, 2, 5209, 5210, 7, 85, 2, 2, 5210, 5211, 7, 85, 2, 2, 5211, 5212, 7, 78, 2, 2, 5212, 5213, 7, 97, 2, 2, 5213, 5214, 7, 69, 2, 2, 5214, 5215, 7, 67, 2, 2, 5215, 780, 3, 2, 2, 2, 5216, 5217, 7, 79, 2, 2, 5217, 5218, 7, 67, 2, 2, 5218, 5219, 7, 85, 2, 2, 5219, 5220, 7, 86, 2, 2, 5220, 5221, 7, 71, 2, 2, 5221, 5222, 7, 84, 2, 2, 5222, 5223, 7, 97, 2, 2, 5223, 5224, 7, 85, 2, 2, 5224, 5225, 7, 85, 2, 2, 5225, 5226, 7, 78, 2, 2, 5226, 5227, 7, 97, 2, 2, 5227, 5228, 7, 69, 2, 2, 5228, 5229, 7, 67, 2, 2, 5229, 5230, 7, 82, 2, 2, 5230, 5231, 7, 67, 2, 2, 5231, 5232, 7, 86, 2, 2, 5232, 5233, 7, 74, 2, 2, 5233, 782, 3, 2, 2, 2, 5234, 5235, 7, 79, 2, 2, 5235, 5236, 7, 67, 2, 2, 5236, 5237, 7, 85, 2, 2, 5237, 5238, 7, 86, 2, 2, 5238, 5239, 7, 71, 2, 2, 5239, 5240, 7, 84, 2, 2, 5240, 5241, 7, 97, 2, 2, 5241, 5242, 7, 85, 2, 2, 5242, 5243, 7, 85, 2, 2, 5243, 5244, 7, 78, 2, 2, 5244, 5245, 7, 97, 2, 2, 5245, 5246, 7, 69, 2, 2, 5246, 5247, 7, 71, 2, 2, 5247, 5248, 7, 84, 2, 2, 5248, 5249, 7, 86, 2, 2, 5249, 784, 3, 2, 2, 2, 5250, 5251, 7, 79, 2, 2, 5251, 5252, 7, 67, 2, 2, 5252, 5253, 7, 85, 2, 2, 5253, 5254, 7, 86, 2, 2, 5254, 5255, 7, 71, 2, 2, 5255, 5256, 7, 84, 2, 2, 5256, 5257, 7, 97, 2, 2, 5257, 5258, 7, 85, 2, 2, 5258, 5259, 7, 85, 2, 2, 5259, 5260, 7, 78, 2, 2, 5260, 5261, 7, 97, 2, 2, 5261, 5262, 7, 69, 2, 2, 5262, 5263, 7, 75, 2, 2, 5263, 5264, 7, 82, 2, 2, 5264, 5265, 7, 74, 2, 2, 5265, 5266, 7, 71, 2, 2, 5266, 5267, 7, 84, 2, 2, 5267, 786, 3, 2, 2, 2, 5268, 5269, 7, 79, 2, 2, 5269, 5270, 7, 67, 2, 2, 5270, 5271, 7, 85, 2, 2, 5271, 5272, 7, 86, 2, 2, 5272, 5273, 7, 71, 2, 2, 5273, 5274, 7, 84, 2, 2, 5274, 5275, 7, 97, 2, 2, 5275, 5276, 7, 85, 2, 2, 5276, 5277, 7, 85, 2, 2, 5277, 5278, 7, 78, 2, 2, 5278, 5279, 7, 97, 2, 2, 5279, 5280, 7, 69, 2, 2, 5280, 5281, 7, 84, 2, 2, 5281, 5282, 7, 78, 2, 2, 5282, 788, 3, 2, 2, 2, 5283, 5284, 7, 79, 2, 2, 5284, 5285, 7, 67, 2, 2, 5285, 5286, 7, 85, 2, 2, 5286, 5287, 7, 86, 2, 2, 5287, 5288, 7, 71, 2, 2, 5288, 5289, 7, 84, 2, 2, 5289, 5290, 7, 97, 2, 2, 5290, 5291, 7, 85, 2, 2, 5291, 5292, 7, 85, 2, 2, 5292, 5293, 7, 78, 2, 2, 5293, 5294, 7, 97, 2, 2, 5294, 5295, 7, 69, 2, 2, 5295, 5296, 7, 84, 2, 2, 5296, 5297, 7, 78, 2, 2, 5297, 5298, 7, 82, 2, 2, 5298, 5299, 7, 67, 2, 2, 5299, 5300, 7, 86, 2, 2, 5300, 5301, 7, 74, 2, 2, 5301, 790, 3, 2, 2, 2, 5302, 5303, 7, 79, 2, 2, 5303, 5304, 7, 67, 2, 2, 5304, 5305, 7, 85, 2, 2, 5305, 5306, 7, 86, 2, 2, 5306, 5307, 7, 71, 2, 2, 5307, 5308, 7, 84, 2, 2, 5308, 5309, 7, 97, 2, 2, 5309, 5310, 7, 85, 2, 2, 5310, 5311, 7, 85, 2, 2, 5311, 5312, 7, 78, 2, 2, 5312, 5313, 7, 97, 2, 2, 5313, 5314, 7, 77, 2, 2, 5314, 5315, 7, 71, 2, 2, 5315, 5316, 7, 91, 2, 2, 5316, 792, 3, 2, 2, 2, 5317, 5318, 7, 79, 2, 2, 5318, 5319, 7, 67, 2, 2, 5319, 5320, 7, 85, 2, 2, 5320, 5321, 7, 86, 2, 2, 5321, 5322, 7, 71, 2, 2, 5322, 5323, 7, 84, 2, 2, 5323, 5324, 7, 97, 2, 2, 5324, 5325, 7, 86, 2, 2, 5325, 5326, 7, 78, 2, 2, 5326, 5327, 7, 85, 2, 2, 5327, 5328, 7, 97, 2, 2, 5328, 5329, 7, 88, 2, 2, 5329, 5330, 7, 71, 2, 2, 5330, 5331, 7, 84, 2, 2, 5331, 5332, 7, 85, 2, 2, 5332, 5333, 7, 75, 2, 2, 5333, 5334, 7, 81, 2, 2, 5334, 5335, 7, 80, 2, 2, 5335, 794, 3, 2, 2, 2, 5336, 5337, 7, 79, 2, 2, 5337, 5338, 7, 67, 2, 2, 5338, 5339, 7, 85, 2, 2, 5339, 5340, 7, 86, 2, 2, 5340, 5341, 7, 71, 2, 2, 5341, 5342, 7, 84, 2, 2, 5342, 5343, 7, 97, 2, 2, 5343, 5344, 7, 87, 2, 2, 5344, 5345, 7, 85, 2, 2, 5345, 5346, 7, 71, 2, 2, 5346, 5347, 7, 84, 2, 2, 5347, 796, 3, 2, 2, 2, 5348, 5349, 7, 79, 2, 2, 5349, 5350, 7, 67, 2, 2, 5350, 5351, 7, 90, 2, 2, 5351, 5352, 7, 97, 2, 2, 5352, 5353, 7, 69, 2, 2, 5353, 5354, 7, 81, 2, 2, 5354, 5355, 7, 80, 2, 2, 5355, 5356, 7, 80, 2, 2, 5356, 5357, 7, 71, 2, 2, 5357, 5358, 7, 69, 2, 2, 5358, 5359, 7, 86, 2, 2, 5359, 5360, 7, 75, 2, 2, 5360, 5361, 7, 81, 2, 2, 5361, 5362, 7, 80, 2, 2, 5362, 5363, 7, 85, 2, 2, 5363, 5364, 7, 97, 2, 2, 5364, 5365, 7, 82, 2, 2, 5365, 5366, 7, 71, 2, 2, 5366, 5367, 7, 84, 2, 2, 5367, 5368, 7, 97, 2, 2, 5368, 5369, 7, 74, 2, 2, 5369, 5370, 7, 81, 2, 2, 5370, 5371, 7, 87, 2, 2, 5371, 5372, 7, 84, 2, 2, 5372, 798, 3, 2, 2, 2, 5373, 5374, 7, 79, 2, 2, 5374, 5375, 7, 67, 2, 2, 5375, 5376, 7, 90, 2, 2, 5376, 5377, 7, 97, 2, 2, 5377, 5378, 7, 83, 2, 2, 5378, 5379, 7, 87, 2, 2, 5379, 5380, 7, 71, 2, 2, 5380, 5381, 7, 84, 2, 2, 5381, 5382, 7, 75, 2, 2, 5382, 5383, 7, 71, 2, 2, 5383, 5384, 7, 85, 2, 2, 5384, 5385, 7, 97, 2, 2, 5385, 5386, 7, 82, 2, 2, 5386, 5387, 7, 71, 2, 2, 5387, 5388, 7, 84, 2, 2, 5388, 5389, 7, 97, 2, 2, 5389, 5390, 7, 74, 2, 2, 5390, 5391, 7, 81, 2, 2, 5391, 5392, 7, 87, 2, 2, 5392, 5393, 7, 84, 2, 2, 5393, 800, 3, 2, 2, 2, 5394, 5395, 7, 79, 2, 2, 5395, 5396, 7, 67, 2, 2, 5396, 5397, 7, 90, 2, 2, 5397, 5398, 7, 97, 2, 2, 5398, 5399, 7, 84, 2, 2, 5399, 5400, 7, 81, 2, 2, 5400, 5401, 7, 89, 2, 2, 5401, 5402, 7, 85, 2, 2, 5402, 802, 3, 2, 2, 2, 5403, 5404, 7, 79, 2, 2, 5404, 5405, 7, 67, 2, 2, 5405, 5406, 7, 90, 2, 2, 5406, 5407, 7, 97, 2, 2, 5407, 5408, 7, 85, 2, 2, 5408, 5409, 7, 75, 2, 2, 5409, 5410, 7, 92, 2, 2, 5410, 5411, 7, 71, 2, 2, 5411, 804, 3, 2, 2, 2, 5412, 5413, 7, 79, 2, 2, 5413, 5414, 7, 67, 2, 2, 5414, 5415, 7, 90, 2, 2, 5415, 5416, 7, 97, 2, 2, 5416, 5417, 7, 87, 2, 2, 5417, 5418, 7, 82, 2, 2, 5418, 5419, 7, 70, 2, 2, 5419, 5420, 7, 67, 2, 2, 5420, 5421, 7, 86, 2, 2, 5421, 5422, 7, 71, 2, 2, 5422, 5423, 7, 85, 2, 2, 5423, 5424, 7, 97, 2, 2, 5424, 5425, 7, 82, 2, 2, 5425, 5426, 7, 71, 2, 2, 5426, 5427, 7, 84, 2, 2, 5427, 5428, 7, 97, 2, 2, 5428, 5429, 7, 74, 2, 2, 5429, 5430, 7, 81, 2, 2, 5430, 5431, 7, 87, 2, 2, 5431, 5432, 7, 84, 2, 2, 5432, 806, 3, 2, 2, 2, 5433, 5434, 7, 79, 2, 2, 5434, 5435, 7, 67, 2, 2, 5435, 5436, 7, 90, 2, 2, 5436, 5437, 7, 97, 2, 2, 5437, 5438, 7, 87, 2, 2, 5438, 5439, 7, 85, 2, 2, 5439, 5440, 7, 71, 2, 2, 5440, 5441, 7, 84, 2, 2, 5441, 5442, 7, 97, 2, 2, 5442, 5443, 7, 69, 2, 2, 5443, 5444, 7, 81, 2, 2, 5444, 5445, 7, 80, 2, 2, 5445, 5446, 7, 80, 2, 2, 5446, 5447, 7, 71, 2, 2, 5447, 5448, 7, 69, 2, 2, 5448, 5449, 7, 86, 2, 2, 5449, 5450, 7, 75, 2, 2, 5450, 5451, 7, 81, 2, 2, 5451, 5452, 7, 80, 2, 2, 5452, 5453, 7, 85, 2, 2, 5453, 808, 3, 2, 2, 2, 5454, 5455, 7, 79, 2, 2, 5455, 5456, 7, 71, 2, 2, 5456, 5457, 7, 70, 2, 2, 5457, 5458, 7, 75, 2, 2, 5458, 5459, 7, 87, 2, 2, 5459, 5460, 7, 79, 2, 2, 5460, 810, 3, 2, 2, 2, 5461, 5462, 7, 79, 2, 2, 5462, 5463, 7, 71, 2, 2, 5463, 5464, 7, 84, 2, 2, 5464, 5465, 7, 73, 2, 2, 5465, 5466, 7, 71, 2, 2, 5466, 812, 3, 2, 2, 2, 5467, 5468, 7, 79, 2, 2, 5468, 5469, 7, 75, 2, 2, 5469, 5470, 7, 70, 2, 2, 5470, 814, 3, 2, 2, 2, 5471, 5472, 7, 79, 2, 2, 5472, 5473, 7, 75, 2, 2, 5473, 5474, 7, 73, 2, 2, 5474, 5475, 7, 84, 2, 2, 5475, 5476, 7, 67, 2, 2, 5476, 5477, 7, 86, 2, 2, 5477, 5478, 7, 71, 2, 2, 5478, 816, 3, 2, 2, 2, 5479, 5480, 7, 79, 2, 2, 5480, 5481, 7, 75, 2, 2, 5481, 5482, 7, 80, 2, 2, 5482, 5483, 7, 97, 2, 2, 5483, 5484, 7, 84, 2, 2, 5484, 5485, 7, 81, 2, 2, 5485, 5486, 7, 89, 2, 2, 5486, 5487, 7, 85, 2, 2, 5487, 818, 3, 2, 2, 2, 5488, 5489, 7, 79, 2, 2, 5489, 5490, 7, 81, 2, 2, 5490, 5491, 7, 70, 2, 2, 5491, 5492, 7, 71, 2, 2, 5492, 820, 3, 2, 2, 2, 5493, 5494, 7, 79, 2, 2, 5494, 5495, 7, 81, 2, 2, 5495, 5496, 7, 70, 2, 2, 5496, 5497, 7, 75, 2, 2, 5497, 5498, 7, 72, 2, 2, 5498, 5499, 7, 91, 2, 2, 5499, 822, 3, 2, 2, 2, 5500, 5501, 7, 79, 2, 2, 5501, 5502, 7, 87, 2, 2, 5502, 5503, 7, 86, 2, 2, 5503, 5504, 7, 71, 2, 2, 5504, 5505, 7, 90, 2, 2, 5505, 824, 3, 2, 2, 2, 5506, 5507, 7, 79, 2, 2, 5507, 5508, 7, 91, 2, 2, 5508, 5509, 7, 85, 2, 2, 5509, 5510, 7, 83, 2, 2, 5510, 5511, 7, 78, 2, 2, 5511, 826, 3, 2, 2, 2, 5512, 5513, 7, 80, 2, 2, 5513, 5514, 7, 67, 2, 2, 5514, 5515, 7, 79, 2, 2, 5515, 5516, 7, 71, 2, 2, 5516, 828, 3, 2, 2, 2, 5517, 5518, 7, 80, 2, 2, 5518, 5519, 7, 67, 2, 2, 5519, 5520, 7, 79, 2, 2, 5520, 5521, 7, 71, 2, 2, 5521, 5522, 7, 85, 2, 2, 5522, 830, 3, 2, 2, 2, 5523, 5524, 7, 80, 2, 2, 5524, 5525, 7, 69, 2, 2, 5525, 5526, 7, 74, 2, 2, 5526, 5527, 7, 67, 2, 2, 5527, 5528, 7, 84, 2, 2, 5528, 832, 3, 2, 2, 2, 5529, 5530, 7, 80, 2, 2, 5530, 5531, 7, 71, 2, 2, 5531, 5532, 7, 88, 2, 2, 5532, 5533, 7, 71, 2, 2, 5533, 5534, 7, 84, 2, 2, 5534, 834, 3, 2, 2, 2, 5535, 5536, 7, 80, 2, 2, 5536, 5537, 7, 71, 2, 2, 5537, 5538, 7, 90, 2, 2, 5538, 5539, 7, 86, 2, 2, 5539, 836, 3, 2, 2, 2, 5540, 5541, 7, 80, 2, 2, 5541, 5542, 7, 81, 2, 2, 5542, 838, 3, 2, 2, 2, 5543, 5544, 7, 80, 2, 2, 5544, 5545, 7, 81, 2, 2, 5545, 5546, 7, 70, 2, 2, 5546, 5547, 7, 71, 2, 2, 5547, 5548, 7, 73, 2, 2, 5548, 5549, 7, 84, 2, 2, 5549, 5550, 7, 81, 2, 2, 5550, 5551, 7, 87, 2, 2, 5551, 5552, 7, 82, 2, 2, 5552, 840, 3, 2, 2, 2, 5553, 5554, 7, 80, 2, 2, 5554, 5555, 7, 81, 2, 2, 5555, 5556, 7, 80, 2, 2, 5556, 5557, 7, 71, 2, 2, 5557, 842, 3, 2, 2, 2, 5558, 5559, 7, 81, 2, 2, 5559, 5560, 7, 72, 2, 2, 5560, 5561, 7, 72, 2, 2, 5561, 5562, 7, 78, 2, 2, 5562, 5563, 7, 75, 2, 2, 5563, 5564, 7, 80, 2, 2, 5564, 5565, 7, 71, 2, 2, 5565, 844, 3, 2, 2, 2, 5566, 5567, 7, 81, 2, 2, 5567, 5568, 7, 72, 2, 2, 5568, 5569, 7, 72, 2, 2, 5569, 5570, 7, 85, 2, 2, 5570, 5571, 7, 71, 2, 2, 5571, 5572, 7, 86, 2, 2, 5572, 846, 3, 2, 2, 2, 5573, 5574, 7, 81, 2, 2, 5574, 5575, 7, 76, 2, 2, 5575, 848, 3, 2, 2, 2, 5576, 5577, 7, 81, 2, 2, 5577, 5578, 7, 78, 2, 2, 5578, 5579, 7, 70, 2, 2, 5579, 5580, 7, 97, 2, 2, 5580, 5581, 7, 82, 2, 2, 5581, 5582, 7, 67, 2, 2, 5582, 5583, 7, 85, 2, 2, 5583, 5584, 7, 85, 2, 2, 5584, 5585, 7, 89, 2, 2, 5585, 5586, 7, 81, 2, 2, 5586, 5587, 7, 84, 2, 2, 5587, 5588, 7, 70, 2, 2, 5588, 850, 3, 2, 2, 2, 5589, 5590, 7, 81, 2, 2, 5590, 5591, 7, 80, 2, 2, 5591, 5592, 7, 71, 2, 2, 5592, 852, 3, 2, 2, 2, 5593, 5594, 7, 81, 2, 2, 5594, 5595, 7, 80, 2, 2, 5595, 5596, 7, 78, 2, 2, 5596, 5597, 7, 75, 2, 2, 5597, 5598, 7, 80, 2, 2, 5598, 5599, 7, 71, 2, 2, 5599, 854, 3, 2, 2, 2, 5600, 5601, 7, 81, 2, 2, 5601, 5602, 7, 80, 2, 2, 5602, 5603, 7, 78, 2, 2, 5603, 5604, 7, 91, 2, 2, 5604, 856, 3, 2, 2, 2, 5605, 5606, 7, 81, 2, 2, 5606, 5607, 7, 82, 2, 2, 5607, 5608, 7, 71, 2, 2, 5608, 5609, 7, 80, 2, 2, 5609, 858, 3, 2, 2, 2, 5610, 5611, 7, 81, 2, 2, 5611, 5612, 7, 82, 2, 2, 5612, 5613, 7, 86, 2, 2, 5613, 5614, 7, 75, 2, 2, 5614, 5615, 7, 79, 2, 2, 5615, 5616, 7, 75, 2, 2, 5616, 5617, 7, 92, 2, 2, 5617, 5618, 7, 71, 2, 2, 5618, 5619, 7, 84, 2, 2, 5619, 5620, 7, 97, 2, 2, 5620, 5621, 7, 69, 2, 2, 5621, 5622, 7, 81, 2, 2, 5622, 5623, 7, 85, 2, 2, 5623, 5624, 7, 86, 2, 2, 5624, 5625, 7, 85, 2, 2, 5625, 860, 3, 2, 2, 2, 5626, 5627, 7, 81, 2, 2, 5627, 5628, 7, 82, 2, 2, 5628, 5629, 7, 86, 2, 2, 5629, 5630, 7, 75, 2, 2, 5630, 5631, 7, 81, 2, 2, 5631, 5632, 7, 80, 2, 2, 5632, 5633, 7, 85, 2, 2, 5633, 862, 3, 2, 2, 2, 5634, 5635, 7, 81, 2, 2, 5635, 5636, 7, 89, 2, 2, 5636, 5637, 7, 80, 2, 2, 5637, 5638, 7, 71, 2, 2, 5638, 5639, 7, 84, 2, 2, 5639, 864, 3, 2, 2, 2, 5640, 5641, 7, 82, 2, 2, 5641, 5642, 7, 67, 2, 2, 5642, 5643, 7, 69, 2, 2, 5643, 5644, 7, 77, 2, 2, 5644, 5645, 7, 97, 2, 2, 5645, 5646, 7, 77, 2, 2, 5646, 5647, 7, 71, 2, 2, 5647, 5648, 7, 91, 2, 2, 5648, 5649, 7, 85, 2, 2, 5649, 866, 3, 2, 2, 2, 5650, 5651, 7, 82, 2, 2, 5651, 5652, 7, 67, 2, 2, 5652, 5653, 7, 73, 2, 2, 5653, 5654, 7, 71, 2, 2, 5654, 868, 3, 2, 2, 2, 5655, 5656, 7, 82, 2, 2, 5656, 5657, 7, 67, 2, 2, 5657, 5658, 7, 84, 2, 2, 5658, 5659, 7, 85, 2, 2, 5659, 5660, 7, 71, 2, 2, 5660, 5661, 7, 84, 2, 2, 5661, 870, 3, 2, 2, 2, 5662, 5663, 7, 82, 2, 2, 5663, 5664, 7, 67, 2, 2, 5664, 5665, 7, 84, 2, 2, 5665, 5666, 7, 86, 2, 2, 5666, 5667, 7, 75, 2, 2, 5667, 5668, 7, 67, 2, 2, 5668, 5669, 7, 78, 2, 2, 5669, 872, 3, 2, 2, 2, 5670, 5671, 7, 82, 2, 2, 5671, 5672, 7, 67, 2, 2, 5672, 5673, 7, 84, 2, 2, 5673, 5674, 7, 86, 2, 2, 5674, 5675, 7, 75, 2, 2, 5675, 5676, 7, 86, 2, 2, 5676, 5677, 7, 75, 2, 2, 5677, 5678, 7, 81, 2, 2, 5678, 5679, 7, 80, 2, 2, 5679, 5680, 7, 75, 2, 2, 5680, 5681, 7, 80, 2, 2, 5681, 5682, 7, 73, 2, 2, 5682, 874, 3, 2, 2, 2, 5683, 5684, 7, 82, 2, 2, 5684, 5685, 7, 67, 2, 2, 5685, 5686, 7, 84, 2, 2, 5686, 5687, 7, 86, 2, 2, 5687, 5688, 7, 75, 2, 2, 5688, 5689, 7, 86, 2, 2, 5689, 5690, 7, 75, 2, 2, 5690, 5691, 7, 81, 2, 2, 5691, 5692, 7, 80, 2, 2, 5692, 5693, 7, 85, 2, 2, 5693, 876, 3, 2, 2, 2, 5694, 5695, 7, 82, 2, 2, 5695, 5696, 7, 67, 2, 2, 5696, 5697, 7, 85, 2, 2, 5697, 5698, 7, 85, 2, 2, 5698, 5699, 7, 89, 2, 2, 5699, 5700, 7, 81, 2, 2, 5700, 5701, 7, 84, 2, 2, 5701, 5702, 7, 70, 2, 2, 5702, 878, 3, 2, 2, 2, 5703, 5704, 7, 82, 2, 2, 5704, 5705, 7, 74, 2, 2, 5705, 5706, 7, 67, 2, 2, 5706, 5707, 7, 85, 2, 2, 5707, 5708, 7, 71, 2, 2, 5708, 880, 3, 2, 2, 2, 5709, 5710, 7, 82, 2, 2, 5710, 5711, 7, 78, 2, 2, 5711, 5712, 7, 87, 2, 2, 5712, 5713, 7, 73, 2, 2, 5713, 5714, 7, 75, 2, 2, 5714, 5715, 7, 80, 2, 2, 5715, 882, 3, 2, 2, 2, 5716, 5717, 7, 82, 2, 2, 5717, 5718, 7, 78, 2, 2, 5718, 5719, 7, 87, 2, 2, 5719, 5720, 7, 73, 2, 2, 5720, 5721, 7, 75, 2, 2, 5721, 5722, 7, 80, 2, 2, 5722, 5723, 7, 97, 2, 2, 5723, 5724, 7, 70, 2, 2, 5724, 5725, 7, 75, 2, 2, 5725, 5726, 7, 84, 2, 2, 5726, 884, 3, 2, 2, 2, 5727, 5728, 7, 82, 2, 2, 5728, 5729, 7, 78, 2, 2, 5729, 5730, 7, 87, 2, 2, 5730, 5731, 7, 73, 2, 2, 5731, 5732, 7, 75, 2, 2, 5732, 5733, 7, 80, 2, 2, 5733, 5734, 7, 85, 2, 2, 5734, 886, 3, 2, 2, 2, 5735, 5736, 7, 82, 2, 2, 5736, 5737, 7, 81, 2, 2, 5737, 5738, 7, 84, 2, 2, 5738, 5739, 7, 86, 2, 2, 5739, 888, 3, 2, 2, 2, 5740, 5741, 7, 82, 2, 2, 5741, 5742, 7, 84, 2, 2, 5742, 5743, 7, 71, 2, 2, 5743, 5744, 7, 69, 2, 2, 5744, 5745, 7, 71, 2, 2, 5745, 5746, 7, 70, 2, 2, 5746, 5747, 7, 71, 2, 2, 5747, 5748, 7, 85, 2, 2, 5748, 890, 3, 2, 2, 2, 5749, 5750, 7, 82, 2, 2, 5750, 5751, 7, 84, 2, 2, 5751, 5752, 7, 71, 2, 2, 5752, 5753, 7, 82, 2, 2, 5753, 5754, 7, 67, 2, 2, 5754, 5755, 7, 84, 2, 2, 5755, 5756, 7, 71, 2, 2, 5756, 892, 3, 2, 2, 2, 5757, 5758, 7, 82, 2, 2, 5758, 5759, 7, 84, 2, 2, 5759, 5760, 7, 71, 2, 2, 5760, 5761, 7, 85, 2, 2, 5761, 5762, 7, 71, 2, 2, 5762, 5763, 7, 84, 2, 2, 5763, 5764, 7, 88, 2, 2, 5764, 5765, 7, 71, 2, 2, 5765, 894, 3, 2, 2, 2, 5766, 5767, 7, 82, 2, 2, 5767, 5768, 7, 84, 2, 2, 5768, 5769, 7, 71, 2, 2, 5769, 5770, 7, 88, 2, 2, 5770, 896, 3, 2, 2, 2, 5771, 5772, 7, 82, 2, 2, 5772, 5773, 7, 84, 2, 2, 5773, 5774, 7, 81, 2, 2, 5774, 5775, 7, 69, 2, 2, 5775, 5776, 7, 71, 2, 2, 5776, 5777, 7, 85, 2, 2, 5777, 5778, 7, 85, 2, 2, 5778, 5779, 7, 78, 2, 2, 5779, 5780, 7, 75, 2, 2, 5780, 5781, 7, 85, 2, 2, 5781, 5782, 7, 86, 2, 2, 5782, 898, 3, 2, 2, 2, 5783, 5784, 7, 82, 2, 2, 5784, 5785, 7, 84, 2, 2, 5785, 5786, 7, 81, 2, 2, 5786, 5787, 7, 72, 2, 2, 5787, 5788, 7, 75, 2, 2, 5788, 5789, 7, 78, 2, 2, 5789, 5790, 7, 71, 2, 2, 5790, 900, 3, 2, 2, 2, 5791, 5792, 7, 82, 2, 2, 5792, 5793, 7, 84, 2, 2, 5793, 5794, 7, 81, 2, 2, 5794, 5795, 7, 72, 2, 2, 5795, 5796, 7, 75, 2, 2, 5796, 5797, 7, 78, 2, 2, 5797, 5798, 7, 71, 2, 2, 5798, 5799, 7, 85, 2, 2, 5799, 902, 3, 2, 2, 2, 5800, 5801, 7, 82, 2, 2, 5801, 5802, 7, 84, 2, 2, 5802, 5803, 7, 81, 2, 2, 5803, 5804, 7, 90, 2, 2, 5804, 5805, 7, 91, 2, 2, 5805, 904, 3, 2, 2, 2, 5806, 5807, 7, 83, 2, 2, 5807, 5808, 7, 87, 2, 2, 5808, 5809, 7, 71, 2, 2, 5809, 5810, 7, 84, 2, 2, 5810, 5811, 7, 91, 2, 2, 5811, 906, 3, 2, 2, 2, 5812, 5813, 7, 83, 2, 2, 5813, 5814, 7, 87, 2, 2, 5814, 5815, 7, 75, 2, 2, 5815, 5816, 7, 69, 2, 2, 5816, 5817, 7, 77, 2, 2, 5817, 908, 3, 2, 2, 2, 5818, 5819, 7, 84, 2, 2, 5819, 5820, 7, 71, 2, 2, 5820, 5821, 7, 68, 2, 2, 5821, 5822, 7, 87, 2, 2, 5822, 5823, 7, 75, 2, 2, 5823, 5824, 7, 78, 2, 2, 5824, 5825, 7, 70, 2, 2, 5825, 910, 3, 2, 2, 2, 5826, 5827, 7, 84, 2, 2, 5827, 5828, 7, 71, 2, 2, 5828, 5829, 7, 69, 2, 2, 5829, 5830, 7, 81, 2, 2, 5830, 5831, 7, 88, 2, 2, 5831, 5832, 7, 71, 2, 2, 5832, 5833, 7, 84, 2, 2, 5833, 912, 3, 2, 2, 2, 5834, 5835, 7, 84, 2, 2, 5835, 5836, 7, 71, 2, 2, 5836, 5837, 7, 70, 2, 2, 5837, 5838, 7, 81, 2, 2, 5838, 5839, 7, 97, 2, 2, 5839, 5840, 7, 68, 2, 2, 5840, 5841, 7, 87, 2, 2, 5841, 5842, 7, 72, 2, 2, 5842, 5843, 7, 72, 2, 2, 5843, 5844, 7, 71, 2, 2, 5844, 5845, 7, 84, 2, 2, 5845, 5846, 7, 97, 2, 2, 5846, 5847, 7, 85, 2, 2, 5847, 5848, 7, 75, 2, 2, 5848, 5849, 7, 92, 2, 2, 5849, 5850, 7, 71, 2, 2, 5850, 914, 3, 2, 2, 2, 5851, 5852, 7, 84, 2, 2, 5852, 5853, 7, 71, 2, 2, 5853, 5854, 7, 70, 2, 2, 5854, 5855, 7, 87, 2, 2, 5855, 5856, 7, 80, 2, 2, 5856, 5857, 7, 70, 2, 2, 5857, 5858, 7, 67, 2, 2, 5858, 5859, 7, 80, 2, 2, 5859, 5860, 7, 86, 2, 2, 5860, 916, 3, 2, 2, 2, 5861, 5862, 7, 84, 2, 2, 5862, 5863, 7, 71, 2, 2, 5863, 5864, 7, 78, 2, 2, 5864, 5865, 7, 67, 2, 2, 5865, 5866, 7, 91, 2, 2, 5866, 918, 3, 2, 2, 2, 5867, 5868, 7, 84, 2, 2, 5868, 5869, 7, 71, 2, 2, 5869, 5870, 7, 78, 2, 2, 5870, 5871, 7, 67, 2, 2, 5871, 5872, 7, 91, 2, 2, 5872, 5873, 7, 97, 2, 2, 5873, 5874, 7, 78, 2, 2, 5874, 5875, 7, 81, 2, 2, 5875, 5876, 7, 73, 2, 2, 5876, 5877, 7, 97, 2, 2, 5877, 5878, 7, 72, 2, 2, 5878, 5879, 7, 75, 2, 2, 5879, 5880, 7, 78, 2, 2, 5880, 5881, 7, 71, 2, 2, 5881, 920, 3, 2, 2, 2, 5882, 5883, 7, 84, 2, 2, 5883, 5884, 7, 71, 2, 2, 5884, 5885, 7, 78, 2, 2, 5885, 5886, 7, 67, 2, 2, 5886, 5887, 7, 91, 2, 2, 5887, 5888, 7, 97, 2, 2, 5888, 5889, 7, 78, 2, 2, 5889, 5890, 7, 81, 2, 2, 5890, 5891, 7, 73, 2, 2, 5891, 5892, 7, 97, 2, 2, 5892, 5893, 7, 82, 2, 2, 5893, 5894, 7, 81, 2, 2, 5894, 5895, 7, 85, 2, 2, 5895, 922, 3, 2, 2, 2, 5896, 5897, 7, 84, 2, 2, 5897, 5898, 7, 71, 2, 2, 5898, 5899, 7, 78, 2, 2, 5899, 5900, 7, 67, 2, 2, 5900, 5901, 7, 91, 2, 2, 5901, 5902, 7, 78, 2, 2, 5902, 5903, 7, 81, 2, 2, 5903, 5904, 7, 73, 2, 2, 5904, 924, 3, 2, 2, 2, 5905, 5906, 7, 84, 2, 2, 5906, 5907, 7, 71, 2, 2, 5907, 5908, 7, 79, 2, 2, 5908, 5909, 7, 81, 2, 2, 5909, 5910, 7, 88, 2, 2, 5910, 5911, 7, 71, 2, 2, 5911, 926, 3, 2, 2, 2, 5912, 5913, 7, 84, 2, 2, 5913, 5914, 7, 71, 2, 2, 5914, 5915, 7, 81, 2, 2, 5915, 5916, 7, 84, 2, 2, 5916, 5917, 7, 73, 2, 2, 5917, 5918, 7, 67, 2, 2, 5918, 5919, 7, 80, 2, 2, 5919, 5920, 7, 75, 2, 2, 5920, 5921, 7, 92, 2, 2, 5921, 5922, 7, 71, 2, 2, 5922, 928, 3, 2, 2, 2, 5923, 5924, 7, 84, 2, 2, 5924, 5925, 7, 71, 2, 2, 5925, 5926, 7, 82, 2, 2, 5926, 5927, 7, 67, 2, 2, 5927, 5928, 7, 75, 2, 2, 5928, 5929, 7, 84, 2, 2, 5929, 930, 3, 2, 2, 2, 5930, 5931, 7, 84, 2, 2, 5931, 5932, 7, 71, 2, 2, 5932, 5933, 7, 82, 2, 2, 5933, 5934, 7, 78, 2, 2, 5934, 5935, 7, 75, 2, 2, 5935, 5936, 7, 69, 2, 2, 5936, 5937, 7, 67, 2, 2, 5937, 5938, 7, 86, 2, 2, 5938, 5939, 7, 71, 2, 2, 5939, 5940, 7, 97, 2, 2, 5940, 5941, 7, 70, 2, 2, 5941, 5942, 7, 81, 2, 2, 5942, 5943, 7, 97, 2, 2, 5943, 5944, 7, 70, 2, 2, 5944, 5945, 7, 68, 2, 2, 5945, 932, 3, 2, 2, 2, 5946, 5947, 7, 84, 2, 2, 5947, 5948, 7, 71, 2, 2, 5948, 5949, 7, 82, 2, 2, 5949, 5950, 7, 78, 2, 2, 5950, 5951, 7, 75, 2, 2, 5951, 5952, 7, 69, 2, 2, 5952, 5953, 7, 67, 2, 2, 5953, 5954, 7, 86, 2, 2, 5954, 5955, 7, 71, 2, 2, 5955, 5956, 7, 97, 2, 2, 5956, 5957, 7, 70, 2, 2, 5957, 5958, 7, 81, 2, 2, 5958, 5959, 7, 97, 2, 2, 5959, 5960, 7, 86, 2, 2, 5960, 5961, 7, 67, 2, 2, 5961, 5962, 7, 68, 2, 2, 5962, 5963, 7, 78, 2, 2, 5963, 5964, 7, 71, 2, 2, 5964, 934, 3, 2, 2, 2, 5965, 5966, 7, 84, 2, 2, 5966, 5967, 7, 71, 2, 2, 5967, 5968, 7, 82, 2, 2, 5968, 5969, 7, 78, 2, 2, 5969, 5970, 7, 75, 2, 2, 5970, 5971, 7, 69, 2, 2, 5971, 5972, 7, 67, 2, 2, 5972, 5973, 7, 86, 2, 2, 5973, 5974, 7, 71, 2, 2, 5974, 5975, 7, 97, 2, 2, 5975, 5976, 7, 75, 2, 2, 5976, 5977, 7, 73, 2, 2, 5977, 5978, 7, 80, 2, 2, 5978, 5979, 7, 81, 2, 2, 5979, 5980, 7, 84, 2, 2, 5980, 5981, 7, 71, 2, 2, 5981, 5982, 7, 97, 2, 2, 5982, 5983, 7, 70, 2, 2, 5983, 5984, 7, 68, 2, 2, 5984, 936, 3, 2, 2, 2, 5985, 5986, 7, 84, 2, 2, 5986, 5987, 7, 71, 2, 2, 5987, 5988, 7, 82, 2, 2, 5988, 5989, 7, 78, 2, 2, 5989, 5990, 7, 75, 2, 2, 5990, 5991, 7, 69, 2, 2, 5991, 5992, 7, 67, 2, 2, 5992, 5993, 7, 86, 2, 2, 5993, 5994, 7, 71, 2, 2, 5994, 5995, 7, 97, 2, 2, 5995, 5996, 7, 75, 2, 2, 5996, 5997, 7, 73, 2, 2, 5997, 5998, 7, 80, 2, 2, 5998, 5999, 7, 81, 2, 2, 5999, 6000, 7, 84, 2, 2, 6000, 6001, 7, 71, 2, 2, 6001, 6002, 7, 97, 2, 2, 6002, 6003, 7, 86, 2, 2, 6003, 6004, 7, 67, 2, 2, 6004, 6005, 7, 68, 2, 2, 6005, 6006, 7, 78, 2, 2, 6006, 6007, 7, 71, 2, 2, 6007, 938, 3, 2, 2, 2, 6008, 6009, 7, 84, 2, 2, 6009, 6010, 7, 71, 2, 2, 6010, 6011, 7, 82, 2, 2, 6011, 6012, 7, 78, 2, 2, 6012, 6013, 7, 75, 2, 2, 6013, 6014, 7, 69, 2, 2, 6014, 6015, 7, 67, 2, 2, 6015, 6016, 7, 86, 2, 2, 6016, 6017, 7, 71, 2, 2, 6017, 6018, 7, 97, 2, 2, 6018, 6019, 7, 84, 2, 2, 6019, 6020, 7, 71, 2, 2, 6020, 6021, 7, 89, 2, 2, 6021, 6022, 7, 84, 2, 2, 6022, 6023, 7, 75, 2, 2, 6023, 6024, 7, 86, 2, 2, 6024, 6025, 7, 71, 2, 2, 6025, 6026, 7, 97, 2, 2, 6026, 6027, 7, 70, 2, 2, 6027, 6028, 7, 68, 2, 2, 6028, 940, 3, 2, 2, 2, 6029, 6030, 7, 84, 2, 2, 6030, 6031, 7, 71, 2, 2, 6031, 6032, 7, 82, 2, 2, 6032, 6033, 7, 78, 2, 2, 6033, 6034, 7, 75, 2, 2, 6034, 6035, 7, 69, 2, 2, 6035, 6036, 7, 67, 2, 2, 6036, 6037, 7, 86, 2, 2, 6037, 6038, 7, 71, 2, 2, 6038, 6039, 7, 97, 2, 2, 6039, 6040, 7, 89, 2, 2, 6040, 6041, 7, 75, 2, 2, 6041, 6042, 7, 78, 2, 2, 6042, 6043, 7, 70, 2, 2, 6043, 6044, 7, 97, 2, 2, 6044, 6045, 7, 70, 2, 2, 6045, 6046, 7, 81, 2, 2, 6046, 6047, 7, 97, 2, 2, 6047, 6048, 7, 86, 2, 2, 6048, 6049, 7, 67, 2, 2, 6049, 6050, 7, 68, 2, 2, 6050, 6051, 7, 78, 2, 2, 6051, 6052, 7, 71, 2, 2, 6052, 942, 3, 2, 2, 2, 6053, 6054, 7, 84, 2, 2, 6054, 6055, 7, 71, 2, 2, 6055, 6056, 7, 82, 2, 2, 6056, 6057, 7, 78, 2, 2, 6057, 6058, 7, 75, 2, 2, 6058, 6059, 7, 69, 2, 2, 6059, 6060, 7, 67, 2, 2, 6060, 6061, 7, 86, 2, 2, 6061, 6062, 7, 71, 2, 2, 6062, 6063, 7, 97, 2, 2, 6063, 6064, 7, 89, 2, 2, 6064, 6065, 7, 75, 2, 2, 6065, 6066, 7, 78, 2, 2, 6066, 6067, 7, 70, 2, 2, 6067, 6068, 7, 97, 2, 2, 6068, 6069, 7, 75, 2, 2, 6069, 6070, 7, 73, 2, 2, 6070, 6071, 7, 80, 2, 2, 6071, 6072, 7, 81, 2, 2, 6072, 6073, 7, 84, 2, 2, 6073, 6074, 7, 71, 2, 2, 6074, 6075, 7, 97, 2, 2, 6075, 6076, 7, 86, 2, 2, 6076, 6077, 7, 67, 2, 2, 6077, 6078, 7, 68, 2, 2, 6078, 6079, 7, 78, 2, 2, 6079, 6080, 7, 71, 2, 2, 6080, 944, 3, 2, 2, 2, 6081, 6082, 7, 84, 2, 2, 6082, 6083, 7, 71, 2, 2, 6083, 6084, 7, 82, 2, 2, 6084, 6085, 7, 78, 2, 2, 6085, 6086, 7, 75, 2, 2, 6086, 6087, 7, 69, 2, 2, 6087, 6088, 7, 67, 2, 2, 6088, 6089, 7, 86, 2, 2, 6089, 6090, 7, 75, 2, 2, 6090, 6091, 7, 81, 2, 2, 6091, 6092, 7, 80, 2, 2, 6092, 946, 3, 2, 2, 2, 6093, 6094, 7, 84, 2, 2, 6094, 6095, 7, 71, 2, 2, 6095, 6096, 7, 85, 2, 2, 6096, 6097, 7, 71, 2, 2, 6097, 6098, 7, 86, 2, 2, 6098, 948, 3, 2, 2, 2, 6099, 6100, 7, 84, 2, 2, 6100, 6101, 7, 71, 2, 2, 6101, 6102, 7, 85, 2, 2, 6102, 6103, 7, 87, 2, 2, 6103, 6104, 7, 79, 2, 2, 6104, 6105, 7, 71, 2, 2, 6105, 950, 3, 2, 2, 2, 6106, 6107, 7, 84, 2, 2, 6107, 6108, 7, 71, 2, 2, 6108, 6109, 7, 86, 2, 2, 6109, 6110, 7, 87, 2, 2, 6110, 6111, 7, 84, 2, 2, 6111, 6112, 7, 80, 2, 2, 6112, 6113, 7, 85, 2, 2, 6113, 952, 3, 2, 2, 2, 6114, 6115, 7, 84, 2, 2, 6115, 6116, 7, 81, 2, 2, 6116, 6117, 7, 78, 2, 2, 6117, 6118, 7, 78, 2, 2, 6118, 6119, 7, 68, 2, 2, 6119, 6120, 7, 67, 2, 2, 6120, 6121, 7, 69, 2, 2, 6121, 6122, 7, 77, 2, 2, 6122, 954, 3, 2, 2, 2, 6123, 6124, 7, 84, 2, 2, 6124, 6125, 7, 81, 2, 2, 6125, 6126, 7, 78, 2, 2, 6126, 6127, 7, 78, 2, 2, 6127, 6128, 7, 87, 2, 2, 6128, 6129, 7, 82, 2, 2, 6129, 956, 3, 2, 2, 2, 6130, 6131, 7, 84, 2, 2, 6131, 6132, 7, 81, 2, 2, 6132, 6133, 7, 86, 2, 2, 6133, 6134, 7, 67, 2, 2, 6134, 6135, 7, 86, 2, 2, 6135, 6136, 7, 71, 2, 2, 6136, 958, 3, 2, 2, 2, 6137, 6138, 7, 84, 2, 2, 6138, 6139, 7, 81, 2, 2, 6139, 6140, 7, 89, 2, 2, 6140, 960, 3, 2, 2, 2, 6141, 6142, 7, 84, 2, 2, 6142, 6143, 7, 81, 2, 2, 6143, 6144, 7, 89, 2, 2, 6144, 6145, 7, 85, 2, 2, 6145, 962, 3, 2, 2, 2, 6146, 6147, 7, 84, 2, 2, 6147, 6148, 7, 81, 2, 2, 6148, 6149, 7, 89, 2, 2, 6149, 6150, 7, 97, 2, 2, 6150, 6151, 7, 72, 2, 2, 6151, 6152, 7, 81, 2, 2, 6152, 6153, 7, 84, 2, 2, 6153, 6154, 7, 79, 2, 2, 6154, 6155, 7, 67, 2, 2, 6155, 6156, 7, 86, 2, 2, 6156, 964, 3, 2, 2, 2, 6157, 6158, 7, 85, 2, 2, 6158, 6159, 7, 67, 2, 2, 6159, 6160, 7, 88, 2, 2, 6160, 6161, 7, 71, 2, 2, 6161, 6162, 7, 82, 2, 2, 6162, 6163, 7, 81, 2, 2, 6163, 6164, 7, 75, 2, 2, 6164, 6165, 7, 80, 2, 2, 6165, 6166, 7, 86, 2, 2, 6166, 966, 3, 2, 2, 2, 6167, 6168, 7, 85, 2, 2, 6168, 6169, 7, 69, 2, 2, 6169, 6170, 7, 74, 2, 2, 6170, 6171, 7, 71, 2, 2, 6171, 6172, 7, 70, 2, 2, 6172, 6173, 7, 87, 2, 2, 6173, 6174, 7, 78, 2, 2, 6174, 6175, 7, 71, 2, 2, 6175, 968, 3, 2, 2, 2, 6176, 6177, 7, 85, 2, 2, 6177, 6178, 7, 71, 2, 2, 6178, 6179, 7, 69, 2, 2, 6179, 6180, 7, 87, 2, 2, 6180, 6181, 7, 84, 2, 2, 6181, 6182, 7, 75, 2, 2, 6182, 6183, 7, 86, 2, 2, 6183, 6184, 7, 91, 2, 2, 6184, 970, 3, 2, 2, 2, 6185, 6186, 7, 85, 2, 2, 6186, 6187, 7, 71, 2, 2, 6187, 6188, 7, 84, 2, 2, 6188, 6189, 7, 88, 2, 2, 6189, 6190, 7, 71, 2, 2, 6190, 6191, 7, 84, 2, 2, 6191, 972, 3, 2, 2, 2, 6192, 6193, 7, 85, 2, 2, 6193, 6194, 7, 71, 2, 2, 6194, 6195, 7, 85, 2, 2, 6195, 6196, 7, 85, 2, 2, 6196, 6197, 7, 75, 2, 2, 6197, 6198, 7, 81, 2, 2, 6198, 6199, 7, 80, 2, 2, 6199, 974, 3, 2, 2, 2, 6200, 6201, 7, 85, 2, 2, 6201, 6202, 7, 74, 2, 2, 6202, 6203, 7, 67, 2, 2, 6203, 6204, 7, 84, 2, 2, 6204, 6205, 7, 71, 2, 2, 6205, 976, 3, 2, 2, 2, 6206, 6207, 7, 85, 2, 2, 6207, 6208, 7, 74, 2, 2, 6208, 6209, 7, 67, 2, 2, 6209, 6210, 7, 84, 2, 2, 6210, 6211, 7, 71, 2, 2, 6211, 6212, 7, 70, 2, 2, 6212, 978, 3, 2, 2, 2, 6213, 6214, 7, 85, 2, 2, 6214, 6215, 7, 75, 2, 2, 6215, 6216, 7, 73, 2, 2, 6216, 6217, 7, 80, 2, 2, 6217, 6218, 7, 71, 2, 2, 6218, 6219, 7, 70, 2, 2, 6219, 980, 3, 2, 2, 2, 6220, 6221, 7, 85, 2, 2, 6221, 6222, 7, 75, 2, 2, 6222, 6223, 7, 79, 2, 2, 6223, 6224, 7, 82, 2, 2, 6224, 6225, 7, 78, 2, 2, 6225, 6226, 7, 71, 2, 2, 6226, 982, 3, 2, 2, 2, 6227, 6228, 7, 85, 2, 2, 6228, 6229, 7, 78, 2, 2, 6229, 6230, 7, 67, 2, 2, 6230, 6231, 7, 88, 2, 2, 6231, 6232, 7, 71, 2, 2, 6232, 984, 3, 2, 2, 2, 6233, 6234, 7, 85, 2, 2, 6234, 6235, 7, 78, 2, 2, 6235, 6236, 7, 81, 2, 2, 6236, 6237, 7, 89, 2, 2, 6237, 986, 3, 2, 2, 2, 6238, 6239, 7, 85, 2, 2, 6239, 6240, 7, 80, 2, 2, 6240, 6241, 7, 67, 2, 2, 6241, 6242, 7, 82, 2, 2, 6242, 6243, 7, 85, 2, 2, 6243, 6244, 7, 74, 2, 2, 6244, 6245, 7, 81, 2, 2, 6245, 6246, 7, 86, 2, 2, 6246, 988, 3, 2, 2, 2, 6247, 6248, 7, 85, 2, 2, 6248, 6249, 7, 81, 2, 2, 6249, 6250, 7, 69, 2, 2, 6250, 6251, 7, 77, 2, 2, 6251, 6252, 7, 71, 2, 2, 6252, 6253, 7, 86, 2, 2, 6253, 990, 3, 2, 2, 2, 6254, 6255, 7, 85, 2, 2, 6255, 6256, 7, 81, 2, 2, 6256, 6257, 7, 79, 2, 2, 6257, 6258, 7, 71, 2, 2, 6258, 992, 3, 2, 2, 2, 6259, 6260, 7, 85, 2, 2, 6260, 6261, 7, 81, 2, 2, 6261, 6262, 7, 80, 2, 2, 6262, 6263, 7, 67, 2, 2, 6263, 6264, 7, 79, 2, 2, 6264, 6265, 7, 71, 2, 2, 6265, 994, 3, 2, 2, 2, 6266, 6267, 7, 85, 2, 2, 6267, 6268, 7, 81, 2, 2, 6268, 6269, 7, 87, 2, 2, 6269, 6270, 7, 80, 2, 2, 6270, 6271, 7, 70, 2, 2, 6271, 6272, 7, 85, 2, 2, 6272, 996, 3, 2, 2, 2, 6273, 6274, 7, 85, 2, 2, 6274, 6275, 7, 81, 2, 2, 6275, 6276, 7, 87, 2, 2, 6276, 6277, 7, 84, 2, 2, 6277, 6278, 7, 69, 2, 2, 6278, 6279, 7, 71, 2, 2, 6279, 998, 3, 2, 2, 2, 6280, 6281, 7, 85, 2, 2, 6281, 6282, 7, 83, 2, 2, 6282, 6283, 7, 78, 2, 2, 6283, 6284, 7, 97, 2, 2, 6284, 6285, 7, 67, 2, 2, 6285, 6286, 7, 72, 2, 2, 6286, 6287, 7, 86, 2, 2, 6287, 6288, 7, 71, 2, 2, 6288, 6289, 7, 84, 2, 2, 6289, 6290, 7, 97, 2, 2, 6290, 6291, 7, 73, 2, 2, 6291, 6292, 7, 86, 2, 2, 6292, 6293, 7, 75, 2, 2, 6293, 6294, 7, 70, 2, 2, 6294, 6295, 7, 85, 2, 2, 6295, 1000, 3, 2, 2, 2, 6296, 6297, 7, 85, 2, 2, 6297, 6298, 7, 83, 2, 2, 6298, 6299, 7, 78, 2, 2, 6299, 6300, 7, 97, 2, 2, 6300, 6301, 7, 67, 2, 2, 6301, 6302, 7, 72, 2, 2, 6302, 6303, 7, 86, 2, 2, 6303, 6304, 7, 71, 2, 2, 6304, 6305, 7, 84, 2, 2, 6305, 6306, 7, 97, 2, 2, 6306, 6307, 7, 79, 2, 2, 6307, 6308, 7, 86, 2, 2, 6308, 6309, 7, 85, 2, 2, 6309, 6310, 7, 97, 2, 2, 6310, 6311, 7, 73, 2, 2, 6311, 6312, 7, 67, 2, 2, 6312, 6313, 7, 82, 2, 2, 6313, 6314, 7, 85, 2, 2, 6314, 1002, 3, 2, 2, 2, 6315, 6316, 7, 85, 2, 2, 6316, 6317, 7, 83, 2, 2, 6317, 6318, 7, 78, 2, 2, 6318, 6319, 7, 97, 2, 2, 6319, 6320, 7, 68, 2, 2, 6320, 6321, 7, 71, 2, 2, 6321, 6322, 7, 72, 2, 2, 6322, 6323, 7, 81, 2, 2, 6323, 6324, 7, 84, 2, 2, 6324, 6325, 7, 71, 2, 2, 6325, 6326, 7, 97, 2, 2, 6326, 6327, 7, 73, 2, 2, 6327, 6328, 7, 86, 2, 2, 6328, 6329, 7, 75, 2, 2, 6329, 6330, 7, 70, 2, 2, 6330, 6331, 7, 85, 2, 2, 6331, 1004, 3, 2, 2, 2, 6332, 6333, 7, 85, 2, 2, 6333, 6334, 7, 83, 2, 2, 6334, 6335, 7, 78, 2, 2, 6335, 6336, 7, 97, 2, 2, 6336, 6337, 7, 68, 2, 2, 6337, 6338, 7, 87, 2, 2, 6338, 6339, 7, 72, 2, 2, 6339, 6340, 7, 72, 2, 2, 6340, 6341, 7, 71, 2, 2, 6341, 6342, 7, 84, 2, 2, 6342, 6343, 7, 97, 2, 2, 6343, 6344, 7, 84, 2, 2, 6344, 6345, 7, 71, 2, 2, 6345, 6346, 7, 85, 2, 2, 6346, 6347, 7, 87, 2, 2, 6347, 6348, 7, 78, 2, 2, 6348, 6349, 7, 86, 2, 2, 6349, 1006, 3, 2, 2, 2, 6350, 6351, 7, 85, 2, 2, 6351, 6352, 7, 83, 2, 2, 6352, 6353, 7, 78, 2, 2, 6353, 6354, 7, 97, 2, 2, 6354, 6355, 7, 69, 2, 2, 6355, 6356, 7, 67, 2, 2, 6356, 6357, 7, 69, 2, 2, 6357, 6358, 7, 74, 2, 2, 6358, 6359, 7, 71, 2, 2, 6359, 1008, 3, 2, 2, 2, 6360, 6361, 7, 85, 2, 2, 6361, 6362, 7, 83, 2, 2, 6362, 6363, 7, 78, 2, 2, 6363, 6364, 7, 97, 2, 2, 6364, 6365, 7, 80, 2, 2, 6365, 6366, 7, 81, 2, 2, 6366, 6367, 7, 97, 2, 2, 6367, 6368, 7, 69, 2, 2, 6368, 6369, 7, 67, 2, 2, 6369, 6370, 7, 69, 2, 2, 6370, 6371, 7, 74, 2, 2, 6371, 6372, 7, 71, 2, 2, 6372, 1010, 3, 2, 2, 2, 6373, 6374, 7, 85, 2, 2, 6374, 6375, 7, 83, 2, 2, 6375, 6376, 7, 78, 2, 2, 6376, 6377, 7, 97, 2, 2, 6377, 6378, 7, 86, 2, 2, 6378, 6379, 7, 74, 2, 2, 6379, 6380, 7, 84, 2, 2, 6380, 6381, 7, 71, 2, 2, 6381, 6382, 7, 67, 2, 2, 6382, 6383, 7, 70, 2, 2, 6383, 1012, 3, 2, 2, 2, 6384, 6385, 7, 85, 2, 2, 6385, 6386, 7, 86, 2, 2, 6386, 6387, 7, 67, 2, 2, 6387, 6388, 7, 84, 2, 2, 6388, 6389, 7, 86, 2, 2, 6389, 1014, 3, 2, 2, 2, 6390, 6391, 7, 85, 2, 2, 6391, 6392, 7, 86, 2, 2, 6392, 6393, 7, 67, 2, 2, 6393, 6394, 7, 84, 2, 2, 6394, 6395, 7, 86, 2, 2, 6395, 6396, 7, 85, 2, 2, 6396, 1016, 3, 2, 2, 2, 6397, 6398, 7, 85, 2, 2, 6398, 6399, 7, 86, 2, 2, 6399, 6400, 7, 67, 2, 2, 6400, 6401, 7, 86, 2, 2, 6401, 6402, 7, 85, 2, 2, 6402, 6403, 7, 97, 2, 2, 6403, 6404, 7, 67, 2, 2, 6404, 6405, 7, 87, 2, 2, 6405, 6406, 7, 86, 2, 2, 6406, 6407, 7, 81, 2, 2, 6407, 6408, 7, 97, 2, 2, 6408, 6409, 7, 84, 2, 2, 6409, 6410, 7, 71, 2, 2, 6410, 6411, 7, 69, 2, 2, 6411, 6412, 7, 67, 2, 2, 6412, 6413, 7, 78, 2, 2, 6413, 6414, 7, 69, 2, 2, 6414, 1018, 3, 2, 2, 2, 6415, 6416, 7, 85, 2, 2, 6416, 6417, 7, 86, 2, 2, 6417, 6418, 7, 67, 2, 2, 6418, 6419, 7, 86, 2, 2, 6419, 6420, 7, 85, 2, 2, 6420, 6421, 7, 97, 2, 2, 6421, 6422, 7, 82, 2, 2, 6422, 6423, 7, 71, 2, 2, 6423, 6424, 7, 84, 2, 2, 6424, 6425, 7, 85, 2, 2, 6425, 6426, 7, 75, 2, 2, 6426, 6427, 7, 85, 2, 2, 6427, 6428, 7, 86, 2, 2, 6428, 6429, 7, 71, 2, 2, 6429, 6430, 7, 80, 2, 2, 6430, 6431, 7, 86, 2, 2, 6431, 1020, 3, 2, 2, 2, 6432, 6433, 7, 85, 2, 2, 6433, 6434, 7, 86, 2, 2, 6434, 6435, 7, 67, 2, 2, 6435, 6436, 7, 86, 2, 2, 6436, 6437, 7, 85, 2, 2, 6437, 6438, 7, 97, 2, 2, 6438, 6439, 7, 85, 2, 2, 6439, 6440, 7, 67, 2, 2, 6440, 6441, 7, 79, 2, 2, 6441, 6442, 7, 82, 2, 2, 6442, 6443, 7, 78, 2, 2, 6443, 6444, 7, 71, 2, 2, 6444, 6445, 7, 97, 2, 2, 6445, 6446, 7, 82, 2, 2, 6446, 6447, 7, 67, 2, 2, 6447, 6448, 7, 73, 2, 2, 6448, 6449, 7, 71, 2, 2, 6449, 6450, 7, 85, 2, 2, 6450, 1022, 3, 2, 2, 2, 6451, 6452, 7, 85, 2, 2, 6452, 6453, 7, 86, 2, 2, 6453, 6454, 7, 67, 2, 2, 6454, 6455, 7, 86, 2, 2, 6455, 6456, 7, 87, 2, 2, 6456, 6457, 7, 85, 2, 2, 6457, 1024, 3, 2, 2, 2, 6458, 6459, 7, 85, 2, 2, 6459, 6460, 7, 86, 2, 2, 6460, 6461, 7, 81, 2, 2, 6461, 6462, 7, 82, 2, 2, 6462, 1026, 3, 2, 2, 2, 6463, 6464, 7, 85, 2, 2, 6464, 6465, 7, 86, 2, 2, 6465, 6466, 7, 81, 2, 2, 6466, 6467, 7, 84, 2, 2, 6467, 6468, 7, 67, 2, 2, 6468, 6469, 7, 73, 2, 2, 6469, 6470, 7, 71, 2, 2, 6470, 1028, 3, 2, 2, 2, 6471, 6472, 7, 85, 2, 2, 6472, 6473, 7, 86, 2, 2, 6473, 6474, 7, 81, 2, 2, 6474, 6475, 7, 84, 2, 2, 6475, 6476, 7, 71, 2, 2, 6476, 6477, 7, 70, 2, 2, 6477, 1030, 3, 2, 2, 2, 6478, 6479, 7, 85, 2, 2, 6479, 6480, 7, 86, 2, 2, 6480, 6481, 7, 84, 2, 2, 6481, 6482, 7, 75, 2, 2, 6482, 6483, 7, 80, 2, 2, 6483, 6484, 7, 73, 2, 2, 6484, 1032, 3, 2, 2, 2, 6485, 6486, 7, 85, 2, 2, 6486, 6487, 7, 87, 2, 2, 6487, 6488, 7, 68, 2, 2, 6488, 6489, 7, 76, 2, 2, 6489, 6490, 7, 71, 2, 2, 6490, 6491, 7, 69, 2, 2, 6491, 6492, 7, 86, 2, 2, 6492, 1034, 3, 2, 2, 2, 6493, 6494, 7, 85, 2, 2, 6494, 6495, 7, 87, 2, 2, 6495, 6496, 7, 68, 2, 2, 6496, 6497, 7, 82, 2, 2, 6497, 6498, 7, 67, 2, 2, 6498, 6499, 7, 84, 2, 2, 6499, 6500, 7, 86, 2, 2, 6500, 6501, 7, 75, 2, 2, 6501, 6502, 7, 86, 2, 2, 6502, 6503, 7, 75, 2, 2, 6503, 6504, 7, 81, 2, 2, 6504, 6505, 7, 80, 2, 2, 6505, 1036, 3, 2, 2, 2, 6506, 6507, 7, 85, 2, 2, 6507, 6508, 7, 87, 2, 2, 6508, 6509, 7, 68, 2, 2, 6509, 6510, 7, 82, 2, 2, 6510, 6511, 7, 67, 2, 2, 6511, 6512, 7, 84, 2, 2, 6512, 6513, 7, 86, 2, 2, 6513, 6514, 7, 75, 2, 2, 6514, 6515, 7, 86, 2, 2, 6515, 6516, 7, 75, 2, 2, 6516, 6517, 7, 81, 2, 2, 6517, 6518, 7, 80, 2, 2, 6518, 6519, 7, 85, 2, 2, 6519, 1038, 3, 2, 2, 2, 6520, 6521, 7, 85, 2, 2, 6521, 6522, 7, 87, 2, 2, 6522, 6523, 7, 85, 2, 2, 6523, 6524, 7, 82, 2, 2, 6524, 6525, 7, 71, 2, 2, 6525, 6526, 7, 80, 2, 2, 6526, 6527, 7, 70, 2, 2, 6527, 1040, 3, 2, 2, 2, 6528, 6529, 7, 85, 2, 2, 6529, 6530, 7, 89, 2, 2, 6530, 6531, 7, 67, 2, 2, 6531, 6532, 7, 82, 2, 2, 6532, 6533, 7, 85, 2, 2, 6533, 1042, 3, 2, 2, 2, 6534, 6535, 7, 85, 2, 2, 6535, 6536, 7, 89, 2, 2, 6536, 6537, 7, 75, 2, 2, 6537, 6538, 7, 86, 2, 2, 6538, 6539, 7, 69, 2, 2, 6539, 6540, 7, 74, 2, 2, 6540, 6541, 7, 71, 2, 2, 6541, 6542, 7, 85, 2, 2, 6542, 1044, 3, 2, 2, 2, 6543, 6544, 7, 86, 2, 2, 6544, 6545, 7, 67, 2, 2, 6545, 6546, 7, 68, 2, 2, 6546, 6547, 7, 78, 2, 2, 6547, 6548, 7, 71, 2, 2, 6548, 6549, 7, 85, 2, 2, 6549, 6550, 7, 82, 2, 2, 6550, 6551, 7, 67, 2, 2, 6551, 6552, 7, 69, 2, 2, 6552, 6553, 7, 71, 2, 2, 6553, 1046, 3, 2, 2, 2, 6554, 6555, 7, 86, 2, 2, 6555, 6556, 7, 71, 2, 2, 6556, 6557, 7, 79, 2, 2, 6557, 6558, 7, 82, 2, 2, 6558, 6559, 7, 81, 2, 2, 6559, 6560, 7, 84, 2, 2, 6560, 6561, 7, 67, 2, 2, 6561, 6562, 7, 84, 2, 2, 6562, 6563, 7, 91, 2, 2, 6563, 1048, 3, 2, 2, 2, 6564, 6565, 7, 86, 2, 2, 6565, 6566, 7, 71, 2, 2, 6566, 6567, 7, 79, 2, 2, 6567, 6568, 7, 82, 2, 2, 6568, 6569, 7, 86, 2, 2, 6569, 6570, 7, 67, 2, 2, 6570, 6571, 7, 68, 2, 2, 6571, 6572, 7, 78, 2, 2, 6572, 6573, 7, 71, 2, 2, 6573, 1050, 3, 2, 2, 2, 6574, 6575, 7, 86, 2, 2, 6575, 6576, 7, 74, 2, 2, 6576, 6577, 7, 67, 2, 2, 6577, 6578, 7, 80, 2, 2, 6578, 1052, 3, 2, 2, 2, 6579, 6580, 7, 86, 2, 2, 6580, 6581, 7, 84, 2, 2, 6581, 6582, 7, 67, 2, 2, 6582, 6583, 7, 70, 2, 2, 6583, 6584, 7, 75, 2, 2, 6584, 6585, 7, 86, 2, 2, 6585, 6586, 7, 75, 2, 2, 6586, 6587, 7, 81, 2, 2, 6587, 6588, 7, 80, 2, 2, 6588, 6589, 7, 67, 2, 2, 6589, 6590, 7, 78, 2, 2, 6590, 1054, 3, 2, 2, 2, 6591, 6592, 7, 86, 2, 2, 6592, 6593, 7, 84, 2, 2, 6593, 6594, 7, 67, 2, 2, 6594, 6595, 7, 80, 2, 2, 6595, 6596, 7, 85, 2, 2, 6596, 6597, 7, 67, 2, 2, 6597, 6598, 7, 69, 2, 2, 6598, 6599, 7, 86, 2, 2, 6599, 6600, 7, 75, 2, 2, 6600, 6601, 7, 81, 2, 2, 6601, 6602, 7, 80, 2, 2, 6602, 1056, 3, 2, 2, 2, 6603, 6604, 7, 86, 2, 2, 6604, 6605, 7, 84, 2, 2, 6605, 6606, 7, 75, 2, 2, 6606, 6607, 7, 73, 2, 2, 6607, 6608, 7, 73, 2, 2, 6608, 6609, 7, 71, 2, 2, 6609, 6610, 7, 84, 2, 2, 6610, 6611, 7, 85, 2, 2, 6611, 1058, 3, 2, 2, 2, 6612, 6613, 7, 86, 2, 2, 6613, 6614, 7, 84, 2, 2, 6614, 6615, 7, 87, 2, 2, 6615, 6616, 7, 80, 2, 2, 6616, 6617, 7, 69, 2, 2, 6617, 6618, 7, 67, 2, 2, 6618, 6619, 7, 86, 2, 2, 6619, 6620, 7, 71, 2, 2, 6620, 1060, 3, 2, 2, 2, 6621, 6622, 7, 87, 2, 2, 6622, 6623, 7, 80, 2, 2, 6623, 6624, 7, 70, 2, 2, 6624, 6625, 7, 71, 2, 2, 6625, 6626, 7, 72, 2, 2, 6626, 6627, 7, 75, 2, 2, 6627, 6628, 7, 80, 2, 2, 6628, 6629, 7, 71, 2, 2, 6629, 6630, 7, 70, 2, 2, 6630, 1062, 3, 2, 2, 2, 6631, 6632, 7, 87, 2, 2, 6632, 6633, 7, 80, 2, 2, 6633, 6634, 7, 70, 2, 2, 6634, 6635, 7, 81, 2, 2, 6635, 6636, 7, 72, 2, 2, 6636, 6637, 7, 75, 2, 2, 6637, 6638, 7, 78, 2, 2, 6638, 6639, 7, 71, 2, 2, 6639, 1064, 3, 2, 2, 2, 6640, 6641, 7, 87, 2, 2, 6641, 6642, 7, 80, 2, 2, 6642, 6643, 7, 70, 2, 2, 6643, 6644, 7, 81, 2, 2, 6644, 6645, 7, 97, 2, 2, 6645, 6646, 7, 68, 2, 2, 6646, 6647, 7, 87, 2, 2, 6647, 6648, 7, 72, 2, 2, 6648, 6649, 7, 72, 2, 2, 6649, 6650, 7, 71, 2, 2, 6650, 6651, 7, 84, 2, 2, 6651, 6652, 7, 97, 2, 2, 6652, 6653, 7, 85, 2, 2, 6653, 6654, 7, 75, 2, 2, 6654, 6655, 7, 92, 2, 2, 6655, 6656, 7, 71, 2, 2, 6656, 1066, 3, 2, 2, 2, 6657, 6658, 7, 87, 2, 2, 6658, 6659, 7, 80, 2, 2, 6659, 6660, 7, 75, 2, 2, 6660, 6661, 7, 80, 2, 2, 6661, 6662, 7, 85, 2, 2, 6662, 6663, 7, 86, 2, 2, 6663, 6664, 7, 67, 2, 2, 6664, 6665, 7, 78, 2, 2, 6665, 6666, 7, 78, 2, 2, 6666, 1068, 3, 2, 2, 2, 6667, 6668, 7, 87, 2, 2, 6668, 6669, 7, 80, 2, 2, 6669, 6670, 7, 77, 2, 2, 6670, 6671, 7, 80, 2, 2, 6671, 6672, 7, 81, 2, 2, 6672, 6673, 7, 89, 2, 2, 6673, 6674, 7, 80, 2, 2, 6674, 1070, 3, 2, 2, 2, 6675, 6676, 7, 87, 2, 2, 6676, 6677, 7, 80, 2, 2, 6677, 6678, 7, 86, 2, 2, 6678, 6679, 7, 75, 2, 2, 6679, 6680, 7, 78, 2, 2, 6680, 1072, 3, 2, 2, 2, 6681, 6682, 7, 87, 2, 2, 6682, 6683, 7, 82, 2, 2, 6683, 6684, 7, 73, 2, 2, 6684, 6685, 7, 84, 2, 2, 6685, 6686, 7, 67, 2, 2, 6686, 6687, 7, 70, 2, 2, 6687, 6688, 7, 71, 2, 2, 6688, 1074, 3, 2, 2, 2, 6689, 6690, 7, 87, 2, 2, 6690, 6691, 7, 85, 2, 2, 6691, 6692, 7, 71, 2, 2, 6692, 6693, 7, 84, 2, 2, 6693, 1076, 3, 2, 2, 2, 6694, 6695, 7, 87, 2, 2, 6695, 6696, 7, 85, 2, 2, 6696, 6697, 7, 71, 2, 2, 6697, 6698, 7, 97, 2, 2, 6698, 6699, 7, 72, 2, 2, 6699, 6700, 7, 84, 2, 2, 6700, 6701, 7, 79, 2, 2, 6701, 1078, 3, 2, 2, 2, 6702, 6703, 7, 87, 2, 2, 6703, 6704, 7, 85, 2, 2, 6704, 6705, 7, 71, 2, 2, 6705, 6706, 7, 84, 2, 2, 6706, 6707, 7, 97, 2, 2, 6707, 6708, 7, 84, 2, 2, 6708, 6709, 7, 71, 2, 2, 6709, 6710, 7, 85, 2, 2, 6710, 6711, 7, 81, 2, 2, 6711, 6712, 7, 87, 2, 2, 6712, 6713, 7, 84, 2, 2, 6713, 6714, 7, 69, 2, 2, 6714, 6715, 7, 71, 2, 2, 6715, 6716, 7, 85, 2, 2, 6716, 1080, 3, 2, 2, 2, 6717, 6718, 7, 88, 2, 2, 6718, 6719, 7, 67, 2, 2, 6719, 6720, 7, 78, 2, 2, 6720, 6721, 7, 75, 2, 2, 6721, 6722, 7, 70, 2, 2, 6722, 6723, 7, 67, 2, 2, 6723, 6724, 7, 86, 2, 2, 6724, 6725, 7, 75, 2, 2, 6725, 6726, 7, 81, 2, 2, 6726, 6727, 7, 80, 2, 2, 6727, 1082, 3, 2, 2, 2, 6728, 6729, 7, 88, 2, 2, 6729, 6730, 7, 67, 2, 2, 6730, 6731, 7, 78, 2, 2, 6731, 6732, 7, 87, 2, 2, 6732, 6733, 7, 71, 2, 2, 6733, 1084, 3, 2, 2, 2, 6734, 6735, 7, 88, 2, 2, 6735, 6736, 7, 67, 2, 2, 6736, 6737, 7, 84, 2, 2, 6737, 6738, 7, 75, 2, 2, 6738, 6739, 7, 67, 2, 2, 6739, 6740, 7, 68, 2, 2, 6740, 6741, 7, 78, 2, 2, 6741, 6742, 7, 71, 2, 2, 6742, 6743, 7, 85, 2, 2, 6743, 1086, 3, 2, 2, 2, 6744, 6745, 7, 88, 2, 2, 6745, 6746, 7, 75, 2, 2, 6746, 6747, 7, 71, 2, 2, 6747, 6748, 7, 89, 2, 2, 6748, 1088, 3, 2, 2, 2, 6749, 6750, 7, 88, 2, 2, 6750, 6751, 7, 75, 2, 2, 6751, 6752, 7, 84, 2, 2, 6752, 6753, 7, 86, 2, 2, 6753, 6754, 7, 87, 2, 2, 6754, 6755, 7, 67, 2, 2, 6755, 6756, 7, 78, 2, 2, 6756, 1090, 3, 2, 2, 2, 6757, 6758, 7, 89, 2, 2, 6758, 6759, 7, 67, 2, 2, 6759, 6760, 7, 75, 2, 2, 6760, 6761, 7, 86, 2, 2, 6761, 1092, 3, 2, 2, 2, 6762, 6763, 7, 89, 2, 2, 6763, 6764, 7, 67, 2, 2, 6764, 6765, 7, 84, 2, 2, 6765, 6766, 7, 80, 2, 2, 6766, 6767, 7, 75, 2, 2, 6767, 6768, 7, 80, 2, 2, 6768, 6769, 7, 73, 2, 2, 6769, 6770, 7, 85, 2, 2, 6770, 1094, 3, 2, 2, 2, 6771, 6772, 7, 89, 2, 2, 6772, 6773, 7, 75, 2, 2, 6773, 6774, 7, 86, 2, 2, 6774, 6775, 7, 74, 2, 2, 6775, 6776, 7, 81, 2, 2, 6776, 6777, 7, 87, 2, 2, 6777, 6778, 7, 86, 2, 2, 6778, 1096, 3, 2, 2, 2, 6779, 6780, 7, 89, 2, 2, 6780, 6781, 7, 81, 2, 2, 6781, 6782, 7, 84, 2, 2, 6782, 6783, 7, 77, 2, 2, 6783, 1098, 3, 2, 2, 2, 6784, 6785, 7, 89, 2, 2, 6785, 6786, 7, 84, 2, 2, 6786, 6787, 7, 67, 2, 2, 6787, 6788, 7, 82, 2, 2, 6788, 6789, 7, 82, 2, 2, 6789, 6790, 7, 71, 2, 2, 6790, 6791, 7, 84, 2, 2, 6791, 1100, 3, 2, 2, 2, 6792, 6793, 7, 90, 2, 2, 6793, 6794, 7, 55, 2, 2, 6794, 6795, 7, 50, 2, 2, 6795, 6796, 7, 59, 2, 2, 6796, 1102, 3, 2, 2, 2, 6797, 6798, 7, 90, 2, 2, 6798, 6799, 7, 67, 2, 2, 6799, 1104, 3, 2, 2, 2, 6800, 6801, 7, 90, 2, 2, 6801, 6802, 7, 79, 2, 2, 6802, 6803, 7, 78, 2, 2, 6803, 1106, 3, 2, 2, 2, 6804, 6805, 7, 71, 2, 2, 6805, 6806, 7, 87, 2, 2, 6806, 6807, 7, 84, 2, 2, 6807, 1108, 3, 2, 2, 2, 6808, 6809, 7, 87, 2, 2, 6809, 6810, 7, 85, 2, 2, 6810, 6811, 7, 67, 2, 2, 6811, 1110, 3, 2, 2, 2, 6812, 6813, 7, 76, 2, 2, 6813, 6814, 7, 75, 2, 2, 6814, 6815, 7, 85, 2, 2, 6815, 1112, 3, 2, 2, 2, 6816, 6817, 7, 75, 2, 2, 6817, 6818, 7, 85, 2, 2, 6818, 6819, 7, 81, 2, 2, 6819, 1114, 3, 2, 2, 2, 6820, 6821, 7, 75, 2, 2, 6821, 6822, 7, 80, 2, 2, 6822, 6823, 7, 86, 2, 2, 6823, 6824, 7, 71, 2, 2, 6824, 6825, 7, 84, 2, 2, 6825, 6826, 7, 80, 2, 2, 6826, 6827, 7, 67, 2, 2, 6827, 6828, 7, 78, 2, 2, 6828, 1116, 3, 2, 2, 2, 6829, 6830, 7, 83, 2, 2, 6830, 6831, 7, 87, 2, 2, 6831, 6832, 7, 67, 2, 2, 6832, 6833, 7, 84, 2, 2, 6833, 6834, 7, 86, 2, 2, 6834, 6835, 7, 71, 2, 2, 6835, 6836, 7, 84, 2, 2, 6836, 1118, 3, 2, 2, 2, 6837, 6838, 7, 79, 2, 2, 6838, 6839, 7, 81, 2, 2, 6839, 6840, 7, 80, 2, 2, 6840, 6841, 7, 86, 2, 2, 6841, 6842, 7, 74, 2, 2, 6842, 1120, 3, 2, 2, 2, 6843, 6844, 7, 70, 2, 2, 6844, 6845, 7, 67, 2, 2, 6845, 6846, 7, 91, 2, 2, 6846, 1122, 3, 2, 2, 2, 6847, 6848, 7, 74, 2, 2, 6848, 6849, 7, 81, 2, 2, 6849, 6850, 7, 87, 2, 2, 6850, 6851, 7, 84, 2, 2, 6851, 1124, 3, 2, 2, 2, 6852, 6853, 7, 79, 2, 2, 6853, 6854, 7, 75, 2, 2, 6854, 6855, 7, 80, 2, 2, 6855, 6856, 7, 87, 2, 2, 6856, 6857, 7, 86, 2, 2, 6857, 6858, 7, 71, 2, 2, 6858, 1126, 3, 2, 2, 2, 6859, 6860, 7, 89, 2, 2, 6860, 6861, 7, 71, 2, 2, 6861, 6862, 7, 71, 2, 2, 6862, 6863, 7, 77, 2, 2, 6863, 1128, 3, 2, 2, 2, 6864, 6865, 7, 85, 2, 2, 6865, 6866, 7, 71, 2, 2, 6866, 6867, 7, 69, 2, 2, 6867, 6868, 7, 81, 2, 2, 6868, 6869, 7, 80, 2, 2, 6869, 6870, 7, 70, 2, 2, 6870, 1130, 3, 2, 2, 2, 6871, 6872, 7, 79, 2, 2, 6872, 6873, 7, 75, 2, 2, 6873, 6874, 7, 69, 2, 2, 6874, 6875, 7, 84, 2, 2, 6875, 6876, 7, 81, 2, 2, 6876, 6877, 7, 85, 2, 2, 6877, 6878, 7, 71, 2, 2, 6878, 6879, 7, 69, 2, 2, 6879, 6880, 7, 81, 2, 2, 6880, 6881, 7, 80, 2, 2, 6881, 6882, 7, 70, 2, 2, 6882, 1132, 3, 2, 2, 2, 6883, 6884, 7, 86, 2, 2, 6884, 6885, 7, 67, 2, 2, 6885, 6886, 7, 68, 2, 2, 6886, 6887, 7, 78, 2, 2, 6887, 6888, 7, 71, 2, 2, 6888, 6889, 7, 85, 2, 2, 6889, 1134, 3, 2, 2, 2, 6890, 6891, 7, 84, 2, 2, 6891, 6892, 7, 81, 2, 2, 6892, 6893, 7, 87, 2, 2, 6893, 6894, 7, 86, 2, 2, 6894, 6895, 7, 75, 2, 2, 6895, 6896, 7, 80, 2, 2, 6896, 6897, 7, 71, 2, 2, 6897, 1136, 3, 2, 2, 2, 6898, 6899, 7, 71, 2, 2, 6899, 6900, 7, 90, 2, 2, 6900, 6901, 7, 71, 2, 2, 6901, 6902, 7, 69, 2, 2, 6902, 6903, 7, 87, 2, 2, 6903, 6904, 7, 86, 2, 2, 6904, 6905, 7, 71, 2, 2, 6905, 1138, 3, 2, 2, 2, 6906, 6907, 7, 72, 2, 2, 6907, 6908, 7, 75, 2, 2, 6908, 6909, 7, 78, 2, 2, 6909, 6910, 7, 71, 2, 2, 6910, 1140, 3, 2, 2, 2, 6911, 6912, 7, 82, 2, 2, 6912, 6913, 7, 84, 2, 2, 6913, 6914, 7, 81, 2, 2, 6914, 6915, 7, 69, 2, 2, 6915, 6916, 7, 71, 2, 2, 6916, 6917, 7, 85, 2, 2, 6917, 6918, 7, 85, 2, 2, 6918, 1142, 3, 2, 2, 2, 6919, 6920, 7, 84, 2, 2, 6920, 6921, 7, 71, 2, 2, 6921, 6922, 7, 78, 2, 2, 6922, 6923, 7, 81, 2, 2, 6923, 6924, 7, 67, 2, 2, 6924, 6925, 7, 70, 2, 2, 6925, 1144, 3, 2, 2, 2, 6926, 6927, 7, 85, 2, 2, 6927, 6928, 7, 74, 2, 2, 6928, 6929, 7, 87, 2, 2, 6929, 6930, 7, 86, 2, 2, 6930, 6931, 7, 70, 2, 2, 6931, 6932, 7, 81, 2, 2, 6932, 6933, 7, 89, 2, 2, 6933, 6934, 7, 80, 2, 2, 6934, 1146, 3, 2, 2, 2, 6935, 6936, 7, 85, 2, 2, 6936, 6937, 7, 87, 2, 2, 6937, 6938, 7, 82, 2, 2, 6938, 6939, 7, 71, 2, 2, 6939, 6940, 7, 84, 2, 2, 6940, 1148, 3, 2, 2, 2, 6941, 6942, 7, 82, 2, 2, 6942, 6943, 7, 84, 2, 2, 6943, 6944, 7, 75, 2, 2, 6944, 6945, 7, 88, 2, 2, 6945, 6946, 7, 75, 2, 2, 6946, 6947, 7, 78, 2, 2, 6947, 6948, 7, 71, 2, 2, 6948, 6949, 7, 73, 2, 2, 6949, 6950, 7, 71, 2, 2, 6950, 6951, 7, 85, 2, 2, 6951, 1150, 3, 2, 2, 2, 6952, 6953, 7, 67, 2, 2, 6953, 6954, 7, 84, 2, 2, 6954, 6955, 7, 79, 2, 2, 6955, 6956, 7, 85, 2, 2, 6956, 6957, 7, 69, 2, 2, 6957, 6958, 7, 75, 2, 2, 6958, 6959, 7, 75, 2, 2, 6959, 6960, 7, 58, 2, 2, 6960, 1152, 3, 2, 2, 2, 6961, 6962, 7, 67, 2, 2, 6962, 6963, 7, 85, 2, 2, 6963, 6964, 7, 69, 2, 2, 6964, 6965, 7, 75, 2, 2, 6965, 6966, 7, 75, 2, 2, 6966, 1154, 3, 2, 2, 2, 6967, 6968, 7, 68, 2, 2, 6968, 6969, 7, 75, 2, 2, 6969, 6970, 7, 73, 2, 2, 6970, 6971, 7, 55, 2, 2, 6971, 1156, 3, 2, 2, 2, 6972, 6973, 7, 69, 2, 2, 6973, 6974, 7, 82, 2, 2, 6974, 6975, 7, 51, 2, 2, 6975, 6976, 7, 52, 2, 2, 6976, 6977, 7, 55, 2, 2, 6977, 6978, 7, 50, 2, 2, 6978, 1158, 3, 2, 2, 2, 6979, 6980, 7, 69, 2, 2, 6980, 6981, 7, 82, 2, 2, 6981, 6982, 7, 51, 2, 2, 6982, 6983, 7, 52, 2, 2, 6983, 6984, 7, 55, 2, 2, 6984, 6985, 7, 51, 2, 2, 6985, 1160, 3, 2, 2, 2, 6986, 6987, 7, 69, 2, 2, 6987, 6988, 7, 82, 2, 2, 6988, 6989, 7, 51, 2, 2, 6989, 6990, 7, 52, 2, 2, 6990, 6991, 7, 55, 2, 2, 6991, 6992, 7, 56, 2, 2, 6992, 1162, 3, 2, 2, 2, 6993, 6994, 7, 69, 2, 2, 6994, 6995, 7, 82, 2, 2, 6995, 6996, 7, 51, 2, 2, 6996, 6997, 7, 52, 2, 2, 6997, 6998, 7, 55, 2, 2, 6998, 6999, 7, 57, 2, 2, 6999, 1164, 3, 2, 2, 2, 7000, 7001, 7, 69, 2, 2, 7001, 7002, 7, 82, 2, 2, 7002, 7003, 7, 58, 2, 2, 7003, 7004, 7, 55, 2, 2, 7004, 7005, 7, 50, 2, 2, 7005, 1166, 3, 2, 2, 2, 7006, 7007, 7, 69, 2, 2, 7007, 7008, 7, 82, 2, 2, 7008, 7009, 7, 58, 2, 2, 7009, 7010, 7, 55, 2, 2, 7010, 7011, 7, 52, 2, 2, 7011, 1168, 3, 2, 2, 2, 7012, 7013, 7, 69, 2, 2, 7013, 7014, 7, 82, 2, 2, 7014, 7015, 7, 58, 2, 2, 7015, 7016, 7, 56, 2, 2, 7016, 7017, 7, 56, 2, 2, 7017, 1170, 3, 2, 2, 2, 7018, 7019, 7, 69, 2, 2, 7019, 7020, 7, 82, 2, 2, 7020, 7021, 7, 59, 2, 2, 7021, 7022, 7, 53, 2, 2, 7022, 7023, 7, 52, 2, 2, 7023, 1172, 3, 2, 2, 2, 7024, 7025, 7, 70, 2, 2, 7025, 7026, 7, 71, 2, 2, 7026, 7027, 7, 69, 2, 2, 7027, 7028, 7, 58, 2, 2, 7028, 1174, 3, 2, 2, 2, 7029, 7030, 7, 71, 2, 2, 7030, 7031, 7, 87, 2, 2, 7031, 7032, 7, 69, 2, 2, 7032, 7033, 7, 76, 2, 2, 7033, 7034, 7, 82, 2, 2, 7034, 7035, 7, 79, 2, 2, 7035, 7036, 7, 85, 2, 2, 7036, 1176, 3, 2, 2, 2, 7037, 7038, 7, 71, 2, 2, 7038, 7039, 7, 87, 2, 2, 7039, 7040, 7, 69, 2, 2, 7040, 7041, 7, 77, 2, 2, 7041, 7042, 7, 84, 2, 2, 7042, 1178, 3, 2, 2, 2, 7043, 7044, 7, 73, 2, 2, 7044, 7045, 7, 68, 2, 2, 7045, 7046, 7, 52, 2, 2, 7046, 7047, 7, 53, 2, 2, 7047, 7048, 7, 51, 2, 2, 7048, 7049, 7, 52, 2, 2, 7049, 1180, 3, 2, 2, 2, 7050, 7051, 7, 73, 2, 2, 7051, 7052, 7, 68, 2, 2, 7052, 7053, 7, 77, 2, 2, 7053, 1182, 3, 2, 2, 2, 7054, 7055, 7, 73, 2, 2, 7055, 7056, 7, 71, 2, 2, 7056, 7057, 7, 81, 2, 2, 7057, 7058, 7, 85, 2, 2, 7058, 7059, 7, 86, 2, 2, 7059, 7060, 7, 70, 2, 2, 7060, 7061, 7, 58, 2, 2, 7061, 1184, 3, 2, 2, 2, 7062, 7063, 7, 73, 2, 2, 7063, 7064, 7, 84, 2, 2, 7064, 7065, 7, 71, 2, 2, 7065, 7066, 7, 71, 2, 2, 7066, 7067, 7, 77, 2, 2, 7067, 1186, 3, 2, 2, 2, 7068, 7069, 7, 74, 2, 2, 7069, 7070, 7, 71, 2, 2, 7070, 7071, 7, 68, 2, 2, 7071, 7072, 7, 84, 2, 2, 7072, 7073, 7, 71, 2, 2, 7073, 7074, 7, 89, 2, 2, 7074, 1188, 3, 2, 2, 2, 7075, 7076, 7, 74, 2, 2, 7076, 7077, 7, 82, 2, 2, 7077, 7078, 7, 58, 2, 2, 7078, 1190, 3, 2, 2, 2, 7079, 7080, 7, 77, 2, 2, 7080, 7081, 7, 71, 2, 2, 7081, 7082, 7, 91, 2, 2, 7082, 7083, 7, 68, 2, 2, 7083, 7084, 7, 69, 2, 2, 7084, 7085, 7, 85, 2, 2, 7085, 7086, 7, 52, 2, 2, 7086, 1192, 3, 2, 2, 2, 7087, 7088, 7, 77, 2, 2, 7088, 7089, 7, 81, 2, 2, 7089, 7090, 7, 75, 2, 2, 7090, 7091, 7, 58, 2, 2, 7091, 7092, 7, 84, 2, 2, 7092, 1194, 3, 2, 2, 2, 7093, 7094, 7, 77, 2, 2, 7094, 7095, 7, 81, 2, 2, 7095, 7096, 7, 75, 2, 2, 7096, 7097, 7, 58, 2, 2, 7097, 7098, 7, 87, 2, 2, 7098, 1196, 3, 2, 2, 2, 7099, 7100, 7, 78, 2, 2, 7100, 7101, 7, 67, 2, 2, 7101, 7102, 7, 86, 2, 2, 7102, 7103, 7, 75, 2, 2, 7103, 7104, 7, 80, 2, 2, 7104, 7105, 7, 51, 2, 2, 7105, 1198, 3, 2, 2, 2, 7106, 7107, 7, 78, 2, 2, 7107, 7108, 7, 67, 2, 2, 7108, 7109, 7, 86, 2, 2, 7109, 7110, 7, 75, 2, 2, 7110, 7111, 7, 80, 2, 2, 7111, 7112, 7, 52, 2, 2, 7112, 1200, 3, 2, 2, 2, 7113, 7114, 7, 78, 2, 2, 7114, 7115, 7, 67, 2, 2, 7115, 7116, 7, 86, 2, 2, 7116, 7117, 7, 75, 2, 2, 7117, 7118, 7, 80, 2, 2, 7118, 7119, 7, 55, 2, 2, 7119, 1202, 3, 2, 2, 2, 7120, 7121, 7, 78, 2, 2, 7121, 7122, 7, 67, 2, 2, 7122, 7123, 7, 86, 2, 2, 7123, 7124, 7, 75, 2, 2, 7124, 7125, 7, 80, 2, 2, 7125, 7126, 7, 57, 2, 2, 7126, 1204, 3, 2, 2, 2, 7127, 7128, 7, 79, 2, 2, 7128, 7129, 7, 67, 2, 2, 7129, 7130, 7, 69, 2, 2, 7130, 7131, 7, 69, 2, 2, 7131, 7132, 7, 71, 2, 2, 7132, 1206, 3, 2, 2, 2, 7133, 7134, 7, 79, 2, 2, 7134, 7135, 7, 67, 2, 2, 7135, 7136, 7, 69, 2, 2, 7136, 7137, 7, 84, 2, 2, 7137, 7138, 7, 81, 2, 2, 7138, 7139, 7, 79, 2, 2, 7139, 7140, 7, 67, 2, 2, 7140, 7141, 7, 80, 2, 2, 7141, 1208, 3, 2, 2, 2, 7142, 7143, 7, 85, 2, 2, 7143, 7144, 7, 76, 2, 2, 7144, 7145, 7, 75, 2, 2, 7145, 7146, 7, 85, 2, 2, 7146, 1210, 3, 2, 2, 2, 7147, 7148, 7, 85, 2, 2, 7148, 7149, 7, 89, 2, 2, 7149, 7150, 7, 71, 2, 2, 7150, 7151, 7, 57, 2, 2, 7151, 1212, 3, 2, 2, 2, 7152, 7153, 7, 86, 2, 2, 7153, 7154, 7, 75, 2, 2, 7154, 7155, 7, 85, 2, 2, 7155, 7156, 7, 56, 2, 2, 7156, 7157, 7, 52, 2, 2, 7157, 7158, 7, 50, 2, 2, 7158, 1214, 3, 2, 2, 2, 7159, 7160, 7, 87, 2, 2, 7160, 7161, 7, 69, 2, 2, 7161, 7162, 7, 85, 2, 2, 7162, 7163, 7, 52, 2, 2, 7163, 1216, 3, 2, 2, 2, 7164, 7165, 7, 87, 2, 2, 7165, 7166, 7, 76, 2, 2, 7166, 7167, 7, 75, 2, 2, 7167, 7168, 7, 85, 2, 2, 7168, 1218, 3, 2, 2, 2, 7169, 7170, 7, 87, 2, 2, 7170, 7171, 7, 86, 2, 2, 7171, 7172, 7, 72, 2, 2, 7172, 7173, 7, 51, 2, 2, 7173, 7174, 7, 56, 2, 2, 7174, 1220, 3, 2, 2, 2, 7175, 7176, 7, 87, 2, 2, 7176, 7177, 7, 86, 2, 2, 7177, 7178, 7, 72, 2, 2, 7178, 7179, 7, 51, 2, 2, 7179, 7180, 7, 56, 2, 2, 7180, 7181, 7, 78, 2, 2, 7181, 7182, 7, 71, 2, 2, 7182, 1222, 3, 2, 2, 2, 7183, 7184, 7, 87, 2, 2, 7184, 7185, 7, 86, 2, 2, 7185, 7186, 7, 72, 2, 2, 7186, 7187, 7, 53, 2, 2, 7187, 7188, 7, 52, 2, 2, 7188, 1224, 3, 2, 2, 2, 7189, 7190, 7, 87, 2, 2, 7190, 7191, 7, 86, 2, 2, 7191, 7192, 7, 72, 2, 2, 7192, 7193, 7, 58, 2, 2, 7193, 1226, 3, 2, 2, 2, 7194, 7195, 7, 87, 2, 2, 7195, 7196, 7, 86, 2, 2, 7196, 7197, 7, 72, 2, 2, 7197, 7198, 7, 58, 2, 2, 7198, 7199, 7, 79, 2, 2, 7199, 7200, 7, 68, 2, 2, 7200, 7201, 7, 53, 2, 2, 7201, 1228, 3, 2, 2, 2, 7202, 7203, 7, 87, 2, 2, 7203, 7204, 7, 86, 2, 2, 7204, 7205, 7, 72, 2, 2, 7205, 7206, 7, 58, 2, 2, 7206, 7207, 7, 79, 2, 2, 7207, 7208, 7, 68, 2, 2, 7208, 7209, 7, 54, 2, 2, 7209, 1230, 3, 2, 2, 2, 7210, 7211, 7, 67, 2, 2, 7211, 7212, 7, 84, 2, 2, 7212, 7213, 7, 69, 2, 2, 7213, 7214, 7, 74, 2, 2, 7214, 7215, 7, 75, 2, 2, 7215, 7216, 7, 88, 2, 2, 7216, 7217, 7, 71, 2, 2, 7217, 1232, 3, 2, 2, 2, 7218, 7219, 7, 68, 2, 2, 7219, 7220, 7, 78, 2, 2, 7220, 7221, 7, 67, 2, 2, 7221, 7222, 7, 69, 2, 2, 7222, 7223, 7, 77, 2, 2, 7223, 7224, 7, 74, 2, 2, 7224, 7225, 7, 81, 2, 2, 7225, 7226, 7, 78, 2, 2, 7226, 7227, 7, 71, 2, 2, 7227, 1234, 3, 2, 2, 2, 7228, 7229, 7, 69, 2, 2, 7229, 7230, 7, 85, 2, 2, 7230, 7231, 7, 88, 2, 2, 7231, 1236, 3, 2, 2, 2, 7232, 7233, 7, 72, 2, 2, 7233, 7234, 7, 71, 2, 2, 7234, 7235, 7, 70, 2, 2, 7235, 7236, 7, 71, 2, 2, 7236, 7237, 7, 84, 2, 2, 7237, 7238, 7, 67, 2, 2, 7238, 7239, 7, 86, 2, 2, 7239, 7240, 7, 71, 2, 2, 7240, 7241, 7, 70, 2, 2, 7241, 1238, 3, 2, 2, 2, 7242, 7243, 7, 75, 2, 2, 7243, 7244, 7, 80, 2, 2, 7244, 7245, 7, 80, 2, 2, 7245, 7246, 7, 81, 2, 2, 7246, 7247, 7, 70, 2, 2, 7247, 7248, 7, 68, 2, 2, 7248, 1240, 3, 2, 2, 2, 7249, 7250, 7, 79, 2, 2, 7250, 7251, 7, 71, 2, 2, 7251, 7252, 7, 79, 2, 2, 7252, 7253, 7, 81, 2, 2, 7253, 7254, 7, 84, 2, 2, 7254, 7255, 7, 91, 2, 2, 7255, 1242, 3, 2, 2, 2, 7256, 7257, 7, 79, 2, 2, 7257, 7258, 7, 84, 2, 2, 7258, 7259, 7, 73, 2, 2, 7259, 7260, 7, 97, 2, 2, 7260, 7261, 7, 79, 2, 2, 7261, 7262, 7, 91, 2, 2, 7262, 7263, 7, 75, 2, 2, 7263, 7264, 7, 85, 2, 2, 7264, 7265, 7, 67, 2, 2, 7265, 7266, 7, 79, 2, 2, 7266, 1244, 3, 2, 2, 2, 7267, 7268, 7, 79, 2, 2, 7268, 7269, 7, 91, 2, 2, 7269, 7270, 7, 75, 2, 2, 7270, 7271, 7, 85, 2, 2, 7271, 7272, 7, 67, 2, 2, 7272, 7273, 7, 79, 2, 2, 7273, 1246, 3, 2, 2, 2, 7274, 7275, 7, 80, 2, 2, 7275, 7276, 7, 70, 2, 2, 7276, 7277, 7, 68, 2, 2, 7277, 1248, 3, 2, 2, 2, 7278, 7279, 7, 80, 2, 2, 7279, 7280, 7, 70, 2, 2, 7280, 7281, 7, 68, 2, 2, 7281, 7282, 7, 69, 2, 2, 7282, 7283, 7, 78, 2, 2, 7283, 7284, 7, 87, 2, 2, 7284, 7285, 7, 85, 2, 2, 7285, 7286, 7, 86, 2, 2, 7286, 7287, 7, 71, 2, 2, 7287, 7288, 7, 84, 2, 2, 7288, 1250, 3, 2, 2, 2, 7289, 7290, 7, 82, 2, 2, 7290, 7291, 7, 71, 2, 2, 7291, 7292, 7, 84, 2, 2, 7292, 7293, 7, 72, 2, 2, 7293, 7294, 7, 81, 2, 2, 7294, 7295, 7, 79, 2, 2, 7295, 7296, 7, 67, 2, 2, 7296, 7297, 7, 80, 2, 2, 7297, 7298, 7, 69, 2, 2, 7298, 7299, 7, 71, 2, 2, 7299, 7300, 7, 97, 2, 2, 7300, 7301, 7, 85, 2, 2, 7301, 7302, 7, 69, 2, 2, 7302, 7303, 7, 74, 2, 2, 7303, 7304, 7, 71, 2, 2, 7304, 7305, 7, 79, 2, 2, 7305, 7306, 7, 67, 2, 2, 7306, 1252, 3, 2, 2, 2, 7307, 7308, 7, 84, 2, 2, 7308, 7309, 7, 71, 2, 2, 7309, 7310, 7, 82, 2, 2, 7310, 7311, 7, 71, 2, 2, 7311, 7312, 7, 67, 2, 2, 7312, 7313, 7, 86, 2, 2, 7313, 7314, 7, 67, 2, 2, 7314, 7315, 7, 68, 2, 2, 7315, 7316, 7, 78, 2, 2, 7316, 7317, 7, 71, 2, 2, 7317, 1254, 3, 2, 2, 2, 7318, 7319, 7, 69, 2, 2, 7319, 7320, 7, 81, 2, 2, 7320, 7321, 7, 79, 2, 2, 7321, 7322, 7, 79, 2, 2, 7322, 7323, 7, 75, 2, 2, 7323, 7324, 7, 86, 2, 2, 7324, 7325, 7, 86, 2, 2, 7325, 7326, 7, 71, 2, 2, 7326, 7327, 7, 70, 2, 2, 7327, 1256, 3, 2, 2, 2, 7328, 7329, 7, 87, 2, 2, 7329, 7330, 7, 80, 2, 2, 7330, 7331, 7, 69, 2, 2, 7331, 7332, 7, 81, 2, 2, 7332, 7333, 7, 79, 2, 2, 7333, 7334, 7, 79, 2, 2, 7334, 7335, 7, 75, 2, 2, 7335, 7336, 7, 86, 2, 2, 7336, 7337, 7, 86, 2, 2, 7337, 7338, 7, 71, 2, 2, 7338, 7339, 7, 70, 2, 2, 7339, 1258, 3, 2, 2, 2, 7340, 7341, 7, 85, 2, 2, 7341, 7342, 7, 71, 2, 2, 7342, 7343, 7, 84, 2, 2, 7343, 7344, 7, 75, 2, 2, 7344, 7345, 7, 67, 2, 2, 7345, 7346, 7, 78, 2, 2, 7346, 7347, 7, 75, 2, 2, 7347, 7348, 7, 92, 2, 2, 7348, 7349, 7, 67, 2, 2, 7349, 7350, 7, 68, 2, 2, 7350, 7351, 7, 78, 2, 2, 7351, 7352, 7, 71, 2, 2, 7352, 1260, 3, 2, 2, 2, 7353, 7354, 7, 73, 2, 2, 7354, 7355, 7, 71, 2, 2, 7355, 7356, 7, 81, 2, 2, 7356, 7357, 7, 79, 2, 2, 7357, 7358, 7, 71, 2, 2, 7358, 7359, 7, 86, 2, 2, 7359, 7360, 7, 84, 2, 2, 7360, 7361, 7, 91, 2, 2, 7361, 7362, 7, 69, 2, 2, 7362, 7363, 7, 81, 2, 2, 7363, 7364, 7, 78, 2, 2, 7364, 7365, 7, 78, 2, 2, 7365, 7366, 7, 71, 2, 2, 7366, 7367, 7, 69, 2, 2, 7367, 7368, 7, 86, 2, 2, 7368, 7369, 7, 75, 2, 2, 7369, 7370, 7, 81, 2, 2, 7370, 7371, 7, 80, 2, 2, 7371, 1262, 3, 2, 2, 2, 7372, 7373, 7, 78, 2, 2, 7373, 7374, 7, 75, 2, 2, 7374, 7375, 7, 80, 2, 2, 7375, 7376, 7, 71, 2, 2, 7376, 7377, 7, 85, 2, 2, 7377, 7378, 7, 86, 2, 2, 7378, 7379, 7, 84, 2, 2, 7379, 7380, 7, 75, 2, 2, 7380, 7381, 7, 80, 2, 2, 7381, 7382, 7, 73, 2, 2, 7382, 1264, 3, 2, 2, 2, 7383, 7384, 7, 79, 2, 2, 7384, 7385, 7, 87, 2, 2, 7385, 7386, 7, 78, 2, 2, 7386, 7387, 7, 86, 2, 2, 7387, 7388, 7, 75, 2, 2, 7388, 7389, 7, 78, 2, 2, 7389, 7390, 7, 75, 2, 2, 7390, 7391, 7, 80, 2, 2, 7391, 7392, 7, 71, 2, 2, 7392, 7393, 7, 85, 2, 2, 7393, 7394, 7, 86, 2, 2, 7394, 7395, 7, 84, 2, 2, 7395, 7396, 7, 75, 2, 2, 7396, 7397, 7, 80, 2, 2, 7397, 7398, 7, 73, 2, 2, 7398, 1266, 3, 2, 2, 2, 7399, 7400, 7, 79, 2, 2, 7400, 7401, 7, 87, 2, 2, 7401, 7402, 7, 78, 2, 2, 7402, 7403, 7, 86, 2, 2, 7403, 7404, 7, 75, 2, 2, 7404, 7405, 7, 82, 2, 2, 7405, 7406, 7, 81, 2, 2, 7406, 7407, 7, 75, 2, 2, 7407, 7408, 7, 80, 2, 2, 7408, 7409, 7, 86, 2, 2, 7409, 1268, 3, 2, 2, 2, 7410, 7411, 7, 79, 2, 2, 7411, 7412, 7, 87, 2, 2, 7412, 7413, 7, 78, 2, 2, 7413, 7414, 7, 86, 2, 2, 7414, 7415, 7, 75, 2, 2, 7415, 7416, 7, 82, 2, 2, 7416, 7417, 7, 81, 2, 2, 7417, 7418, 7, 78, 2, 2, 7418, 7419, 7, 91, 2, 2, 7419, 7420, 7, 73, 2, 2, 7420, 7421, 7, 81, 2, 2, 7421, 7422, 7, 80, 2, 2, 7422, 1270, 3, 2, 2, 2, 7423, 7424, 7, 82, 2, 2, 7424, 7425, 7, 81, 2, 2, 7425, 7426, 7, 75, 2, 2, 7426, 7427, 7, 80, 2, 2, 7427, 7428, 7, 86, 2, 2, 7428, 1272, 3, 2, 2, 2, 7429, 7430, 7, 82, 2, 2, 7430, 7431, 7, 81, 2, 2, 7431, 7432, 7, 78, 2, 2, 7432, 7433, 7, 91, 2, 2, 7433, 7434, 7, 73, 2, 2, 7434, 7435, 7, 81, 2, 2, 7435, 7436, 7, 80, 2, 2, 7436, 1274, 3, 2, 2, 2, 7437, 7438, 7, 67, 2, 2, 7438, 7439, 7, 68, 2, 2, 7439, 7440, 7, 85, 2, 2, 7440, 1276, 3, 2, 2, 2, 7441, 7442, 7, 67, 2, 2, 7442, 7443, 7, 69, 2, 2, 7443, 7444, 7, 81, 2, 2, 7444, 7445, 7, 85, 2, 2, 7445, 1278, 3, 2, 2, 2, 7446, 7447, 7, 67, 2, 2, 7447, 7448, 7, 70, 2, 2, 7448, 7449, 7, 70, 2, 2, 7449, 7450, 7, 70, 2, 2, 7450, 7451, 7, 67, 2, 2, 7451, 7452, 7, 86, 2, 2, 7452, 7453, 7, 71, 2, 2, 7453, 1280, 3, 2, 2, 2, 7454, 7455, 7, 67, 2, 2, 7455, 7456, 7, 70, 2, 2, 7456, 7457, 7, 70, 2, 2, 7457, 7458, 7, 86, 2, 2, 7458, 7459, 7, 75, 2, 2, 7459, 7460, 7, 79, 2, 2, 7460, 7461, 7, 71, 2, 2, 7461, 1282, 3, 2, 2, 2, 7462, 7463, 7, 67, 2, 2, 7463, 7464, 7, 71, 2, 2, 7464, 7465, 7, 85, 2, 2, 7465, 7466, 7, 97, 2, 2, 7466, 7467, 7, 70, 2, 2, 7467, 7468, 7, 71, 2, 2, 7468, 7469, 7, 69, 2, 2, 7469, 7470, 7, 84, 2, 2, 7470, 7471, 7, 91, 2, 2, 7471, 7472, 7, 82, 2, 2, 7472, 7473, 7, 86, 2, 2, 7473, 1284, 3, 2, 2, 2, 7474, 7475, 7, 67, 2, 2, 7475, 7476, 7, 71, 2, 2, 7476, 7477, 7, 85, 2, 2, 7477, 7478, 7, 97, 2, 2, 7478, 7479, 7, 71, 2, 2, 7479, 7480, 7, 80, 2, 2, 7480, 7481, 7, 69, 2, 2, 7481, 7482, 7, 84, 2, 2, 7482, 7483, 7, 91, 2, 2, 7483, 7484, 7, 82, 2, 2, 7484, 7485, 7, 86, 2, 2, 7485, 1286, 3, 2, 2, 2, 7486, 7487, 7, 67, 2, 2, 7487, 7488, 7, 84, 2, 2, 7488, 7489, 7, 71, 2, 2, 7489, 7490, 7, 67, 2, 2, 7490, 1288, 3, 2, 2, 2, 7491, 7492, 7, 67, 2, 2, 7492, 7493, 7, 85, 2, 2, 7493, 7494, 7, 68, 2, 2, 7494, 7495, 7, 75, 2, 2, 7495, 7496, 7, 80, 2, 2, 7496, 7497, 7, 67, 2, 2, 7497, 7498, 7, 84, 2, 2, 7498, 7499, 7, 91, 2, 2, 7499, 1290, 3, 2, 2, 2, 7500, 7501, 7, 67, 2, 2, 7501, 7502, 7, 85, 2, 2, 7502, 7503, 7, 75, 2, 2, 7503, 7504, 7, 80, 2, 2, 7504, 1292, 3, 2, 2, 2, 7505, 7506, 7, 67, 2, 2, 7506, 7507, 7, 85, 2, 2, 7507, 7508, 7, 86, 2, 2, 7508, 7509, 7, 71, 2, 2, 7509, 7510, 7, 90, 2, 2, 7510, 7511, 7, 86, 2, 2, 7511, 1294, 3, 2, 2, 2, 7512, 7513, 7, 67, 2, 2, 7513, 7514, 7, 85, 2, 2, 7514, 7515, 7, 89, 2, 2, 7515, 7516, 7, 77, 2, 2, 7516, 7517, 7, 68, 2, 2, 7517, 1296, 3, 2, 2, 2, 7518, 7519, 7, 67, 2, 2, 7519, 7520, 7, 85, 2, 2, 7520, 7521, 7, 89, 2, 2, 7521, 7522, 7, 77, 2, 2, 7522, 7523, 7, 86, 2, 2, 7523, 1298, 3, 2, 2, 2, 7524, 7525, 7, 67, 2, 2, 7525, 7526, 7, 85, 2, 2, 7526, 7527, 7, 91, 2, 2, 7527, 7528, 7, 79, 2, 2, 7528, 7529, 7, 79, 2, 2, 7529, 7530, 7, 71, 2, 2, 7530, 7531, 7, 86, 2, 2, 7531, 7532, 7, 84, 2, 2, 7532, 7533, 7, 75, 2, 2, 7533, 7534, 7, 69, 2, 2, 7534, 7535, 7, 97, 2, 2, 7535, 7536, 7, 70, 2, 2, 7536, 7537, 7, 71, 2, 2, 7537, 7538, 7, 69, 2, 2, 7538, 7539, 7, 84, 2, 2, 7539, 7540, 7, 91, 2, 2, 7540, 7541, 7, 82, 2, 2, 7541, 7542, 7, 86, 2, 2, 7542, 1300, 3, 2, 2, 2, 7543, 7544, 7, 67, 2, 2, 7544, 7545, 7, 85, 2, 2, 7545, 7546, 7, 91, 2, 2, 7546, 7547, 7, 79, 2, 2, 7547, 7548, 7, 79, 2, 2, 7548, 7549, 7, 71, 2, 2, 7549, 7550, 7, 86, 2, 2, 7550, 7551, 7, 84, 2, 2, 7551, 7552, 7, 75, 2, 2, 7552, 7553, 7, 69, 2, 2, 7553, 7554, 7, 97, 2, 2, 7554, 7555, 7, 70, 2, 2, 7555, 7556, 7, 71, 2, 2, 7556, 7557, 7, 84, 2, 2, 7557, 7558, 7, 75, 2, 2, 7558, 7559, 7, 88, 2, 2, 7559, 7560, 7, 71, 2, 2, 7560, 1302, 3, 2, 2, 2, 7561, 7562, 7, 67, 2, 2, 7562, 7563, 7, 85, 2, 2, 7563, 7564, 7, 91, 2, 2, 7564, 7565, 7, 79, 2, 2, 7565, 7566, 7, 79, 2, 2, 7566, 7567, 7, 71, 2, 2, 7567, 7568, 7, 86, 2, 2, 7568, 7569, 7, 84, 2, 2, 7569, 7570, 7, 75, 2, 2, 7570, 7571, 7, 69, 2, 2, 7571, 7572, 7, 97, 2, 2, 7572, 7573, 7, 71, 2, 2, 7573, 7574, 7, 80, 2, 2, 7574, 7575, 7, 69, 2, 2, 7575, 7576, 7, 84, 2, 2, 7576, 7577, 7, 91, 2, 2, 7577, 7578, 7, 82, 2, 2, 7578, 7579, 7, 86, 2, 2, 7579, 1304, 3, 2, 2, 2, 7580, 7581, 7, 67, 2, 2, 7581, 7582, 7, 85, 2, 2, 7582, 7583, 7, 91, 2, 2, 7583, 7584, 7, 79, 2, 2, 7584, 7585, 7, 79, 2, 2, 7585, 7586, 7, 71, 2, 2, 7586, 7587, 7, 86, 2, 2, 7587, 7588, 7, 84, 2, 2, 7588, 7589, 7, 75, 2, 2, 7589, 7590, 7, 69, 2, 2, 7590, 7591, 7, 97, 2, 2, 7591, 7592, 7, 85, 2, 2, 7592, 7593, 7, 75, 2, 2, 7593, 7594, 7, 73, 2, 2, 7594, 7595, 7, 80, 2, 2, 7595, 1306, 3, 2, 2, 2, 7596, 7597, 7, 67, 2, 2, 7597, 7598, 7, 85, 2, 2, 7598, 7599, 7, 91, 2, 2, 7599, 7600, 7, 79, 2, 2, 7600, 7601, 7, 79, 2, 2, 7601, 7602, 7, 71, 2, 2, 7602, 7603, 7, 86, 2, 2, 7603, 7604, 7, 84, 2, 2, 7604, 7605, 7, 75, 2, 2, 7605, 7606, 7, 69, 2, 2, 7606, 7607, 7, 97, 2, 2, 7607, 7608, 7, 88, 2, 2, 7608, 7609, 7, 71, 2, 2, 7609, 7610, 7, 84, 2, 2, 7610, 7611, 7, 75, 2, 2, 7611, 7612, 7, 72, 2, 2, 7612, 7613, 7, 91, 2, 2, 7613, 1308, 3, 2, 2, 2, 7614, 7615, 7, 67, 2, 2, 7615, 7616, 7, 86, 2, 2, 7616, 7617, 7, 67, 2, 2, 7617, 7618, 7, 80, 2, 2, 7618, 1310, 3, 2, 2, 2, 7619, 7620, 7, 67, 2, 2, 7620, 7621, 7, 86, 2, 2, 7621, 7622, 7, 67, 2, 2, 7622, 7623, 7, 80, 2, 2, 7623, 7624, 7, 52, 2, 2, 7624, 1312, 3, 2, 2, 2, 7625, 7626, 7, 68, 2, 2, 7626, 7627, 7, 71, 2, 2, 7627, 7628, 7, 80, 2, 2, 7628, 7629, 7, 69, 2, 2, 7629, 7630, 7, 74, 2, 2, 7630, 7631, 7, 79, 2, 2, 7631, 7632, 7, 67, 2, 2, 7632, 7633, 7, 84, 2, 2, 7633, 7634, 7, 77, 2, 2, 7634, 1314, 3, 2, 2, 2, 7635, 7636, 7, 68, 2, 2, 7636, 7637, 7, 75, 2, 2, 7637, 7638, 7, 80, 2, 2, 7638, 1316, 3, 2, 2, 2, 7639, 7640, 7, 68, 2, 2, 7640, 7641, 7, 75, 2, 2, 7641, 7642, 7, 86, 2, 2, 7642, 7643, 7, 97, 2, 2, 7643, 7644, 7, 69, 2, 2, 7644, 7645, 7, 81, 2, 2, 7645, 7646, 7, 87, 2, 2, 7646, 7647, 7, 80, 2, 2, 7647, 7648, 7, 86, 2, 2, 7648, 1318, 3, 2, 2, 2, 7649, 7650, 7, 68, 2, 2, 7650, 7651, 7, 75, 2, 2, 7651, 7652, 7, 86, 2, 2, 7652, 7653, 7, 97, 2, 2, 7653, 7654, 7, 78, 2, 2, 7654, 7655, 7, 71, 2, 2, 7655, 7656, 7, 80, 2, 2, 7656, 7657, 7, 73, 2, 2, 7657, 7658, 7, 86, 2, 2, 7658, 7659, 7, 74, 2, 2, 7659, 1320, 3, 2, 2, 2, 7660, 7661, 7, 68, 2, 2, 7661, 7662, 7, 87, 2, 2, 7662, 7663, 7, 72, 2, 2, 7663, 7664, 7, 72, 2, 2, 7664, 7665, 7, 71, 2, 2, 7665, 7666, 7, 84, 2, 2, 7666, 1322, 3, 2, 2, 2, 7667, 7668, 7, 69, 2, 2, 7668, 7669, 7, 71, 2, 2, 7669, 7670, 7, 75, 2, 2, 7670, 7671, 7, 78, 2, 2, 7671, 1324, 3, 2, 2, 2, 7672, 7673, 7, 69, 2, 2, 7673, 7674, 7, 71, 2, 2, 7674, 7675, 7, 75, 2, 2, 7675, 7676, 7, 78, 2, 2, 7676, 7677, 7, 75, 2, 2, 7677, 7678, 7, 80, 2, 2, 7678, 7679, 7, 73, 2, 2, 7679, 1326, 3, 2, 2, 2, 7680, 7681, 7, 69, 2, 2, 7681, 7682, 7, 71, 2, 2, 7682, 7683, 7, 80, 2, 2, 7683, 7684, 7, 86, 2, 2, 7684, 7685, 7, 84, 2, 2, 7685, 7686, 7, 81, 2, 2, 7686, 7687, 7, 75, 2, 2, 7687, 7688, 7, 70, 2, 2, 7688, 1328, 3, 2, 2, 2, 7689, 7690, 7, 69, 2, 2, 7690, 7691, 7, 74, 2, 2, 7691, 7692, 7, 67, 2, 2, 7692, 7693, 7, 84, 2, 2, 7693, 7694, 7, 67, 2, 2, 7694, 7695, 7, 69, 2, 2, 7695, 7696, 7, 86, 2, 2, 7696, 7697, 7, 71, 2, 2, 7697, 7698, 7, 84, 2, 2, 7698, 7699, 7, 97, 2, 2, 7699, 7700, 7, 78, 2, 2, 7700, 7701, 7, 71, 2, 2, 7701, 7702, 7, 80, 2, 2, 7702, 7703, 7, 73, 2, 2, 7703, 7704, 7, 86, 2, 2, 7704, 7705, 7, 74, 2, 2, 7705, 1330, 3, 2, 2, 2, 7706, 7707, 7, 69, 2, 2, 7707, 7708, 7, 74, 2, 2, 7708, 7709, 7, 67, 2, 2, 7709, 7710, 7, 84, 2, 2, 7710, 7711, 7, 85, 2, 2, 7711, 7712, 7, 71, 2, 2, 7712, 7713, 7, 86, 2, 2, 7713, 1332, 3, 2, 2, 2, 7714, 7715, 7, 69, 2, 2, 7715, 7716, 7, 74, 2, 2, 7716, 7717, 7, 67, 2, 2, 7717, 7718, 7, 84, 2, 2, 7718, 7719, 7, 97, 2, 2, 7719, 7720, 7, 78, 2, 2, 7720, 7721, 7, 71, 2, 2, 7721, 7722, 7, 80, 2, 2, 7722, 7723, 7, 73, 2, 2, 7723, 7724, 7, 86, 2, 2, 7724, 7725, 7, 74, 2, 2, 7725, 1334, 3, 2, 2, 2, 7726, 7727, 7, 69, 2, 2, 7727, 7728, 7, 81, 2, 2, 7728, 7729, 7, 71, 2, 2, 7729, 7730, 7, 84, 2, 2, 7730, 7731, 7, 69, 2, 2, 7731, 7732, 7, 75, 2, 2, 7732, 7733, 7, 68, 2, 2, 7733, 7734, 7, 75, 2, 2, 7734, 7735, 7, 78, 2, 2, 7735, 7736, 7, 75, 2, 2, 7736, 7737, 7, 86, 2, 2, 7737, 7738, 7, 91, 2, 2, 7738, 1336, 3, 2, 2, 2, 7739, 7740, 7, 69, 2, 2, 7740, 7741, 7, 81, 2, 2, 7741, 7742, 7, 78, 2, 2, 7742, 7743, 7, 78, 2, 2, 7743, 7744, 7, 67, 2, 2, 7744, 7745, 7, 86, 2, 2, 7745, 7746, 7, 75, 2, 2, 7746, 7747, 7, 81, 2, 2, 7747, 7748, 7, 80, 2, 2, 7748, 1338, 3, 2, 2, 2, 7749, 7750, 7, 69, 2, 2, 7750, 7751, 7, 81, 2, 2, 7751, 7752, 7, 79, 2, 2, 7752, 7753, 7, 82, 2, 2, 7753, 7754, 7, 84, 2, 2, 7754, 7755, 7, 71, 2, 2, 7755, 7756, 7, 85, 2, 2, 7756, 7757, 7, 85, 2, 2, 7757, 1340, 3, 2, 2, 2, 7758, 7759, 7, 69, 2, 2, 7759, 7760, 7, 81, 2, 2, 7760, 7761, 7, 80, 2, 2, 7761, 7762, 7, 69, 2, 2, 7762, 7763, 7, 67, 2, 2, 7763, 7764, 7, 86, 2, 2, 7764, 1342, 3, 2, 2, 2, 7765, 7766, 7, 69, 2, 2, 7766, 7767, 7, 81, 2, 2, 7767, 7768, 7, 80, 2, 2, 7768, 7769, 7, 69, 2, 2, 7769, 7770, 7, 67, 2, 2, 7770, 7771, 7, 86, 2, 2, 7771, 7772, 7, 97, 2, 2, 7772, 7773, 7, 89, 2, 2, 7773, 7774, 7, 85, 2, 2, 7774, 1344, 3, 2, 2, 2, 7775, 7776, 7, 69, 2, 2, 7776, 7777, 7, 81, 2, 2, 7777, 7778, 7, 80, 2, 2, 7778, 7779, 7, 80, 2, 2, 7779, 7780, 7, 71, 2, 2, 7780, 7781, 7, 69, 2, 2, 7781, 7782, 7, 86, 2, 2, 7782, 7783, 7, 75, 2, 2, 7783, 7784, 7, 81, 2, 2, 7784, 7785, 7, 80, 2, 2, 7785, 7786, 7, 97, 2, 2, 7786, 7787, 7, 75, 2, 2, 7787, 7788, 7, 70, 2, 2, 7788, 1346, 3, 2, 2, 2, 7789, 7790, 7, 69, 2, 2, 7790, 7791, 7, 81, 2, 2, 7791, 7792, 7, 80, 2, 2, 7792, 7793, 7, 88, 2, 2, 7793, 1348, 3, 2, 2, 2, 7794, 7795, 7, 69, 2, 2, 7795, 7796, 7, 81, 2, 2, 7796, 7797, 7, 80, 2, 2, 7797, 7798, 7, 88, 2, 2, 7798, 7799, 7, 71, 2, 2, 7799, 7800, 7, 84, 2, 2, 7800, 7801, 7, 86, 2, 2, 7801, 7802, 7, 97, 2, 2, 7802, 7803, 7, 86, 2, 2, 7803, 7804, 7, 92, 2, 2, 7804, 1350, 3, 2, 2, 2, 7805, 7806, 7, 69, 2, 2, 7806, 7807, 7, 81, 2, 2, 7807, 7808, 7, 85, 2, 2, 7808, 1352, 3, 2, 2, 2, 7809, 7810, 7, 69, 2, 2, 7810, 7811, 7, 81, 2, 2, 7811, 7812, 7, 86, 2, 2, 7812, 1354, 3, 2, 2, 2, 7813, 7814, 7, 69, 2, 2, 7814, 7815, 7, 84, 2, 2, 7815, 7816, 7, 69, 2, 2, 7816, 7817, 7, 53, 2, 2, 7817, 7818, 7, 52, 2, 2, 7818, 1356, 3, 2, 2, 2, 7819, 7820, 7, 69, 2, 2, 7820, 7821, 7, 84, 2, 2, 7821, 7822, 7, 71, 2, 2, 7822, 7823, 7, 67, 2, 2, 7823, 7824, 7, 86, 2, 2, 7824, 7825, 7, 71, 2, 2, 7825, 7826, 7, 97, 2, 2, 7826, 7827, 7, 67, 2, 2, 7827, 7828, 7, 85, 2, 2, 7828, 7829, 7, 91, 2, 2, 7829, 7830, 7, 79, 2, 2, 7830, 7831, 7, 79, 2, 2, 7831, 7832, 7, 71, 2, 2, 7832, 7833, 7, 86, 2, 2, 7833, 7834, 7, 84, 2, 2, 7834, 7835, 7, 75, 2, 2, 7835, 7836, 7, 69, 2, 2, 7836, 7837, 7, 97, 2, 2, 7837, 7838, 7, 82, 2, 2, 7838, 7839, 7, 84, 2, 2, 7839, 7840, 7, 75, 2, 2, 7840, 7841, 7, 88, 2, 2, 7841, 7842, 7, 97, 2, 2, 7842, 7843, 7, 77, 2, 2, 7843, 7844, 7, 71, 2, 2, 7844, 7845, 7, 91, 2, 2, 7845, 1358, 3, 2, 2, 2, 7846, 7847, 7, 69, 2, 2, 7847, 7848, 7, 84, 2, 2, 7848, 7849, 7, 71, 2, 2, 7849, 7850, 7, 67, 2, 2, 7850, 7851, 7, 86, 2, 2, 7851, 7852, 7, 71, 2, 2, 7852, 7853, 7, 97, 2, 2, 7853, 7854, 7, 67, 2, 2, 7854, 7855, 7, 85, 2, 2, 7855, 7856, 7, 91, 2, 2, 7856, 7857, 7, 79, 2, 2, 7857, 7858, 7, 79, 2, 2, 7858, 7859, 7, 71, 2, 2, 7859, 7860, 7, 86, 2, 2, 7860, 7861, 7, 84, 2, 2, 7861, 7862, 7, 75, 2, 2, 7862, 7863, 7, 69, 2, 2, 7863, 7864, 7, 97, 2, 2, 7864, 7865, 7, 82, 2, 2, 7865, 7866, 7, 87, 2, 2, 7866, 7867, 7, 68, 2, 2, 7867, 7868, 7, 97, 2, 2, 7868, 7869, 7, 77, 2, 2, 7869, 7870, 7, 71, 2, 2, 7870, 7871, 7, 91, 2, 2, 7871, 1360, 3, 2, 2, 2, 7872, 7873, 7, 69, 2, 2, 7873, 7874, 7, 84, 2, 2, 7874, 7875, 7, 71, 2, 2, 7875, 7876, 7, 67, 2, 2, 7876, 7877, 7, 86, 2, 2, 7877, 7878, 7, 71, 2, 2, 7878, 7879, 7, 97, 2, 2, 7879, 7880, 7, 70, 2, 2, 7880, 7881, 7, 74, 2, 2, 7881, 7882, 7, 97, 2, 2, 7882, 7883, 7, 82, 2, 2, 7883, 7884, 7, 67, 2, 2, 7884, 7885, 7, 84, 2, 2, 7885, 7886, 7, 67, 2, 2, 7886, 7887, 7, 79, 2, 2, 7887, 7888, 7, 71, 2, 2, 7888, 7889, 7, 86, 2, 2, 7889, 7890, 7, 71, 2, 2, 7890, 7891, 7, 84, 2, 2, 7891, 7892, 7, 85, 2, 2, 7892, 1362, 3, 2, 2, 2, 7893, 7894, 7, 69, 2, 2, 7894, 7895, 7, 84, 2, 2, 7895, 7896, 7, 71, 2, 2, 7896, 7897, 7, 67, 2, 2, 7897, 7898, 7, 86, 2, 2, 7898, 7899, 7, 71, 2, 2, 7899, 7900, 7, 97, 2, 2, 7900, 7901, 7, 70, 2, 2, 7901, 7902, 7, 75, 2, 2, 7902, 7903, 7, 73, 2, 2, 7903, 7904, 7, 71, 2, 2, 7904, 7905, 7, 85, 2, 2, 7905, 7906, 7, 86, 2, 2, 7906, 1364, 3, 2, 2, 2, 7907, 7908, 7, 69, 2, 2, 7908, 7909, 7, 84, 2, 2, 7909, 7910, 7, 81, 2, 2, 7910, 7911, 7, 85, 2, 2, 7911, 7912, 7, 85, 2, 2, 7912, 7913, 7, 71, 2, 2, 7913, 7914, 7, 85, 2, 2, 7914, 1366, 3, 2, 2, 2, 7915, 7916, 7, 70, 2, 2, 7916, 7917, 7, 67, 2, 2, 7917, 7918, 7, 86, 2, 2, 7918, 7919, 7, 71, 2, 2, 7919, 7920, 7, 70, 2, 2, 7920, 7921, 7, 75, 2, 2, 7921, 7922, 7, 72, 2, 2, 7922, 7923, 7, 72, 2, 2, 7923, 1368, 3, 2, 2, 2, 7924, 7925, 7, 70, 2, 2, 7925, 7926, 7, 67, 2, 2, 7926, 7927, 7, 86, 2, 2, 7927, 7928, 7, 71, 2, 2, 7928, 7929, 7, 97, 2, 2, 7929, 7930, 7, 72, 2, 2, 7930, 7931, 7, 81, 2, 2, 7931, 7932, 7, 84, 2, 2, 7932, 7933, 7, 79, 2, 2, 7933, 7934, 7, 67, 2, 2, 7934, 7935, 7, 86, 2, 2, 7935, 1370, 3, 2, 2, 2, 7936, 7937, 7, 70, 2, 2, 7937, 7938, 7, 67, 2, 2, 7938, 7939, 7, 91, 2, 2, 7939, 7940, 7, 80, 2, 2, 7940, 7941, 7, 67, 2, 2, 7941, 7942, 7, 79, 2, 2, 7942, 7943, 7, 71, 2, 2, 7943, 1372, 3, 2, 2, 2, 7944, 7945, 7, 70, 2, 2, 7945, 7946, 7, 67, 2, 2, 7946, 7947, 7, 91, 2, 2, 7947, 7948, 7, 81, 2, 2, 7948, 7949, 7, 72, 2, 2, 7949, 7950, 7, 79, 2, 2, 7950, 7951, 7, 81, 2, 2, 7951, 7952, 7, 80, 2, 2, 7952, 7953, 7, 86, 2, 2, 7953, 7954, 7, 74, 2, 2, 7954, 1374, 3, 2, 2, 2, 7955, 7956, 7, 70, 2, 2, 7956, 7957, 7, 67, 2, 2, 7957, 7958, 7, 91, 2, 2, 7958, 7959, 7, 81, 2, 2, 7959, 7960, 7, 72, 2, 2, 7960, 7961, 7, 89, 2, 2, 7961, 7962, 7, 71, 2, 2, 7962, 7963, 7, 71, 2, 2, 7963, 7964, 7, 77, 2, 2, 7964, 1376, 3, 2, 2, 2, 7965, 7966, 7, 70, 2, 2, 7966, 7967, 7, 67, 2, 2, 7967, 7968, 7, 91, 2, 2, 7968, 7969, 7, 81, 2, 2, 7969, 7970, 7, 72, 2, 2, 7970, 7971, 7, 91, 2, 2, 7971, 7972, 7, 71, 2, 2, 7972, 7973, 7, 67, 2, 2, 7973, 7974, 7, 84, 2, 2, 7974, 1378, 3, 2, 2, 2, 7975, 7976, 7, 70, 2, 2, 7976, 7977, 7, 71, 2, 2, 7977, 7978, 7, 69, 2, 2, 7978, 7979, 7, 81, 2, 2, 7979, 7980, 7, 70, 2, 2, 7980, 7981, 7, 71, 2, 2, 7981, 1380, 3, 2, 2, 2, 7982, 7983, 7, 70, 2, 2, 7983, 7984, 7, 71, 2, 2, 7984, 7985, 7, 73, 2, 2, 7985, 7986, 7, 84, 2, 2, 7986, 7987, 7, 71, 2, 2, 7987, 7988, 7, 71, 2, 2, 7988, 7989, 7, 85, 2, 2, 7989, 1382, 3, 2, 2, 2, 7990, 7991, 7, 70, 2, 2, 7991, 7992, 7, 71, 2, 2, 7992, 7993, 7, 85, 2, 2, 7993, 7994, 7, 97, 2, 2, 7994, 7995, 7, 70, 2, 2, 7995, 7996, 7, 71, 2, 2, 7996, 7997, 7, 69, 2, 2, 7997, 7998, 7, 84, 2, 2, 7998, 7999, 7, 91, 2, 2, 7999, 8000, 7, 82, 2, 2, 8000, 8001, 7, 86, 2, 2, 8001, 1384, 3, 2, 2, 2, 8002, 8003, 7, 70, 2, 2, 8003, 8004, 7, 71, 2, 2, 8004, 8005, 7, 85, 2, 2, 8005, 8006, 7, 97, 2, 2, 8006, 8007, 7, 71, 2, 2, 8007, 8008, 7, 80, 2, 2, 8008, 8009, 7, 69, 2, 2, 8009, 8010, 7, 84, 2, 2, 8010, 8011, 7, 91, 2, 2, 8011, 8012, 7, 82, 2, 2, 8012, 8013, 7, 86, 2, 2, 8013, 1386, 3, 2, 2, 2, 8014, 8015, 7, 70, 2, 2, 8015, 8016, 7, 75, 2, 2, 8016, 8017, 7, 79, 2, 2, 8017, 8018, 7, 71, 2, 2, 8018, 8019, 7, 80, 2, 2, 8019, 8020, 7, 85, 2, 2, 8020, 8021, 7, 75, 2, 2, 8021, 8022, 7, 81, 2, 2, 8022, 8023, 7, 80, 2, 2, 8023, 1388, 3, 2, 2, 2, 8024, 8025, 7, 70, 2, 2, 8025, 8026, 7, 75, 2, 2, 8026, 8027, 7, 85, 2, 2, 8027, 8028, 7, 76, 2, 2, 8028, 8029, 7, 81, 2, 2, 8029, 8030, 7, 75, 2, 2, 8030, 8031, 7, 80, 2, 2, 8031, 8032, 7, 86, 2, 2, 8032, 1390, 3, 2, 2, 2, 8033, 8034, 7, 71, 2, 2, 8034, 8035, 7, 78, 2, 2, 8035, 8036, 7, 86, 2, 2, 8036, 1392, 3, 2, 2, 2, 8037, 8038, 7, 71, 2, 2, 8038, 8039, 7, 80, 2, 2, 8039, 8040, 7, 69, 2, 2, 8040, 8041, 7, 81, 2, 2, 8041, 8042, 7, 70, 2, 2, 8042, 8043, 7, 71, 2, 2, 8043, 1394, 3, 2, 2, 2, 8044, 8045, 7, 71, 2, 2, 8045, 8046, 7, 80, 2, 2, 8046, 8047, 7, 69, 2, 2, 8047, 8048, 7, 84, 2, 2, 8048, 8049, 7, 91, 2, 2, 8049, 8050, 7, 82, 2, 2, 8050, 8051, 7, 86, 2, 2, 8051, 1396, 3, 2, 2, 2, 8052, 8053, 7, 71, 2, 2, 8053, 8054, 7, 80, 2, 2, 8054, 8055, 7, 70, 2, 2, 8055, 8056, 7, 82, 2, 2, 8056, 8057, 7, 81, 2, 2, 8057, 8058, 7, 75, 2, 2, 8058, 8059, 7, 80, 2, 2, 8059, 8060, 7, 86, 2, 2, 8060, 1398, 3, 2, 2, 2, 8061, 8062, 7, 71, 2, 2, 8062, 8063, 7, 80, 2, 2, 8063, 8064, 7, 88, 2, 2, 8064, 8065, 7, 71, 2, 2, 8065, 8066, 7, 78, 2, 2, 8066, 8067, 7, 81, 2, 2, 8067, 8068, 7, 82, 2, 2, 8068, 8069, 7, 71, 2, 2, 8069, 1400, 3, 2, 2, 2, 8070, 8071, 7, 71, 2, 2, 8071, 8072, 7, 83, 2, 2, 8072, 8073, 7, 87, 2, 2, 8073, 8074, 7, 67, 2, 2, 8074, 8075, 7, 78, 2, 2, 8075, 8076, 7, 85, 2, 2, 8076, 1402, 3, 2, 2, 2, 8077, 8078, 7, 71, 2, 2, 8078, 8079, 7, 90, 2, 2, 8079, 8080, 7, 82, 2, 2, 8080, 1404, 3, 2, 2, 2, 8081, 8082, 7, 71, 2, 2, 8082, 8083, 7, 90, 2, 2, 8083, 8084, 7, 82, 2, 2, 8084, 8085, 7, 81, 2, 2, 8085, 8086, 7, 84, 2, 2, 8086, 8087, 7, 86, 2, 2, 8087, 8088, 7, 97, 2, 2, 8088, 8089, 7, 85, 2, 2, 8089, 8090, 7, 71, 2, 2, 8090, 8091, 7, 86, 2, 2, 8091, 1406, 3, 2, 2, 2, 8092, 8093, 7, 71, 2, 2, 8093, 8094, 7, 90, 2, 2, 8094, 8095, 7, 86, 2, 2, 8095, 8096, 7, 71, 2, 2, 8096, 8097, 7, 84, 2, 2, 8097, 8098, 7, 75, 2, 2, 8098, 8099, 7, 81, 2, 2, 8099, 8100, 7, 84, 2, 2, 8100, 8101, 7, 84, 2, 2, 8101, 8102, 7, 75, 2, 2, 8102, 8103, 7, 80, 2, 2, 8103, 8104, 7, 73, 2, 2, 8104, 1408, 3, 2, 2, 2, 8105, 8106, 7, 71, 2, 2, 8106, 8107, 7, 90, 2, 2, 8107, 8108, 7, 86, 2, 2, 8108, 8109, 7, 84, 2, 2, 8109, 8110, 7, 67, 2, 2, 8110, 8111, 7, 69, 2, 2, 8111, 8112, 7, 86, 2, 2, 8112, 8113, 7, 88, 2, 2, 8113, 8114, 7, 67, 2, 2, 8114, 8115, 7, 78, 2, 2, 8115, 8116, 7, 87, 2, 2, 8116, 8117, 7, 71, 2, 2, 8117, 1410, 3, 2, 2, 2, 8118, 8119, 7, 72, 2, 2, 8119, 8120, 7, 75, 2, 2, 8120, 8121, 7, 71, 2, 2, 8121, 8122, 7, 78, 2, 2, 8122, 8123, 7, 70, 2, 2, 8123, 1412, 3, 2, 2, 2, 8124, 8125, 7, 72, 2, 2, 8125, 8126, 7, 75, 2, 2, 8126, 8127, 7, 80, 2, 2, 8127, 8128, 7, 70, 2, 2, 8128, 8129, 7, 97, 2, 2, 8129, 8130, 7, 75, 2, 2, 8130, 8131, 7, 80, 2, 2, 8131, 8132, 7, 97, 2, 2, 8132, 8133, 7, 85, 2, 2, 8133, 8134, 7, 71, 2, 2, 8134, 8135, 7, 86, 2, 2, 8135, 1414, 3, 2, 2, 2, 8136, 8137, 7, 72, 2, 2, 8137, 8138, 7, 78, 2, 2, 8138, 8139, 7, 81, 2, 2, 8139, 8140, 7, 81, 2, 2, 8140, 8141, 7, 84, 2, 2, 8141, 1416, 3, 2, 2, 2, 8142, 8143, 7, 72, 2, 2, 8143, 8144, 7, 81, 2, 2, 8144, 8145, 7, 84, 2, 2, 8145, 8146, 7, 79, 2, 2, 8146, 8147, 7, 67, 2, 2, 8147, 8148, 7, 86, 2, 2, 8148, 1418, 3, 2, 2, 2, 8149, 8150, 7, 72, 2, 2, 8150, 8151, 7, 81, 2, 2, 8151, 8152, 7, 87, 2, 2, 8152, 8153, 7, 80, 2, 2, 8153, 8154, 7, 70, 2, 2, 8154, 8155, 7, 97, 2, 2, 8155, 8156, 7, 84, 2, 2, 8156, 8157, 7, 81, 2, 2, 8157, 8158, 7, 89, 2, 2, 8158, 8159, 7, 85, 2, 2, 8159, 1420, 3, 2, 2, 2, 8160, 8161, 7, 72, 2, 2, 8161, 8162, 7, 84, 2, 2, 8162, 8163, 7, 81, 2, 2, 8163, 8164, 7, 79, 2, 2, 8164, 8165, 7, 97, 2, 2, 8165, 8166, 7, 68, 2, 2, 8166, 8167, 7, 67, 2, 2, 8167, 8168, 7, 85, 2, 2, 8168, 8169, 7, 71, 2, 2, 8169, 8170, 7, 56, 2, 2, 8170, 8171, 7, 54, 2, 2, 8171, 1422, 3, 2, 2, 2, 8172, 8173, 7, 72, 2, 2, 8173, 8174, 7, 84, 2, 2, 8174, 8175, 7, 81, 2, 2, 8175, 8176, 7, 79, 2, 2, 8176, 8177, 7, 97, 2, 2, 8177, 8178, 7, 70, 2, 2, 8178, 8179, 7, 67, 2, 2, 8179, 8180, 7, 91, 2, 2, 8180, 8181, 7, 85, 2, 2, 8181, 1424, 3, 2, 2, 2, 8182, 8183, 7, 72, 2, 2, 8183, 8184, 7, 84, 2, 2, 8184, 8185, 7, 81, 2, 2, 8185, 8186, 7, 79, 2, 2, 8186, 8187, 7, 97, 2, 2, 8187, 8188, 7, 87, 2, 2, 8188, 8189, 7, 80, 2, 2, 8189, 8190, 7, 75, 2, 2, 8190, 8191, 7, 90, 2, 2, 8191, 8192, 7, 86, 2, 2, 8192, 8193, 7, 75, 2, 2, 8193, 8194, 7, 79, 2, 2, 8194, 8195, 7, 71, 2, 2, 8195, 1426, 3, 2, 2, 2, 8196, 8197, 7, 73, 2, 2, 8197, 8198, 7, 71, 2, 2, 8198, 8199, 7, 81, 2, 2, 8199, 8200, 7, 79, 2, 2, 8200, 8201, 7, 69, 2, 2, 8201, 8202, 7, 81, 2, 2, 8202, 8203, 7, 78, 2, 2, 8203, 8204, 7, 78, 2, 2, 8204, 8205, 7, 72, 2, 2, 8205, 8206, 7, 84, 2, 2, 8206, 8207, 7, 81, 2, 2, 8207, 8208, 7, 79, 2, 2, 8208, 8209, 7, 86, 2, 2, 8209, 8210, 7, 71, 2, 2, 8210, 8211, 7, 90, 2, 2, 8211, 8212, 7, 86, 2, 2, 8212, 1428, 3, 2, 2, 2, 8213, 8214, 7, 73, 2, 2, 8214, 8215, 7, 71, 2, 2, 8215, 8216, 7, 81, 2, 2, 8216, 8217, 7, 79, 2, 2, 8217, 8218, 7, 69, 2, 2, 8218, 8219, 7, 81, 2, 2, 8219, 8220, 7, 78, 2, 2, 8220, 8221, 7, 78, 2, 2, 8221, 8222, 7, 72, 2, 2, 8222, 8223, 7, 84, 2, 2, 8223, 8224, 7, 81, 2, 2, 8224, 8225, 7, 79, 2, 2, 8225, 8226, 7, 89, 2, 2, 8226, 8227, 7, 77, 2, 2, 8227, 8228, 7, 68, 2, 2, 8228, 1430, 3, 2, 2, 2, 8229, 8230, 7, 73, 2, 2, 8230, 8231, 7, 71, 2, 2, 8231, 8232, 7, 81, 2, 2, 8232, 8233, 7, 79, 2, 2, 8233, 8234, 7, 71, 2, 2, 8234, 8235, 7, 86, 2, 2, 8235, 8236, 7, 84, 2, 2, 8236, 8237, 7, 91, 2, 2, 8237, 8238, 7, 69, 2, 2, 8238, 8239, 7, 81, 2, 2, 8239, 8240, 7, 78, 2, 2, 8240, 8241, 7, 78, 2, 2, 8241, 8242, 7, 71, 2, 2, 8242, 8243, 7, 69, 2, 2, 8243, 8244, 7, 86, 2, 2, 8244, 8245, 7, 75, 2, 2, 8245, 8246, 7, 81, 2, 2, 8246, 8247, 7, 80, 2, 2, 8247, 8248, 7, 72, 2, 2, 8248, 8249, 7, 84, 2, 2, 8249, 8250, 7, 81, 2, 2, 8250, 8251, 7, 79, 2, 2, 8251, 8252, 7, 86, 2, 2, 8252, 8253, 7, 71, 2, 2, 8253, 8254, 7, 90, 2, 2, 8254, 8255, 7, 86, 2, 2, 8255, 1432, 3, 2, 2, 2, 8256, 8257, 7, 73, 2, 2, 8257, 8258, 7, 71, 2, 2, 8258, 8259, 7, 81, 2, 2, 8259, 8260, 7, 79, 2, 2, 8260, 8261, 7, 71, 2, 2, 8261, 8262, 7, 86, 2, 2, 8262, 8263, 7, 84, 2, 2, 8263, 8264, 7, 91, 2, 2, 8264, 8265, 7, 69, 2, 2, 8265, 8266, 7, 81, 2, 2, 8266, 8267, 7, 78, 2, 2, 8267, 8268, 7, 78, 2, 2, 8268, 8269, 7, 71, 2, 2, 8269, 8270, 7, 69, 2, 2, 8270, 8271, 7, 86, 2, 2, 8271, 8272, 7, 75, 2, 2, 8272, 8273, 7, 81, 2, 2, 8273, 8274, 7, 80, 2, 2, 8274, 8275, 7, 72, 2, 2, 8275, 8276, 7, 84, 2, 2, 8276, 8277, 7, 81, 2, 2, 8277, 8278, 7, 79, 2, 2, 8278, 8279, 7, 89, 2, 2, 8279, 8280, 7, 77, 2, 2, 8280, 8281, 7, 68, 2, 2, 8281, 1434, 3, 2, 2, 2, 8282, 8283, 7, 73, 2, 2, 8283, 8284, 7, 71, 2, 2, 8284, 8285, 7, 81, 2, 2, 8285, 8286, 7, 79, 2, 2, 8286, 8287, 7, 71, 2, 2, 8287, 8288, 7, 86, 2, 2, 8288, 8289, 7, 84, 2, 2, 8289, 8290, 7, 91, 2, 2, 8290, 8291, 7, 72, 2, 2, 8291, 8292, 7, 84, 2, 2, 8292, 8293, 7, 81, 2, 2, 8293, 8294, 7, 79, 2, 2, 8294, 8295, 7, 86, 2, 2, 8295, 8296, 7, 71, 2, 2, 8296, 8297, 7, 90, 2, 2, 8297, 8298, 7, 86, 2, 2, 8298, 1436, 3, 2, 2, 2, 8299, 8300, 7, 73, 2, 2, 8300, 8301, 7, 71, 2, 2, 8301, 8302, 7, 81, 2, 2, 8302, 8303, 7, 79, 2, 2, 8303, 8304, 7, 71, 2, 2, 8304, 8305, 7, 86, 2, 2, 8305, 8306, 7, 84, 2, 2, 8306, 8307, 7, 91, 2, 2, 8307, 8308, 7, 72, 2, 2, 8308, 8309, 7, 84, 2, 2, 8309, 8310, 7, 81, 2, 2, 8310, 8311, 7, 79, 2, 2, 8311, 8312, 7, 89, 2, 2, 8312, 8313, 7, 77, 2, 2, 8313, 8314, 7, 68, 2, 2, 8314, 1438, 3, 2, 2, 2, 8315, 8316, 7, 73, 2, 2, 8316, 8317, 7, 71, 2, 2, 8317, 8318, 7, 81, 2, 2, 8318, 8319, 7, 79, 2, 2, 8319, 8320, 7, 71, 2, 2, 8320, 8321, 7, 86, 2, 2, 8321, 8322, 7, 84, 2, 2, 8322, 8323, 7, 91, 2, 2, 8323, 8324, 7, 80, 2, 2, 8324, 1440, 3, 2, 2, 2, 8325, 8326, 7, 73, 2, 2, 8326, 8327, 7, 71, 2, 2, 8327, 8328, 7, 81, 2, 2, 8328, 8329, 7, 79, 2, 2, 8329, 8330, 7, 71, 2, 2, 8330, 8331, 7, 86, 2, 2, 8331, 8332, 7, 84, 2, 2, 8332, 8333, 7, 91, 2, 2, 8333, 8334, 7, 86, 2, 2, 8334, 8335, 7, 91, 2, 2, 8335, 8336, 7, 82, 2, 2, 8336, 8337, 7, 71, 2, 2, 8337, 1442, 3, 2, 2, 2, 8338, 8339, 7, 73, 2, 2, 8339, 8340, 7, 71, 2, 2, 8340, 8341, 7, 81, 2, 2, 8341, 8342, 7, 79, 2, 2, 8342, 8343, 7, 72, 2, 2, 8343, 8344, 7, 84, 2, 2, 8344, 8345, 7, 81, 2, 2, 8345, 8346, 7, 79, 2, 2, 8346, 8347, 7, 86, 2, 2, 8347, 8348, 7, 71, 2, 2, 8348, 8349, 7, 90, 2, 2, 8349, 8350, 7, 86, 2, 2, 8350, 1444, 3, 2, 2, 2, 8351, 8352, 7, 73, 2, 2, 8352, 8353, 7, 71, 2, 2, 8353, 8354, 7, 81, 2, 2, 8354, 8355, 7, 79, 2, 2, 8355, 8356, 7, 72, 2, 2, 8356, 8357, 7, 84, 2, 2, 8357, 8358, 7, 81, 2, 2, 8358, 8359, 7, 79, 2, 2, 8359, 8360, 7, 89, 2, 2, 8360, 8361, 7, 77, 2, 2, 8361, 8362, 7, 68, 2, 2, 8362, 1446, 3, 2, 2, 2, 8363, 8364, 7, 73, 2, 2, 8364, 8365, 7, 71, 2, 2, 8365, 8366, 7, 86, 2, 2, 8366, 8367, 7, 97, 2, 2, 8367, 8368, 7, 72, 2, 2, 8368, 8369, 7, 81, 2, 2, 8369, 8370, 7, 84, 2, 2, 8370, 8371, 7, 79, 2, 2, 8371, 8372, 7, 67, 2, 2, 8372, 8373, 7, 86, 2, 2, 8373, 1448, 3, 2, 2, 2, 8374, 8375, 7, 73, 2, 2, 8375, 8376, 7, 71, 2, 2, 8376, 8377, 7, 86, 2, 2, 8377, 8378, 7, 97, 2, 2, 8378, 8379, 7, 78, 2, 2, 8379, 8380, 7, 81, 2, 2, 8380, 8381, 7, 69, 2, 2, 8381, 8382, 7, 77, 2, 2, 8382, 1450, 3, 2, 2, 2, 8383, 8384, 7, 73, 2, 2, 8384, 8385, 7, 78, 2, 2, 8385, 8386, 7, 71, 2, 2, 8386, 8387, 7, 80, 2, 2, 8387, 8388, 7, 73, 2, 2, 8388, 8389, 7, 86, 2, 2, 8389, 8390, 7, 74, 2, 2, 8390, 1452, 3, 2, 2, 2, 8391, 8392, 7, 73, 2, 2, 8392, 8393, 7, 84, 2, 2, 8393, 8394, 7, 71, 2, 2, 8394, 8395, 7, 67, 2, 2, 8395, 8396, 7, 86, 2, 2, 8396, 8397, 7, 71, 2, 2, 8397, 8398, 7, 85, 2, 2, 8398, 8399, 7, 86, 2, 2, 8399, 1454, 3, 2, 2, 2, 8400, 8401, 7, 73, 2, 2, 8401, 8402, 7, 86, 2, 2, 8402, 8403, 7, 75, 2, 2, 8403, 8404, 7, 70, 2, 2, 8404, 8405, 7, 97, 2, 2, 8405, 8406, 7, 85, 2, 2, 8406, 8407, 7, 87, 2, 2, 8407, 8408, 7, 68, 2, 2, 8408, 8409, 7, 85, 2, 2, 8409, 8410, 7, 71, 2, 2, 8410, 8411, 7, 86, 2, 2, 8411, 1456, 3, 2, 2, 2, 8412, 8413, 7, 73, 2, 2, 8413, 8414, 7, 86, 2, 2, 8414, 8415, 7, 75, 2, 2, 8415, 8416, 7, 70, 2, 2, 8416, 8417, 7, 97, 2, 2, 8417, 8418, 7, 85, 2, 2, 8418, 8419, 7, 87, 2, 2, 8419, 8420, 7, 68, 2, 2, 8420, 8421, 7, 86, 2, 2, 8421, 8422, 7, 84, 2, 2, 8422, 8423, 7, 67, 2, 2, 8423, 8424, 7, 69, 2, 2, 8424, 8425, 7, 86, 2, 2, 8425, 1458, 3, 2, 2, 2, 8426, 8427, 7, 74, 2, 2, 8427, 8428, 7, 71, 2, 2, 8428, 8429, 7, 90, 2, 2, 8429, 1460, 3, 2, 2, 2, 8430, 8431, 7, 75, 2, 2, 8431, 8432, 7, 72, 2, 2, 8432, 8433, 7, 80, 2, 2, 8433, 8434, 7, 87, 2, 2, 8434, 8435, 7, 78, 2, 2, 8435, 8436, 7, 78, 2, 2, 8436, 1462, 3, 2, 2, 2, 8437, 8438, 7, 75, 2, 2, 8438, 8439, 7, 80, 2, 2, 8439, 8440, 7, 71, 2, 2, 8440, 8441, 7, 86, 2, 2, 8441, 8442, 7, 56, 2, 2, 8442, 8443, 7, 97, 2, 2, 8443, 8444, 7, 67, 2, 2, 8444, 8445, 7, 86, 2, 2, 8445, 8446, 7, 81, 2, 2, 8446, 8447, 7, 80, 2, 2, 8447, 1464, 3, 2, 2, 2, 8448, 8449, 7, 75, 2, 2, 8449, 8450, 7, 80, 2, 2, 8450, 8451, 7, 71, 2, 2, 8451, 8452, 7, 86, 2, 2, 8452, 8453, 7, 56, 2, 2, 8453, 8454, 7, 97, 2, 2, 8454, 8455, 7, 80, 2, 2, 8455, 8456, 7, 86, 2, 2, 8456, 8457, 7, 81, 2, 2, 8457, 8458, 7, 67, 2, 2, 8458, 1466, 3, 2, 2, 2, 8459, 8460, 7, 75, 2, 2, 8460, 8461, 7, 80, 2, 2, 8461, 8462, 7, 71, 2, 2, 8462, 8463, 7, 86, 2, 2, 8463, 8464, 7, 97, 2, 2, 8464, 8465, 7, 67, 2, 2, 8465, 8466, 7, 86, 2, 2, 8466, 8467, 7, 81, 2, 2, 8467, 8468, 7, 80, 2, 2, 8468, 1468, 3, 2, 2, 2, 8469, 8470, 7, 75, 2, 2, 8470, 8471, 7, 80, 2, 2, 8471, 8472, 7, 71, 2, 2, 8472, 8473, 7, 86, 2, 2, 8473, 8474, 7, 97, 2, 2, 8474, 8475, 7, 80, 2, 2, 8475, 8476, 7, 86, 2, 2, 8476, 8477, 7, 81, 2, 2, 8477, 8478, 7, 67, 2, 2, 8478, 1470, 3, 2, 2, 2, 8479, 8480, 7, 75, 2, 2, 8480, 8481, 7, 80, 2, 2, 8481, 8482, 7, 85, 2, 2, 8482, 8483, 7, 86, 2, 2, 8483, 8484, 7, 84, 2, 2, 8484, 1472, 3, 2, 2, 2, 8485, 8486, 7, 75, 2, 2, 8486, 8487, 7, 80, 2, 2, 8487, 8488, 7, 86, 2, 2, 8488, 8489, 7, 71, 2, 2, 8489, 8490, 7, 84, 2, 2, 8490, 8491, 7, 75, 2, 2, 8491, 8492, 7, 81, 2, 2, 8492, 8493, 7, 84, 2, 2, 8493, 8494, 7, 84, 2, 2, 8494, 8495, 7, 75, 2, 2, 8495, 8496, 7, 80, 2, 2, 8496, 8497, 7, 73, 2, 2, 8497, 8498, 7, 80, 2, 2, 8498, 1474, 3, 2, 2, 2, 8499, 8500, 7, 75, 2, 2, 8500, 8501, 7, 80, 2, 2, 8501, 8502, 7, 86, 2, 2, 8502, 8503, 7, 71, 2, 2, 8503, 8504, 7, 84, 2, 2, 8504, 8505, 7, 85, 2, 2, 8505, 8506, 7, 71, 2, 2, 8506, 8507, 7, 69, 2, 2, 8507, 8508, 7, 86, 2, 2, 8508, 8509, 7, 85, 2, 2, 8509, 1476, 3, 2, 2, 2, 8510, 8511, 7, 75, 2, 2, 8511, 8512, 7, 85, 2, 2, 8512, 8513, 7, 69, 2, 2, 8513, 8514, 7, 78, 2, 2, 8514, 8515, 7, 81, 2, 2, 8515, 8516, 7, 85, 2, 2, 8516, 8517, 7, 71, 2, 2, 8517, 8518, 7, 70, 2, 2, 8518, 1478, 3, 2, 2, 2, 8519, 8520, 7, 75, 2, 2, 8520, 8521, 7, 85, 2, 2, 8521, 8522, 7, 71, 2, 2, 8522, 8523, 7, 79, 2, 2, 8523, 8524, 7, 82, 2, 2, 8524, 8525, 7, 86, 2, 2, 8525, 8526, 7, 91, 2, 2, 8526, 1480, 3, 2, 2, 2, 8527, 8528, 7, 75, 2, 2, 8528, 8529, 7, 85, 2, 2, 8529, 8530, 7, 80, 2, 2, 8530, 8531, 7, 87, 2, 2, 8531, 8532, 7, 78, 2, 2, 8532, 8533, 7, 78, 2, 2, 8533, 1482, 3, 2, 2, 2, 8534, 8535, 7, 75, 2, 2, 8535, 8536, 7, 85, 2, 2, 8536, 8537, 7, 85, 2, 2, 8537, 8538, 7, 75, 2, 2, 8538, 8539, 7, 79, 2, 2, 8539, 8540, 7, 82, 2, 2, 8540, 8541, 7, 78, 2, 2, 8541, 8542, 7, 71, 2, 2, 8542, 1484, 3, 2, 2, 2, 8543, 8544, 7, 75, 2, 2, 8544, 8545, 7, 85, 2, 2, 8545, 8546, 7, 97, 2, 2, 8546, 8547, 7, 72, 2, 2, 8547, 8548, 7, 84, 2, 2, 8548, 8549, 7, 71, 2, 2, 8549, 8550, 7, 71, 2, 2, 8550, 8551, 7, 97, 2, 2, 8551, 8552, 7, 78, 2, 2, 8552, 8553, 7, 81, 2, 2, 8553, 8554, 7, 69, 2, 2, 8554, 8555, 7, 77, 2, 2, 8555, 1486, 3, 2, 2, 2, 8556, 8557, 7, 75, 2, 2, 8557, 8558, 7, 85, 2, 2, 8558, 8559, 7, 97, 2, 2, 8559, 8560, 7, 75, 2, 2, 8560, 8561, 7, 82, 2, 2, 8561, 8562, 7, 88, 2, 2, 8562, 8563, 7, 54, 2, 2, 8563, 1488, 3, 2, 2, 2, 8564, 8565, 7, 75, 2, 2, 8565, 8566, 7, 85, 2, 2, 8566, 8567, 7, 97, 2, 2, 8567, 8568, 7, 75, 2, 2, 8568, 8569, 7, 82, 2, 2, 8569, 8570, 7, 88, 2, 2, 8570, 8571, 7, 54, 2, 2, 8571, 8572, 7, 97, 2, 2, 8572, 8573, 7, 69, 2, 2, 8573, 8574, 7, 81, 2, 2, 8574, 8575, 7, 79, 2, 2, 8575, 8576, 7, 82, 2, 2, 8576, 8577, 7, 67, 2, 2, 8577, 8578, 7, 86, 2, 2, 8578, 1490, 3, 2, 2, 2, 8579, 8580, 7, 75, 2, 2, 8580, 8581, 7, 85, 2, 2, 8581, 8582, 7, 97, 2, 2, 8582, 8583, 7, 75, 2, 2, 8583, 8584, 7, 82, 2, 2, 8584, 8585, 7, 88, 2, 2, 8585, 8586, 7, 54, 2, 2, 8586, 8587, 7, 97, 2, 2, 8587, 8588, 7, 79, 2, 2, 8588, 8589, 7, 67, 2, 2, 8589, 8590, 7, 82, 2, 2, 8590, 8591, 7, 82, 2, 2, 8591, 8592, 7, 71, 2, 2, 8592, 8593, 7, 70, 2, 2, 8593, 1492, 3, 2, 2, 2, 8594, 8595, 7, 75, 2, 2, 8595, 8596, 7, 85, 2, 2, 8596, 8597, 7, 97, 2, 2, 8597, 8598, 7, 75, 2, 2, 8598, 8599, 7, 82, 2, 2, 8599, 8600, 7, 88, 2, 2, 8600, 8601, 7, 56, 2, 2, 8601, 1494, 3, 2, 2, 2, 8602, 8603, 7, 75, 2, 2, 8603, 8604, 7, 85, 2, 2, 8604, 8605, 7, 97, 2, 2, 8605, 8606, 7, 87, 2, 2, 8606, 8607, 7, 85, 2, 2, 8607, 8608, 7, 71, 2, 2, 8608, 8609, 7, 70, 2, 2, 8609, 8610, 7, 97, 2, 2, 8610, 8611, 7, 78, 2, 2, 8611, 8612, 7, 81, 2, 2, 8612, 8613, 7, 69, 2, 2, 8613, 8614, 7, 77, 2, 2, 8614, 1496, 3, 2, 2, 2, 8615, 8616, 7, 78, 2, 2, 8616, 8617, 7, 67, 2, 2, 8617, 8618, 7, 85, 2, 2, 8618, 8619, 7, 86, 2, 2, 8619, 8620, 7, 97, 2, 2, 8620, 8621, 7, 75, 2, 2, 8621, 8622, 7, 80, 2, 2, 8622, 8623, 7, 85, 2, 2, 8623, 8624, 7, 71, 2, 2, 8624, 8625, 7, 84, 2, 2, 8625, 8626, 7, 86, 2, 2, 8626, 8627, 7, 97, 2, 2, 8627, 8628, 7, 75, 2, 2, 8628, 8629, 7, 70, 2, 2, 8629, 1498, 3, 2, 2, 2, 8630, 8631, 7, 78, 2, 2, 8631, 8632, 7, 69, 2, 2, 8632, 8633, 7, 67, 2, 2, 8633, 8634, 7, 85, 2, 2, 8634, 8635, 7, 71, 2, 2, 8635, 1500, 3, 2, 2, 2, 8636, 8637, 7, 78, 2, 2, 8637, 8638, 7, 71, 2, 2, 8638, 8639, 7, 67, 2, 2, 8639, 8640, 7, 85, 2, 2, 8640, 8641, 7, 86, 2, 2, 8641, 1502, 3, 2, 2, 2, 8642, 8643, 7, 78, 2, 2, 8643, 8644, 7, 71, 2, 2, 8644, 8645, 7, 80, 2, 2, 8645, 8646, 7, 73, 2, 2, 8646, 8647, 7, 86, 2, 2, 8647, 8648, 7, 74, 2, 2, 8648, 1504, 3, 2, 2, 2, 8649, 8650, 7, 78, 2, 2, 8650, 8651, 7, 75, 2, 2, 8651, 8652, 7, 80, 2, 2, 8652, 8653, 7, 71, 2, 2, 8653, 8654, 7, 72, 2, 2, 8654, 8655, 7, 84, 2, 2, 8655, 8656, 7, 81, 2, 2, 8656, 8657, 7, 79, 2, 2, 8657, 8658, 7, 86, 2, 2, 8658, 8659, 7, 71, 2, 2, 8659, 8660, 7, 90, 2, 2, 8660, 8661, 7, 86, 2, 2, 8661, 1506, 3, 2, 2, 2, 8662, 8663, 7, 78, 2, 2, 8663, 8664, 7, 75, 2, 2, 8664, 8665, 7, 80, 2, 2, 8665, 8666, 7, 71, 2, 2, 8666, 8667, 7, 72, 2, 2, 8667, 8668, 7, 84, 2, 2, 8668, 8669, 7, 81, 2, 2, 8669, 8670, 7, 79, 2, 2, 8670, 8671, 7, 89, 2, 2, 8671, 8672, 7, 77, 2, 2, 8672, 8673, 7, 68, 2, 2, 8673, 1508, 3, 2, 2, 2, 8674, 8675, 7, 78, 2, 2, 8675, 8676, 7, 75, 2, 2, 8676, 8677, 7, 80, 2, 2, 8677, 8678, 7, 71, 2, 2, 8678, 8679, 7, 85, 2, 2, 8679, 8680, 7, 86, 2, 2, 8680, 8681, 7, 84, 2, 2, 8681, 8682, 7, 75, 2, 2, 8682, 8683, 7, 80, 2, 2, 8683, 8684, 7, 73, 2, 2, 8684, 8685, 7, 72, 2, 2, 8685, 8686, 7, 84, 2, 2, 8686, 8687, 7, 81, 2, 2, 8687, 8688, 7, 79, 2, 2, 8688, 8689, 7, 86, 2, 2, 8689, 8690, 7, 71, 2, 2, 8690, 8691, 7, 90, 2, 2, 8691, 8692, 7, 86, 2, 2, 8692, 1510, 3, 2, 2, 2, 8693, 8694, 7, 78, 2, 2, 8694, 8695, 7, 75, 2, 2, 8695, 8696, 7, 80, 2, 2, 8696, 8697, 7, 71, 2, 2, 8697, 8698, 7, 85, 2, 2, 8698, 8699, 7, 86, 2, 2, 8699, 8700, 7, 84, 2, 2, 8700, 8701, 7, 75, 2, 2, 8701, 8702, 7, 80, 2, 2, 8702, 8703, 7, 73, 2, 2, 8703, 8704, 7, 72, 2, 2, 8704, 8705, 7, 84, 2, 2, 8705, 8706, 7, 81, 2, 2, 8706, 8707, 7, 79, 2, 2, 8707, 8708, 7, 89, 2, 2, 8708, 8709, 7, 77, 2, 2, 8709, 8710, 7, 68, 2, 2, 8710, 1512, 3, 2, 2, 2, 8711, 8712, 7, 78, 2, 2, 8712, 8713, 7, 80, 2, 2, 8713, 1514, 3, 2, 2, 2, 8714, 8715, 7, 78, 2, 2, 8715, 8716, 7, 81, 2, 2, 8716, 8717, 7, 67, 2, 2, 8717, 8718, 7, 70, 2, 2, 8718, 8719, 7, 97, 2, 2, 8719, 8720, 7, 72, 2, 2, 8720, 8721, 7, 75, 2, 2, 8721, 8722, 7, 78, 2, 2, 8722, 8723, 7, 71, 2, 2, 8723, 1516, 3, 2, 2, 2, 8724, 8725, 7, 78, 2, 2, 8725, 8726, 7, 81, 2, 2, 8726, 8727, 7, 69, 2, 2, 8727, 8728, 7, 67, 2, 2, 8728, 8729, 7, 86, 2, 2, 8729, 8730, 7, 71, 2, 2, 8730, 1518, 3, 2, 2, 2, 8731, 8732, 7, 78, 2, 2, 8732, 8733, 7, 81, 2, 2, 8733, 8734, 7, 73, 2, 2, 8734, 1520, 3, 2, 2, 2, 8735, 8736, 7, 78, 2, 2, 8736, 8737, 7, 81, 2, 2, 8737, 8738, 7, 73, 2, 2, 8738, 8739, 7, 51, 2, 2, 8739, 8740, 7, 50, 2, 2, 8740, 1522, 3, 2, 2, 2, 8741, 8742, 7, 78, 2, 2, 8742, 8743, 7, 81, 2, 2, 8743, 8744, 7, 73, 2, 2, 8744, 8745, 7, 52, 2, 2, 8745, 1524, 3, 2, 2, 2, 8746, 8747, 7, 78, 2, 2, 8747, 8748, 7, 81, 2, 2, 8748, 8749, 7, 89, 2, 2, 8749, 8750, 7, 71, 2, 2, 8750, 8751, 7, 84, 2, 2, 8751, 1526, 3, 2, 2, 2, 8752, 8753, 7, 78, 2, 2, 8753, 8754, 7, 82, 2, 2, 8754, 8755, 7, 67, 2, 2, 8755, 8756, 7, 70, 2, 2, 8756, 1528, 3, 2, 2, 2, 8757, 8758, 7, 78, 2, 2, 8758, 8759, 7, 86, 2, 2, 8759, 8760, 7, 84, 2, 2, 8760, 8761, 7, 75, 2, 2, 8761, 8762, 7, 79, 2, 2, 8762, 1530, 3, 2, 2, 2, 8763, 8764, 7, 79, 2, 2, 8764, 8765, 7, 67, 2, 2, 8765, 8766, 7, 77, 2, 2, 8766, 8767, 7, 71, 2, 2, 8767, 8768, 7, 70, 2, 2, 8768, 8769, 7, 67, 2, 2, 8769, 8770, 7, 86, 2, 2, 8770, 8771, 7, 71, 2, 2, 8771, 1532, 3, 2, 2, 2, 8772, 8773, 7, 79, 2, 2, 8773, 8774, 7, 67, 2, 2, 8774, 8775, 7, 77, 2, 2, 8775, 8776, 7, 71, 2, 2, 8776, 8777, 7, 86, 2, 2, 8777, 8778, 7, 75, 2, 2, 8778, 8779, 7, 79, 2, 2, 8779, 8780, 7, 71, 2, 2, 8780, 1534, 3, 2, 2, 2, 8781, 8782, 7, 79, 2, 2, 8782, 8783, 7, 67, 2, 2, 8783, 8784, 7, 77, 2, 2, 8784, 8785, 7, 71, 2, 2, 8785, 8786, 7, 97, 2, 2, 8786, 8787, 7, 85, 2, 2, 8787, 8788, 7, 71, 2, 2, 8788, 8789, 7, 86, 2, 2, 8789, 1536, 3, 2, 2, 2, 8790, 8791, 7, 79, 2, 2, 8791, 8792, 7, 67, 2, 2, 8792, 8793, 7, 85, 2, 2, 8793, 8794, 7, 86, 2, 2, 8794, 8795, 7, 71, 2, 2, 8795, 8796, 7, 84, 2, 2, 8796, 8797, 7, 97, 2, 2, 8797, 8798, 7, 82, 2, 2, 8798, 8799, 7, 81, 2, 2, 8799, 8800, 7, 85, 2, 2, 8800, 8801, 7, 97, 2, 2, 8801, 8802, 7, 89, 2, 2, 8802, 8803, 7, 67, 2, 2, 8803, 8804, 7, 75, 2, 2, 8804, 8805, 7, 86, 2, 2, 8805, 1538, 3, 2, 2, 2, 8806, 8807, 7, 79, 2, 2, 8807, 8808, 7, 68, 2, 2, 8808, 8809, 7, 84, 2, 2, 8809, 8810, 7, 69, 2, 2, 8810, 8811, 7, 81, 2, 2, 8811, 8812, 7, 80, 2, 2, 8812, 8813, 7, 86, 2, 2, 8813, 8814, 7, 67, 2, 2, 8814, 8815, 7, 75, 2, 2, 8815, 8816, 7, 80, 2, 2, 8816, 8817, 7, 85, 2, 2, 8817, 1540, 3, 2, 2, 2, 8818, 8819, 7, 79, 2, 2, 8819, 8820, 7, 68, 2, 2, 8820, 8821, 7, 84, 2, 2, 8821, 8822, 7, 70, 2, 2, 8822, 8823, 7, 75, 2, 2, 8823, 8824, 7, 85, 2, 2, 8824, 8825, 7, 76, 2, 2, 8825, 8826, 7, 81, 2, 2, 8826, 8827, 7, 75, 2, 2, 8827, 8828, 7, 80, 2, 2, 8828, 8829, 7, 86, 2, 2, 8829, 1542, 3, 2, 2, 2, 8830, 8831, 7, 79, 2, 2, 8831, 8832, 7, 68, 2, 2, 8832, 8833, 7, 84, 2, 2, 8833, 8834, 7, 71, 2, 2, 8834, 8835, 7, 83, 2, 2, 8835, 8836, 7, 87, 2, 2, 8836, 8837, 7, 67, 2, 2, 8837, 8838, 7, 78, 2, 2, 8838, 1544, 3, 2, 2, 2, 8839, 8840, 7, 79, 2, 2, 8840, 8841, 7, 68, 2, 2, 8841, 8842, 7, 84, 2, 2, 8842, 8843, 7, 75, 2, 2, 8843, 8844, 7, 80, 2, 2, 8844, 8845, 7, 86, 2, 2, 8845, 8846, 7, 71, 2, 2, 8846, 8847, 7, 84, 2, 2, 8847, 8848, 7, 85, 2, 2, 8848, 8849, 7, 71, 2, 2, 8849, 8850, 7, 69, 2, 2, 8850, 8851, 7, 86, 2, 2, 8851, 8852, 7, 85, 2, 2, 8852, 1546, 3, 2, 2, 2, 8853, 8854, 7, 79, 2, 2, 8854, 8855, 7, 68, 2, 2, 8855, 8856, 7, 84, 2, 2, 8856, 8857, 7, 81, 2, 2, 8857, 8858, 7, 88, 2, 2, 8858, 8859, 7, 71, 2, 2, 8859, 8860, 7, 84, 2, 2, 8860, 8861, 7, 78, 2, 2, 8861, 8862, 7, 67, 2, 2, 8862, 8863, 7, 82, 2, 2, 8863, 8864, 7, 85, 2, 2, 8864, 1548, 3, 2, 2, 2, 8865, 8866, 7, 79, 2, 2, 8866, 8867, 7, 68, 2, 2, 8867, 8868, 7, 84, 2, 2, 8868, 8869, 7, 86, 2, 2, 8869, 8870, 7, 81, 2, 2, 8870, 8871, 7, 87, 2, 2, 8871, 8872, 7, 69, 2, 2, 8872, 8873, 7, 74, 2, 2, 8873, 8874, 7, 71, 2, 2, 8874, 8875, 7, 85, 2, 2, 8875, 1550, 3, 2, 2, 2, 8876, 8877, 7, 79, 2, 2, 8877, 8878, 7, 68, 2, 2, 8878, 8879, 7, 84, 2, 2, 8879, 8880, 7, 89, 2, 2, 8880, 8881, 7, 75, 2, 2, 8881, 8882, 7, 86, 2, 2, 8882, 8883, 7, 74, 2, 2, 8883, 8884, 7, 75, 2, 2, 8884, 8885, 7, 80, 2, 2, 8885, 1552, 3, 2, 2, 2, 8886, 8887, 7, 79, 2, 2, 8887, 8888, 7, 70, 2, 2, 8888, 8889, 7, 55, 2, 2, 8889, 1554, 3, 2, 2, 2, 8890, 8891, 7, 79, 2, 2, 8891, 8892, 7, 78, 2, 2, 8892, 8893, 7, 75, 2, 2, 8893, 8894, 7, 80, 2, 2, 8894, 8895, 7, 71, 2, 2, 8895, 8896, 7, 72, 2, 2, 8896, 8897, 7, 84, 2, 2, 8897, 8898, 7, 81, 2, 2, 8898, 8899, 7, 79, 2, 2, 8899, 8900, 7, 86, 2, 2, 8900, 8901, 7, 71, 2, 2, 8901, 8902, 7, 90, 2, 2, 8902, 8903, 7, 86, 2, 2, 8903, 1556, 3, 2, 2, 2, 8904, 8905, 7, 79, 2, 2, 8905, 8906, 7, 78, 2, 2, 8906, 8907, 7, 75, 2, 2, 8907, 8908, 7, 80, 2, 2, 8908, 8909, 7, 71, 2, 2, 8909, 8910, 7, 72, 2, 2, 8910, 8911, 7, 84, 2, 2, 8911, 8912, 7, 81, 2, 2, 8912, 8913, 7, 79, 2, 2, 8913, 8914, 7, 89, 2, 2, 8914, 8915, 7, 77, 2, 2, 8915, 8916, 7, 68, 2, 2, 8916, 1558, 3, 2, 2, 2, 8917, 8918, 7, 79, 2, 2, 8918, 8919, 7, 81, 2, 2, 8919, 8920, 7, 80, 2, 2, 8920, 8921, 7, 86, 2, 2, 8921, 8922, 7, 74, 2, 2, 8922, 8923, 7, 80, 2, 2, 8923, 8924, 7, 67, 2, 2, 8924, 8925, 7, 79, 2, 2, 8925, 8926, 7, 71, 2, 2, 8926, 1560, 3, 2, 2, 2, 8927, 8928, 7, 79, 2, 2, 8928, 8929, 7, 82, 2, 2, 8929, 8930, 7, 81, 2, 2, 8930, 8931, 7, 75, 2, 2, 8931, 8932, 7, 80, 2, 2, 8932, 8933, 7, 86, 2, 2, 8933, 8934, 7, 72, 2, 2, 8934, 8935, 7, 84, 2, 2, 8935, 8936, 7, 81, 2, 2, 8936, 8937, 7, 79, 2, 2, 8937, 8938, 7, 86, 2, 2, 8938, 8939, 7, 71, 2, 2, 8939, 8940, 7, 90, 2, 2, 8940, 8941, 7, 86, 2, 2, 8941, 1562, 3, 2, 2, 2, 8942, 8943, 7, 79, 2, 2, 8943, 8944, 7, 82, 2, 2, 8944, 8945, 7, 81, 2, 2, 8945, 8946, 7, 75, 2, 2, 8946, 8947, 7, 80, 2, 2, 8947, 8948, 7, 86, 2, 2, 8948, 8949, 7, 72, 2, 2, 8949, 8950, 7, 84, 2, 2, 8950, 8951, 7, 81, 2, 2, 8951, 8952, 7, 79, 2, 2, 8952, 8953, 7, 89, 2, 2, 8953, 8954, 7, 77, 2, 2, 8954, 8955, 7, 68, 2, 2, 8955, 1564, 3, 2, 2, 2, 8956, 8957, 7, 79, 2, 2, 8957, 8958, 7, 82, 2, 2, 8958, 8959, 7, 81, 2, 2, 8959, 8960, 7, 78, 2, 2, 8960, 8961, 7, 91, 2, 2, 8961, 8962, 7, 72, 2, 2, 8962, 8963, 7, 84, 2, 2, 8963, 8964, 7, 81, 2, 2, 8964, 8965, 7, 79, 2, 2, 8965, 8966, 7, 86, 2, 2, 8966, 8967, 7, 71, 2, 2, 8967, 8968, 7, 90, 2, 2, 8968, 8969, 7, 86, 2, 2, 8969, 1566, 3, 2, 2, 2, 8970, 8971, 7, 79, 2, 2, 8971, 8972, 7, 82, 2, 2, 8972, 8973, 7, 81, 2, 2, 8973, 8974, 7, 78, 2, 2, 8974, 8975, 7, 91, 2, 2, 8975, 8976, 7, 72, 2, 2, 8976, 8977, 7, 84, 2, 2, 8977, 8978, 7, 81, 2, 2, 8978, 8979, 7, 79, 2, 2, 8979, 8980, 7, 89, 2, 2, 8980, 8981, 7, 77, 2, 2, 8981, 8982, 7, 68, 2, 2, 8982, 1568, 3, 2, 2, 2, 8983, 8984, 7, 79, 2, 2, 8984, 8985, 7, 87, 2, 2, 8985, 8986, 7, 78, 2, 2, 8986, 8987, 7, 86, 2, 2, 8987, 8988, 7, 75, 2, 2, 8988, 8989, 7, 78, 2, 2, 8989, 8990, 7, 75, 2, 2, 8990, 8991, 7, 80, 2, 2, 8991, 8992, 7, 71, 2, 2, 8992, 8993, 7, 85, 2, 2, 8993, 8994, 7, 86, 2, 2, 8994, 8995, 7, 84, 2, 2, 8995, 8996, 7, 75, 2, 2, 8996, 8997, 7, 80, 2, 2, 8997, 8998, 7, 73, 2, 2, 8998, 8999, 7, 72, 2, 2, 8999, 9000, 7, 84, 2, 2, 9000, 9001, 7, 81, 2, 2, 9001, 9002, 7, 79, 2, 2, 9002, 9003, 7, 86, 2, 2, 9003, 9004, 7, 71, 2, 2, 9004, 9005, 7, 90, 2, 2, 9005, 9006, 7, 86, 2, 2, 9006, 1570, 3, 2, 2, 2, 9007, 9008, 7, 79, 2, 2, 9008, 9009, 7, 87, 2, 2, 9009, 9010, 7, 78, 2, 2, 9010, 9011, 7, 86, 2, 2, 9011, 9012, 7, 75, 2, 2, 9012, 9013, 7, 78, 2, 2, 9013, 9014, 7, 75, 2, 2, 9014, 9015, 7, 80, 2, 2, 9015, 9016, 7, 71, 2, 2, 9016, 9017, 7, 85, 2, 2, 9017, 9018, 7, 86, 2, 2, 9018, 9019, 7, 84, 2, 2, 9019, 9020, 7, 75, 2, 2, 9020, 9021, 7, 80, 2, 2, 9021, 9022, 7, 73, 2, 2, 9022, 9023, 7, 72, 2, 2, 9023, 9024, 7, 84, 2, 2, 9024, 9025, 7, 81, 2, 2, 9025, 9026, 7, 79, 2, 2, 9026, 9027, 7, 89, 2, 2, 9027, 9028, 7, 77, 2, 2, 9028, 9029, 7, 68, 2, 2, 9029, 1572, 3, 2, 2, 2, 9030, 9031, 7, 79, 2, 2, 9031, 9032, 7, 87, 2, 2, 9032, 9033, 7, 78, 2, 2, 9033, 9034, 7, 86, 2, 2, 9034, 9035, 7, 75, 2, 2, 9035, 9036, 7, 82, 2, 2, 9036, 9037, 7, 81, 2, 2, 9037, 9038, 7, 75, 2, 2, 9038, 9039, 7, 80, 2, 2, 9039, 9040, 7, 86, 2, 2, 9040, 9041, 7, 72, 2, 2, 9041, 9042, 7, 84, 2, 2, 9042, 9043, 7, 81, 2, 2, 9043, 9044, 7, 79, 2, 2, 9044, 9045, 7, 86, 2, 2, 9045, 9046, 7, 71, 2, 2, 9046, 9047, 7, 90, 2, 2, 9047, 9048, 7, 86, 2, 2, 9048, 1574, 3, 2, 2, 2, 9049, 9050, 7, 79, 2, 2, 9050, 9051, 7, 87, 2, 2, 9051, 9052, 7, 78, 2, 2, 9052, 9053, 7, 86, 2, 2, 9053, 9054, 7, 75, 2, 2, 9054, 9055, 7, 82, 2, 2, 9055, 9056, 7, 81, 2, 2, 9056, 9057, 7, 75, 2, 2, 9057, 9058, 7, 80, 2, 2, 9058, 9059, 7, 86, 2, 2, 9059, 9060, 7, 72, 2, 2, 9060, 9061, 7, 84, 2, 2, 9061, 9062, 7, 81, 2, 2, 9062, 9063, 7, 79, 2, 2, 9063, 9064, 7, 89, 2, 2, 9064, 9065, 7, 77, 2, 2, 9065, 9066, 7, 68, 2, 2, 9066, 1576, 3, 2, 2, 2, 9067, 9068, 7, 79, 2, 2, 9068, 9069, 7, 87, 2, 2, 9069, 9070, 7, 78, 2, 2, 9070, 9071, 7, 86, 2, 2, 9071, 9072, 7, 75, 2, 2, 9072, 9073, 7, 82, 2, 2, 9073, 9074, 7, 81, 2, 2, 9074, 9075, 7, 78, 2, 2, 9075, 9076, 7, 91, 2, 2, 9076, 9077, 7, 73, 2, 2, 9077, 9078, 7, 81, 2, 2, 9078, 9079, 7, 80, 2, 2, 9079, 9080, 7, 72, 2, 2, 9080, 9081, 7, 84, 2, 2, 9081, 9082, 7, 81, 2, 2, 9082, 9083, 7, 79, 2, 2, 9083, 9084, 7, 86, 2, 2, 9084, 9085, 7, 71, 2, 2, 9085, 9086, 7, 90, 2, 2, 9086, 9087, 7, 86, 2, 2, 9087, 1578, 3, 2, 2, 2, 9088, 9089, 7, 79, 2, 2, 9089, 9090, 7, 87, 2, 2, 9090, 9091, 7, 78, 2, 2, 9091, 9092, 7, 86, 2, 2, 9092, 9093, 7, 75, 2, 2, 9093, 9094, 7, 82, 2, 2, 9094, 9095, 7, 81, 2, 2, 9095, 9096, 7, 78, 2, 2, 9096, 9097, 7, 91, 2, 2, 9097, 9098, 7, 73, 2, 2, 9098, 9099, 7, 81, 2, 2, 9099, 9100, 7, 80, 2, 2, 9100, 9101, 7, 72, 2, 2, 9101, 9102, 7, 84, 2, 2, 9102, 9103, 7, 81, 2, 2, 9103, 9104, 7, 79, 2, 2, 9104, 9105, 7, 89, 2, 2, 9105, 9106, 7, 77, 2, 2, 9106, 9107, 7, 68, 2, 2, 9107, 1580, 3, 2, 2, 2, 9108, 9109, 7, 80, 2, 2, 9109, 9110, 7, 67, 2, 2, 9110, 9111, 7, 79, 2, 2, 9111, 9112, 7, 71, 2, 2, 9112, 9113, 7, 97, 2, 2, 9113, 9114, 7, 69, 2, 2, 9114, 9115, 7, 81, 2, 2, 9115, 9116, 7, 80, 2, 2, 9116, 9117, 7, 85, 2, 2, 9117, 9118, 7, 86, 2, 2, 9118, 1582, 3, 2, 2, 2, 9119, 9120, 7, 80, 2, 2, 9120, 9121, 7, 87, 2, 2, 9121, 9122, 7, 78, 2, 2, 9122, 9123, 7, 78, 2, 2, 9123, 9124, 7, 75, 2, 2, 9124, 9125, 7, 72, 2, 2, 9125, 1584, 3, 2, 2, 2, 9126, 9127, 7, 80, 2, 2, 9127, 9128, 7, 87, 2, 2, 9128, 9129, 7, 79, 2, 2, 9129, 9130, 7, 73, 2, 2, 9130, 9131, 7, 71, 2, 2, 9131, 9132, 7, 81, 2, 2, 9132, 9133, 7, 79, 2, 2, 9133, 9134, 7, 71, 2, 2, 9134, 9135, 7, 86, 2, 2, 9135, 9136, 7, 84, 2, 2, 9136, 9137, 7, 75, 2, 2, 9137, 9138, 7, 71, 2, 2, 9138, 9139, 7, 85, 2, 2, 9139, 1586, 3, 2, 2, 2, 9140, 9141, 7, 80, 2, 2, 9141, 9142, 7, 87, 2, 2, 9142, 9143, 7, 79, 2, 2, 9143, 9144, 7, 75, 2, 2, 9144, 9145, 7, 80, 2, 2, 9145, 9146, 7, 86, 2, 2, 9146, 9147, 7, 71, 2, 2, 9147, 9148, 7, 84, 2, 2, 9148, 9149, 7, 75, 2, 2, 9149, 9150, 7, 81, 2, 2, 9150, 9151, 7, 84, 2, 2, 9151, 9152, 7, 84, 2, 2, 9152, 9153, 7, 75, 2, 2, 9153, 9154, 7, 80, 2, 2, 9154, 9155, 7, 73, 2, 2, 9155, 9156, 7, 85, 2, 2, 9156, 1588, 3, 2, 2, 2, 9157, 9158, 7, 80, 2, 2, 9158, 9159, 7, 87, 2, 2, 9159, 9160, 7, 79, 2, 2, 9160, 9161, 7, 82, 2, 2, 9161, 9162, 7, 81, 2, 2, 9162, 9163, 7, 75, 2, 2, 9163, 9164, 7, 80, 2, 2, 9164, 9165, 7, 86, 2, 2, 9165, 9166, 7, 85, 2, 2, 9166, 1590, 3, 2, 2, 2, 9167, 9168, 7, 81, 2, 2, 9168, 9169, 7, 69, 2, 2, 9169, 9170, 7, 86, 2, 2, 9170, 1592, 3, 2, 2, 2, 9171, 9172, 7, 81, 2, 2, 9172, 9173, 7, 69, 2, 2, 9173, 9174, 7, 86, 2, 2, 9174, 9175, 7, 71, 2, 2, 9175, 9176, 7, 86, 2, 2, 9176, 9177, 7, 97, 2, 2, 9177, 9178, 7, 78, 2, 2, 9178, 9179, 7, 71, 2, 2, 9179, 9180, 7, 80, 2, 2, 9180, 9181, 7, 73, 2, 2, 9181, 9182, 7, 86, 2, 2, 9182, 9183, 7, 74, 2, 2, 9183, 1594, 3, 2, 2, 2, 9184, 9185, 7, 81, 2, 2, 9185, 9186, 7, 84, 2, 2, 9186, 9187, 7, 70, 2, 2, 9187, 1596, 3, 2, 2, 2, 9188, 9189, 7, 81, 2, 2, 9189, 9190, 7, 88, 2, 2, 9190, 9191, 7, 71, 2, 2, 9191, 9192, 7, 84, 2, 2, 9192, 9193, 7, 78, 2, 2, 9193, 9194, 7, 67, 2, 2, 9194, 9195, 7, 82, 2, 2, 9195, 9196, 7, 85, 2, 2, 9196, 1598, 3, 2, 2, 2, 9197, 9198, 7, 82, 2, 2, 9198, 9199, 7, 71, 2, 2, 9199, 9200, 7, 84, 2, 2, 9200, 9201, 7, 75, 2, 2, 9201, 9202, 7, 81, 2, 2, 9202, 9203, 7, 70, 2, 2, 9203, 9204, 7, 97, 2, 2, 9204, 9205, 7, 67, 2, 2, 9205, 9206, 7, 70, 2, 2, 9206, 9207, 7, 70, 2, 2, 9207, 1600, 3, 2, 2, 2, 9208, 9209, 7, 82, 2, 2, 9209, 9210, 7, 71, 2, 2, 9210, 9211, 7, 84, 2, 2, 9211, 9212, 7, 75, 2, 2, 9212, 9213, 7, 81, 2, 2, 9213, 9214, 7, 70, 2, 2, 9214, 9215, 7, 97, 2, 2, 9215, 9216, 7, 70, 2, 2, 9216, 9217, 7, 75, 2, 2, 9217, 9218, 7, 72, 2, 2, 9218, 9219, 7, 72, 2, 2, 9219, 1602, 3, 2, 2, 2, 9220, 9221, 7, 82, 2, 2, 9221, 9222, 7, 75, 2, 2, 9222, 1604, 3, 2, 2, 2, 9223, 9224, 7, 82, 2, 2, 9224, 9225, 7, 81, 2, 2, 9225, 9226, 7, 75, 2, 2, 9226, 9227, 7, 80, 2, 2, 9227, 9228, 7, 86, 2, 2, 9228, 9229, 7, 72, 2, 2, 9229, 9230, 7, 84, 2, 2, 9230, 9231, 7, 81, 2, 2, 9231, 9232, 7, 79, 2, 2, 9232, 9233, 7, 86, 2, 2, 9233, 9234, 7, 71, 2, 2, 9234, 9235, 7, 90, 2, 2, 9235, 9236, 7, 86, 2, 2, 9236, 1606, 3, 2, 2, 2, 9237, 9238, 7, 82, 2, 2, 9238, 9239, 7, 81, 2, 2, 9239, 9240, 7, 75, 2, 2, 9240, 9241, 7, 80, 2, 2, 9241, 9242, 7, 86, 2, 2, 9242, 9243, 7, 72, 2, 2, 9243, 9244, 7, 84, 2, 2, 9244, 9245, 7, 81, 2, 2, 9245, 9246, 7, 79, 2, 2, 9246, 9247, 7, 89, 2, 2, 9247, 9248, 7, 77, 2, 2, 9248, 9249, 7, 68, 2, 2, 9249, 1608, 3, 2, 2, 2, 9250, 9251, 7, 82, 2, 2, 9251, 9252, 7, 81, 2, 2, 9252, 9253, 7, 75, 2, 2, 9253, 9254, 7, 80, 2, 2, 9254, 9255, 7, 86, 2, 2, 9255, 9256, 7, 80, 2, 2, 9256, 1610, 3, 2, 2, 2, 9257, 9258, 7, 82, 2, 2, 9258, 9259, 7, 81, 2, 2, 9259, 9260, 7, 78, 2, 2, 9260, 9261, 7, 91, 2, 2, 9261, 9262, 7, 72, 2, 2, 9262, 9263, 7, 84, 2, 2, 9263, 9264, 7, 81, 2, 2, 9264, 9265, 7, 79, 2, 2, 9265, 9266, 7, 86, 2, 2, 9266, 9267, 7, 71, 2, 2, 9267, 9268, 7, 90, 2, 2, 9268, 9269, 7, 86, 2, 2, 9269, 1612, 3, 2, 2, 2, 9270, 9271, 7, 82, 2, 2, 9271, 9272, 7, 81, 2, 2, 9272, 9273, 7, 78, 2, 2, 9273, 9274, 7, 91, 2, 2, 9274, 9275, 7, 72, 2, 2, 9275, 9276, 7, 84, 2, 2, 9276, 9277, 7, 81, 2, 2, 9277, 9278, 7, 79, 2, 2, 9278, 9279, 7, 89, 2, 2, 9279, 9280, 7, 77, 2, 2, 9280, 9281, 7, 68, 2, 2, 9281, 1614, 3, 2, 2, 2, 9282, 9283, 7, 82, 2, 2, 9283, 9284, 7, 81, 2, 2, 9284, 9285, 7, 78, 2, 2, 9285, 9286, 7, 91, 2, 2, 9286, 9287, 7, 73, 2, 2, 9287, 9288, 7, 81, 2, 2, 9288, 9289, 7, 80, 2, 2, 9289, 9290, 7, 72, 2, 2, 9290, 9291, 7, 84, 2, 2, 9291, 9292, 7, 81, 2, 2, 9292, 9293, 7, 79, 2, 2, 9293, 9294, 7, 86, 2, 2, 9294, 9295, 7, 71, 2, 2, 9295, 9296, 7, 90, 2, 2, 9296, 9297, 7, 86, 2, 2, 9297, 1616, 3, 2, 2, 2, 9298, 9299, 7, 82, 2, 2, 9299, 9300, 7, 81, 2, 2, 9300, 9301, 7, 78, 2, 2, 9301, 9302, 7, 91, 2, 2, 9302, 9303, 7, 73, 2, 2, 9303, 9304, 7, 81, 2, 2, 9304, 9305, 7, 80, 2, 2, 9305, 9306, 7, 72, 2, 2, 9306, 9307, 7, 84, 2, 2, 9307, 9308, 7, 81, 2, 2, 9308, 9309, 7, 79, 2, 2, 9309, 9310, 7, 89, 2, 2, 9310, 9311, 7, 77, 2, 2, 9311, 9312, 7, 68, 2, 2, 9312, 1618, 3, 2, 2, 2, 9313, 9314, 7, 82, 2, 2, 9314, 9315, 7, 81, 2, 2, 9315, 9316, 7, 89, 2, 2, 9316, 1620, 3, 2, 2, 2, 9317, 9318, 7, 82, 2, 2, 9318, 9319, 7, 81, 2, 2, 9319, 9320, 7, 89, 2, 2, 9320, 9321, 7, 71, 2, 2, 9321, 9322, 7, 84, 2, 2, 9322, 1622, 3, 2, 2, 2, 9323, 9324, 7, 83, 2, 2, 9324, 9325, 7, 87, 2, 2, 9325, 9326, 7, 81, 2, 2, 9326, 9327, 7, 86, 2, 2, 9327, 9328, 7, 71, 2, 2, 9328, 1624, 3, 2, 2, 2, 9329, 9330, 7, 84, 2, 2, 9330, 9331, 7, 67, 2, 2, 9331, 9332, 7, 70, 2, 2, 9332, 9333, 7, 75, 2, 2, 9333, 9334, 7, 67, 2, 2, 9334, 9335, 7, 80, 2, 2, 9335, 9336, 7, 85, 2, 2, 9336, 1626, 3, 2, 2, 2, 9337, 9338, 7, 84, 2, 2, 9338, 9339, 7, 67, 2, 2, 9339, 9340, 7, 80, 2, 2, 9340, 9341, 7, 70, 2, 2, 9341, 1628, 3, 2, 2, 2, 9342, 9343, 7, 84, 2, 2, 9343, 9344, 7, 67, 2, 2, 9344, 9345, 7, 80, 2, 2, 9345, 9346, 7, 70, 2, 2, 9346, 9347, 7, 81, 2, 2, 9347, 9348, 7, 79, 2, 2, 9348, 9349, 7, 97, 2, 2, 9349, 9350, 7, 68, 2, 2, 9350, 9351, 7, 91, 2, 2, 9351, 9352, 7, 86, 2, 2, 9352, 9353, 7, 71, 2, 2, 9353, 9354, 7, 85, 2, 2, 9354, 1630, 3, 2, 2, 2, 9355, 9356, 7, 84, 2, 2, 9356, 9357, 7, 71, 2, 2, 9357, 9358, 7, 78, 2, 2, 9358, 9359, 7, 71, 2, 2, 9359, 9360, 7, 67, 2, 2, 9360, 9361, 7, 85, 2, 2, 9361, 9362, 7, 71, 2, 2, 9362, 9363, 7, 97, 2, 2, 9363, 9364, 7, 78, 2, 2, 9364, 9365, 7, 81, 2, 2, 9365, 9366, 7, 69, 2, 2, 9366, 9367, 7, 77, 2, 2, 9367, 1632, 3, 2, 2, 2, 9368, 9369, 7, 84, 2, 2, 9369, 9370, 7, 71, 2, 2, 9370, 9371, 7, 88, 2, 2, 9371, 9372, 7, 71, 2, 2, 9372, 9373, 7, 84, 2, 2, 9373, 9374, 7, 85, 2, 2, 9374, 9375, 7, 71, 2, 2, 9375, 1634, 3, 2, 2, 2, 9376, 9377, 7, 84, 2, 2, 9377, 9378, 7, 81, 2, 2, 9378, 9379, 7, 87, 2, 2, 9379, 9380, 7, 80, 2, 2, 9380, 9381, 7, 70, 2, 2, 9381, 1636, 3, 2, 2, 2, 9382, 9383, 7, 84, 2, 2, 9383, 9384, 7, 81, 2, 2, 9384, 9385, 7, 89, 2, 2, 9385, 9386, 7, 97, 2, 2, 9386, 9387, 7, 69, 2, 2, 9387, 9388, 7, 81, 2, 2, 9388, 9389, 7, 87, 2, 2, 9389, 9390, 7, 80, 2, 2, 9390, 9391, 7, 86, 2, 2, 9391, 1638, 3, 2, 2, 2, 9392, 9393, 7, 84, 2, 2, 9393, 9394, 7, 82, 2, 2, 9394, 9395, 7, 67, 2, 2, 9395, 9396, 7, 70, 2, 2, 9396, 1640, 3, 2, 2, 2, 9397, 9398, 7, 84, 2, 2, 9398, 9399, 7, 86, 2, 2, 9399, 9400, 7, 84, 2, 2, 9400, 9401, 7, 75, 2, 2, 9401, 9402, 7, 79, 2, 2, 9402, 1642, 3, 2, 2, 2, 9403, 9404, 7, 85, 2, 2, 9404, 9405, 7, 71, 2, 2, 9405, 9406, 7, 69, 2, 2, 9406, 9407, 7, 97, 2, 2, 9407, 9408, 7, 86, 2, 2, 9408, 9409, 7, 81, 2, 2, 9409, 9410, 7, 97, 2, 2, 9410, 9411, 7, 86, 2, 2, 9411, 9412, 7, 75, 2, 2, 9412, 9413, 7, 79, 2, 2, 9413, 9414, 7, 71, 2, 2, 9414, 1644, 3, 2, 2, 2, 9415, 9416, 7, 85, 2, 2, 9416, 9417, 7, 71, 2, 2, 9417, 9418, 7, 85, 2, 2, 9418, 9419, 7, 85, 2, 2, 9419, 9420, 7, 75, 2, 2, 9420, 9421, 7, 81, 2, 2, 9421, 9422, 7, 80, 2, 2, 9422, 9423, 7, 97, 2, 2, 9423, 9424, 7, 87, 2, 2, 9424, 9425, 7, 85, 2, 2, 9425, 9426, 7, 71, 2, 2, 9426, 9427, 7, 84, 2, 2, 9427, 1646, 3, 2, 2, 2, 9428, 9429, 7, 85, 2, 2, 9429, 9430, 7, 74, 2, 2, 9430, 9431, 7, 67, 2, 2, 9431, 1648, 3, 2, 2, 2, 9432, 9433, 7, 85, 2, 2, 9433, 9434, 7, 74, 2, 2, 9434, 9435, 7, 67, 2, 2, 9435, 9436, 7, 51, 2, 2, 9436, 1650, 3, 2, 2, 2, 9437, 9438, 7, 85, 2, 2, 9438, 9439, 7, 74, 2, 2, 9439, 9440, 7, 67, 2, 2, 9440, 9441, 7, 52, 2, 2, 9441, 1652, 3, 2, 2, 2, 9442, 9443, 7, 85, 2, 2, 9443, 9444, 7, 75, 2, 2, 9444, 9445, 7, 73, 2, 2, 9445, 9446, 7, 80, 2, 2, 9446, 1654, 3, 2, 2, 2, 9447, 9448, 7, 85, 2, 2, 9448, 9449, 7, 75, 2, 2, 9449, 9450, 7, 80, 2, 2, 9450, 1656, 3, 2, 2, 2, 9451, 9452, 7, 85, 2, 2, 9452, 9453, 7, 78, 2, 2, 9453, 9454, 7, 71, 2, 2, 9454, 9455, 7, 71, 2, 2, 9455, 9456, 7, 82, 2, 2, 9456, 1658, 3, 2, 2, 2, 9457, 9458, 7, 85, 2, 2, 9458, 9459, 7, 81, 2, 2, 9459, 9460, 7, 87, 2, 2, 9460, 9461, 7, 80, 2, 2, 9461, 9462, 7, 70, 2, 2, 9462, 9463, 7, 71, 2, 2, 9463, 9464, 7, 90, 2, 2, 9464, 1660, 3, 2, 2, 2, 9465, 9466, 7, 85, 2, 2, 9466, 9467, 7, 83, 2, 2, 9467, 9468, 7, 78, 2, 2, 9468, 9469, 7, 97, 2, 2, 9469, 9470, 7, 86, 2, 2, 9470, 9471, 7, 74, 2, 2, 9471, 9472, 7, 84, 2, 2, 9472, 9473, 7, 71, 2, 2, 9473, 9474, 7, 67, 2, 2, 9474, 9475, 7, 70, 2, 2, 9475, 9476, 7, 97, 2, 2, 9476, 9477, 7, 89, 2, 2, 9477, 9478, 7, 67, 2, 2, 9478, 9479, 7, 75, 2, 2, 9479, 9480, 7, 86, 2, 2, 9480, 9481, 7, 97, 2, 2, 9481, 9482, 7, 67, 2, 2, 9482, 9483, 7, 72, 2, 2, 9483, 9484, 7, 86, 2, 2, 9484, 9485, 7, 71, 2, 2, 9485, 9486, 7, 84, 2, 2, 9486, 9487, 7, 97, 2, 2, 9487, 9488, 7, 73, 2, 2, 9488, 9489, 7, 86, 2, 2, 9489, 9490, 7, 75, 2, 2, 9490, 9491, 7, 70, 2, 2, 9491, 9492, 7, 85, 2, 2, 9492, 1662, 3, 2, 2, 2, 9493, 9494, 7, 85, 2, 2, 9494, 9495, 7, 83, 2, 2, 9495, 9496, 7, 84, 2, 2, 9496, 9497, 7, 86, 2, 2, 9497, 1664, 3, 2, 2, 2, 9498, 9499, 7, 85, 2, 2, 9499, 9500, 7, 84, 2, 2, 9500, 9501, 7, 75, 2, 2, 9501, 9502, 7, 70, 2, 2, 9502, 1666, 3, 2, 2, 2, 9503, 9504, 7, 85, 2, 2, 9504, 9505, 7, 86, 2, 2, 9505, 9506, 7, 67, 2, 2, 9506, 9507, 7, 84, 2, 2, 9507, 9508, 7, 86, 2, 2, 9508, 9509, 7, 82, 2, 2, 9509, 9510, 7, 81, 2, 2, 9510, 9511, 7, 75, 2, 2, 9511, 9512, 7, 80, 2, 2, 9512, 9513, 7, 86, 2, 2, 9513, 1668, 3, 2, 2, 2, 9514, 9515, 7, 85, 2, 2, 9515, 9516, 7, 86, 2, 2, 9516, 9517, 7, 84, 2, 2, 9517, 9518, 7, 69, 2, 2, 9518, 9519, 7, 79, 2, 2, 9519, 9520, 7, 82, 2, 2, 9520, 1670, 3, 2, 2, 2, 9521, 9522, 7, 85, 2, 2, 9522, 9523, 7, 86, 2, 2, 9523, 9524, 7, 84, 2, 2, 9524, 9525, 7, 97, 2, 2, 9525, 9526, 7, 86, 2, 2, 9526, 9527, 7, 81, 2, 2, 9527, 9528, 7, 97, 2, 2, 9528, 9529, 7, 70, 2, 2, 9529, 9530, 7, 67, 2, 2, 9530, 9531, 7, 86, 2, 2, 9531, 9532, 7, 71, 2, 2, 9532, 1672, 3, 2, 2, 2, 9533, 9534, 7, 85, 2, 2, 9534, 9535, 7, 86, 2, 2, 9535, 9536, 7, 97, 2, 2, 9536, 9537, 7, 67, 2, 2, 9537, 9538, 7, 84, 2, 2, 9538, 9539, 7, 71, 2, 2, 9539, 9540, 7, 67, 2, 2, 9540, 1674, 3, 2, 2, 2, 9541, 9542, 7, 85, 2, 2, 9542, 9543, 7, 86, 2, 2, 9543, 9544, 7, 97, 2, 2, 9544, 9545, 7, 67, 2, 2, 9545, 9546, 7, 85, 2, 2, 9546, 9547, 7, 68, 2, 2, 9547, 9548, 7, 75, 2, 2, 9548, 9549, 7, 80, 2, 2, 9549, 9550, 7, 67, 2, 2, 9550, 9551, 7, 84, 2, 2, 9551, 9552, 7, 91, 2, 2, 9552, 1676, 3, 2, 2, 2, 9553, 9554, 7, 85, 2, 2, 9554, 9555, 7, 86, 2, 2, 9555, 9556, 7, 97, 2, 2, 9556, 9557, 7, 67, 2, 2, 9557, 9558, 7, 85, 2, 2, 9558, 9559, 7, 86, 2, 2, 9559, 9560, 7, 71, 2, 2, 9560, 9561, 7, 90, 2, 2, 9561, 9562, 7, 86, 2, 2, 9562, 1678, 3, 2, 2, 2, 9563, 9564, 7, 85, 2, 2, 9564, 9565, 7, 86, 2, 2, 9565, 9566, 7, 97, 2, 2, 9566, 9567, 7, 67, 2, 2, 9567, 9568, 7, 85, 2, 2, 9568, 9569, 7, 89, 2, 2, 9569, 9570, 7, 77, 2, 2, 9570, 9571, 7, 68, 2, 2, 9571, 1680, 3, 2, 2, 2, 9572, 9573, 7, 85, 2, 2, 9573, 9574, 7, 86, 2, 2, 9574, 9575, 7, 97, 2, 2, 9575, 9576, 7, 67, 2, 2, 9576, 9577, 7, 85, 2, 2, 9577, 9578, 7, 89, 2, 2, 9578, 9579, 7, 77, 2, 2, 9579, 9580, 7, 86, 2, 2, 9580, 1682, 3, 2, 2, 2, 9581, 9582, 7, 85, 2, 2, 9582, 9583, 7, 86, 2, 2, 9583, 9584, 7, 97, 2, 2, 9584, 9585, 7, 68, 2, 2, 9585, 9586, 7, 87, 2, 2, 9586, 9587, 7, 72, 2, 2, 9587, 9588, 7, 72, 2, 2, 9588, 9589, 7, 71, 2, 2, 9589, 9590, 7, 84, 2, 2, 9590, 1684, 3, 2, 2, 2, 9591, 9592, 7, 85, 2, 2, 9592, 9593, 7, 86, 2, 2, 9593, 9594, 7, 97, 2, 2, 9594, 9595, 7, 69, 2, 2, 9595, 9596, 7, 71, 2, 2, 9596, 9597, 7, 80, 2, 2, 9597, 9598, 7, 86, 2, 2, 9598, 9599, 7, 84, 2, 2, 9599, 9600, 7, 81, 2, 2, 9600, 9601, 7, 75, 2, 2, 9601, 9602, 7, 70, 2, 2, 9602, 1686, 3, 2, 2, 2, 9603, 9604, 7, 85, 2, 2, 9604, 9605, 7, 86, 2, 2, 9605, 9606, 7, 97, 2, 2, 9606, 9607, 7, 69, 2, 2, 9607, 9608, 7, 81, 2, 2, 9608, 9609, 7, 80, 2, 2, 9609, 9610, 7, 86, 2, 2, 9610, 9611, 7, 67, 2, 2, 9611, 9612, 7, 75, 2, 2, 9612, 9613, 7, 80, 2, 2, 9613, 9614, 7, 85, 2, 2, 9614, 1688, 3, 2, 2, 2, 9615, 9616, 7, 85, 2, 2, 9616, 9617, 7, 86, 2, 2, 9617, 9618, 7, 97, 2, 2, 9618, 9619, 7, 69, 2, 2, 9619, 9620, 7, 84, 2, 2, 9620, 9621, 7, 81, 2, 2, 9621, 9622, 7, 85, 2, 2, 9622, 9623, 7, 85, 2, 2, 9623, 9624, 7, 71, 2, 2, 9624, 9625, 7, 85, 2, 2, 9625, 1690, 3, 2, 2, 2, 9626, 9627, 7, 85, 2, 2, 9627, 9628, 7, 86, 2, 2, 9628, 9629, 7, 97, 2, 2, 9629, 9630, 7, 70, 2, 2, 9630, 9631, 7, 75, 2, 2, 9631, 9632, 7, 72, 2, 2, 9632, 9633, 7, 72, 2, 2, 9633, 9634, 7, 71, 2, 2, 9634, 9635, 7, 84, 2, 2, 9635, 9636, 7, 71, 2, 2, 9636, 9637, 7, 80, 2, 2, 9637, 9638, 7, 69, 2, 2, 9638, 9639, 7, 71, 2, 2, 9639, 1692, 3, 2, 2, 2, 9640, 9641, 7, 85, 2, 2, 9641, 9642, 7, 86, 2, 2, 9642, 9643, 7, 97, 2, 2, 9643, 9644, 7, 70, 2, 2, 9644, 9645, 7, 75, 2, 2, 9645, 9646, 7, 79, 2, 2, 9646, 9647, 7, 71, 2, 2, 9647, 9648, 7, 80, 2, 2, 9648, 9649, 7, 85, 2, 2, 9649, 9650, 7, 75, 2, 2, 9650, 9651, 7, 81, 2, 2, 9651, 9652, 7, 80, 2, 2, 9652, 1694, 3, 2, 2, 2, 9653, 9654, 7, 85, 2, 2, 9654, 9655, 7, 86, 2, 2, 9655, 9656, 7, 97, 2, 2, 9656, 9657, 7, 70, 2, 2, 9657, 9658, 7, 75, 2, 2, 9658, 9659, 7, 85, 2, 2, 9659, 9660, 7, 76, 2, 2, 9660, 9661, 7, 81, 2, 2, 9661, 9662, 7, 75, 2, 2, 9662, 9663, 7, 80, 2, 2, 9663, 9664, 7, 86, 2, 2, 9664, 1696, 3, 2, 2, 2, 9665, 9666, 7, 85, 2, 2, 9666, 9667, 7, 86, 2, 2, 9667, 9668, 7, 97, 2, 2, 9668, 9669, 7, 70, 2, 2, 9669, 9670, 7, 75, 2, 2, 9670, 9671, 7, 85, 2, 2, 9671, 9672, 7, 86, 2, 2, 9672, 9673, 7, 67, 2, 2, 9673, 9674, 7, 80, 2, 2, 9674, 9675, 7, 69, 2, 2, 9675, 9676, 7, 71, 2, 2, 9676, 1698, 3, 2, 2, 2, 9677, 9678, 7, 85, 2, 2, 9678, 9679, 7, 86, 2, 2, 9679, 9680, 7, 97, 2, 2, 9680, 9681, 7, 71, 2, 2, 9681, 9682, 7, 80, 2, 2, 9682, 9683, 7, 70, 2, 2, 9683, 9684, 7, 82, 2, 2, 9684, 9685, 7, 81, 2, 2, 9685, 9686, 7, 75, 2, 2, 9686, 9687, 7, 80, 2, 2, 9687, 9688, 7, 86, 2, 2, 9688, 1700, 3, 2, 2, 2, 9689, 9690, 7, 85, 2, 2, 9690, 9691, 7, 86, 2, 2, 9691, 9692, 7, 97, 2, 2, 9692, 9693, 7, 71, 2, 2, 9693, 9694, 7, 80, 2, 2, 9694, 9695, 7, 88, 2, 2, 9695, 9696, 7, 71, 2, 2, 9696, 9697, 7, 78, 2, 2, 9697, 9698, 7, 81, 2, 2, 9698, 9699, 7, 82, 2, 2, 9699, 9700, 7, 71, 2, 2, 9700, 1702, 3, 2, 2, 2, 9701, 9702, 7, 85, 2, 2, 9702, 9703, 7, 86, 2, 2, 9703, 9704, 7, 97, 2, 2, 9704, 9705, 7, 71, 2, 2, 9705, 9706, 7, 83, 2, 2, 9706, 9707, 7, 87, 2, 2, 9707, 9708, 7, 67, 2, 2, 9708, 9709, 7, 78, 2, 2, 9709, 9710, 7, 85, 2, 2, 9710, 1704, 3, 2, 2, 2, 9711, 9712, 7, 85, 2, 2, 9712, 9713, 7, 86, 2, 2, 9713, 9714, 7, 97, 2, 2, 9714, 9715, 7, 71, 2, 2, 9715, 9716, 7, 90, 2, 2, 9716, 9717, 7, 86, 2, 2, 9717, 9718, 7, 71, 2, 2, 9718, 9719, 7, 84, 2, 2, 9719, 9720, 7, 75, 2, 2, 9720, 9721, 7, 81, 2, 2, 9721, 9722, 7, 84, 2, 2, 9722, 9723, 7, 84, 2, 2, 9723, 9724, 7, 75, 2, 2, 9724, 9725, 7, 80, 2, 2, 9725, 9726, 7, 73, 2, 2, 9726, 1706, 3, 2, 2, 2, 9727, 9728, 7, 85, 2, 2, 9728, 9729, 7, 86, 2, 2, 9729, 9730, 7, 97, 2, 2, 9730, 9731, 7, 73, 2, 2, 9731, 9732, 7, 71, 2, 2, 9732, 9733, 7, 81, 2, 2, 9733, 9734, 7, 79, 2, 2, 9734, 9735, 7, 69, 2, 2, 9735, 9736, 7, 81, 2, 2, 9736, 9737, 7, 78, 2, 2, 9737, 9738, 7, 78, 2, 2, 9738, 9739, 7, 72, 2, 2, 9739, 9740, 7, 84, 2, 2, 9740, 9741, 7, 81, 2, 2, 9741, 9742, 7, 79, 2, 2, 9742, 9743, 7, 86, 2, 2, 9743, 9744, 7, 71, 2, 2, 9744, 9745, 7, 90, 2, 2, 9745, 9746, 7, 86, 2, 2, 9746, 1708, 3, 2, 2, 2, 9747, 9748, 7, 85, 2, 2, 9748, 9749, 7, 86, 2, 2, 9749, 9750, 7, 97, 2, 2, 9750, 9751, 7, 73, 2, 2, 9751, 9752, 7, 71, 2, 2, 9752, 9753, 7, 81, 2, 2, 9753, 9754, 7, 79, 2, 2, 9754, 9755, 7, 69, 2, 2, 9755, 9756, 7, 81, 2, 2, 9756, 9757, 7, 78, 2, 2, 9757, 9758, 7, 78, 2, 2, 9758, 9759, 7, 72, 2, 2, 9759, 9760, 7, 84, 2, 2, 9760, 9761, 7, 81, 2, 2, 9761, 9762, 7, 79, 2, 2, 9762, 9763, 7, 86, 2, 2, 9763, 9764, 7, 90, 2, 2, 9764, 9765, 7, 86, 2, 2, 9765, 1710, 3, 2, 2, 2, 9766, 9767, 7, 85, 2, 2, 9767, 9768, 7, 86, 2, 2, 9768, 9769, 7, 97, 2, 2, 9769, 9770, 7, 73, 2, 2, 9770, 9771, 7, 71, 2, 2, 9771, 9772, 7, 81, 2, 2, 9772, 9773, 7, 79, 2, 2, 9773, 9774, 7, 69, 2, 2, 9774, 9775, 7, 81, 2, 2, 9775, 9776, 7, 78, 2, 2, 9776, 9777, 7, 78, 2, 2, 9777, 9778, 7, 72, 2, 2, 9778, 9779, 7, 84, 2, 2, 9779, 9780, 7, 81, 2, 2, 9780, 9781, 7, 79, 2, 2, 9781, 9782, 7, 89, 2, 2, 9782, 9783, 7, 77, 2, 2, 9783, 9784, 7, 68, 2, 2, 9784, 1712, 3, 2, 2, 2, 9785, 9786, 7, 85, 2, 2, 9786, 9787, 7, 86, 2, 2, 9787, 9788, 7, 97, 2, 2, 9788, 9789, 7, 73, 2, 2, 9789, 9790, 7, 71, 2, 2, 9790, 9791, 7, 81, 2, 2, 9791, 9792, 7, 79, 2, 2, 9792, 9793, 7, 71, 2, 2, 9793, 9794, 7, 86, 2, 2, 9794, 9795, 7, 84, 2, 2, 9795, 9796, 7, 91, 2, 2, 9796, 9797, 7, 69, 2, 2, 9797, 9798, 7, 81, 2, 2, 9798, 9799, 7, 78, 2, 2, 9799, 9800, 7, 78, 2, 2, 9800, 9801, 7, 71, 2, 2, 9801, 9802, 7, 69, 2, 2, 9802, 9803, 7, 86, 2, 2, 9803, 9804, 7, 75, 2, 2, 9804, 9805, 7, 81, 2, 2, 9805, 9806, 7, 80, 2, 2, 9806, 9807, 7, 72, 2, 2, 9807, 9808, 7, 84, 2, 2, 9808, 9809, 7, 81, 2, 2, 9809, 9810, 7, 79, 2, 2, 9810, 9811, 7, 86, 2, 2, 9811, 9812, 7, 71, 2, 2, 9812, 9813, 7, 90, 2, 2, 9813, 9814, 7, 86, 2, 2, 9814, 1714, 3, 2, 2, 2, 9815, 9816, 7, 85, 2, 2, 9816, 9817, 7, 86, 2, 2, 9817, 9818, 7, 97, 2, 2, 9818, 9819, 7, 73, 2, 2, 9819, 9820, 7, 71, 2, 2, 9820, 9821, 7, 81, 2, 2, 9821, 9822, 7, 79, 2, 2, 9822, 9823, 7, 71, 2, 2, 9823, 9824, 7, 86, 2, 2, 9824, 9825, 7, 84, 2, 2, 9825, 9826, 7, 91, 2, 2, 9826, 9827, 7, 69, 2, 2, 9827, 9828, 7, 81, 2, 2, 9828, 9829, 7, 78, 2, 2, 9829, 9830, 7, 78, 2, 2, 9830, 9831, 7, 71, 2, 2, 9831, 9832, 7, 69, 2, 2, 9832, 9833, 7, 86, 2, 2, 9833, 9834, 7, 75, 2, 2, 9834, 9835, 7, 81, 2, 2, 9835, 9836, 7, 80, 2, 2, 9836, 9837, 7, 72, 2, 2, 9837, 9838, 7, 84, 2, 2, 9838, 9839, 7, 81, 2, 2, 9839, 9840, 7, 79, 2, 2, 9840, 9841, 7, 89, 2, 2, 9841, 9842, 7, 77, 2, 2, 9842, 9843, 7, 68, 2, 2, 9843, 1716, 3, 2, 2, 2, 9844, 9845, 7, 85, 2, 2, 9845, 9846, 7, 86, 2, 2, 9846, 9847, 7, 97, 2, 2, 9847, 9848, 7, 73, 2, 2, 9848, 9849, 7, 71, 2, 2, 9849, 9850, 7, 81, 2, 2, 9850, 9851, 7, 79, 2, 2, 9851, 9852, 7, 71, 2, 2, 9852, 9853, 7, 86, 2, 2, 9853, 9854, 7, 84, 2, 2, 9854, 9855, 7, 91, 2, 2, 9855, 9856, 7, 72, 2, 2, 9856, 9857, 7, 84, 2, 2, 9857, 9858, 7, 81, 2, 2, 9858, 9859, 7, 79, 2, 2, 9859, 9860, 7, 86, 2, 2, 9860, 9861, 7, 71, 2, 2, 9861, 9862, 7, 90, 2, 2, 9862, 9863, 7, 86, 2, 2, 9863, 1718, 3, 2, 2, 2, 9864, 9865, 7, 85, 2, 2, 9865, 9866, 7, 86, 2, 2, 9866, 9867, 7, 97, 2, 2, 9867, 9868, 7, 73, 2, 2, 9868, 9869, 7, 71, 2, 2, 9869, 9870, 7, 81, 2, 2, 9870, 9871, 7, 79, 2, 2, 9871, 9872, 7, 71, 2, 2, 9872, 9873, 7, 86, 2, 2, 9873, 9874, 7, 84, 2, 2, 9874, 9875, 7, 91, 2, 2, 9875, 9876, 7, 72, 2, 2, 9876, 9877, 7, 84, 2, 2, 9877, 9878, 7, 81, 2, 2, 9878, 9879, 7, 79, 2, 2, 9879, 9880, 7, 89, 2, 2, 9880, 9881, 7, 77, 2, 2, 9881, 9882, 7, 68, 2, 2, 9882, 1720, 3, 2, 2, 2, 9883, 9884, 7, 85, 2, 2, 9884, 9885, 7, 86, 2, 2, 9885, 9886, 7, 97, 2, 2, 9886, 9887, 7, 73, 2, 2, 9887, 9888, 7, 71, 2, 2, 9888, 9889, 7, 81, 2, 2, 9889, 9890, 7, 79, 2, 2, 9890, 9891, 7, 71, 2, 2, 9891, 9892, 7, 86, 2, 2, 9892, 9893, 7, 84, 2, 2, 9893, 9894, 7, 91, 2, 2, 9894, 9895, 7, 80, 2, 2, 9895, 1722, 3, 2, 2, 2, 9896, 9897, 7, 85, 2, 2, 9897, 9898, 7, 86, 2, 2, 9898, 9899, 7, 97, 2, 2, 9899, 9900, 7, 73, 2, 2, 9900, 9901, 7, 71, 2, 2, 9901, 9902, 7, 81, 2, 2, 9902, 9903, 7, 79, 2, 2, 9903, 9904, 7, 71, 2, 2, 9904, 9905, 7, 86, 2, 2, 9905, 9906, 7, 84, 2, 2, 9906, 9907, 7, 91, 2, 2, 9907, 9908, 7, 86, 2, 2, 9908, 9909, 7, 91, 2, 2, 9909, 9910, 7, 82, 2, 2, 9910, 9911, 7, 71, 2, 2, 9911, 1724, 3, 2, 2, 2, 9912, 9913, 7, 85, 2, 2, 9913, 9914, 7, 86, 2, 2, 9914, 9915, 7, 97, 2, 2, 9915, 9916, 7, 73, 2, 2, 9916, 9917, 7, 71, 2, 2, 9917, 9918, 7, 81, 2, 2, 9918, 9919, 7, 79, 2, 2, 9919, 9920, 7, 72, 2, 2, 9920, 9921, 7, 84, 2, 2, 9921, 9922, 7, 81, 2, 2, 9922, 9923, 7, 79, 2, 2, 9923, 9924, 7, 86, 2, 2, 9924, 9925, 7, 71, 2, 2, 9925, 9926, 7, 90, 2, 2, 9926, 9927, 7, 86, 2, 2, 9927, 1726, 3, 2, 2, 2, 9928, 9929, 7, 85, 2, 2, 9929, 9930, 7, 86, 2, 2, 9930, 9931, 7, 97, 2, 2, 9931, 9932, 7, 73, 2, 2, 9932, 9933, 7, 71, 2, 2, 9933, 9934, 7, 81, 2, 2, 9934, 9935, 7, 79, 2, 2, 9935, 9936, 7, 72, 2, 2, 9936, 9937, 7, 84, 2, 2, 9937, 9938, 7, 81, 2, 2, 9938, 9939, 7, 79, 2, 2, 9939, 9940, 7, 89, 2, 2, 9940, 9941, 7, 77, 2, 2, 9941, 9942, 7, 68, 2, 2, 9942, 1728, 3, 2, 2, 2, 9943, 9944, 7, 85, 2, 2, 9944, 9945, 7, 86, 2, 2, 9945, 9946, 7, 97, 2, 2, 9946, 9947, 7, 75, 2, 2, 9947, 9948, 7, 80, 2, 2, 9948, 9949, 7, 86, 2, 2, 9949, 9950, 7, 71, 2, 2, 9950, 9951, 7, 84, 2, 2, 9951, 9952, 7, 75, 2, 2, 9952, 9953, 7, 81, 2, 2, 9953, 9954, 7, 84, 2, 2, 9954, 9955, 7, 84, 2, 2, 9955, 9956, 7, 75, 2, 2, 9956, 9957, 7, 80, 2, 2, 9957, 9958, 7, 73, 2, 2, 9958, 9959, 7, 80, 2, 2, 9959, 1730, 3, 2, 2, 2, 9960, 9961, 7, 85, 2, 2, 9961, 9962, 7, 86, 2, 2, 9962, 9963, 7, 97, 2, 2, 9963, 9964, 7, 75, 2, 2, 9964, 9965, 7, 80, 2, 2, 9965, 9966, 7, 86, 2, 2, 9966, 9967, 7, 71, 2, 2, 9967, 9968, 7, 84, 2, 2, 9968, 9969, 7, 85, 2, 2, 9969, 9970, 7, 71, 2, 2, 9970, 9971, 7, 69, 2, 2, 9971, 9972, 7, 86, 2, 2, 9972, 9973, 7, 75, 2, 2, 9973, 9974, 7, 81, 2, 2, 9974, 9975, 7, 80, 2, 2, 9975, 1732, 3, 2, 2, 2, 9976, 9977, 7, 85, 2, 2, 9977, 9978, 7, 86, 2, 2, 9978, 9979, 7, 97, 2, 2, 9979, 9980, 7, 75, 2, 2, 9980, 9981, 7, 80, 2, 2, 9981, 9982, 7, 86, 2, 2, 9982, 9983, 7, 71, 2, 2, 9983, 9984, 7, 84, 2, 2, 9984, 9985, 7, 85, 2, 2, 9985, 9986, 7, 71, 2, 2, 9986, 9987, 7, 69, 2, 2, 9987, 9988, 7, 86, 2, 2, 9988, 9989, 7, 85, 2, 2, 9989, 1734, 3, 2, 2, 2, 9990, 9991, 7, 85, 2, 2, 9991, 9992, 7, 86, 2, 2, 9992, 9993, 7, 97, 2, 2, 9993, 9994, 7, 75, 2, 2, 9994, 9995, 7, 85, 2, 2, 9995, 9996, 7, 69, 2, 2, 9996, 9997, 7, 78, 2, 2, 9997, 9998, 7, 81, 2, 2, 9998, 9999, 7, 85, 2, 2, 9999, 10000, 7, 71, 2, 2, 10000, 10001, 7, 70, 2, 2, 10001, 1736, 3, 2, 2, 2, 10002, 10003, 7, 85, 2, 2, 10003, 10004, 7, 86, 2, 2, 10004, 10005, 7, 97, 2, 2, 10005, 10006, 7, 75, 2, 2, 10006, 10007, 7, 85, 2, 2, 10007, 10008, 7, 71, 2, 2, 10008, 10009, 7, 79, 2, 2, 10009, 10010, 7, 82, 2, 2, 10010, 10011, 7, 86, 2, 2, 10011, 10012, 7, 91, 2, 2, 10012, 1738, 3, 2, 2, 2, 10013, 10014, 7, 85, 2, 2, 10014, 10015, 7, 86, 2, 2, 10015, 10016, 7, 97, 2, 2, 10016, 10017, 7, 75, 2, 2, 10017, 10018, 7, 85, 2, 2, 10018, 10019, 7, 85, 2, 2, 10019, 10020, 7, 75, 2, 2, 10020, 10021, 7, 79, 2, 2, 10021, 10022, 7, 82, 2, 2, 10022, 10023, 7, 78, 2, 2, 10023, 10024, 7, 71, 2, 2, 10024, 1740, 3, 2, 2, 2, 10025, 10026, 7, 85, 2, 2, 10026, 10027, 7, 86, 2, 2, 10027, 10028, 7, 97, 2, 2, 10028, 10029, 7, 78, 2, 2, 10029, 10030, 7, 75, 2, 2, 10030, 10031, 7, 80, 2, 2, 10031, 10032, 7, 71, 2, 2, 10032, 10033, 7, 72, 2, 2, 10033, 10034, 7, 84, 2, 2, 10034, 10035, 7, 81, 2, 2, 10035, 10036, 7, 79, 2, 2, 10036, 10037, 7, 86, 2, 2, 10037, 10038, 7, 71, 2, 2, 10038, 10039, 7, 90, 2, 2, 10039, 10040, 7, 86, 2, 2, 10040, 1742, 3, 2, 2, 2, 10041, 10042, 7, 85, 2, 2, 10042, 10043, 7, 86, 2, 2, 10043, 10044, 7, 97, 2, 2, 10044, 10045, 7, 78, 2, 2, 10045, 10046, 7, 75, 2, 2, 10046, 10047, 7, 80, 2, 2, 10047, 10048, 7, 71, 2, 2, 10048, 10049, 7, 72, 2, 2, 10049, 10050, 7, 84, 2, 2, 10050, 10051, 7, 81, 2, 2, 10051, 10052, 7, 79, 2, 2, 10052, 10053, 7, 89, 2, 2, 10053, 10054, 7, 77, 2, 2, 10054, 10055, 7, 68, 2, 2, 10055, 1744, 3, 2, 2, 2, 10056, 10057, 7, 85, 2, 2, 10057, 10058, 7, 86, 2, 2, 10058, 10059, 7, 97, 2, 2, 10059, 10060, 7, 78, 2, 2, 10060, 10061, 7, 75, 2, 2, 10061, 10062, 7, 80, 2, 2, 10062, 10063, 7, 71, 2, 2, 10063, 10064, 7, 85, 2, 2, 10064, 10065, 7, 86, 2, 2, 10065, 10066, 7, 84, 2, 2, 10066, 10067, 7, 75, 2, 2, 10067, 10068, 7, 80, 2, 2, 10068, 10069, 7, 73, 2, 2, 10069, 10070, 7, 72, 2, 2, 10070, 10071, 7, 84, 2, 2, 10071, 10072, 7, 81, 2, 2, 10072, 10073, 7, 79, 2, 2, 10073, 10074, 7, 86, 2, 2, 10074, 10075, 7, 71, 2, 2, 10075, 10076, 7, 90, 2, 2, 10076, 10077, 7, 86, 2, 2, 10077, 1746, 3, 2, 2, 2, 10078, 10079, 7, 85, 2, 2, 10079, 10080, 7, 86, 2, 2, 10080, 10081, 7, 97, 2, 2, 10081, 10082, 7, 78, 2, 2, 10082, 10083, 7, 75, 2, 2, 10083, 10084, 7, 80, 2, 2, 10084, 10085, 7, 71, 2, 2, 10085, 10086, 7, 85, 2, 2, 10086, 10087, 7, 86, 2, 2, 10087, 10088, 7, 84, 2, 2, 10088, 10089, 7, 75, 2, 2, 10089, 10090, 7, 80, 2, 2, 10090, 10091, 7, 73, 2, 2, 10091, 10092, 7, 72, 2, 2, 10092, 10093, 7, 84, 2, 2, 10093, 10094, 7, 81, 2, 2, 10094, 10095, 7, 79, 2, 2, 10095, 10096, 7, 89, 2, 2, 10096, 10097, 7, 77, 2, 2, 10097, 10098, 7, 68, 2, 2, 10098, 1748, 3, 2, 2, 2, 10099, 10100, 7, 85, 2, 2, 10100, 10101, 7, 86, 2, 2, 10101, 10102, 7, 97, 2, 2, 10102, 10103, 7, 80, 2, 2, 10103, 10104, 7, 87, 2, 2, 10104, 10105, 7, 79, 2, 2, 10105, 10106, 7, 73, 2, 2, 10106, 10107, 7, 71, 2, 2, 10107, 10108, 7, 81, 2, 2, 10108, 10109, 7, 79, 2, 2, 10109, 10110, 7, 71, 2, 2, 10110, 10111, 7, 86, 2, 2, 10111, 10112, 7, 84, 2, 2, 10112, 10113, 7, 75, 2, 2, 10113, 10114, 7, 71, 2, 2, 10114, 10115, 7, 85, 2, 2, 10115, 1750, 3, 2, 2, 2, 10116, 10117, 7, 85, 2, 2, 10117, 10118, 7, 86, 2, 2, 10118, 10119, 7, 97, 2, 2, 10119, 10120, 7, 80, 2, 2, 10120, 10121, 7, 87, 2, 2, 10121, 10122, 7, 79, 2, 2, 10122, 10123, 7, 75, 2, 2, 10123, 10124, 7, 80, 2, 2, 10124, 10125, 7, 86, 2, 2, 10125, 10126, 7, 71, 2, 2, 10126, 10127, 7, 84, 2, 2, 10127, 10128, 7, 75, 2, 2, 10128, 10129, 7, 81, 2, 2, 10129, 10130, 7, 84, 2, 2, 10130, 10131, 7, 84, 2, 2, 10131, 10132, 7, 75, 2, 2, 10132, 10133, 7, 80, 2, 2, 10133, 10134, 7, 73, 2, 2, 10134, 1752, 3, 2, 2, 2, 10135, 10136, 7, 85, 2, 2, 10136, 10137, 7, 86, 2, 2, 10137, 10138, 7, 97, 2, 2, 10138, 10139, 7, 80, 2, 2, 10139, 10140, 7, 87, 2, 2, 10140, 10141, 7, 79, 2, 2, 10141, 10142, 7, 75, 2, 2, 10142, 10143, 7, 80, 2, 2, 10143, 10144, 7, 86, 2, 2, 10144, 10145, 7, 71, 2, 2, 10145, 10146, 7, 84, 2, 2, 10146, 10147, 7, 75, 2, 2, 10147, 10148, 7, 81, 2, 2, 10148, 10149, 7, 84, 2, 2, 10149, 10150, 7, 84, 2, 2, 10150, 10151, 7, 75, 2, 2, 10151, 10152, 7, 80, 2, 2, 10152, 10153, 7, 73, 2, 2, 10153, 10154, 7, 85, 2, 2, 10154, 1754, 3, 2, 2, 2, 10155, 10156, 7, 85, 2, 2, 10156, 10157, 7, 86, 2, 2, 10157, 10158, 7, 97, 2, 2, 10158, 10159, 7, 80, 2, 2, 10159, 10160, 7, 87, 2, 2, 10160, 10161, 7, 79, 2, 2, 10161, 10162, 7, 82, 2, 2, 10162, 10163, 7, 81, 2, 2, 10163, 10164, 7, 75, 2, 2, 10164, 10165, 7, 80, 2, 2, 10165, 10166, 7, 86, 2, 2, 10166, 10167, 7, 85, 2, 2, 10167, 1756, 3, 2, 2, 2, 10168, 10169, 7, 85, 2, 2, 10169, 10170, 7, 86, 2, 2, 10170, 10171, 7, 97, 2, 2, 10171, 10172, 7, 81, 2, 2, 10172, 10173, 7, 88, 2, 2, 10173, 10174, 7, 71, 2, 2, 10174, 10175, 7, 84, 2, 2, 10175, 10176, 7, 78, 2, 2, 10176, 10177, 7, 67, 2, 2, 10177, 10178, 7, 82, 2, 2, 10178, 10179, 7, 85, 2, 2, 10179, 1758, 3, 2, 2, 2, 10180, 10181, 7, 85, 2, 2, 10181, 10182, 7, 86, 2, 2, 10182, 10183, 7, 97, 2, 2, 10183, 10184, 7, 82, 2, 2, 10184, 10185, 7, 81, 2, 2, 10185, 10186, 7, 75, 2, 2, 10186, 10187, 7, 80, 2, 2, 10187, 10188, 7, 86, 2, 2, 10188, 10189, 7, 72, 2, 2, 10189, 10190, 7, 84, 2, 2, 10190, 10191, 7, 81, 2, 2, 10191, 10192, 7, 79, 2, 2, 10192, 10193, 7, 86, 2, 2, 10193, 10194, 7, 71, 2, 2, 10194, 10195, 7, 90, 2, 2, 10195, 10196, 7, 86, 2, 2, 10196, 1760, 3, 2, 2, 2, 10197, 10198, 7, 85, 2, 2, 10198, 10199, 7, 86, 2, 2, 10199, 10200, 7, 97, 2, 2, 10200, 10201, 7, 82, 2, 2, 10201, 10202, 7, 81, 2, 2, 10202, 10203, 7, 75, 2, 2, 10203, 10204, 7, 80, 2, 2, 10204, 10205, 7, 86, 2, 2, 10205, 10206, 7, 72, 2, 2, 10206, 10207, 7, 84, 2, 2, 10207, 10208, 7, 81, 2, 2, 10208, 10209, 7, 79, 2, 2, 10209, 10210, 7, 89, 2, 2, 10210, 10211, 7, 77, 2, 2, 10211, 10212, 7, 68, 2, 2, 10212, 1762, 3, 2, 2, 2, 10213, 10214, 7, 85, 2, 2, 10214, 10215, 7, 86, 2, 2, 10215, 10216, 7, 97, 2, 2, 10216, 10217, 7, 82, 2, 2, 10217, 10218, 7, 81, 2, 2, 10218, 10219, 7, 75, 2, 2, 10219, 10220, 7, 80, 2, 2, 10220, 10221, 7, 86, 2, 2, 10221, 10222, 7, 80, 2, 2, 10222, 1764, 3, 2, 2, 2, 10223, 10224, 7, 85, 2, 2, 10224, 10225, 7, 86, 2, 2, 10225, 10226, 7, 97, 2, 2, 10226, 10227, 7, 82, 2, 2, 10227, 10228, 7, 81, 2, 2, 10228, 10229, 7, 78, 2, 2, 10229, 10230, 7, 91, 2, 2, 10230, 10231, 7, 72, 2, 2, 10231, 10232, 7, 84, 2, 2, 10232, 10233, 7, 81, 2, 2, 10233, 10234, 7, 79, 2, 2, 10234, 10235, 7, 86, 2, 2, 10235, 10236, 7, 71, 2, 2, 10236, 10237, 7, 90, 2, 2, 10237, 10238, 7, 86, 2, 2, 10238, 1766, 3, 2, 2, 2, 10239, 10240, 7, 85, 2, 2, 10240, 10241, 7, 86, 2, 2, 10241, 10242, 7, 97, 2, 2, 10242, 10243, 7, 82, 2, 2, 10243, 10244, 7, 81, 2, 2, 10244, 10245, 7, 78, 2, 2, 10245, 10246, 7, 91, 2, 2, 10246, 10247, 7, 72, 2, 2, 10247, 10248, 7, 84, 2, 2, 10248, 10249, 7, 81, 2, 2, 10249, 10250, 7, 79, 2, 2, 10250, 10251, 7, 89, 2, 2, 10251, 10252, 7, 77, 2, 2, 10252, 10253, 7, 68, 2, 2, 10253, 1768, 3, 2, 2, 2, 10254, 10255, 7, 85, 2, 2, 10255, 10256, 7, 86, 2, 2, 10256, 10257, 7, 97, 2, 2, 10257, 10258, 7, 82, 2, 2, 10258, 10259, 7, 81, 2, 2, 10259, 10260, 7, 78, 2, 2, 10260, 10261, 7, 91, 2, 2, 10261, 10262, 7, 73, 2, 2, 10262, 10263, 7, 81, 2, 2, 10263, 10264, 7, 80, 2, 2, 10264, 10265, 7, 72, 2, 2, 10265, 10266, 7, 84, 2, 2, 10266, 10267, 7, 81, 2, 2, 10267, 10268, 7, 79, 2, 2, 10268, 10269, 7, 86, 2, 2, 10269, 10270, 7, 71, 2, 2, 10270, 10271, 7, 90, 2, 2, 10271, 10272, 7, 86, 2, 2, 10272, 1770, 3, 2, 2, 2, 10273, 10274, 7, 85, 2, 2, 10274, 10275, 7, 86, 2, 2, 10275, 10276, 7, 97, 2, 2, 10276, 10277, 7, 82, 2, 2, 10277, 10278, 7, 81, 2, 2, 10278, 10279, 7, 78, 2, 2, 10279, 10280, 7, 91, 2, 2, 10280, 10281, 7, 73, 2, 2, 10281, 10282, 7, 81, 2, 2, 10282, 10283, 7, 80, 2, 2, 10283, 10284, 7, 72, 2, 2, 10284, 10285, 7, 84, 2, 2, 10285, 10286, 7, 81, 2, 2, 10286, 10287, 7, 79, 2, 2, 10287, 10288, 7, 89, 2, 2, 10288, 10289, 7, 77, 2, 2, 10289, 10290, 7, 68, 2, 2, 10290, 1772, 3, 2, 2, 2, 10291, 10292, 7, 85, 2, 2, 10292, 10293, 7, 86, 2, 2, 10293, 10294, 7, 97, 2, 2, 10294, 10295, 7, 85, 2, 2, 10295, 10296, 7, 84, 2, 2, 10296, 10297, 7, 75, 2, 2, 10297, 10298, 7, 70, 2, 2, 10298, 1774, 3, 2, 2, 2, 10299, 10300, 7, 85, 2, 2, 10300, 10301, 7, 86, 2, 2, 10301, 10302, 7, 97, 2, 2, 10302, 10303, 7, 85, 2, 2, 10303, 10304, 7, 86, 2, 2, 10304, 10305, 7, 67, 2, 2, 10305, 10306, 7, 84, 2, 2, 10306, 10307, 7, 86, 2, 2, 10307, 10308, 7, 82, 2, 2, 10308, 10309, 7, 81, 2, 2, 10309, 10310, 7, 75, 2, 2, 10310, 10311, 7, 80, 2, 2, 10311, 10312, 7, 86, 2, 2, 10312, 1776, 3, 2, 2, 2, 10313, 10314, 7, 85, 2, 2, 10314, 10315, 7, 86, 2, 2, 10315, 10316, 7, 97, 2, 2, 10316, 10317, 7, 85, 2, 2, 10317, 10318, 7, 91, 2, 2, 10318, 10319, 7, 79, 2, 2, 10319, 10320, 7, 70, 2, 2, 10320, 10321, 7, 75, 2, 2, 10321, 10322, 7, 72, 2, 2, 10322, 10323, 7, 72, 2, 2, 10323, 10324, 7, 71, 2, 2, 10324, 10325, 7, 84, 2, 2, 10325, 10326, 7, 71, 2, 2, 10326, 10327, 7, 80, 2, 2, 10327, 10328, 7, 69, 2, 2, 10328, 10329, 7, 71, 2, 2, 10329, 1778, 3, 2, 2, 2, 10330, 10331, 7, 85, 2, 2, 10331, 10332, 7, 86, 2, 2, 10332, 10333, 7, 97, 2, 2, 10333, 10334, 7, 86, 2, 2, 10334, 10335, 7, 81, 2, 2, 10335, 10336, 7, 87, 2, 2, 10336, 10337, 7, 69, 2, 2, 10337, 10338, 7, 74, 2, 2, 10338, 10339, 7, 71, 2, 2, 10339, 10340, 7, 85, 2, 2, 10340, 1780, 3, 2, 2, 2, 10341, 10342, 7, 85, 2, 2, 10342, 10343, 7, 86, 2, 2, 10343, 10344, 7, 97, 2, 2, 10344, 10345, 7, 87, 2, 2, 10345, 10346, 7, 80, 2, 2, 10346, 10347, 7, 75, 2, 2, 10347, 10348, 7, 81, 2, 2, 10348, 10349, 7, 80, 2, 2, 10349, 1782, 3, 2, 2, 2, 10350, 10351, 7, 85, 2, 2, 10351, 10352, 7, 86, 2, 2, 10352, 10353, 7, 97, 2, 2, 10353, 10354, 7, 89, 2, 2, 10354, 10355, 7, 75, 2, 2, 10355, 10356, 7, 86, 2, 2, 10356, 10357, 7, 74, 2, 2, 10357, 10358, 7, 75, 2, 2, 10358, 10359, 7, 80, 2, 2, 10359, 1784, 3, 2, 2, 2, 10360, 10361, 7, 85, 2, 2, 10361, 10362, 7, 86, 2, 2, 10362, 10363, 7, 97, 2, 2, 10363, 10364, 7, 90, 2, 2, 10364, 1786, 3, 2, 2, 2, 10365, 10366, 7, 85, 2, 2, 10366, 10367, 7, 86, 2, 2, 10367, 10368, 7, 97, 2, 2, 10368, 10369, 7, 91, 2, 2, 10369, 1788, 3, 2, 2, 2, 10370, 10371, 7, 85, 2, 2, 10371, 10372, 7, 87, 2, 2, 10372, 10373, 7, 68, 2, 2, 10373, 10374, 7, 70, 2, 2, 10374, 10375, 7, 67, 2, 2, 10375, 10376, 7, 86, 2, 2, 10376, 10377, 7, 71, 2, 2, 10377, 1790, 3, 2, 2, 2, 10378, 10379, 7, 85, 2, 2, 10379, 10380, 7, 87, 2, 2, 10380, 10381, 7, 68, 2, 2, 10381, 10382, 7, 85, 2, 2, 10382, 10383, 7, 86, 2, 2, 10383, 10384, 7, 84, 2, 2, 10384, 10385, 7, 75, 2, 2, 10385, 10386, 7, 80, 2, 2, 10386, 10387, 7, 73, 2, 2, 10387, 10388, 7, 97, 2, 2, 10388, 10389, 7, 75, 2, 2, 10389, 10390, 7, 80, 2, 2, 10390, 10391, 7, 70, 2, 2, 10391, 10392, 7, 71, 2, 2, 10392, 10393, 7, 90, 2, 2, 10393, 1792, 3, 2, 2, 2, 10394, 10395, 7, 85, 2, 2, 10395, 10396, 7, 87, 2, 2, 10396, 10397, 7, 68, 2, 2, 10397, 10398, 7, 86, 2, 2, 10398, 10399, 7, 75, 2, 2, 10399, 10400, 7, 79, 2, 2, 10400, 10401, 7, 71, 2, 2, 10401, 1794, 3, 2, 2, 2, 10402, 10403, 7, 85, 2, 2, 10403, 10404, 7, 91, 2, 2, 10404, 10405, 7, 85, 2, 2, 10405, 10406, 7, 86, 2, 2, 10406, 10407, 7, 71, 2, 2, 10407, 10408, 7, 79, 2, 2, 10408, 10409, 7, 97, 2, 2, 10409, 10410, 7, 87, 2, 2, 10410, 10411, 7, 85, 2, 2, 10411, 10412, 7, 71, 2, 2, 10412, 10413, 7, 84, 2, 2, 10413, 1796, 3, 2, 2, 2, 10414, 10415, 7, 86, 2, 2, 10415, 10416, 7, 67, 2, 2, 10416, 10417, 7, 80, 2, 2, 10417, 1798, 3, 2, 2, 2, 10418, 10419, 7, 86, 2, 2, 10419, 10420, 7, 75, 2, 2, 10420, 10421, 7, 79, 2, 2, 10421, 10422, 7, 71, 2, 2, 10422, 10423, 7, 70, 2, 2, 10423, 10424, 7, 75, 2, 2, 10424, 10425, 7, 72, 2, 2, 10425, 10426, 7, 72, 2, 2, 10426, 1800, 3, 2, 2, 2, 10427, 10428, 7, 86, 2, 2, 10428, 10429, 7, 75, 2, 2, 10429, 10430, 7, 79, 2, 2, 10430, 10431, 7, 71, 2, 2, 10431, 10432, 7, 85, 2, 2, 10432, 10433, 7, 86, 2, 2, 10433, 10434, 7, 67, 2, 2, 10434, 10435, 7, 79, 2, 2, 10435, 10436, 7, 82, 2, 2, 10436, 10437, 7, 67, 2, 2, 10437, 10438, 7, 70, 2, 2, 10438, 10439, 7, 70, 2, 2, 10439, 1802, 3, 2, 2, 2, 10440, 10441, 7, 86, 2, 2, 10441, 10442, 7, 75, 2, 2, 10442, 10443, 7, 79, 2, 2, 10443, 10444, 7, 71, 2, 2, 10444, 10445, 7, 85, 2, 2, 10445, 10446, 7, 86, 2, 2, 10446, 10447, 7, 67, 2, 2, 10447, 10448, 7, 79, 2, 2, 10448, 10449, 7, 82, 2, 2, 10449, 10450, 7, 70, 2, 2, 10450, 10451, 7, 75, 2, 2, 10451, 10452, 7, 72, 2, 2, 10452, 10453, 7, 72, 2, 2, 10453, 1804, 3, 2, 2, 2, 10454, 10455, 7, 86, 2, 2, 10455, 10456, 7, 75, 2, 2, 10456, 10457, 7, 79, 2, 2, 10457, 10458, 7, 71, 2, 2, 10458, 10459, 7, 97, 2, 2, 10459, 10460, 7, 72, 2, 2, 10460, 10461, 7, 81, 2, 2, 10461, 10462, 7, 84, 2, 2, 10462, 10463, 7, 79, 2, 2, 10463, 10464, 7, 67, 2, 2, 10464, 10465, 7, 86, 2, 2, 10465, 1806, 3, 2, 2, 2, 10466, 10467, 7, 86, 2, 2, 10467, 10468, 7, 75, 2, 2, 10468, 10469, 7, 79, 2, 2, 10469, 10470, 7, 71, 2, 2, 10470, 10471, 7, 97, 2, 2, 10471, 10472, 7, 86, 2, 2, 10472, 10473, 7, 81, 2, 2, 10473, 10474, 7, 97, 2, 2, 10474, 10475, 7, 85, 2, 2, 10475, 10476, 7, 71, 2, 2, 10476, 10477, 7, 69, 2, 2, 10477, 1808, 3, 2, 2, 2, 10478, 10479, 7, 86, 2, 2, 10479, 10480, 7, 81, 2, 2, 10480, 10481, 7, 87, 2, 2, 10481, 10482, 7, 69, 2, 2, 10482, 10483, 7, 74, 2, 2, 10483, 10484, 7, 71, 2, 2, 10484, 10485, 7, 85, 2, 2, 10485, 1810, 3, 2, 2, 2, 10486, 10487, 7, 86, 2, 2, 10487, 10488, 7, 81, 2, 2, 10488, 10489, 7, 97, 2, 2, 10489, 10490, 7, 68, 2, 2, 10490, 10491, 7, 67, 2, 2, 10491, 10492, 7, 85, 2, 2, 10492, 10493, 7, 71, 2, 2, 10493, 10494, 7, 56, 2, 2, 10494, 10495, 7, 54, 2, 2, 10495, 1812, 3, 2, 2, 2, 10496, 10497, 7, 86, 2, 2, 10497, 10498, 7, 81, 2, 2, 10498, 10499, 7, 97, 2, 2, 10499, 10500, 7, 70, 2, 2, 10500, 10501, 7, 67, 2, 2, 10501, 10502, 7, 91, 2, 2, 10502, 10503, 7, 85, 2, 2, 10503, 1814, 3, 2, 2, 2, 10504, 10505, 7, 86, 2, 2, 10505, 10506, 7, 81, 2, 2, 10506, 10507, 7, 97, 2, 2, 10507, 10508, 7, 85, 2, 2, 10508, 10509, 7, 71, 2, 2, 10509, 10510, 7, 69, 2, 2, 10510, 10511, 7, 81, 2, 2, 10511, 10512, 7, 80, 2, 2, 10512, 10513, 7, 70, 2, 2, 10513, 10514, 7, 85, 2, 2, 10514, 1816, 3, 2, 2, 2, 10515, 10516, 7, 87, 2, 2, 10516, 10517, 7, 69, 2, 2, 10517, 10518, 7, 67, 2, 2, 10518, 10519, 7, 85, 2, 2, 10519, 10520, 7, 71, 2, 2, 10520, 1818, 3, 2, 2, 2, 10521, 10522, 7, 87, 2, 2, 10522, 10523, 7, 80, 2, 2, 10523, 10524, 7, 69, 2, 2, 10524, 10525, 7, 81, 2, 2, 10525, 10526, 7, 79, 2, 2, 10526, 10527, 7, 82, 2, 2, 10527, 10528, 7, 84, 2, 2, 10528, 10529, 7, 71, 2, 2, 10529, 10530, 7, 85, 2, 2, 10530, 10531, 7, 85, 2, 2, 10531, 1820, 3, 2, 2, 2, 10532, 10533, 7, 87, 2, 2, 10533, 10534, 7, 80, 2, 2, 10534, 10535, 7, 69, 2, 2, 10535, 10536, 7, 81, 2, 2, 10536, 10537, 7, 79, 2, 2, 10537, 10538, 7, 82, 2, 2, 10538, 10539, 7, 84, 2, 2, 10539, 10540, 7, 71, 2, 2, 10540, 10541, 7, 85, 2, 2, 10541, 10542, 7, 85, 2, 2, 10542, 10543, 7, 71, 2, 2, 10543, 10544, 7, 70, 2, 2, 10544, 10545, 7, 97, 2, 2, 10545, 10546, 7, 78, 2, 2, 10546, 10547, 7, 71, 2, 2, 10547, 10548, 7, 80, 2, 2, 10548, 10549, 7, 73, 2, 2, 10549, 10550, 7, 86, 2, 2, 10550, 10551, 7, 74, 2, 2, 10551, 1822, 3, 2, 2, 2, 10552, 10553, 7, 87, 2, 2, 10553, 10554, 7, 80, 2, 2, 10554, 10555, 7, 74, 2, 2, 10555, 10556, 7, 71, 2, 2, 10556, 10557, 7, 90, 2, 2, 10557, 1824, 3, 2, 2, 2, 10558, 10559, 7, 87, 2, 2, 10559, 10560, 7, 80, 2, 2, 10560, 10561, 7, 75, 2, 2, 10561, 10562, 7, 90, 2, 2, 10562, 10563, 7, 97, 2, 2, 10563, 10564, 7, 86, 2, 2, 10564, 10565, 7, 75, 2, 2, 10565, 10566, 7, 79, 2, 2, 10566, 10567, 7, 71, 2, 2, 10567, 10568, 7, 85, 2, 2, 10568, 10569, 7, 86, 2, 2, 10569, 10570, 7, 67, 2, 2, 10570, 10571, 7, 79, 2, 2, 10571, 10572, 7, 82, 2, 2, 10572, 1826, 3, 2, 2, 2, 10573, 10574, 7, 87, 2, 2, 10574, 10575, 7, 82, 2, 2, 10575, 10576, 7, 70, 2, 2, 10576, 10577, 7, 67, 2, 2, 10577, 10578, 7, 86, 2, 2, 10578, 10579, 7, 71, 2, 2, 10579, 10580, 7, 90, 2, 2, 10580, 10581, 7, 79, 2, 2, 10581, 10582, 7, 78, 2, 2, 10582, 1828, 3, 2, 2, 2, 10583, 10584, 7, 87, 2, 2, 10584, 10585, 7, 82, 2, 2, 10585, 10586, 7, 82, 2, 2, 10586, 10587, 7, 71, 2, 2, 10587, 10588, 7, 84, 2, 2, 10588, 1830, 3, 2, 2, 2, 10589, 10590, 7, 87, 2, 2, 10590, 10591, 7, 87, 2, 2, 10591, 10592, 7, 75, 2, 2, 10592, 10593, 7, 70, 2, 2, 10593, 1832, 3, 2, 2, 2, 10594, 10595, 7, 87, 2, 2, 10595, 10596, 7, 87, 2, 2, 10596, 10597, 7, 75, 2, 2, 10597, 10598, 7, 70, 2, 2, 10598, 10599, 7, 97, 2, 2, 10599, 10600, 7, 85, 2, 2, 10600, 10601, 7, 74, 2, 2, 10601, 10602, 7, 81, 2, 2, 10602, 10603, 7, 84, 2, 2, 10603, 10604, 7, 86, 2, 2, 10604, 1834, 3, 2, 2, 2, 10605, 10606, 7, 88, 2, 2, 10606, 10607, 7, 67, 2, 2, 10607, 10608, 7, 78, 2, 2, 10608, 10609, 7, 75, 2, 2, 10609, 10610, 7, 70, 2, 2, 10610, 10611, 7, 67, 2, 2, 10611, 10612, 7, 86, 2, 2, 10612, 10613, 7, 71, 2, 2, 10613, 10614, 7, 97, 2, 2, 10614, 10615, 7, 82, 2, 2, 10615, 10616, 7, 67, 2, 2, 10616, 10617, 7, 85, 2, 2, 10617, 10618, 7, 85, 2, 2, 10618, 10619, 7, 89, 2, 2, 10619, 10620, 7, 81, 2, 2, 10620, 10621, 7, 84, 2, 2, 10621, 10622, 7, 70, 2, 2, 10622, 10623, 7, 97, 2, 2, 10623, 10624, 7, 85, 2, 2, 10624, 10625, 7, 86, 2, 2, 10625, 10626, 7, 84, 2, 2, 10626, 10627, 7, 71, 2, 2, 10627, 10628, 7, 80, 2, 2, 10628, 10629, 7, 73, 2, 2, 10629, 10630, 7, 86, 2, 2, 10630, 10631, 7, 74, 2, 2, 10631, 1836, 3, 2, 2, 2, 10632, 10633, 7, 88, 2, 2, 10633, 10634, 7, 71, 2, 2, 10634, 10635, 7, 84, 2, 2, 10635, 10636, 7, 85, 2, 2, 10636, 10637, 7, 75, 2, 2, 10637, 10638, 7, 81, 2, 2, 10638, 10639, 7, 80, 2, 2, 10639, 1838, 3, 2, 2, 2, 10640, 10641, 7, 89, 2, 2, 10641, 10642, 7, 67, 2, 2, 10642, 10643, 7, 75, 2, 2, 10643, 10644, 7, 86, 2, 2, 10644, 10645, 7, 97, 2, 2, 10645, 10646, 7, 87, 2, 2, 10646, 10647, 7, 80, 2, 2, 10647, 10648, 7, 86, 2, 2, 10648, 10649, 7, 75, 2, 2, 10649, 10650, 7, 78, 2, 2, 10650, 10651, 7, 97, 2, 2, 10651, 10652, 7, 85, 2, 2, 10652, 10653, 7, 83, 2, 2, 10653, 10654, 7, 78, 2, 2, 10654, 10655, 7, 97, 2, 2, 10655, 10656, 7, 86, 2, 2, 10656, 10657, 7, 74, 2, 2, 10657, 10658, 7, 84, 2, 2, 10658, 10659, 7, 71, 2, 2, 10659, 10660, 7, 67, 2, 2, 10660, 10661, 7, 70, 2, 2, 10661, 10662, 7, 97, 2, 2, 10662, 10663, 7, 67, 2, 2, 10663, 10664, 7, 72, 2, 2, 10664, 10665, 7, 86, 2, 2, 10665, 10666, 7, 71, 2, 2, 10666, 10667, 7, 84, 2, 2, 10667, 10668, 7, 97, 2, 2, 10668, 10669, 7, 73, 2, 2, 10669, 10670, 7, 86, 2, 2, 10670, 10671, 7, 75, 2, 2, 10671, 10672, 7, 70, 2, 2, 10672, 10673, 7, 85, 2, 2, 10673, 1840, 3, 2, 2, 2, 10674, 10675, 7, 89, 2, 2, 10675, 10676, 7, 71, 2, 2, 10676, 10677, 7, 71, 2, 2, 10677, 10678, 7, 77, 2, 2, 10678, 10679, 7, 70, 2, 2, 10679, 10680, 7, 67, 2, 2, 10680, 10681, 7, 91, 2, 2, 10681, 1842, 3, 2, 2, 2, 10682, 10683, 7, 89, 2, 2, 10683, 10684, 7, 71, 2, 2, 10684, 10685, 7, 71, 2, 2, 10685, 10686, 7, 77, 2, 2, 10686, 10687, 7, 81, 2, 2, 10687, 10688, 7, 72, 2, 2, 10688, 10689, 7, 91, 2, 2, 10689, 10690, 7, 71, 2, 2, 10690, 10691, 7, 67, 2, 2, 10691, 10692, 7, 84, 2, 2, 10692, 1844, 3, 2, 2, 2, 10693, 10694, 7, 89, 2, 2, 10694, 10695, 7, 71, 2, 2, 10695, 10696, 7, 75, 2, 2, 10696, 10697, 7, 73, 2, 2, 10697, 10698, 7, 74, 2, 2, 10698, 10699, 7, 86, 2, 2, 10699, 10700, 7, 97, 2, 2, 10700, 10701, 7, 85, 2, 2, 10701, 10702, 7, 86, 2, 2, 10702, 10703, 7, 84, 2, 2, 10703, 10704, 7, 75, 2, 2, 10704, 10705, 7, 80, 2, 2, 10705, 10706, 7, 73, 2, 2, 10706, 1846, 3, 2, 2, 2, 10707, 10708, 7, 89, 2, 2, 10708, 10709, 7, 75, 2, 2, 10709, 10710, 7, 86, 2, 2, 10710, 10711, 7, 74, 2, 2, 10711, 10712, 7, 75, 2, 2, 10712, 10713, 7, 80, 2, 2, 10713, 1848, 3, 2, 2, 2, 10714, 10715, 7, 91, 2, 2, 10715, 10716, 7, 71, 2, 2, 10716, 10717, 7, 67, 2, 2, 10717, 10718, 7, 84, 2, 2, 10718, 10719, 7, 89, 2, 2, 10719, 10720, 7, 71, 2, 2, 10720, 10721, 7, 71, 2, 2, 10721, 10722, 7, 77, 2, 2, 10722, 1850, 3, 2, 2, 2, 10723, 10724, 7, 91, 2, 2, 10724, 1852, 3, 2, 2, 2, 10725, 10726, 7, 90, 2, 2, 10726, 1854, 3, 2, 2, 2, 10727, 10728, 7, 60, 2, 2, 10728, 10729, 7, 63, 2, 2, 10729, 1856, 3, 2, 2, 2, 10730, 10731, 7, 45, 2, 2, 10731, 10732, 7, 63, 2, 2, 10732, 1858, 3, 2, 2, 2, 10733, 10734, 7, 47, 2, 2, 10734, 10735, 7, 63, 2, 2, 10735, 1860, 3, 2, 2, 2, 10736, 10737, 7, 44, 2, 2, 10737, 10738, 7, 63, 2, 2, 10738, 1862, 3, 2, 2, 2, 10739, 10740, 7, 49, 2, 2, 10740, 10741, 7, 63, 2, 2, 10741, 1864, 3, 2, 2, 2, 10742, 10743, 7, 39, 2, 2, 10743, 10744, 7, 63, 2, 2, 10744, 1866, 3, 2, 2, 2, 10745, 10746, 7, 40, 2, 2, 10746, 10747, 7, 63, 2, 2, 10747, 1868, 3, 2, 2, 2, 10748, 10749, 7, 96, 2, 2, 10749, 10750, 7, 63, 2, 2, 10750, 1870, 3, 2, 2, 2, 10751, 10752, 7, 126, 2, 2, 10752, 10753, 7, 63, 2, 2, 10753, 1872, 3, 2, 2, 2, 10754, 10755, 7, 44, 2, 2, 10755, 1874, 3, 2, 2, 2, 10756, 10757, 7, 49, 2, 2, 10757, 1876, 3, 2, 2, 2, 10758, 10759, 7, 39, 2, 2, 10759, 1878, 3, 2, 2, 2, 10760, 10761, 7, 45, 2, 2, 10761, 1880, 3, 2, 2, 2, 10762, 10763, 7, 47, 2, 2, 10763, 10764, 7, 47, 2, 2, 10764, 1882, 3, 2, 2, 2, 10765, 10766, 7, 47, 2, 2, 10766, 1884, 3, 2, 2, 2, 10767, 10768, 7, 70, 2, 2, 10768, 10769, 7, 75, 2, 2, 10769, 10770, 7, 88, 2, 2, 10770, 1886, 3, 2, 2, 2, 10771, 10772, 7, 79, 2, 2, 10772, 10773, 7, 81, 2, 2, 10773, 10774, 7, 70, 2, 2, 10774, 1888, 3, 2, 2, 2, 10775, 10776, 7, 63, 2, 2, 10776, 1890, 3, 2, 2, 2, 10777, 10778, 7, 64, 2, 2, 10778, 1892, 3, 2, 2, 2, 10779, 10780, 7, 62, 2, 2, 10780, 1894, 3, 2, 2, 2, 10781, 10782, 7, 35, 2, 2, 10782, 1896, 3, 2, 2, 2, 10783, 10784, 7, 128, 2, 2, 10784, 1898, 3, 2, 2, 2, 10785, 10786, 7, 126, 2, 2, 10786, 1900, 3, 2, 2, 2, 10787, 10788, 7, 40, 2, 2, 10788, 1902, 3, 2, 2, 2, 10789, 10790, 7, 96, 2, 2, 10790, 1904, 3, 2, 2, 2, 10791, 10792, 7, 48, 2, 2, 10792, 1906, 3, 2, 2, 2, 10793, 10794, 7, 42, 2, 2, 10794, 1908, 3, 2, 2, 2, 10795, 10796, 7, 43, 2, 2, 10796, 1910, 3, 2, 2, 2, 10797, 10798, 7, 46, 2, 2, 10798, 1912, 3, 2, 2, 2, 10799, 10800, 7, 61, 2, 2, 10800, 1914, 3, 2, 2, 2, 10801, 10802, 7, 66, 2, 2, 10802, 1916, 3, 2, 2, 2, 10803, 10804, 7, 50, 2, 2, 10804, 1918, 3, 2, 2, 2, 10805, 10806, 7, 51, 2, 2, 10806, 1920, 3, 2, 2, 2, 10807, 10808, 7, 52, 2, 2, 10808, 1922, 3, 2, 2, 2, 10809, 10810, 7, 41, 2, 2, 10810, 1924, 3, 2, 2, 2, 10811, 10812, 7, 36, 2, 2, 10812, 1926, 3, 2, 2, 2, 10813, 10814, 7, 98, 2, 2, 10814, 1928, 3, 2, 2, 2, 10815, 10816, 7, 60, 2, 2, 10816, 1930, 3, 2, 2, 2, 10817, 10818, 7, 98, 2, 2, 10818, 10819, 5, 1963, 982, 2, 10819, 10820, 7, 98, 2, 2, 10820, 1932, 3, 2, 2, 2, 10821, 10823, 5, 1977, 989, 2, 10822, 10821, 3, 2, 2, 2, 10823, 10824, 3, 2, 2, 2, 10824, 10822, 3, 2, 2, 2, 10824, 10825, 3, 2, 2, 2, 10825, 10826, 3, 2, 2, 2, 10826, 10827, 9, 4, 2, 2, 10827, 1934, 3, 2, 2, 2, 10828, 10829, 7, 80, 2, 2, 10829, 10830, 5, 1971, 986, 2, 10830, 1936, 3, 2, 2, 2, 10831, 10834, 5, 1969, 985, 2, 10832, 10834, 5, 1971, 986, 2, 10833, 10831, 3, 2, 2, 2, 10833, 10832, 3, 2, 2, 2, 10834, 1938, 3, 2, 2, 2, 10835, 10837, 5, 1977, 989, 2, 10836, 10835, 3, 2, 2, 2, 10837, 10838, 3, 2, 2, 2, 10838, 10836, 3, 2, 2, 2, 10838, 10839, 3, 2, 2, 2, 10839, 1940, 3, 2, 2, 2, 10840, 10841, 7, 90, 2, 2, 10841, 10845, 7, 41, 2, 2, 10842, 10843, 5, 1975, 988, 2, 10843, 10844, 5, 1975, 988, 2, 10844, 10846, 3, 2, 2, 2, 10845, 10842, 3, 2, 2, 2, 10846, 10847, 3, 2, 2, 2, 10847, 10845, 3, 2, 2, 2, 10847, 10848, 3, 2, 2, 2, 10848, 10849, 3, 2, 2, 2, 10849, 10850, 7, 41, 2, 2, 10850, 10860, 3, 2, 2, 2, 10851, 10852, 7, 50, 2, 2, 10852, 10853, 7, 90, 2, 2, 10853, 10855, 3, 2, 2, 2, 10854, 10856, 5, 1975, 988, 2, 10855, 10854, 3, 2, 2, 2, 10856, 10857, 3, 2, 2, 2, 10857, 10855, 3, 2, 2, 2, 10857, 10858, 3, 2, 2, 2, 10858, 10860, 3, 2, 2, 2, 10859, 10840, 3, 2, 2, 2, 10859, 10851, 3, 2, 2, 2, 10860, 1942, 3, 2, 2, 2, 10861, 10863, 5, 1977, 989, 2, 10862, 10861, 3, 2, 2, 2, 10863, 10864, 3, 2, 2, 2, 10864, 10862, 3, 2, 2, 2, 10864, 10865, 3, 2, 2, 2, 10865, 10867, 3, 2, 2, 2, 10866, 10862, 3, 2, 2, 2, 10866, 10867, 3, 2, 2, 2, 10867, 10868, 3, 2, 2, 2, 10868, 10870, 7, 48, 2, 2, 10869, 10871, 5, 1977, 989, 2, 10870, 10869, 3, 2, 2, 2, 10871, 10872, 3, 2, 2, 2, 10872, 10870, 3, 2, 2, 2, 10872, 10873, 3, 2, 2, 2, 10873, 10905, 3, 2, 2, 2, 10874, 10876, 5, 1977, 989, 2, 10875, 10874, 3, 2, 2, 2, 10876, 10877, 3, 2, 2, 2, 10877, 10875, 3, 2, 2, 2, 10877, 10878, 3, 2, 2, 2, 10878, 10879, 3, 2, 2, 2, 10879, 10880, 7, 48, 2, 2, 10880, 10881, 5, 1965, 983, 2, 10881, 10905, 3, 2, 2, 2, 10882, 10884, 5, 1977, 989, 2, 10883, 10882, 3, 2, 2, 2, 10884, 10885, 3, 2, 2, 2, 10885, 10883, 3, 2, 2, 2, 10885, 10886, 3, 2, 2, 2, 10886, 10888, 3, 2, 2, 2, 10887, 10883, 3, 2, 2, 2, 10887, 10888, 3, 2, 2, 2, 10888, 10889, 3, 2, 2, 2, 10889, 10891, 7, 48, 2, 2, 10890, 10892, 5, 1977, 989, 2, 10891, 10890, 3, 2, 2, 2, 10892, 10893, 3, 2, 2, 2, 10893, 10891, 3, 2, 2, 2, 10893, 10894, 3, 2, 2, 2, 10894, 10895, 3, 2, 2, 2, 10895, 10896, 5, 1965, 983, 2, 10896, 10905, 3, 2, 2, 2, 10897, 10899, 5, 1977, 989, 2, 10898, 10897, 3, 2, 2, 2, 10899, 10900, 3, 2, 2, 2, 10900, 10898, 3, 2, 2, 2, 10900, 10901, 3, 2, 2, 2, 10901, 10902, 3, 2, 2, 2, 10902, 10903, 5, 1965, 983, 2, 10903, 10905, 3, 2, 2, 2, 10904, 10866, 3, 2, 2, 2, 10904, 10875, 3, 2, 2, 2, 10904, 10887, 3, 2, 2, 2, 10904, 10898, 3, 2, 2, 2, 10905, 1944, 3, 2, 2, 2, 10906, 10907, 7, 94, 2, 2, 10907, 10908, 7, 80, 2, 2, 10908, 1946, 3, 2, 2, 2, 10909, 10910, 5, 1979, 990, 2, 10910, 1948, 3, 2, 2, 2, 10911, 10912, 7, 97, 2, 2, 10912, 10913, 5, 1963, 982, 2, 10913, 1950, 3, 2, 2, 2, 10914, 10915, 7, 48, 2, 2, 10915, 10916, 5, 1967, 984, 2, 10916, 1952, 3, 2, 2, 2, 10917, 10918, 5, 1967, 984, 2, 10918, 1954, 3, 2, 2, 2, 10919, 10921, 7, 98, 2, 2, 10920, 10922, 10, 5, 2, 2, 10921, 10920, 3, 2, 2, 2, 10922, 10923, 3, 2, 2, 2, 10923, 10921, 3, 2, 2, 2, 10923, 10924, 3, 2, 2, 2, 10924, 10925, 3, 2, 2, 2, 10925, 10926, 7, 98, 2, 2, 10926, 1956, 3, 2, 2, 2, 10927, 10932, 5, 1971, 986, 2, 10928, 10932, 5, 1969, 985, 2, 10929, 10932, 5, 1973, 987, 2, 10930, 10932, 5, 1967, 984, 2, 10931, 10927, 3, 2, 2, 2, 10931, 10928, 3, 2, 2, 2, 10931, 10929, 3, 2, 2, 2, 10931, 10930, 3, 2, 2, 2, 10932, 10933, 3, 2, 2, 2, 10933, 10938, 7, 66, 2, 2, 10934, 10939, 5, 1971, 986, 2, 10935, 10939, 5, 1969, 985, 2, 10936, 10939, 5, 1973, 987, 2, 10937, 10939, 5, 1967, 984, 2, 10938, 10934, 3, 2, 2, 2, 10938, 10935, 3, 2, 2, 2, 10938, 10936, 3, 2, 2, 2, 10938, 10937, 3, 2, 2, 2, 10939, 1958, 3, 2, 2, 2, 10940, 10949, 7, 66, 2, 2, 10941, 10943, 9, 6, 2, 2, 10942, 10941, 3, 2, 2, 2, 10943, 10944, 3, 2, 2, 2, 10944, 10942, 3, 2, 2, 2, 10944, 10945, 3, 2, 2, 2, 10945, 10950, 3, 2, 2, 2, 10946, 10950, 5, 1971, 986, 2, 10947, 10950, 5, 1969, 985, 2, 10948, 10950, 5, 1973, 987, 2, 10949, 10942, 3, 2, 2, 2, 10949, 10946, 3, 2, 2, 2, 10949, 10947, 3, 2, 2, 2, 10949, 10948, 3, 2, 2, 2, 10950, 1960, 3, 2, 2, 2, 10951, 10952, 7, 66, 2, 2, 10952, 10959, 7, 66, 2, 2, 10953, 10955, 9, 6, 2, 2, 10954, 10953, 3, 2, 2, 2, 10955, 10956, 3, 2, 2, 2, 10956, 10954, 3, 2, 2, 2, 10956, 10957, 3, 2, 2, 2, 10957, 10960, 3, 2, 2, 2, 10958, 10960, 5, 1973, 987, 2, 10959, 10954, 3, 2, 2, 2, 10959, 10958, 3, 2, 2, 2, 10960, 1962, 3, 2, 2, 2, 10961, 11002, 5, 1151, 576, 2, 10962, 11002, 5, 1153, 577, 2, 10963, 11002, 5, 1155, 578, 2, 10964, 11002, 5, 383, 192, 2, 10965, 11002, 5, 1157, 579, 2, 10966, 11002, 5, 1159, 580, 2, 10967, 11002, 5, 1161, 581, 2, 10968, 11002, 5, 1163, 582, 2, 10969, 11002, 5, 1165, 583, 2, 10970, 11002, 5, 1167, 584, 2, 10971, 11002, 5, 1169, 585, 2, 10972, 11002, 5, 1171, 586, 2, 10973, 11002, 5, 1173, 587, 2, 10974, 11002, 5, 1175, 588, 2, 10975, 11002, 5, 1177, 589, 2, 10976, 11002, 5, 1179, 590, 2, 10977, 11002, 5, 1181, 591, 2, 10978, 11002, 5, 1183, 592, 2, 10979, 11002, 5, 1185, 593, 2, 10980, 11002, 5, 1187, 594, 2, 10981, 11002, 5, 1189, 595, 2, 10982, 11002, 5, 1191, 596, 2, 10983, 11002, 5, 1193, 597, 2, 10984, 11002, 5, 1195, 598, 2, 10985, 11002, 5, 1197, 599, 2, 10986, 11002, 5, 1199, 600, 2, 10987, 11002, 5, 1201, 601, 2, 10988, 11002, 5, 1203, 602, 2, 10989, 11002, 5, 1205, 603, 2, 10990, 11002, 5, 1207, 604, 2, 10991, 11002, 5, 1209, 605, 2, 10992, 11002, 5, 1211, 606, 2, 10993, 11002, 5, 1213, 607, 2, 10994, 11002, 5, 1215, 608, 2, 10995, 11002, 5, 1217, 609, 2, 10996, 11002, 5, 1219, 610, 2, 10997, 11002, 5, 1221, 611, 2, 10998, 11002, 5, 1223, 612, 2, 10999, 11002, 5, 1225, 613, 2, 11000, 11002, 5, 1229, 615, 2, 11001, 10961, 3, 2, 2, 2, 11001, 10962, 3, 2, 2, 2, 11001, 10963, 3, 2, 2, 2, 11001, 10964, 3, 2, 2, 2, 11001, 10965, 3, 2, 2, 2, 11001, 10966, 3, 2, 2, 2, 11001, 10967, 3, 2, 2, 2, 11001, 10968, 3, 2, 2, 2, 11001, 10969, 3, 2, 2, 2, 11001, 10970, 3, 2, 2, 2, 11001, 10971, 3, 2, 2, 2, 11001, 10972, 3, 2, 2, 2, 11001, 10973, 3, 2, 2, 2, 11001, 10974, 3, 2, 2, 2, 11001, 10975, 3, 2, 2, 2, 11001, 10976, 3, 2, 2, 2, 11001, 10977, 3, 2, 2, 2, 11001, 10978, 3, 2, 2, 2, 11001, 10979, 3, 2, 2, 2, 11001, 10980, 3, 2, 2, 2, 11001, 10981, 3, 2, 2, 2, 11001, 10982, 3, 2, 2, 2, 11001, 10983, 3, 2, 2, 2, 11001, 10984, 3, 2, 2, 2, 11001, 10985, 3, 2, 2, 2, 11001, 10986, 3, 2, 2, 2, 11001, 10987, 3, 2, 2, 2, 11001, 10988, 3, 2, 2, 2, 11001, 10989, 3, 2, 2, 2, 11001, 10990, 3, 2, 2, 2, 11001, 10991, 3, 2, 2, 2, 11001, 10992, 3, 2, 2, 2, 11001, 10993, 3, 2, 2, 2, 11001, 10994, 3, 2, 2, 2, 11001, 10995, 3, 2, 2, 2, 11001, 10996, 3, 2, 2, 2, 11001, 10997, 3, 2, 2, 2, 11001, 10998, 3, 2, 2, 2, 11001, 10999, 3, 2, 2, 2, 11001, 11000, 3, 2, 2, 2, 11002, 1964, 3, 2, 2, 2, 11003, 11005, 7, 71, 2, 2, 11004, 11006, 7, 47, 2, 2, 11005, 11004, 3, 2, 2, 2, 11005, 11006, 3, 2, 2, 2, 11006, 11008, 3, 2, 2, 2, 11007, 11009, 5, 1977, 989, 2, 11008, 11007, 3, 2, 2, 2, 11009, 11010, 3, 2, 2, 2, 11010, 11008, 3, 2, 2, 2, 11010, 11011, 3, 2, 2, 2, 11011, 1966, 3, 2, 2, 2, 11012, 11014, 9, 7, 2, 2, 11013, 11012, 3, 2, 2, 2, 11014, 11017, 3, 2, 2, 2, 11015, 11016, 3, 2, 2, 2, 11015, 11013, 3, 2, 2, 2, 11016, 11019, 3, 2, 2, 2, 11017, 11015, 3, 2, 2, 2, 11018, 11020, 9, 8, 2, 2, 11019, 11018, 3, 2, 2, 2, 11020, 11021, 3, 2, 2, 2, 11021, 11022, 3, 2, 2, 2, 11021, 11019, 3, 2, 2, 2, 11022, 11026, 3, 2, 2, 2, 11023, 11025, 9, 7, 2, 2, 11024, 11023, 3, 2, 2, 2, 11025, 11028, 3, 2, 2, 2, 11026, 11024, 3, 2, 2, 2, 11026, 11027, 3, 2, 2, 2, 11027, 1968, 3, 2, 2, 2, 11028, 11026, 3, 2, 2, 2, 11029, 11037, 7, 36, 2, 2, 11030, 11031, 7, 94, 2, 2, 11031, 11036, 11, 2, 2, 2, 11032, 11033, 7, 36, 2, 2, 11033, 11036, 7, 36, 2, 2, 11034, 11036, 10, 9, 2, 2, 11035, 11030, 3, 2, 2, 2, 11035, 11032, 3, 2, 2, 2, 11035, 11034, 3, 2, 2, 2, 11036, 11039, 3, 2, 2, 2, 11037, 11035, 3, 2, 2, 2, 11037, 11038, 3, 2, 2, 2, 11038, 11040, 3, 2, 2, 2, 11039, 11037, 3, 2, 2, 2, 11040, 11041, 7, 36, 2, 2, 11041, 1970, 3, 2, 2, 2, 11042, 11050, 7, 41, 2, 2, 11043, 11044, 7, 94, 2, 2, 11044, 11049, 11, 2, 2, 2, 11045, 11046, 7, 41, 2, 2, 11046, 11049, 7, 41, 2, 2, 11047, 11049, 10, 10, 2, 2, 11048, 11043, 3, 2, 2, 2, 11048, 11045, 3, 2, 2, 2, 11048, 11047, 3, 2, 2, 2, 11049, 11052, 3, 2, 2, 2, 11050, 11048, 3, 2, 2, 2, 11050, 11051, 3, 2, 2, 2, 11051, 11053, 3, 2, 2, 2, 11052, 11050, 3, 2, 2, 2, 11053, 11054, 7, 41, 2, 2, 11054, 1972, 3, 2, 2, 2, 11055, 11063, 7, 98, 2, 2, 11056, 11057, 7, 94, 2, 2, 11057, 11062, 11, 2, 2, 2, 11058, 11059, 7, 98, 2, 2, 11059, 11062, 7, 98, 2, 2, 11060, 11062, 10, 11, 2, 2, 11061, 11056, 3, 2, 2, 2, 11061, 11058, 3, 2, 2, 2, 11061, 11060, 3, 2, 2, 2, 11062, 11065, 3, 2, 2, 2, 11063, 11061, 3, 2, 2, 2, 11063, 11064, 3, 2, 2, 2, 11064, 11066, 3, 2, 2, 2, 11065, 11063, 3, 2, 2, 2, 11066, 11067, 7, 98, 2, 2, 11067, 1974, 3, 2, 2, 2, 11068, 11069, 9, 12, 2, 2, 11069, 1976, 3, 2, 2, 2, 11070, 11071, 9, 13, 2, 2, 11071, 1978, 3, 2, 2, 2, 11072, 11073, 7, 68, 2, 2, 11073, 11075, 7, 41, 2, 2, 11074, 11076, 9, 14, 2, 2, 11075, 11074, 3, 2, 2, 2, 11076, 11077, 3, 2, 2, 2, 11077, 11075, 3, 2, 2, 2, 11077, 11078, 3, 2, 2, 2, 11078, 11079, 3, 2, 2, 2, 11079, 11080, 7, 41, 2, 2, 11080, 1980, 3, 2, 2, 2, 11081, 11082, 11, 2, 2, 2, 11082, 11083, 3, 2, 2, 2, 11083, 11084, 8, 991, 4, 2, 11084, 1982, 3, 2, 2, 2, 48, 2, 1986, 1997, 2010, 2022, 2027, 2031, 2035, 2041, 2045, 2047, 10824, 10833, 10838, 10847, 10857, 10859, 10864, 10866, 10872, 10877, 10885, 10887, 10893, 10900, 10904, 10923, 10931, 10938, 10944, 10949, 10956, 10959, 11001, 11005, 11010, 11015, 11021, 11026, 11035, 11037, 11048, 11050, 11061, 11063, 11077, 5, 2, 3, 2, 2, 4, 2, 2, 5, 2] \ No newline at end of file diff --git a/Grammar/frameQL/grammar/test/frameQLLexer.py b/Grammar/frameQL/grammar/test/frameQLLexer.py deleted file mode 100644 index 2c70fe52f4..0000000000 --- a/Grammar/frameQL/grammar/test/frameQLLexer.py +++ /dev/null @@ -1,7058 +0,0 @@ -# Generated from frameQLLexer.g4 by ANTLR 4.7.2 -from antlr4 import * -from io import StringIO -from typing.io import TextIO -import sys - - - -def serializedATN(): - with StringIO() as buf: - buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\u03d7") - buf.write("\u2b4d\b\1\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7") - buf.write("\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r") - buf.write("\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22\4\23") - buf.write("\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30") - buf.write("\4\31\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36") - buf.write("\t\36\4\37\t\37\4 \t \4!\t!\4\"\t\"\4#\t#\4$\t$\4%\t%") - buf.write("\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4,\t,\4-\t-\4.") - buf.write("\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64") - buf.write("\t\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:") - buf.write("\4;\t;\4<\t<\4=\t=\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\t") - buf.write("C\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I\tI\4J\tJ\4K\tK\4L\t") - buf.write("L\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT\4U\t") - buf.write("U\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4") - buf.write("^\t^\4_\t_\4`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4") - buf.write("g\tg\4h\th\4i\ti\4j\tj\4k\tk\4l\tl\4m\tm\4n\tn\4o\to\4") - buf.write("p\tp\4q\tq\4r\tr\4s\ts\4t\tt\4u\tu\4v\tv\4w\tw\4x\tx\4") - buf.write("y\ty\4z\tz\4{\t{\4|\t|\4}\t}\4~\t~\4\177\t\177\4\u0080") - buf.write("\t\u0080\4\u0081\t\u0081\4\u0082\t\u0082\4\u0083\t\u0083") - buf.write("\4\u0084\t\u0084\4\u0085\t\u0085\4\u0086\t\u0086\4\u0087") - buf.write("\t\u0087\4\u0088\t\u0088\4\u0089\t\u0089\4\u008a\t\u008a") - buf.write("\4\u008b\t\u008b\4\u008c\t\u008c\4\u008d\t\u008d\4\u008e") - buf.write("\t\u008e\4\u008f\t\u008f\4\u0090\t\u0090\4\u0091\t\u0091") - buf.write("\4\u0092\t\u0092\4\u0093\t\u0093\4\u0094\t\u0094\4\u0095") - buf.write("\t\u0095\4\u0096\t\u0096\4\u0097\t\u0097\4\u0098\t\u0098") - buf.write("\4\u0099\t\u0099\4\u009a\t\u009a\4\u009b\t\u009b\4\u009c") - buf.write("\t\u009c\4\u009d\t\u009d\4\u009e\t\u009e\4\u009f\t\u009f") - buf.write("\4\u00a0\t\u00a0\4\u00a1\t\u00a1\4\u00a2\t\u00a2\4\u00a3") - buf.write("\t\u00a3\4\u00a4\t\u00a4\4\u00a5\t\u00a5\4\u00a6\t\u00a6") - buf.write("\4\u00a7\t\u00a7\4\u00a8\t\u00a8\4\u00a9\t\u00a9\4\u00aa") - buf.write("\t\u00aa\4\u00ab\t\u00ab\4\u00ac\t\u00ac\4\u00ad\t\u00ad") - buf.write("\4\u00ae\t\u00ae\4\u00af\t\u00af\4\u00b0\t\u00b0\4\u00b1") - buf.write("\t\u00b1\4\u00b2\t\u00b2\4\u00b3\t\u00b3\4\u00b4\t\u00b4") - buf.write("\4\u00b5\t\u00b5\4\u00b6\t\u00b6\4\u00b7\t\u00b7\4\u00b8") - buf.write("\t\u00b8\4\u00b9\t\u00b9\4\u00ba\t\u00ba\4\u00bb\t\u00bb") - buf.write("\4\u00bc\t\u00bc\4\u00bd\t\u00bd\4\u00be\t\u00be\4\u00bf") - buf.write("\t\u00bf\4\u00c0\t\u00c0\4\u00c1\t\u00c1\4\u00c2\t\u00c2") - buf.write("\4\u00c3\t\u00c3\4\u00c4\t\u00c4\4\u00c5\t\u00c5\4\u00c6") - buf.write("\t\u00c6\4\u00c7\t\u00c7\4\u00c8\t\u00c8\4\u00c9\t\u00c9") - buf.write("\4\u00ca\t\u00ca\4\u00cb\t\u00cb\4\u00cc\t\u00cc\4\u00cd") - buf.write("\t\u00cd\4\u00ce\t\u00ce\4\u00cf\t\u00cf\4\u00d0\t\u00d0") - buf.write("\4\u00d1\t\u00d1\4\u00d2\t\u00d2\4\u00d3\t\u00d3\4\u00d4") - buf.write("\t\u00d4\4\u00d5\t\u00d5\4\u00d6\t\u00d6\4\u00d7\t\u00d7") - buf.write("\4\u00d8\t\u00d8\4\u00d9\t\u00d9\4\u00da\t\u00da\4\u00db") - buf.write("\t\u00db\4\u00dc\t\u00dc\4\u00dd\t\u00dd\4\u00de\t\u00de") - buf.write("\4\u00df\t\u00df\4\u00e0\t\u00e0\4\u00e1\t\u00e1\4\u00e2") - buf.write("\t\u00e2\4\u00e3\t\u00e3\4\u00e4\t\u00e4\4\u00e5\t\u00e5") - buf.write("\4\u00e6\t\u00e6\4\u00e7\t\u00e7\4\u00e8\t\u00e8\4\u00e9") - buf.write("\t\u00e9\4\u00ea\t\u00ea\4\u00eb\t\u00eb\4\u00ec\t\u00ec") - buf.write("\4\u00ed\t\u00ed\4\u00ee\t\u00ee\4\u00ef\t\u00ef\4\u00f0") - buf.write("\t\u00f0\4\u00f1\t\u00f1\4\u00f2\t\u00f2\4\u00f3\t\u00f3") - buf.write("\4\u00f4\t\u00f4\4\u00f5\t\u00f5\4\u00f6\t\u00f6\4\u00f7") - buf.write("\t\u00f7\4\u00f8\t\u00f8\4\u00f9\t\u00f9\4\u00fa\t\u00fa") - buf.write("\4\u00fb\t\u00fb\4\u00fc\t\u00fc\4\u00fd\t\u00fd\4\u00fe") - buf.write("\t\u00fe\4\u00ff\t\u00ff\4\u0100\t\u0100\4\u0101\t\u0101") - buf.write("\4\u0102\t\u0102\4\u0103\t\u0103\4\u0104\t\u0104\4\u0105") - buf.write("\t\u0105\4\u0106\t\u0106\4\u0107\t\u0107\4\u0108\t\u0108") - buf.write("\4\u0109\t\u0109\4\u010a\t\u010a\4\u010b\t\u010b\4\u010c") - buf.write("\t\u010c\4\u010d\t\u010d\4\u010e\t\u010e\4\u010f\t\u010f") - buf.write("\4\u0110\t\u0110\4\u0111\t\u0111\4\u0112\t\u0112\4\u0113") - buf.write("\t\u0113\4\u0114\t\u0114\4\u0115\t\u0115\4\u0116\t\u0116") - buf.write("\4\u0117\t\u0117\4\u0118\t\u0118\4\u0119\t\u0119\4\u011a") - buf.write("\t\u011a\4\u011b\t\u011b\4\u011c\t\u011c\4\u011d\t\u011d") - buf.write("\4\u011e\t\u011e\4\u011f\t\u011f\4\u0120\t\u0120\4\u0121") - buf.write("\t\u0121\4\u0122\t\u0122\4\u0123\t\u0123\4\u0124\t\u0124") - buf.write("\4\u0125\t\u0125\4\u0126\t\u0126\4\u0127\t\u0127\4\u0128") - buf.write("\t\u0128\4\u0129\t\u0129\4\u012a\t\u012a\4\u012b\t\u012b") - buf.write("\4\u012c\t\u012c\4\u012d\t\u012d\4\u012e\t\u012e\4\u012f") - buf.write("\t\u012f\4\u0130\t\u0130\4\u0131\t\u0131\4\u0132\t\u0132") - buf.write("\4\u0133\t\u0133\4\u0134\t\u0134\4\u0135\t\u0135\4\u0136") - buf.write("\t\u0136\4\u0137\t\u0137\4\u0138\t\u0138\4\u0139\t\u0139") - buf.write("\4\u013a\t\u013a\4\u013b\t\u013b\4\u013c\t\u013c\4\u013d") - buf.write("\t\u013d\4\u013e\t\u013e\4\u013f\t\u013f\4\u0140\t\u0140") - buf.write("\4\u0141\t\u0141\4\u0142\t\u0142\4\u0143\t\u0143\4\u0144") - buf.write("\t\u0144\4\u0145\t\u0145\4\u0146\t\u0146\4\u0147\t\u0147") - buf.write("\4\u0148\t\u0148\4\u0149\t\u0149\4\u014a\t\u014a\4\u014b") - buf.write("\t\u014b\4\u014c\t\u014c\4\u014d\t\u014d\4\u014e\t\u014e") - buf.write("\4\u014f\t\u014f\4\u0150\t\u0150\4\u0151\t\u0151\4\u0152") - buf.write("\t\u0152\4\u0153\t\u0153\4\u0154\t\u0154\4\u0155\t\u0155") - buf.write("\4\u0156\t\u0156\4\u0157\t\u0157\4\u0158\t\u0158\4\u0159") - buf.write("\t\u0159\4\u015a\t\u015a\4\u015b\t\u015b\4\u015c\t\u015c") - buf.write("\4\u015d\t\u015d\4\u015e\t\u015e\4\u015f\t\u015f\4\u0160") - buf.write("\t\u0160\4\u0161\t\u0161\4\u0162\t\u0162\4\u0163\t\u0163") - buf.write("\4\u0164\t\u0164\4\u0165\t\u0165\4\u0166\t\u0166\4\u0167") - buf.write("\t\u0167\4\u0168\t\u0168\4\u0169\t\u0169\4\u016a\t\u016a") - buf.write("\4\u016b\t\u016b\4\u016c\t\u016c\4\u016d\t\u016d\4\u016e") - buf.write("\t\u016e\4\u016f\t\u016f\4\u0170\t\u0170\4\u0171\t\u0171") - buf.write("\4\u0172\t\u0172\4\u0173\t\u0173\4\u0174\t\u0174\4\u0175") - buf.write("\t\u0175\4\u0176\t\u0176\4\u0177\t\u0177\4\u0178\t\u0178") - buf.write("\4\u0179\t\u0179\4\u017a\t\u017a\4\u017b\t\u017b\4\u017c") - buf.write("\t\u017c\4\u017d\t\u017d\4\u017e\t\u017e\4\u017f\t\u017f") - buf.write("\4\u0180\t\u0180\4\u0181\t\u0181\4\u0182\t\u0182\4\u0183") - buf.write("\t\u0183\4\u0184\t\u0184\4\u0185\t\u0185\4\u0186\t\u0186") - buf.write("\4\u0187\t\u0187\4\u0188\t\u0188\4\u0189\t\u0189\4\u018a") - buf.write("\t\u018a\4\u018b\t\u018b\4\u018c\t\u018c\4\u018d\t\u018d") - buf.write("\4\u018e\t\u018e\4\u018f\t\u018f\4\u0190\t\u0190\4\u0191") - buf.write("\t\u0191\4\u0192\t\u0192\4\u0193\t\u0193\4\u0194\t\u0194") - buf.write("\4\u0195\t\u0195\4\u0196\t\u0196\4\u0197\t\u0197\4\u0198") - buf.write("\t\u0198\4\u0199\t\u0199\4\u019a\t\u019a\4\u019b\t\u019b") - buf.write("\4\u019c\t\u019c\4\u019d\t\u019d\4\u019e\t\u019e\4\u019f") - buf.write("\t\u019f\4\u01a0\t\u01a0\4\u01a1\t\u01a1\4\u01a2\t\u01a2") - buf.write("\4\u01a3\t\u01a3\4\u01a4\t\u01a4\4\u01a5\t\u01a5\4\u01a6") - buf.write("\t\u01a6\4\u01a7\t\u01a7\4\u01a8\t\u01a8\4\u01a9\t\u01a9") - buf.write("\4\u01aa\t\u01aa\4\u01ab\t\u01ab\4\u01ac\t\u01ac\4\u01ad") - buf.write("\t\u01ad\4\u01ae\t\u01ae\4\u01af\t\u01af\4\u01b0\t\u01b0") - buf.write("\4\u01b1\t\u01b1\4\u01b2\t\u01b2\4\u01b3\t\u01b3\4\u01b4") - buf.write("\t\u01b4\4\u01b5\t\u01b5\4\u01b6\t\u01b6\4\u01b7\t\u01b7") - buf.write("\4\u01b8\t\u01b8\4\u01b9\t\u01b9\4\u01ba\t\u01ba\4\u01bb") - buf.write("\t\u01bb\4\u01bc\t\u01bc\4\u01bd\t\u01bd\4\u01be\t\u01be") - buf.write("\4\u01bf\t\u01bf\4\u01c0\t\u01c0\4\u01c1\t\u01c1\4\u01c2") - buf.write("\t\u01c2\4\u01c3\t\u01c3\4\u01c4\t\u01c4\4\u01c5\t\u01c5") - buf.write("\4\u01c6\t\u01c6\4\u01c7\t\u01c7\4\u01c8\t\u01c8\4\u01c9") - buf.write("\t\u01c9\4\u01ca\t\u01ca\4\u01cb\t\u01cb\4\u01cc\t\u01cc") - buf.write("\4\u01cd\t\u01cd\4\u01ce\t\u01ce\4\u01cf\t\u01cf\4\u01d0") - buf.write("\t\u01d0\4\u01d1\t\u01d1\4\u01d2\t\u01d2\4\u01d3\t\u01d3") - buf.write("\4\u01d4\t\u01d4\4\u01d5\t\u01d5\4\u01d6\t\u01d6\4\u01d7") - buf.write("\t\u01d7\4\u01d8\t\u01d8\4\u01d9\t\u01d9\4\u01da\t\u01da") - buf.write("\4\u01db\t\u01db\4\u01dc\t\u01dc\4\u01dd\t\u01dd\4\u01de") - buf.write("\t\u01de\4\u01df\t\u01df\4\u01e0\t\u01e0\4\u01e1\t\u01e1") - buf.write("\4\u01e2\t\u01e2\4\u01e3\t\u01e3\4\u01e4\t\u01e4\4\u01e5") - buf.write("\t\u01e5\4\u01e6\t\u01e6\4\u01e7\t\u01e7\4\u01e8\t\u01e8") - buf.write("\4\u01e9\t\u01e9\4\u01ea\t\u01ea\4\u01eb\t\u01eb\4\u01ec") - buf.write("\t\u01ec\4\u01ed\t\u01ed\4\u01ee\t\u01ee\4\u01ef\t\u01ef") - buf.write("\4\u01f0\t\u01f0\4\u01f1\t\u01f1\4\u01f2\t\u01f2\4\u01f3") - buf.write("\t\u01f3\4\u01f4\t\u01f4\4\u01f5\t\u01f5\4\u01f6\t\u01f6") - buf.write("\4\u01f7\t\u01f7\4\u01f8\t\u01f8\4\u01f9\t\u01f9\4\u01fa") - buf.write("\t\u01fa\4\u01fb\t\u01fb\4\u01fc\t\u01fc\4\u01fd\t\u01fd") - buf.write("\4\u01fe\t\u01fe\4\u01ff\t\u01ff\4\u0200\t\u0200\4\u0201") - buf.write("\t\u0201\4\u0202\t\u0202\4\u0203\t\u0203\4\u0204\t\u0204") - buf.write("\4\u0205\t\u0205\4\u0206\t\u0206\4\u0207\t\u0207\4\u0208") - buf.write("\t\u0208\4\u0209\t\u0209\4\u020a\t\u020a\4\u020b\t\u020b") - buf.write("\4\u020c\t\u020c\4\u020d\t\u020d\4\u020e\t\u020e\4\u020f") - buf.write("\t\u020f\4\u0210\t\u0210\4\u0211\t\u0211\4\u0212\t\u0212") - buf.write("\4\u0213\t\u0213\4\u0214\t\u0214\4\u0215\t\u0215\4\u0216") - buf.write("\t\u0216\4\u0217\t\u0217\4\u0218\t\u0218\4\u0219\t\u0219") - buf.write("\4\u021a\t\u021a\4\u021b\t\u021b\4\u021c\t\u021c\4\u021d") - buf.write("\t\u021d\4\u021e\t\u021e\4\u021f\t\u021f\4\u0220\t\u0220") - buf.write("\4\u0221\t\u0221\4\u0222\t\u0222\4\u0223\t\u0223\4\u0224") - buf.write("\t\u0224\4\u0225\t\u0225\4\u0226\t\u0226\4\u0227\t\u0227") - buf.write("\4\u0228\t\u0228\4\u0229\t\u0229\4\u022a\t\u022a\4\u022b") - buf.write("\t\u022b\4\u022c\t\u022c\4\u022d\t\u022d\4\u022e\t\u022e") - buf.write("\4\u022f\t\u022f\4\u0230\t\u0230\4\u0231\t\u0231\4\u0232") - buf.write("\t\u0232\4\u0233\t\u0233\4\u0234\t\u0234\4\u0235\t\u0235") - buf.write("\4\u0236\t\u0236\4\u0237\t\u0237\4\u0238\t\u0238\4\u0239") - buf.write("\t\u0239\4\u023a\t\u023a\4\u023b\t\u023b\4\u023c\t\u023c") - buf.write("\4\u023d\t\u023d\4\u023e\t\u023e\4\u023f\t\u023f\4\u0240") - buf.write("\t\u0240\4\u0241\t\u0241\4\u0242\t\u0242\4\u0243\t\u0243") - buf.write("\4\u0244\t\u0244\4\u0245\t\u0245\4\u0246\t\u0246\4\u0247") - buf.write("\t\u0247\4\u0248\t\u0248\4\u0249\t\u0249\4\u024a\t\u024a") - buf.write("\4\u024b\t\u024b\4\u024c\t\u024c\4\u024d\t\u024d\4\u024e") - buf.write("\t\u024e\4\u024f\t\u024f\4\u0250\t\u0250\4\u0251\t\u0251") - buf.write("\4\u0252\t\u0252\4\u0253\t\u0253\4\u0254\t\u0254\4\u0255") - buf.write("\t\u0255\4\u0256\t\u0256\4\u0257\t\u0257\4\u0258\t\u0258") - buf.write("\4\u0259\t\u0259\4\u025a\t\u025a\4\u025b\t\u025b\4\u025c") - buf.write("\t\u025c\4\u025d\t\u025d\4\u025e\t\u025e\4\u025f\t\u025f") - buf.write("\4\u0260\t\u0260\4\u0261\t\u0261\4\u0262\t\u0262\4\u0263") - buf.write("\t\u0263\4\u0264\t\u0264\4\u0265\t\u0265\4\u0266\t\u0266") - buf.write("\4\u0267\t\u0267\4\u0268\t\u0268\4\u0269\t\u0269\4\u026a") - buf.write("\t\u026a\4\u026b\t\u026b\4\u026c\t\u026c\4\u026d\t\u026d") - buf.write("\4\u026e\t\u026e\4\u026f\t\u026f\4\u0270\t\u0270\4\u0271") - buf.write("\t\u0271\4\u0272\t\u0272\4\u0273\t\u0273\4\u0274\t\u0274") - buf.write("\4\u0275\t\u0275\4\u0276\t\u0276\4\u0277\t\u0277\4\u0278") - buf.write("\t\u0278\4\u0279\t\u0279\4\u027a\t\u027a\4\u027b\t\u027b") - buf.write("\4\u027c\t\u027c\4\u027d\t\u027d\4\u027e\t\u027e\4\u027f") - buf.write("\t\u027f\4\u0280\t\u0280\4\u0281\t\u0281\4\u0282\t\u0282") - buf.write("\4\u0283\t\u0283\4\u0284\t\u0284\4\u0285\t\u0285\4\u0286") - buf.write("\t\u0286\4\u0287\t\u0287\4\u0288\t\u0288\4\u0289\t\u0289") - buf.write("\4\u028a\t\u028a\4\u028b\t\u028b\4\u028c\t\u028c\4\u028d") - buf.write("\t\u028d\4\u028e\t\u028e\4\u028f\t\u028f\4\u0290\t\u0290") - buf.write("\4\u0291\t\u0291\4\u0292\t\u0292\4\u0293\t\u0293\4\u0294") - buf.write("\t\u0294\4\u0295\t\u0295\4\u0296\t\u0296\4\u0297\t\u0297") - buf.write("\4\u0298\t\u0298\4\u0299\t\u0299\4\u029a\t\u029a\4\u029b") - buf.write("\t\u029b\4\u029c\t\u029c\4\u029d\t\u029d\4\u029e\t\u029e") - buf.write("\4\u029f\t\u029f\4\u02a0\t\u02a0\4\u02a1\t\u02a1\4\u02a2") - buf.write("\t\u02a2\4\u02a3\t\u02a3\4\u02a4\t\u02a4\4\u02a5\t\u02a5") - buf.write("\4\u02a6\t\u02a6\4\u02a7\t\u02a7\4\u02a8\t\u02a8\4\u02a9") - buf.write("\t\u02a9\4\u02aa\t\u02aa\4\u02ab\t\u02ab\4\u02ac\t\u02ac") - buf.write("\4\u02ad\t\u02ad\4\u02ae\t\u02ae\4\u02af\t\u02af\4\u02b0") - buf.write("\t\u02b0\4\u02b1\t\u02b1\4\u02b2\t\u02b2\4\u02b3\t\u02b3") - buf.write("\4\u02b4\t\u02b4\4\u02b5\t\u02b5\4\u02b6\t\u02b6\4\u02b7") - buf.write("\t\u02b7\4\u02b8\t\u02b8\4\u02b9\t\u02b9\4\u02ba\t\u02ba") - buf.write("\4\u02bb\t\u02bb\4\u02bc\t\u02bc\4\u02bd\t\u02bd\4\u02be") - buf.write("\t\u02be\4\u02bf\t\u02bf\4\u02c0\t\u02c0\4\u02c1\t\u02c1") - buf.write("\4\u02c2\t\u02c2\4\u02c3\t\u02c3\4\u02c4\t\u02c4\4\u02c5") - buf.write("\t\u02c5\4\u02c6\t\u02c6\4\u02c7\t\u02c7\4\u02c8\t\u02c8") - buf.write("\4\u02c9\t\u02c9\4\u02ca\t\u02ca\4\u02cb\t\u02cb\4\u02cc") - buf.write("\t\u02cc\4\u02cd\t\u02cd\4\u02ce\t\u02ce\4\u02cf\t\u02cf") - buf.write("\4\u02d0\t\u02d0\4\u02d1\t\u02d1\4\u02d2\t\u02d2\4\u02d3") - buf.write("\t\u02d3\4\u02d4\t\u02d4\4\u02d5\t\u02d5\4\u02d6\t\u02d6") - buf.write("\4\u02d7\t\u02d7\4\u02d8\t\u02d8\4\u02d9\t\u02d9\4\u02da") - buf.write("\t\u02da\4\u02db\t\u02db\4\u02dc\t\u02dc\4\u02dd\t\u02dd") - buf.write("\4\u02de\t\u02de\4\u02df\t\u02df\4\u02e0\t\u02e0\4\u02e1") - buf.write("\t\u02e1\4\u02e2\t\u02e2\4\u02e3\t\u02e3\4\u02e4\t\u02e4") - buf.write("\4\u02e5\t\u02e5\4\u02e6\t\u02e6\4\u02e7\t\u02e7\4\u02e8") - buf.write("\t\u02e8\4\u02e9\t\u02e9\4\u02ea\t\u02ea\4\u02eb\t\u02eb") - buf.write("\4\u02ec\t\u02ec\4\u02ed\t\u02ed\4\u02ee\t\u02ee\4\u02ef") - buf.write("\t\u02ef\4\u02f0\t\u02f0\4\u02f1\t\u02f1\4\u02f2\t\u02f2") - buf.write("\4\u02f3\t\u02f3\4\u02f4\t\u02f4\4\u02f5\t\u02f5\4\u02f6") - buf.write("\t\u02f6\4\u02f7\t\u02f7\4\u02f8\t\u02f8\4\u02f9\t\u02f9") - buf.write("\4\u02fa\t\u02fa\4\u02fb\t\u02fb\4\u02fc\t\u02fc\4\u02fd") - buf.write("\t\u02fd\4\u02fe\t\u02fe\4\u02ff\t\u02ff\4\u0300\t\u0300") - buf.write("\4\u0301\t\u0301\4\u0302\t\u0302\4\u0303\t\u0303\4\u0304") - buf.write("\t\u0304\4\u0305\t\u0305\4\u0306\t\u0306\4\u0307\t\u0307") - buf.write("\4\u0308\t\u0308\4\u0309\t\u0309\4\u030a\t\u030a\4\u030b") - buf.write("\t\u030b\4\u030c\t\u030c\4\u030d\t\u030d\4\u030e\t\u030e") - buf.write("\4\u030f\t\u030f\4\u0310\t\u0310\4\u0311\t\u0311\4\u0312") - buf.write("\t\u0312\4\u0313\t\u0313\4\u0314\t\u0314\4\u0315\t\u0315") - buf.write("\4\u0316\t\u0316\4\u0317\t\u0317\4\u0318\t\u0318\4\u0319") - buf.write("\t\u0319\4\u031a\t\u031a\4\u031b\t\u031b\4\u031c\t\u031c") - buf.write("\4\u031d\t\u031d\4\u031e\t\u031e\4\u031f\t\u031f\4\u0320") - buf.write("\t\u0320\4\u0321\t\u0321\4\u0322\t\u0322\4\u0323\t\u0323") - buf.write("\4\u0324\t\u0324\4\u0325\t\u0325\4\u0326\t\u0326\4\u0327") - buf.write("\t\u0327\4\u0328\t\u0328\4\u0329\t\u0329\4\u032a\t\u032a") - buf.write("\4\u032b\t\u032b\4\u032c\t\u032c\4\u032d\t\u032d\4\u032e") - buf.write("\t\u032e\4\u032f\t\u032f\4\u0330\t\u0330\4\u0331\t\u0331") - buf.write("\4\u0332\t\u0332\4\u0333\t\u0333\4\u0334\t\u0334\4\u0335") - buf.write("\t\u0335\4\u0336\t\u0336\4\u0337\t\u0337\4\u0338\t\u0338") - buf.write("\4\u0339\t\u0339\4\u033a\t\u033a\4\u033b\t\u033b\4\u033c") - buf.write("\t\u033c\4\u033d\t\u033d\4\u033e\t\u033e\4\u033f\t\u033f") - buf.write("\4\u0340\t\u0340\4\u0341\t\u0341\4\u0342\t\u0342\4\u0343") - buf.write("\t\u0343\4\u0344\t\u0344\4\u0345\t\u0345\4\u0346\t\u0346") - buf.write("\4\u0347\t\u0347\4\u0348\t\u0348\4\u0349\t\u0349\4\u034a") - buf.write("\t\u034a\4\u034b\t\u034b\4\u034c\t\u034c\4\u034d\t\u034d") - buf.write("\4\u034e\t\u034e\4\u034f\t\u034f\4\u0350\t\u0350\4\u0351") - buf.write("\t\u0351\4\u0352\t\u0352\4\u0353\t\u0353\4\u0354\t\u0354") - buf.write("\4\u0355\t\u0355\4\u0356\t\u0356\4\u0357\t\u0357\4\u0358") - buf.write("\t\u0358\4\u0359\t\u0359\4\u035a\t\u035a\4\u035b\t\u035b") - buf.write("\4\u035c\t\u035c\4\u035d\t\u035d\4\u035e\t\u035e\4\u035f") - buf.write("\t\u035f\4\u0360\t\u0360\4\u0361\t\u0361\4\u0362\t\u0362") - buf.write("\4\u0363\t\u0363\4\u0364\t\u0364\4\u0365\t\u0365\4\u0366") - buf.write("\t\u0366\4\u0367\t\u0367\4\u0368\t\u0368\4\u0369\t\u0369") - buf.write("\4\u036a\t\u036a\4\u036b\t\u036b\4\u036c\t\u036c\4\u036d") - buf.write("\t\u036d\4\u036e\t\u036e\4\u036f\t\u036f\4\u0370\t\u0370") - buf.write("\4\u0371\t\u0371\4\u0372\t\u0372\4\u0373\t\u0373\4\u0374") - buf.write("\t\u0374\4\u0375\t\u0375\4\u0376\t\u0376\4\u0377\t\u0377") - buf.write("\4\u0378\t\u0378\4\u0379\t\u0379\4\u037a\t\u037a\4\u037b") - buf.write("\t\u037b\4\u037c\t\u037c\4\u037d\t\u037d\4\u037e\t\u037e") - buf.write("\4\u037f\t\u037f\4\u0380\t\u0380\4\u0381\t\u0381\4\u0382") - buf.write("\t\u0382\4\u0383\t\u0383\4\u0384\t\u0384\4\u0385\t\u0385") - buf.write("\4\u0386\t\u0386\4\u0387\t\u0387\4\u0388\t\u0388\4\u0389") - buf.write("\t\u0389\4\u038a\t\u038a\4\u038b\t\u038b\4\u038c\t\u038c") - buf.write("\4\u038d\t\u038d\4\u038e\t\u038e\4\u038f\t\u038f\4\u0390") - buf.write("\t\u0390\4\u0391\t\u0391\4\u0392\t\u0392\4\u0393\t\u0393") - buf.write("\4\u0394\t\u0394\4\u0395\t\u0395\4\u0396\t\u0396\4\u0397") - buf.write("\t\u0397\4\u0398\t\u0398\4\u0399\t\u0399\4\u039a\t\u039a") - buf.write("\4\u039b\t\u039b\4\u039c\t\u039c\4\u039d\t\u039d\4\u039e") - buf.write("\t\u039e\4\u039f\t\u039f\4\u03a0\t\u03a0\4\u03a1\t\u03a1") - buf.write("\4\u03a2\t\u03a2\4\u03a3\t\u03a3\4\u03a4\t\u03a4\4\u03a5") - buf.write("\t\u03a5\4\u03a6\t\u03a6\4\u03a7\t\u03a7\4\u03a8\t\u03a8") - buf.write("\4\u03a9\t\u03a9\4\u03aa\t\u03aa\4\u03ab\t\u03ab\4\u03ac") - buf.write("\t\u03ac\4\u03ad\t\u03ad\4\u03ae\t\u03ae\4\u03af\t\u03af") - buf.write("\4\u03b0\t\u03b0\4\u03b1\t\u03b1\4\u03b2\t\u03b2\4\u03b3") - buf.write("\t\u03b3\4\u03b4\t\u03b4\4\u03b5\t\u03b5\4\u03b6\t\u03b6") - buf.write("\4\u03b7\t\u03b7\4\u03b8\t\u03b8\4\u03b9\t\u03b9\4\u03ba") - buf.write("\t\u03ba\4\u03bb\t\u03bb\4\u03bc\t\u03bc\4\u03bd\t\u03bd") - buf.write("\4\u03be\t\u03be\4\u03bf\t\u03bf\4\u03c0\t\u03c0\4\u03c1") - buf.write("\t\u03c1\4\u03c2\t\u03c2\4\u03c3\t\u03c3\4\u03c4\t\u03c4") - buf.write("\4\u03c5\t\u03c5\4\u03c6\t\u03c6\4\u03c7\t\u03c7\4\u03c8") - buf.write("\t\u03c8\4\u03c9\t\u03c9\4\u03ca\t\u03ca\4\u03cb\t\u03cb") - buf.write("\4\u03cc\t\u03cc\4\u03cd\t\u03cd\4\u03ce\t\u03ce\4\u03cf") - buf.write("\t\u03cf\4\u03d0\t\u03d0\4\u03d1\t\u03d1\4\u03d2\t\u03d2") - buf.write("\4\u03d3\t\u03d3\4\u03d4\t\u03d4\4\u03d5\t\u03d5\4\u03d6") - buf.write("\t\u03d6\4\u03d7\t\u03d7\4\u03d8\t\u03d8\4\u03d9\t\u03d9") - buf.write("\4\u03da\t\u03da\4\u03db\t\u03db\4\u03dc\t\u03dc\4\u03dd") - buf.write("\t\u03dd\4\u03de\t\u03de\4\u03df\t\u03df\3\2\6\2\u07c1") - buf.write("\n\2\r\2\16\2\u07c2\3\2\3\2\3\3\3\3\3\3\3\3\3\3\6\3\u07cc") - buf.write("\n\3\r\3\16\3\u07cd\3\3\3\3\3\3\3\3\3\3\3\4\3\4\3\4\3") - buf.write("\4\7\4\u07d9\n\4\f\4\16\4\u07dc\13\4\3\4\3\4\3\4\3\4\3") - buf.write("\4\3\5\3\5\3\5\3\5\5\5\u07e7\n\5\3\5\7\5\u07ea\n\5\f\5") - buf.write("\16\5\u07ed\13\5\3\5\5\5\u07f0\n\5\3\5\3\5\5\5\u07f4\n") - buf.write("\5\3\5\3\5\3\5\3\5\5\5\u07fa\n\5\3\5\3\5\5\5\u07fe\n\5") - buf.write("\5\5\u0800\n\5\3\5\3\5\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6") - buf.write("\3\6\3\6\3\6\3\6\3\6\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3") - buf.write("\7\3\7\3\7\3\7\3\7\3\7\3\b\3\b\3\b\3\b\3\t\3\t\3\t\3\t") - buf.write("\3\n\3\n\3\n\3\n\3\n\3\n\3\13\3\13\3\13\3\13\3\13\3\13") - buf.write("\3\13\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\r\3\r\3\r\3\r") - buf.write("\3\16\3\16\3\16\3\17\3\17\3\17\3\17\3\20\3\20\3\20\3\20") - buf.write("\3\20\3\20\3\20\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21") - buf.write("\3\22\3\22\3\22\3\22\3\22\3\23\3\23\3\23\3\24\3\24\3\24") - buf.write("\3\24\3\24\3\25\3\25\3\25\3\25\3\25\3\25\3\25\3\25\3\26") - buf.write("\3\26\3\26\3\26\3\26\3\27\3\27\3\27\3\27\3\27\3\30\3\30") - buf.write("\3\30\3\30\3\30\3\30\3\30\3\31\3\31\3\31\3\31\3\31\3\31") - buf.write("\3\31\3\31\3\31\3\31\3\32\3\32\3\32\3\32\3\32\3\32\3\33") - buf.write("\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\34\3\34\3\34\3\34") - buf.write("\3\34\3\34\3\34\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35") - buf.write("\3\35\3\35\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3\36") - buf.write("\3\36\3\36\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37") - buf.write("\3 \3 \3 \3 \3 \3 \3 \3 \3!\3!\3!\3!\3!\3!\3!\3\"\3\"") - buf.write("\3\"\3\"\3\"\3\"\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3") - buf.write("#\3$\3$\3$\3$\3$\3$\3$\3%\3%\3%\3%\3%\3%\3%\3%\3%\3&\3") - buf.write("&\3&\3&\3&\3&\3&\3&\3&\3&\3\'\3\'\3\'\3\'\3\'\3\'\3\'") - buf.write("\3\'\3(\3(\3(\3(\3(\3(\3(\3(\3)\3)\3)\3)\3)\3)\3)\3)\3") - buf.write("*\3*\3*\3*\3*\3*\3*\3+\3+\3+\3+\3+\3,\3,\3,\3,\3,\3,\3") - buf.write(",\3,\3,\3-\3-\3-\3-\3-\3-\3-\3-\3-\3-\3-\3-\3-\3-\3.\3") - buf.write(".\3.\3.\3.\3.\3.\3.\3.\3/\3/\3/\3/\3/\3/\3/\3/\3/\3/\3") - buf.write("/\3/\3\60\3\60\3\60\3\60\3\60\3\61\3\61\3\61\3\61\3\61") - buf.write("\3\62\3\62\3\62\3\62\3\62\3\63\3\63\3\63\3\63\3\63\3\63") - buf.write("\3\63\3\64\3\64\3\64\3\64\3\64\3\64\3\64\3\64\3\64\3\65") - buf.write("\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\66\3\66\3\66\3\66") - buf.write("\3\66\3\66\3\66\3\67\3\67\3\67\3\67\3\67\38\38\38\38\3") - buf.write("8\38\38\38\39\39\39\39\39\39\3:\3:\3:\3:\3:\3:\3;\3;\3") - buf.write(";\3;\3<\3<\3<\3<\3<\3<\3=\3=\3=\3=\3=\3=\3=\3=\3>\3>\3") - buf.write(">\3>\3>\3?\3?\3?\3?\3?\3?\3?\3?\3?\3@\3@\3@\3@\3@\3@\3") - buf.write("@\3@\3@\3@\3A\3A\3A\3A\3A\3A\3B\3B\3B\3B\3B\3B\3C\3C\3") - buf.write("C\3C\3C\3C\3C\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3") - buf.write("D\3E\3E\3E\3F\3F\3F\3F\3F\3F\3F\3G\3G\3G\3H\3H\3H\3H\3") - buf.write("H\3H\3I\3I\3I\3I\3I\3I\3I\3J\3J\3J\3J\3J\3J\3K\3K\3K\3") - buf.write("K\3K\3K\3L\3L\3L\3L\3L\3L\3L\3M\3M\3M\3M\3M\3M\3M\3M\3") - buf.write("M\3N\3N\3N\3N\3N\3O\3O\3O\3P\3P\3P\3P\3P\3P\3P\3P\3Q\3") - buf.write("Q\3Q\3Q\3Q\3R\3R\3R\3R\3S\3S\3S\3S\3S\3T\3T\3T\3T\3T\3") - buf.write("U\3U\3U\3U\3U\3U\3U\3U\3V\3V\3V\3V\3V\3V\3W\3W\3W\3W\3") - buf.write("W\3X\3X\3X\3X\3X\3Y\3Y\3Y\3Y\3Y\3Y\3Z\3Z\3Z\3Z\3Z\3Z\3") - buf.write("Z\3[\3[\3[\3[\3[\3[\3\\\3\\\3\\\3\\\3\\\3]\3]\3]\3]\3") - buf.write("]\3^\3^\3^\3^\3^\3_\3_\3_\3_\3_\3_\3_\3_\3_\3_\3_\3_\3") - buf.write("_\3`\3`\3`\3`\3`\3`\3`\3`\3`\3`\3`\3`\3a\3a\3a\3a\3a\3") - buf.write("a\3a\3a\3a\3a\3a\3a\3a\3a\3a\3a\3a\3a\3a\3a\3a\3a\3a\3") - buf.write("a\3a\3a\3a\3a\3a\3a\3b\3b\3b\3b\3b\3b\3c\3c\3c\3c\3c\3") - buf.write("c\3c\3c\3c\3d\3d\3d\3d\3d\3d\3d\3d\3d\3e\3e\3e\3e\3e\3") - buf.write("e\3e\3e\3f\3f\3f\3f\3g\3g\3g\3g\3g\3g\3g\3g\3g\3g\3g\3") - buf.write("g\3g\3g\3g\3g\3g\3g\3g\3h\3h\3h\3h\3h\3i\3i\3i\3j\3j\3") - buf.write("j\3j\3j\3j\3j\3j\3j\3k\3k\3k\3k\3k\3k\3k\3l\3l\3l\3l\3") - buf.write("l\3l\3l\3l\3l\3l\3l\3m\3m\3m\3n\3n\3n\3n\3n\3n\3o\3o\3") - buf.write("o\3o\3p\3p\3p\3p\3p\3p\3q\3q\3q\3q\3q\3q\3q\3q\3r\3r\3") - buf.write("r\3r\3r\3r\3r\3r\3r\3r\3s\3s\3s\3s\3s\3s\3s\3s\3t\3t\3") - buf.write("t\3t\3t\3t\3t\3t\3t\3t\3u\3u\3u\3u\3u\3u\3v\3v\3v\3v\3") - buf.write("v\3v\3w\3w\3w\3w\3w\3x\3x\3x\3x\3x\3x\3y\3y\3y\3y\3y\3") - buf.write("y\3y\3y\3y\3y\3y\3z\3z\3z\3z\3z\3z\3z\3{\3{\3{\3{\3{\3") - buf.write("{\3{\3{\3|\3|\3|\3|\3|\3|\3|\3}\3}\3}\3}\3}\3}\3}\3~\3") - buf.write("~\3~\3~\3~\3~\3~\3~\3\177\3\177\3\177\3\177\3\177\3\177") - buf.write("\3\177\3\177\3\u0080\3\u0080\3\u0080\3\u0080\3\u0080\3") - buf.write("\u0080\3\u0080\3\u0080\3\u0080\3\u0081\3\u0081\3\u0081") - buf.write("\3\u0081\3\u0081\3\u0081\3\u0081\3\u0082\3\u0082\3\u0082") - buf.write("\3\u0082\3\u0082\3\u0082\3\u0082\3\u0083\3\u0083\3\u0083") - buf.write("\3\u0083\3\u0083\3\u0083\3\u0084\3\u0084\3\u0084\3\u0084") - buf.write("\3\u0084\3\u0084\3\u0085\3\u0085\3\u0085\3\u0085\3\u0085") - buf.write("\3\u0085\3\u0085\3\u0086\3\u0086\3\u0086\3\u0086\3\u0086") - buf.write("\3\u0086\3\u0086\3\u0086\3\u0087\3\u0087\3\u0087\3\u0087") - buf.write("\3\u0087\3\u0087\3\u0087\3\u0088\3\u0088\3\u0088\3\u0088") - buf.write("\3\u0089\3\u0089\3\u0089\3\u0089\3\u0089\3\u0089\3\u0089") - buf.write("\3\u0089\3\u0089\3\u0089\3\u008a\3\u008a\3\u008a\3\u008a") - buf.write("\3\u008a\3\u008b\3\u008b\3\u008b\3\u008b\3\u008b\3\u008b") - buf.write("\3\u008b\3\u008b\3\u008c\3\u008c\3\u008c\3\u008c\3\u008d") - buf.write("\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d") - buf.write("\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d\3\u008e\3\u008e") - buf.write("\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e") - buf.write("\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f") - buf.write("\3\u008f\3\u008f\3\u008f\3\u008f\3\u0090\3\u0090\3\u0090") - buf.write("\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090") - buf.write("\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0091\3\u0091") - buf.write("\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091") - buf.write("\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091") - buf.write("\3\u0091\3\u0091\3\u0091\3\u0091\3\u0092\3\u0092\3\u0092") - buf.write("\3\u0092\3\u0092\3\u0092\3\u0092\3\u0092\3\u0092\3\u0092") - buf.write("\3\u0092\3\u0092\3\u0092\3\u0092\3\u0092\3\u0092\3\u0092") - buf.write("\3\u0093\3\u0093\3\u0093\3\u0093\3\u0094\3\u0094\3\u0094") - buf.write("\3\u0094\3\u0094\3\u0094\3\u0094\3\u0094\3\u0094\3\u0095") - buf.write("\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095") - buf.write("\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0096") - buf.write("\3\u0096\3\u0096\3\u0096\3\u0096\3\u0096\3\u0097\3\u0097") - buf.write("\3\u0097\3\u0097\3\u0097\3\u0097\3\u0097\3\u0097\3\u0097") - buf.write("\3\u0097\3\u0097\3\u0098\3\u0098\3\u0098\3\u0098\3\u0098") - buf.write("\3\u0099\3\u0099\3\u0099\3\u009a\3\u009a\3\u009a\3\u009a") - buf.write("\3\u009a\3\u009a\3\u009a\3\u009a\3\u009a\3\u009b\3\u009b") - buf.write("\3\u009b\3\u009b\3\u009b\3\u009b\3\u009b\3\u009b\3\u009c") - buf.write("\3\u009c\3\u009c\3\u009c\3\u009c\3\u009d\3\u009d\3\u009d") - buf.write("\3\u009d\3\u009d\3\u009e\3\u009e\3\u009e\3\u009e\3\u009e") - buf.write("\3\u009e\3\u009f\3\u009f\3\u009f\3\u009f\3\u009f\3\u009f") - buf.write("\3\u009f\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0") - buf.write("\3\u00a0\3\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a1") - buf.write("\3\u00a1\3\u00a1\3\u00a1\3\u00a2\3\u00a2\3\u00a2\3\u00a2") - buf.write("\3\u00a2\3\u00a2\3\u00a2\3\u00a3\3\u00a3\3\u00a3\3\u00a3") - buf.write("\3\u00a3\3\u00a3\3\u00a4\3\u00a4\3\u00a4\3\u00a4\3\u00a5") - buf.write("\3\u00a5\3\u00a5\3\u00a5\3\u00a5\3\u00a5\3\u00a6\3\u00a6") - buf.write("\3\u00a6\3\u00a6\3\u00a6\3\u00a6\3\u00a6\3\u00a7\3\u00a7") - buf.write("\3\u00a7\3\u00a7\3\u00a7\3\u00a8\3\u00a8\3\u00a8\3\u00a8") - buf.write("\3\u00a8\3\u00a8\3\u00a9\3\u00a9\3\u00a9\3\u00a9\3\u00a9") - buf.write("\3\u00a9\3\u00aa\3\u00aa\3\u00aa\3\u00aa\3\u00aa\3\u00ab") - buf.write("\3\u00ab\3\u00ab\3\u00ab\3\u00ab\3\u00ab\3\u00ac\3\u00ac") - buf.write("\3\u00ac\3\u00ac\3\u00ad\3\u00ad\3\u00ad\3\u00ad\3\u00ad") - buf.write("\3\u00ad\3\u00ad\3\u00ad\3\u00ad\3\u00ae\3\u00ae\3\u00ae") - buf.write("\3\u00ae\3\u00ae\3\u00ae\3\u00ae\3\u00ae\3\u00af\3\u00af") - buf.write("\3\u00af\3\u00af\3\u00af\3\u00af\3\u00af\3\u00af\3\u00af") - buf.write("\3\u00b0\3\u00b0\3\u00b0\3\u00b0\3\u00b0\3\u00b0\3\u00b0") - buf.write("\3\u00b0\3\u00b0\3\u00b0\3\u00b1\3\u00b1\3\u00b1\3\u00b1") - buf.write("\3\u00b2\3\u00b2\3\u00b2\3\u00b2\3\u00b2\3\u00b2\3\u00b2") - buf.write("\3\u00b2\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3") - buf.write("\3\u00b3\3\u00b4\3\u00b4\3\u00b4\3\u00b4\3\u00b4\3\u00b5") - buf.write("\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b6") - buf.write("\3\u00b6\3\u00b6\3\u00b6\3\u00b6\3\u00b6\3\u00b7\3\u00b7") - buf.write("\3\u00b7\3\u00b7\3\u00b7\3\u00b7\3\u00b7\3\u00b7\3\u00b8") - buf.write("\3\u00b8\3\u00b8\3\u00b8\3\u00b8\3\u00b8\3\u00b8\3\u00b8") - buf.write("\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00ba\3\u00ba") - buf.write("\3\u00ba\3\u00ba\3\u00ba\3\u00bb\3\u00bb\3\u00bb\3\u00bb") - buf.write("\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bc") - buf.write("\3\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc") - buf.write("\3\u00bc\3\u00bd\3\u00bd\3\u00bd\3\u00bd\3\u00bd\3\u00be") - buf.write("\3\u00be\3\u00be\3\u00be\3\u00be\3\u00bf\3\u00bf\3\u00bf") - buf.write("\3\u00bf\3\u00bf\3\u00bf\3\u00bf\3\u00bf\3\u00c0\3\u00c0") - buf.write("\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c1\3\u00c1") - buf.write("\3\u00c1\3\u00c1\3\u00c1\3\u00c1\3\u00c1\3\u00c1\3\u00c1") - buf.write("\3\u00c1\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2") - buf.write("\3\u00c2\3\u00c2\3\u00c2\3\u00c3\3\u00c3\3\u00c3\3\u00c3") - buf.write("\3\u00c3\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4") - buf.write("\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c5\3\u00c5") - buf.write("\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5") - buf.write("\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6") - buf.write("\3\u00c6\3\u00c6\3\u00c7\3\u00c7\3\u00c7\3\u00c7\3\u00c7") - buf.write("\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8") - buf.write("\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c9\3\u00c9\3\u00c9") - buf.write("\3\u00c9\3\u00c9\3\u00c9\3\u00c9\3\u00c9\3\u00c9\3\u00ca") - buf.write("\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00cb\3\u00cb\3\u00cb") - buf.write("\3\u00cb\3\u00cb\3\u00cb\3\u00cb\3\u00cc\3\u00cc\3\u00cc") - buf.write("\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc") - buf.write("\3\u00cc\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd") - buf.write("\3\u00cd\3\u00cd\3\u00cd\3\u00ce\3\u00ce\3\u00ce\3\u00ce") - buf.write("\3\u00ce\3\u00ce\3\u00ce\3\u00ce\3\u00ce\3\u00ce\3\u00ce") - buf.write("\3\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00cf") - buf.write("\3\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00d0\3\u00d0\3\u00d0") - buf.write("\3\u00d0\3\u00d0\3\u00d0\3\u00d0\3\u00d0\3\u00d0\3\u00d0") - buf.write("\3\u00d0\3\u00d0\3\u00d1\3\u00d1\3\u00d1\3\u00d1\3\u00d1") - buf.write("\3\u00d1\3\u00d1\3\u00d1\3\u00d1\3\u00d1\3\u00d1\3\u00d1") - buf.write("\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2") - buf.write("\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2") - buf.write("\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3") - buf.write("\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3") - buf.write("\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d4\3\u00d4") - buf.write("\3\u00d4\3\u00d4\3\u00d4\3\u00d4\3\u00d4\3\u00d4\3\u00d4") - buf.write("\3\u00d4\3\u00d4\3\u00d4\3\u00d4\3\u00d4\3\u00d4\3\u00d4") - buf.write("\3\u00d4\3\u00d4\3\u00d4\3\u00d5\3\u00d5\3\u00d5\3\u00d5") - buf.write("\3\u00d5\3\u00d5\3\u00d5\3\u00d5\3\u00d5\3\u00d5\3\u00d5") - buf.write("\3\u00d5\3\u00d5\3\u00d5\3\u00d5\3\u00d5\3\u00d5\3\u00d6") - buf.write("\3\u00d6\3\u00d6\3\u00d6\3\u00d6\3\u00d6\3\u00d6\3\u00d6") - buf.write("\3\u00d6\3\u00d6\3\u00d6\3\u00d6\3\u00d6\3\u00d6\3\u00d6") - buf.write("\3\u00d6\3\u00d7\3\u00d7\3\u00d7\3\u00d7\3\u00d8\3\u00d8") - buf.write("\3\u00d8\3\u00d8\3\u00d8\3\u00d8\3\u00d8\3\u00d8\3\u00d9") - buf.write("\3\u00d9\3\u00d9\3\u00d9\3\u00d9\3\u00d9\3\u00d9\3\u00da") - buf.write("\3\u00da\3\u00da\3\u00da\3\u00da\3\u00da\3\u00da\3\u00da") - buf.write("\3\u00db\3\u00db\3\u00db\3\u00db\3\u00db\3\u00db\3\u00dc") - buf.write("\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc") - buf.write("\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dd\3\u00dd") - buf.write("\3\u00dd\3\u00dd\3\u00de\3\u00de\3\u00de\3\u00de\3\u00df") - buf.write("\3\u00df\3\u00df\3\u00df\3\u00e0\3\u00e0\3\u00e0\3\u00e0") - buf.write("\3\u00e0\3\u00e0\3\u00e0\3\u00e1\3\u00e1\3\u00e1\3\u00e1") - buf.write("\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1") - buf.write("\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2") - buf.write("\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e3\3\u00e3") - buf.write("\3\u00e3\3\u00e3\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4") - buf.write("\3\u00e4\3\u00e4\3\u00e4\3\u00e5\3\u00e5\3\u00e5\3\u00e5") - buf.write("\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e6\3\u00e6") - buf.write("\3\u00e6\3\u00e6\3\u00e6\3\u00e6\3\u00e6\3\u00e6\3\u00e6") - buf.write("\3\u00e7\3\u00e7\3\u00e7\3\u00e7\3\u00e7\3\u00e7\3\u00e7") - buf.write("\3\u00e8\3\u00e8\3\u00e8\3\u00e8\3\u00e8\3\u00e8\3\u00e8") - buf.write("\3\u00e8\3\u00e8\3\u00e8\3\u00e8\3\u00e8\3\u00e8\3\u00e9") - buf.write("\3\u00e9\3\u00e9\3\u00e9\3\u00e9\3\u00e9\3\u00e9\3\u00e9") - buf.write("\3\u00e9\3\u00e9\3\u00e9\3\u00e9\3\u00e9\3\u00ea\3\u00ea") - buf.write("\3\u00ea\3\u00ea\3\u00ea\3\u00ea\3\u00ea\3\u00ea\3\u00ea") - buf.write("\3\u00ea\3\u00ea\3\u00ea\3\u00ea\3\u00ea\3\u00ea\3\u00ea") - buf.write("\3\u00ea\3\u00ea\3\u00eb\3\u00eb\3\u00eb\3\u00eb\3\u00eb") - buf.write("\3\u00eb\3\u00eb\3\u00eb\3\u00eb\3\u00eb\3\u00ec\3\u00ec") - buf.write("\3\u00ec\3\u00ec\3\u00ec\3\u00ec\3\u00ec\3\u00ec\3\u00ed") - buf.write("\3\u00ed\3\u00ed\3\u00ed\3\u00ed\3\u00ed\3\u00ed\3\u00ed") - buf.write("\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee") - buf.write("\3\u00ee\3\u00ee\3\u00ef\3\u00ef\3\u00ef\3\u00ef\3\u00ef") - buf.write("\3\u00ef\3\u00ef\3\u00ef\3\u00ef\3\u00f0\3\u00f0\3\u00f0") - buf.write("\3\u00f0\3\u00f0\3\u00f0\3\u00f0\3\u00f0\3\u00f1\3\u00f1") - buf.write("\3\u00f1\3\u00f1\3\u00f1\3\u00f1\3\u00f1\3\u00f1\3\u00f1") - buf.write("\3\u00f1\3\u00f1\3\u00f1\3\u00f1\3\u00f1\3\u00f1\3\u00f2") - buf.write("\3\u00f2\3\u00f2\3\u00f2\3\u00f3\3\u00f3\3\u00f3\3\u00f3") - buf.write("\3\u00f3\3\u00f3\3\u00f3\3\u00f3\3\u00f3\3\u00f4\3\u00f4") - buf.write("\3\u00f4\3\u00f4\3\u00f4\3\u00f4\3\u00f4\3\u00f5\3\u00f5") - buf.write("\3\u00f5\3\u00f5\3\u00f5\3\u00f5\3\u00f5\3\u00f5\3\u00f5") - buf.write("\3\u00f5\3\u00f6\3\u00f6\3\u00f6\3\u00f6\3\u00f6\3\u00f6") - buf.write("\3\u00f6\3\u00f6\3\u00f7\3\u00f7\3\u00f7\3\u00f7\3\u00f7") - buf.write("\3\u00f8\3\u00f8\3\u00f8\3\u00f8\3\u00f8\3\u00f8\3\u00f8") - buf.write("\3\u00f8\3\u00f8\3\u00f9\3\u00f9\3\u00f9\3\u00f9\3\u00f9") - buf.write("\3\u00f9\3\u00f9\3\u00f9\3\u00f9\3\u00fa\3\u00fa\3\u00fa") - buf.write("\3\u00fa\3\u00fa\3\u00fa\3\u00fa\3\u00fa\3\u00fa\3\u00fa") - buf.write("\3\u00fa\3\u00fa\3\u00fa\3\u00fa\3\u00fb\3\u00fb\3\u00fb") - buf.write("\3\u00fb\3\u00fb\3\u00fb\3\u00fb\3\u00fb\3\u00fc\3\u00fc") - buf.write("\3\u00fc\3\u00fc\3\u00fc\3\u00fc\3\u00fc\3\u00fd\3\u00fd") - buf.write("\3\u00fd\3\u00fd\3\u00fd\3\u00fd\3\u00fe\3\u00fe\3\u00fe") - buf.write("\3\u00fe\3\u00fe\3\u00fe\3\u00fe\3\u00fe\3\u00fe\3\u00fe") - buf.write("\3\u00ff\3\u00ff\3\u00ff\3\u00ff\3\u00ff\3\u00ff\3\u00ff") - buf.write("\3\u00ff\3\u00ff\3\u00ff\3\u0100\3\u0100\3\u0100\3\u0100") - buf.write("\3\u0101\3\u0101\3\u0101\3\u0102\3\u0102\3\u0102\3\u0102") - buf.write("\3\u0102\3\u0102\3\u0102\3\u0102\3\u0103\3\u0103\3\u0103") - buf.write("\3\u0103\3\u0103\3\u0103\3\u0103\3\u0103\3\u0103\3\u0103") - buf.write("\3\u0103\3\u0104\3\u0104\3\u0104\3\u0104\3\u0104\3\u0104") - buf.write("\3\u0104\3\u0104\3\u0104\3\u0104\3\u0104\3\u0104\3\u0104") - buf.write("\3\u0104\3\u0104\3\u0104\3\u0105\3\u0105\3\u0105\3\u0105") - buf.write("\3\u0105\3\u0105\3\u0105\3\u0105\3\u0105\3\u0105\3\u0105") - buf.write("\3\u0105\3\u0105\3\u0105\3\u0105\3\u0106\3\u0106\3\u0106") - buf.write("\3\u0106\3\u0106\3\u0106\3\u0106\3\u0106\3\u0106\3\u0106") - buf.write("\3\u0106\3\u0106\3\u0106\3\u0106\3\u0106\3\u0107\3\u0107") - buf.write("\3\u0107\3\u0107\3\u0107\3\u0107\3\u0108\3\u0108\3\u0108") - buf.write("\3\u0108\3\u0108\3\u0108\3\u0108\3\u0109\3\u0109\3\u0109") - buf.write("\3\u0109\3\u010a\3\u010a\3\u010a\3\u010a\3\u010a\3\u010a") - buf.write("\3\u010b\3\u010b\3\u010b\3\u010b\3\u010b\3\u010c\3\u010c") - buf.write("\3\u010c\3\u010c\3\u010c\3\u010c\3\u010c\3\u010c\3\u010d") - buf.write("\3\u010d\3\u010d\3\u010d\3\u010d\3\u010d\3\u010e\3\u010e") - buf.write("\3\u010e\3\u010e\3\u010e\3\u010e\3\u010f\3\u010f\3\u010f") - buf.write("\3\u010f\3\u010f\3\u010f\3\u010f\3\u010f\3\u010f\3\u0110") - buf.write("\3\u0110\3\u0110\3\u0110\3\u0110\3\u0110\3\u0111\3\u0111") - buf.write("\3\u0111\3\u0111\3\u0111\3\u0111\3\u0111\3\u0111\3\u0112") - buf.write("\3\u0112\3\u0112\3\u0112\3\u0112\3\u0112\3\u0112\3\u0112") - buf.write("\3\u0113\3\u0113\3\u0113\3\u0113\3\u0113\3\u0113\3\u0113") - buf.write("\3\u0113\3\u0113\3\u0114\3\u0114\3\u0114\3\u0114\3\u0114") - buf.write("\3\u0114\3\u0114\3\u0115\3\u0115\3\u0115\3\u0115\3\u0115") - buf.write("\3\u0115\3\u0115\3\u0116\3\u0116\3\u0116\3\u0116\3\u0116") - buf.write("\3\u0116\3\u0117\3\u0117\3\u0117\3\u0117\3\u0117\3\u0117") - buf.write("\3\u0117\3\u0117\3\u0117\3\u0118\3\u0118\3\u0118\3\u0118") - buf.write("\3\u0118\3\u0119\3\u0119\3\u0119\3\u0119\3\u0119\3\u0119") - buf.write("\3\u0119\3\u0119\3\u011a\3\u011a\3\u011a\3\u011a\3\u011a") - buf.write("\3\u011a\3\u011a\3\u011a\3\u011a\3\u011a\3\u011a\3\u011a") - buf.write("\3\u011a\3\u011a\3\u011b\3\u011b\3\u011b\3\u011b\3\u011b") - buf.write("\3\u011b\3\u011b\3\u011b\3\u011c\3\u011c\3\u011c\3\u011c") - buf.write("\3\u011c\3\u011c\3\u011c\3\u011d\3\u011d\3\u011d\3\u011d") - buf.write("\3\u011d\3\u011d\3\u011d\3\u011d\3\u011e\3\u011e\3\u011e") - buf.write("\3\u011e\3\u011e\3\u011e\3\u011e\3\u011e\3\u011e\3\u011e") - buf.write("\3\u011e\3\u011f\3\u011f\3\u011f\3\u011f\3\u011f\3\u011f") - buf.write("\3\u011f\3\u011f\3\u011f\3\u011f\3\u011f\3\u0120\3\u0120") - buf.write("\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120") - buf.write("\3\u0120\3\u0120\3\u0120\3\u0121\3\u0121\3\u0121\3\u0121") - buf.write("\3\u0121\3\u0121\3\u0121\3\u0121\3\u0121\3\u0121\3\u0121") - buf.write("\3\u0122\3\u0122\3\u0122\3\u0122\3\u0122\3\u0122\3\u0122") - buf.write("\3\u0122\3\u0122\3\u0122\3\u0122\3\u0123\3\u0123\3\u0123") - buf.write("\3\u0123\3\u0123\3\u0123\3\u0123\3\u0123\3\u0123\3\u0123") - buf.write("\3\u0123\3\u0124\3\u0124\3\u0124\3\u0124\3\u0124\3\u0124") - buf.write("\3\u0124\3\u0124\3\u0124\3\u0125\3\u0125\3\u0125\3\u0125") - buf.write("\3\u0125\3\u0125\3\u0125\3\u0125\3\u0126\3\u0126\3\u0126") - buf.write("\3\u0126\3\u0126\3\u0126\3\u0126\3\u0126\3\u0126\3\u0126") - buf.write("\3\u0126\3\u0126\3\u0126\3\u0127\3\u0127\3\u0127\3\u0127") - buf.write("\3\u0127\3\u0128\3\u0128\3\u0128\3\u0128\3\u0129\3\u0129") - buf.write("\3\u0129\3\u0129\3\u0129\3\u012a\3\u012a\3\u012a\3\u012a") - buf.write("\3\u012a\3\u012a\3\u012a\3\u012a\3\u012a\3\u012b\3\u012b") - buf.write("\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b") - buf.write("\3\u012b\3\u012b\3\u012c\3\u012c\3\u012c\3\u012c\3\u012c") - buf.write("\3\u012c\3\u012c\3\u012c\3\u012c\3\u012c\3\u012c\3\u012c") - buf.write("\3\u012c\3\u012d\3\u012d\3\u012d\3\u012d\3\u012d\3\u012d") - buf.write("\3\u012d\3\u012d\3\u012e\3\u012e\3\u012e\3\u012e\3\u012e") - buf.write("\3\u012e\3\u012e\3\u012e\3\u012e\3\u012e\3\u012e\3\u012e") - buf.write("\3\u012e\3\u012e\3\u012e\3\u012e\3\u012f\3\u012f\3\u012f") - buf.write("\3\u012f\3\u012f\3\u012f\3\u012f\3\u012f\3\u012f\3\u012f") - buf.write("\3\u012f\3\u012f\3\u012f\3\u0130\3\u0130\3\u0130\3\u0130") - buf.write("\3\u0130\3\u0130\3\u0130\3\u0130\3\u0130\3\u0130\3\u0131") - buf.write("\3\u0131\3\u0131\3\u0131\3\u0131\3\u0131\3\u0131\3\u0131") - buf.write("\3\u0132\3\u0132\3\u0132\3\u0132\3\u0132\3\u0132\3\u0132") - buf.write("\3\u0132\3\u0133\3\u0133\3\u0133\3\u0133\3\u0133\3\u0134") - buf.write("\3\u0134\3\u0134\3\u0135\3\u0135\3\u0135\3\u0135\3\u0135") - buf.write("\3\u0135\3\u0135\3\u0135\3\u0135\3\u0136\3\u0136\3\u0136") - buf.write("\3\u0136\3\u0136\3\u0136\3\u0136\3\u0136\3\u0136\3\u0136") - buf.write("\3\u0137\3\u0137\3\u0137\3\u0137\3\u0137\3\u0137\3\u0137") - buf.write("\3\u0137\3\u0138\3\u0138\3\u0138\3\u0138\3\u0138\3\u0138") - buf.write("\3\u0138\3\u0139\3\u0139\3\u0139\3\u0139\3\u0139\3\u0139") - buf.write("\3\u0139\3\u0139\3\u0139\3\u0139\3\u0139\3\u013a\3\u013a") - buf.write("\3\u013a\3\u013a\3\u013b\3\u013b\3\u013b\3\u013b\3\u013b") - buf.write("\3\u013c\3\u013c\3\u013c\3\u013c\3\u013c\3\u013c\3\u013c") - buf.write("\3\u013d\3\u013d\3\u013d\3\u013d\3\u013d\3\u013d\3\u013d") - buf.write("\3\u013d\3\u013e\3\u013e\3\u013e\3\u013e\3\u013e\3\u013e") - buf.write("\3\u013f\3\u013f\3\u013f\3\u013f\3\u013f\3\u013f\3\u013f") - buf.write("\3\u0140\3\u0140\3\u0140\3\u0140\3\u0140\3\u0140\3\u0140") - buf.write("\3\u0141\3\u0141\3\u0141\3\u0141\3\u0141\3\u0142\3\u0142") - buf.write("\3\u0142\3\u0142\3\u0142\3\u0142\3\u0143\3\u0143\3\u0143") - buf.write("\3\u0143\3\u0143\3\u0143\3\u0143\3\u0144\3\u0144\3\u0144") - buf.write("\3\u0144\3\u0144\3\u0144\3\u0145\3\u0145\3\u0145\3\u0145") - buf.write("\3\u0145\3\u0145\3\u0145\3\u0145\3\u0145\3\u0146\3\u0146") - buf.write("\3\u0146\3\u0146\3\u0146\3\u0146\3\u0146\3\u0146\3\u0146") - buf.write("\3\u0146\3\u0147\3\u0147\3\u0147\3\u0147\3\u0147\3\u0147") - buf.write("\3\u0147\3\u0148\3\u0148\3\u0148\3\u0148\3\u0148\3\u0148") - buf.write("\3\u0148\3\u0149\3\u0149\3\u0149\3\u0149\3\u0149\3\u0149") - buf.write("\3\u0149\3\u0149\3\u0149\3\u014a\3\u014a\3\u014a\3\u014a") - buf.write("\3\u014a\3\u014a\3\u014a\3\u014a\3\u014a\3\u014a\3\u014a") - buf.write("\3\u014a\3\u014b\3\u014b\3\u014b\3\u014b\3\u014b\3\u014c") - buf.write("\3\u014c\3\u014c\3\u014c\3\u014c\3\u014c\3\u014c\3\u014d") - buf.write("\3\u014d\3\u014d\3\u014d\3\u014d\3\u014d\3\u014d\3\u014e") - buf.write("\3\u014e\3\u014e\3\u014e\3\u014e\3\u014e\3\u014e\3\u014e") - buf.write("\3\u014e\3\u014e\3\u014e\3\u014e\3\u014e\3\u014e\3\u014e") - buf.write("\3\u014e\3\u014f\3\u014f\3\u014f\3\u014f\3\u014f\3\u014f") - buf.write("\3\u014f\3\u0150\3\u0150\3\u0150\3\u0150\3\u0150\3\u0150") - buf.write("\3\u0151\3\u0151\3\u0151\3\u0151\3\u0151\3\u0151\3\u0152") - buf.write("\3\u0152\3\u0152\3\u0152\3\u0152\3\u0152\3\u0153\3\u0153") - buf.write("\3\u0153\3\u0153\3\u0153\3\u0153\3\u0153\3\u0153\3\u0154") - buf.write("\3\u0154\3\u0154\3\u0154\3\u0154\3\u0154\3\u0155\3\u0155") - buf.write("\3\u0155\3\u0155\3\u0155\3\u0156\3\u0156\3\u0156\3\u0156") - buf.write("\3\u0156\3\u0156\3\u0156\3\u0156\3\u0156\3\u0157\3\u0157") - buf.write("\3\u0157\3\u0157\3\u0157\3\u0157\3\u0157\3\u0157\3\u0158") - buf.write("\3\u0158\3\u0158\3\u0158\3\u0158\3\u0158\3\u0158\3\u0159") - buf.write("\3\u0159\3\u0159\3\u0159\3\u0159\3\u0159\3\u0159\3\u015a") - buf.write("\3\u015a\3\u015a\3\u015a\3\u015a\3\u015a\3\u015a\3\u015a") - buf.write("\3\u015a\3\u015a\3\u015a\3\u015a\3\u015a\3\u015a\3\u015a") - buf.write("\3\u015a\3\u015a\3\u015a\3\u015b\3\u015b\3\u015b\3\u015b") - buf.write("\3\u015b\3\u015b\3\u015b\3\u015b\3\u015c\3\u015c\3\u015c") - buf.write("\3\u015c\3\u015c\3\u015d\3\u015d\3\u015d\3\u015d\3\u015d") - buf.write("\3\u015e\3\u015e\3\u015e\3\u015e\3\u015e\3\u015f\3\u015f") - buf.write("\3\u015f\3\u015f\3\u015f\3\u015f\3\u0160\3\u0160\3\u0160") - buf.write("\3\u0160\3\u0160\3\u0160\3\u0160\3\u0160\3\u0160\3\u0160") - buf.write("\3\u0160\3\u0161\3\u0161\3\u0161\3\u0161\3\u0161\3\u0161") - buf.write("\3\u0161\3\u0161\3\u0161\3\u0161\3\u0161\3\u0161\3\u0161") - buf.write("\3\u0161\3\u0161\3\u0161\3\u0161\3\u0161\3\u0162\3\u0162") - buf.write("\3\u0162\3\u0162\3\u0162\3\u0162\3\u0162\3\u0163\3\u0163") - buf.write("\3\u0163\3\u0163\3\u0163\3\u0163\3\u0163\3\u0163\3\u0164") - buf.write("\3\u0164\3\u0164\3\u0164\3\u0164\3\u0164\3\u0164\3\u0164") - buf.write("\3\u0164\3\u0164\3\u0164\3\u0164\3\u0164\3\u0165\3\u0165") - buf.write("\3\u0165\3\u0165\3\u0165\3\u0165\3\u0165\3\u0165\3\u0166") - buf.write("\3\u0166\3\u0166\3\u0166\3\u0166\3\u0166\3\u0166\3\u0166") - buf.write("\3\u0166\3\u0166\3\u0166\3\u0166\3\u0166\3\u0166\3\u0167") - buf.write("\3\u0167\3\u0167\3\u0167\3\u0167\3\u0167\3\u0167\3\u0167") - buf.write("\3\u0168\3\u0168\3\u0168\3\u0168\3\u0168\3\u0168\3\u0168") - buf.write("\3\u0168\3\u0168\3\u0169\3\u0169\3\u0169\3\u0169\3\u0169") - buf.write("\3\u0169\3\u0169\3\u0169\3\u016a\3\u016a\3\u016a\3\u016b") - buf.write("\3\u016b\3\u016b\3\u016b\3\u016b\3\u016b\3\u016b\3\u016b") - buf.write("\3\u016b\3\u016b\3\u016c\3\u016c\3\u016c\3\u016c\3\u016d") - buf.write("\3\u016d\3\u016d\3\u016d\3\u016d\3\u016d\3\u016d\3\u016d") - buf.write("\3\u016d\3\u016d\3\u016e\3\u016e\3\u016e\3\u016e\3\u016e") - buf.write("\3\u016e\3\u016e\3\u016f\3\u016f\3\u016f\3\u016f\3\u016f") - buf.write("\3\u0170\3\u0170\3\u0170\3\u0170\3\u0170\3\u0170\3\u0170") - buf.write("\3\u0170\3\u0170\3\u0170\3\u0170\3\u0170\3\u0170\3\u0170") - buf.write("\3\u0170\3\u0171\3\u0171\3\u0171\3\u0171\3\u0171\3\u0171") - buf.write("\3\u0171\3\u0171\3\u0171\3\u0172\3\u0172\3\u0172\3\u0172") - buf.write("\3\u0172\3\u0173\3\u0173\3\u0173\3\u0173\3\u0173\3\u0173") - buf.write("\3\u0173\3\u0174\3\u0174\3\u0174\3\u0174\3\u0174\3\u0175") - buf.write("\3\u0175\3\u0175\3\u0175\3\u0175\3\u0175\3\u0176\3\u0176") - buf.write("\3\u0176\3\u0176\3\u0176\3\u0177\3\u0177\3\u0177\3\u0177") - buf.write("\3\u0177\3\u0177\3\u0178\3\u0178\3\u0178\3\u0178\3\u0178") - buf.write("\3\u0178\3\u0178\3\u0178\3\u0179\3\u0179\3\u0179\3\u0179") - buf.write("\3\u0179\3\u017a\3\u017a\3\u017a\3\u017a\3\u017a\3\u017a") - buf.write("\3\u017a\3\u017b\3\u017b\3\u017b\3\u017b\3\u017b\3\u017b") - buf.write("\3\u017b\3\u017b\3\u017b\3\u017b\3\u017b\3\u017b\3\u017b") - buf.write("\3\u017b\3\u017b\3\u017b\3\u017b\3\u017b\3\u017b\3\u017b") - buf.write("\3\u017b\3\u017c\3\u017c\3\u017c\3\u017c\3\u017c\3\u017c") - buf.write("\3\u017c\3\u017c\3\u017c\3\u017c\3\u017c\3\u017c\3\u017c") - buf.write("\3\u017c\3\u017c\3\u017c\3\u017c\3\u017c\3\u017c\3\u017c") - buf.write("\3\u017c\3\u017d\3\u017d\3\u017d\3\u017d\3\u017d\3\u017d") - buf.write("\3\u017d\3\u017d\3\u017d\3\u017d\3\u017d\3\u017d\3\u017d") - buf.write("\3\u017e\3\u017e\3\u017e\3\u017e\3\u017e\3\u017e\3\u017e") - buf.write("\3\u017e\3\u017e\3\u017e\3\u017e\3\u017e\3\u017e\3\u017e") - buf.write("\3\u017e\3\u017e\3\u017e\3\u017e\3\u017e\3\u017e\3\u017e") - buf.write("\3\u017e\3\u017e\3\u017e\3\u017f\3\u017f\3\u017f\3\u017f") - buf.write("\3\u017f\3\u017f\3\u017f\3\u017f\3\u017f\3\u017f\3\u017f") - buf.write("\3\u017f\3\u0180\3\u0180\3\u0180\3\u0180\3\u0180\3\u0180") - buf.write("\3\u0180\3\u0180\3\u0180\3\u0180\3\u0180\3\u0180\3\u0180") - buf.write("\3\u0180\3\u0180\3\u0180\3\u0181\3\u0181\3\u0181\3\u0181") - buf.write("\3\u0181\3\u0181\3\u0181\3\u0181\3\u0181\3\u0181\3\u0181") - buf.write("\3\u0181\3\u0181\3\u0181\3\u0181\3\u0182\3\u0182\3\u0182") - buf.write("\3\u0182\3\u0182\3\u0182\3\u0182\3\u0182\3\u0182\3\u0182") - buf.write("\3\u0182\3\u0182\3\u0182\3\u0182\3\u0182\3\u0182\3\u0183") - buf.write("\3\u0183\3\u0183\3\u0183\3\u0183\3\u0183\3\u0183\3\u0183") - buf.write("\3\u0183\3\u0183\3\u0183\3\u0183\3\u0184\3\u0184\3\u0184") - buf.write("\3\u0184\3\u0184\3\u0184\3\u0184\3\u0184\3\u0184\3\u0184") - buf.write("\3\u0184\3\u0184\3\u0184\3\u0184\3\u0184\3\u0184\3\u0184") - buf.write("\3\u0184\3\u0184\3\u0185\3\u0185\3\u0185\3\u0185\3\u0185") - buf.write("\3\u0185\3\u0185\3\u0185\3\u0185\3\u0185\3\u0185\3\u0186") - buf.write("\3\u0186\3\u0186\3\u0186\3\u0186\3\u0186\3\u0186\3\u0186") - buf.write("\3\u0186\3\u0186\3\u0186\3\u0186\3\u0186\3\u0186\3\u0187") - buf.write("\3\u0187\3\u0187\3\u0187\3\u0187\3\u0187\3\u0187\3\u0187") - buf.write("\3\u0187\3\u0187\3\u0187\3\u0187\3\u0187\3\u0187\3\u0187") - buf.write("\3\u0187\3\u0187\3\u0187\3\u0188\3\u0188\3\u0188\3\u0188") - buf.write("\3\u0188\3\u0188\3\u0188\3\u0188\3\u0188\3\u0188\3\u0188") - buf.write("\3\u0188\3\u0188\3\u0188\3\u0188\3\u0188\3\u0189\3\u0189") - buf.write("\3\u0189\3\u0189\3\u0189\3\u0189\3\u0189\3\u0189\3\u0189") - buf.write("\3\u0189\3\u0189\3\u0189\3\u0189\3\u0189\3\u0189\3\u0189") - buf.write("\3\u0189\3\u0189\3\u018a\3\u018a\3\u018a\3\u018a\3\u018a") - buf.write("\3\u018a\3\u018a\3\u018a\3\u018a\3\u018a\3\u018a\3\u018a") - buf.write("\3\u018a\3\u018a\3\u018a\3\u018b\3\u018b\3\u018b\3\u018b") - buf.write("\3\u018b\3\u018b\3\u018b\3\u018b\3\u018b\3\u018b\3\u018b") - buf.write("\3\u018b\3\u018b\3\u018b\3\u018b\3\u018b\3\u018b\3\u018b") - buf.write("\3\u018b\3\u018c\3\u018c\3\u018c\3\u018c\3\u018c\3\u018c") - buf.write("\3\u018c\3\u018c\3\u018c\3\u018c\3\u018c\3\u018c\3\u018c") - buf.write("\3\u018c\3\u018c\3\u018d\3\u018d\3\u018d\3\u018d\3\u018d") - buf.write("\3\u018d\3\u018d\3\u018d\3\u018d\3\u018d\3\u018d\3\u018d") - buf.write("\3\u018d\3\u018d\3\u018d\3\u018d\3\u018d\3\u018d\3\u018d") - buf.write("\3\u018e\3\u018e\3\u018e\3\u018e\3\u018e\3\u018e\3\u018e") - buf.write("\3\u018e\3\u018e\3\u018e\3\u018e\3\u018e\3\u018f\3\u018f") - buf.write("\3\u018f\3\u018f\3\u018f\3\u018f\3\u018f\3\u018f\3\u018f") - buf.write("\3\u018f\3\u018f\3\u018f\3\u018f\3\u018f\3\u018f\3\u018f") - buf.write("\3\u018f\3\u018f\3\u018f\3\u018f\3\u018f\3\u018f\3\u018f") - buf.write("\3\u018f\3\u018f\3\u0190\3\u0190\3\u0190\3\u0190\3\u0190") - buf.write("\3\u0190\3\u0190\3\u0190\3\u0190\3\u0190\3\u0190\3\u0190") - buf.write("\3\u0190\3\u0190\3\u0190\3\u0190\3\u0190\3\u0190\3\u0190") - buf.write("\3\u0190\3\u0190\3\u0191\3\u0191\3\u0191\3\u0191\3\u0191") - buf.write("\3\u0191\3\u0191\3\u0191\3\u0191\3\u0192\3\u0192\3\u0192") - buf.write("\3\u0192\3\u0192\3\u0192\3\u0192\3\u0192\3\u0192\3\u0193") - buf.write("\3\u0193\3\u0193\3\u0193\3\u0193\3\u0193\3\u0193\3\u0193") - buf.write("\3\u0193\3\u0193\3\u0193\3\u0193\3\u0193\3\u0193\3\u0193") - buf.write("\3\u0193\3\u0193\3\u0193\3\u0193\3\u0193\3\u0193\3\u0194") - buf.write("\3\u0194\3\u0194\3\u0194\3\u0194\3\u0194\3\u0194\3\u0194") - buf.write("\3\u0194\3\u0194\3\u0194\3\u0194\3\u0194\3\u0194\3\u0194") - buf.write("\3\u0194\3\u0194\3\u0194\3\u0194\3\u0194\3\u0194\3\u0195") - buf.write("\3\u0195\3\u0195\3\u0195\3\u0195\3\u0195\3\u0195\3\u0196") - buf.write("\3\u0196\3\u0196\3\u0196\3\u0196\3\u0196\3\u0197\3\u0197") - buf.write("\3\u0197\3\u0197\3\u0198\3\u0198\3\u0198\3\u0198\3\u0198") - buf.write("\3\u0198\3\u0198\3\u0198\3\u0199\3\u0199\3\u0199\3\u0199") - buf.write("\3\u0199\3\u0199\3\u0199\3\u0199\3\u0199\3\u019a\3\u019a") - buf.write("\3\u019a\3\u019a\3\u019a\3\u019b\3\u019b\3\u019b\3\u019b") - buf.write("\3\u019b\3\u019b\3\u019b\3\u019c\3\u019c\3\u019c\3\u019c") - buf.write("\3\u019c\3\u019c\3\u019d\3\u019d\3\u019d\3\u019d\3\u019d") - buf.write("\3\u019d\3\u019e\3\u019e\3\u019e\3\u019e\3\u019e\3\u019f") - buf.write("\3\u019f\3\u019f\3\u019f\3\u019f\3\u019f\3\u01a0\3\u01a0") - buf.write("\3\u01a0\3\u01a0\3\u01a0\3\u01a0\3\u01a1\3\u01a1\3\u01a1") - buf.write("\3\u01a1\3\u01a1\3\u01a1\3\u01a2\3\u01a2\3\u01a2\3\u01a2") - buf.write("\3\u01a2\3\u01a3\3\u01a3\3\u01a3\3\u01a4\3\u01a4\3\u01a4") - buf.write("\3\u01a4\3\u01a4\3\u01a4\3\u01a4\3\u01a4\3\u01a4\3\u01a4") - buf.write("\3\u01a5\3\u01a5\3\u01a5\3\u01a5\3\u01a5\3\u01a6\3\u01a6") - buf.write("\3\u01a6\3\u01a6\3\u01a6\3\u01a6\3\u01a6\3\u01a6\3\u01a7") - buf.write("\3\u01a7\3\u01a7\3\u01a7\3\u01a7\3\u01a7\3\u01a7\3\u01a8") - buf.write("\3\u01a8\3\u01a8\3\u01a9\3\u01a9\3\u01a9\3\u01a9\3\u01a9") - buf.write("\3\u01a9\3\u01a9\3\u01a9\3\u01a9\3\u01a9\3\u01a9\3\u01a9") - buf.write("\3\u01a9\3\u01aa\3\u01aa\3\u01aa\3\u01aa\3\u01ab\3\u01ab") - buf.write("\3\u01ab\3\u01ab\3\u01ab\3\u01ab\3\u01ab\3\u01ac\3\u01ac") - buf.write("\3\u01ac\3\u01ac\3\u01ac\3\u01ad\3\u01ad\3\u01ad\3\u01ad") - buf.write("\3\u01ad\3\u01ae\3\u01ae\3\u01ae\3\u01ae\3\u01ae\3\u01ae") - buf.write("\3\u01ae\3\u01ae\3\u01ae\3\u01ae\3\u01ae\3\u01ae\3\u01ae") - buf.write("\3\u01ae\3\u01ae\3\u01ae\3\u01af\3\u01af\3\u01af\3\u01af") - buf.write("\3\u01af\3\u01af\3\u01af\3\u01af\3\u01b0\3\u01b0\3\u01b0") - buf.write("\3\u01b0\3\u01b0\3\u01b0\3\u01b1\3\u01b1\3\u01b1\3\u01b1") - buf.write("\3\u01b1\3\u01b1\3\u01b1\3\u01b1\3\u01b1\3\u01b1\3\u01b2") - buf.write("\3\u01b2\3\u01b2\3\u01b2\3\u01b2\3\u01b3\3\u01b3\3\u01b3") - buf.write("\3\u01b3\3\u01b3\3\u01b3\3\u01b3\3\u01b4\3\u01b4\3\u01b4") - buf.write("\3\u01b4\3\u01b4\3\u01b4\3\u01b4\3\u01b4\3\u01b5\3\u01b5") - buf.write("\3\u01b5\3\u01b5\3\u01b5\3\u01b5\3\u01b5\3\u01b5\3\u01b5") - buf.write("\3\u01b5\3\u01b5\3\u01b5\3\u01b5\3\u01b6\3\u01b6\3\u01b6") - buf.write("\3\u01b6\3\u01b6\3\u01b6\3\u01b6\3\u01b6\3\u01b6\3\u01b6") - buf.write("\3\u01b6\3\u01b7\3\u01b7\3\u01b7\3\u01b7\3\u01b7\3\u01b7") - buf.write("\3\u01b7\3\u01b7\3\u01b7\3\u01b8\3\u01b8\3\u01b8\3\u01b8") - buf.write("\3\u01b8\3\u01b8\3\u01b9\3\u01b9\3\u01b9\3\u01b9\3\u01b9") - buf.write("\3\u01b9\3\u01b9\3\u01ba\3\u01ba\3\u01ba\3\u01ba\3\u01ba") - buf.write("\3\u01ba\3\u01ba\3\u01ba\3\u01ba\3\u01ba\3\u01ba\3\u01bb") - buf.write("\3\u01bb\3\u01bb\3\u01bb\3\u01bb\3\u01bb\3\u01bb\3\u01bb") - buf.write("\3\u01bc\3\u01bc\3\u01bc\3\u01bc\3\u01bc\3\u01bd\3\u01bd") - buf.write("\3\u01bd\3\u01bd\3\u01bd\3\u01bd\3\u01bd\3\u01bd\3\u01bd") - buf.write("\3\u01be\3\u01be\3\u01be\3\u01be\3\u01be\3\u01be\3\u01be") - buf.write("\3\u01be\3\u01bf\3\u01bf\3\u01bf\3\u01bf\3\u01bf\3\u01bf") - buf.write("\3\u01bf\3\u01bf\3\u01bf\3\u01c0\3\u01c0\3\u01c0\3\u01c0") - buf.write("\3\u01c0\3\u01c1\3\u01c1\3\u01c1\3\u01c1\3\u01c1\3\u01c1") - buf.write("\3\u01c1\3\u01c1\3\u01c1\3\u01c1\3\u01c1\3\u01c1\3\u01c2") - buf.write("\3\u01c2\3\u01c2\3\u01c2\3\u01c2\3\u01c2\3\u01c2\3\u01c2") - buf.write("\3\u01c3\3\u01c3\3\u01c3\3\u01c3\3\u01c3\3\u01c3\3\u01c3") - buf.write("\3\u01c3\3\u01c3\3\u01c4\3\u01c4\3\u01c4\3\u01c4\3\u01c4") - buf.write("\3\u01c4\3\u01c5\3\u01c5\3\u01c5\3\u01c5\3\u01c5\3\u01c5") - buf.write("\3\u01c6\3\u01c6\3\u01c6\3\u01c6\3\u01c6\3\u01c6\3\u01c7") - buf.write("\3\u01c7\3\u01c7\3\u01c7\3\u01c7\3\u01c7\3\u01c7\3\u01c7") - buf.write("\3\u01c8\3\u01c8\3\u01c8\3\u01c8\3\u01c8\3\u01c8\3\u01c8") - buf.write("\3\u01c8\3\u01c9\3\u01c9\3\u01c9\3\u01c9\3\u01c9\3\u01c9") - buf.write("\3\u01c9\3\u01c9\3\u01c9\3\u01c9\3\u01c9\3\u01c9\3\u01c9") - buf.write("\3\u01c9\3\u01c9\3\u01c9\3\u01c9\3\u01ca\3\u01ca\3\u01ca") - buf.write("\3\u01ca\3\u01ca\3\u01ca\3\u01ca\3\u01ca\3\u01ca\3\u01ca") - buf.write("\3\u01cb\3\u01cb\3\u01cb\3\u01cb\3\u01cb\3\u01cb\3\u01cc") - buf.write("\3\u01cc\3\u01cc\3\u01cc\3\u01cc\3\u01cc\3\u01cc\3\u01cc") - buf.write("\3\u01cc\3\u01cc\3\u01cc\3\u01cc\3\u01cc\3\u01cc\3\u01cc") - buf.write("\3\u01cd\3\u01cd\3\u01cd\3\u01cd\3\u01cd\3\u01cd\3\u01cd") - buf.write("\3\u01cd\3\u01cd\3\u01cd\3\u01cd\3\u01cd\3\u01cd\3\u01cd") - buf.write("\3\u01ce\3\u01ce\3\u01ce\3\u01ce\3\u01ce\3\u01ce\3\u01ce") - buf.write("\3\u01ce\3\u01ce\3\u01cf\3\u01cf\3\u01cf\3\u01cf\3\u01cf") - buf.write("\3\u01cf\3\u01cf\3\u01d0\3\u01d0\3\u01d0\3\u01d0\3\u01d0") - buf.write("\3\u01d0\3\u01d0\3\u01d0\3\u01d0\3\u01d0\3\u01d0\3\u01d1") - buf.write("\3\u01d1\3\u01d1\3\u01d1\3\u01d1\3\u01d1\3\u01d1\3\u01d2") - buf.write("\3\u01d2\3\u01d2\3\u01d2\3\u01d2\3\u01d2\3\u01d2\3\u01d2") - buf.write("\3\u01d2\3\u01d2\3\u01d2\3\u01d2\3\u01d2\3\u01d2\3\u01d2") - buf.write("\3\u01d2\3\u01d3\3\u01d3\3\u01d3\3\u01d3\3\u01d3\3\u01d3") - buf.write("\3\u01d3\3\u01d3\3\u01d3\3\u01d3\3\u01d3\3\u01d3\3\u01d3") - buf.write("\3\u01d3\3\u01d3\3\u01d3\3\u01d3\3\u01d3\3\u01d3\3\u01d4") - buf.write("\3\u01d4\3\u01d4\3\u01d4\3\u01d4\3\u01d4\3\u01d4\3\u01d4") - buf.write("\3\u01d4\3\u01d4\3\u01d4\3\u01d4\3\u01d4\3\u01d4\3\u01d4") - buf.write("\3\u01d4\3\u01d4\3\u01d4\3\u01d4\3\u01d4\3\u01d5\3\u01d5") - buf.write("\3\u01d5\3\u01d5\3\u01d5\3\u01d5\3\u01d5\3\u01d5\3\u01d5") - buf.write("\3\u01d5\3\u01d5\3\u01d5\3\u01d5\3\u01d5\3\u01d5\3\u01d5") - buf.write("\3\u01d5\3\u01d5\3\u01d5\3\u01d5\3\u01d5\3\u01d5\3\u01d5") - buf.write("\3\u01d6\3\u01d6\3\u01d6\3\u01d6\3\u01d6\3\u01d6\3\u01d6") - buf.write("\3\u01d6\3\u01d6\3\u01d6\3\u01d6\3\u01d6\3\u01d6\3\u01d6") - buf.write("\3\u01d6\3\u01d6\3\u01d6\3\u01d6\3\u01d6\3\u01d6\3\u01d6") - buf.write("\3\u01d7\3\u01d7\3\u01d7\3\u01d7\3\u01d7\3\u01d7\3\u01d7") - buf.write("\3\u01d7\3\u01d7\3\u01d7\3\u01d7\3\u01d7\3\u01d7\3\u01d7") - buf.write("\3\u01d7\3\u01d7\3\u01d7\3\u01d7\3\u01d7\3\u01d7\3\u01d7") - buf.write("\3\u01d7\3\u01d7\3\u01d7\3\u01d8\3\u01d8\3\u01d8\3\u01d8") - buf.write("\3\u01d8\3\u01d8\3\u01d8\3\u01d8\3\u01d8\3\u01d8\3\u01d8") - buf.write("\3\u01d8\3\u01d8\3\u01d8\3\u01d8\3\u01d8\3\u01d8\3\u01d8") - buf.write("\3\u01d8\3\u01d8\3\u01d8\3\u01d8\3\u01d8\3\u01d8\3\u01d8") - buf.write("\3\u01d8\3\u01d8\3\u01d8\3\u01d9\3\u01d9\3\u01d9\3\u01d9") - buf.write("\3\u01d9\3\u01d9\3\u01d9\3\u01d9\3\u01d9\3\u01d9\3\u01d9") - buf.write("\3\u01d9\3\u01da\3\u01da\3\u01da\3\u01da\3\u01da\3\u01da") - buf.write("\3\u01db\3\u01db\3\u01db\3\u01db\3\u01db\3\u01db\3\u01db") - buf.write("\3\u01dc\3\u01dc\3\u01dc\3\u01dc\3\u01dc\3\u01dc\3\u01dc") - buf.write("\3\u01dc\3\u01dd\3\u01dd\3\u01dd\3\u01dd\3\u01dd\3\u01dd") - buf.write("\3\u01dd\3\u01dd\3\u01dd\3\u01de\3\u01de\3\u01de\3\u01de") - buf.write("\3\u01de\3\u01de\3\u01de\3\u01df\3\u01df\3\u01df\3\u01df") - buf.write("\3\u01df\3\u01df\3\u01df\3\u01e0\3\u01e0\3\u01e0\3\u01e0") - buf.write("\3\u01e1\3\u01e1\3\u01e1\3\u01e1\3\u01e1\3\u01e2\3\u01e2") - buf.write("\3\u01e2\3\u01e2\3\u01e2\3\u01e2\3\u01e2\3\u01e2\3\u01e2") - buf.write("\3\u01e2\3\u01e2\3\u01e3\3\u01e3\3\u01e3\3\u01e3\3\u01e3") - buf.write("\3\u01e3\3\u01e3\3\u01e3\3\u01e3\3\u01e3\3\u01e4\3\u01e4") - buf.write("\3\u01e4\3\u01e4\3\u01e4\3\u01e4\3\u01e4\3\u01e4\3\u01e4") - buf.write("\3\u01e5\3\u01e5\3\u01e5\3\u01e5\3\u01e5\3\u01e5\3\u01e5") - buf.write("\3\u01e5\3\u01e5\3\u01e6\3\u01e6\3\u01e6\3\u01e6\3\u01e6") - buf.write("\3\u01e6\3\u01e6\3\u01e7\3\u01e7\3\u01e7\3\u01e7\3\u01e7") - buf.write("\3\u01e7\3\u01e7\3\u01e7\3\u01e8\3\u01e8\3\u01e8\3\u01e8") - buf.write("\3\u01e8\3\u01e8\3\u01e9\3\u01e9\3\u01e9\3\u01e9\3\u01e9") - buf.write("\3\u01e9\3\u01e9\3\u01ea\3\u01ea\3\u01ea\3\u01ea\3\u01ea") - buf.write("\3\u01ea\3\u01ea\3\u01eb\3\u01eb\3\u01eb\3\u01eb\3\u01eb") - buf.write("\3\u01eb\3\u01eb\3\u01ec\3\u01ec\3\u01ec\3\u01ec\3\u01ec") - buf.write("\3\u01ec\3\u01ed\3\u01ed\3\u01ed\3\u01ed\3\u01ed\3\u01ee") - buf.write("\3\u01ee\3\u01ee\3\u01ee\3\u01ee\3\u01ee\3\u01ee\3\u01ee") - buf.write("\3\u01ee\3\u01ef\3\u01ef\3\u01ef\3\u01ef\3\u01ef\3\u01ef") - buf.write("\3\u01ef\3\u01f0\3\u01f0\3\u01f0\3\u01f0\3\u01f0\3\u01f1") - buf.write("\3\u01f1\3\u01f1\3\u01f1\3\u01f1\3\u01f1\3\u01f1\3\u01f2") - buf.write("\3\u01f2\3\u01f2\3\u01f2\3\u01f2\3\u01f2\3\u01f2\3\u01f3") - buf.write("\3\u01f3\3\u01f3\3\u01f3\3\u01f3\3\u01f3\3\u01f3\3\u01f4") - buf.write("\3\u01f4\3\u01f4\3\u01f4\3\u01f4\3\u01f4\3\u01f4\3\u01f4") - buf.write("\3\u01f4\3\u01f4\3\u01f4\3\u01f4\3\u01f4\3\u01f4\3\u01f4") - buf.write("\3\u01f4\3\u01f5\3\u01f5\3\u01f5\3\u01f5\3\u01f5\3\u01f5") - buf.write("\3\u01f5\3\u01f5\3\u01f5\3\u01f5\3\u01f5\3\u01f5\3\u01f5") - buf.write("\3\u01f5\3\u01f5\3\u01f5\3\u01f5\3\u01f5\3\u01f5\3\u01f6") - buf.write("\3\u01f6\3\u01f6\3\u01f6\3\u01f6\3\u01f6\3\u01f6\3\u01f6") - buf.write("\3\u01f6\3\u01f6\3\u01f6\3\u01f6\3\u01f6\3\u01f6\3\u01f6") - buf.write("\3\u01f6\3\u01f6\3\u01f7\3\u01f7\3\u01f7\3\u01f7\3\u01f7") - buf.write("\3\u01f7\3\u01f7\3\u01f7\3\u01f7\3\u01f7\3\u01f7\3\u01f7") - buf.write("\3\u01f7\3\u01f7\3\u01f7\3\u01f7\3\u01f7\3\u01f7\3\u01f8") - buf.write("\3\u01f8\3\u01f8\3\u01f8\3\u01f8\3\u01f8\3\u01f8\3\u01f8") - buf.write("\3\u01f8\3\u01f8\3\u01f9\3\u01f9\3\u01f9\3\u01f9\3\u01f9") - buf.write("\3\u01f9\3\u01f9\3\u01f9\3\u01f9\3\u01f9\3\u01f9\3\u01f9") - buf.write("\3\u01f9\3\u01fa\3\u01fa\3\u01fa\3\u01fa\3\u01fa\3\u01fa") - buf.write("\3\u01fa\3\u01fa\3\u01fa\3\u01fa\3\u01fa\3\u01fb\3\u01fb") - buf.write("\3\u01fb\3\u01fb\3\u01fb\3\u01fb\3\u01fc\3\u01fc\3\u01fc") - buf.write("\3\u01fc\3\u01fc\3\u01fc\3\u01fc\3\u01fd\3\u01fd\3\u01fd") - buf.write("\3\u01fd\3\u01fd\3\u01fd\3\u01fd\3\u01fd\3\u01fd\3\u01fd") - buf.write("\3\u01fd\3\u01fd\3\u01fd\3\u01fd\3\u01fd\3\u01fd\3\u01fd") - buf.write("\3\u01fd\3\u01fe\3\u01fe\3\u01fe\3\u01fe\3\u01fe\3\u01fe") - buf.write("\3\u01fe\3\u01fe\3\u01fe\3\u01fe\3\u01fe\3\u01fe\3\u01fe") - buf.write("\3\u01fe\3\u01fe\3\u01fe\3\u01fe\3\u01ff\3\u01ff\3\u01ff") - buf.write("\3\u01ff\3\u01ff\3\u01ff\3\u01ff\3\u01ff\3\u01ff\3\u01ff") - buf.write("\3\u01ff\3\u01ff\3\u01ff\3\u01ff\3\u01ff\3\u01ff\3\u01ff") - buf.write("\3\u01ff\3\u01ff\3\u0200\3\u0200\3\u0200\3\u0200\3\u0200") - buf.write("\3\u0200\3\u0200\3\u0201\3\u0201\3\u0201\3\u0201\3\u0201") - buf.write("\3\u0202\3\u0202\3\u0202\3\u0202\3\u0202\3\u0202\3\u0202") - buf.write("\3\u0202\3\u0203\3\u0203\3\u0203\3\u0203\3\u0203\3\u0203") - buf.write("\3\u0203\3\u0204\3\u0204\3\u0204\3\u0204\3\u0204\3\u0204") - buf.write("\3\u0204\3\u0205\3\u0205\3\u0205\3\u0205\3\u0205\3\u0205") - buf.write("\3\u0205\3\u0205\3\u0206\3\u0206\3\u0206\3\u0206\3\u0206") - buf.write("\3\u0206\3\u0206\3\u0206\3\u0206\3\u0206\3\u0206\3\u0206") - buf.write("\3\u0206\3\u0207\3\u0207\3\u0207\3\u0207\3\u0207\3\u0207") - buf.write("\3\u0207\3\u0207\3\u0207\3\u0207\3\u0207\3\u0207\3\u0207") - buf.write("\3\u0207\3\u0208\3\u0208\3\u0208\3\u0208\3\u0208\3\u0208") - buf.write("\3\u0208\3\u0208\3\u0209\3\u0209\3\u0209\3\u0209\3\u0209") - buf.write("\3\u0209\3\u020a\3\u020a\3\u020a\3\u020a\3\u020a\3\u020a") - buf.write("\3\u020a\3\u020a\3\u020a\3\u020b\3\u020b\3\u020b\3\u020b") - buf.write("\3\u020b\3\u020b\3\u020b\3\u020b\3\u020b\3\u020b\3\u020b") - buf.write("\3\u020c\3\u020c\3\u020c\3\u020c\3\u020c\3\u020c\3\u020c") - buf.write("\3\u020c\3\u020c\3\u020c\3\u020d\3\u020d\3\u020d\3\u020d") - buf.write("\3\u020d\3\u020d\3\u020d\3\u020d\3\u020d\3\u020d\3\u020e") - buf.write("\3\u020e\3\u020e\3\u020e\3\u020e\3\u020f\3\u020f\3\u020f") - buf.write("\3\u020f\3\u020f\3\u020f\3\u020f\3\u020f\3\u020f\3\u020f") - buf.write("\3\u020f\3\u020f\3\u0210\3\u0210\3\u0210\3\u0210\3\u0210") - buf.write("\3\u0210\3\u0210\3\u0210\3\u0210\3\u0210\3\u0210\3\u0210") - buf.write("\3\u0211\3\u0211\3\u0211\3\u0211\3\u0211\3\u0211\3\u0211") - buf.write("\3\u0211\3\u0211\3\u0212\3\u0212\3\u0212\3\u0212\3\u0212") - buf.write("\3\u0212\3\u0212\3\u0212\3\u0212\3\u0213\3\u0213\3\u0213") - buf.write("\3\u0213\3\u0213\3\u0213\3\u0213\3\u0213\3\u0213\3\u0213") - buf.write("\3\u0214\3\u0214\3\u0214\3\u0214\3\u0214\3\u0214\3\u0214") - buf.write("\3\u0214\3\u0214\3\u0215\3\u0215\3\u0215\3\u0215\3\u0215") - buf.write("\3\u0215\3\u0215\3\u0215\3\u0215\3\u0215\3\u0215\3\u0215") - buf.write("\3\u0215\3\u0215\3\u0215\3\u0215\3\u0215\3\u0216\3\u0216") - buf.write("\3\u0216\3\u0216\3\u0216\3\u0216\3\u0216\3\u0216\3\u0216") - buf.write("\3\u0216\3\u0217\3\u0217\3\u0217\3\u0217\3\u0217\3\u0217") - buf.write("\3\u0217\3\u0217\3\u0218\3\u0218\3\u0218\3\u0218\3\u0218") - buf.write("\3\u0218\3\u0219\3\u0219\3\u0219\3\u0219\3\u0219\3\u0219") - buf.write("\3\u0219\3\u0219\3\u021a\3\u021a\3\u021a\3\u021a\3\u021a") - buf.write("\3\u021b\3\u021b\3\u021b\3\u021b\3\u021b\3\u021b\3\u021b") - buf.write("\3\u021b\3\u021c\3\u021c\3\u021c\3\u021c\3\u021c\3\u021c") - buf.write("\3\u021c\3\u021c\3\u021c\3\u021c\3\u021c\3\u021c\3\u021c") - buf.write("\3\u021c\3\u021c\3\u021d\3\u021d\3\u021d\3\u021d\3\u021d") - buf.write("\3\u021d\3\u021d\3\u021d\3\u021d\3\u021d\3\u021d\3\u021e") - buf.write("\3\u021e\3\u021e\3\u021e\3\u021e\3\u021e\3\u021f\3\u021f") - buf.write("\3\u021f\3\u021f\3\u021f\3\u021f\3\u021f\3\u021f\3\u021f") - buf.write("\3\u021f\3\u0220\3\u0220\3\u0220\3\u0220\3\u0220\3\u0221") - buf.write("\3\u0221\3\u0221\3\u0221\3\u0221\3\u0221\3\u0221\3\u0221") - buf.write("\3\u0222\3\u0222\3\u0222\3\u0222\3\u0222\3\u0223\3\u0223") - buf.write("\3\u0223\3\u0223\3\u0223\3\u0223\3\u0223\3\u0223\3\u0223") - buf.write("\3\u0224\3\u0224\3\u0224\3\u0224\3\u0224\3\u0224\3\u0224") - buf.write("\3\u0224\3\u0225\3\u0225\3\u0225\3\u0225\3\u0225\3\u0226") - buf.write("\3\u0226\3\u0226\3\u0226\3\u0226\3\u0226\3\u0226\3\u0226") - buf.write("\3\u0227\3\u0227\3\u0227\3\u0227\3\u0227\3\u0228\3\u0228") - buf.write("\3\u0228\3\u0229\3\u0229\3\u0229\3\u0229\3\u022a\3\u022a") - buf.write("\3\u022a\3\u022a\3\u022b\3\u022b\3\u022b\3\u022b\3\u022c") - buf.write("\3\u022c\3\u022c\3\u022c\3\u022d\3\u022d\3\u022d\3\u022d") - buf.write("\3\u022e\3\u022e\3\u022e\3\u022e\3\u022e\3\u022e\3\u022e") - buf.write("\3\u022e\3\u022e\3\u022f\3\u022f\3\u022f\3\u022f\3\u022f") - buf.write("\3\u022f\3\u022f\3\u022f\3\u0230\3\u0230\3\u0230\3\u0230") - buf.write("\3\u0230\3\u0230\3\u0231\3\u0231\3\u0231\3\u0231\3\u0232") - buf.write("\3\u0232\3\u0232\3\u0232\3\u0232\3\u0233\3\u0233\3\u0233") - buf.write("\3\u0233\3\u0233\3\u0233\3\u0233\3\u0234\3\u0234\3\u0234") - buf.write("\3\u0234\3\u0234\3\u0235\3\u0235\3\u0235\3\u0235\3\u0235") - buf.write("\3\u0235\3\u0235\3\u0236\3\u0236\3\u0236\3\u0236\3\u0236") - buf.write("\3\u0236\3\u0236\3\u0236\3\u0236\3\u0236\3\u0236\3\u0236") - buf.write("\3\u0237\3\u0237\3\u0237\3\u0237\3\u0237\3\u0237\3\u0237") - buf.write("\3\u0238\3\u0238\3\u0238\3\u0238\3\u0238\3\u0238\3\u0238") - buf.write("\3\u0238\3\u0239\3\u0239\3\u0239\3\u0239\3\u0239\3\u0239") - buf.write("\3\u0239\3\u0239\3\u023a\3\u023a\3\u023a\3\u023a\3\u023a") - buf.write("\3\u023b\3\u023b\3\u023b\3\u023b\3\u023b\3\u023b\3\u023b") - buf.write("\3\u023b\3\u023c\3\u023c\3\u023c\3\u023c\3\u023c\3\u023c") - buf.write("\3\u023c\3\u023d\3\u023d\3\u023d\3\u023d\3\u023d\3\u023d") - buf.write("\3\u023d\3\u023d\3\u023d\3\u023e\3\u023e\3\u023e\3\u023e") - buf.write("\3\u023e\3\u023e\3\u023f\3\u023f\3\u023f\3\u023f\3\u023f") - buf.write("\3\u023f\3\u023f\3\u023f\3\u023f\3\u023f\3\u023f\3\u0240") - buf.write("\3\u0240\3\u0240\3\u0240\3\u0240\3\u0240\3\u0240\3\u0240") - buf.write("\3\u0240\3\u0241\3\u0241\3\u0241\3\u0241\3\u0241\3\u0241") - buf.write("\3\u0242\3\u0242\3\u0242\3\u0242\3\u0242\3\u0243\3\u0243") - buf.write("\3\u0243\3\u0243\3\u0243\3\u0243\3\u0243\3\u0244\3\u0244") - buf.write("\3\u0244\3\u0244\3\u0244\3\u0244\3\u0244\3\u0245\3\u0245") - buf.write("\3\u0245\3\u0245\3\u0245\3\u0245\3\u0245\3\u0246\3\u0246") - buf.write("\3\u0246\3\u0246\3\u0246\3\u0246\3\u0246\3\u0247\3\u0247") - buf.write("\3\u0247\3\u0247\3\u0247\3\u0247\3\u0248\3\u0248\3\u0248") - buf.write("\3\u0248\3\u0248\3\u0248\3\u0249\3\u0249\3\u0249\3\u0249") - buf.write("\3\u0249\3\u0249\3\u024a\3\u024a\3\u024a\3\u024a\3\u024a") - buf.write("\3\u024a\3\u024b\3\u024b\3\u024b\3\u024b\3\u024b\3\u024c") - buf.write("\3\u024c\3\u024c\3\u024c\3\u024c\3\u024c\3\u024c\3\u024c") - buf.write("\3\u024d\3\u024d\3\u024d\3\u024d\3\u024d\3\u024d\3\u024e") - buf.write("\3\u024e\3\u024e\3\u024e\3\u024e\3\u024e\3\u024e\3\u024f") - buf.write("\3\u024f\3\u024f\3\u024f\3\u0250\3\u0250\3\u0250\3\u0250") - buf.write("\3\u0250\3\u0250\3\u0250\3\u0250\3\u0251\3\u0251\3\u0251") - buf.write("\3\u0251\3\u0251\3\u0251\3\u0252\3\u0252\3\u0252\3\u0252") - buf.write("\3\u0252\3\u0252\3\u0252\3\u0253\3\u0253\3\u0253\3\u0253") - buf.write("\3\u0254\3\u0254\3\u0254\3\u0254\3\u0254\3\u0254\3\u0254") - buf.write("\3\u0254\3\u0255\3\u0255\3\u0255\3\u0255\3\u0255\3\u0255") - buf.write("\3\u0256\3\u0256\3\u0256\3\u0256\3\u0256\3\u0256\3\u0257") - buf.write("\3\u0257\3\u0257\3\u0257\3\u0257\3\u0257\3\u0257\3\u0258") - buf.write("\3\u0258\3\u0258\3\u0258\3\u0258\3\u0258\3\u0258\3\u0259") - buf.write("\3\u0259\3\u0259\3\u0259\3\u0259\3\u0259\3\u0259\3\u025a") - buf.write("\3\u025a\3\u025a\3\u025a\3\u025a\3\u025a\3\u025a\3\u025b") - buf.write("\3\u025b\3\u025b\3\u025b\3\u025b\3\u025b\3\u025c\3\u025c") - buf.write("\3\u025c\3\u025c\3\u025c\3\u025c\3\u025c\3\u025c\3\u025c") - buf.write("\3\u025d\3\u025d\3\u025d\3\u025d\3\u025d\3\u025e\3\u025e") - buf.write("\3\u025e\3\u025e\3\u025e\3\u025f\3\u025f\3\u025f\3\u025f") - buf.write("\3\u025f\3\u025f\3\u025f\3\u0260\3\u0260\3\u0260\3\u0260") - buf.write("\3\u0260\3\u0261\3\u0261\3\u0261\3\u0261\3\u0261\3\u0262") - buf.write("\3\u0262\3\u0262\3\u0262\3\u0262\3\u0262\3\u0263\3\u0263") - buf.write("\3\u0263\3\u0263\3\u0263\3\u0263\3\u0263\3\u0263\3\u0264") - buf.write("\3\u0264\3\u0264\3\u0264\3\u0264\3\u0264\3\u0265\3\u0265") - buf.write("\3\u0265\3\u0265\3\u0265\3\u0266\3\u0266\3\u0266\3\u0266") - buf.write("\3\u0266\3\u0266\3\u0266\3\u0266\3\u0267\3\u0267\3\u0267") - buf.write("\3\u0267\3\u0267\3\u0267\3\u0267\3\u0267\3\u0268\3\u0268") - buf.write("\3\u0268\3\u0268\3\u0268\3\u0268\3\u0268\3\u0268\3\u0269") - buf.write("\3\u0269\3\u0269\3\u0269\3\u0269\3\u0269\3\u0269\3\u0269") - buf.write("\3\u0269\3\u0269\3\u026a\3\u026a\3\u026a\3\u026a\3\u026b") - buf.write("\3\u026b\3\u026b\3\u026b\3\u026b\3\u026b\3\u026b\3\u026b") - buf.write("\3\u026b\3\u026b\3\u026c\3\u026c\3\u026c\3\u026c\3\u026c") - buf.write("\3\u026c\3\u026c\3\u026d\3\u026d\3\u026d\3\u026d\3\u026d") - buf.write("\3\u026d\3\u026d\3\u026e\3\u026e\3\u026e\3\u026e\3\u026e") - buf.write("\3\u026e\3\u026e\3\u026e\3\u026e\3\u026e\3\u026e\3\u026f") - buf.write("\3\u026f\3\u026f\3\u026f\3\u026f\3\u026f\3\u026f\3\u0270") - buf.write("\3\u0270\3\u0270\3\u0270\3\u0271\3\u0271\3\u0271\3\u0271") - buf.write("\3\u0271\3\u0271\3\u0271\3\u0271\3\u0271\3\u0271\3\u0271") - buf.write("\3\u0272\3\u0272\3\u0272\3\u0272\3\u0272\3\u0272\3\u0272") - buf.write("\3\u0272\3\u0272\3\u0272\3\u0272\3\u0272\3\u0272\3\u0272") - buf.write("\3\u0272\3\u0272\3\u0272\3\u0272\3\u0273\3\u0273\3\u0273") - buf.write("\3\u0273\3\u0273\3\u0273\3\u0273\3\u0273\3\u0273\3\u0273") - buf.write("\3\u0273\3\u0274\3\u0274\3\u0274\3\u0274\3\u0274\3\u0274") - buf.write("\3\u0274\3\u0274\3\u0274\3\u0274\3\u0275\3\u0275\3\u0275") - buf.write("\3\u0275\3\u0275\3\u0275\3\u0275\3\u0275\3\u0275\3\u0275") - buf.write("\3\u0275\3\u0275\3\u0276\3\u0276\3\u0276\3\u0276\3\u0276") - buf.write("\3\u0276\3\u0276\3\u0276\3\u0276\3\u0276\3\u0276\3\u0276") - buf.write("\3\u0276\3\u0277\3\u0277\3\u0277\3\u0277\3\u0277\3\u0277") - buf.write("\3\u0277\3\u0277\3\u0277\3\u0277\3\u0277\3\u0277\3\u0277") - buf.write("\3\u0277\3\u0277\3\u0277\3\u0277\3\u0277\3\u0277\3\u0278") - buf.write("\3\u0278\3\u0278\3\u0278\3\u0278\3\u0278\3\u0278\3\u0278") - buf.write("\3\u0278\3\u0278\3\u0278\3\u0279\3\u0279\3\u0279\3\u0279") - buf.write("\3\u0279\3\u0279\3\u0279\3\u0279\3\u0279\3\u0279\3\u0279") - buf.write("\3\u0279\3\u0279\3\u0279\3\u0279\3\u0279\3\u027a\3\u027a") - buf.write("\3\u027a\3\u027a\3\u027a\3\u027a\3\u027a\3\u027a\3\u027a") - buf.write("\3\u027a\3\u027a\3\u027b\3\u027b\3\u027b\3\u027b\3\u027b") - buf.write("\3\u027b\3\u027b\3\u027b\3\u027b\3\u027b\3\u027b\3\u027b") - buf.write("\3\u027b\3\u027c\3\u027c\3\u027c\3\u027c\3\u027c\3\u027c") - buf.write("\3\u027d\3\u027d\3\u027d\3\u027d\3\u027d\3\u027d\3\u027d") - buf.write("\3\u027d\3\u027e\3\u027e\3\u027e\3\u027e\3\u027f\3\u027f") - buf.write("\3\u027f\3\u027f\3\u027f\3\u0280\3\u0280\3\u0280\3\u0280") - buf.write("\3\u0280\3\u0280\3\u0280\3\u0280\3\u0281\3\u0281\3\u0281") - buf.write("\3\u0281\3\u0281\3\u0281\3\u0281\3\u0281\3\u0282\3\u0282") - buf.write("\3\u0282\3\u0282\3\u0282\3\u0282\3\u0282\3\u0282\3\u0282") - buf.write("\3\u0282\3\u0282\3\u0282\3\u0283\3\u0283\3\u0283\3\u0283") - buf.write("\3\u0283\3\u0283\3\u0283\3\u0283\3\u0283\3\u0283\3\u0283") - buf.write("\3\u0283\3\u0284\3\u0284\3\u0284\3\u0284\3\u0284\3\u0285") - buf.write("\3\u0285\3\u0285\3\u0285\3\u0285\3\u0285\3\u0285\3\u0285") - buf.write("\3\u0285\3\u0286\3\u0286\3\u0286\3\u0286\3\u0286\3\u0287") - buf.write("\3\u0287\3\u0287\3\u0287\3\u0287\3\u0287\3\u0287\3\u0288") - buf.write("\3\u0288\3\u0288\3\u0288\3\u0288\3\u0288\3\u0289\3\u0289") - buf.write("\3\u0289\3\u0289\3\u0289\3\u0289\3\u028a\3\u028a\3\u028a") - buf.write("\3\u028a\3\u028a\3\u028a\3\u028a\3\u028a\3\u028a\3\u028a") - buf.write("\3\u028a\3\u028a\3\u028a\3\u028a\3\u028a\3\u028a\3\u028a") - buf.write("\3\u028a\3\u028a\3\u028b\3\u028b\3\u028b\3\u028b\3\u028b") - buf.write("\3\u028b\3\u028b\3\u028b\3\u028b\3\u028b\3\u028b\3\u028b") - buf.write("\3\u028b\3\u028b\3\u028b\3\u028b\3\u028b\3\u028b\3\u028c") - buf.write("\3\u028c\3\u028c\3\u028c\3\u028c\3\u028c\3\u028c\3\u028c") - buf.write("\3\u028c\3\u028c\3\u028c\3\u028c\3\u028c\3\u028c\3\u028c") - buf.write("\3\u028c\3\u028c\3\u028c\3\u028c\3\u028d\3\u028d\3\u028d") - buf.write("\3\u028d\3\u028d\3\u028d\3\u028d\3\u028d\3\u028d\3\u028d") - buf.write("\3\u028d\3\u028d\3\u028d\3\u028d\3\u028d\3\u028d\3\u028e") - buf.write("\3\u028e\3\u028e\3\u028e\3\u028e\3\u028e\3\u028e\3\u028e") - buf.write("\3\u028e\3\u028e\3\u028e\3\u028e\3\u028e\3\u028e\3\u028e") - buf.write("\3\u028e\3\u028e\3\u028e\3\u028f\3\u028f\3\u028f\3\u028f") - buf.write("\3\u028f\3\u0290\3\u0290\3\u0290\3\u0290\3\u0290\3\u0290") - buf.write("\3\u0291\3\u0291\3\u0291\3\u0291\3\u0291\3\u0291\3\u0291") - buf.write("\3\u0291\3\u0291\3\u0291\3\u0292\3\u0292\3\u0292\3\u0292") - buf.write("\3\u0293\3\u0293\3\u0293\3\u0293\3\u0293\3\u0293\3\u0293") - buf.write("\3\u0293\3\u0293\3\u0293\3\u0294\3\u0294\3\u0294\3\u0294") - buf.write("\3\u0294\3\u0294\3\u0294\3\u0294\3\u0294\3\u0294\3\u0294") - buf.write("\3\u0295\3\u0295\3\u0295\3\u0295\3\u0295\3\u0295\3\u0295") - buf.write("\3\u0296\3\u0296\3\u0296\3\u0296\3\u0296\3\u0297\3\u0297") - buf.write("\3\u0297\3\u0297\3\u0297\3\u0297\3\u0297\3\u0297\3\u0298") - buf.write("\3\u0298\3\u0298\3\u0298\3\u0298\3\u0298\3\u0298\3\u0298") - buf.write("\3\u0298\3\u0299\3\u0299\3\u0299\3\u0299\3\u0299\3\u0299") - buf.write("\3\u0299\3\u0299\3\u0299\3\u0299\3\u0299\3\u0299\3\u0299") - buf.write("\3\u0299\3\u0299\3\u0299\3\u0299\3\u029a\3\u029a\3\u029a") - buf.write("\3\u029a\3\u029a\3\u029a\3\u029a\3\u029a\3\u029b\3\u029b") - buf.write("\3\u029b\3\u029b\3\u029b\3\u029b\3\u029b\3\u029b\3\u029b") - buf.write("\3\u029b\3\u029b\3\u029b\3\u029c\3\u029c\3\u029c\3\u029c") - buf.write("\3\u029c\3\u029c\3\u029c\3\u029c\3\u029c\3\u029c\3\u029c") - buf.write("\3\u029c\3\u029c\3\u029d\3\u029d\3\u029d\3\u029d\3\u029d") - buf.write("\3\u029d\3\u029d\3\u029d\3\u029d\3\u029d\3\u029e\3\u029e") - buf.write("\3\u029e\3\u029e\3\u029e\3\u029e\3\u029e\3\u029e\3\u029e") - buf.write("\3\u029f\3\u029f\3\u029f\3\u029f\3\u029f\3\u029f\3\u029f") - buf.write("\3\u02a0\3\u02a0\3\u02a0\3\u02a0\3\u02a0\3\u02a0\3\u02a0") - buf.write("\3\u02a0\3\u02a0\3\u02a0\3\u02a1\3\u02a1\3\u02a1\3\u02a1") - buf.write("\3\u02a1\3\u02a1\3\u02a1\3\u02a1\3\u02a1\3\u02a1\3\u02a1") - buf.write("\3\u02a1\3\u02a1\3\u02a1\3\u02a2\3\u02a2\3\u02a2\3\u02a2") - buf.write("\3\u02a2\3\u02a3\3\u02a3\3\u02a3\3\u02a3\3\u02a3\3\u02a3") - buf.write("\3\u02a3\3\u02a3\3\u02a3\3\u02a3\3\u02a3\3\u02a4\3\u02a4") - buf.write("\3\u02a4\3\u02a4\3\u02a5\3\u02a5\3\u02a5\3\u02a5\3\u02a6") - buf.write("\3\u02a6\3\u02a6\3\u02a6\3\u02a6\3\u02a6\3\u02a7\3\u02a7") - buf.write("\3\u02a7\3\u02a7\3\u02a7\3\u02a7\3\u02a7\3\u02a7\3\u02a7") - buf.write("\3\u02a7\3\u02a7\3\u02a7\3\u02a7\3\u02a7\3\u02a7\3\u02a7") - buf.write("\3\u02a7\3\u02a7\3\u02a7\3\u02a7\3\u02a7\3\u02a7\3\u02a7") - buf.write("\3\u02a7\3\u02a7\3\u02a7\3\u02a7\3\u02a8\3\u02a8\3\u02a8") - buf.write("\3\u02a8\3\u02a8\3\u02a8\3\u02a8\3\u02a8\3\u02a8\3\u02a8") - buf.write("\3\u02a8\3\u02a8\3\u02a8\3\u02a8\3\u02a8\3\u02a8\3\u02a8") - buf.write("\3\u02a8\3\u02a8\3\u02a8\3\u02a8\3\u02a8\3\u02a8\3\u02a8") - buf.write("\3\u02a8\3\u02a8\3\u02a9\3\u02a9\3\u02a9\3\u02a9\3\u02a9") - buf.write("\3\u02a9\3\u02a9\3\u02a9\3\u02a9\3\u02a9\3\u02a9\3\u02a9") - buf.write("\3\u02a9\3\u02a9\3\u02a9\3\u02a9\3\u02a9\3\u02a9\3\u02a9") - buf.write("\3\u02a9\3\u02a9\3\u02aa\3\u02aa\3\u02aa\3\u02aa\3\u02aa") - buf.write("\3\u02aa\3\u02aa\3\u02aa\3\u02aa\3\u02aa\3\u02aa\3\u02aa") - buf.write("\3\u02aa\3\u02aa\3\u02ab\3\u02ab\3\u02ab\3\u02ab\3\u02ab") - buf.write("\3\u02ab\3\u02ab\3\u02ab\3\u02ac\3\u02ac\3\u02ac\3\u02ac") - buf.write("\3\u02ac\3\u02ac\3\u02ac\3\u02ac\3\u02ac\3\u02ad\3\u02ad") - buf.write("\3\u02ad\3\u02ad\3\u02ad\3\u02ad\3\u02ad\3\u02ad\3\u02ad") - buf.write("\3\u02ad\3\u02ad\3\u02ad\3\u02ae\3\u02ae\3\u02ae\3\u02ae") - buf.write("\3\u02ae\3\u02ae\3\u02ae\3\u02ae\3\u02af\3\u02af\3\u02af") - buf.write("\3\u02af\3\u02af\3\u02af\3\u02af\3\u02af\3\u02af\3\u02af") - buf.write("\3\u02af\3\u02b0\3\u02b0\3\u02b0\3\u02b0\3\u02b0\3\u02b0") - buf.write("\3\u02b0\3\u02b0\3\u02b0\3\u02b0\3\u02b1\3\u02b1\3\u02b1") - buf.write("\3\u02b1\3\u02b1\3\u02b1\3\u02b1\3\u02b1\3\u02b1\3\u02b1") - buf.write("\3\u02b2\3\u02b2\3\u02b2\3\u02b2\3\u02b2\3\u02b2\3\u02b2") - buf.write("\3\u02b3\3\u02b3\3\u02b3\3\u02b3\3\u02b3\3\u02b3\3\u02b3") - buf.write("\3\u02b3\3\u02b4\3\u02b4\3\u02b4\3\u02b4\3\u02b4\3\u02b4") - buf.write("\3\u02b4\3\u02b4\3\u02b4\3\u02b4\3\u02b4\3\u02b4\3\u02b5") - buf.write("\3\u02b5\3\u02b5\3\u02b5\3\u02b5\3\u02b5\3\u02b5\3\u02b5") - buf.write("\3\u02b5\3\u02b5\3\u02b5\3\u02b5\3\u02b6\3\u02b6\3\u02b6") - buf.write("\3\u02b6\3\u02b6\3\u02b6\3\u02b6\3\u02b6\3\u02b6\3\u02b6") - buf.write("\3\u02b7\3\u02b7\3\u02b7\3\u02b7\3\u02b7\3\u02b7\3\u02b7") - buf.write("\3\u02b7\3\u02b7\3\u02b8\3\u02b8\3\u02b8\3\u02b8\3\u02b9") - buf.write("\3\u02b9\3\u02b9\3\u02b9\3\u02b9\3\u02b9\3\u02b9\3\u02ba") - buf.write("\3\u02ba\3\u02ba\3\u02ba\3\u02ba\3\u02ba\3\u02ba\3\u02ba") - buf.write("\3\u02bb\3\u02bb\3\u02bb\3\u02bb\3\u02bb\3\u02bb\3\u02bb") - buf.write("\3\u02bb\3\u02bb\3\u02bc\3\u02bc\3\u02bc\3\u02bc\3\u02bc") - buf.write("\3\u02bc\3\u02bc\3\u02bc\3\u02bc\3\u02bd\3\u02bd\3\u02bd") - buf.write("\3\u02bd\3\u02bd\3\u02bd\3\u02bd\3\u02be\3\u02be\3\u02be") - buf.write("\3\u02be\3\u02bf\3\u02bf\3\u02bf\3\u02bf\3\u02bf\3\u02bf") - buf.write("\3\u02bf\3\u02bf\3\u02bf\3\u02bf\3\u02bf\3\u02c0\3\u02c0") - buf.write("\3\u02c0\3\u02c0\3\u02c0\3\u02c0\3\u02c0\3\u02c0\3\u02c0") - buf.write("\3\u02c0\3\u02c0\3\u02c0\3\u02c0\3\u02c1\3\u02c1\3\u02c1") - buf.write("\3\u02c1\3\u02c1\3\u02c1\3\u02c1\3\u02c1\3\u02c1\3\u02c1") - buf.write("\3\u02c1\3\u02c1\3\u02c1\3\u02c2\3\u02c2\3\u02c2\3\u02c2") - buf.write("\3\u02c2\3\u02c2\3\u02c3\3\u02c3\3\u02c3\3\u02c3\3\u02c3") - buf.write("\3\u02c3\3\u02c3\3\u02c3\3\u02c3\3\u02c3\3\u02c3\3\u02c3") - buf.write("\3\u02c4\3\u02c4\3\u02c4\3\u02c4\3\u02c4\3\u02c4\3\u02c5") - buf.write("\3\u02c5\3\u02c5\3\u02c5\3\u02c5\3\u02c5\3\u02c5\3\u02c6") - buf.write("\3\u02c6\3\u02c6\3\u02c6\3\u02c6\3\u02c6\3\u02c6\3\u02c6") - buf.write("\3\u02c6\3\u02c6\3\u02c6\3\u02c7\3\u02c7\3\u02c7\3\u02c7") - buf.write("\3\u02c7\3\u02c7\3\u02c7\3\u02c7\3\u02c7\3\u02c7\3\u02c7") - buf.write("\3\u02c7\3\u02c8\3\u02c8\3\u02c8\3\u02c8\3\u02c8\3\u02c8") - buf.write("\3\u02c8\3\u02c8\3\u02c8\3\u02c8\3\u02c9\3\u02c9\3\u02c9") - buf.write("\3\u02c9\3\u02c9\3\u02c9\3\u02c9\3\u02c9\3\u02c9\3\u02c9") - buf.write("\3\u02c9\3\u02c9\3\u02c9\3\u02c9\3\u02ca\3\u02ca\3\u02ca") - buf.write("\3\u02ca\3\u02ca\3\u02ca\3\u02ca\3\u02ca\3\u02ca\3\u02ca") - buf.write("\3\u02ca\3\u02ca\3\u02ca\3\u02ca\3\u02ca\3\u02ca\3\u02ca") - buf.write("\3\u02cb\3\u02cb\3\u02cb\3\u02cb\3\u02cb\3\u02cb\3\u02cb") - buf.write("\3\u02cb\3\u02cb\3\u02cb\3\u02cb\3\u02cb\3\u02cb\3\u02cb") - buf.write("\3\u02cb\3\u02cb\3\u02cc\3\u02cc\3\u02cc\3\u02cc\3\u02cc") - buf.write("\3\u02cc\3\u02cc\3\u02cc\3\u02cc\3\u02cc\3\u02cc\3\u02cc") - buf.write("\3\u02cc\3\u02cc\3\u02cc\3\u02cc\3\u02cc\3\u02cc\3\u02cc") - buf.write("\3\u02cc\3\u02cc\3\u02cc\3\u02cc\3\u02cc\3\u02cc\3\u02cc") - buf.write("\3\u02cc\3\u02cd\3\u02cd\3\u02cd\3\u02cd\3\u02cd\3\u02cd") - buf.write("\3\u02cd\3\u02cd\3\u02cd\3\u02cd\3\u02cd\3\u02cd\3\u02cd") - buf.write("\3\u02cd\3\u02cd\3\u02cd\3\u02cd\3\u02cd\3\u02cd\3\u02cd") - buf.write("\3\u02cd\3\u02cd\3\u02cd\3\u02cd\3\u02cd\3\u02cd\3\u02ce") - buf.write("\3\u02ce\3\u02ce\3\u02ce\3\u02ce\3\u02ce\3\u02ce\3\u02ce") - buf.write("\3\u02ce\3\u02ce\3\u02ce\3\u02ce\3\u02ce\3\u02ce\3\u02ce") - buf.write("\3\u02ce\3\u02ce\3\u02cf\3\u02cf\3\u02cf\3\u02cf\3\u02cf") - buf.write("\3\u02cf\3\u02cf\3\u02cf\3\u02cf\3\u02cf\3\u02cf\3\u02cf") - buf.write("\3\u02cf\3\u02cf\3\u02cf\3\u02cf\3\u02d0\3\u02d0\3\u02d0") - buf.write("\3\u02d0\3\u02d0\3\u02d0\3\u02d0\3\u02d0\3\u02d0\3\u02d0") - buf.write("\3\u02d1\3\u02d1\3\u02d1\3\u02d1\3\u02d1\3\u02d1\3\u02d1") - buf.write("\3\u02d1\3\u02d1\3\u02d1\3\u02d1\3\u02d1\3\u02d1\3\u02d2") - buf.write("\3\u02d2\3\u02d2\3\u02d2\3\u02d2\3\u02d2\3\u02d2\3\u02d2") - buf.write("\3\u02d2\3\u02d2\3\u02d2\3\u02d2\3\u02d2\3\u02d3\3\u02d3") - buf.write("\3\u02d3\3\u02d3\3\u02d3\3\u02d3\3\u02d3\3\u02d3\3\u02d3") - buf.write("\3\u02d3\3\u02d3\3\u02d3\3\u02d4\3\u02d4\3\u02d4\3\u02d4") - buf.write("\3\u02d4\3\u02d4\3\u02d4\3\u02d4\3\u02d4\3\u02d4\3\u02d4") - buf.write("\3\u02d5\3\u02d5\3\u02d5\3\u02d5\3\u02d5\3\u02d5\3\u02d5") - buf.write("\3\u02d5\3\u02d5\3\u02d6\3\u02d6\3\u02d6\3\u02d6\3\u02d6") - buf.write("\3\u02d6\3\u02d6\3\u02d6\3\u02d7\3\u02d7\3\u02d7\3\u02d7") - buf.write("\3\u02d7\3\u02d7\3\u02d7\3\u02d7\3\u02d7\3\u02d8\3\u02d8") - buf.write("\3\u02d8\3\u02d8\3\u02d8\3\u02d8\3\u02d8\3\u02d8\3\u02d8") - buf.write("\3\u02d8\3\u02d8\3\u02d8\3\u02d9\3\u02d9\3\u02d9\3\u02d9") - buf.write("\3\u02d9\3\u02d9\3\u02d9\3\u02d9\3\u02d9\3\u02d9\3\u02d9") - buf.write("\3\u02d9\3\u02d9\3\u02d9\3\u02da\3\u02da\3\u02da\3\u02da") - buf.write("\3\u02db\3\u02db\3\u02db\3\u02db\3\u02db\3\u02db\3\u02db") - buf.write("\3\u02dc\3\u02dc\3\u02dc\3\u02dc\3\u02dc\3\u02dc\3\u02dc") - buf.write("\3\u02dc\3\u02dc\3\u02dc\3\u02dc\3\u02dd\3\u02dd\3\u02dd") - buf.write("\3\u02dd\3\u02dd\3\u02dd\3\u02dd\3\u02dd\3\u02dd\3\u02dd") - buf.write("\3\u02dd\3\u02de\3\u02de\3\u02de\3\u02de\3\u02de\3\u02de") - buf.write("\3\u02de\3\u02de\3\u02de\3\u02de\3\u02df\3\u02df\3\u02df") - buf.write("\3\u02df\3\u02df\3\u02df\3\u02df\3\u02df\3\u02df\3\u02df") - buf.write("\3\u02e0\3\u02e0\3\u02e0\3\u02e0\3\u02e0\3\u02e0\3\u02e1") - buf.write("\3\u02e1\3\u02e1\3\u02e1\3\u02e1\3\u02e1\3\u02e1\3\u02e1") - buf.write("\3\u02e1\3\u02e1\3\u02e1\3\u02e1\3\u02e1\3\u02e1\3\u02e2") - buf.write("\3\u02e2\3\u02e2\3\u02e2\3\u02e2\3\u02e2\3\u02e2\3\u02e2") - buf.write("\3\u02e2\3\u02e2\3\u02e2\3\u02e3\3\u02e3\3\u02e3\3\u02e3") - buf.write("\3\u02e3\3\u02e3\3\u02e3\3\u02e3\3\u02e3\3\u02e4\3\u02e4") - buf.write("\3\u02e4\3\u02e4\3\u02e4\3\u02e4\3\u02e4\3\u02e4\3\u02e5") - buf.write("\3\u02e5\3\u02e5\3\u02e5\3\u02e5\3\u02e5\3\u02e5\3\u02e6") - buf.write("\3\u02e6\3\u02e6\3\u02e6\3\u02e6\3\u02e6\3\u02e6\3\u02e6") - buf.write("\3\u02e6\3\u02e7\3\u02e7\3\u02e7\3\u02e7\3\u02e7\3\u02e7") - buf.write("\3\u02e7\3\u02e7\3\u02e7\3\u02e7\3\u02e7\3\u02e7\3\u02e7") - buf.write("\3\u02e8\3\u02e8\3\u02e8\3\u02e8\3\u02e8\3\u02e8\3\u02e8") - buf.write("\3\u02e8\3\u02e9\3\u02e9\3\u02e9\3\u02e9\3\u02e9\3\u02e9") - buf.write("\3\u02e9\3\u02e9\3\u02e9\3\u02e9\3\u02e9\3\u02e9\3\u02e9") - buf.write("\3\u02e9\3\u02e9\3\u02ea\3\u02ea\3\u02ea\3\u02ea\3\u02ea") - buf.write("\3\u02ea\3\u02ea\3\u02ea\3\u02ea\3\u02ea\3\u02ea\3\u02ea") - buf.write("\3\u02ea\3\u02ea\3\u02ea\3\u02eb\3\u02eb\3\u02eb\3\u02eb") - buf.write("\3\u02eb\3\u02eb\3\u02eb\3\u02eb\3\u02ec\3\u02ec\3\u02ec") - buf.write("\3\u02ec\3\u02ec\3\u02ec\3\u02ec\3\u02ec\3\u02ec\3\u02ec") - buf.write("\3\u02ec\3\u02ec\3\u02ec\3\u02ed\3\u02ed\3\u02ed\3\u02ed") - buf.write("\3\u02ed\3\u02ed\3\u02ed\3\u02ed\3\u02ed\3\u02ed\3\u02ed") - buf.write("\3\u02ed\3\u02ed\3\u02ed\3\u02ed\3\u02ee\3\u02ee\3\u02ee") - buf.write("\3\u02ee\3\u02ee\3\u02ee\3\u02ef\3\u02ef\3\u02ef\3\u02ef") - buf.write("\3\u02ef\3\u02ef\3\u02f0\3\u02f0\3\u02f0\3\u02f0\3\u02f0") - buf.write("\3\u02f0\3\u02f0\3\u02f1\3\u02f1\3\u02f1\3\u02f1\3\u02f1") - buf.write("\3\u02f1\3\u02f1\3\u02f1\3\u02f1\3\u02f1\3\u02f1\3\u02f1") - buf.write("\3\u02f1\3\u02f2\3\u02f2\3\u02f2\3\u02f2\3\u02f2\3\u02f2") - buf.write("\3\u02f2\3\u02f2\3\u02f2\3\u02f2\3\u02f2\3\u02f2\3\u02f3") - buf.write("\3\u02f3\3\u02f3\3\u02f3\3\u02f3\3\u02f3\3\u02f3\3\u02f3") - buf.write("\3\u02f3\3\u02f3\3\u02f3\3\u02f3\3\u02f3\3\u02f3\3\u02f3") - buf.write("\3\u02f3\3\u02f3\3\u02f3\3\u02f3\3\u02f4\3\u02f4\3\u02f4") - buf.write("\3\u02f4\3\u02f4\3\u02f4\3\u02f4\3\u02f4\3\u02f4\3\u02f4") - buf.write("\3\u02f4\3\u02f4\3\u02f4\3\u02f4\3\u02f4\3\u02f4\3\u02f4") - buf.write("\3\u02f4\3\u02f5\3\u02f5\3\u02f5\3\u02f6\3\u02f6\3\u02f6") - buf.write("\3\u02f6\3\u02f6\3\u02f6\3\u02f6\3\u02f6\3\u02f6\3\u02f6") - buf.write("\3\u02f7\3\u02f7\3\u02f7\3\u02f7\3\u02f7\3\u02f7\3\u02f7") - buf.write("\3\u02f8\3\u02f8\3\u02f8\3\u02f8\3\u02f9\3\u02f9\3\u02f9") - buf.write("\3\u02f9\3\u02f9\3\u02f9\3\u02fa\3\u02fa\3\u02fa\3\u02fa") - buf.write("\3\u02fa\3\u02fb\3\u02fb\3\u02fb\3\u02fb\3\u02fb\3\u02fb") - buf.write("\3\u02fc\3\u02fc\3\u02fc\3\u02fc\3\u02fc\3\u02fd\3\u02fd") - buf.write("\3\u02fd\3\u02fd\3\u02fd\3\u02fd\3\u02fe\3\u02fe\3\u02fe") - buf.write("\3\u02fe\3\u02fe\3\u02fe\3\u02fe\3\u02fe\3\u02fe\3\u02ff") - buf.write("\3\u02ff\3\u02ff\3\u02ff\3\u02ff\3\u02ff\3\u02ff\3\u02ff") - buf.write("\3\u02ff\3\u0300\3\u0300\3\u0300\3\u0300\3\u0300\3\u0300") - buf.write("\3\u0300\3\u0300\3\u0300\3\u0301\3\u0301\3\u0301\3\u0301") - buf.write("\3\u0301\3\u0301\3\u0301\3\u0301\3\u0301\3\u0301\3\u0301") - buf.write("\3\u0301\3\u0301\3\u0301\3\u0301\3\u0301\3\u0302\3\u0302") - buf.write("\3\u0302\3\u0302\3\u0302\3\u0302\3\u0302\3\u0302\3\u0302") - buf.write("\3\u0302\3\u0302\3\u0302\3\u0303\3\u0303\3\u0303\3\u0303") - buf.write("\3\u0303\3\u0303\3\u0303\3\u0303\3\u0303\3\u0303\3\u0303") - buf.write("\3\u0303\3\u0304\3\u0304\3\u0304\3\u0304\3\u0304\3\u0304") - buf.write("\3\u0304\3\u0304\3\u0304\3\u0305\3\u0305\3\u0305\3\u0305") - buf.write("\3\u0305\3\u0305\3\u0305\3\u0305\3\u0305\3\u0305\3\u0305") - buf.write("\3\u0305\3\u0305\3\u0305\3\u0306\3\u0306\3\u0306\3\u0306") - buf.write("\3\u0306\3\u0306\3\u0306\3\u0306\3\u0306\3\u0306\3\u0306") - buf.write("\3\u0306\3\u0307\3\u0307\3\u0307\3\u0307\3\u0307\3\u0307") - buf.write("\3\u0307\3\u0307\3\u0307\3\u0307\3\u0307\3\u0308\3\u0308") - buf.write("\3\u0308\3\u0308\3\u0308\3\u0308\3\u0308\3\u0308\3\u0308") - buf.write("\3\u0308\3\u0309\3\u0309\3\u0309\3\u0309\3\u030a\3\u030a") - buf.write("\3\u030a\3\u030a\3\u030a\3\u030a\3\u030a\3\u030a\3\u030a") - buf.write("\3\u030a\3\u030a\3\u030a\3\u030a\3\u030a\3\u030b\3\u030b") - buf.write("\3\u030b\3\u030b\3\u030b\3\u030b\3\u030b\3\u030b\3\u030b") - buf.write("\3\u030b\3\u030b\3\u030b\3\u030b\3\u030c\3\u030c\3\u030c") - buf.write("\3\u030c\3\u030c\3\u030c\3\u030c\3\u030c\3\u030c\3\u030c") - buf.write("\3\u030d\3\u030d\3\u030d\3\u030d\3\u030d\3\u030d\3\u030d") - buf.write("\3\u030d\3\u030d\3\u030d\3\u030d\3\u030d\3\u030d\3\u030d") - buf.write("\3\u030d\3\u030e\3\u030e\3\u030e\3\u030e\3\u030e\3\u030e") - buf.write("\3\u030e\3\u030e\3\u030e\3\u030e\3\u030e\3\u030e\3\u030e") - buf.write("\3\u030e\3\u030f\3\u030f\3\u030f\3\u030f\3\u030f\3\u030f") - buf.write("\3\u030f\3\u030f\3\u030f\3\u030f\3\u030f\3\u030f\3\u030f") - buf.write("\3\u030f\3\u0310\3\u0310\3\u0310\3\u0310\3\u0310\3\u0310") - buf.write("\3\u0310\3\u0310\3\u0310\3\u0310\3\u0310\3\u0310\3\u0310") - buf.write("\3\u0311\3\u0311\3\u0311\3\u0311\3\u0311\3\u0311\3\u0311") - buf.write("\3\u0311\3\u0311\3\u0311\3\u0311\3\u0311\3\u0311\3\u0311") - buf.write("\3\u0311\3\u0311\3\u0311\3\u0311\3\u0311\3\u0311\3\u0311") - buf.write("\3\u0311\3\u0311\3\u0311\3\u0312\3\u0312\3\u0312\3\u0312") - buf.write("\3\u0312\3\u0312\3\u0312\3\u0312\3\u0312\3\u0312\3\u0312") - buf.write("\3\u0312\3\u0312\3\u0312\3\u0312\3\u0312\3\u0312\3\u0312") - buf.write("\3\u0312\3\u0312\3\u0312\3\u0312\3\u0312\3\u0313\3\u0313") - buf.write("\3\u0313\3\u0313\3\u0313\3\u0313\3\u0313\3\u0313\3\u0313") - buf.write("\3\u0313\3\u0313\3\u0313\3\u0313\3\u0313\3\u0313\3\u0313") - buf.write("\3\u0313\3\u0313\3\u0313\3\u0314\3\u0314\3\u0314\3\u0314") - buf.write("\3\u0314\3\u0314\3\u0314\3\u0314\3\u0314\3\u0314\3\u0314") - buf.write("\3\u0314\3\u0314\3\u0314\3\u0314\3\u0314\3\u0314\3\u0314") - buf.write("\3\u0315\3\u0315\3\u0315\3\u0315\3\u0315\3\u0315\3\u0315") - buf.write("\3\u0315\3\u0315\3\u0315\3\u0315\3\u0315\3\u0315\3\u0315") - buf.write("\3\u0315\3\u0315\3\u0315\3\u0315\3\u0315\3\u0315\3\u0315") - buf.write("\3\u0316\3\u0316\3\u0316\3\u0316\3\u0316\3\u0316\3\u0316") - buf.write("\3\u0316\3\u0316\3\u0316\3\u0316\3\u0316\3\u0316\3\u0316") - buf.write("\3\u0316\3\u0316\3\u0316\3\u0316\3\u0316\3\u0316\3\u0317") - buf.write("\3\u0317\3\u0317\3\u0317\3\u0317\3\u0317\3\u0317\3\u0317") - buf.write("\3\u0317\3\u0317\3\u0317\3\u0318\3\u0318\3\u0318\3\u0318") - buf.write("\3\u0318\3\u0318\3\u0318\3\u0319\3\u0319\3\u0319\3\u0319") - buf.write("\3\u0319\3\u0319\3\u0319\3\u0319\3\u0319\3\u0319\3\u0319") - buf.write("\3\u0319\3\u0319\3\u0319\3\u031a\3\u031a\3\u031a\3\u031a") - buf.write("\3\u031a\3\u031a\3\u031a\3\u031a\3\u031a\3\u031a\3\u031a") - buf.write("\3\u031a\3\u031a\3\u031a\3\u031a\3\u031a\3\u031a\3\u031b") - buf.write("\3\u031b\3\u031b\3\u031b\3\u031b\3\u031b\3\u031b\3\u031b") - buf.write("\3\u031b\3\u031b\3\u031c\3\u031c\3\u031c\3\u031c\3\u031d") - buf.write("\3\u031d\3\u031d\3\u031d\3\u031d\3\u031d\3\u031d\3\u031d") - buf.write("\3\u031d\3\u031d\3\u031d\3\u031d\3\u031d\3\u031e\3\u031e") - buf.write("\3\u031e\3\u031e\3\u031f\3\u031f\3\u031f\3\u031f\3\u031f") - buf.write("\3\u031f\3\u031f\3\u031f\3\u031f\3\u0320\3\u0320\3\u0320") - buf.write("\3\u0320\3\u0320\3\u0320\3\u0320\3\u0320\3\u0320\3\u0320") - buf.write("\3\u0320\3\u0321\3\u0321\3\u0321\3\u0321\3\u0321\3\u0321") - buf.write("\3\u0321\3\u0321\3\u0321\3\u0321\3\u0321\3\u0321\3\u0322") - buf.write("\3\u0322\3\u0322\3\u0323\3\u0323\3\u0323\3\u0323\3\u0323") - buf.write("\3\u0323\3\u0323\3\u0323\3\u0323\3\u0323\3\u0323\3\u0323") - buf.write("\3\u0323\3\u0323\3\u0324\3\u0324\3\u0324\3\u0324\3\u0324") - buf.write("\3\u0324\3\u0324\3\u0324\3\u0324\3\u0324\3\u0324\3\u0324") - buf.write("\3\u0324\3\u0325\3\u0325\3\u0325\3\u0325\3\u0325\3\u0325") - buf.write("\3\u0325\3\u0326\3\u0326\3\u0326\3\u0326\3\u0326\3\u0326") - buf.write("\3\u0326\3\u0326\3\u0326\3\u0326\3\u0326\3\u0326\3\u0326") - buf.write("\3\u0327\3\u0327\3\u0327\3\u0327\3\u0327\3\u0327\3\u0327") - buf.write("\3\u0327\3\u0327\3\u0327\3\u0327\3\u0327\3\u0328\3\u0328") - buf.write("\3\u0328\3\u0328\3\u0328\3\u0328\3\u0328\3\u0328\3\u0328") - buf.write("\3\u0328\3\u0328\3\u0328\3\u0328\3\u0328\3\u0328\3\u0328") - buf.write("\3\u0329\3\u0329\3\u0329\3\u0329\3\u0329\3\u0329\3\u0329") - buf.write("\3\u0329\3\u0329\3\u0329\3\u0329\3\u0329\3\u0329\3\u0329") - buf.write("\3\u0329\3\u032a\3\u032a\3\u032a\3\u032a\3\u032b\3\u032b") - buf.write("\3\u032b\3\u032b\3\u032b\3\u032b\3\u032c\3\u032c\3\u032c") - buf.write("\3\u032c\3\u032c\3\u032c\3\u032d\3\u032d\3\u032d\3\u032d") - buf.write("\3\u032d\3\u032d\3\u032d\3\u032d\3\u032e\3\u032e\3\u032e") - buf.write("\3\u032e\3\u032e\3\u032f\3\u032f\3\u032f\3\u032f\3\u032f") - buf.write("\3\u032f\3\u032f\3\u032f\3\u032f\3\u032f\3\u032f\3\u032f") - buf.write("\3\u032f\3\u0330\3\u0330\3\u0330\3\u0330\3\u0330\3\u0330") - buf.write("\3\u0330\3\u0330\3\u0330\3\u0330\3\u0330\3\u0330\3\u0330") - buf.write("\3\u0331\3\u0331\3\u0331\3\u0331\3\u0331\3\u0331\3\u0331") - buf.write("\3\u0331\3\u0332\3\u0332\3\u0332\3\u0332\3\u0332\3\u0332") - buf.write("\3\u0333\3\u0333\3\u0333\3\u0333\3\u0333\3\u0333\3\u0333") - buf.write("\3\u0333\3\u0333\3\u0333\3\u0334\3\u0334\3\u0334\3\u0334") - buf.write("\3\u0334\3\u0335\3\u0335\3\u0335\3\u0335\3\u0335\3\u0335") - buf.write("\3\u0336\3\u0336\3\u0336\3\u0336\3\u0336\3\u0336\3\u0336") - buf.write("\3\u0336\3\u0336\3\u0336\3\u0336\3\u0336\3\u0337\3\u0337") - buf.write("\3\u0337\3\u0337\3\u0337\3\u0337\3\u0337\3\u0337\3\u0337") - buf.write("\3\u0337\3\u0337\3\u0337\3\u0337\3\u0338\3\u0338\3\u0338") - buf.write("\3\u0338\3\u0339\3\u0339\3\u0339\3\u0339\3\u0339\3\u033a") - buf.write("\3\u033a\3\u033a\3\u033a\3\u033a\3\u033b\3\u033b\3\u033b") - buf.write("\3\u033b\3\u033b\3\u033c\3\u033c\3\u033c\3\u033c\3\u033d") - buf.write("\3\u033d\3\u033d\3\u033d\3\u033d\3\u033d\3\u033e\3\u033e") - buf.write("\3\u033e\3\u033e\3\u033e\3\u033e\3\u033e\3\u033e\3\u033f") - buf.write("\3\u033f\3\u033f\3\u033f\3\u033f\3\u033f\3\u033f\3\u033f") - buf.write("\3\u033f\3\u033f\3\u033f\3\u033f\3\u033f\3\u033f\3\u033f") - buf.write("\3\u033f\3\u033f\3\u033f\3\u033f\3\u033f\3\u033f\3\u033f") - buf.write("\3\u033f\3\u033f\3\u033f\3\u033f\3\u033f\3\u033f\3\u0340") - buf.write("\3\u0340\3\u0340\3\u0340\3\u0340\3\u0341\3\u0341\3\u0341") - buf.write("\3\u0341\3\u0341\3\u0342\3\u0342\3\u0342\3\u0342\3\u0342") - buf.write("\3\u0342\3\u0342\3\u0342\3\u0342\3\u0342\3\u0342\3\u0343") - buf.write("\3\u0343\3\u0343\3\u0343\3\u0343\3\u0343\3\u0343\3\u0344") - buf.write("\3\u0344\3\u0344\3\u0344\3\u0344\3\u0344\3\u0344\3\u0344") - buf.write("\3\u0344\3\u0344\3\u0344\3\u0344\3\u0345\3\u0345\3\u0345") - buf.write("\3\u0345\3\u0345\3\u0345\3\u0345\3\u0345\3\u0346\3\u0346") - buf.write("\3\u0346\3\u0346\3\u0346\3\u0346\3\u0346\3\u0346\3\u0346") - buf.write("\3\u0346\3\u0346\3\u0346\3\u0347\3\u0347\3\u0347\3\u0347") - buf.write("\3\u0347\3\u0347\3\u0347\3\u0347\3\u0347\3\u0347\3\u0348") - buf.write("\3\u0348\3\u0348\3\u0348\3\u0348\3\u0348\3\u0348\3\u0348") - buf.write("\3\u0348\3\u0349\3\u0349\3\u0349\3\u0349\3\u0349\3\u0349") - buf.write("\3\u0349\3\u0349\3\u0349\3\u034a\3\u034a\3\u034a\3\u034a") - buf.write("\3\u034a\3\u034a\3\u034a\3\u034a\3\u034a\3\u034a\3\u034b") - buf.write("\3\u034b\3\u034b\3\u034b\3\u034b\3\u034b\3\u034b\3\u034b") - buf.write("\3\u034b\3\u034b\3\u034b\3\u034b\3\u034c\3\u034c\3\u034c") - buf.write("\3\u034c\3\u034c\3\u034c\3\u034c\3\u034c\3\u034c\3\u034c") - buf.write("\3\u034c\3\u034c\3\u034d\3\u034d\3\u034d\3\u034d\3\u034d") - buf.write("\3\u034d\3\u034d\3\u034d\3\u034d\3\u034d\3\u034d\3\u034e") - buf.write("\3\u034e\3\u034e\3\u034e\3\u034e\3\u034e\3\u034e\3\u034e") - buf.write("\3\u034e\3\u034e\3\u034e\3\u034e\3\u034e\3\u034e\3\u034f") - buf.write("\3\u034f\3\u034f\3\u034f\3\u034f\3\u034f\3\u034f\3\u034f") - buf.write("\3\u034f\3\u034f\3\u034f\3\u034f\3\u034f\3\u0350\3\u0350") - buf.write("\3\u0350\3\u0350\3\u0350\3\u0350\3\u0350\3\u0350\3\u0350") - buf.write("\3\u0350\3\u0350\3\u0350\3\u0351\3\u0351\3\u0351\3\u0351") - buf.write("\3\u0351\3\u0351\3\u0351\3\u0351\3\u0351\3\u0351\3\u0351") - buf.write("\3\u0351\3\u0352\3\u0352\3\u0352\3\u0352\3\u0352\3\u0352") - buf.write("\3\u0352\3\u0352\3\u0352\3\u0352\3\u0352\3\u0352\3\u0353") - buf.write("\3\u0353\3\u0353\3\u0353\3\u0353\3\u0353\3\u0353\3\u0353") - buf.write("\3\u0353\3\u0353\3\u0353\3\u0353\3\u0354\3\u0354\3\u0354") - buf.write("\3\u0354\3\u0354\3\u0354\3\u0354\3\u0354\3\u0354\3\u0354") - buf.write("\3\u0355\3\u0355\3\u0355\3\u0355\3\u0355\3\u0355\3\u0355") - buf.write("\3\u0355\3\u0355\3\u0355\3\u0355\3\u0355\3\u0355\3\u0355") - buf.write("\3\u0355\3\u0355\3\u0356\3\u0356\3\u0356\3\u0356\3\u0356") - buf.write("\3\u0356\3\u0356\3\u0356\3\u0356\3\u0356\3\u0356\3\u0356") - buf.write("\3\u0356\3\u0356\3\u0356\3\u0356\3\u0356\3\u0356\3\u0356") - buf.write("\3\u0356\3\u0357\3\u0357\3\u0357\3\u0357\3\u0357\3\u0357") - buf.write("\3\u0357\3\u0357\3\u0357\3\u0357\3\u0357\3\u0357\3\u0357") - buf.write("\3\u0357\3\u0357\3\u0357\3\u0357\3\u0357\3\u0357\3\u0358") - buf.write("\3\u0358\3\u0358\3\u0358\3\u0358\3\u0358\3\u0358\3\u0358") - buf.write("\3\u0358\3\u0358\3\u0358\3\u0358\3\u0358\3\u0358\3\u0358") - buf.write("\3\u0358\3\u0358\3\u0358\3\u0358\3\u0359\3\u0359\3\u0359") - buf.write("\3\u0359\3\u0359\3\u0359\3\u0359\3\u0359\3\u0359\3\u0359") - buf.write("\3\u0359\3\u0359\3\u0359\3\u0359\3\u0359\3\u0359\3\u0359") - buf.write("\3\u0359\3\u0359\3\u0359\3\u0359\3\u0359\3\u0359\3\u0359") - buf.write("\3\u0359\3\u0359\3\u0359\3\u0359\3\u0359\3\u0359\3\u035a") - buf.write("\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a") - buf.write("\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a") - buf.write("\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a") - buf.write("\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a") - buf.write("\3\u035b\3\u035b\3\u035b\3\u035b\3\u035b\3\u035b\3\u035b") - buf.write("\3\u035b\3\u035b\3\u035b\3\u035b\3\u035b\3\u035b\3\u035b") - buf.write("\3\u035b\3\u035b\3\u035b\3\u035b\3\u035b\3\u035b\3\u035c") - buf.write("\3\u035c\3\u035c\3\u035c\3\u035c\3\u035c\3\u035c\3\u035c") - buf.write("\3\u035c\3\u035c\3\u035c\3\u035c\3\u035c\3\u035c\3\u035c") - buf.write("\3\u035c\3\u035c\3\u035c\3\u035c\3\u035d\3\u035d\3\u035d") - buf.write("\3\u035d\3\u035d\3\u035d\3\u035d\3\u035d\3\u035d\3\u035d") - buf.write("\3\u035d\3\u035d\3\u035d\3\u035e\3\u035e\3\u035e\3\u035e") - buf.write("\3\u035e\3\u035e\3\u035e\3\u035e\3\u035e\3\u035e\3\u035e") - buf.write("\3\u035e\3\u035e\3\u035e\3\u035e\3\u035e\3\u035f\3\u035f") - buf.write("\3\u035f\3\u035f\3\u035f\3\u035f\3\u035f\3\u035f\3\u035f") - buf.write("\3\u035f\3\u035f\3\u035f\3\u035f\3\u035f\3\u035f\3\u035f") - buf.write("\3\u0360\3\u0360\3\u0360\3\u0360\3\u0360\3\u0360\3\u0360") - buf.write("\3\u0360\3\u0360\3\u0360\3\u0360\3\u0360\3\u0360\3\u0360") - buf.write("\3\u0360\3\u0361\3\u0361\3\u0361\3\u0361\3\u0361\3\u0361") - buf.write("\3\u0361\3\u0361\3\u0361\3\u0361\3\u0361\3\u0361\3\u0361") - buf.write("\3\u0361\3\u0361\3\u0361\3\u0361\3\u0362\3\u0362\3\u0362") - buf.write("\3\u0362\3\u0362\3\u0362\3\u0362\3\u0362\3\u0362\3\u0362") - buf.write("\3\u0362\3\u0362\3\u0362\3\u0362\3\u0362\3\u0362\3\u0363") - buf.write("\3\u0363\3\u0363\3\u0363\3\u0363\3\u0363\3\u0363\3\u0363") - buf.write("\3\u0363\3\u0363\3\u0363\3\u0363\3\u0363\3\u0363\3\u0364") - buf.write("\3\u0364\3\u0364\3\u0364\3\u0364\3\u0364\3\u0364\3\u0364") - buf.write("\3\u0364\3\u0364\3\u0364\3\u0364\3\u0365\3\u0365\3\u0365") - buf.write("\3\u0365\3\u0365\3\u0365\3\u0365\3\u0365\3\u0365\3\u0365") - buf.write("\3\u0365\3\u0366\3\u0366\3\u0366\3\u0366\3\u0366\3\u0366") - buf.write("\3\u0366\3\u0366\3\u0366\3\u0366\3\u0366\3\u0366\3\u0367") - buf.write("\3\u0367\3\u0367\3\u0367\3\u0367\3\u0367\3\u0367\3\u0367") - buf.write("\3\u0367\3\u0367\3\u0367\3\u0367\3\u0367\3\u0367\3\u0367") - buf.write("\3\u0367\3\u0368\3\u0368\3\u0368\3\u0368\3\u0368\3\u0368") - buf.write("\3\u0368\3\u0368\3\u0368\3\u0368\3\u0368\3\u0368\3\u0368") - buf.write("\3\u0368\3\u0368\3\u0369\3\u0369\3\u0369\3\u0369\3\u0369") - buf.write("\3\u0369\3\u0369\3\u0369\3\u0369\3\u0369\3\u0369\3\u0369") - buf.write("\3\u0369\3\u0369\3\u0369\3\u0369\3\u0369\3\u0369\3\u0369") - buf.write("\3\u0369\3\u0369\3\u0369\3\u036a\3\u036a\3\u036a\3\u036a") - buf.write("\3\u036a\3\u036a\3\u036a\3\u036a\3\u036a\3\u036a\3\u036a") - buf.write("\3\u036a\3\u036a\3\u036a\3\u036a\3\u036a\3\u036a\3\u036a") - buf.write("\3\u036a\3\u036a\3\u036a\3\u036b\3\u036b\3\u036b\3\u036b") - buf.write("\3\u036b\3\u036b\3\u036b\3\u036b\3\u036b\3\u036b\3\u036b") - buf.write("\3\u036b\3\u036b\3\u036b\3\u036b\3\u036b\3\u036b\3\u036c") - buf.write("\3\u036c\3\u036c\3\u036c\3\u036c\3\u036c\3\u036c\3\u036c") - buf.write("\3\u036c\3\u036c\3\u036c\3\u036c\3\u036c\3\u036c\3\u036c") - buf.write("\3\u036c\3\u036c\3\u036c\3\u036c\3\u036d\3\u036d\3\u036d") - buf.write("\3\u036d\3\u036d\3\u036d\3\u036d\3\u036d\3\u036d\3\u036d") - buf.write("\3\u036d\3\u036d\3\u036d\3\u036d\3\u036d\3\u036d\3\u036d") - buf.write("\3\u036d\3\u036d\3\u036d\3\u036e\3\u036e\3\u036e\3\u036e") - buf.write("\3\u036e\3\u036e\3\u036e\3\u036e\3\u036e\3\u036e\3\u036e") - buf.write("\3\u036e\3\u036e\3\u036f\3\u036f\3\u036f\3\u036f\3\u036f") - buf.write("\3\u036f\3\u036f\3\u036f\3\u036f\3\u036f\3\u036f\3\u036f") - buf.write("\3\u0370\3\u0370\3\u0370\3\u0370\3\u0370\3\u0370\3\u0370") - buf.write("\3\u0370\3\u0370\3\u0370\3\u0370\3\u0370\3\u0370\3\u0370") - buf.write("\3\u0370\3\u0370\3\u0370\3\u0371\3\u0371\3\u0371\3\u0371") - buf.write("\3\u0371\3\u0371\3\u0371\3\u0371\3\u0371\3\u0371\3\u0371") - buf.write("\3\u0371\3\u0371\3\u0371\3\u0371\3\u0371\3\u0372\3\u0372") - buf.write("\3\u0372\3\u0372\3\u0372\3\u0372\3\u0372\3\u0372\3\u0372") - buf.write("\3\u0372\3\u0373\3\u0373\3\u0373\3\u0373\3\u0373\3\u0373") - buf.write("\3\u0373\3\u0373\3\u0373\3\u0373\3\u0373\3\u0373\3\u0373") - buf.write("\3\u0373\3\u0373\3\u0373\3\u0374\3\u0374\3\u0374\3\u0374") - buf.write("\3\u0374\3\u0374\3\u0374\3\u0374\3\u0374\3\u0374\3\u0374") - buf.write("\3\u0374\3\u0374\3\u0374\3\u0374\3\u0375\3\u0375\3\u0375") - buf.write("\3\u0375\3\u0375\3\u0375\3\u0375\3\u0375\3\u0375\3\u0375") - buf.write("\3\u0375\3\u0375\3\u0375\3\u0375\3\u0375\3\u0375\3\u0375") - buf.write("\3\u0375\3\u0375\3\u0376\3\u0376\3\u0376\3\u0376\3\u0376") - buf.write("\3\u0376\3\u0376\3\u0376\3\u0376\3\u0376\3\u0376\3\u0376") - buf.write("\3\u0376\3\u0376\3\u0376\3\u0376\3\u0376\3\u0376\3\u0377") - buf.write("\3\u0377\3\u0377\3\u0377\3\u0377\3\u0377\3\u0377\3\u0377") - buf.write("\3\u0378\3\u0378\3\u0378\3\u0378\3\u0378\3\u0378\3\u0378") - buf.write("\3\u0378\3\u0378\3\u0378\3\u0378\3\u0378\3\u0378\3\u0378") - buf.write("\3\u0379\3\u0379\3\u0379\3\u0379\3\u0379\3\u0379\3\u0379") - buf.write("\3\u0379\3\u0379\3\u0379\3\u0379\3\u0379\3\u0379\3\u0379") - buf.write("\3\u0379\3\u0379\3\u0379\3\u037a\3\u037a\3\u037a\3\u037a") - buf.write("\3\u037a\3\u037a\3\u037a\3\u037a\3\u037a\3\u037a\3\u037a") - buf.write("\3\u037b\3\u037b\3\u037b\3\u037b\3\u037b\3\u037b\3\u037b") - buf.write("\3\u037b\3\u037b\3\u037c\3\u037c\3\u037c\3\u037c\3\u037c") - buf.write("\3\u037c\3\u037c\3\u037c\3\u037c\3\u037c\3\u037d\3\u037d") - buf.write("\3\u037d\3\u037d\3\u037d\3\u037e\3\u037e\3\u037e\3\u037e") - buf.write("\3\u037e\3\u037f\3\u037f\3\u037f\3\u037f\3\u037f\3\u037f") - buf.write("\3\u037f\3\u037f\3\u0380\3\u0380\3\u0380\3\u0380\3\u0380") - buf.write("\3\u0380\3\u0380\3\u0380\3\u0380\3\u0380\3\u0380\3\u0380") - buf.write("\3\u0380\3\u0380\3\u0380\3\u0380\3\u0381\3\u0381\3\u0381") - buf.write("\3\u0381\3\u0381\3\u0381\3\u0381\3\u0381\3\u0382\3\u0382") - buf.write("\3\u0382\3\u0382\3\u0382\3\u0382\3\u0382\3\u0382\3\u0382") - buf.write("\3\u0382\3\u0382\3\u0382\3\u0383\3\u0383\3\u0383\3\u0383") - buf.write("\3\u0384\3\u0384\3\u0384\3\u0384\3\u0384\3\u0384\3\u0384") - buf.write("\3\u0384\3\u0384\3\u0385\3\u0385\3\u0385\3\u0385\3\u0385") - buf.write("\3\u0385\3\u0385\3\u0385\3\u0385\3\u0385\3\u0385\3\u0385") - buf.write("\3\u0385\3\u0386\3\u0386\3\u0386\3\u0386\3\u0386\3\u0386") - buf.write("\3\u0386\3\u0386\3\u0386\3\u0386\3\u0386\3\u0386\3\u0386") - buf.write("\3\u0386\3\u0387\3\u0387\3\u0387\3\u0387\3\u0387\3\u0387") - buf.write("\3\u0387\3\u0387\3\u0387\3\u0387\3\u0387\3\u0387\3\u0388") - buf.write("\3\u0388\3\u0388\3\u0388\3\u0388\3\u0388\3\u0388\3\u0388") - buf.write("\3\u0388\3\u0388\3\u0388\3\u0388\3\u0389\3\u0389\3\u0389") - buf.write("\3\u0389\3\u0389\3\u0389\3\u0389\3\u0389\3\u038a\3\u038a") - buf.write("\3\u038a\3\u038a\3\u038a\3\u038a\3\u038a\3\u038a\3\u038a") - buf.write("\3\u038a\3\u038b\3\u038b\3\u038b\3\u038b\3\u038b\3\u038b") - buf.write("\3\u038b\3\u038b\3\u038c\3\u038c\3\u038c\3\u038c\3\u038c") - buf.write("\3\u038c\3\u038c\3\u038c\3\u038c\3\u038c\3\u038c\3\u038d") - buf.write("\3\u038d\3\u038d\3\u038d\3\u038d\3\u038d\3\u038e\3\u038e") - buf.write("\3\u038e\3\u038e\3\u038e\3\u038e\3\u038e\3\u038e\3\u038e") - buf.write("\3\u038e\3\u038e\3\u038f\3\u038f\3\u038f\3\u038f\3\u038f") - buf.write("\3\u038f\3\u038f\3\u038f\3\u038f\3\u038f\3\u038f\3\u038f") - buf.write("\3\u038f\3\u038f\3\u038f\3\u038f\3\u038f\3\u038f\3\u038f") - buf.write("\3\u038f\3\u0390\3\u0390\3\u0390\3\u0390\3\u0390\3\u0390") - buf.write("\3\u0391\3\u0391\3\u0391\3\u0391\3\u0391\3\u0391\3\u0391") - buf.write("\3\u0391\3\u0391\3\u0391\3\u0391\3\u0391\3\u0391\3\u0391") - buf.write("\3\u0391\3\u0392\3\u0392\3\u0392\3\u0392\3\u0392\3\u0392") - buf.write("\3\u0392\3\u0392\3\u0392\3\u0392\3\u0393\3\u0393\3\u0393") - buf.write("\3\u0393\3\u0393\3\u0393\3\u0394\3\u0394\3\u0394\3\u0394") - buf.write("\3\u0394\3\u0395\3\u0395\3\u0395\3\u0395\3\u0395\3\u0395") - buf.write("\3\u0395\3\u0395\3\u0395\3\u0395\3\u0395\3\u0396\3\u0396") - buf.write("\3\u0396\3\u0396\3\u0396\3\u0396\3\u0396\3\u0396\3\u0396") - buf.write("\3\u0396\3\u0396\3\u0396\3\u0396\3\u0396\3\u0396\3\u0396") - buf.write("\3\u0396\3\u0396\3\u0396\3\u0396\3\u0396\3\u0396\3\u0396") - buf.write("\3\u0396\3\u0396\3\u0396\3\u0396\3\u0397\3\u0397\3\u0397") - buf.write("\3\u0397\3\u0397\3\u0397\3\u0397\3\u0397\3\u0398\3\u0398") - buf.write("\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398") - buf.write("\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398") - buf.write("\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398") - buf.write("\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398") - buf.write("\3\u0398\3\u0398\3\u0398\3\u0398\3\u0399\3\u0399\3\u0399") - buf.write("\3\u0399\3\u0399\3\u0399\3\u0399\3\u0399\3\u039a\3\u039a") - buf.write("\3\u039a\3\u039a\3\u039a\3\u039a\3\u039a\3\u039a\3\u039a") - buf.write("\3\u039a\3\u039a\3\u039b\3\u039b\3\u039b\3\u039b\3\u039b") - buf.write("\3\u039b\3\u039b\3\u039b\3\u039b\3\u039b\3\u039b\3\u039b") - buf.write("\3\u039b\3\u039b\3\u039c\3\u039c\3\u039c\3\u039c\3\u039c") - buf.write("\3\u039c\3\u039c\3\u039d\3\u039d\3\u039d\3\u039d\3\u039d") - buf.write("\3\u039d\3\u039d\3\u039d\3\u039d\3\u039e\3\u039e\3\u039f") - buf.write("\3\u039f\3\u03a0\3\u03a0\3\u03a0\3\u03a1\3\u03a1\3\u03a1") - buf.write("\3\u03a2\3\u03a2\3\u03a2\3\u03a3\3\u03a3\3\u03a3\3\u03a4") - buf.write("\3\u03a4\3\u03a4\3\u03a5\3\u03a5\3\u03a5\3\u03a6\3\u03a6") - buf.write("\3\u03a6\3\u03a7\3\u03a7\3\u03a7\3\u03a8\3\u03a8\3\u03a8") - buf.write("\3\u03a9\3\u03a9\3\u03aa\3\u03aa\3\u03ab\3\u03ab\3\u03ac") - buf.write("\3\u03ac\3\u03ad\3\u03ad\3\u03ad\3\u03ae\3\u03ae\3\u03af") - buf.write("\3\u03af\3\u03af\3\u03af\3\u03b0\3\u03b0\3\u03b0\3\u03b0") - buf.write("\3\u03b1\3\u03b1\3\u03b2\3\u03b2\3\u03b3\3\u03b3\3\u03b4") - buf.write("\3\u03b4\3\u03b5\3\u03b5\3\u03b6\3\u03b6\3\u03b7\3\u03b7") - buf.write("\3\u03b8\3\u03b8\3\u03b9\3\u03b9\3\u03ba\3\u03ba\3\u03bb") - buf.write("\3\u03bb\3\u03bc\3\u03bc\3\u03bd\3\u03bd\3\u03be\3\u03be") - buf.write("\3\u03bf\3\u03bf\3\u03c0\3\u03c0\3\u03c1\3\u03c1\3\u03c2") - buf.write("\3\u03c2\3\u03c3\3\u03c3\3\u03c4\3\u03c4\3\u03c5\3\u03c5") - buf.write("\3\u03c6\3\u03c6\3\u03c6\3\u03c6\3\u03c7\6\u03c7\u2a47") - buf.write("\n\u03c7\r\u03c7\16\u03c7\u2a48\3\u03c7\3\u03c7\3\u03c8") - buf.write("\3\u03c8\3\u03c8\3\u03c9\3\u03c9\5\u03c9\u2a52\n\u03c9") - buf.write("\3\u03ca\6\u03ca\u2a55\n\u03ca\r\u03ca\16\u03ca\u2a56") - buf.write("\3\u03cb\3\u03cb\3\u03cb\3\u03cb\3\u03cb\6\u03cb\u2a5e") - buf.write("\n\u03cb\r\u03cb\16\u03cb\u2a5f\3\u03cb\3\u03cb\3\u03cb") - buf.write("\3\u03cb\3\u03cb\3\u03cb\6\u03cb\u2a68\n\u03cb\r\u03cb") - buf.write("\16\u03cb\u2a69\5\u03cb\u2a6c\n\u03cb\3\u03cc\6\u03cc") - buf.write("\u2a6f\n\u03cc\r\u03cc\16\u03cc\u2a70\5\u03cc\u2a73\n") - buf.write("\u03cc\3\u03cc\3\u03cc\6\u03cc\u2a77\n\u03cc\r\u03cc\16") - buf.write("\u03cc\u2a78\3\u03cc\6\u03cc\u2a7c\n\u03cc\r\u03cc\16") - buf.write("\u03cc\u2a7d\3\u03cc\3\u03cc\3\u03cc\3\u03cc\6\u03cc\u2a84") - buf.write("\n\u03cc\r\u03cc\16\u03cc\u2a85\5\u03cc\u2a88\n\u03cc") - buf.write("\3\u03cc\3\u03cc\6\u03cc\u2a8c\n\u03cc\r\u03cc\16\u03cc") - buf.write("\u2a8d\3\u03cc\3\u03cc\3\u03cc\6\u03cc\u2a93\n\u03cc\r") - buf.write("\u03cc\16\u03cc\u2a94\3\u03cc\3\u03cc\5\u03cc\u2a99\n") - buf.write("\u03cc\3\u03cd\3\u03cd\3\u03cd\3\u03ce\3\u03ce\3\u03cf") - buf.write("\3\u03cf\3\u03cf\3\u03d0\3\u03d0\3\u03d0\3\u03d1\3\u03d1") - buf.write("\3\u03d2\3\u03d2\6\u03d2\u2aaa\n\u03d2\r\u03d2\16\u03d2") - buf.write("\u2aab\3\u03d2\3\u03d2\3\u03d3\3\u03d3\3\u03d3\3\u03d3") - buf.write("\5\u03d3\u2ab4\n\u03d3\3\u03d3\3\u03d3\3\u03d3\3\u03d3") - buf.write("\3\u03d3\5\u03d3\u2abb\n\u03d3\3\u03d4\3\u03d4\6\u03d4") - buf.write("\u2abf\n\u03d4\r\u03d4\16\u03d4\u2ac0\3\u03d4\3\u03d4") - buf.write("\3\u03d4\5\u03d4\u2ac6\n\u03d4\3\u03d5\3\u03d5\3\u03d5") - buf.write("\6\u03d5\u2acb\n\u03d5\r\u03d5\16\u03d5\u2acc\3\u03d5") - buf.write("\5\u03d5\u2ad0\n\u03d5\3\u03d6\3\u03d6\3\u03d6\3\u03d6") - buf.write("\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6") - buf.write("\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6") - buf.write("\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6") - buf.write("\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6") - buf.write("\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6") - buf.write("\3\u03d6\5\u03d6\u2afa\n\u03d6\3\u03d7\3\u03d7\5\u03d7") - buf.write("\u2afe\n\u03d7\3\u03d7\6\u03d7\u2b01\n\u03d7\r\u03d7\16") - buf.write("\u03d7\u2b02\3\u03d8\7\u03d8\u2b06\n\u03d8\f\u03d8\16") - buf.write("\u03d8\u2b09\13\u03d8\3\u03d8\6\u03d8\u2b0c\n\u03d8\r") - buf.write("\u03d8\16\u03d8\u2b0d\3\u03d8\7\u03d8\u2b11\n\u03d8\f") - buf.write("\u03d8\16\u03d8\u2b14\13\u03d8\3\u03d9\3\u03d9\3\u03d9") - buf.write("\3\u03d9\3\u03d9\3\u03d9\7\u03d9\u2b1c\n\u03d9\f\u03d9") - buf.write("\16\u03d9\u2b1f\13\u03d9\3\u03d9\3\u03d9\3\u03da\3\u03da") - buf.write("\3\u03da\3\u03da\3\u03da\3\u03da\7\u03da\u2b29\n\u03da") - buf.write("\f\u03da\16\u03da\u2b2c\13\u03da\3\u03da\3\u03da\3\u03db") - buf.write("\3\u03db\3\u03db\3\u03db\3\u03db\3\u03db\7\u03db\u2b36") - buf.write("\n\u03db\f\u03db\16\u03db\u2b39\13\u03db\3\u03db\3\u03db") - buf.write("\3\u03dc\3\u03dc\3\u03dd\3\u03dd\3\u03de\3\u03de\3\u03de") - buf.write("\6\u03de\u2b44\n\u03de\r\u03de\16\u03de\u2b45\3\u03de") - buf.write("\3\u03de\3\u03df\3\u03df\3\u03df\3\u03df\6\u07cd\u07da") - buf.write("\u2b07\u2b0d\2\u03e0\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21") - buf.write("\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24") - buf.write("\'\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\37") - buf.write("= ?!A\"C#E$G%I&K\'M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64") - buf.write("g\65i\66k\67m8o9q:s;u{?}@\177A\u0081B\u0083C\u0085") - buf.write("D\u0087E\u0089F\u008bG\u008dH\u008fI\u0091J\u0093K\u0095") - buf.write("L\u0097M\u0099N\u009bO\u009dP\u009fQ\u00a1R\u00a3S\u00a5") - buf.write("T\u00a7U\u00a9V\u00abW\u00adX\u00afY\u00b1Z\u00b3[\u00b5") - buf.write("\\\u00b7]\u00b9^\u00bb_\u00bd`\u00bfa\u00c1b\u00c3c\u00c5") - buf.write("d\u00c7e\u00c9f\u00cbg\u00cdh\u00cfi\u00d1j\u00d3k\u00d5") - buf.write("l\u00d7m\u00d9n\u00dbo\u00ddp\u00dfq\u00e1r\u00e3s\u00e5") - buf.write("t\u00e7u\u00e9v\u00ebw\u00edx\u00efy\u00f1z\u00f3{\u00f5") - buf.write("|\u00f7}\u00f9~\u00fb\177\u00fd\u0080\u00ff\u0081\u0101") - buf.write("\u0082\u0103\u0083\u0105\u0084\u0107\u0085\u0109\u0086") - buf.write("\u010b\u0087\u010d\u0088\u010f\u0089\u0111\u008a\u0113") - buf.write("\u008b\u0115\u008c\u0117\u008d\u0119\u008e\u011b\u008f") - buf.write("\u011d\u0090\u011f\u0091\u0121\u0092\u0123\u0093\u0125") - buf.write("\u0094\u0127\u0095\u0129\u0096\u012b\u0097\u012d\u0098") - buf.write("\u012f\u0099\u0131\u009a\u0133\u009b\u0135\u009c\u0137") - buf.write("\u009d\u0139\u009e\u013b\u009f\u013d\u00a0\u013f\u00a1") - buf.write("\u0141\u00a2\u0143\u00a3\u0145\u00a4\u0147\u00a5\u0149") - buf.write("\u00a6\u014b\u00a7\u014d\u00a8\u014f\u00a9\u0151\u00aa") - buf.write("\u0153\u00ab\u0155\u00ac\u0157\u00ad\u0159\u00ae\u015b") - buf.write("\u00af\u015d\u00b0\u015f\u00b1\u0161\u00b2\u0163\u00b3") - buf.write("\u0165\u00b4\u0167\u00b5\u0169\u00b6\u016b\u00b7\u016d") - buf.write("\u00b8\u016f\u00b9\u0171\u00ba\u0173\u00bb\u0175\u00bc") - buf.write("\u0177\u00bd\u0179\u00be\u017b\u00bf\u017d\u00c0\u017f") - buf.write("\u00c1\u0181\u00c2\u0183\u00c3\u0185\u00c4\u0187\u00c5") - buf.write("\u0189\u00c6\u018b\u00c7\u018d\u00c8\u018f\u00c9\u0191") - buf.write("\u00ca\u0193\u00cb\u0195\u00cc\u0197\u00cd\u0199\u00ce") - buf.write("\u019b\u00cf\u019d\u00d0\u019f\u00d1\u01a1\u00d2\u01a3") - buf.write("\u00d3\u01a5\u00d4\u01a7\u00d5\u01a9\u00d6\u01ab\u00d7") - buf.write("\u01ad\u00d8\u01af\u00d9\u01b1\u00da\u01b3\u00db\u01b5") - buf.write("\u00dc\u01b7\u00dd\u01b9\u00de\u01bb\u00df\u01bd\u00e0") - buf.write("\u01bf\u00e1\u01c1\u00e2\u01c3\u00e3\u01c5\u00e4\u01c7") - buf.write("\u00e5\u01c9\u00e6\u01cb\u00e7\u01cd\u00e8\u01cf\u00e9") - buf.write("\u01d1\u00ea\u01d3\u00eb\u01d5\u00ec\u01d7\u00ed\u01d9") - buf.write("\u00ee\u01db\u00ef\u01dd\u00f0\u01df\u00f1\u01e1\u00f2") - buf.write("\u01e3\u00f3\u01e5\u00f4\u01e7\u00f5\u01e9\u00f6\u01eb") - buf.write("\u00f7\u01ed\u00f8\u01ef\u00f9\u01f1\u00fa\u01f3\u00fb") - buf.write("\u01f5\u00fc\u01f7\u00fd\u01f9\u00fe\u01fb\u00ff\u01fd") - buf.write("\u0100\u01ff\u0101\u0201\u0102\u0203\u0103\u0205\u0104") - buf.write("\u0207\u0105\u0209\u0106\u020b\u0107\u020d\u0108\u020f") - buf.write("\u0109\u0211\u010a\u0213\u010b\u0215\u010c\u0217\u010d") - buf.write("\u0219\u010e\u021b\u010f\u021d\u0110\u021f\u0111\u0221") - buf.write("\u0112\u0223\u0113\u0225\u0114\u0227\u0115\u0229\u0116") - buf.write("\u022b\u0117\u022d\u0118\u022f\u0119\u0231\u011a\u0233") - buf.write("\u011b\u0235\u011c\u0237\u011d\u0239\u011e\u023b\u011f") - buf.write("\u023d\u0120\u023f\u0121\u0241\u0122\u0243\u0123\u0245") - buf.write("\u0124\u0247\u0125\u0249\u0126\u024b\u0127\u024d\u0128") - buf.write("\u024f\u0129\u0251\u012a\u0253\u012b\u0255\u012c\u0257") - buf.write("\u012d\u0259\u012e\u025b\u012f\u025d\u0130\u025f\u0131") - buf.write("\u0261\u0132\u0263\u0133\u0265\u0134\u0267\u0135\u0269") - buf.write("\u0136\u026b\u0137\u026d\u0138\u026f\u0139\u0271\u013a") - buf.write("\u0273\u013b\u0275\u013c\u0277\u013d\u0279\u013e\u027b") - buf.write("\u013f\u027d\u0140\u027f\u0141\u0281\u0142\u0283\u0143") - buf.write("\u0285\u0144\u0287\u0145\u0289\u0146\u028b\u0147\u028d") - buf.write("\u0148\u028f\u0149\u0291\u014a\u0293\u014b\u0295\u014c") - buf.write("\u0297\u014d\u0299\u014e\u029b\u014f\u029d\u0150\u029f") - buf.write("\u0151\u02a1\u0152\u02a3\u0153\u02a5\u0154\u02a7\u0155") - buf.write("\u02a9\u0156\u02ab\u0157\u02ad\u0158\u02af\u0159\u02b1") - buf.write("\u015a\u02b3\u015b\u02b5\u015c\u02b7\u015d\u02b9\u015e") - buf.write("\u02bb\u015f\u02bd\u0160\u02bf\u0161\u02c1\u0162\u02c3") - buf.write("\u0163\u02c5\u0164\u02c7\u0165\u02c9\u0166\u02cb\u0167") - buf.write("\u02cd\u0168\u02cf\u0169\u02d1\u016a\u02d3\u016b\u02d5") - buf.write("\u016c\u02d7\u016d\u02d9\u016e\u02db\u016f\u02dd\u0170") - buf.write("\u02df\u0171\u02e1\u0172\u02e3\u0173\u02e5\u0174\u02e7") - buf.write("\u0175\u02e9\u0176\u02eb\u0177\u02ed\u0178\u02ef\u0179") - buf.write("\u02f1\u017a\u02f3\u017b\u02f5\u017c\u02f7\u017d\u02f9") - buf.write("\u017e\u02fb\u017f\u02fd\u0180\u02ff\u0181\u0301\u0182") - buf.write("\u0303\u0183\u0305\u0184\u0307\u0185\u0309\u0186\u030b") - buf.write("\u0187\u030d\u0188\u030f\u0189\u0311\u018a\u0313\u018b") - buf.write("\u0315\u018c\u0317\u018d\u0319\u018e\u031b\u018f\u031d") - buf.write("\u0190\u031f\u0191\u0321\u0192\u0323\u0193\u0325\u0194") - buf.write("\u0327\u0195\u0329\u0196\u032b\u0197\u032d\u0198\u032f") - buf.write("\u0199\u0331\u019a\u0333\u019b\u0335\u019c\u0337\u019d") - buf.write("\u0339\u019e\u033b\u019f\u033d\u01a0\u033f\u01a1\u0341") - buf.write("\u01a2\u0343\u01a3\u0345\u01a4\u0347\u01a5\u0349\u01a6") - buf.write("\u034b\u01a7\u034d\u01a8\u034f\u01a9\u0351\u01aa\u0353") - buf.write("\u01ab\u0355\u01ac\u0357\u01ad\u0359\u01ae\u035b\u01af") - buf.write("\u035d\u01b0\u035f\u01b1\u0361\u01b2\u0363\u01b3\u0365") - buf.write("\u01b4\u0367\u01b5\u0369\u01b6\u036b\u01b7\u036d\u01b8") - buf.write("\u036f\u01b9\u0371\u01ba\u0373\u01bb\u0375\u01bc\u0377") - buf.write("\u01bd\u0379\u01be\u037b\u01bf\u037d\u01c0\u037f\u01c1") - buf.write("\u0381\u01c2\u0383\u01c3\u0385\u01c4\u0387\u01c5\u0389") - buf.write("\u01c6\u038b\u01c7\u038d\u01c8\u038f\u01c9\u0391\u01ca") - buf.write("\u0393\u01cb\u0395\u01cc\u0397\u01cd\u0399\u01ce\u039b") - buf.write("\u01cf\u039d\u01d0\u039f\u01d1\u03a1\u01d2\u03a3\u01d3") - buf.write("\u03a5\u01d4\u03a7\u01d5\u03a9\u01d6\u03ab\u01d7\u03ad") - buf.write("\u01d8\u03af\u01d9\u03b1\u01da\u03b3\u01db\u03b5\u01dc") - buf.write("\u03b7\u01dd\u03b9\u01de\u03bb\u01df\u03bd\u01e0\u03bf") - buf.write("\u01e1\u03c1\u01e2\u03c3\u01e3\u03c5\u01e4\u03c7\u01e5") - buf.write("\u03c9\u01e6\u03cb\u01e7\u03cd\u01e8\u03cf\u01e9\u03d1") - buf.write("\u01ea\u03d3\u01eb\u03d5\u01ec\u03d7\u01ed\u03d9\u01ee") - buf.write("\u03db\u01ef\u03dd\u01f0\u03df\u01f1\u03e1\u01f2\u03e3") - buf.write("\u01f3\u03e5\u01f4\u03e7\u01f5\u03e9\u01f6\u03eb\u01f7") - buf.write("\u03ed\u01f8\u03ef\u01f9\u03f1\u01fa\u03f3\u01fb\u03f5") - buf.write("\u01fc\u03f7\u01fd\u03f9\u01fe\u03fb\u01ff\u03fd\u0200") - buf.write("\u03ff\u0201\u0401\u0202\u0403\u0203\u0405\u0204\u0407") - buf.write("\u0205\u0409\u0206\u040b\u0207\u040d\u0208\u040f\u0209") - buf.write("\u0411\u020a\u0413\u020b\u0415\u020c\u0417\u020d\u0419") - buf.write("\u020e\u041b\u020f\u041d\u0210\u041f\u0211\u0421\u0212") - buf.write("\u0423\u0213\u0425\u0214\u0427\u0215\u0429\u0216\u042b") - buf.write("\u0217\u042d\u0218\u042f\u0219\u0431\u021a\u0433\u021b") - buf.write("\u0435\u021c\u0437\u021d\u0439\u021e\u043b\u021f\u043d") - buf.write("\u0220\u043f\u0221\u0441\u0222\u0443\u0223\u0445\u0224") - buf.write("\u0447\u0225\u0449\u0226\u044b\u0227\u044d\u0228\u044f") - buf.write("\u0229\u0451\u022a\u0453\u022b\u0455\u022c\u0457\u022d") - buf.write("\u0459\u022e\u045b\u022f\u045d\u0230\u045f\u0231\u0461") - buf.write("\u0232\u0463\u0233\u0465\u0234\u0467\u0235\u0469\u0236") - buf.write("\u046b\u0237\u046d\u0238\u046f\u0239\u0471\u023a\u0473") - buf.write("\u023b\u0475\u023c\u0477\u023d\u0479\u023e\u047b\u023f") - buf.write("\u047d\u0240\u047f\u0241\u0481\u0242\u0483\u0243\u0485") - buf.write("\u0244\u0487\u0245\u0489\u0246\u048b\u0247\u048d\u0248") - buf.write("\u048f\u0249\u0491\u024a\u0493\u024b\u0495\u024c\u0497") - buf.write("\u024d\u0499\u024e\u049b\u024f\u049d\u0250\u049f\u0251") - buf.write("\u04a1\u0252\u04a3\u0253\u04a5\u0254\u04a7\u0255\u04a9") - buf.write("\u0256\u04ab\u0257\u04ad\u0258\u04af\u0259\u04b1\u025a") - buf.write("\u04b3\u025b\u04b5\u025c\u04b7\u025d\u04b9\u025e\u04bb") - buf.write("\u025f\u04bd\u0260\u04bf\u0261\u04c1\u0262\u04c3\u0263") - buf.write("\u04c5\u0264\u04c7\u0265\u04c9\u0266\u04cb\u0267\u04cd") - buf.write("\u0268\u04cf\u0269\u04d1\u026a\u04d3\u026b\u04d5\u026c") - buf.write("\u04d7\u026d\u04d9\u026e\u04db\u026f\u04dd\u0270\u04df") - buf.write("\u0271\u04e1\u0272\u04e3\u0273\u04e5\u0274\u04e7\u0275") - buf.write("\u04e9\u0276\u04eb\u0277\u04ed\u0278\u04ef\u0279\u04f1") - buf.write("\u027a\u04f3\u027b\u04f5\u027c\u04f7\u027d\u04f9\u027e") - buf.write("\u04fb\u027f\u04fd\u0280\u04ff\u0281\u0501\u0282\u0503") - buf.write("\u0283\u0505\u0284\u0507\u0285\u0509\u0286\u050b\u0287") - buf.write("\u050d\u0288\u050f\u0289\u0511\u028a\u0513\u028b\u0515") - buf.write("\u028c\u0517\u028d\u0519\u028e\u051b\u028f\u051d\u0290") - buf.write("\u051f\u0291\u0521\u0292\u0523\u0293\u0525\u0294\u0527") - buf.write("\u0295\u0529\u0296\u052b\u0297\u052d\u0298\u052f\u0299") - buf.write("\u0531\u029a\u0533\u029b\u0535\u029c\u0537\u029d\u0539") - buf.write("\u029e\u053b\u029f\u053d\u02a0\u053f\u02a1\u0541\u02a2") - buf.write("\u0543\u02a3\u0545\u02a4\u0547\u02a5\u0549\u02a6\u054b") - buf.write("\u02a7\u054d\u02a8\u054f\u02a9\u0551\u02aa\u0553\u02ab") - buf.write("\u0555\u02ac\u0557\u02ad\u0559\u02ae\u055b\u02af\u055d") - buf.write("\u02b0\u055f\u02b1\u0561\u02b2\u0563\u02b3\u0565\u02b4") - buf.write("\u0567\u02b5\u0569\u02b6\u056b\u02b7\u056d\u02b8\u056f") - buf.write("\u02b9\u0571\u02ba\u0573\u02bb\u0575\u02bc\u0577\u02bd") - buf.write("\u0579\u02be\u057b\u02bf\u057d\u02c0\u057f\u02c1\u0581") - buf.write("\u02c2\u0583\u02c3\u0585\u02c4\u0587\u02c5\u0589\u02c6") - buf.write("\u058b\u02c7\u058d\u02c8\u058f\u02c9\u0591\u02ca\u0593") - buf.write("\u02cb\u0595\u02cc\u0597\u02cd\u0599\u02ce\u059b\u02cf") - buf.write("\u059d\u02d0\u059f\u02d1\u05a1\u02d2\u05a3\u02d3\u05a5") - buf.write("\u02d4\u05a7\u02d5\u05a9\u02d6\u05ab\u02d7\u05ad\u02d8") - buf.write("\u05af\u02d9\u05b1\u02da\u05b3\u02db\u05b5\u02dc\u05b7") - buf.write("\u02dd\u05b9\u02de\u05bb\u02df\u05bd\u02e0\u05bf\u02e1") - buf.write("\u05c1\u02e2\u05c3\u02e3\u05c5\u02e4\u05c7\u02e5\u05c9") - buf.write("\u02e6\u05cb\u02e7\u05cd\u02e8\u05cf\u02e9\u05d1\u02ea") - buf.write("\u05d3\u02eb\u05d5\u02ec\u05d7\u02ed\u05d9\u02ee\u05db") - buf.write("\u02ef\u05dd\u02f0\u05df\u02f1\u05e1\u02f2\u05e3\u02f3") - buf.write("\u05e5\u02f4\u05e7\u02f5\u05e9\u02f6\u05eb\u02f7\u05ed") - buf.write("\u02f8\u05ef\u02f9\u05f1\u02fa\u05f3\u02fb\u05f5\u02fc") - buf.write("\u05f7\u02fd\u05f9\u02fe\u05fb\u02ff\u05fd\u0300\u05ff") - buf.write("\u0301\u0601\u0302\u0603\u0303\u0605\u0304\u0607\u0305") - buf.write("\u0609\u0306\u060b\u0307\u060d\u0308\u060f\u0309\u0611") - buf.write("\u030a\u0613\u030b\u0615\u030c\u0617\u030d\u0619\u030e") - buf.write("\u061b\u030f\u061d\u0310\u061f\u0311\u0621\u0312\u0623") - buf.write("\u0313\u0625\u0314\u0627\u0315\u0629\u0316\u062b\u0317") - buf.write("\u062d\u0318\u062f\u0319\u0631\u031a\u0633\u031b\u0635") - buf.write("\u031c\u0637\u031d\u0639\u031e\u063b\u031f\u063d\u0320") - buf.write("\u063f\u0321\u0641\u0322\u0643\u0323\u0645\u0324\u0647") - buf.write("\u0325\u0649\u0326\u064b\u0327\u064d\u0328\u064f\u0329") - buf.write("\u0651\u032a\u0653\u032b\u0655\u032c\u0657\u032d\u0659") - buf.write("\u032e\u065b\u032f\u065d\u0330\u065f\u0331\u0661\u0332") - buf.write("\u0663\u0333\u0665\u0334\u0667\u0335\u0669\u0336\u066b") - buf.write("\u0337\u066d\u0338\u066f\u0339\u0671\u033a\u0673\u033b") - buf.write("\u0675\u033c\u0677\u033d\u0679\u033e\u067b\u033f\u067d") - buf.write("\u0340\u067f\u0341\u0681\u0342\u0683\u0343\u0685\u0344") - buf.write("\u0687\u0345\u0689\u0346\u068b\u0347\u068d\u0348\u068f") - buf.write("\u0349\u0691\u034a\u0693\u034b\u0695\u034c\u0697\u034d") - buf.write("\u0699\u034e\u069b\u034f\u069d\u0350\u069f\u0351\u06a1") - buf.write("\u0352\u06a3\u0353\u06a5\u0354\u06a7\u0355\u06a9\u0356") - buf.write("\u06ab\u0357\u06ad\u0358\u06af\u0359\u06b1\u035a\u06b3") - buf.write("\u035b\u06b5\u035c\u06b7\u035d\u06b9\u035e\u06bb\u035f") - buf.write("\u06bd\u0360\u06bf\u0361\u06c1\u0362\u06c3\u0363\u06c5") - buf.write("\u0364\u06c7\u0365\u06c9\u0366\u06cb\u0367\u06cd\u0368") - buf.write("\u06cf\u0369\u06d1\u036a\u06d3\u036b\u06d5\u036c\u06d7") - buf.write("\u036d\u06d9\u036e\u06db\u036f\u06dd\u0370\u06df\u0371") - buf.write("\u06e1\u0372\u06e3\u0373\u06e5\u0374\u06e7\u0375\u06e9") - buf.write("\u0376\u06eb\u0377\u06ed\u0378\u06ef\u0379\u06f1\u037a") - buf.write("\u06f3\u037b\u06f5\u037c\u06f7\u037d\u06f9\u037e\u06fb") - buf.write("\u037f\u06fd\u0380\u06ff\u0381\u0701\u0382\u0703\u0383") - buf.write("\u0705\u0384\u0707\u0385\u0709\u0386\u070b\u0387\u070d") - buf.write("\u0388\u070f\u0389\u0711\u038a\u0713\u038b\u0715\u038c") - buf.write("\u0717\u038d\u0719\u038e\u071b\u038f\u071d\u0390\u071f") - buf.write("\u0391\u0721\u0392\u0723\u0393\u0725\u0394\u0727\u0395") - buf.write("\u0729\u0396\u072b\u0397\u072d\u0398\u072f\u0399\u0731") - buf.write("\u039a\u0733\u039b\u0735\u039c\u0737\u039d\u0739\u039e") - buf.write("\u073b\u039f\u073d\u03a0\u073f\u03a1\u0741\u03a2\u0743") - buf.write("\u03a3\u0745\u03a4\u0747\u03a5\u0749\u03a6\u074b\u03a7") - buf.write("\u074d\u03a8\u074f\u03a9\u0751\u03aa\u0753\u03ab\u0755") - buf.write("\u03ac\u0757\u03ad\u0759\u03ae\u075b\u03af\u075d\u03b0") - buf.write("\u075f\u03b1\u0761\u03b2\u0763\u03b3\u0765\u03b4\u0767") - buf.write("\u03b5\u0769\u03b6\u076b\u03b7\u076d\u03b8\u076f\u03b9") - buf.write("\u0771\u03ba\u0773\u03bb\u0775\u03bc\u0777\u03bd\u0779") - buf.write("\u03be\u077b\u03bf\u077d\u03c0\u077f\u03c1\u0781\u03c2") - buf.write("\u0783\u03c3\u0785\u03c4\u0787\u03c5\u0789\u03c6\u078b") - buf.write("\u03c7\u078d\u03c8\u078f\u03c9\u0791\u03ca\u0793\u03cb") - buf.write("\u0795\u03cc\u0797\u03cd\u0799\u03ce\u079b\u03cf\u079d") - buf.write("\u03d0\u079f\u03d1\u07a1\u03d2\u07a3\u03d3\u07a5\u03d4") - buf.write("\u07a7\u03d5\u07a9\u03d6\u07ab\2\u07ad\2\u07af\2\u07b1") - buf.write("\2\u07b3\2\u07b5\2\u07b7\2\u07b9\2\u07bb\2\u07bd\u03d7") - buf.write("\3\2\17\5\2\13\f\17\17\"\"\4\2\f\f\17\17\6\2IIMMOOVV\3") - buf.write("\2bb\7\2&&\60\60\62;C\\aa\6\2&&\62;C\\aa\5\2&&C\\aa\4") - buf.write("\2$$^^\4\2))^^\4\2^^bb\4\2\62;CH\3\2\62;\3\2\62\63\2\u2ba1") - buf.write("\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13") - buf.write("\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2\2\2\23\3") - buf.write("\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2\2\2\2\33\3\2") - buf.write("\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2") - buf.write("%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2") - buf.write("\2/\3\2\2\2\2\61\3\2\2\2\2\63\3\2\2\2\2\65\3\2\2\2\2\67") - buf.write("\3\2\2\2\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2") - buf.write("A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3\2\2\2") - buf.write("\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2") - buf.write("\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2") - buf.write("\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3") - buf.write("\2\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2\2\2o\3\2\2\2\2q") - buf.write("\3\2\2\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2") - buf.write("{\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083") - buf.write("\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3\2\2\2\2\u0089\3\2\2") - buf.write("\2\2\u008b\3\2\2\2\2\u008d\3\2\2\2\2\u008f\3\2\2\2\2\u0091") - buf.write("\3\2\2\2\2\u0093\3\2\2\2\2\u0095\3\2\2\2\2\u0097\3\2\2") - buf.write("\2\2\u0099\3\2\2\2\2\u009b\3\2\2\2\2\u009d\3\2\2\2\2\u009f") - buf.write("\3\2\2\2\2\u00a1\3\2\2\2\2\u00a3\3\2\2\2\2\u00a5\3\2\2") - buf.write("\2\2\u00a7\3\2\2\2\2\u00a9\3\2\2\2\2\u00ab\3\2\2\2\2\u00ad") - buf.write("\3\2\2\2\2\u00af\3\2\2\2\2\u00b1\3\2\2\2\2\u00b3\3\2\2") - buf.write("\2\2\u00b5\3\2\2\2\2\u00b7\3\2\2\2\2\u00b9\3\2\2\2\2\u00bb") - buf.write("\3\2\2\2\2\u00bd\3\2\2\2\2\u00bf\3\2\2\2\2\u00c1\3\2\2") - buf.write("\2\2\u00c3\3\2\2\2\2\u00c5\3\2\2\2\2\u00c7\3\2\2\2\2\u00c9") - buf.write("\3\2\2\2\2\u00cb\3\2\2\2\2\u00cd\3\2\2\2\2\u00cf\3\2\2") - buf.write("\2\2\u00d1\3\2\2\2\2\u00d3\3\2\2\2\2\u00d5\3\2\2\2\2\u00d7") - buf.write("\3\2\2\2\2\u00d9\3\2\2\2\2\u00db\3\2\2\2\2\u00dd\3\2\2") - buf.write("\2\2\u00df\3\2\2\2\2\u00e1\3\2\2\2\2\u00e3\3\2\2\2\2\u00e5") - buf.write("\3\2\2\2\2\u00e7\3\2\2\2\2\u00e9\3\2\2\2\2\u00eb\3\2\2") - buf.write("\2\2\u00ed\3\2\2\2\2\u00ef\3\2\2\2\2\u00f1\3\2\2\2\2\u00f3") - buf.write("\3\2\2\2\2\u00f5\3\2\2\2\2\u00f7\3\2\2\2\2\u00f9\3\2\2") - buf.write("\2\2\u00fb\3\2\2\2\2\u00fd\3\2\2\2\2\u00ff\3\2\2\2\2\u0101") - buf.write("\3\2\2\2\2\u0103\3\2\2\2\2\u0105\3\2\2\2\2\u0107\3\2\2") - buf.write("\2\2\u0109\3\2\2\2\2\u010b\3\2\2\2\2\u010d\3\2\2\2\2\u010f") - buf.write("\3\2\2\2\2\u0111\3\2\2\2\2\u0113\3\2\2\2\2\u0115\3\2\2") - buf.write("\2\2\u0117\3\2\2\2\2\u0119\3\2\2\2\2\u011b\3\2\2\2\2\u011d") - buf.write("\3\2\2\2\2\u011f\3\2\2\2\2\u0121\3\2\2\2\2\u0123\3\2\2") - buf.write("\2\2\u0125\3\2\2\2\2\u0127\3\2\2\2\2\u0129\3\2\2\2\2\u012b") - buf.write("\3\2\2\2\2\u012d\3\2\2\2\2\u012f\3\2\2\2\2\u0131\3\2\2") - buf.write("\2\2\u0133\3\2\2\2\2\u0135\3\2\2\2\2\u0137\3\2\2\2\2\u0139") - buf.write("\3\2\2\2\2\u013b\3\2\2\2\2\u013d\3\2\2\2\2\u013f\3\2\2") - buf.write("\2\2\u0141\3\2\2\2\2\u0143\3\2\2\2\2\u0145\3\2\2\2\2\u0147") - buf.write("\3\2\2\2\2\u0149\3\2\2\2\2\u014b\3\2\2\2\2\u014d\3\2\2") - buf.write("\2\2\u014f\3\2\2\2\2\u0151\3\2\2\2\2\u0153\3\2\2\2\2\u0155") - buf.write("\3\2\2\2\2\u0157\3\2\2\2\2\u0159\3\2\2\2\2\u015b\3\2\2") - buf.write("\2\2\u015d\3\2\2\2\2\u015f\3\2\2\2\2\u0161\3\2\2\2\2\u0163") - buf.write("\3\2\2\2\2\u0165\3\2\2\2\2\u0167\3\2\2\2\2\u0169\3\2\2") - buf.write("\2\2\u016b\3\2\2\2\2\u016d\3\2\2\2\2\u016f\3\2\2\2\2\u0171") - buf.write("\3\2\2\2\2\u0173\3\2\2\2\2\u0175\3\2\2\2\2\u0177\3\2\2") - buf.write("\2\2\u0179\3\2\2\2\2\u017b\3\2\2\2\2\u017d\3\2\2\2\2\u017f") - buf.write("\3\2\2\2\2\u0181\3\2\2\2\2\u0183\3\2\2\2\2\u0185\3\2\2") - buf.write("\2\2\u0187\3\2\2\2\2\u0189\3\2\2\2\2\u018b\3\2\2\2\2\u018d") - buf.write("\3\2\2\2\2\u018f\3\2\2\2\2\u0191\3\2\2\2\2\u0193\3\2\2") - buf.write("\2\2\u0195\3\2\2\2\2\u0197\3\2\2\2\2\u0199\3\2\2\2\2\u019b") - buf.write("\3\2\2\2\2\u019d\3\2\2\2\2\u019f\3\2\2\2\2\u01a1\3\2\2") - buf.write("\2\2\u01a3\3\2\2\2\2\u01a5\3\2\2\2\2\u01a7\3\2\2\2\2\u01a9") - buf.write("\3\2\2\2\2\u01ab\3\2\2\2\2\u01ad\3\2\2\2\2\u01af\3\2\2") - buf.write("\2\2\u01b1\3\2\2\2\2\u01b3\3\2\2\2\2\u01b5\3\2\2\2\2\u01b7") - buf.write("\3\2\2\2\2\u01b9\3\2\2\2\2\u01bb\3\2\2\2\2\u01bd\3\2\2") - buf.write("\2\2\u01bf\3\2\2\2\2\u01c1\3\2\2\2\2\u01c3\3\2\2\2\2\u01c5") - buf.write("\3\2\2\2\2\u01c7\3\2\2\2\2\u01c9\3\2\2\2\2\u01cb\3\2\2") - buf.write("\2\2\u01cd\3\2\2\2\2\u01cf\3\2\2\2\2\u01d1\3\2\2\2\2\u01d3") - buf.write("\3\2\2\2\2\u01d5\3\2\2\2\2\u01d7\3\2\2\2\2\u01d9\3\2\2") - buf.write("\2\2\u01db\3\2\2\2\2\u01dd\3\2\2\2\2\u01df\3\2\2\2\2\u01e1") - buf.write("\3\2\2\2\2\u01e3\3\2\2\2\2\u01e5\3\2\2\2\2\u01e7\3\2\2") - buf.write("\2\2\u01e9\3\2\2\2\2\u01eb\3\2\2\2\2\u01ed\3\2\2\2\2\u01ef") - buf.write("\3\2\2\2\2\u01f1\3\2\2\2\2\u01f3\3\2\2\2\2\u01f5\3\2\2") - buf.write("\2\2\u01f7\3\2\2\2\2\u01f9\3\2\2\2\2\u01fb\3\2\2\2\2\u01fd") - buf.write("\3\2\2\2\2\u01ff\3\2\2\2\2\u0201\3\2\2\2\2\u0203\3\2\2") - buf.write("\2\2\u0205\3\2\2\2\2\u0207\3\2\2\2\2\u0209\3\2\2\2\2\u020b") - buf.write("\3\2\2\2\2\u020d\3\2\2\2\2\u020f\3\2\2\2\2\u0211\3\2\2") - buf.write("\2\2\u0213\3\2\2\2\2\u0215\3\2\2\2\2\u0217\3\2\2\2\2\u0219") - buf.write("\3\2\2\2\2\u021b\3\2\2\2\2\u021d\3\2\2\2\2\u021f\3\2\2") - buf.write("\2\2\u0221\3\2\2\2\2\u0223\3\2\2\2\2\u0225\3\2\2\2\2\u0227") - buf.write("\3\2\2\2\2\u0229\3\2\2\2\2\u022b\3\2\2\2\2\u022d\3\2\2") - buf.write("\2\2\u022f\3\2\2\2\2\u0231\3\2\2\2\2\u0233\3\2\2\2\2\u0235") - buf.write("\3\2\2\2\2\u0237\3\2\2\2\2\u0239\3\2\2\2\2\u023b\3\2\2") - buf.write("\2\2\u023d\3\2\2\2\2\u023f\3\2\2\2\2\u0241\3\2\2\2\2\u0243") - buf.write("\3\2\2\2\2\u0245\3\2\2\2\2\u0247\3\2\2\2\2\u0249\3\2\2") - buf.write("\2\2\u024b\3\2\2\2\2\u024d\3\2\2\2\2\u024f\3\2\2\2\2\u0251") - buf.write("\3\2\2\2\2\u0253\3\2\2\2\2\u0255\3\2\2\2\2\u0257\3\2\2") - buf.write("\2\2\u0259\3\2\2\2\2\u025b\3\2\2\2\2\u025d\3\2\2\2\2\u025f") - buf.write("\3\2\2\2\2\u0261\3\2\2\2\2\u0263\3\2\2\2\2\u0265\3\2\2") - buf.write("\2\2\u0267\3\2\2\2\2\u0269\3\2\2\2\2\u026b\3\2\2\2\2\u026d") - buf.write("\3\2\2\2\2\u026f\3\2\2\2\2\u0271\3\2\2\2\2\u0273\3\2\2") - buf.write("\2\2\u0275\3\2\2\2\2\u0277\3\2\2\2\2\u0279\3\2\2\2\2\u027b") - buf.write("\3\2\2\2\2\u027d\3\2\2\2\2\u027f\3\2\2\2\2\u0281\3\2\2") - buf.write("\2\2\u0283\3\2\2\2\2\u0285\3\2\2\2\2\u0287\3\2\2\2\2\u0289") - buf.write("\3\2\2\2\2\u028b\3\2\2\2\2\u028d\3\2\2\2\2\u028f\3\2\2") - buf.write("\2\2\u0291\3\2\2\2\2\u0293\3\2\2\2\2\u0295\3\2\2\2\2\u0297") - buf.write("\3\2\2\2\2\u0299\3\2\2\2\2\u029b\3\2\2\2\2\u029d\3\2\2") - buf.write("\2\2\u029f\3\2\2\2\2\u02a1\3\2\2\2\2\u02a3\3\2\2\2\2\u02a5") - buf.write("\3\2\2\2\2\u02a7\3\2\2\2\2\u02a9\3\2\2\2\2\u02ab\3\2\2") - buf.write("\2\2\u02ad\3\2\2\2\2\u02af\3\2\2\2\2\u02b1\3\2\2\2\2\u02b3") - buf.write("\3\2\2\2\2\u02b5\3\2\2\2\2\u02b7\3\2\2\2\2\u02b9\3\2\2") - buf.write("\2\2\u02bb\3\2\2\2\2\u02bd\3\2\2\2\2\u02bf\3\2\2\2\2\u02c1") - buf.write("\3\2\2\2\2\u02c3\3\2\2\2\2\u02c5\3\2\2\2\2\u02c7\3\2\2") - buf.write("\2\2\u02c9\3\2\2\2\2\u02cb\3\2\2\2\2\u02cd\3\2\2\2\2\u02cf") - buf.write("\3\2\2\2\2\u02d1\3\2\2\2\2\u02d3\3\2\2\2\2\u02d5\3\2\2") - buf.write("\2\2\u02d7\3\2\2\2\2\u02d9\3\2\2\2\2\u02db\3\2\2\2\2\u02dd") - buf.write("\3\2\2\2\2\u02df\3\2\2\2\2\u02e1\3\2\2\2\2\u02e3\3\2\2") - buf.write("\2\2\u02e5\3\2\2\2\2\u02e7\3\2\2\2\2\u02e9\3\2\2\2\2\u02eb") - buf.write("\3\2\2\2\2\u02ed\3\2\2\2\2\u02ef\3\2\2\2\2\u02f1\3\2\2") - buf.write("\2\2\u02f3\3\2\2\2\2\u02f5\3\2\2\2\2\u02f7\3\2\2\2\2\u02f9") - buf.write("\3\2\2\2\2\u02fb\3\2\2\2\2\u02fd\3\2\2\2\2\u02ff\3\2\2") - buf.write("\2\2\u0301\3\2\2\2\2\u0303\3\2\2\2\2\u0305\3\2\2\2\2\u0307") - buf.write("\3\2\2\2\2\u0309\3\2\2\2\2\u030b\3\2\2\2\2\u030d\3\2\2") - buf.write("\2\2\u030f\3\2\2\2\2\u0311\3\2\2\2\2\u0313\3\2\2\2\2\u0315") - buf.write("\3\2\2\2\2\u0317\3\2\2\2\2\u0319\3\2\2\2\2\u031b\3\2\2") - buf.write("\2\2\u031d\3\2\2\2\2\u031f\3\2\2\2\2\u0321\3\2\2\2\2\u0323") - buf.write("\3\2\2\2\2\u0325\3\2\2\2\2\u0327\3\2\2\2\2\u0329\3\2\2") - buf.write("\2\2\u032b\3\2\2\2\2\u032d\3\2\2\2\2\u032f\3\2\2\2\2\u0331") - buf.write("\3\2\2\2\2\u0333\3\2\2\2\2\u0335\3\2\2\2\2\u0337\3\2\2") - buf.write("\2\2\u0339\3\2\2\2\2\u033b\3\2\2\2\2\u033d\3\2\2\2\2\u033f") - buf.write("\3\2\2\2\2\u0341\3\2\2\2\2\u0343\3\2\2\2\2\u0345\3\2\2") - buf.write("\2\2\u0347\3\2\2\2\2\u0349\3\2\2\2\2\u034b\3\2\2\2\2\u034d") - buf.write("\3\2\2\2\2\u034f\3\2\2\2\2\u0351\3\2\2\2\2\u0353\3\2\2") - buf.write("\2\2\u0355\3\2\2\2\2\u0357\3\2\2\2\2\u0359\3\2\2\2\2\u035b") - buf.write("\3\2\2\2\2\u035d\3\2\2\2\2\u035f\3\2\2\2\2\u0361\3\2\2") - buf.write("\2\2\u0363\3\2\2\2\2\u0365\3\2\2\2\2\u0367\3\2\2\2\2\u0369") - buf.write("\3\2\2\2\2\u036b\3\2\2\2\2\u036d\3\2\2\2\2\u036f\3\2\2") - buf.write("\2\2\u0371\3\2\2\2\2\u0373\3\2\2\2\2\u0375\3\2\2\2\2\u0377") - buf.write("\3\2\2\2\2\u0379\3\2\2\2\2\u037b\3\2\2\2\2\u037d\3\2\2") - buf.write("\2\2\u037f\3\2\2\2\2\u0381\3\2\2\2\2\u0383\3\2\2\2\2\u0385") - buf.write("\3\2\2\2\2\u0387\3\2\2\2\2\u0389\3\2\2\2\2\u038b\3\2\2") - buf.write("\2\2\u038d\3\2\2\2\2\u038f\3\2\2\2\2\u0391\3\2\2\2\2\u0393") - buf.write("\3\2\2\2\2\u0395\3\2\2\2\2\u0397\3\2\2\2\2\u0399\3\2\2") - buf.write("\2\2\u039b\3\2\2\2\2\u039d\3\2\2\2\2\u039f\3\2\2\2\2\u03a1") - buf.write("\3\2\2\2\2\u03a3\3\2\2\2\2\u03a5\3\2\2\2\2\u03a7\3\2\2") - buf.write("\2\2\u03a9\3\2\2\2\2\u03ab\3\2\2\2\2\u03ad\3\2\2\2\2\u03af") - buf.write("\3\2\2\2\2\u03b1\3\2\2\2\2\u03b3\3\2\2\2\2\u03b5\3\2\2") - buf.write("\2\2\u03b7\3\2\2\2\2\u03b9\3\2\2\2\2\u03bb\3\2\2\2\2\u03bd") - buf.write("\3\2\2\2\2\u03bf\3\2\2\2\2\u03c1\3\2\2\2\2\u03c3\3\2\2") - buf.write("\2\2\u03c5\3\2\2\2\2\u03c7\3\2\2\2\2\u03c9\3\2\2\2\2\u03cb") - buf.write("\3\2\2\2\2\u03cd\3\2\2\2\2\u03cf\3\2\2\2\2\u03d1\3\2\2") - buf.write("\2\2\u03d3\3\2\2\2\2\u03d5\3\2\2\2\2\u03d7\3\2\2\2\2\u03d9") - buf.write("\3\2\2\2\2\u03db\3\2\2\2\2\u03dd\3\2\2\2\2\u03df\3\2\2") - buf.write("\2\2\u03e1\3\2\2\2\2\u03e3\3\2\2\2\2\u03e5\3\2\2\2\2\u03e7") - buf.write("\3\2\2\2\2\u03e9\3\2\2\2\2\u03eb\3\2\2\2\2\u03ed\3\2\2") - buf.write("\2\2\u03ef\3\2\2\2\2\u03f1\3\2\2\2\2\u03f3\3\2\2\2\2\u03f5") - buf.write("\3\2\2\2\2\u03f7\3\2\2\2\2\u03f9\3\2\2\2\2\u03fb\3\2\2") - buf.write("\2\2\u03fd\3\2\2\2\2\u03ff\3\2\2\2\2\u0401\3\2\2\2\2\u0403") - buf.write("\3\2\2\2\2\u0405\3\2\2\2\2\u0407\3\2\2\2\2\u0409\3\2\2") - buf.write("\2\2\u040b\3\2\2\2\2\u040d\3\2\2\2\2\u040f\3\2\2\2\2\u0411") - buf.write("\3\2\2\2\2\u0413\3\2\2\2\2\u0415\3\2\2\2\2\u0417\3\2\2") - buf.write("\2\2\u0419\3\2\2\2\2\u041b\3\2\2\2\2\u041d\3\2\2\2\2\u041f") - buf.write("\3\2\2\2\2\u0421\3\2\2\2\2\u0423\3\2\2\2\2\u0425\3\2\2") - buf.write("\2\2\u0427\3\2\2\2\2\u0429\3\2\2\2\2\u042b\3\2\2\2\2\u042d") - buf.write("\3\2\2\2\2\u042f\3\2\2\2\2\u0431\3\2\2\2\2\u0433\3\2\2") - buf.write("\2\2\u0435\3\2\2\2\2\u0437\3\2\2\2\2\u0439\3\2\2\2\2\u043b") - buf.write("\3\2\2\2\2\u043d\3\2\2\2\2\u043f\3\2\2\2\2\u0441\3\2\2") - buf.write("\2\2\u0443\3\2\2\2\2\u0445\3\2\2\2\2\u0447\3\2\2\2\2\u0449") - buf.write("\3\2\2\2\2\u044b\3\2\2\2\2\u044d\3\2\2\2\2\u044f\3\2\2") - buf.write("\2\2\u0451\3\2\2\2\2\u0453\3\2\2\2\2\u0455\3\2\2\2\2\u0457") - buf.write("\3\2\2\2\2\u0459\3\2\2\2\2\u045b\3\2\2\2\2\u045d\3\2\2") - buf.write("\2\2\u045f\3\2\2\2\2\u0461\3\2\2\2\2\u0463\3\2\2\2\2\u0465") - buf.write("\3\2\2\2\2\u0467\3\2\2\2\2\u0469\3\2\2\2\2\u046b\3\2\2") - buf.write("\2\2\u046d\3\2\2\2\2\u046f\3\2\2\2\2\u0471\3\2\2\2\2\u0473") - buf.write("\3\2\2\2\2\u0475\3\2\2\2\2\u0477\3\2\2\2\2\u0479\3\2\2") - buf.write("\2\2\u047b\3\2\2\2\2\u047d\3\2\2\2\2\u047f\3\2\2\2\2\u0481") - buf.write("\3\2\2\2\2\u0483\3\2\2\2\2\u0485\3\2\2\2\2\u0487\3\2\2") - buf.write("\2\2\u0489\3\2\2\2\2\u048b\3\2\2\2\2\u048d\3\2\2\2\2\u048f") - buf.write("\3\2\2\2\2\u0491\3\2\2\2\2\u0493\3\2\2\2\2\u0495\3\2\2") - buf.write("\2\2\u0497\3\2\2\2\2\u0499\3\2\2\2\2\u049b\3\2\2\2\2\u049d") - buf.write("\3\2\2\2\2\u049f\3\2\2\2\2\u04a1\3\2\2\2\2\u04a3\3\2\2") - buf.write("\2\2\u04a5\3\2\2\2\2\u04a7\3\2\2\2\2\u04a9\3\2\2\2\2\u04ab") - buf.write("\3\2\2\2\2\u04ad\3\2\2\2\2\u04af\3\2\2\2\2\u04b1\3\2\2") - buf.write("\2\2\u04b3\3\2\2\2\2\u04b5\3\2\2\2\2\u04b7\3\2\2\2\2\u04b9") - buf.write("\3\2\2\2\2\u04bb\3\2\2\2\2\u04bd\3\2\2\2\2\u04bf\3\2\2") - buf.write("\2\2\u04c1\3\2\2\2\2\u04c3\3\2\2\2\2\u04c5\3\2\2\2\2\u04c7") - buf.write("\3\2\2\2\2\u04c9\3\2\2\2\2\u04cb\3\2\2\2\2\u04cd\3\2\2") - buf.write("\2\2\u04cf\3\2\2\2\2\u04d1\3\2\2\2\2\u04d3\3\2\2\2\2\u04d5") - buf.write("\3\2\2\2\2\u04d7\3\2\2\2\2\u04d9\3\2\2\2\2\u04db\3\2\2") - buf.write("\2\2\u04dd\3\2\2\2\2\u04df\3\2\2\2\2\u04e1\3\2\2\2\2\u04e3") - buf.write("\3\2\2\2\2\u04e5\3\2\2\2\2\u04e7\3\2\2\2\2\u04e9\3\2\2") - buf.write("\2\2\u04eb\3\2\2\2\2\u04ed\3\2\2\2\2\u04ef\3\2\2\2\2\u04f1") - buf.write("\3\2\2\2\2\u04f3\3\2\2\2\2\u04f5\3\2\2\2\2\u04f7\3\2\2") - buf.write("\2\2\u04f9\3\2\2\2\2\u04fb\3\2\2\2\2\u04fd\3\2\2\2\2\u04ff") - buf.write("\3\2\2\2\2\u0501\3\2\2\2\2\u0503\3\2\2\2\2\u0505\3\2\2") - buf.write("\2\2\u0507\3\2\2\2\2\u0509\3\2\2\2\2\u050b\3\2\2\2\2\u050d") - buf.write("\3\2\2\2\2\u050f\3\2\2\2\2\u0511\3\2\2\2\2\u0513\3\2\2") - buf.write("\2\2\u0515\3\2\2\2\2\u0517\3\2\2\2\2\u0519\3\2\2\2\2\u051b") - buf.write("\3\2\2\2\2\u051d\3\2\2\2\2\u051f\3\2\2\2\2\u0521\3\2\2") - buf.write("\2\2\u0523\3\2\2\2\2\u0525\3\2\2\2\2\u0527\3\2\2\2\2\u0529") - buf.write("\3\2\2\2\2\u052b\3\2\2\2\2\u052d\3\2\2\2\2\u052f\3\2\2") - buf.write("\2\2\u0531\3\2\2\2\2\u0533\3\2\2\2\2\u0535\3\2\2\2\2\u0537") - buf.write("\3\2\2\2\2\u0539\3\2\2\2\2\u053b\3\2\2\2\2\u053d\3\2\2") - buf.write("\2\2\u053f\3\2\2\2\2\u0541\3\2\2\2\2\u0543\3\2\2\2\2\u0545") - buf.write("\3\2\2\2\2\u0547\3\2\2\2\2\u0549\3\2\2\2\2\u054b\3\2\2") - buf.write("\2\2\u054d\3\2\2\2\2\u054f\3\2\2\2\2\u0551\3\2\2\2\2\u0553") - buf.write("\3\2\2\2\2\u0555\3\2\2\2\2\u0557\3\2\2\2\2\u0559\3\2\2") - buf.write("\2\2\u055b\3\2\2\2\2\u055d\3\2\2\2\2\u055f\3\2\2\2\2\u0561") - buf.write("\3\2\2\2\2\u0563\3\2\2\2\2\u0565\3\2\2\2\2\u0567\3\2\2") - buf.write("\2\2\u0569\3\2\2\2\2\u056b\3\2\2\2\2\u056d\3\2\2\2\2\u056f") - buf.write("\3\2\2\2\2\u0571\3\2\2\2\2\u0573\3\2\2\2\2\u0575\3\2\2") - buf.write("\2\2\u0577\3\2\2\2\2\u0579\3\2\2\2\2\u057b\3\2\2\2\2\u057d") - buf.write("\3\2\2\2\2\u057f\3\2\2\2\2\u0581\3\2\2\2\2\u0583\3\2\2") - buf.write("\2\2\u0585\3\2\2\2\2\u0587\3\2\2\2\2\u0589\3\2\2\2\2\u058b") - buf.write("\3\2\2\2\2\u058d\3\2\2\2\2\u058f\3\2\2\2\2\u0591\3\2\2") - buf.write("\2\2\u0593\3\2\2\2\2\u0595\3\2\2\2\2\u0597\3\2\2\2\2\u0599") - buf.write("\3\2\2\2\2\u059b\3\2\2\2\2\u059d\3\2\2\2\2\u059f\3\2\2") - buf.write("\2\2\u05a1\3\2\2\2\2\u05a3\3\2\2\2\2\u05a5\3\2\2\2\2\u05a7") - buf.write("\3\2\2\2\2\u05a9\3\2\2\2\2\u05ab\3\2\2\2\2\u05ad\3\2\2") - buf.write("\2\2\u05af\3\2\2\2\2\u05b1\3\2\2\2\2\u05b3\3\2\2\2\2\u05b5") - buf.write("\3\2\2\2\2\u05b7\3\2\2\2\2\u05b9\3\2\2\2\2\u05bb\3\2\2") - buf.write("\2\2\u05bd\3\2\2\2\2\u05bf\3\2\2\2\2\u05c1\3\2\2\2\2\u05c3") - buf.write("\3\2\2\2\2\u05c5\3\2\2\2\2\u05c7\3\2\2\2\2\u05c9\3\2\2") - buf.write("\2\2\u05cb\3\2\2\2\2\u05cd\3\2\2\2\2\u05cf\3\2\2\2\2\u05d1") - buf.write("\3\2\2\2\2\u05d3\3\2\2\2\2\u05d5\3\2\2\2\2\u05d7\3\2\2") - buf.write("\2\2\u05d9\3\2\2\2\2\u05db\3\2\2\2\2\u05dd\3\2\2\2\2\u05df") - buf.write("\3\2\2\2\2\u05e1\3\2\2\2\2\u05e3\3\2\2\2\2\u05e5\3\2\2") - buf.write("\2\2\u05e7\3\2\2\2\2\u05e9\3\2\2\2\2\u05eb\3\2\2\2\2\u05ed") - buf.write("\3\2\2\2\2\u05ef\3\2\2\2\2\u05f1\3\2\2\2\2\u05f3\3\2\2") - buf.write("\2\2\u05f5\3\2\2\2\2\u05f7\3\2\2\2\2\u05f9\3\2\2\2\2\u05fb") - buf.write("\3\2\2\2\2\u05fd\3\2\2\2\2\u05ff\3\2\2\2\2\u0601\3\2\2") - buf.write("\2\2\u0603\3\2\2\2\2\u0605\3\2\2\2\2\u0607\3\2\2\2\2\u0609") - buf.write("\3\2\2\2\2\u060b\3\2\2\2\2\u060d\3\2\2\2\2\u060f\3\2\2") - buf.write("\2\2\u0611\3\2\2\2\2\u0613\3\2\2\2\2\u0615\3\2\2\2\2\u0617") - buf.write("\3\2\2\2\2\u0619\3\2\2\2\2\u061b\3\2\2\2\2\u061d\3\2\2") - buf.write("\2\2\u061f\3\2\2\2\2\u0621\3\2\2\2\2\u0623\3\2\2\2\2\u0625") - buf.write("\3\2\2\2\2\u0627\3\2\2\2\2\u0629\3\2\2\2\2\u062b\3\2\2") - buf.write("\2\2\u062d\3\2\2\2\2\u062f\3\2\2\2\2\u0631\3\2\2\2\2\u0633") - buf.write("\3\2\2\2\2\u0635\3\2\2\2\2\u0637\3\2\2\2\2\u0639\3\2\2") - buf.write("\2\2\u063b\3\2\2\2\2\u063d\3\2\2\2\2\u063f\3\2\2\2\2\u0641") - buf.write("\3\2\2\2\2\u0643\3\2\2\2\2\u0645\3\2\2\2\2\u0647\3\2\2") - buf.write("\2\2\u0649\3\2\2\2\2\u064b\3\2\2\2\2\u064d\3\2\2\2\2\u064f") - buf.write("\3\2\2\2\2\u0651\3\2\2\2\2\u0653\3\2\2\2\2\u0655\3\2\2") - buf.write("\2\2\u0657\3\2\2\2\2\u0659\3\2\2\2\2\u065b\3\2\2\2\2\u065d") - buf.write("\3\2\2\2\2\u065f\3\2\2\2\2\u0661\3\2\2\2\2\u0663\3\2\2") - buf.write("\2\2\u0665\3\2\2\2\2\u0667\3\2\2\2\2\u0669\3\2\2\2\2\u066b") - buf.write("\3\2\2\2\2\u066d\3\2\2\2\2\u066f\3\2\2\2\2\u0671\3\2\2") - buf.write("\2\2\u0673\3\2\2\2\2\u0675\3\2\2\2\2\u0677\3\2\2\2\2\u0679") - buf.write("\3\2\2\2\2\u067b\3\2\2\2\2\u067d\3\2\2\2\2\u067f\3\2\2") - buf.write("\2\2\u0681\3\2\2\2\2\u0683\3\2\2\2\2\u0685\3\2\2\2\2\u0687") - buf.write("\3\2\2\2\2\u0689\3\2\2\2\2\u068b\3\2\2\2\2\u068d\3\2\2") - buf.write("\2\2\u068f\3\2\2\2\2\u0691\3\2\2\2\2\u0693\3\2\2\2\2\u0695") - buf.write("\3\2\2\2\2\u0697\3\2\2\2\2\u0699\3\2\2\2\2\u069b\3\2\2") - buf.write("\2\2\u069d\3\2\2\2\2\u069f\3\2\2\2\2\u06a1\3\2\2\2\2\u06a3") - buf.write("\3\2\2\2\2\u06a5\3\2\2\2\2\u06a7\3\2\2\2\2\u06a9\3\2\2") - buf.write("\2\2\u06ab\3\2\2\2\2\u06ad\3\2\2\2\2\u06af\3\2\2\2\2\u06b1") - buf.write("\3\2\2\2\2\u06b3\3\2\2\2\2\u06b5\3\2\2\2\2\u06b7\3\2\2") - buf.write("\2\2\u06b9\3\2\2\2\2\u06bb\3\2\2\2\2\u06bd\3\2\2\2\2\u06bf") - buf.write("\3\2\2\2\2\u06c1\3\2\2\2\2\u06c3\3\2\2\2\2\u06c5\3\2\2") - buf.write("\2\2\u06c7\3\2\2\2\2\u06c9\3\2\2\2\2\u06cb\3\2\2\2\2\u06cd") - buf.write("\3\2\2\2\2\u06cf\3\2\2\2\2\u06d1\3\2\2\2\2\u06d3\3\2\2") - buf.write("\2\2\u06d5\3\2\2\2\2\u06d7\3\2\2\2\2\u06d9\3\2\2\2\2\u06db") - buf.write("\3\2\2\2\2\u06dd\3\2\2\2\2\u06df\3\2\2\2\2\u06e1\3\2\2") - buf.write("\2\2\u06e3\3\2\2\2\2\u06e5\3\2\2\2\2\u06e7\3\2\2\2\2\u06e9") - buf.write("\3\2\2\2\2\u06eb\3\2\2\2\2\u06ed\3\2\2\2\2\u06ef\3\2\2") - buf.write("\2\2\u06f1\3\2\2\2\2\u06f3\3\2\2\2\2\u06f5\3\2\2\2\2\u06f7") - buf.write("\3\2\2\2\2\u06f9\3\2\2\2\2\u06fb\3\2\2\2\2\u06fd\3\2\2") - buf.write("\2\2\u06ff\3\2\2\2\2\u0701\3\2\2\2\2\u0703\3\2\2\2\2\u0705") - buf.write("\3\2\2\2\2\u0707\3\2\2\2\2\u0709\3\2\2\2\2\u070b\3\2\2") - buf.write("\2\2\u070d\3\2\2\2\2\u070f\3\2\2\2\2\u0711\3\2\2\2\2\u0713") - buf.write("\3\2\2\2\2\u0715\3\2\2\2\2\u0717\3\2\2\2\2\u0719\3\2\2") - buf.write("\2\2\u071b\3\2\2\2\2\u071d\3\2\2\2\2\u071f\3\2\2\2\2\u0721") - buf.write("\3\2\2\2\2\u0723\3\2\2\2\2\u0725\3\2\2\2\2\u0727\3\2\2") - buf.write("\2\2\u0729\3\2\2\2\2\u072b\3\2\2\2\2\u072d\3\2\2\2\2\u072f") - buf.write("\3\2\2\2\2\u0731\3\2\2\2\2\u0733\3\2\2\2\2\u0735\3\2\2") - buf.write("\2\2\u0737\3\2\2\2\2\u0739\3\2\2\2\2\u073b\3\2\2\2\2\u073d") - buf.write("\3\2\2\2\2\u073f\3\2\2\2\2\u0741\3\2\2\2\2\u0743\3\2\2") - buf.write("\2\2\u0745\3\2\2\2\2\u0747\3\2\2\2\2\u0749\3\2\2\2\2\u074b") - buf.write("\3\2\2\2\2\u074d\3\2\2\2\2\u074f\3\2\2\2\2\u0751\3\2\2") - buf.write("\2\2\u0753\3\2\2\2\2\u0755\3\2\2\2\2\u0757\3\2\2\2\2\u0759") - buf.write("\3\2\2\2\2\u075b\3\2\2\2\2\u075d\3\2\2\2\2\u075f\3\2\2") - buf.write("\2\2\u0761\3\2\2\2\2\u0763\3\2\2\2\2\u0765\3\2\2\2\2\u0767") - buf.write("\3\2\2\2\2\u0769\3\2\2\2\2\u076b\3\2\2\2\2\u076d\3\2\2") - buf.write("\2\2\u076f\3\2\2\2\2\u0771\3\2\2\2\2\u0773\3\2\2\2\2\u0775") - buf.write("\3\2\2\2\2\u0777\3\2\2\2\2\u0779\3\2\2\2\2\u077b\3\2\2") - buf.write("\2\2\u077d\3\2\2\2\2\u077f\3\2\2\2\2\u0781\3\2\2\2\2\u0783") - buf.write("\3\2\2\2\2\u0785\3\2\2\2\2\u0787\3\2\2\2\2\u0789\3\2\2") - buf.write("\2\2\u078b\3\2\2\2\2\u078d\3\2\2\2\2\u078f\3\2\2\2\2\u0791") - buf.write("\3\2\2\2\2\u0793\3\2\2\2\2\u0795\3\2\2\2\2\u0797\3\2\2") - buf.write("\2\2\u0799\3\2\2\2\2\u079b\3\2\2\2\2\u079d\3\2\2\2\2\u079f") - buf.write("\3\2\2\2\2\u07a1\3\2\2\2\2\u07a3\3\2\2\2\2\u07a5\3\2\2") - buf.write("\2\2\u07a7\3\2\2\2\2\u07a9\3\2\2\2\2\u07bd\3\2\2\2\3\u07c0") - buf.write("\3\2\2\2\5\u07c6\3\2\2\2\7\u07d4\3\2\2\2\t\u07ff\3\2\2") - buf.write("\2\13\u0803\3\2\2\2\r\u0810\3\2\2\2\17\u081e\3\2\2\2\21") - buf.write("\u0822\3\2\2\2\23\u0826\3\2\2\2\25\u082c\3\2\2\2\27\u0833") - buf.write("\3\2\2\2\31\u083b\3\2\2\2\33\u083f\3\2\2\2\35\u0842\3") - buf.write("\2\2\2\37\u0846\3\2\2\2!\u084d\3\2\2\2#\u0855\3\2\2\2") - buf.write("%\u085a\3\2\2\2\'\u085d\3\2\2\2)\u0862\3\2\2\2+\u086a") - buf.write("\3\2\2\2-\u086f\3\2\2\2/\u0874\3\2\2\2\61\u087b\3\2\2") - buf.write("\2\63\u0885\3\2\2\2\65\u088b\3\2\2\2\67\u0893\3\2\2\2") - buf.write("9\u089a\3\2\2\2;\u08a4\3\2\2\2=\u08af\3\2\2\2?\u08b8\3") - buf.write("\2\2\2A\u08c0\3\2\2\2C\u08c7\3\2\2\2E\u08cd\3\2\2\2G\u08da") - buf.write("\3\2\2\2I\u08e1\3\2\2\2K\u08ea\3\2\2\2M\u08f4\3\2\2\2") - buf.write("O\u08fc\3\2\2\2Q\u0904\3\2\2\2S\u090c\3\2\2\2U\u0913\3") - buf.write("\2\2\2W\u0918\3\2\2\2Y\u0921\3\2\2\2[\u092f\3\2\2\2]\u0938") - buf.write("\3\2\2\2_\u0944\3\2\2\2a\u0949\3\2\2\2c\u094e\3\2\2\2") - buf.write("e\u0953\3\2\2\2g\u095a\3\2\2\2i\u0963\3\2\2\2k\u096b\3") - buf.write("\2\2\2m\u0972\3\2\2\2o\u0977\3\2\2\2q\u097f\3\2\2\2s\u0985") - buf.write("\3\2\2\2u\u098b\3\2\2\2w\u098f\3\2\2\2y\u0995\3\2\2\2") - buf.write("{\u099d\3\2\2\2}\u09a2\3\2\2\2\177\u09ab\3\2\2\2\u0081") - buf.write("\u09b5\3\2\2\2\u0083\u09bb\3\2\2\2\u0085\u09c1\3\2\2\2") - buf.write("\u0087\u09c8\3\2\2\2\u0089\u09d6\3\2\2\2\u008b\u09d9\3") - buf.write("\2\2\2\u008d\u09e0\3\2\2\2\u008f\u09e3\3\2\2\2\u0091\u09e9") - buf.write("\3\2\2\2\u0093\u09f0\3\2\2\2\u0095\u09f6\3\2\2\2\u0097") - buf.write("\u09fc\3\2\2\2\u0099\u0a03\3\2\2\2\u009b\u0a0c\3\2\2\2") - buf.write("\u009d\u0a11\3\2\2\2\u009f\u0a14\3\2\2\2\u00a1\u0a1c\3") - buf.write("\2\2\2\u00a3\u0a21\3\2\2\2\u00a5\u0a25\3\2\2\2\u00a7\u0a2a") - buf.write("\3\2\2\2\u00a9\u0a2f\3\2\2\2\u00ab\u0a37\3\2\2\2\u00ad") - buf.write("\u0a3d\3\2\2\2\u00af\u0a42\3\2\2\2\u00b1\u0a47\3\2\2\2") - buf.write("\u00b3\u0a4d\3\2\2\2\u00b5\u0a54\3\2\2\2\u00b7\u0a5a\3") - buf.write("\2\2\2\u00b9\u0a5f\3\2\2\2\u00bb\u0a64\3\2\2\2\u00bd\u0a69") - buf.write("\3\2\2\2\u00bf\u0a76\3\2\2\2\u00c1\u0a82\3\2\2\2\u00c3") - buf.write("\u0aa0\3\2\2\2\u00c5\u0aa6\3\2\2\2\u00c7\u0aaf\3\2\2\2") - buf.write("\u00c9\u0ab8\3\2\2\2\u00cb\u0ac0\3\2\2\2\u00cd\u0ac4\3") - buf.write("\2\2\2\u00cf\u0ad7\3\2\2\2\u00d1\u0adc\3\2\2\2\u00d3\u0adf") - buf.write("\3\2\2\2\u00d5\u0ae8\3\2\2\2\u00d7\u0aef\3\2\2\2\u00d9") - buf.write("\u0afa\3\2\2\2\u00db\u0afd\3\2\2\2\u00dd\u0b03\3\2\2\2") - buf.write("\u00df\u0b07\3\2\2\2\u00e1\u0b0d\3\2\2\2\u00e3\u0b15\3") - buf.write("\2\2\2\u00e5\u0b1f\3\2\2\2\u00e7\u0b27\3\2\2\2\u00e9\u0b31") - buf.write("\3\2\2\2\u00eb\u0b37\3\2\2\2\u00ed\u0b3d\3\2\2\2\u00ef") - buf.write("\u0b42\3\2\2\2\u00f1\u0b48\3\2\2\2\u00f3\u0b53\3\2\2\2") - buf.write("\u00f5\u0b5a\3\2\2\2\u00f7\u0b62\3\2\2\2\u00f9\u0b69\3") - buf.write("\2\2\2\u00fb\u0b70\3\2\2\2\u00fd\u0b78\3\2\2\2\u00ff\u0b80") - buf.write("\3\2\2\2\u0101\u0b89\3\2\2\2\u0103\u0b90\3\2\2\2\u0105") - buf.write("\u0b97\3\2\2\2\u0107\u0b9d\3\2\2\2\u0109\u0ba3\3\2\2\2") - buf.write("\u010b\u0baa\3\2\2\2\u010d\u0bb2\3\2\2\2\u010f\u0bb9\3") - buf.write("\2\2\2\u0111\u0bbd\3\2\2\2\u0113\u0bc7\3\2\2\2\u0115\u0bcc") - buf.write("\3\2\2\2\u0117\u0bd4\3\2\2\2\u0119\u0bd8\3\2\2\2\u011b") - buf.write("\u0be5\3\2\2\2\u011d\u0bee\3\2\2\2\u011f\u0bf9\3\2\2\2") - buf.write("\u0121\u0c08\3\2\2\2\u0123\u0c1c\3\2\2\2\u0125\u0c2d\3") - buf.write("\2\2\2\u0127\u0c31\3\2\2\2\u0129\u0c3a\3\2\2\2\u012b\u0c48") - buf.write("\3\2\2\2\u012d\u0c4e\3\2\2\2\u012f\u0c59\3\2\2\2\u0131") - buf.write("\u0c5e\3\2\2\2\u0133\u0c61\3\2\2\2\u0135\u0c6a\3\2\2\2") - buf.write("\u0137\u0c72\3\2\2\2\u0139\u0c77\3\2\2\2\u013b\u0c7c\3") - buf.write("\2\2\2\u013d\u0c82\3\2\2\2\u013f\u0c89\3\2\2\2\u0141\u0c90") - buf.write("\3\2\2\2\u0143\u0c99\3\2\2\2\u0145\u0ca0\3\2\2\2\u0147") - buf.write("\u0ca6\3\2\2\2\u0149\u0caa\3\2\2\2\u014b\u0cb0\3\2\2\2") - buf.write("\u014d\u0cb7\3\2\2\2\u014f\u0cbc\3\2\2\2\u0151\u0cc2\3") - buf.write("\2\2\2\u0153\u0cc8\3\2\2\2\u0155\u0ccd\3\2\2\2\u0157\u0cd3") - buf.write("\3\2\2\2\u0159\u0cd7\3\2\2\2\u015b\u0ce0\3\2\2\2\u015d") - buf.write("\u0ce8\3\2\2\2\u015f\u0cf1\3\2\2\2\u0161\u0cfb\3\2\2\2") - buf.write("\u0163\u0cff\3\2\2\2\u0165\u0d07\3\2\2\2\u0167\u0d0e\3") - buf.write("\2\2\2\u0169\u0d13\3\2\2\2\u016b\u0d1a\3\2\2\2\u016d\u0d20") - buf.write("\3\2\2\2\u016f\u0d28\3\2\2\2\u0171\u0d30\3\2\2\2\u0173") - buf.write("\u0d35\3\2\2\2\u0175\u0d3a\3\2\2\2\u0177\u0d44\3\2\2\2") - buf.write("\u0179\u0d4d\3\2\2\2\u017b\u0d52\3\2\2\2\u017d\u0d57\3") - buf.write("\2\2\2\u017f\u0d5f\3\2\2\2\u0181\u0d66\3\2\2\2\u0183\u0d70") - buf.write("\3\2\2\2\u0185\u0d79\3\2\2\2\u0187\u0d7e\3\2\2\2\u0189") - buf.write("\u0d89\3\2\2\2\u018b\u0d92\3\2\2\2\u018d\u0d9b\3\2\2\2") - buf.write("\u018f\u0da0\3\2\2\2\u0191\u0dab\3\2\2\2\u0193\u0db4\3") - buf.write("\2\2\2\u0195\u0db9\3\2\2\2\u0197\u0dc0\3\2\2\2\u0199\u0dcb") - buf.write("\3\2\2\2\u019b\u0dd4\3\2\2\2\u019d\u0ddf\3\2\2\2\u019f") - buf.write("\u0dea\3\2\2\2\u01a1\u0df6\3\2\2\2\u01a3\u0e02\3\2\2\2") - buf.write("\u01a5\u0e10\3\2\2\2\u01a7\u0e23\3\2\2\2\u01a9\u0e36\3") - buf.write("\2\2\2\u01ab\u0e47\3\2\2\2\u01ad\u0e57\3\2\2\2\u01af\u0e5b") - buf.write("\3\2\2\2\u01b1\u0e63\3\2\2\2\u01b3\u0e6a\3\2\2\2\u01b5") - buf.write("\u0e72\3\2\2\2\u01b7\u0e78\3\2\2\2\u01b9\u0e85\3\2\2\2") - buf.write("\u01bb\u0e89\3\2\2\2\u01bd\u0e8d\3\2\2\2\u01bf\u0e91\3") - buf.write("\2\2\2\u01c1\u0e98\3\2\2\2\u01c3\u0ea3\3\2\2\2\u01c5\u0eaf") - buf.write("\3\2\2\2\u01c7\u0eb3\3\2\2\2\u01c9\u0ebb\3\2\2\2\u01cb") - buf.write("\u0ec4\3\2\2\2\u01cd\u0ecd\3\2\2\2\u01cf\u0ed4\3\2\2\2") - buf.write("\u01d1\u0ee1\3\2\2\2\u01d3\u0eee\3\2\2\2\u01d5\u0f00\3") - buf.write("\2\2\2\u01d7\u0f0a\3\2\2\2\u01d9\u0f12\3\2\2\2\u01db\u0f1a") - buf.write("\3\2\2\2\u01dd\u0f23\3\2\2\2\u01df\u0f2c\3\2\2\2\u01e1") - buf.write("\u0f34\3\2\2\2\u01e3\u0f43\3\2\2\2\u01e5\u0f47\3\2\2\2") - buf.write("\u01e7\u0f50\3\2\2\2\u01e9\u0f57\3\2\2\2\u01eb\u0f61\3") - buf.write("\2\2\2\u01ed\u0f69\3\2\2\2\u01ef\u0f6e\3\2\2\2\u01f1\u0f77") - buf.write("\3\2\2\2\u01f3\u0f80\3\2\2\2\u01f5\u0f8e\3\2\2\2\u01f7") - buf.write("\u0f96\3\2\2\2\u01f9\u0f9d\3\2\2\2\u01fb\u0fa3\3\2\2\2") - buf.write("\u01fd\u0fad\3\2\2\2\u01ff\u0fb7\3\2\2\2\u0201\u0fbb\3") - buf.write("\2\2\2\u0203\u0fbe\3\2\2\2\u0205\u0fc6\3\2\2\2\u0207\u0fd1") - buf.write("\3\2\2\2\u0209\u0fe1\3\2\2\2\u020b\u0ff0\3\2\2\2\u020d") - buf.write("\u0fff\3\2\2\2\u020f\u1005\3\2\2\2\u0211\u100c\3\2\2\2") - buf.write("\u0213\u1010\3\2\2\2\u0215\u1016\3\2\2\2\u0217\u101b\3") - buf.write("\2\2\2\u0219\u1023\3\2\2\2\u021b\u1029\3\2\2\2\u021d\u102f") - buf.write("\3\2\2\2\u021f\u1038\3\2\2\2\u0221\u103e\3\2\2\2\u0223") - buf.write("\u1046\3\2\2\2\u0225\u104e\3\2\2\2\u0227\u1057\3\2\2\2") - buf.write("\u0229\u105e\3\2\2\2\u022b\u1065\3\2\2\2\u022d\u106b\3") - buf.write("\2\2\2\u022f\u1074\3\2\2\2\u0231\u1079\3\2\2\2\u0233\u1081") - buf.write("\3\2\2\2\u0235\u108f\3\2\2\2\u0237\u1097\3\2\2\2\u0239") - buf.write("\u109e\3\2\2\2\u023b\u10a6\3\2\2\2\u023d\u10b1\3\2\2\2") - buf.write("\u023f\u10bc\3\2\2\2\u0241\u10c8\3\2\2\2\u0243\u10d3\3") - buf.write("\2\2\2\u0245\u10de\3\2\2\2\u0247\u10e9\3\2\2\2\u0249\u10f2") - buf.write("\3\2\2\2\u024b\u10fa\3\2\2\2\u024d\u1107\3\2\2\2\u024f") - buf.write("\u110c\3\2\2\2\u0251\u1110\3\2\2\2\u0253\u1115\3\2\2\2") - buf.write("\u0255\u111e\3\2\2\2\u0257\u1129\3\2\2\2\u0259\u1136\3") - buf.write("\2\2\2\u025b\u113e\3\2\2\2\u025d\u114e\3\2\2\2\u025f\u115b") - buf.write("\3\2\2\2\u0261\u1165\3\2\2\2\u0263\u116d\3\2\2\2\u0265") - buf.write("\u1175\3\2\2\2\u0267\u117a\3\2\2\2\u0269\u117d\3\2\2\2") - buf.write("\u026b\u1186\3\2\2\2\u026d\u1190\3\2\2\2\u026f\u1198\3") - buf.write("\2\2\2\u0271\u119f\3\2\2\2\u0273\u11aa\3\2\2\2\u0275\u11ae") - buf.write("\3\2\2\2\u0277\u11b3\3\2\2\2\u0279\u11ba\3\2\2\2\u027b") - buf.write("\u11c2\3\2\2\2\u027d\u11c8\3\2\2\2\u027f\u11cf\3\2\2\2") - buf.write("\u0281\u11d6\3\2\2\2\u0283\u11db\3\2\2\2\u0285\u11e1\3") - buf.write("\2\2\2\u0287\u11e8\3\2\2\2\u0289\u11ee\3\2\2\2\u028b\u11f7") - buf.write("\3\2\2\2\u028d\u1201\3\2\2\2\u028f\u1208\3\2\2\2\u0291") - buf.write("\u120f\3\2\2\2\u0293\u1218\3\2\2\2\u0295\u1224\3\2\2\2") - buf.write("\u0297\u1229\3\2\2\2\u0299\u1230\3\2\2\2\u029b\u1237\3") - buf.write("\2\2\2\u029d\u1247\3\2\2\2\u029f\u124e\3\2\2\2\u02a1\u1254") - buf.write("\3\2\2\2\u02a3\u125a\3\2\2\2\u02a5\u1260\3\2\2\2\u02a7") - buf.write("\u1268\3\2\2\2\u02a9\u126e\3\2\2\2\u02ab\u1273\3\2\2\2") - buf.write("\u02ad\u127c\3\2\2\2\u02af\u1284\3\2\2\2\u02b1\u128b\3") - buf.write("\2\2\2\u02b3\u1292\3\2\2\2\u02b5\u12a4\3\2\2\2\u02b7\u12ac") - buf.write("\3\2\2\2\u02b9\u12b1\3\2\2\2\u02bb\u12b6\3\2\2\2\u02bd") - buf.write("\u12bb\3\2\2\2\u02bf\u12c1\3\2\2\2\u02c1\u12cc\3\2\2\2") - buf.write("\u02c3\u12de\3\2\2\2\u02c5\u12e5\3\2\2\2\u02c7\u12ed\3") - buf.write("\2\2\2\u02c9\u12fa\3\2\2\2\u02cb\u1302\3\2\2\2\u02cd\u1310") - buf.write("\3\2\2\2\u02cf\u1318\3\2\2\2\u02d1\u1321\3\2\2\2\u02d3") - buf.write("\u1329\3\2\2\2\u02d5\u132c\3\2\2\2\u02d7\u1336\3\2\2\2") - buf.write("\u02d9\u133a\3\2\2\2\u02db\u1344\3\2\2\2\u02dd\u134b\3") - buf.write("\2\2\2\u02df\u1350\3\2\2\2\u02e1\u135f\3\2\2\2\u02e3\u1368") - buf.write("\3\2\2\2\u02e5\u136d\3\2\2\2\u02e7\u1374\3\2\2\2\u02e9") - buf.write("\u1379\3\2\2\2\u02eb\u137f\3\2\2\2\u02ed\u1384\3\2\2\2") - buf.write("\u02ef\u138a\3\2\2\2\u02f1\u1392\3\2\2\2\u02f3\u1397\3") - buf.write("\2\2\2\u02f5\u139e\3\2\2\2\u02f7\u13b3\3\2\2\2\u02f9\u13c8") - buf.write("\3\2\2\2\u02fb\u13d5\3\2\2\2\u02fd\u13ed\3\2\2\2\u02ff") - buf.write("\u13f9\3\2\2\2\u0301\u1409\3\2\2\2\u0303\u1418\3\2\2\2") - buf.write("\u0305\u1428\3\2\2\2\u0307\u1434\3\2\2\2\u0309\u1447\3") - buf.write("\2\2\2\u030b\u1452\3\2\2\2\u030d\u1460\3\2\2\2\u030f\u1472") - buf.write("\3\2\2\2\u0311\u1482\3\2\2\2\u0313\u1494\3\2\2\2\u0315") - buf.write("\u14a3\3\2\2\2\u0317\u14b6\3\2\2\2\u0319\u14c5\3\2\2\2") - buf.write("\u031b\u14d8\3\2\2\2\u031d\u14e4\3\2\2\2\u031f\u14fd\3") - buf.write("\2\2\2\u0321\u1512\3\2\2\2\u0323\u151b\3\2\2\2\u0325\u1524") - buf.write("\3\2\2\2\u0327\u1539\3\2\2\2\u0329\u154e\3\2\2\2\u032b") - buf.write("\u1555\3\2\2\2\u032d\u155b\3\2\2\2\u032f\u155f\3\2\2\2") - buf.write("\u0331\u1567\3\2\2\2\u0333\u1570\3\2\2\2\u0335\u1575\3") - buf.write("\2\2\2\u0337\u157c\3\2\2\2\u0339\u1582\3\2\2\2\u033b\u1588") - buf.write("\3\2\2\2\u033d\u158d\3\2\2\2\u033f\u1593\3\2\2\2\u0341") - buf.write("\u1599\3\2\2\2\u0343\u159f\3\2\2\2\u0345\u15a4\3\2\2\2") - buf.write("\u0347\u15a7\3\2\2\2\u0349\u15b1\3\2\2\2\u034b\u15b6\3") - buf.write("\2\2\2\u034d\u15be\3\2\2\2\u034f\u15c5\3\2\2\2\u0351\u15c8") - buf.write("\3\2\2\2\u0353\u15d5\3\2\2\2\u0355\u15d9\3\2\2\2\u0357") - buf.write("\u15e0\3\2\2\2\u0359\u15e5\3\2\2\2\u035b\u15ea\3\2\2\2") - buf.write("\u035d\u15fa\3\2\2\2\u035f\u1602\3\2\2\2\u0361\u1608\3") - buf.write("\2\2\2\u0363\u1612\3\2\2\2\u0365\u1617\3\2\2\2\u0367\u161e") - buf.write("\3\2\2\2\u0369\u1626\3\2\2\2\u036b\u1633\3\2\2\2\u036d") - buf.write("\u163e\3\2\2\2\u036f\u1647\3\2\2\2\u0371\u164d\3\2\2\2") - buf.write("\u0373\u1654\3\2\2\2\u0375\u165f\3\2\2\2\u0377\u1667\3") - buf.write("\2\2\2\u0379\u166c\3\2\2\2\u037b\u1675\3\2\2\2\u037d\u167d") - buf.write("\3\2\2\2\u037f\u1686\3\2\2\2\u0381\u168b\3\2\2\2\u0383") - buf.write("\u1697\3\2\2\2\u0385\u169f\3\2\2\2\u0387\u16a8\3\2\2\2") - buf.write("\u0389\u16ae\3\2\2\2\u038b\u16b4\3\2\2\2\u038d\u16ba\3") - buf.write("\2\2\2\u038f\u16c2\3\2\2\2\u0391\u16ca\3\2\2\2\u0393\u16db") - buf.write("\3\2\2\2\u0395\u16e5\3\2\2\2\u0397\u16eb\3\2\2\2\u0399") - buf.write("\u16fa\3\2\2\2\u039b\u1708\3\2\2\2\u039d\u1711\3\2\2\2") - buf.write("\u039f\u1718\3\2\2\2\u03a1\u1723\3\2\2\2\u03a3\u172a\3") - buf.write("\2\2\2\u03a5\u173a\3\2\2\2\u03a7\u174d\3\2\2\2\u03a9\u1761") - buf.write("\3\2\2\2\u03ab\u1778\3\2\2\2\u03ad\u178d\3\2\2\2\u03af") - buf.write("\u17a5\3\2\2\2\u03b1\u17c1\3\2\2\2\u03b3\u17cd\3\2\2\2") - buf.write("\u03b5\u17d3\3\2\2\2\u03b7\u17da\3\2\2\2\u03b9\u17e2\3") - buf.write("\2\2\2\u03bb\u17eb\3\2\2\2\u03bd\u17f2\3\2\2\2\u03bf\u17f9") - buf.write("\3\2\2\2\u03c1\u17fd\3\2\2\2\u03c3\u1802\3\2\2\2\u03c5") - buf.write("\u180d\3\2\2\2\u03c7\u1817\3\2\2\2\u03c9\u1820\3\2\2\2") - buf.write("\u03cb\u1829\3\2\2\2\u03cd\u1830\3\2\2\2\u03cf\u1838\3") - buf.write("\2\2\2\u03d1\u183e\3\2\2\2\u03d3\u1845\3\2\2\2\u03d5\u184c") - buf.write("\3\2\2\2\u03d7\u1853\3\2\2\2\u03d9\u1859\3\2\2\2\u03db") - buf.write("\u185e\3\2\2\2\u03dd\u1867\3\2\2\2\u03df\u186e\3\2\2\2") - buf.write("\u03e1\u1873\3\2\2\2\u03e3\u187a\3\2\2\2\u03e5\u1881\3") - buf.write("\2\2\2\u03e7\u1888\3\2\2\2\u03e9\u1898\3\2\2\2\u03eb\u18ab") - buf.write("\3\2\2\2\u03ed\u18bc\3\2\2\2\u03ef\u18ce\3\2\2\2\u03f1") - buf.write("\u18d8\3\2\2\2\u03f3\u18e5\3\2\2\2\u03f5\u18f0\3\2\2\2") - buf.write("\u03f7\u18f6\3\2\2\2\u03f9\u18fd\3\2\2\2\u03fb\u190f\3") - buf.write("\2\2\2\u03fd\u1920\3\2\2\2\u03ff\u1933\3\2\2\2\u0401\u193a") - buf.write("\3\2\2\2\u0403\u193f\3\2\2\2\u0405\u1947\3\2\2\2\u0407") - buf.write("\u194e\3\2\2\2\u0409\u1955\3\2\2\2\u040b\u195d\3\2\2\2") - buf.write("\u040d\u196a\3\2\2\2\u040f\u1978\3\2\2\2\u0411\u1980\3") - buf.write("\2\2\2\u0413\u1986\3\2\2\2\u0415\u198f\3\2\2\2\u0417\u199a") - buf.write("\3\2\2\2\u0419\u19a4\3\2\2\2\u041b\u19ae\3\2\2\2\u041d") - buf.write("\u19b3\3\2\2\2\u041f\u19bf\3\2\2\2\u0421\u19cb\3\2\2\2") - buf.write("\u0423\u19d4\3\2\2\2\u0425\u19dd\3\2\2\2\u0427\u19e7\3") - buf.write("\2\2\2\u0429\u19f0\3\2\2\2\u042b\u1a01\3\2\2\2\u042d\u1a0b") - buf.write("\3\2\2\2\u042f\u1a13\3\2\2\2\u0431\u1a19\3\2\2\2\u0433") - buf.write("\u1a21\3\2\2\2\u0435\u1a26\3\2\2\2\u0437\u1a2e\3\2\2\2") - buf.write("\u0439\u1a3d\3\2\2\2\u043b\u1a48\3\2\2\2\u043d\u1a4e\3") - buf.write("\2\2\2\u043f\u1a58\3\2\2\2\u0441\u1a5d\3\2\2\2\u0443\u1a65") - buf.write("\3\2\2\2\u0445\u1a6a\3\2\2\2\u0447\u1a73\3\2\2\2\u0449") - buf.write("\u1a7b\3\2\2\2\u044b\u1a80\3\2\2\2\u044d\u1a88\3\2\2\2") - buf.write("\u044f\u1a8d\3\2\2\2\u0451\u1a90\3\2\2\2\u0453\u1a94\3") - buf.write("\2\2\2\u0455\u1a98\3\2\2\2\u0457\u1a9c\3\2\2\2\u0459\u1aa0") - buf.write("\3\2\2\2\u045b\u1aa4\3\2\2\2\u045d\u1aad\3\2\2\2\u045f") - buf.write("\u1ab5\3\2\2\2\u0461\u1abb\3\2\2\2\u0463\u1abf\3\2\2\2") - buf.write("\u0465\u1ac4\3\2\2\2\u0467\u1acb\3\2\2\2\u0469\u1ad0\3") - buf.write("\2\2\2\u046b\u1ad7\3\2\2\2\u046d\u1ae3\3\2\2\2\u046f\u1aea") - buf.write("\3\2\2\2\u0471\u1af2\3\2\2\2\u0473\u1afa\3\2\2\2\u0475") - buf.write("\u1aff\3\2\2\2\u0477\u1b07\3\2\2\2\u0479\u1b0e\3\2\2\2") - buf.write("\u047b\u1b17\3\2\2\2\u047d\u1b1d\3\2\2\2\u047f\u1b28\3") - buf.write("\2\2\2\u0481\u1b31\3\2\2\2\u0483\u1b37\3\2\2\2\u0485\u1b3c") - buf.write("\3\2\2\2\u0487\u1b43\3\2\2\2\u0489\u1b4a\3\2\2\2\u048b") - buf.write("\u1b51\3\2\2\2\u048d\u1b58\3\2\2\2\u048f\u1b5e\3\2\2\2") - buf.write("\u0491\u1b64\3\2\2\2\u0493\u1b6a\3\2\2\2\u0495\u1b70\3") - buf.write("\2\2\2\u0497\u1b75\3\2\2\2\u0499\u1b7d\3\2\2\2\u049b\u1b83") - buf.write("\3\2\2\2\u049d\u1b8a\3\2\2\2\u049f\u1b8e\3\2\2\2\u04a1") - buf.write("\u1b96\3\2\2\2\u04a3\u1b9c\3\2\2\2\u04a5\u1ba3\3\2\2\2") - buf.write("\u04a7\u1ba7\3\2\2\2\u04a9\u1baf\3\2\2\2\u04ab\u1bb5\3") - buf.write("\2\2\2\u04ad\u1bbb\3\2\2\2\u04af\u1bc2\3\2\2\2\u04b1\u1bc9") - buf.write("\3\2\2\2\u04b3\u1bd0\3\2\2\2\u04b5\u1bd7\3\2\2\2\u04b7") - buf.write("\u1bdd\3\2\2\2\u04b9\u1be6\3\2\2\2\u04bb\u1beb\3\2\2\2") - buf.write("\u04bd\u1bf0\3\2\2\2\u04bf\u1bf7\3\2\2\2\u04c1\u1bfc\3") - buf.write("\2\2\2\u04c3\u1c01\3\2\2\2\u04c5\u1c07\3\2\2\2\u04c7\u1c0f") - buf.write("\3\2\2\2\u04c9\u1c15\3\2\2\2\u04cb\u1c1a\3\2\2\2\u04cd") - buf.write("\u1c22\3\2\2\2\u04cf\u1c2a\3\2\2\2\u04d1\u1c32\3\2\2\2") - buf.write("\u04d3\u1c3c\3\2\2\2\u04d5\u1c40\3\2\2\2\u04d7\u1c4a\3") - buf.write("\2\2\2\u04d9\u1c51\3\2\2\2\u04db\u1c58\3\2\2\2\u04dd\u1c63") - buf.write("\3\2\2\2\u04df\u1c6a\3\2\2\2\u04e1\u1c6e\3\2\2\2\u04e3") - buf.write("\u1c79\3\2\2\2\u04e5\u1c8b\3\2\2\2\u04e7\u1c96\3\2\2\2") - buf.write("\u04e9\u1ca0\3\2\2\2\u04eb\u1cac\3\2\2\2\u04ed\u1cb9\3") - buf.write("\2\2\2\u04ef\u1ccc\3\2\2\2\u04f1\u1cd7\3\2\2\2\u04f3\u1ce7") - buf.write("\3\2\2\2\u04f5\u1cf2\3\2\2\2\u04f7\u1cff\3\2\2\2\u04f9") - buf.write("\u1d05\3\2\2\2\u04fb\u1d0d\3\2\2\2\u04fd\u1d11\3\2\2\2") - buf.write("\u04ff\u1d16\3\2\2\2\u0501\u1d1e\3\2\2\2\u0503\u1d26\3") - buf.write("\2\2\2\u0505\u1d32\3\2\2\2\u0507\u1d3e\3\2\2\2\u0509\u1d43") - buf.write("\3\2\2\2\u050b\u1d4c\3\2\2\2\u050d\u1d51\3\2\2\2\u050f") - buf.write("\u1d58\3\2\2\2\u0511\u1d5e\3\2\2\2\u0513\u1d64\3\2\2\2") - buf.write("\u0515\u1d77\3\2\2\2\u0517\u1d89\3\2\2\2\u0519\u1d9c\3") - buf.write("\2\2\2\u051b\u1dac\3\2\2\2\u051d\u1dbe\3\2\2\2\u051f\u1dc3") - buf.write("\3\2\2\2\u0521\u1dc9\3\2\2\2\u0523\u1dd3\3\2\2\2\u0525") - buf.write("\u1dd7\3\2\2\2\u0527\u1de1\3\2\2\2\u0529\u1dec\3\2\2\2") - buf.write("\u052b\u1df3\3\2\2\2\u052d\u1df8\3\2\2\2\u052f\u1e00\3") - buf.write("\2\2\2\u0531\u1e09\3\2\2\2\u0533\u1e1a\3\2\2\2\u0535\u1e22") - buf.write("\3\2\2\2\u0537\u1e2e\3\2\2\2\u0539\u1e3b\3\2\2\2\u053b") - buf.write("\u1e45\3\2\2\2\u053d\u1e4e\3\2\2\2\u053f\u1e55\3\2\2\2") - buf.write("\u0541\u1e5f\3\2\2\2\u0543\u1e6d\3\2\2\2\u0545\u1e72\3") - buf.write("\2\2\2\u0547\u1e7d\3\2\2\2\u0549\u1e81\3\2\2\2\u054b\u1e85") - buf.write("\3\2\2\2\u054d\u1e8b\3\2\2\2\u054f\u1ea6\3\2\2\2\u0551") - buf.write("\u1ec0\3\2\2\2\u0553\u1ed5\3\2\2\2\u0555\u1ee3\3\2\2\2") - buf.write("\u0557\u1eeb\3\2\2\2\u0559\u1ef4\3\2\2\2\u055b\u1f00\3") - buf.write("\2\2\2\u055d\u1f08\3\2\2\2\u055f\u1f13\3\2\2\2\u0561\u1f1d") - buf.write("\3\2\2\2\u0563\u1f27\3\2\2\2\u0565\u1f2e\3\2\2\2\u0567") - buf.write("\u1f36\3\2\2\2\u0569\u1f42\3\2\2\2\u056b\u1f4e\3\2\2\2") - buf.write("\u056d\u1f58\3\2\2\2\u056f\u1f61\3\2\2\2\u0571\u1f65\3") - buf.write("\2\2\2\u0573\u1f6c\3\2\2\2\u0575\u1f74\3\2\2\2\u0577\u1f7d") - buf.write("\3\2\2\2\u0579\u1f86\3\2\2\2\u057b\u1f8d\3\2\2\2\u057d") - buf.write("\u1f91\3\2\2\2\u057f\u1f9c\3\2\2\2\u0581\u1fa9\3\2\2\2") - buf.write("\u0583\u1fb6\3\2\2\2\u0585\u1fbc\3\2\2\2\u0587\u1fc8\3") - buf.write("\2\2\2\u0589\u1fce\3\2\2\2\u058b\u1fd5\3\2\2\2\u058d\u1fe0") - buf.write("\3\2\2\2\u058f\u1fec\3\2\2\2\u0591\u1ff6\3\2\2\2\u0593") - buf.write("\u2004\3\2\2\2\u0595\u2015\3\2\2\2\u0597\u2025\3\2\2\2") - buf.write("\u0599\u2040\3\2\2\2\u059b\u205a\3\2\2\2\u059d\u206b\3") - buf.write("\2\2\2\u059f\u207b\3\2\2\2\u05a1\u2085\3\2\2\2\u05a3\u2092") - buf.write("\3\2\2\2\u05a5\u209f\3\2\2\2\u05a7\u20ab\3\2\2\2\u05a9") - buf.write("\u20b6\3\2\2\2\u05ab\u20bf\3\2\2\2\u05ad\u20c7\3\2\2\2") - buf.write("\u05af\u20d0\3\2\2\2\u05b1\u20dc\3\2\2\2\u05b3\u20ea\3") - buf.write("\2\2\2\u05b5\u20ee\3\2\2\2\u05b7\u20f5\3\2\2\2\u05b9\u2100") - buf.write("\3\2\2\2\u05bb\u210b\3\2\2\2\u05bd\u2115\3\2\2\2\u05bf") - buf.write("\u211f\3\2\2\2\u05c1\u2125\3\2\2\2\u05c3\u2133\3\2\2\2") - buf.write("\u05c5\u213e\3\2\2\2\u05c7\u2147\3\2\2\2\u05c9\u214f\3") - buf.write("\2\2\2\u05cb\u2156\3\2\2\2\u05cd\u215f\3\2\2\2\u05cf\u216c") - buf.write("\3\2\2\2\u05d1\u2174\3\2\2\2\u05d3\u2183\3\2\2\2\u05d5") - buf.write("\u2192\3\2\2\2\u05d7\u219a\3\2\2\2\u05d9\u21a7\3\2\2\2") - buf.write("\u05db\u21b6\3\2\2\2\u05dd\u21bc\3\2\2\2\u05df\u21c2\3") - buf.write("\2\2\2\u05e1\u21c9\3\2\2\2\u05e3\u21d6\3\2\2\2\u05e5\u21e2") - buf.write("\3\2\2\2\u05e7\u21f5\3\2\2\2\u05e9\u2207\3\2\2\2\u05eb") - buf.write("\u220a\3\2\2\2\u05ed\u2214\3\2\2\2\u05ef\u221b\3\2\2\2") - buf.write("\u05f1\u221f\3\2\2\2\u05f3\u2225\3\2\2\2\u05f5\u222a\3") - buf.write("\2\2\2\u05f7\u2230\3\2\2\2\u05f9\u2235\3\2\2\2\u05fb\u223b") - buf.write("\3\2\2\2\u05fd\u2244\3\2\2\2\u05ff\u224d\3\2\2\2\u0601") - buf.write("\u2256\3\2\2\2\u0603\u2266\3\2\2\2\u0605\u2272\3\2\2\2") - buf.write("\u0607\u227e\3\2\2\2\u0609\u2287\3\2\2\2\u060b\u2295\3") - buf.write("\2\2\2\u060d\u22a1\3\2\2\2\u060f\u22ac\3\2\2\2\u0611\u22b6") - buf.write("\3\2\2\2\u0613\u22ba\3\2\2\2\u0615\u22c8\3\2\2\2\u0617") - buf.write("\u22d5\3\2\2\2\u0619\u22df\3\2\2\2\u061b\u22ee\3\2\2\2") - buf.write("\u061d\u22fc\3\2\2\2\u061f\u230a\3\2\2\2\u0621\u2317\3") - buf.write("\2\2\2\u0623\u232f\3\2\2\2\u0625\u2346\3\2\2\2\u0627\u2359") - buf.write("\3\2\2\2\u0629\u236b\3\2\2\2\u062b\u2380\3\2\2\2\u062d") - buf.write("\u2394\3\2\2\2\u062f\u239f\3\2\2\2\u0631\u23a6\3\2\2\2") - buf.write("\u0633\u23b4\3\2\2\2\u0635\u23c5\3\2\2\2\u0637\u23cf\3") - buf.write("\2\2\2\u0639\u23d3\3\2\2\2\u063b\u23e0\3\2\2\2\u063d\u23e4") - buf.write("\3\2\2\2\u063f\u23ed\3\2\2\2\u0641\u23f8\3\2\2\2\u0643") - buf.write("\u2404\3\2\2\2\u0645\u2407\3\2\2\2\u0647\u2415\3\2\2\2") - buf.write("\u0649\u2422\3\2\2\2\u064b\u2429\3\2\2\2\u064d\u2436\3") - buf.write("\2\2\2\u064f\u2442\3\2\2\2\u0651\u2452\3\2\2\2\u0653\u2461") - buf.write("\3\2\2\2\u0655\u2465\3\2\2\2\u0657\u246b\3\2\2\2\u0659") - buf.write("\u2471\3\2\2\2\u065b\u2479\3\2\2\2\u065d\u247e\3\2\2\2") - buf.write("\u065f\u248b\3\2\2\2\u0661\u2498\3\2\2\2\u0663\u24a0\3") - buf.write("\2\2\2\u0665\u24a6\3\2\2\2\u0667\u24b0\3\2\2\2\u0669\u24b5") - buf.write("\3\2\2\2\u066b\u24bb\3\2\2\2\u066d\u24c7\3\2\2\2\u066f") - buf.write("\u24d4\3\2\2\2\u0671\u24d8\3\2\2\2\u0673\u24dd\3\2\2\2") - buf.write("\u0675\u24e2\3\2\2\2\u0677\u24e7\3\2\2\2\u0679\u24eb\3") - buf.write("\2\2\2\u067b\u24f1\3\2\2\2\u067d\u24f9\3\2\2\2\u067f\u2515") - buf.write("\3\2\2\2\u0681\u251a\3\2\2\2\u0683\u251f\3\2\2\2\u0685") - buf.write("\u252a\3\2\2\2\u0687\u2531\3\2\2\2\u0689\u253d\3\2\2\2") - buf.write("\u068b\u2545\3\2\2\2\u068d\u2551\3\2\2\2\u068f\u255b\3") - buf.write("\2\2\2\u0691\u2564\3\2\2\2\u0693\u256d\3\2\2\2\u0695\u2577") - buf.write("\3\2\2\2\u0697\u2583\3\2\2\2\u0699\u258f\3\2\2\2\u069b") - buf.write("\u259a\3\2\2\2\u069d\u25a8\3\2\2\2\u069f\u25b5\3\2\2\2") - buf.write("\u06a1\u25c1\3\2\2\2\u06a3\u25cd\3\2\2\2\u06a5\u25d9\3") - buf.write("\2\2\2\u06a7\u25e5\3\2\2\2\u06a9\u25ef\3\2\2\2\u06ab\u25ff") - buf.write("\3\2\2\2\u06ad\u2613\3\2\2\2\u06af\u2626\3\2\2\2\u06b1") - buf.write("\u2639\3\2\2\2\u06b3\u2657\3\2\2\2\u06b5\u2674\3\2\2\2") - buf.write("\u06b7\u2688\3\2\2\2\u06b9\u269b\3\2\2\2\u06bb\u26a8\3") - buf.write("\2\2\2\u06bd\u26b8\3\2\2\2\u06bf\u26c8\3\2\2\2\u06c1\u26d7") - buf.write("\3\2\2\2\u06c3\u26e8\3\2\2\2\u06c5\u26f8\3\2\2\2\u06c7") - buf.write("\u2706\3\2\2\2\u06c9\u2712\3\2\2\2\u06cb\u271d\3\2\2\2") - buf.write("\u06cd\u2729\3\2\2\2\u06cf\u2739\3\2\2\2\u06d1\u2748\3") - buf.write("\2\2\2\u06d3\u275e\3\2\2\2\u06d5\u2773\3\2\2\2\u06d7\u2784") - buf.write("\3\2\2\2\u06d9\u2797\3\2\2\2\u06db\u27ab\3\2\2\2\u06dd") - buf.write("\u27b8\3\2\2\2\u06df\u27c4\3\2\2\2\u06e1\u27d5\3\2\2\2") - buf.write("\u06e3\u27e5\3\2\2\2\u06e5\u27ef\3\2\2\2\u06e7\u27ff\3") - buf.write("\2\2\2\u06e9\u280e\3\2\2\2\u06eb\u2821\3\2\2\2\u06ed\u2833") - buf.write("\3\2\2\2\u06ef\u283b\3\2\2\2\u06f1\u2849\3\2\2\2\u06f3") - buf.write("\u285a\3\2\2\2\u06f5\u2865\3\2\2\2\u06f7\u286e\3\2\2\2") - buf.write("\u06f9\u2878\3\2\2\2\u06fb\u287d\3\2\2\2\u06fd\u2882\3") - buf.write("\2\2\2\u06ff\u288a\3\2\2\2\u0701\u289a\3\2\2\2\u0703\u28a2") - buf.write("\3\2\2\2\u0705\u28ae\3\2\2\2\u0707\u28b2\3\2\2\2\u0709") - buf.write("\u28bb\3\2\2\2\u070b\u28c8\3\2\2\2\u070d\u28d6\3\2\2\2") - buf.write("\u070f\u28e2\3\2\2\2\u0711\u28ee\3\2\2\2\u0713\u28f6\3") - buf.write("\2\2\2\u0715\u2900\3\2\2\2\u0717\u2908\3\2\2\2\u0719\u2913") - buf.write("\3\2\2\2\u071b\u2919\3\2\2\2\u071d\u2924\3\2\2\2\u071f") - buf.write("\u2938\3\2\2\2\u0721\u293e\3\2\2\2\u0723\u294d\3\2\2\2") - buf.write("\u0725\u2957\3\2\2\2\u0727\u295d\3\2\2\2\u0729\u2962\3") - buf.write("\2\2\2\u072b\u296d\3\2\2\2\u072d\u2988\3\2\2\2\u072f\u2990") - buf.write("\3\2\2\2\u0731\u29b2\3\2\2\2\u0733\u29ba\3\2\2\2\u0735") - buf.write("\u29c5\3\2\2\2\u0737\u29d3\3\2\2\2\u0739\u29da\3\2\2\2") - buf.write("\u073b\u29e3\3\2\2\2\u073d\u29e5\3\2\2\2\u073f\u29e7\3") - buf.write("\2\2\2\u0741\u29ea\3\2\2\2\u0743\u29ed\3\2\2\2\u0745\u29f0") - buf.write("\3\2\2\2\u0747\u29f3\3\2\2\2\u0749\u29f6\3\2\2\2\u074b") - buf.write("\u29f9\3\2\2\2\u074d\u29fc\3\2\2\2\u074f\u29ff\3\2\2\2") - buf.write("\u0751\u2a02\3\2\2\2\u0753\u2a04\3\2\2\2\u0755\u2a06\3") - buf.write("\2\2\2\u0757\u2a08\3\2\2\2\u0759\u2a0a\3\2\2\2\u075b\u2a0d") - buf.write("\3\2\2\2\u075d\u2a0f\3\2\2\2\u075f\u2a13\3\2\2\2\u0761") - buf.write("\u2a17\3\2\2\2\u0763\u2a19\3\2\2\2\u0765\u2a1b\3\2\2\2") - buf.write("\u0767\u2a1d\3\2\2\2\u0769\u2a1f\3\2\2\2\u076b\u2a21\3") - buf.write("\2\2\2\u076d\u2a23\3\2\2\2\u076f\u2a25\3\2\2\2\u0771\u2a27") - buf.write("\3\2\2\2\u0773\u2a29\3\2\2\2\u0775\u2a2b\3\2\2\2\u0777") - buf.write("\u2a2d\3\2\2\2\u0779\u2a2f\3\2\2\2\u077b\u2a31\3\2\2\2") - buf.write("\u077d\u2a33\3\2\2\2\u077f\u2a35\3\2\2\2\u0781\u2a37\3") - buf.write("\2\2\2\u0783\u2a39\3\2\2\2\u0785\u2a3b\3\2\2\2\u0787\u2a3d") - buf.write("\3\2\2\2\u0789\u2a3f\3\2\2\2\u078b\u2a41\3\2\2\2\u078d") - buf.write("\u2a46\3\2\2\2\u078f\u2a4c\3\2\2\2\u0791\u2a51\3\2\2\2") - buf.write("\u0793\u2a54\3\2\2\2\u0795\u2a6b\3\2\2\2\u0797\u2a98\3") - buf.write("\2\2\2\u0799\u2a9a\3\2\2\2\u079b\u2a9d\3\2\2\2\u079d\u2a9f") - buf.write("\3\2\2\2\u079f\u2aa2\3\2\2\2\u07a1\u2aa5\3\2\2\2\u07a3") - buf.write("\u2aa7\3\2\2\2\u07a5\u2ab3\3\2\2\2\u07a7\u2abc\3\2\2\2") - buf.write("\u07a9\u2ac7\3\2\2\2\u07ab\u2af9\3\2\2\2\u07ad\u2afb\3") - buf.write("\2\2\2\u07af\u2b07\3\2\2\2\u07b1\u2b15\3\2\2\2\u07b3\u2b22") - buf.write("\3\2\2\2\u07b5\u2b2f\3\2\2\2\u07b7\u2b3c\3\2\2\2\u07b9") - buf.write("\u2b3e\3\2\2\2\u07bb\u2b40\3\2\2\2\u07bd\u2b49\3\2\2\2") - buf.write("\u07bf\u07c1\t\2\2\2\u07c0\u07bf\3\2\2\2\u07c1\u07c2\3") - buf.write("\2\2\2\u07c2\u07c0\3\2\2\2\u07c2\u07c3\3\2\2\2\u07c3\u07c4") - buf.write("\3\2\2\2\u07c4\u07c5\b\2\2\2\u07c5\4\3\2\2\2\u07c6\u07c7") - buf.write("\7\61\2\2\u07c7\u07c8\7,\2\2\u07c8\u07c9\7#\2\2\u07c9") - buf.write("\u07cb\3\2\2\2\u07ca\u07cc\13\2\2\2\u07cb\u07ca\3\2\2") - buf.write("\2\u07cc\u07cd\3\2\2\2\u07cd\u07ce\3\2\2\2\u07cd\u07cb") - buf.write("\3\2\2\2\u07ce\u07cf\3\2\2\2\u07cf\u07d0\7,\2\2\u07d0") - buf.write("\u07d1\7\61\2\2\u07d1\u07d2\3\2\2\2\u07d2\u07d3\b\3\3") - buf.write("\2\u07d3\6\3\2\2\2\u07d4\u07d5\7\61\2\2\u07d5\u07d6\7") - buf.write(",\2\2\u07d6\u07da\3\2\2\2\u07d7\u07d9\13\2\2\2\u07d8\u07d7") - buf.write("\3\2\2\2\u07d9\u07dc\3\2\2\2\u07da\u07db\3\2\2\2\u07da") - buf.write("\u07d8\3\2\2\2\u07db\u07dd\3\2\2\2\u07dc\u07da\3\2\2\2") - buf.write("\u07dd\u07de\7,\2\2\u07de\u07df\7\61\2\2\u07df\u07e0\3") - buf.write("\2\2\2\u07e0\u07e1\b\4\2\2\u07e1\b\3\2\2\2\u07e2\u07e3") - buf.write("\7/\2\2\u07e3\u07e4\7/\2\2\u07e4\u07e7\7\"\2\2\u07e5\u07e7") - buf.write("\7%\2\2\u07e6\u07e2\3\2\2\2\u07e6\u07e5\3\2\2\2\u07e7") - buf.write("\u07eb\3\2\2\2\u07e8\u07ea\n\3\2\2\u07e9\u07e8\3\2\2\2") - buf.write("\u07ea\u07ed\3\2\2\2\u07eb\u07e9\3\2\2\2\u07eb\u07ec\3") - buf.write("\2\2\2\u07ec\u07f3\3\2\2\2\u07ed\u07eb\3\2\2\2\u07ee\u07f0") - buf.write("\7\17\2\2\u07ef\u07ee\3\2\2\2\u07ef\u07f0\3\2\2\2\u07f0") - buf.write("\u07f1\3\2\2\2\u07f1\u07f4\7\f\2\2\u07f2\u07f4\7\2\2\3") - buf.write("\u07f3\u07ef\3\2\2\2\u07f3\u07f2\3\2\2\2\u07f4\u0800\3") - buf.write("\2\2\2\u07f5\u07f6\7/\2\2\u07f6\u07f7\7/\2\2\u07f7\u07fd") - buf.write("\3\2\2\2\u07f8\u07fa\7\17\2\2\u07f9\u07f8\3\2\2\2\u07f9") - buf.write("\u07fa\3\2\2\2\u07fa\u07fb\3\2\2\2\u07fb\u07fe\7\f\2\2") - buf.write("\u07fc\u07fe\7\2\2\3\u07fd\u07f9\3\2\2\2\u07fd\u07fc\3") - buf.write("\2\2\2\u07fe\u0800\3\2\2\2\u07ff\u07e6\3\2\2\2\u07ff\u07f5") - buf.write("\3\2\2\2\u0800\u0801\3\2\2\2\u0801\u0802\b\5\2\2\u0802") - buf.write("\n\3\2\2\2\u0803\u0804\7G\2\2\u0804\u0805\7T\2\2\u0805") - buf.write("\u0806\7T\2\2\u0806\u0807\7Q\2\2\u0807\u0808\7T\2\2\u0808") - buf.write("\u0809\7a\2\2\u0809\u080a\7Y\2\2\u080a\u080b\7K\2\2\u080b") - buf.write("\u080c\7V\2\2\u080c\u080d\7J\2\2\u080d\u080e\7K\2\2\u080e") - buf.write("\u080f\7P\2\2\u080f\f\3\2\2\2\u0810\u0811\7C\2\2\u0811") - buf.write("\u0812\7V\2\2\u0812\u0813\7a\2\2\u0813\u0814\7E\2\2\u0814") - buf.write("\u0815\7Q\2\2\u0815\u0816\7P\2\2\u0816\u0817\7H\2\2\u0817") - buf.write("\u0818\7K\2\2\u0818\u0819\7F\2\2\u0819\u081a\7G\2\2\u081a") - buf.write("\u081b\7P\2\2\u081b\u081c\7E\2\2\u081c\u081d\7G\2\2\u081d") - buf.write("\16\3\2\2\2\u081e\u081f\7C\2\2\u081f\u0820\7F\2\2\u0820") - buf.write("\u0821\7F\2\2\u0821\20\3\2\2\2\u0822\u0823\7C\2\2\u0823") - buf.write("\u0824\7N\2\2\u0824\u0825\7N\2\2\u0825\22\3\2\2\2\u0826") - buf.write("\u0827\7C\2\2\u0827\u0828\7N\2\2\u0828\u0829\7V\2\2\u0829") - buf.write("\u082a\7G\2\2\u082a\u082b\7T\2\2\u082b\24\3\2\2\2\u082c") - buf.write("\u082d\7C\2\2\u082d\u082e\7N\2\2\u082e\u082f\7Y\2\2\u082f") - buf.write("\u0830\7C\2\2\u0830\u0831\7[\2\2\u0831\u0832\7U\2\2\u0832") - buf.write("\26\3\2\2\2\u0833\u0834\7C\2\2\u0834\u0835\7P\2\2\u0835") - buf.write("\u0836\7C\2\2\u0836\u0837\7N\2\2\u0837\u0838\7[\2\2\u0838") - buf.write("\u0839\7\\\2\2\u0839\u083a\7G\2\2\u083a\30\3\2\2\2\u083b") - buf.write("\u083c\7C\2\2\u083c\u083d\7P\2\2\u083d\u083e\7F\2\2\u083e") - buf.write("\32\3\2\2\2\u083f\u0840\7C\2\2\u0840\u0841\7U\2\2\u0841") - buf.write("\34\3\2\2\2\u0842\u0843\7C\2\2\u0843\u0844\7U\2\2\u0844") - buf.write("\u0845\7E\2\2\u0845\36\3\2\2\2\u0846\u0847\7D\2\2\u0847") - buf.write("\u0848\7G\2\2\u0848\u0849\7H\2\2\u0849\u084a\7Q\2\2\u084a") - buf.write("\u084b\7T\2\2\u084b\u084c\7G\2\2\u084c \3\2\2\2\u084d") - buf.write("\u084e\7D\2\2\u084e\u084f\7G\2\2\u084f\u0850\7V\2\2\u0850") - buf.write("\u0851\7Y\2\2\u0851\u0852\7G\2\2\u0852\u0853\7G\2\2\u0853") - buf.write("\u0854\7P\2\2\u0854\"\3\2\2\2\u0855\u0856\7D\2\2\u0856") - buf.write("\u0857\7Q\2\2\u0857\u0858\7V\2\2\u0858\u0859\7J\2\2\u0859") - buf.write("$\3\2\2\2\u085a\u085b\7D\2\2\u085b\u085c\7[\2\2\u085c") - buf.write("&\3\2\2\2\u085d\u085e\7E\2\2\u085e\u085f\7C\2\2\u085f") - buf.write("\u0860\7N\2\2\u0860\u0861\7N\2\2\u0861(\3\2\2\2\u0862") - buf.write("\u0863\7E\2\2\u0863\u0864\7C\2\2\u0864\u0865\7U\2\2\u0865") - buf.write("\u0866\7E\2\2\u0866\u0867\7C\2\2\u0867\u0868\7F\2\2\u0868") - buf.write("\u0869\7G\2\2\u0869*\3\2\2\2\u086a\u086b\7E\2\2\u086b") - buf.write("\u086c\7C\2\2\u086c\u086d\7U\2\2\u086d\u086e\7G\2\2\u086e") - buf.write(",\3\2\2\2\u086f\u0870\7E\2\2\u0870\u0871\7C\2\2\u0871") - buf.write("\u0872\7U\2\2\u0872\u0873\7V\2\2\u0873.\3\2\2\2\u0874") - buf.write("\u0875\7E\2\2\u0875\u0876\7J\2\2\u0876\u0877\7C\2\2\u0877") - buf.write("\u0878\7P\2\2\u0878\u0879\7I\2\2\u0879\u087a\7G\2\2\u087a") - buf.write("\60\3\2\2\2\u087b\u087c\7E\2\2\u087c\u087d\7J\2\2\u087d") - buf.write("\u087e\7C\2\2\u087e\u087f\7T\2\2\u087f\u0880\7C\2\2\u0880") - buf.write("\u0881\7E\2\2\u0881\u0882\7V\2\2\u0882\u0883\7G\2\2\u0883") - buf.write("\u0884\7T\2\2\u0884\62\3\2\2\2\u0885\u0886\7E\2\2\u0886") - buf.write("\u0887\7J\2\2\u0887\u0888\7G\2\2\u0888\u0889\7E\2\2\u0889") - buf.write("\u088a\7M\2\2\u088a\64\3\2\2\2\u088b\u088c\7E\2\2\u088c") - buf.write("\u088d\7Q\2\2\u088d\u088e\7N\2\2\u088e\u088f\7N\2\2\u088f") - buf.write("\u0890\7C\2\2\u0890\u0891\7V\2\2\u0891\u0892\7G\2\2\u0892") - buf.write("\66\3\2\2\2\u0893\u0894\7E\2\2\u0894\u0895\7Q\2\2\u0895") - buf.write("\u0896\7N\2\2\u0896\u0897\7W\2\2\u0897\u0898\7O\2\2\u0898") - buf.write("\u0899\7P\2\2\u08998\3\2\2\2\u089a\u089b\7E\2\2\u089b") - buf.write("\u089c\7Q\2\2\u089c\u089d\7P\2\2\u089d\u089e\7F\2\2\u089e") - buf.write("\u089f\7K\2\2\u089f\u08a0\7V\2\2\u08a0\u08a1\7K\2\2\u08a1") - buf.write("\u08a2\7Q\2\2\u08a2\u08a3\7P\2\2\u08a3:\3\2\2\2\u08a4") - buf.write("\u08a5\7E\2\2\u08a5\u08a6\7Q\2\2\u08a6\u08a7\7P\2\2\u08a7") - buf.write("\u08a8\7U\2\2\u08a8\u08a9\7V\2\2\u08a9\u08aa\7T\2\2\u08aa") - buf.write("\u08ab\7C\2\2\u08ab\u08ac\7K\2\2\u08ac\u08ad\7P\2\2\u08ad") - buf.write("\u08ae\7V\2\2\u08ae<\3\2\2\2\u08af\u08b0\7E\2\2\u08b0") - buf.write("\u08b1\7Q\2\2\u08b1\u08b2\7P\2\2\u08b2\u08b3\7V\2\2\u08b3") - buf.write("\u08b4\7K\2\2\u08b4\u08b5\7P\2\2\u08b5\u08b6\7W\2\2\u08b6") - buf.write("\u08b7\7G\2\2\u08b7>\3\2\2\2\u08b8\u08b9\7E\2\2\u08b9") - buf.write("\u08ba\7Q\2\2\u08ba\u08bb\7P\2\2\u08bb\u08bc\7X\2\2\u08bc") - buf.write("\u08bd\7G\2\2\u08bd\u08be\7T\2\2\u08be\u08bf\7V\2\2\u08bf") - buf.write("@\3\2\2\2\u08c0\u08c1\7E\2\2\u08c1\u08c2\7T\2\2\u08c2") - buf.write("\u08c3\7G\2\2\u08c3\u08c4\7C\2\2\u08c4\u08c5\7V\2\2\u08c5") - buf.write("\u08c6\7G\2\2\u08c6B\3\2\2\2\u08c7\u08c8\7E\2\2\u08c8") - buf.write("\u08c9\7T\2\2\u08c9\u08ca\7Q\2\2\u08ca\u08cb\7U\2\2\u08cb") - buf.write("\u08cc\7U\2\2\u08ccD\3\2\2\2\u08cd\u08ce\7E\2\2\u08ce") - buf.write("\u08cf\7W\2\2\u08cf\u08d0\7T\2\2\u08d0\u08d1\7T\2\2\u08d1") - buf.write("\u08d2\7G\2\2\u08d2\u08d3\7P\2\2\u08d3\u08d4\7V\2\2\u08d4") - buf.write("\u08d5\7a\2\2\u08d5\u08d6\7W\2\2\u08d6\u08d7\7U\2\2\u08d7") - buf.write("\u08d8\7G\2\2\u08d8\u08d9\7T\2\2\u08d9F\3\2\2\2\u08da") - buf.write("\u08db\7E\2\2\u08db\u08dc\7W\2\2\u08dc\u08dd\7T\2\2\u08dd") - buf.write("\u08de\7U\2\2\u08de\u08df\7Q\2\2\u08df\u08e0\7T\2\2\u08e0") - buf.write("H\3\2\2\2\u08e1\u08e2\7F\2\2\u08e2\u08e3\7C\2\2\u08e3") - buf.write("\u08e4\7V\2\2\u08e4\u08e5\7C\2\2\u08e5\u08e6\7D\2\2\u08e6") - buf.write("\u08e7\7C\2\2\u08e7\u08e8\7U\2\2\u08e8\u08e9\7G\2\2\u08e9") - buf.write("J\3\2\2\2\u08ea\u08eb\7F\2\2\u08eb\u08ec\7C\2\2\u08ec") - buf.write("\u08ed\7V\2\2\u08ed\u08ee\7C\2\2\u08ee\u08ef\7D\2\2\u08ef") - buf.write("\u08f0\7C\2\2\u08f0\u08f1\7U\2\2\u08f1\u08f2\7G\2\2\u08f2") - buf.write("\u08f3\7U\2\2\u08f3L\3\2\2\2\u08f4\u08f5\7F\2\2\u08f5") - buf.write("\u08f6\7G\2\2\u08f6\u08f7\7E\2\2\u08f7\u08f8\7N\2\2\u08f8") - buf.write("\u08f9\7C\2\2\u08f9\u08fa\7T\2\2\u08fa\u08fb\7G\2\2\u08fb") - buf.write("N\3\2\2\2\u08fc\u08fd\7F\2\2\u08fd\u08fe\7G\2\2\u08fe") - buf.write("\u08ff\7H\2\2\u08ff\u0900\7C\2\2\u0900\u0901\7W\2\2\u0901") - buf.write("\u0902\7N\2\2\u0902\u0903\7V\2\2\u0903P\3\2\2\2\u0904") - buf.write("\u0905\7F\2\2\u0905\u0906\7G\2\2\u0906\u0907\7N\2\2\u0907") - buf.write("\u0908\7C\2\2\u0908\u0909\7[\2\2\u0909\u090a\7G\2\2\u090a") - buf.write("\u090b\7F\2\2\u090bR\3\2\2\2\u090c\u090d\7F\2\2\u090d") - buf.write("\u090e\7G\2\2\u090e\u090f\7N\2\2\u090f\u0910\7G\2\2\u0910") - buf.write("\u0911\7V\2\2\u0911\u0912\7G\2\2\u0912T\3\2\2\2\u0913") - buf.write("\u0914\7F\2\2\u0914\u0915\7G\2\2\u0915\u0916\7U\2\2\u0916") - buf.write("\u0917\7E\2\2\u0917V\3\2\2\2\u0918\u0919\7F\2\2\u0919") - buf.write("\u091a\7G\2\2\u091a\u091b\7U\2\2\u091b\u091c\7E\2\2\u091c") - buf.write("\u091d\7T\2\2\u091d\u091e\7K\2\2\u091e\u091f\7D\2\2\u091f") - buf.write("\u0920\7G\2\2\u0920X\3\2\2\2\u0921\u0922\7F\2\2\u0922") - buf.write("\u0923\7G\2\2\u0923\u0924\7V\2\2\u0924\u0925\7G\2\2\u0925") - buf.write("\u0926\7T\2\2\u0926\u0927\7O\2\2\u0927\u0928\7K\2\2\u0928") - buf.write("\u0929\7P\2\2\u0929\u092a\7K\2\2\u092a\u092b\7U\2\2\u092b") - buf.write("\u092c\7V\2\2\u092c\u092d\7K\2\2\u092d\u092e\7E\2\2\u092e") - buf.write("Z\3\2\2\2\u092f\u0930\7F\2\2\u0930\u0931\7K\2\2\u0931") - buf.write("\u0932\7U\2\2\u0932\u0933\7V\2\2\u0933\u0934\7K\2\2\u0934") - buf.write("\u0935\7P\2\2\u0935\u0936\7E\2\2\u0936\u0937\7V\2\2\u0937") - buf.write("\\\3\2\2\2\u0938\u0939\7F\2\2\u0939\u093a\7K\2\2\u093a") - buf.write("\u093b\7U\2\2\u093b\u093c\7V\2\2\u093c\u093d\7K\2\2\u093d") - buf.write("\u093e\7P\2\2\u093e\u093f\7E\2\2\u093f\u0940\7V\2\2\u0940") - buf.write("\u0941\7T\2\2\u0941\u0942\7Q\2\2\u0942\u0943\7Y\2\2\u0943") - buf.write("^\3\2\2\2\u0944\u0945\7F\2\2\u0945\u0946\7T\2\2\u0946") - buf.write("\u0947\7Q\2\2\u0947\u0948\7R\2\2\u0948`\3\2\2\2\u0949") - buf.write("\u094a\7G\2\2\u094a\u094b\7C\2\2\u094b\u094c\7E\2\2\u094c") - buf.write("\u094d\7J\2\2\u094db\3\2\2\2\u094e\u094f\7G\2\2\u094f") - buf.write("\u0950\7N\2\2\u0950\u0951\7U\2\2\u0951\u0952\7G\2\2\u0952") - buf.write("d\3\2\2\2\u0953\u0954\7G\2\2\u0954\u0955\7N\2\2\u0955") - buf.write("\u0956\7U\2\2\u0956\u0957\7G\2\2\u0957\u0958\7K\2\2\u0958") - buf.write("\u0959\7H\2\2\u0959f\3\2\2\2\u095a\u095b\7G\2\2\u095b") - buf.write("\u095c\7P\2\2\u095c\u095d\7E\2\2\u095d\u095e\7N\2\2\u095e") - buf.write("\u095f\7Q\2\2\u095f\u0960\7U\2\2\u0960\u0961\7G\2\2\u0961") - buf.write("\u0962\7F\2\2\u0962h\3\2\2\2\u0963\u0964\7G\2\2\u0964") - buf.write("\u0965\7U\2\2\u0965\u0966\7E\2\2\u0966\u0967\7C\2\2\u0967") - buf.write("\u0968\7R\2\2\u0968\u0969\7G\2\2\u0969\u096a\7F\2\2\u096a") - buf.write("j\3\2\2\2\u096b\u096c\7G\2\2\u096c\u096d\7Z\2\2\u096d") - buf.write("\u096e\7K\2\2\u096e\u096f\7U\2\2\u096f\u0970\7V\2\2\u0970") - buf.write("\u0971\7U\2\2\u0971l\3\2\2\2\u0972\u0973\7G\2\2\u0973") - buf.write("\u0974\7Z\2\2\u0974\u0975\7K\2\2\u0975\u0976\7V\2\2\u0976") - buf.write("n\3\2\2\2\u0977\u0978\7G\2\2\u0978\u0979\7Z\2\2\u0979") - buf.write("\u097a\7R\2\2\u097a\u097b\7N\2\2\u097b\u097c\7C\2\2\u097c") - buf.write("\u097d\7K\2\2\u097d\u097e\7P\2\2\u097ep\3\2\2\2\u097f") - buf.write("\u0980\7H\2\2\u0980\u0981\7C\2\2\u0981\u0982\7N\2\2\u0982") - buf.write("\u0983\7U\2\2\u0983\u0984\7G\2\2\u0984r\3\2\2\2\u0985") - buf.write("\u0986\7H\2\2\u0986\u0987\7G\2\2\u0987\u0988\7V\2\2\u0988") - buf.write("\u0989\7E\2\2\u0989\u098a\7J\2\2\u098at\3\2\2\2\u098b") - buf.write("\u098c\7H\2\2\u098c\u098d\7Q\2\2\u098d\u098e\7T\2\2\u098e") - buf.write("v\3\2\2\2\u098f\u0990\7H\2\2\u0990\u0991\7Q\2\2\u0991") - buf.write("\u0992\7T\2\2\u0992\u0993\7E\2\2\u0993\u0994\7G\2\2\u0994") - buf.write("x\3\2\2\2\u0995\u0996\7H\2\2\u0996\u0997\7Q\2\2\u0997") - buf.write("\u0998\7T\2\2\u0998\u0999\7G\2\2\u0999\u099a\7K\2\2\u099a") - buf.write("\u099b\7I\2\2\u099b\u099c\7P\2\2\u099cz\3\2\2\2\u099d") - buf.write("\u099e\7H\2\2\u099e\u099f\7T\2\2\u099f\u09a0\7Q\2\2\u09a0") - buf.write("\u09a1\7O\2\2\u09a1|\3\2\2\2\u09a2\u09a3\7H\2\2\u09a3") - buf.write("\u09a4\7W\2\2\u09a4\u09a5\7N\2\2\u09a5\u09a6\7N\2\2\u09a6") - buf.write("\u09a7\7V\2\2\u09a7\u09a8\7G\2\2\u09a8\u09a9\7Z\2\2\u09a9") - buf.write("\u09aa\7V\2\2\u09aa~\3\2\2\2\u09ab\u09ac\7I\2\2\u09ac") - buf.write("\u09ad\7G\2\2\u09ad\u09ae\7P\2\2\u09ae\u09af\7G\2\2\u09af") - buf.write("\u09b0\7T\2\2\u09b0\u09b1\7C\2\2\u09b1\u09b2\7V\2\2\u09b2") - buf.write("\u09b3\7G\2\2\u09b3\u09b4\7F\2\2\u09b4\u0080\3\2\2\2\u09b5") - buf.write("\u09b6\7I\2\2\u09b6\u09b7\7T\2\2\u09b7\u09b8\7C\2\2\u09b8") - buf.write("\u09b9\7P\2\2\u09b9\u09ba\7V\2\2\u09ba\u0082\3\2\2\2\u09bb") - buf.write("\u09bc\7I\2\2\u09bc\u09bd\7T\2\2\u09bd\u09be\7Q\2\2\u09be") - buf.write("\u09bf\7W\2\2\u09bf\u09c0\7R\2\2\u09c0\u0084\3\2\2\2\u09c1") - buf.write("\u09c2\7J\2\2\u09c2\u09c3\7C\2\2\u09c3\u09c4\7X\2\2\u09c4") - buf.write("\u09c5\7K\2\2\u09c5\u09c6\7P\2\2\u09c6\u09c7\7I\2\2\u09c7") - buf.write("\u0086\3\2\2\2\u09c8\u09c9\7J\2\2\u09c9\u09ca\7K\2\2\u09ca") - buf.write("\u09cb\7I\2\2\u09cb\u09cc\7J\2\2\u09cc\u09cd\7a\2\2\u09cd") - buf.write("\u09ce\7R\2\2\u09ce\u09cf\7T\2\2\u09cf\u09d0\7K\2\2\u09d0") - buf.write("\u09d1\7Q\2\2\u09d1\u09d2\7T\2\2\u09d2\u09d3\7K\2\2\u09d3") - buf.write("\u09d4\7V\2\2\u09d4\u09d5\7[\2\2\u09d5\u0088\3\2\2\2\u09d6") - buf.write("\u09d7\7K\2\2\u09d7\u09d8\7H\2\2\u09d8\u008a\3\2\2\2\u09d9") - buf.write("\u09da\7K\2\2\u09da\u09db\7I\2\2\u09db\u09dc\7P\2\2\u09dc") - buf.write("\u09dd\7Q\2\2\u09dd\u09de\7T\2\2\u09de\u09df\7G\2\2\u09df") - buf.write("\u008c\3\2\2\2\u09e0\u09e1\7K\2\2\u09e1\u09e2\7P\2\2\u09e2") - buf.write("\u008e\3\2\2\2\u09e3\u09e4\7K\2\2\u09e4\u09e5\7P\2\2\u09e5") - buf.write("\u09e6\7F\2\2\u09e6\u09e7\7G\2\2\u09e7\u09e8\7Z\2\2\u09e8") - buf.write("\u0090\3\2\2\2\u09e9\u09ea\7K\2\2\u09ea\u09eb\7P\2\2\u09eb") - buf.write("\u09ec\7H\2\2\u09ec\u09ed\7K\2\2\u09ed\u09ee\7N\2\2\u09ee") - buf.write("\u09ef\7G\2\2\u09ef\u0092\3\2\2\2\u09f0\u09f1\7K\2\2\u09f1") - buf.write("\u09f2\7P\2\2\u09f2\u09f3\7P\2\2\u09f3\u09f4\7G\2\2\u09f4") - buf.write("\u09f5\7T\2\2\u09f5\u0094\3\2\2\2\u09f6\u09f7\7K\2\2\u09f7") - buf.write("\u09f8\7P\2\2\u09f8\u09f9\7Q\2\2\u09f9\u09fa\7W\2\2\u09fa") - buf.write("\u09fb\7V\2\2\u09fb\u0096\3\2\2\2\u09fc\u09fd\7K\2\2\u09fd") - buf.write("\u09fe\7P\2\2\u09fe\u09ff\7U\2\2\u09ff\u0a00\7G\2\2\u0a00") - buf.write("\u0a01\7T\2\2\u0a01\u0a02\7V\2\2\u0a02\u0098\3\2\2\2\u0a03") - buf.write("\u0a04\7K\2\2\u0a04\u0a05\7P\2\2\u0a05\u0a06\7V\2\2\u0a06") - buf.write("\u0a07\7G\2\2\u0a07\u0a08\7T\2\2\u0a08\u0a09\7X\2\2\u0a09") - buf.write("\u0a0a\7C\2\2\u0a0a\u0a0b\7N\2\2\u0a0b\u009a\3\2\2\2\u0a0c") - buf.write("\u0a0d\7K\2\2\u0a0d\u0a0e\7P\2\2\u0a0e\u0a0f\7V\2\2\u0a0f") - buf.write("\u0a10\7Q\2\2\u0a10\u009c\3\2\2\2\u0a11\u0a12\7K\2\2\u0a12") - buf.write("\u0a13\7U\2\2\u0a13\u009e\3\2\2\2\u0a14\u0a15\7K\2\2\u0a15") - buf.write("\u0a16\7V\2\2\u0a16\u0a17\7G\2\2\u0a17\u0a18\7T\2\2\u0a18") - buf.write("\u0a19\7C\2\2\u0a19\u0a1a\7V\2\2\u0a1a\u0a1b\7G\2\2\u0a1b") - buf.write("\u00a0\3\2\2\2\u0a1c\u0a1d\7L\2\2\u0a1d\u0a1e\7Q\2\2\u0a1e") - buf.write("\u0a1f\7K\2\2\u0a1f\u0a20\7P\2\2\u0a20\u00a2\3\2\2\2\u0a21") - buf.write("\u0a22\7M\2\2\u0a22\u0a23\7G\2\2\u0a23\u0a24\7[\2\2\u0a24") - buf.write("\u00a4\3\2\2\2\u0a25\u0a26\7M\2\2\u0a26\u0a27\7G\2\2\u0a27") - buf.write("\u0a28\7[\2\2\u0a28\u0a29\7U\2\2\u0a29\u00a6\3\2\2\2\u0a2a") - buf.write("\u0a2b\7M\2\2\u0a2b\u0a2c\7K\2\2\u0a2c\u0a2d\7N\2\2\u0a2d") - buf.write("\u0a2e\7N\2\2\u0a2e\u00a8\3\2\2\2\u0a2f\u0a30\7N\2\2\u0a30") - buf.write("\u0a31\7G\2\2\u0a31\u0a32\7C\2\2\u0a32\u0a33\7F\2\2\u0a33") - buf.write("\u0a34\7K\2\2\u0a34\u0a35\7P\2\2\u0a35\u0a36\7I\2\2\u0a36") - buf.write("\u00aa\3\2\2\2\u0a37\u0a38\7N\2\2\u0a38\u0a39\7G\2\2\u0a39") - buf.write("\u0a3a\7C\2\2\u0a3a\u0a3b\7X\2\2\u0a3b\u0a3c\7G\2\2\u0a3c") - buf.write("\u00ac\3\2\2\2\u0a3d\u0a3e\7N\2\2\u0a3e\u0a3f\7G\2\2\u0a3f") - buf.write("\u0a40\7H\2\2\u0a40\u0a41\7V\2\2\u0a41\u00ae\3\2\2\2\u0a42") - buf.write("\u0a43\7N\2\2\u0a43\u0a44\7K\2\2\u0a44\u0a45\7M\2\2\u0a45") - buf.write("\u0a46\7G\2\2\u0a46\u00b0\3\2\2\2\u0a47\u0a48\7N\2\2\u0a48") - buf.write("\u0a49\7K\2\2\u0a49\u0a4a\7O\2\2\u0a4a\u0a4b\7K\2\2\u0a4b") - buf.write("\u0a4c\7V\2\2\u0a4c\u00b2\3\2\2\2\u0a4d\u0a4e\7N\2\2\u0a4e") - buf.write("\u0a4f\7K\2\2\u0a4f\u0a50\7P\2\2\u0a50\u0a51\7G\2\2\u0a51") - buf.write("\u0a52\7C\2\2\u0a52\u0a53\7T\2\2\u0a53\u00b4\3\2\2\2\u0a54") - buf.write("\u0a55\7N\2\2\u0a55\u0a56\7K\2\2\u0a56\u0a57\7P\2\2\u0a57") - buf.write("\u0a58\7G\2\2\u0a58\u0a59\7U\2\2\u0a59\u00b6\3\2\2\2\u0a5a") - buf.write("\u0a5b\7N\2\2\u0a5b\u0a5c\7Q\2\2\u0a5c\u0a5d\7C\2\2\u0a5d") - buf.write("\u0a5e\7F\2\2\u0a5e\u00b8\3\2\2\2\u0a5f\u0a60\7N\2\2\u0a60") - buf.write("\u0a61\7Q\2\2\u0a61\u0a62\7E\2\2\u0a62\u0a63\7M\2\2\u0a63") - buf.write("\u00ba\3\2\2\2\u0a64\u0a65\7N\2\2\u0a65\u0a66\7Q\2\2\u0a66") - buf.write("\u0a67\7Q\2\2\u0a67\u0a68\7R\2\2\u0a68\u00bc\3\2\2\2\u0a69") - buf.write("\u0a6a\7N\2\2\u0a6a\u0a6b\7Q\2\2\u0a6b\u0a6c\7Y\2\2\u0a6c") - buf.write("\u0a6d\7a\2\2\u0a6d\u0a6e\7R\2\2\u0a6e\u0a6f\7T\2\2\u0a6f") - buf.write("\u0a70\7K\2\2\u0a70\u0a71\7Q\2\2\u0a71\u0a72\7T\2\2\u0a72") - buf.write("\u0a73\7K\2\2\u0a73\u0a74\7V\2\2\u0a74\u0a75\7[\2\2\u0a75") - buf.write("\u00be\3\2\2\2\u0a76\u0a77\7O\2\2\u0a77\u0a78\7C\2\2\u0a78") - buf.write("\u0a79\7U\2\2\u0a79\u0a7a\7V\2\2\u0a7a\u0a7b\7G\2\2\u0a7b") - buf.write("\u0a7c\7T\2\2\u0a7c\u0a7d\7a\2\2\u0a7d\u0a7e\7D\2\2\u0a7e") - buf.write("\u0a7f\7K\2\2\u0a7f\u0a80\7P\2\2\u0a80\u0a81\7F\2\2\u0a81") - buf.write("\u00c0\3\2\2\2\u0a82\u0a83\7O\2\2\u0a83\u0a84\7C\2\2\u0a84") - buf.write("\u0a85\7U\2\2\u0a85\u0a86\7V\2\2\u0a86\u0a87\7G\2\2\u0a87") - buf.write("\u0a88\7T\2\2\u0a88\u0a89\7a\2\2\u0a89\u0a8a\7U\2\2\u0a8a") - buf.write("\u0a8b\7U\2\2\u0a8b\u0a8c\7N\2\2\u0a8c\u0a8d\7a\2\2\u0a8d") - buf.write("\u0a8e\7X\2\2\u0a8e\u0a8f\7G\2\2\u0a8f\u0a90\7T\2\2\u0a90") - buf.write("\u0a91\7K\2\2\u0a91\u0a92\7H\2\2\u0a92\u0a93\7[\2\2\u0a93") - buf.write("\u0a94\7a\2\2\u0a94\u0a95\7U\2\2\u0a95\u0a96\7G\2\2\u0a96") - buf.write("\u0a97\7T\2\2\u0a97\u0a98\7X\2\2\u0a98\u0a99\7G\2\2\u0a99") - buf.write("\u0a9a\7T\2\2\u0a9a\u0a9b\7a\2\2\u0a9b\u0a9c\7E\2\2\u0a9c") - buf.write("\u0a9d\7G\2\2\u0a9d\u0a9e\7T\2\2\u0a9e\u0a9f\7V\2\2\u0a9f") - buf.write("\u00c2\3\2\2\2\u0aa0\u0aa1\7O\2\2\u0aa1\u0aa2\7C\2\2\u0aa2") - buf.write("\u0aa3\7V\2\2\u0aa3\u0aa4\7E\2\2\u0aa4\u0aa5\7J\2\2\u0aa5") - buf.write("\u00c4\3\2\2\2\u0aa6\u0aa7\7O\2\2\u0aa7\u0aa8\7C\2\2\u0aa8") - buf.write("\u0aa9\7Z\2\2\u0aa9\u0aaa\7X\2\2\u0aaa\u0aab\7C\2\2\u0aab") - buf.write("\u0aac\7N\2\2\u0aac\u0aad\7W\2\2\u0aad\u0aae\7G\2\2\u0aae") - buf.write("\u00c6\3\2\2\2\u0aaf\u0ab0\7O\2\2\u0ab0\u0ab1\7Q\2\2\u0ab1") - buf.write("\u0ab2\7F\2\2\u0ab2\u0ab3\7K\2\2\u0ab3\u0ab4\7H\2\2\u0ab4") - buf.write("\u0ab5\7K\2\2\u0ab5\u0ab6\7G\2\2\u0ab6\u0ab7\7U\2\2\u0ab7") - buf.write("\u00c8\3\2\2\2\u0ab8\u0ab9\7P\2\2\u0ab9\u0aba\7C\2\2\u0aba") - buf.write("\u0abb\7V\2\2\u0abb\u0abc\7W\2\2\u0abc\u0abd\7T\2\2\u0abd") - buf.write("\u0abe\7C\2\2\u0abe\u0abf\7N\2\2\u0abf\u00ca\3\2\2\2\u0ac0") - buf.write("\u0ac1\7P\2\2\u0ac1\u0ac2\7Q\2\2\u0ac2\u0ac3\7V\2\2\u0ac3") - buf.write("\u00cc\3\2\2\2\u0ac4\u0ac5\7P\2\2\u0ac5\u0ac6\7Q\2\2\u0ac6") - buf.write("\u0ac7\7a\2\2\u0ac7\u0ac8\7Y\2\2\u0ac8\u0ac9\7T\2\2\u0ac9") - buf.write("\u0aca\7K\2\2\u0aca\u0acb\7V\2\2\u0acb\u0acc\7G\2\2\u0acc") - buf.write("\u0acd\7a\2\2\u0acd\u0ace\7V\2\2\u0ace\u0acf\7Q\2\2\u0acf") - buf.write("\u0ad0\7a\2\2\u0ad0\u0ad1\7D\2\2\u0ad1\u0ad2\7K\2\2\u0ad2") - buf.write("\u0ad3\7P\2\2\u0ad3\u0ad4\7N\2\2\u0ad4\u0ad5\7Q\2\2\u0ad5") - buf.write("\u0ad6\7I\2\2\u0ad6\u00ce\3\2\2\2\u0ad7\u0ad8\7P\2\2\u0ad8") - buf.write("\u0ad9\7W\2\2\u0ad9\u0ada\7N\2\2\u0ada\u0adb\7N\2\2\u0adb") - buf.write("\u00d0\3\2\2\2\u0adc\u0add\7Q\2\2\u0add\u0ade\7P\2\2\u0ade") - buf.write("\u00d2\3\2\2\2\u0adf\u0ae0\7Q\2\2\u0ae0\u0ae1\7R\2\2\u0ae1") - buf.write("\u0ae2\7V\2\2\u0ae2\u0ae3\7K\2\2\u0ae3\u0ae4\7O\2\2\u0ae4") - buf.write("\u0ae5\7K\2\2\u0ae5\u0ae6\7\\\2\2\u0ae6\u0ae7\7G\2\2\u0ae7") - buf.write("\u00d4\3\2\2\2\u0ae8\u0ae9\7Q\2\2\u0ae9\u0aea\7R\2\2\u0aea") - buf.write("\u0aeb\7V\2\2\u0aeb\u0aec\7K\2\2\u0aec\u0aed\7Q\2\2\u0aed") - buf.write("\u0aee\7P\2\2\u0aee\u00d6\3\2\2\2\u0aef\u0af0\7Q\2\2\u0af0") - buf.write("\u0af1\7R\2\2\u0af1\u0af2\7V\2\2\u0af2\u0af3\7K\2\2\u0af3") - buf.write("\u0af4\7Q\2\2\u0af4\u0af5\7P\2\2\u0af5\u0af6\7C\2\2\u0af6") - buf.write("\u0af7\7N\2\2\u0af7\u0af8\7N\2\2\u0af8\u0af9\7[\2\2\u0af9") - buf.write("\u00d8\3\2\2\2\u0afa\u0afb\7Q\2\2\u0afb\u0afc\7T\2\2\u0afc") - buf.write("\u00da\3\2\2\2\u0afd\u0afe\7Q\2\2\u0afe\u0aff\7T\2\2\u0aff") - buf.write("\u0b00\7F\2\2\u0b00\u0b01\7G\2\2\u0b01\u0b02\7T\2\2\u0b02") - buf.write("\u00dc\3\2\2\2\u0b03\u0b04\7Q\2\2\u0b04\u0b05\7W\2\2\u0b05") - buf.write("\u0b06\7V\2\2\u0b06\u00de\3\2\2\2\u0b07\u0b08\7Q\2\2\u0b08") - buf.write("\u0b09\7W\2\2\u0b09\u0b0a\7V\2\2\u0b0a\u0b0b\7G\2\2\u0b0b") - buf.write("\u0b0c\7T\2\2\u0b0c\u00e0\3\2\2\2\u0b0d\u0b0e\7Q\2\2\u0b0e") - buf.write("\u0b0f\7W\2\2\u0b0f\u0b10\7V\2\2\u0b10\u0b11\7H\2\2\u0b11") - buf.write("\u0b12\7K\2\2\u0b12\u0b13\7N\2\2\u0b13\u0b14\7G\2\2\u0b14") - buf.write("\u00e2\3\2\2\2\u0b15\u0b16\7R\2\2\u0b16\u0b17\7C\2\2\u0b17") - buf.write("\u0b18\7T\2\2\u0b18\u0b19\7V\2\2\u0b19\u0b1a\7K\2\2\u0b1a") - buf.write("\u0b1b\7V\2\2\u0b1b\u0b1c\7K\2\2\u0b1c\u0b1d\7Q\2\2\u0b1d") - buf.write("\u0b1e\7P\2\2\u0b1e\u00e4\3\2\2\2\u0b1f\u0b20\7R\2\2\u0b20") - buf.write("\u0b21\7T\2\2\u0b21\u0b22\7K\2\2\u0b22\u0b23\7O\2\2\u0b23") - buf.write("\u0b24\7C\2\2\u0b24\u0b25\7T\2\2\u0b25\u0b26\7[\2\2\u0b26") - buf.write("\u00e6\3\2\2\2\u0b27\u0b28\7R\2\2\u0b28\u0b29\7T\2\2\u0b29") - buf.write("\u0b2a\7Q\2\2\u0b2a\u0b2b\7E\2\2\u0b2b\u0b2c\7G\2\2\u0b2c") - buf.write("\u0b2d\7F\2\2\u0b2d\u0b2e\7W\2\2\u0b2e\u0b2f\7T\2\2\u0b2f") - buf.write("\u0b30\7G\2\2\u0b30\u00e8\3\2\2\2\u0b31\u0b32\7R\2\2\u0b32") - buf.write("\u0b33\7W\2\2\u0b33\u0b34\7T\2\2\u0b34\u0b35\7I\2\2\u0b35") - buf.write("\u0b36\7G\2\2\u0b36\u00ea\3\2\2\2\u0b37\u0b38\7T\2\2\u0b38") - buf.write("\u0b39\7C\2\2\u0b39\u0b3a\7P\2\2\u0b3a\u0b3b\7I\2\2\u0b3b") - buf.write("\u0b3c\7G\2\2\u0b3c\u00ec\3\2\2\2\u0b3d\u0b3e\7T\2\2\u0b3e") - buf.write("\u0b3f\7G\2\2\u0b3f\u0b40\7C\2\2\u0b40\u0b41\7F\2\2\u0b41") - buf.write("\u00ee\3\2\2\2\u0b42\u0b43\7T\2\2\u0b43\u0b44\7G\2\2\u0b44") - buf.write("\u0b45\7C\2\2\u0b45\u0b46\7F\2\2\u0b46\u0b47\7U\2\2\u0b47") - buf.write("\u00f0\3\2\2\2\u0b48\u0b49\7T\2\2\u0b49\u0b4a\7G\2\2\u0b4a") - buf.write("\u0b4b\7H\2\2\u0b4b\u0b4c\7G\2\2\u0b4c\u0b4d\7T\2\2\u0b4d") - buf.write("\u0b4e\7G\2\2\u0b4e\u0b4f\7P\2\2\u0b4f\u0b50\7E\2\2\u0b50") - buf.write("\u0b51\7G\2\2\u0b51\u0b52\7U\2\2\u0b52\u00f2\3\2\2\2\u0b53") - buf.write("\u0b54\7T\2\2\u0b54\u0b55\7G\2\2\u0b55\u0b56\7I\2\2\u0b56") - buf.write("\u0b57\7G\2\2\u0b57\u0b58\7Z\2\2\u0b58\u0b59\7R\2\2\u0b59") - buf.write("\u00f4\3\2\2\2\u0b5a\u0b5b\7T\2\2\u0b5b\u0b5c\7G\2\2\u0b5c") - buf.write("\u0b5d\7N\2\2\u0b5d\u0b5e\7G\2\2\u0b5e\u0b5f\7C\2\2\u0b5f") - buf.write("\u0b60\7U\2\2\u0b60\u0b61\7G\2\2\u0b61\u00f6\3\2\2\2\u0b62") - buf.write("\u0b63\7T\2\2\u0b63\u0b64\7G\2\2\u0b64\u0b65\7P\2\2\u0b65") - buf.write("\u0b66\7C\2\2\u0b66\u0b67\7O\2\2\u0b67\u0b68\7G\2\2\u0b68") - buf.write("\u00f8\3\2\2\2\u0b69\u0b6a\7T\2\2\u0b6a\u0b6b\7G\2\2\u0b6b") - buf.write("\u0b6c\7R\2\2\u0b6c\u0b6d\7G\2\2\u0b6d\u0b6e\7C\2\2\u0b6e") - buf.write("\u0b6f\7V\2\2\u0b6f\u00fa\3\2\2\2\u0b70\u0b71\7T\2\2\u0b71") - buf.write("\u0b72\7G\2\2\u0b72\u0b73\7R\2\2\u0b73\u0b74\7N\2\2\u0b74") - buf.write("\u0b75\7C\2\2\u0b75\u0b76\7E\2\2\u0b76\u0b77\7G\2\2\u0b77") - buf.write("\u00fc\3\2\2\2\u0b78\u0b79\7T\2\2\u0b79\u0b7a\7G\2\2\u0b7a") - buf.write("\u0b7b\7S\2\2\u0b7b\u0b7c\7W\2\2\u0b7c\u0b7d\7K\2\2\u0b7d") - buf.write("\u0b7e\7T\2\2\u0b7e\u0b7f\7G\2\2\u0b7f\u00fe\3\2\2\2\u0b80") - buf.write("\u0b81\7T\2\2\u0b81\u0b82\7G\2\2\u0b82\u0b83\7U\2\2\u0b83") - buf.write("\u0b84\7V\2\2\u0b84\u0b85\7T\2\2\u0b85\u0b86\7K\2\2\u0b86") - buf.write("\u0b87\7E\2\2\u0b87\u0b88\7V\2\2\u0b88\u0100\3\2\2\2\u0b89") - buf.write("\u0b8a\7T\2\2\u0b8a\u0b8b\7G\2\2\u0b8b\u0b8c\7V\2\2\u0b8c") - buf.write("\u0b8d\7W\2\2\u0b8d\u0b8e\7T\2\2\u0b8e\u0b8f\7P\2\2\u0b8f") - buf.write("\u0102\3\2\2\2\u0b90\u0b91\7T\2\2\u0b91\u0b92\7G\2\2\u0b92") - buf.write("\u0b93\7X\2\2\u0b93\u0b94\7Q\2\2\u0b94\u0b95\7M\2\2\u0b95") - buf.write("\u0b96\7G\2\2\u0b96\u0104\3\2\2\2\u0b97\u0b98\7T\2\2\u0b98") - buf.write("\u0b99\7K\2\2\u0b99\u0b9a\7I\2\2\u0b9a\u0b9b\7J\2\2\u0b9b") - buf.write("\u0b9c\7V\2\2\u0b9c\u0106\3\2\2\2\u0b9d\u0b9e\7T\2\2\u0b9e") - buf.write("\u0b9f\7N\2\2\u0b9f\u0ba0\7K\2\2\u0ba0\u0ba1\7M\2\2\u0ba1") - buf.write("\u0ba2\7G\2\2\u0ba2\u0108\3\2\2\2\u0ba3\u0ba4\7U\2\2\u0ba4") - buf.write("\u0ba5\7E\2\2\u0ba5\u0ba6\7J\2\2\u0ba6\u0ba7\7G\2\2\u0ba7") - buf.write("\u0ba8\7O\2\2\u0ba8\u0ba9\7C\2\2\u0ba9\u010a\3\2\2\2\u0baa") - buf.write("\u0bab\7U\2\2\u0bab\u0bac\7E\2\2\u0bac\u0bad\7J\2\2\u0bad") - buf.write("\u0bae\7G\2\2\u0bae\u0baf\7O\2\2\u0baf\u0bb0\7C\2\2\u0bb0") - buf.write("\u0bb1\7U\2\2\u0bb1\u010c\3\2\2\2\u0bb2\u0bb3\7U\2\2\u0bb3") - buf.write("\u0bb4\7G\2\2\u0bb4\u0bb5\7N\2\2\u0bb5\u0bb6\7G\2\2\u0bb6") - buf.write("\u0bb7\7E\2\2\u0bb7\u0bb8\7V\2\2\u0bb8\u010e\3\2\2\2\u0bb9") - buf.write("\u0bba\7U\2\2\u0bba\u0bbb\7G\2\2\u0bbb\u0bbc\7V\2\2\u0bbc") - buf.write("\u0110\3\2\2\2\u0bbd\u0bbe\7U\2\2\u0bbe\u0bbf\7G\2\2\u0bbf") - buf.write("\u0bc0\7R\2\2\u0bc0\u0bc1\7C\2\2\u0bc1\u0bc2\7T\2\2\u0bc2") - buf.write("\u0bc3\7C\2\2\u0bc3\u0bc4\7V\2\2\u0bc4\u0bc5\7Q\2\2\u0bc5") - buf.write("\u0bc6\7T\2\2\u0bc6\u0112\3\2\2\2\u0bc7\u0bc8\7U\2\2\u0bc8") - buf.write("\u0bc9\7J\2\2\u0bc9\u0bca\7Q\2\2\u0bca\u0bcb\7Y\2\2\u0bcb") - buf.write("\u0114\3\2\2\2\u0bcc\u0bcd\7U\2\2\u0bcd\u0bce\7R\2\2\u0bce") - buf.write("\u0bcf\7C\2\2\u0bcf\u0bd0\7V\2\2\u0bd0\u0bd1\7K\2\2\u0bd1") - buf.write("\u0bd2\7C\2\2\u0bd2\u0bd3\7N\2\2\u0bd3\u0116\3\2\2\2\u0bd4") - buf.write("\u0bd5\7U\2\2\u0bd5\u0bd6\7S\2\2\u0bd6\u0bd7\7N\2\2\u0bd7") - buf.write("\u0118\3\2\2\2\u0bd8\u0bd9\7U\2\2\u0bd9\u0bda\7S\2\2\u0bda") - buf.write("\u0bdb\7N\2\2\u0bdb\u0bdc\7G\2\2\u0bdc\u0bdd\7Z\2\2\u0bdd") - buf.write("\u0bde\7E\2\2\u0bde\u0bdf\7G\2\2\u0bdf\u0be0\7R\2\2\u0be0") - buf.write("\u0be1\7V\2\2\u0be1\u0be2\7K\2\2\u0be2\u0be3\7Q\2\2\u0be3") - buf.write("\u0be4\7P\2\2\u0be4\u011a\3\2\2\2\u0be5\u0be6\7U\2\2\u0be6") - buf.write("\u0be7\7S\2\2\u0be7\u0be8\7N\2\2\u0be8\u0be9\7U\2\2\u0be9") - buf.write("\u0bea\7V\2\2\u0bea\u0beb\7C\2\2\u0beb\u0bec\7V\2\2\u0bec") - buf.write("\u0bed\7G\2\2\u0bed\u011c\3\2\2\2\u0bee\u0bef\7U\2\2\u0bef") - buf.write("\u0bf0\7S\2\2\u0bf0\u0bf1\7N\2\2\u0bf1\u0bf2\7Y\2\2\u0bf2") - buf.write("\u0bf3\7C\2\2\u0bf3\u0bf4\7T\2\2\u0bf4\u0bf5\7P\2\2\u0bf5") - buf.write("\u0bf6\7K\2\2\u0bf6\u0bf7\7P\2\2\u0bf7\u0bf8\7I\2\2\u0bf8") - buf.write("\u011e\3\2\2\2\u0bf9\u0bfa\7U\2\2\u0bfa\u0bfb\7S\2\2\u0bfb") - buf.write("\u0bfc\7N\2\2\u0bfc\u0bfd\7a\2\2\u0bfd\u0bfe\7D\2\2\u0bfe") - buf.write("\u0bff\7K\2\2\u0bff\u0c00\7I\2\2\u0c00\u0c01\7a\2\2\u0c01") - buf.write("\u0c02\7T\2\2\u0c02\u0c03\7G\2\2\u0c03\u0c04\7U\2\2\u0c04") - buf.write("\u0c05\7W\2\2\u0c05\u0c06\7N\2\2\u0c06\u0c07\7V\2\2\u0c07") - buf.write("\u0120\3\2\2\2\u0c08\u0c09\7U\2\2\u0c09\u0c0a\7S\2\2\u0c0a") - buf.write("\u0c0b\7N\2\2\u0c0b\u0c0c\7a\2\2\u0c0c\u0c0d\7E\2\2\u0c0d") - buf.write("\u0c0e\7C\2\2\u0c0e\u0c0f\7N\2\2\u0c0f\u0c10\7E\2\2\u0c10") - buf.write("\u0c11\7a\2\2\u0c11\u0c12\7H\2\2\u0c12\u0c13\7Q\2\2\u0c13") - buf.write("\u0c14\7W\2\2\u0c14\u0c15\7P\2\2\u0c15\u0c16\7F\2\2\u0c16") - buf.write("\u0c17\7a\2\2\u0c17\u0c18\7T\2\2\u0c18\u0c19\7Q\2\2\u0c19") - buf.write("\u0c1a\7Y\2\2\u0c1a\u0c1b\7U\2\2\u0c1b\u0122\3\2\2\2\u0c1c") - buf.write("\u0c1d\7U\2\2\u0c1d\u0c1e\7S\2\2\u0c1e\u0c1f\7N\2\2\u0c1f") - buf.write("\u0c20\7a\2\2\u0c20\u0c21\7U\2\2\u0c21\u0c22\7O\2\2\u0c22") - buf.write("\u0c23\7C\2\2\u0c23\u0c24\7N\2\2\u0c24\u0c25\7N\2\2\u0c25") - buf.write("\u0c26\7a\2\2\u0c26\u0c27\7T\2\2\u0c27\u0c28\7G\2\2\u0c28") - buf.write("\u0c29\7U\2\2\u0c29\u0c2a\7W\2\2\u0c2a\u0c2b\7N\2\2\u0c2b") - buf.write("\u0c2c\7V\2\2\u0c2c\u0124\3\2\2\2\u0c2d\u0c2e\7U\2\2\u0c2e") - buf.write("\u0c2f\7U\2\2\u0c2f\u0c30\7N\2\2\u0c30\u0126\3\2\2\2\u0c31") - buf.write("\u0c32\7U\2\2\u0c32\u0c33\7V\2\2\u0c33\u0c34\7C\2\2\u0c34") - buf.write("\u0c35\7T\2\2\u0c35\u0c36\7V\2\2\u0c36\u0c37\7K\2\2\u0c37") - buf.write("\u0c38\7P\2\2\u0c38\u0c39\7I\2\2\u0c39\u0128\3\2\2\2\u0c3a") - buf.write("\u0c3b\7U\2\2\u0c3b\u0c3c\7V\2\2\u0c3c\u0c3d\7T\2\2\u0c3d") - buf.write("\u0c3e\7C\2\2\u0c3e\u0c3f\7K\2\2\u0c3f\u0c40\7I\2\2\u0c40") - buf.write("\u0c41\7J\2\2\u0c41\u0c42\7V\2\2\u0c42\u0c43\7a\2\2\u0c43") - buf.write("\u0c44\7L\2\2\u0c44\u0c45\7Q\2\2\u0c45\u0c46\7K\2\2\u0c46") - buf.write("\u0c47\7P\2\2\u0c47\u012a\3\2\2\2\u0c48\u0c49\7V\2\2\u0c49") - buf.write("\u0c4a\7C\2\2\u0c4a\u0c4b\7D\2\2\u0c4b\u0c4c\7N\2\2\u0c4c") - buf.write("\u0c4d\7G\2\2\u0c4d\u012c\3\2\2\2\u0c4e\u0c4f\7V\2\2\u0c4f") - buf.write("\u0c50\7G\2\2\u0c50\u0c51\7T\2\2\u0c51\u0c52\7O\2\2\u0c52") - buf.write("\u0c53\7K\2\2\u0c53\u0c54\7P\2\2\u0c54\u0c55\7C\2\2\u0c55") - buf.write("\u0c56\7V\2\2\u0c56\u0c57\7G\2\2\u0c57\u0c58\7F\2\2\u0c58") - buf.write("\u012e\3\2\2\2\u0c59\u0c5a\7V\2\2\u0c5a\u0c5b\7J\2\2\u0c5b") - buf.write("\u0c5c\7G\2\2\u0c5c\u0c5d\7P\2\2\u0c5d\u0130\3\2\2\2\u0c5e") - buf.write("\u0c5f\7V\2\2\u0c5f\u0c60\7Q\2\2\u0c60\u0132\3\2\2\2\u0c61") - buf.write("\u0c62\7V\2\2\u0c62\u0c63\7T\2\2\u0c63\u0c64\7C\2\2\u0c64") - buf.write("\u0c65\7K\2\2\u0c65\u0c66\7N\2\2\u0c66\u0c67\7K\2\2\u0c67") - buf.write("\u0c68\7P\2\2\u0c68\u0c69\7I\2\2\u0c69\u0134\3\2\2\2\u0c6a") - buf.write("\u0c6b\7V\2\2\u0c6b\u0c6c\7T\2\2\u0c6c\u0c6d\7K\2\2\u0c6d") - buf.write("\u0c6e\7I\2\2\u0c6e\u0c6f\7I\2\2\u0c6f\u0c70\7G\2\2\u0c70") - buf.write("\u0c71\7T\2\2\u0c71\u0136\3\2\2\2\u0c72\u0c73\7V\2\2\u0c73") - buf.write("\u0c74\7T\2\2\u0c74\u0c75\7W\2\2\u0c75\u0c76\7G\2\2\u0c76") - buf.write("\u0138\3\2\2\2\u0c77\u0c78\7W\2\2\u0c78\u0c79\7P\2\2\u0c79") - buf.write("\u0c7a\7F\2\2\u0c7a\u0c7b\7Q\2\2\u0c7b\u013a\3\2\2\2\u0c7c") - buf.write("\u0c7d\7W\2\2\u0c7d\u0c7e\7P\2\2\u0c7e\u0c7f\7K\2\2\u0c7f") - buf.write("\u0c80\7Q\2\2\u0c80\u0c81\7P\2\2\u0c81\u013c\3\2\2\2\u0c82") - buf.write("\u0c83\7W\2\2\u0c83\u0c84\7P\2\2\u0c84\u0c85\7K\2\2\u0c85") - buf.write("\u0c86\7S\2\2\u0c86\u0c87\7W\2\2\u0c87\u0c88\7G\2\2\u0c88") - buf.write("\u013e\3\2\2\2\u0c89\u0c8a\7W\2\2\u0c8a\u0c8b\7P\2\2\u0c8b") - buf.write("\u0c8c\7N\2\2\u0c8c\u0c8d\7Q\2\2\u0c8d\u0c8e\7E\2\2\u0c8e") - buf.write("\u0c8f\7M\2\2\u0c8f\u0140\3\2\2\2\u0c90\u0c91\7W\2\2\u0c91") - buf.write("\u0c92\7P\2\2\u0c92\u0c93\7U\2\2\u0c93\u0c94\7K\2\2\u0c94") - buf.write("\u0c95\7I\2\2\u0c95\u0c96\7P\2\2\u0c96\u0c97\7G\2\2\u0c97") - buf.write("\u0c98\7F\2\2\u0c98\u0142\3\2\2\2\u0c99\u0c9a\7W\2\2\u0c9a") - buf.write("\u0c9b\7R\2\2\u0c9b\u0c9c\7F\2\2\u0c9c\u0c9d\7C\2\2\u0c9d") - buf.write("\u0c9e\7V\2\2\u0c9e\u0c9f\7G\2\2\u0c9f\u0144\3\2\2\2\u0ca0") - buf.write("\u0ca1\7W\2\2\u0ca1\u0ca2\7U\2\2\u0ca2\u0ca3\7C\2\2\u0ca3") - buf.write("\u0ca4\7I\2\2\u0ca4\u0ca5\7G\2\2\u0ca5\u0146\3\2\2\2\u0ca6") - buf.write("\u0ca7\7W\2\2\u0ca7\u0ca8\7U\2\2\u0ca8\u0ca9\7G\2\2\u0ca9") - buf.write("\u0148\3\2\2\2\u0caa\u0cab\7W\2\2\u0cab\u0cac\7U\2\2\u0cac") - buf.write("\u0cad\7K\2\2\u0cad\u0cae\7P\2\2\u0cae\u0caf\7I\2\2\u0caf") - buf.write("\u014a\3\2\2\2\u0cb0\u0cb1\7X\2\2\u0cb1\u0cb2\7C\2\2\u0cb2") - buf.write("\u0cb3\7N\2\2\u0cb3\u0cb4\7W\2\2\u0cb4\u0cb5\7G\2\2\u0cb5") - buf.write("\u0cb6\7U\2\2\u0cb6\u014c\3\2\2\2\u0cb7\u0cb8\7Y\2\2\u0cb8") - buf.write("\u0cb9\7J\2\2\u0cb9\u0cba\7G\2\2\u0cba\u0cbb\7P\2\2\u0cbb") - buf.write("\u014e\3\2\2\2\u0cbc\u0cbd\7Y\2\2\u0cbd\u0cbe\7J\2\2\u0cbe") - buf.write("\u0cbf\7G\2\2\u0cbf\u0cc0\7T\2\2\u0cc0\u0cc1\7G\2\2\u0cc1") - buf.write("\u0150\3\2\2\2\u0cc2\u0cc3\7Y\2\2\u0cc3\u0cc4\7J\2\2\u0cc4") - buf.write("\u0cc5\7K\2\2\u0cc5\u0cc6\7N\2\2\u0cc6\u0cc7\7G\2\2\u0cc7") - buf.write("\u0152\3\2\2\2\u0cc8\u0cc9\7Y\2\2\u0cc9\u0cca\7K\2\2\u0cca") - buf.write("\u0ccb\7V\2\2\u0ccb\u0ccc\7J\2\2\u0ccc\u0154\3\2\2\2\u0ccd") - buf.write("\u0cce\7Y\2\2\u0cce\u0ccf\7T\2\2\u0ccf\u0cd0\7K\2\2\u0cd0") - buf.write("\u0cd1\7V\2\2\u0cd1\u0cd2\7G\2\2\u0cd2\u0156\3\2\2\2\u0cd3") - buf.write("\u0cd4\7Z\2\2\u0cd4\u0cd5\7Q\2\2\u0cd5\u0cd6\7T\2\2\u0cd6") - buf.write("\u0158\3\2\2\2\u0cd7\u0cd8\7\\\2\2\u0cd8\u0cd9\7G\2\2") - buf.write("\u0cd9\u0cda\7T\2\2\u0cda\u0cdb\7Q\2\2\u0cdb\u0cdc\7H") - buf.write("\2\2\u0cdc\u0cdd\7K\2\2\u0cdd\u0cde\7N\2\2\u0cde\u0cdf") - buf.write("\7N\2\2\u0cdf\u015a\3\2\2\2\u0ce0\u0ce1\7V\2\2\u0ce1\u0ce2") - buf.write("\7K\2\2\u0ce2\u0ce3\7P\2\2\u0ce3\u0ce4\7[\2\2\u0ce4\u0ce5") - buf.write("\7K\2\2\u0ce5\u0ce6\7P\2\2\u0ce6\u0ce7\7V\2\2\u0ce7\u015c") - buf.write("\3\2\2\2\u0ce8\u0ce9\7U\2\2\u0ce9\u0cea\7O\2\2\u0cea\u0ceb") - buf.write("\7C\2\2\u0ceb\u0cec\7N\2\2\u0cec\u0ced\7N\2\2\u0ced\u0cee") - buf.write("\7K\2\2\u0cee\u0cef\7P\2\2\u0cef\u0cf0\7V\2\2\u0cf0\u015e") - buf.write("\3\2\2\2\u0cf1\u0cf2\7O\2\2\u0cf2\u0cf3\7G\2\2\u0cf3\u0cf4") - buf.write("\7F\2\2\u0cf4\u0cf5\7K\2\2\u0cf5\u0cf6\7W\2\2\u0cf6\u0cf7") - buf.write("\7O\2\2\u0cf7\u0cf8\7K\2\2\u0cf8\u0cf9\7P\2\2\u0cf9\u0cfa") - buf.write("\7V\2\2\u0cfa\u0160\3\2\2\2\u0cfb\u0cfc\7K\2\2\u0cfc\u0cfd") - buf.write("\7P\2\2\u0cfd\u0cfe\7V\2\2\u0cfe\u0162\3\2\2\2\u0cff\u0d00") - buf.write("\7K\2\2\u0d00\u0d01\7P\2\2\u0d01\u0d02\7V\2\2\u0d02\u0d03") - buf.write("\7G\2\2\u0d03\u0d04\7I\2\2\u0d04\u0d05\7G\2\2\u0d05\u0d06") - buf.write("\7T\2\2\u0d06\u0164\3\2\2\2\u0d07\u0d08\7D\2\2\u0d08\u0d09") - buf.write("\7K\2\2\u0d09\u0d0a\7I\2\2\u0d0a\u0d0b\7K\2\2\u0d0b\u0d0c") - buf.write("\7P\2\2\u0d0c\u0d0d\7V\2\2\u0d0d\u0166\3\2\2\2\u0d0e\u0d0f") - buf.write("\7T\2\2\u0d0f\u0d10\7G\2\2\u0d10\u0d11\7C\2\2\u0d11\u0d12") - buf.write("\7N\2\2\u0d12\u0168\3\2\2\2\u0d13\u0d14\7F\2\2\u0d14\u0d15") - buf.write("\7Q\2\2\u0d15\u0d16\7W\2\2\u0d16\u0d17\7D\2\2\u0d17\u0d18") - buf.write("\7N\2\2\u0d18\u0d19\7G\2\2\u0d19\u016a\3\2\2\2\u0d1a\u0d1b") - buf.write("\7H\2\2\u0d1b\u0d1c\7N\2\2\u0d1c\u0d1d\7Q\2\2\u0d1d\u0d1e") - buf.write("\7C\2\2\u0d1e\u0d1f\7V\2\2\u0d1f\u016c\3\2\2\2\u0d20\u0d21") - buf.write("\7F\2\2\u0d21\u0d22\7G\2\2\u0d22\u0d23\7E\2\2\u0d23\u0d24") - buf.write("\7K\2\2\u0d24\u0d25\7O\2\2\u0d25\u0d26\7C\2\2\u0d26\u0d27") - buf.write("\7N\2\2\u0d27\u016e\3\2\2\2\u0d28\u0d29\7P\2\2\u0d29\u0d2a") - buf.write("\7W\2\2\u0d2a\u0d2b\7O\2\2\u0d2b\u0d2c\7G\2\2\u0d2c\u0d2d") - buf.write("\7T\2\2\u0d2d\u0d2e\7K\2\2\u0d2e\u0d2f\7E\2\2\u0d2f\u0170") - buf.write("\3\2\2\2\u0d30\u0d31\7F\2\2\u0d31\u0d32\7C\2\2\u0d32\u0d33") - buf.write("\7V\2\2\u0d33\u0d34\7G\2\2\u0d34\u0172\3\2\2\2\u0d35\u0d36") - buf.write("\7V\2\2\u0d36\u0d37\7K\2\2\u0d37\u0d38\7O\2\2\u0d38\u0d39") - buf.write("\7G\2\2\u0d39\u0174\3\2\2\2\u0d3a\u0d3b\7V\2\2\u0d3b\u0d3c") - buf.write("\7K\2\2\u0d3c\u0d3d\7O\2\2\u0d3d\u0d3e\7G\2\2\u0d3e\u0d3f") - buf.write("\7U\2\2\u0d3f\u0d40\7V\2\2\u0d40\u0d41\7C\2\2\u0d41\u0d42") - buf.write("\7O\2\2\u0d42\u0d43\7R\2\2\u0d43\u0176\3\2\2\2\u0d44\u0d45") - buf.write("\7F\2\2\u0d45\u0d46\7C\2\2\u0d46\u0d47\7V\2\2\u0d47\u0d48") - buf.write("\7G\2\2\u0d48\u0d49\7V\2\2\u0d49\u0d4a\7K\2\2\u0d4a\u0d4b") - buf.write("\7O\2\2\u0d4b\u0d4c\7G\2\2\u0d4c\u0178\3\2\2\2\u0d4d\u0d4e") - buf.write("\7[\2\2\u0d4e\u0d4f\7G\2\2\u0d4f\u0d50\7C\2\2\u0d50\u0d51") - buf.write("\7T\2\2\u0d51\u017a\3\2\2\2\u0d52\u0d53\7E\2\2\u0d53\u0d54") - buf.write("\7J\2\2\u0d54\u0d55\7C\2\2\u0d55\u0d56\7T\2\2\u0d56\u017c") - buf.write("\3\2\2\2\u0d57\u0d58\7X\2\2\u0d58\u0d59\7C\2\2\u0d59\u0d5a") - buf.write("\7T\2\2\u0d5a\u0d5b\7E\2\2\u0d5b\u0d5c\7J\2\2\u0d5c\u0d5d") - buf.write("\7C\2\2\u0d5d\u0d5e\7T\2\2\u0d5e\u017e\3\2\2\2\u0d5f\u0d60") - buf.write("\7D\2\2\u0d60\u0d61\7K\2\2\u0d61\u0d62\7P\2\2\u0d62\u0d63") - buf.write("\7C\2\2\u0d63\u0d64\7T\2\2\u0d64\u0d65\7[\2\2\u0d65\u0180") - buf.write("\3\2\2\2\u0d66\u0d67\7X\2\2\u0d67\u0d68\7C\2\2\u0d68\u0d69") - buf.write("\7T\2\2\u0d69\u0d6a\7D\2\2\u0d6a\u0d6b\7K\2\2\u0d6b\u0d6c") - buf.write("\7P\2\2\u0d6c\u0d6d\7C\2\2\u0d6d\u0d6e\7T\2\2\u0d6e\u0d6f") - buf.write("\7[\2\2\u0d6f\u0182\3\2\2\2\u0d70\u0d71\7V\2\2\u0d71\u0d72") - buf.write("\7K\2\2\u0d72\u0d73\7P\2\2\u0d73\u0d74\7[\2\2\u0d74\u0d75") - buf.write("\7D\2\2\u0d75\u0d76\7N\2\2\u0d76\u0d77\7Q\2\2\u0d77\u0d78") - buf.write("\7D\2\2\u0d78\u0184\3\2\2\2\u0d79\u0d7a\7D\2\2\u0d7a\u0d7b") - buf.write("\7N\2\2\u0d7b\u0d7c\7Q\2\2\u0d7c\u0d7d\7D\2\2\u0d7d\u0186") - buf.write("\3\2\2\2\u0d7e\u0d7f\7O\2\2\u0d7f\u0d80\7G\2\2\u0d80\u0d81") - buf.write("\7F\2\2\u0d81\u0d82\7K\2\2\u0d82\u0d83\7W\2\2\u0d83\u0d84") - buf.write("\7O\2\2\u0d84\u0d85\7D\2\2\u0d85\u0d86\7N\2\2\u0d86\u0d87") - buf.write("\7Q\2\2\u0d87\u0d88\7D\2\2\u0d88\u0188\3\2\2\2\u0d89\u0d8a") - buf.write("\7N\2\2\u0d8a\u0d8b\7Q\2\2\u0d8b\u0d8c\7P\2\2\u0d8c\u0d8d") - buf.write("\7I\2\2\u0d8d\u0d8e\7D\2\2\u0d8e\u0d8f\7N\2\2\u0d8f\u0d90") - buf.write("\7Q\2\2\u0d90\u0d91\7D\2\2\u0d91\u018a\3\2\2\2\u0d92\u0d93") - buf.write("\7V\2\2\u0d93\u0d94\7K\2\2\u0d94\u0d95\7P\2\2\u0d95\u0d96") - buf.write("\7[\2\2\u0d96\u0d97\7V\2\2\u0d97\u0d98\7G\2\2\u0d98\u0d99") - buf.write("\7Z\2\2\u0d99\u0d9a\7V\2\2\u0d9a\u018c\3\2\2\2\u0d9b\u0d9c") - buf.write("\7V\2\2\u0d9c\u0d9d\7G\2\2\u0d9d\u0d9e\7Z\2\2\u0d9e\u0d9f") - buf.write("\7V\2\2\u0d9f\u018e\3\2\2\2\u0da0\u0da1\7O\2\2\u0da1\u0da2") - buf.write("\7G\2\2\u0da2\u0da3\7F\2\2\u0da3\u0da4\7K\2\2\u0da4\u0da5") - buf.write("\7W\2\2\u0da5\u0da6\7O\2\2\u0da6\u0da7\7V\2\2\u0da7\u0da8") - buf.write("\7G\2\2\u0da8\u0da9\7Z\2\2\u0da9\u0daa\7V\2\2\u0daa\u0190") - buf.write("\3\2\2\2\u0dab\u0dac\7N\2\2\u0dac\u0dad\7Q\2\2\u0dad\u0dae") - buf.write("\7P\2\2\u0dae\u0daf\7I\2\2\u0daf\u0db0\7V\2\2\u0db0\u0db1") - buf.write("\7G\2\2\u0db1\u0db2\7Z\2\2\u0db2\u0db3\7V\2\2\u0db3\u0192") - buf.write("\3\2\2\2\u0db4\u0db5\7G\2\2\u0db5\u0db6\7P\2\2\u0db6\u0db7") - buf.write("\7W\2\2\u0db7\u0db8\7O\2\2\u0db8\u0194\3\2\2\2\u0db9\u0dba") - buf.write("\7U\2\2\u0dba\u0dbb\7G\2\2\u0dbb\u0dbc\7T\2\2\u0dbc\u0dbd") - buf.write("\7K\2\2\u0dbd\u0dbe\7C\2\2\u0dbe\u0dbf\7N\2\2\u0dbf\u0196") - buf.write("\3\2\2\2\u0dc0\u0dc1\7[\2\2\u0dc1\u0dc2\7G\2\2\u0dc2\u0dc3") - buf.write("\7C\2\2\u0dc3\u0dc4\7T\2\2\u0dc4\u0dc5\7a\2\2\u0dc5\u0dc6") - buf.write("\7O\2\2\u0dc6\u0dc7\7Q\2\2\u0dc7\u0dc8\7P\2\2\u0dc8\u0dc9") - buf.write("\7V\2\2\u0dc9\u0dca\7J\2\2\u0dca\u0198\3\2\2\2\u0dcb\u0dcc") - buf.write("\7F\2\2\u0dcc\u0dcd\7C\2\2\u0dcd\u0dce\7[\2\2\u0dce\u0dcf") - buf.write("\7a\2\2\u0dcf\u0dd0\7J\2\2\u0dd0\u0dd1\7Q\2\2\u0dd1\u0dd2") - buf.write("\7W\2\2\u0dd2\u0dd3\7T\2\2\u0dd3\u019a\3\2\2\2\u0dd4\u0dd5") - buf.write("\7F\2\2\u0dd5\u0dd6\7C\2\2\u0dd6\u0dd7\7[\2\2\u0dd7\u0dd8") - buf.write("\7a\2\2\u0dd8\u0dd9\7O\2\2\u0dd9\u0dda\7K\2\2\u0dda\u0ddb") - buf.write("\7P\2\2\u0ddb\u0ddc\7W\2\2\u0ddc\u0ddd\7V\2\2\u0ddd\u0dde") - buf.write("\7G\2\2\u0dde\u019c\3\2\2\2\u0ddf\u0de0\7F\2\2\u0de0\u0de1") - buf.write("\7C\2\2\u0de1\u0de2\7[\2\2\u0de2\u0de3\7a\2\2\u0de3\u0de4") - buf.write("\7U\2\2\u0de4\u0de5\7G\2\2\u0de5\u0de6\7E\2\2\u0de6\u0de7") - buf.write("\7Q\2\2\u0de7\u0de8\7P\2\2\u0de8\u0de9\7F\2\2\u0de9\u019e") - buf.write("\3\2\2\2\u0dea\u0deb\7J\2\2\u0deb\u0dec\7Q\2\2\u0dec\u0ded") - buf.write("\7W\2\2\u0ded\u0dee\7T\2\2\u0dee\u0def\7a\2\2\u0def\u0df0") - buf.write("\7O\2\2\u0df0\u0df1\7K\2\2\u0df1\u0df2\7P\2\2\u0df2\u0df3") - buf.write("\7W\2\2\u0df3\u0df4\7V\2\2\u0df4\u0df5\7G\2\2\u0df5\u01a0") - buf.write("\3\2\2\2\u0df6\u0df7\7J\2\2\u0df7\u0df8\7Q\2\2\u0df8\u0df9") - buf.write("\7W\2\2\u0df9\u0dfa\7T\2\2\u0dfa\u0dfb\7a\2\2\u0dfb\u0dfc") - buf.write("\7U\2\2\u0dfc\u0dfd\7G\2\2\u0dfd\u0dfe\7E\2\2\u0dfe\u0dff") - buf.write("\7Q\2\2\u0dff\u0e00\7P\2\2\u0e00\u0e01\7F\2\2\u0e01\u01a2") - buf.write("\3\2\2\2\u0e02\u0e03\7O\2\2\u0e03\u0e04\7K\2\2\u0e04\u0e05") - buf.write("\7P\2\2\u0e05\u0e06\7W\2\2\u0e06\u0e07\7V\2\2\u0e07\u0e08") - buf.write("\7G\2\2\u0e08\u0e09\7a\2\2\u0e09\u0e0a\7U\2\2\u0e0a\u0e0b") - buf.write("\7G\2\2\u0e0b\u0e0c\7E\2\2\u0e0c\u0e0d\7Q\2\2\u0e0d\u0e0e") - buf.write("\7P\2\2\u0e0e\u0e0f\7F\2\2\u0e0f\u01a4\3\2\2\2\u0e10\u0e11") - buf.write("\7U\2\2\u0e11\u0e12\7G\2\2\u0e12\u0e13\7E\2\2\u0e13\u0e14") - buf.write("\7Q\2\2\u0e14\u0e15\7P\2\2\u0e15\u0e16\7F\2\2\u0e16\u0e17") - buf.write("\7a\2\2\u0e17\u0e18\7O\2\2\u0e18\u0e19\7K\2\2\u0e19\u0e1a") - buf.write("\7E\2\2\u0e1a\u0e1b\7T\2\2\u0e1b\u0e1c\7Q\2\2\u0e1c\u0e1d") - buf.write("\7U\2\2\u0e1d\u0e1e\7G\2\2\u0e1e\u0e1f\7E\2\2\u0e1f\u0e20") - buf.write("\7Q\2\2\u0e20\u0e21\7P\2\2\u0e21\u0e22\7F\2\2\u0e22\u01a6") - buf.write("\3\2\2\2\u0e23\u0e24\7O\2\2\u0e24\u0e25\7K\2\2\u0e25\u0e26") - buf.write("\7P\2\2\u0e26\u0e27\7W\2\2\u0e27\u0e28\7V\2\2\u0e28\u0e29") - buf.write("\7G\2\2\u0e29\u0e2a\7a\2\2\u0e2a\u0e2b\7O\2\2\u0e2b\u0e2c") - buf.write("\7K\2\2\u0e2c\u0e2d\7E\2\2\u0e2d\u0e2e\7T\2\2\u0e2e\u0e2f") - buf.write("\7Q\2\2\u0e2f\u0e30\7U\2\2\u0e30\u0e31\7G\2\2\u0e31\u0e32") - buf.write("\7E\2\2\u0e32\u0e33\7Q\2\2\u0e33\u0e34\7P\2\2\u0e34\u0e35") - buf.write("\7F\2\2\u0e35\u01a8\3\2\2\2\u0e36\u0e37\7J\2\2\u0e37\u0e38") - buf.write("\7Q\2\2\u0e38\u0e39\7W\2\2\u0e39\u0e3a\7T\2\2\u0e3a\u0e3b") - buf.write("\7a\2\2\u0e3b\u0e3c\7O\2\2\u0e3c\u0e3d\7K\2\2\u0e3d\u0e3e") - buf.write("\7E\2\2\u0e3e\u0e3f\7T\2\2\u0e3f\u0e40\7Q\2\2\u0e40\u0e41") - buf.write("\7U\2\2\u0e41\u0e42\7G\2\2\u0e42\u0e43\7E\2\2\u0e43\u0e44") - buf.write("\7Q\2\2\u0e44\u0e45\7P\2\2\u0e45\u0e46\7F\2\2\u0e46\u01aa") - buf.write("\3\2\2\2\u0e47\u0e48\7F\2\2\u0e48\u0e49\7C\2\2\u0e49\u0e4a") - buf.write("\7[\2\2\u0e4a\u0e4b\7a\2\2\u0e4b\u0e4c\7O\2\2\u0e4c\u0e4d") - buf.write("\7K\2\2\u0e4d\u0e4e\7E\2\2\u0e4e\u0e4f\7T\2\2\u0e4f\u0e50") - buf.write("\7Q\2\2\u0e50\u0e51\7U\2\2\u0e51\u0e52\7G\2\2\u0e52\u0e53") - buf.write("\7E\2\2\u0e53\u0e54\7Q\2\2\u0e54\u0e55\7P\2\2\u0e55\u0e56") - buf.write("\7F\2\2\u0e56\u01ac\3\2\2\2\u0e57\u0e58\7C\2\2\u0e58\u0e59") - buf.write("\7X\2\2\u0e59\u0e5a\7I\2\2\u0e5a\u01ae\3\2\2\2\u0e5b\u0e5c") - buf.write("\7D\2\2\u0e5c\u0e5d\7K\2\2\u0e5d\u0e5e\7V\2\2\u0e5e\u0e5f") - buf.write("\7a\2\2\u0e5f\u0e60\7C\2\2\u0e60\u0e61\7P\2\2\u0e61\u0e62") - buf.write("\7F\2\2\u0e62\u01b0\3\2\2\2\u0e63\u0e64\7D\2\2\u0e64\u0e65") - buf.write("\7K\2\2\u0e65\u0e66\7V\2\2\u0e66\u0e67\7a\2\2\u0e67\u0e68") - buf.write("\7Q\2\2\u0e68\u0e69\7T\2\2\u0e69\u01b2\3\2\2\2\u0e6a\u0e6b") - buf.write("\7D\2\2\u0e6b\u0e6c\7K\2\2\u0e6c\u0e6d\7V\2\2\u0e6d\u0e6e") - buf.write("\7a\2\2\u0e6e\u0e6f\7Z\2\2\u0e6f\u0e70\7Q\2\2\u0e70\u0e71") - buf.write("\7T\2\2\u0e71\u01b4\3\2\2\2\u0e72\u0e73\7E\2\2\u0e73\u0e74") - buf.write("\7Q\2\2\u0e74\u0e75\7W\2\2\u0e75\u0e76\7P\2\2\u0e76\u0e77") - buf.write("\7V\2\2\u0e77\u01b6\3\2\2\2\u0e78\u0e79\7I\2\2\u0e79\u0e7a") - buf.write("\7T\2\2\u0e7a\u0e7b\7Q\2\2\u0e7b\u0e7c\7W\2\2\u0e7c\u0e7d") - buf.write("\7R\2\2\u0e7d\u0e7e\7a\2\2\u0e7e\u0e7f\7E\2\2\u0e7f\u0e80") - buf.write("\7Q\2\2\u0e80\u0e81\7P\2\2\u0e81\u0e82\7E\2\2\u0e82\u0e83") - buf.write("\7C\2\2\u0e83\u0e84\7V\2\2\u0e84\u01b8\3\2\2\2\u0e85\u0e86") - buf.write("\7O\2\2\u0e86\u0e87\7C\2\2\u0e87\u0e88\7Z\2\2\u0e88\u01ba") - buf.write("\3\2\2\2\u0e89\u0e8a\7O\2\2\u0e8a\u0e8b\7K\2\2\u0e8b\u0e8c") - buf.write("\7P\2\2\u0e8c\u01bc\3\2\2\2\u0e8d\u0e8e\7U\2\2\u0e8e\u0e8f") - buf.write("\7V\2\2\u0e8f\u0e90\7F\2\2\u0e90\u01be\3\2\2\2\u0e91\u0e92") - buf.write("\7U\2\2\u0e92\u0e93\7V\2\2\u0e93\u0e94\7F\2\2\u0e94\u0e95") - buf.write("\7F\2\2\u0e95\u0e96\7G\2\2\u0e96\u0e97\7X\2\2\u0e97\u01c0") - buf.write("\3\2\2\2\u0e98\u0e99\7U\2\2\u0e99\u0e9a\7V\2\2\u0e9a\u0e9b") - buf.write("\7F\2\2\u0e9b\u0e9c\7F\2\2\u0e9c\u0e9d\7G\2\2\u0e9d\u0e9e") - buf.write("\7X\2\2\u0e9e\u0e9f\7a\2\2\u0e9f\u0ea0\7R\2\2\u0ea0\u0ea1") - buf.write("\7Q\2\2\u0ea1\u0ea2\7R\2\2\u0ea2\u01c2\3\2\2\2\u0ea3\u0ea4") - buf.write("\7U\2\2\u0ea4\u0ea5\7V\2\2\u0ea5\u0ea6\7F\2\2\u0ea6\u0ea7") - buf.write("\7F\2\2\u0ea7\u0ea8\7G\2\2\u0ea8\u0ea9\7X\2\2\u0ea9\u0eaa") - buf.write("\7a\2\2\u0eaa\u0eab\7U\2\2\u0eab\u0eac\7C\2\2\u0eac\u0ead") - buf.write("\7O\2\2\u0ead\u0eae\7R\2\2\u0eae\u01c4\3\2\2\2\u0eaf\u0eb0") - buf.write("\7U\2\2\u0eb0\u0eb1\7W\2\2\u0eb1\u0eb2\7O\2\2\u0eb2\u01c6") - buf.write("\3\2\2\2\u0eb3\u0eb4\7X\2\2\u0eb4\u0eb5\7C\2\2\u0eb5\u0eb6") - buf.write("\7T\2\2\u0eb6\u0eb7\7a\2\2\u0eb7\u0eb8\7R\2\2\u0eb8\u0eb9") - buf.write("\7Q\2\2\u0eb9\u0eba\7R\2\2\u0eba\u01c8\3\2\2\2\u0ebb\u0ebc") - buf.write("\7X\2\2\u0ebc\u0ebd\7C\2\2\u0ebd\u0ebe\7T\2\2\u0ebe\u0ebf") - buf.write("\7a\2\2\u0ebf\u0ec0\7U\2\2\u0ec0\u0ec1\7C\2\2\u0ec1\u0ec2") - buf.write("\7O\2\2\u0ec2\u0ec3\7R\2\2\u0ec3\u01ca\3\2\2\2\u0ec4\u0ec5") - buf.write("\7X\2\2\u0ec5\u0ec6\7C\2\2\u0ec6\u0ec7\7T\2\2\u0ec7\u0ec8") - buf.write("\7K\2\2\u0ec8\u0ec9\7C\2\2\u0ec9\u0eca\7P\2\2\u0eca\u0ecb") - buf.write("\7E\2\2\u0ecb\u0ecc\7G\2\2\u0ecc\u01cc\3\2\2\2\u0ecd\u0ece") - buf.write("\7H\2\2\u0ece\u0ecf\7E\2\2\u0ecf\u0ed0\7Q\2\2\u0ed0\u0ed1") - buf.write("\7W\2\2\u0ed1\u0ed2\7P\2\2\u0ed2\u0ed3\7V\2\2\u0ed3\u01ce") - buf.write("\3\2\2\2\u0ed4\u0ed5\7E\2\2\u0ed5\u0ed6\7W\2\2\u0ed6\u0ed7") - buf.write("\7T\2\2\u0ed7\u0ed8\7T\2\2\u0ed8\u0ed9\7G\2\2\u0ed9\u0eda") - buf.write("\7P\2\2\u0eda\u0edb\7V\2\2\u0edb\u0edc\7a\2\2\u0edc\u0edd") - buf.write("\7F\2\2\u0edd\u0ede\7C\2\2\u0ede\u0edf\7V\2\2\u0edf\u0ee0") - buf.write("\7G\2\2\u0ee0\u01d0\3\2\2\2\u0ee1\u0ee2\7E\2\2\u0ee2\u0ee3") - buf.write("\7W\2\2\u0ee3\u0ee4\7T\2\2\u0ee4\u0ee5\7T\2\2\u0ee5\u0ee6") - buf.write("\7G\2\2\u0ee6\u0ee7\7P\2\2\u0ee7\u0ee8\7V\2\2\u0ee8\u0ee9") - buf.write("\7a\2\2\u0ee9\u0eea\7V\2\2\u0eea\u0eeb\7K\2\2\u0eeb\u0eec") - buf.write("\7O\2\2\u0eec\u0eed\7G\2\2\u0eed\u01d2\3\2\2\2\u0eee\u0eef") - buf.write("\7E\2\2\u0eef\u0ef0\7W\2\2\u0ef0\u0ef1\7T\2\2\u0ef1\u0ef2") - buf.write("\7T\2\2\u0ef2\u0ef3\7G\2\2\u0ef3\u0ef4\7P\2\2\u0ef4\u0ef5") - buf.write("\7V\2\2\u0ef5\u0ef6\7a\2\2\u0ef6\u0ef7\7V\2\2\u0ef7\u0ef8") - buf.write("\7K\2\2\u0ef8\u0ef9\7O\2\2\u0ef9\u0efa\7G\2\2\u0efa\u0efb") - buf.write("\7U\2\2\u0efb\u0efc\7V\2\2\u0efc\u0efd\7C\2\2\u0efd\u0efe") - buf.write("\7O\2\2\u0efe\u0eff\7R\2\2\u0eff\u01d4\3\2\2\2\u0f00\u0f01") - buf.write("\7N\2\2\u0f01\u0f02\7Q\2\2\u0f02\u0f03\7E\2\2\u0f03\u0f04") - buf.write("\7C\2\2\u0f04\u0f05\7N\2\2\u0f05\u0f06\7V\2\2\u0f06\u0f07") - buf.write("\7K\2\2\u0f07\u0f08\7O\2\2\u0f08\u0f09\7G\2\2\u0f09\u01d6") - buf.write("\3\2\2\2\u0f0a\u0f0b\7E\2\2\u0f0b\u0f0c\7W\2\2\u0f0c\u0f0d") - buf.write("\7T\2\2\u0f0d\u0f0e\7F\2\2\u0f0e\u0f0f\7C\2\2\u0f0f\u0f10") - buf.write("\7V\2\2\u0f10\u0f11\7G\2\2\u0f11\u01d8\3\2\2\2\u0f12\u0f13") - buf.write("\7E\2\2\u0f13\u0f14\7W\2\2\u0f14\u0f15\7T\2\2\u0f15\u0f16") - buf.write("\7V\2\2\u0f16\u0f17\7K\2\2\u0f17\u0f18\7O\2\2\u0f18\u0f19") - buf.write("\7G\2\2\u0f19\u01da\3\2\2\2\u0f1a\u0f1b\7F\2\2\u0f1b\u0f1c") - buf.write("\7C\2\2\u0f1c\u0f1d\7V\2\2\u0f1d\u0f1e\7G\2\2\u0f1e\u0f1f") - buf.write("\7a\2\2\u0f1f\u0f20\7C\2\2\u0f20\u0f21\7F\2\2\u0f21\u0f22") - buf.write("\7F\2\2\u0f22\u01dc\3\2\2\2\u0f23\u0f24\7F\2\2\u0f24\u0f25") - buf.write("\7C\2\2\u0f25\u0f26\7V\2\2\u0f26\u0f27\7G\2\2\u0f27\u0f28") - buf.write("\7a\2\2\u0f28\u0f29\7U\2\2\u0f29\u0f2a\7W\2\2\u0f2a\u0f2b") - buf.write("\7D\2\2\u0f2b\u01de\3\2\2\2\u0f2c\u0f2d\7G\2\2\u0f2d\u0f2e") - buf.write("\7Z\2\2\u0f2e\u0f2f\7V\2\2\u0f2f\u0f30\7T\2\2\u0f30\u0f31") - buf.write("\7C\2\2\u0f31\u0f32\7E\2\2\u0f32\u0f33\7V\2\2\u0f33\u01e0") - buf.write("\3\2\2\2\u0f34\u0f35\7N\2\2\u0f35\u0f36\7Q\2\2\u0f36\u0f37") - buf.write("\7E\2\2\u0f37\u0f38\7C\2\2\u0f38\u0f39\7N\2\2\u0f39\u0f3a") - buf.write("\7V\2\2\u0f3a\u0f3b\7K\2\2\u0f3b\u0f3c\7O\2\2\u0f3c\u0f3d") - buf.write("\7G\2\2\u0f3d\u0f3e\7U\2\2\u0f3e\u0f3f\7V\2\2\u0f3f\u0f40") - buf.write("\7C\2\2\u0f40\u0f41\7O\2\2\u0f41\u0f42\7R\2\2\u0f42\u01e2") - buf.write("\3\2\2\2\u0f43\u0f44\7P\2\2\u0f44\u0f45\7Q\2\2\u0f45\u0f46") - buf.write("\7Y\2\2\u0f46\u01e4\3\2\2\2\u0f47\u0f48\7R\2\2\u0f48\u0f49") - buf.write("\7Q\2\2\u0f49\u0f4a\7U\2\2\u0f4a\u0f4b\7K\2\2\u0f4b\u0f4c") - buf.write("\7V\2\2\u0f4c\u0f4d\7K\2\2\u0f4d\u0f4e\7Q\2\2\u0f4e\u0f4f") - buf.write("\7P\2\2\u0f4f\u01e6\3\2\2\2\u0f50\u0f51\7U\2\2\u0f51\u0f52") - buf.write("\7W\2\2\u0f52\u0f53\7D\2\2\u0f53\u0f54\7U\2\2\u0f54\u0f55") - buf.write("\7V\2\2\u0f55\u0f56\7T\2\2\u0f56\u01e8\3\2\2\2\u0f57\u0f58") - buf.write("\7U\2\2\u0f58\u0f59\7W\2\2\u0f59\u0f5a\7D\2\2\u0f5a\u0f5b") - buf.write("\7U\2\2\u0f5b\u0f5c\7V\2\2\u0f5c\u0f5d\7T\2\2\u0f5d\u0f5e") - buf.write("\7K\2\2\u0f5e\u0f5f\7P\2\2\u0f5f\u0f60\7I\2\2\u0f60\u01ea") - buf.write("\3\2\2\2\u0f61\u0f62\7U\2\2\u0f62\u0f63\7[\2\2\u0f63\u0f64") - buf.write("\7U\2\2\u0f64\u0f65\7F\2\2\u0f65\u0f66\7C\2\2\u0f66\u0f67") - buf.write("\7V\2\2\u0f67\u0f68\7G\2\2\u0f68\u01ec\3\2\2\2\u0f69\u0f6a") - buf.write("\7V\2\2\u0f6a\u0f6b\7T\2\2\u0f6b\u0f6c\7K\2\2\u0f6c\u0f6d") - buf.write("\7O\2\2\u0f6d\u01ee\3\2\2\2\u0f6e\u0f6f\7W\2\2\u0f6f\u0f70") - buf.write("\7V\2\2\u0f70\u0f71\7E\2\2\u0f71\u0f72\7a\2\2\u0f72\u0f73") - buf.write("\7F\2\2\u0f73\u0f74\7C\2\2\u0f74\u0f75\7V\2\2\u0f75\u0f76") - buf.write("\7G\2\2\u0f76\u01f0\3\2\2\2\u0f77\u0f78\7W\2\2\u0f78\u0f79") - buf.write("\7V\2\2\u0f79\u0f7a\7E\2\2\u0f7a\u0f7b\7a\2\2\u0f7b\u0f7c") - buf.write("\7V\2\2\u0f7c\u0f7d\7K\2\2\u0f7d\u0f7e\7O\2\2\u0f7e\u0f7f") - buf.write("\7G\2\2\u0f7f\u01f2\3\2\2\2\u0f80\u0f81\7W\2\2\u0f81\u0f82") - buf.write("\7V\2\2\u0f82\u0f83\7E\2\2\u0f83\u0f84\7a\2\2\u0f84\u0f85") - buf.write("\7V\2\2\u0f85\u0f86\7K\2\2\u0f86\u0f87\7O\2\2\u0f87\u0f88") - buf.write("\7G\2\2\u0f88\u0f89\7U\2\2\u0f89\u0f8a\7V\2\2\u0f8a\u0f8b") - buf.write("\7C\2\2\u0f8b\u0f8c\7O\2\2\u0f8c\u0f8d\7R\2\2\u0f8d\u01f4") - buf.write("\3\2\2\2\u0f8e\u0f8f\7C\2\2\u0f8f\u0f90\7E\2\2\u0f90\u0f91") - buf.write("\7E\2\2\u0f91\u0f92\7Q\2\2\u0f92\u0f93\7W\2\2\u0f93\u0f94") - buf.write("\7P\2\2\u0f94\u0f95\7V\2\2\u0f95\u01f6\3\2\2\2\u0f96\u0f97") - buf.write("\7C\2\2\u0f97\u0f98\7E\2\2\u0f98\u0f99\7V\2\2\u0f99\u0f9a") - buf.write("\7K\2\2\u0f9a\u0f9b\7Q\2\2\u0f9b\u0f9c\7P\2\2\u0f9c\u01f8") - buf.write("\3\2\2\2\u0f9d\u0f9e\7C\2\2\u0f9e\u0f9f\7H\2\2\u0f9f\u0fa0") - buf.write("\7V\2\2\u0fa0\u0fa1\7G\2\2\u0fa1\u0fa2\7T\2\2\u0fa2\u01fa") - buf.write("\3\2\2\2\u0fa3\u0fa4\7C\2\2\u0fa4\u0fa5\7I\2\2\u0fa5\u0fa6") - buf.write("\7I\2\2\u0fa6\u0fa7\7T\2\2\u0fa7\u0fa8\7G\2\2\u0fa8\u0fa9") - buf.write("\7I\2\2\u0fa9\u0faa\7C\2\2\u0faa\u0fab\7V\2\2\u0fab\u0fac") - buf.write("\7G\2\2\u0fac\u01fc\3\2\2\2\u0fad\u0fae\7C\2\2\u0fae\u0faf") - buf.write("\7N\2\2\u0faf\u0fb0\7I\2\2\u0fb0\u0fb1\7Q\2\2\u0fb1\u0fb2") - buf.write("\7T\2\2\u0fb2\u0fb3\7K\2\2\u0fb3\u0fb4\7V\2\2\u0fb4\u0fb5") - buf.write("\7J\2\2\u0fb5\u0fb6\7O\2\2\u0fb6\u01fe\3\2\2\2\u0fb7\u0fb8") - buf.write("\7C\2\2\u0fb8\u0fb9\7P\2\2\u0fb9\u0fba\7[\2\2\u0fba\u0200") - buf.write("\3\2\2\2\u0fbb\u0fbc\7C\2\2\u0fbc\u0fbd\7V\2\2\u0fbd\u0202") - buf.write("\3\2\2\2\u0fbe\u0fbf\7C\2\2\u0fbf\u0fc0\7W\2\2\u0fc0\u0fc1") - buf.write("\7V\2\2\u0fc1\u0fc2\7J\2\2\u0fc2\u0fc3\7Q\2\2\u0fc3\u0fc4") - buf.write("\7T\2\2\u0fc4\u0fc5\7U\2\2\u0fc5\u0204\3\2\2\2\u0fc6\u0fc7") - buf.write("\7C\2\2\u0fc7\u0fc8\7W\2\2\u0fc8\u0fc9\7V\2\2\u0fc9\u0fca") - buf.write("\7Q\2\2\u0fca\u0fcb\7E\2\2\u0fcb\u0fcc\7Q\2\2\u0fcc\u0fcd") - buf.write("\7O\2\2\u0fcd\u0fce\7O\2\2\u0fce\u0fcf\7K\2\2\u0fcf\u0fd0") - buf.write("\7V\2\2\u0fd0\u0206\3\2\2\2\u0fd1\u0fd2\7C\2\2\u0fd2\u0fd3") - buf.write("\7W\2\2\u0fd3\u0fd4\7V\2\2\u0fd4\u0fd5\7Q\2\2\u0fd5\u0fd6") - buf.write("\7G\2\2\u0fd6\u0fd7\7Z\2\2\u0fd7\u0fd8\7V\2\2\u0fd8\u0fd9") - buf.write("\7G\2\2\u0fd9\u0fda\7P\2\2\u0fda\u0fdb\7F\2\2\u0fdb\u0fdc") - buf.write("\7a\2\2\u0fdc\u0fdd\7U\2\2\u0fdd\u0fde\7K\2\2\u0fde\u0fdf") - buf.write("\7\\\2\2\u0fdf\u0fe0\7G\2\2\u0fe0\u0208\3\2\2\2\u0fe1") - buf.write("\u0fe2\7C\2\2\u0fe2\u0fe3\7W\2\2\u0fe3\u0fe4\7V\2\2\u0fe4") - buf.write("\u0fe5\7Q\2\2\u0fe5\u0fe6\7a\2\2\u0fe6\u0fe7\7K\2\2\u0fe7") - buf.write("\u0fe8\7P\2\2\u0fe8\u0fe9\7E\2\2\u0fe9\u0fea\7T\2\2\u0fea") - buf.write("\u0feb\7G\2\2\u0feb\u0fec\7O\2\2\u0fec\u0fed\7G\2\2\u0fed") - buf.write("\u0fee\7P\2\2\u0fee\u0fef\7V\2\2\u0fef\u020a\3\2\2\2\u0ff0") - buf.write("\u0ff1\7C\2\2\u0ff1\u0ff2\7X\2\2\u0ff2\u0ff3\7I\2\2\u0ff3") - buf.write("\u0ff4\7a\2\2\u0ff4\u0ff5\7T\2\2\u0ff5\u0ff6\7Q\2\2\u0ff6") - buf.write("\u0ff7\7Y\2\2\u0ff7\u0ff8\7a\2\2\u0ff8\u0ff9\7N\2\2\u0ff9") - buf.write("\u0ffa\7G\2\2\u0ffa\u0ffb\7P\2\2\u0ffb\u0ffc\7I\2\2\u0ffc") - buf.write("\u0ffd\7V\2\2\u0ffd\u0ffe\7J\2\2\u0ffe\u020c\3\2\2\2\u0fff") - buf.write("\u1000\7D\2\2\u1000\u1001\7G\2\2\u1001\u1002\7I\2\2\u1002") - buf.write("\u1003\7K\2\2\u1003\u1004\7P\2\2\u1004\u020e\3\2\2\2\u1005") - buf.write("\u1006\7D\2\2\u1006\u1007\7K\2\2\u1007\u1008\7P\2\2\u1008") - buf.write("\u1009\7N\2\2\u1009\u100a\7Q\2\2\u100a\u100b\7I\2\2\u100b") - buf.write("\u0210\3\2\2\2\u100c\u100d\7D\2\2\u100d\u100e\7K\2\2\u100e") - buf.write("\u100f\7V\2\2\u100f\u0212\3\2\2\2\u1010\u1011\7D\2\2\u1011") - buf.write("\u1012\7N\2\2\u1012\u1013\7Q\2\2\u1013\u1014\7E\2\2\u1014") - buf.write("\u1015\7M\2\2\u1015\u0214\3\2\2\2\u1016\u1017\7D\2\2\u1017") - buf.write("\u1018\7Q\2\2\u1018\u1019\7Q\2\2\u1019\u101a\7N\2\2\u101a") - buf.write("\u0216\3\2\2\2\u101b\u101c\7D\2\2\u101c\u101d\7Q\2\2\u101d") - buf.write("\u101e\7Q\2\2\u101e\u101f\7N\2\2\u101f\u1020\7G\2\2\u1020") - buf.write("\u1021\7C\2\2\u1021\u1022\7P\2\2\u1022\u0218\3\2\2\2\u1023") - buf.write("\u1024\7D\2\2\u1024\u1025\7V\2\2\u1025\u1026\7T\2\2\u1026") - buf.write("\u1027\7G\2\2\u1027\u1028\7G\2\2\u1028\u021a\3\2\2\2\u1029") - buf.write("\u102a\7E\2\2\u102a\u102b\7C\2\2\u102b\u102c\7E\2\2\u102c") - buf.write("\u102d\7J\2\2\u102d\u102e\7G\2\2\u102e\u021c\3\2\2\2\u102f") - buf.write("\u1030\7E\2\2\u1030\u1031\7C\2\2\u1031\u1032\7U\2\2\u1032") - buf.write("\u1033\7E\2\2\u1033\u1034\7C\2\2\u1034\u1035\7F\2\2\u1035") - buf.write("\u1036\7G\2\2\u1036\u1037\7F\2\2\u1037\u021e\3\2\2\2\u1038") - buf.write("\u1039\7E\2\2\u1039\u103a\7J\2\2\u103a\u103b\7C\2\2\u103b") - buf.write("\u103c\7K\2\2\u103c\u103d\7P\2\2\u103d\u0220\3\2\2\2\u103e") - buf.write("\u103f\7E\2\2\u103f\u1040\7J\2\2\u1040\u1041\7C\2\2\u1041") - buf.write("\u1042\7P\2\2\u1042\u1043\7I\2\2\u1043\u1044\7G\2\2\u1044") - buf.write("\u1045\7F\2\2\u1045\u0222\3\2\2\2\u1046\u1047\7E\2\2\u1047") - buf.write("\u1048\7J\2\2\u1048\u1049\7C\2\2\u1049\u104a\7P\2\2\u104a") - buf.write("\u104b\7P\2\2\u104b\u104c\7G\2\2\u104c\u104d\7N\2\2\u104d") - buf.write("\u0224\3\2\2\2\u104e\u104f\7E\2\2\u104f\u1050\7J\2\2\u1050") - buf.write("\u1051\7G\2\2\u1051\u1052\7E\2\2\u1052\u1053\7M\2\2\u1053") - buf.write("\u1054\7U\2\2\u1054\u1055\7W\2\2\u1055\u1056\7O\2\2\u1056") - buf.write("\u0226\3\2\2\2\u1057\u1058\7E\2\2\u1058\u1059\7K\2\2\u1059") - buf.write("\u105a\7R\2\2\u105a\u105b\7J\2\2\u105b\u105c\7G\2\2\u105c") - buf.write("\u105d\7T\2\2\u105d\u0228\3\2\2\2\u105e\u105f\7E\2\2\u105f") - buf.write("\u1060\7N\2\2\u1060\u1061\7K\2\2\u1061\u1062\7G\2\2\u1062") - buf.write("\u1063\7P\2\2\u1063\u1064\7V\2\2\u1064\u022a\3\2\2\2\u1065") - buf.write("\u1066\7E\2\2\u1066\u1067\7N\2\2\u1067\u1068\7Q\2\2\u1068") - buf.write("\u1069\7U\2\2\u1069\u106a\7G\2\2\u106a\u022c\3\2\2\2\u106b") - buf.write("\u106c\7E\2\2\u106c\u106d\7Q\2\2\u106d\u106e\7C\2\2\u106e") - buf.write("\u106f\7N\2\2\u106f\u1070\7G\2\2\u1070\u1071\7U\2\2\u1071") - buf.write("\u1072\7E\2\2\u1072\u1073\7G\2\2\u1073\u022e\3\2\2\2\u1074") - buf.write("\u1075\7E\2\2\u1075\u1076\7Q\2\2\u1076\u1077\7F\2\2\u1077") - buf.write("\u1078\7G\2\2\u1078\u0230\3\2\2\2\u1079\u107a\7E\2\2\u107a") - buf.write("\u107b\7Q\2\2\u107b\u107c\7N\2\2\u107c\u107d\7W\2\2\u107d") - buf.write("\u107e\7O\2\2\u107e\u107f\7P\2\2\u107f\u1080\7U\2\2\u1080") - buf.write("\u0232\3\2\2\2\u1081\u1082\7E\2\2\u1082\u1083\7Q\2\2\u1083") - buf.write("\u1084\7N\2\2\u1084\u1085\7W\2\2\u1085\u1086\7O\2\2\u1086") - buf.write("\u1087\7P\2\2\u1087\u1088\7a\2\2\u1088\u1089\7H\2\2\u1089") - buf.write("\u108a\7Q\2\2\u108a\u108b\7T\2\2\u108b\u108c\7O\2\2\u108c") - buf.write("\u108d\7C\2\2\u108d\u108e\7V\2\2\u108e\u0234\3\2\2\2\u108f") - buf.write("\u1090\7E\2\2\u1090\u1091\7Q\2\2\u1091\u1092\7O\2\2\u1092") - buf.write("\u1093\7O\2\2\u1093\u1094\7G\2\2\u1094\u1095\7P\2\2\u1095") - buf.write("\u1096\7V\2\2\u1096\u0236\3\2\2\2\u1097\u1098\7E\2\2\u1098") - buf.write("\u1099\7Q\2\2\u1099\u109a\7O\2\2\u109a\u109b\7O\2\2\u109b") - buf.write("\u109c\7K\2\2\u109c\u109d\7V\2\2\u109d\u0238\3\2\2\2\u109e") - buf.write("\u109f\7E\2\2\u109f\u10a0\7Q\2\2\u10a0\u10a1\7O\2\2\u10a1") - buf.write("\u10a2\7R\2\2\u10a2\u10a3\7C\2\2\u10a3\u10a4\7E\2\2\u10a4") - buf.write("\u10a5\7V\2\2\u10a5\u023a\3\2\2\2\u10a6\u10a7\7E\2\2\u10a7") - buf.write("\u10a8\7Q\2\2\u10a8\u10a9\7O\2\2\u10a9\u10aa\7R\2\2\u10aa") - buf.write("\u10ab\7N\2\2\u10ab\u10ac\7G\2\2\u10ac\u10ad\7V\2\2\u10ad") - buf.write("\u10ae\7K\2\2\u10ae\u10af\7Q\2\2\u10af\u10b0\7P\2\2\u10b0") - buf.write("\u023c\3\2\2\2\u10b1\u10b2\7E\2\2\u10b2\u10b3\7Q\2\2\u10b3") - buf.write("\u10b4\7O\2\2\u10b4\u10b5\7R\2\2\u10b5\u10b6\7T\2\2\u10b6") - buf.write("\u10b7\7G\2\2\u10b7\u10b8\7U\2\2\u10b8\u10b9\7U\2\2\u10b9") - buf.write("\u10ba\7G\2\2\u10ba\u10bb\7F\2\2\u10bb\u023e\3\2\2\2\u10bc") - buf.write("\u10bd\7E\2\2\u10bd\u10be\7Q\2\2\u10be\u10bf\7O\2\2\u10bf") - buf.write("\u10c0\7R\2\2\u10c0\u10c1\7T\2\2\u10c1\u10c2\7G\2\2\u10c2") - buf.write("\u10c3\7U\2\2\u10c3\u10c4\7U\2\2\u10c4\u10c5\7K\2\2\u10c5") - buf.write("\u10c6\7Q\2\2\u10c6\u10c7\7P\2\2\u10c7\u0240\3\2\2\2\u10c8") - buf.write("\u10c9\7E\2\2\u10c9\u10ca\7Q\2\2\u10ca\u10cb\7P\2\2\u10cb") - buf.write("\u10cc\7E\2\2\u10cc\u10cd\7W\2\2\u10cd\u10ce\7T\2\2\u10ce") - buf.write("\u10cf\7T\2\2\u10cf\u10d0\7G\2\2\u10d0\u10d1\7P\2\2\u10d1") - buf.write("\u10d2\7V\2\2\u10d2\u0242\3\2\2\2\u10d3\u10d4\7E\2\2\u10d4") - buf.write("\u10d5\7Q\2\2\u10d5\u10d6\7P\2\2\u10d6\u10d7\7P\2\2\u10d7") - buf.write("\u10d8\7G\2\2\u10d8\u10d9\7E\2\2\u10d9\u10da\7V\2\2\u10da") - buf.write("\u10db\7K\2\2\u10db\u10dc\7Q\2\2\u10dc\u10dd\7P\2\2\u10dd") - buf.write("\u0244\3\2\2\2\u10de\u10df\7E\2\2\u10df\u10e0\7Q\2\2\u10e0") - buf.write("\u10e1\7P\2\2\u10e1\u10e2\7U\2\2\u10e2\u10e3\7K\2\2\u10e3") - buf.write("\u10e4\7U\2\2\u10e4\u10e5\7V\2\2\u10e5\u10e6\7G\2\2\u10e6") - buf.write("\u10e7\7P\2\2\u10e7\u10e8\7V\2\2\u10e8\u0246\3\2\2\2\u10e9") - buf.write("\u10ea\7E\2\2\u10ea\u10eb\7Q\2\2\u10eb\u10ec\7P\2\2\u10ec") - buf.write("\u10ed\7V\2\2\u10ed\u10ee\7C\2\2\u10ee\u10ef\7K\2\2\u10ef") - buf.write("\u10f0\7P\2\2\u10f0\u10f1\7U\2\2\u10f1\u0248\3\2\2\2\u10f2") - buf.write("\u10f3\7E\2\2\u10f3\u10f4\7Q\2\2\u10f4\u10f5\7P\2\2\u10f5") - buf.write("\u10f6\7V\2\2\u10f6\u10f7\7G\2\2\u10f7\u10f8\7Z\2\2\u10f8") - buf.write("\u10f9\7V\2\2\u10f9\u024a\3\2\2\2\u10fa\u10fb\7E\2\2\u10fb") - buf.write("\u10fc\7Q\2\2\u10fc\u10fd\7P\2\2\u10fd\u10fe\7V\2\2\u10fe") - buf.write("\u10ff\7T\2\2\u10ff\u1100\7K\2\2\u1100\u1101\7D\2\2\u1101") - buf.write("\u1102\7W\2\2\u1102\u1103\7V\2\2\u1103\u1104\7Q\2\2\u1104") - buf.write("\u1105\7T\2\2\u1105\u1106\7U\2\2\u1106\u024c\3\2\2\2\u1107") - buf.write("\u1108\7E\2\2\u1108\u1109\7Q\2\2\u1109\u110a\7R\2\2\u110a") - buf.write("\u110b\7[\2\2\u110b\u024e\3\2\2\2\u110c\u110d\7E\2\2\u110d") - buf.write("\u110e\7R\2\2\u110e\u110f\7W\2\2\u110f\u0250\3\2\2\2\u1110") - buf.write("\u1111\7F\2\2\u1111\u1112\7C\2\2\u1112\u1113\7V\2\2\u1113") - buf.write("\u1114\7C\2\2\u1114\u0252\3\2\2\2\u1115\u1116\7F\2\2\u1116") - buf.write("\u1117\7C\2\2\u1117\u1118\7V\2\2\u1118\u1119\7C\2\2\u1119") - buf.write("\u111a\7H\2\2\u111a\u111b\7K\2\2\u111b\u111c\7N\2\2\u111c") - buf.write("\u111d\7G\2\2\u111d\u0254\3\2\2\2\u111e\u111f\7F\2\2\u111f") - buf.write("\u1120\7G\2\2\u1120\u1121\7C\2\2\u1121\u1122\7N\2\2\u1122") - buf.write("\u1123\7N\2\2\u1123\u1124\7Q\2\2\u1124\u1125\7E\2\2\u1125") - buf.write("\u1126\7C\2\2\u1126\u1127\7V\2\2\u1127\u1128\7G\2\2\u1128") - buf.write("\u0256\3\2\2\2\u1129\u112a\7F\2\2\u112a\u112b\7G\2\2\u112b") - buf.write("\u112c\7H\2\2\u112c\u112d\7C\2\2\u112d\u112e\7W\2\2\u112e") - buf.write("\u112f\7N\2\2\u112f\u1130\7V\2\2\u1130\u1131\7a\2\2\u1131") - buf.write("\u1132\7C\2\2\u1132\u1133\7W\2\2\u1133\u1134\7V\2\2\u1134") - buf.write("\u1135\7J\2\2\u1135\u0258\3\2\2\2\u1136\u1137\7F\2\2\u1137") - buf.write("\u1138\7G\2\2\u1138\u1139\7H\2\2\u1139\u113a\7K\2\2\u113a") - buf.write("\u113b\7P\2\2\u113b\u113c\7G\2\2\u113c\u113d\7T\2\2\u113d") - buf.write("\u025a\3\2\2\2\u113e\u113f\7F\2\2\u113f\u1140\7G\2\2\u1140") - buf.write("\u1141\7N\2\2\u1141\u1142\7C\2\2\u1142\u1143\7[\2\2\u1143") - buf.write("\u1144\7a\2\2\u1144\u1145\7M\2\2\u1145\u1146\7G\2\2\u1146") - buf.write("\u1147\7[\2\2\u1147\u1148\7a\2\2\u1148\u1149\7Y\2\2\u1149") - buf.write("\u114a\7T\2\2\u114a\u114b\7K\2\2\u114b\u114c\7V\2\2\u114c") - buf.write("\u114d\7G\2\2\u114d\u025c\3\2\2\2\u114e\u114f\7F\2\2\u114f") - buf.write("\u1150\7G\2\2\u1150\u1151\7U\2\2\u1151\u1152\7a\2\2\u1152") - buf.write("\u1153\7M\2\2\u1153\u1154\7G\2\2\u1154\u1155\7[\2\2\u1155") - buf.write("\u1156\7a\2\2\u1156\u1157\7H\2\2\u1157\u1158\7K\2\2\u1158") - buf.write("\u1159\7N\2\2\u1159\u115a\7G\2\2\u115a\u025e\3\2\2\2\u115b") - buf.write("\u115c\7F\2\2\u115c\u115d\7K\2\2\u115d\u115e\7T\2\2\u115e") - buf.write("\u115f\7G\2\2\u115f\u1160\7E\2\2\u1160\u1161\7V\2\2\u1161") - buf.write("\u1162\7Q\2\2\u1162\u1163\7T\2\2\u1163\u1164\7[\2\2\u1164") - buf.write("\u0260\3\2\2\2\u1165\u1166\7F\2\2\u1166\u1167\7K\2\2\u1167") - buf.write("\u1168\7U\2\2\u1168\u1169\7C\2\2\u1169\u116a\7D\2\2\u116a") - buf.write("\u116b\7N\2\2\u116b\u116c\7G\2\2\u116c\u0262\3\2\2\2\u116d") - buf.write("\u116e\7F\2\2\u116e\u116f\7K\2\2\u116f\u1170\7U\2\2\u1170") - buf.write("\u1171\7E\2\2\u1171\u1172\7C\2\2\u1172\u1173\7T\2\2\u1173") - buf.write("\u1174\7F\2\2\u1174\u0264\3\2\2\2\u1175\u1176\7F\2\2\u1176") - buf.write("\u1177\7K\2\2\u1177\u1178\7U\2\2\u1178\u1179\7M\2\2\u1179") - buf.write("\u0266\3\2\2\2\u117a\u117b\7F\2\2\u117b\u117c\7Q\2\2\u117c") - buf.write("\u0268\3\2\2\2\u117d\u117e\7F\2\2\u117e\u117f\7W\2\2\u117f") - buf.write("\u1180\7O\2\2\u1180\u1181\7R\2\2\u1181\u1182\7H\2\2\u1182") - buf.write("\u1183\7K\2\2\u1183\u1184\7N\2\2\u1184\u1185\7G\2\2\u1185") - buf.write("\u026a\3\2\2\2\u1186\u1187\7F\2\2\u1187\u1188\7W\2\2\u1188") - buf.write("\u1189\7R\2\2\u1189\u118a\7N\2\2\u118a\u118b\7K\2\2\u118b") - buf.write("\u118c\7E\2\2\u118c\u118d\7C\2\2\u118d\u118e\7V\2\2\u118e") - buf.write("\u118f\7G\2\2\u118f\u026c\3\2\2\2\u1190\u1191\7F\2\2\u1191") - buf.write("\u1192\7[\2\2\u1192\u1193\7P\2\2\u1193\u1194\7C\2\2\u1194") - buf.write("\u1195\7O\2\2\u1195\u1196\7K\2\2\u1196\u1197\7E\2\2\u1197") - buf.write("\u026e\3\2\2\2\u1198\u1199\7G\2\2\u1199\u119a\7P\2\2\u119a") - buf.write("\u119b\7C\2\2\u119b\u119c\7D\2\2\u119c\u119d\7N\2\2\u119d") - buf.write("\u119e\7G\2\2\u119e\u0270\3\2\2\2\u119f\u11a0\7G\2\2\u11a0") - buf.write("\u11a1\7P\2\2\u11a1\u11a2\7E\2\2\u11a2\u11a3\7T\2\2\u11a3") - buf.write("\u11a4\7[\2\2\u11a4\u11a5\7R\2\2\u11a5\u11a6\7V\2\2\u11a6") - buf.write("\u11a7\7K\2\2\u11a7\u11a8\7Q\2\2\u11a8\u11a9\7P\2\2\u11a9") - buf.write("\u0272\3\2\2\2\u11aa\u11ab\7G\2\2\u11ab\u11ac\7P\2\2\u11ac") - buf.write("\u11ad\7F\2\2\u11ad\u0274\3\2\2\2\u11ae\u11af\7G\2\2\u11af") - buf.write("\u11b0\7P\2\2\u11b0\u11b1\7F\2\2\u11b1\u11b2\7U\2\2\u11b2") - buf.write("\u0276\3\2\2\2\u11b3\u11b4\7G\2\2\u11b4\u11b5\7P\2\2\u11b5") - buf.write("\u11b6\7I\2\2\u11b6\u11b7\7K\2\2\u11b7\u11b8\7P\2\2\u11b8") - buf.write("\u11b9\7G\2\2\u11b9\u0278\3\2\2\2\u11ba\u11bb\7G\2\2\u11bb") - buf.write("\u11bc\7P\2\2\u11bc\u11bd\7I\2\2\u11bd\u11be\7K\2\2\u11be") - buf.write("\u11bf\7P\2\2\u11bf\u11c0\7G\2\2\u11c0\u11c1\7U\2\2\u11c1") - buf.write("\u027a\3\2\2\2\u11c2\u11c3\7G\2\2\u11c3\u11c4\7T\2\2\u11c4") - buf.write("\u11c5\7T\2\2\u11c5\u11c6\7Q\2\2\u11c6\u11c7\7T\2\2\u11c7") - buf.write("\u027c\3\2\2\2\u11c8\u11c9\7G\2\2\u11c9\u11ca\7T\2\2\u11ca") - buf.write("\u11cb\7T\2\2\u11cb\u11cc\7Q\2\2\u11cc\u11cd\7T\2\2\u11cd") - buf.write("\u11ce\7U\2\2\u11ce\u027e\3\2\2\2\u11cf\u11d0\7G\2\2\u11d0") - buf.write("\u11d1\7U\2\2\u11d1\u11d2\7E\2\2\u11d2\u11d3\7C\2\2\u11d3") - buf.write("\u11d4\7R\2\2\u11d4\u11d5\7G\2\2\u11d5\u0280\3\2\2\2\u11d6") - buf.write("\u11d7\7G\2\2\u11d7\u11d8\7X\2\2\u11d8\u11d9\7G\2\2\u11d9") - buf.write("\u11da\7P\2\2\u11da\u0282\3\2\2\2\u11db\u11dc\7G\2\2\u11dc") - buf.write("\u11dd\7X\2\2\u11dd\u11de\7G\2\2\u11de\u11df\7P\2\2\u11df") - buf.write("\u11e0\7V\2\2\u11e0\u0284\3\2\2\2\u11e1\u11e2\7G\2\2\u11e2") - buf.write("\u11e3\7X\2\2\u11e3\u11e4\7G\2\2\u11e4\u11e5\7P\2\2\u11e5") - buf.write("\u11e6\7V\2\2\u11e6\u11e7\7U\2\2\u11e7\u0286\3\2\2\2\u11e8") - buf.write("\u11e9\7G\2\2\u11e9\u11ea\7X\2\2\u11ea\u11eb\7G\2\2\u11eb") - buf.write("\u11ec\7T\2\2\u11ec\u11ed\7[\2\2\u11ed\u0288\3\2\2\2\u11ee") - buf.write("\u11ef\7G\2\2\u11ef\u11f0\7Z\2\2\u11f0\u11f1\7E\2\2\u11f1") - buf.write("\u11f2\7J\2\2\u11f2\u11f3\7C\2\2\u11f3\u11f4\7P\2\2\u11f4") - buf.write("\u11f5\7I\2\2\u11f5\u11f6\7G\2\2\u11f6\u028a\3\2\2\2\u11f7") - buf.write("\u11f8\7G\2\2\u11f8\u11f9\7Z\2\2\u11f9\u11fa\7E\2\2\u11fa") - buf.write("\u11fb\7N\2\2\u11fb\u11fc\7W\2\2\u11fc\u11fd\7U\2\2\u11fd") - buf.write("\u11fe\7K\2\2\u11fe\u11ff\7X\2\2\u11ff\u1200\7G\2\2\u1200") - buf.write("\u028c\3\2\2\2\u1201\u1202\7G\2\2\u1202\u1203\7Z\2\2\u1203") - buf.write("\u1204\7R\2\2\u1204\u1205\7K\2\2\u1205\u1206\7T\2\2\u1206") - buf.write("\u1207\7G\2\2\u1207\u028e\3\2\2\2\u1208\u1209\7G\2\2\u1209") - buf.write("\u120a\7Z\2\2\u120a\u120b\7R\2\2\u120b\u120c\7Q\2\2\u120c") - buf.write("\u120d\7T\2\2\u120d\u120e\7V\2\2\u120e\u0290\3\2\2\2\u120f") - buf.write("\u1210\7G\2\2\u1210\u1211\7Z\2\2\u1211\u1212\7V\2\2\u1212") - buf.write("\u1213\7G\2\2\u1213\u1214\7P\2\2\u1214\u1215\7F\2\2\u1215") - buf.write("\u1216\7G\2\2\u1216\u1217\7F\2\2\u1217\u0292\3\2\2\2\u1218") - buf.write("\u1219\7G\2\2\u1219\u121a\7Z\2\2\u121a\u121b\7V\2\2\u121b") - buf.write("\u121c\7G\2\2\u121c\u121d\7P\2\2\u121d\u121e\7V\2\2\u121e") - buf.write("\u121f\7a\2\2\u121f\u1220\7U\2\2\u1220\u1221\7K\2\2\u1221") - buf.write("\u1222\7\\\2\2\u1222\u1223\7G\2\2\u1223\u0294\3\2\2\2") - buf.write("\u1224\u1225\7H\2\2\u1225\u1226\7C\2\2\u1226\u1227\7U") - buf.write("\2\2\u1227\u1228\7V\2\2\u1228\u0296\3\2\2\2\u1229\u122a") - buf.write("\7H\2\2\u122a\u122b\7C\2\2\u122b\u122c\7W\2\2\u122c\u122d") - buf.write("\7N\2\2\u122d\u122e\7V\2\2\u122e\u122f\7U\2\2\u122f\u0298") - buf.write("\3\2\2\2\u1230\u1231\7H\2\2\u1231\u1232\7K\2\2\u1232\u1233") - buf.write("\7G\2\2\u1233\u1234\7N\2\2\u1234\u1235\7F\2\2\u1235\u1236") - buf.write("\7U\2\2\u1236\u029a\3\2\2\2\u1237\u1238\7H\2\2\u1238\u1239") - buf.write("\7K\2\2\u1239\u123a\7N\2\2\u123a\u123b\7G\2\2\u123b\u123c") - buf.write("\7a\2\2\u123c\u123d\7D\2\2\u123d\u123e\7N\2\2\u123e\u123f") - buf.write("\7Q\2\2\u123f\u1240\7E\2\2\u1240\u1241\7M\2\2\u1241\u1242") - buf.write("\7a\2\2\u1242\u1243\7U\2\2\u1243\u1244\7K\2\2\u1244\u1245") - buf.write("\7\\\2\2\u1245\u1246\7G\2\2\u1246\u029c\3\2\2\2\u1247") - buf.write("\u1248\7H\2\2\u1248\u1249\7K\2\2\u1249\u124a\7N\2\2\u124a") - buf.write("\u124b\7V\2\2\u124b\u124c\7G\2\2\u124c\u124d\7T\2\2\u124d") - buf.write("\u029e\3\2\2\2\u124e\u124f\7H\2\2\u124f\u1250\7K\2\2\u1250") - buf.write("\u1251\7T\2\2\u1251\u1252\7U\2\2\u1252\u1253\7V\2\2\u1253") - buf.write("\u02a0\3\2\2\2\u1254\u1255\7H\2\2\u1255\u1256\7K\2\2\u1256") - buf.write("\u1257\7Z\2\2\u1257\u1258\7G\2\2\u1258\u1259\7F\2\2\u1259") - buf.write("\u02a2\3\2\2\2\u125a\u125b\7H\2\2\u125b\u125c\7N\2\2\u125c") - buf.write("\u125d\7W\2\2\u125d\u125e\7U\2\2\u125e\u125f\7J\2\2\u125f") - buf.write("\u02a4\3\2\2\2\u1260\u1261\7H\2\2\u1261\u1262\7Q\2\2\u1262") - buf.write("\u1263\7N\2\2\u1263\u1264\7N\2\2\u1264\u1265\7Q\2\2\u1265") - buf.write("\u1266\7Y\2\2\u1266\u1267\7U\2\2\u1267\u02a6\3\2\2\2\u1268") - buf.write("\u1269\7H\2\2\u1269\u126a\7Q\2\2\u126a\u126b\7W\2\2\u126b") - buf.write("\u126c\7P\2\2\u126c\u126d\7F\2\2\u126d\u02a8\3\2\2\2\u126e") - buf.write("\u126f\7H\2\2\u126f\u1270\7W\2\2\u1270\u1271\7N\2\2\u1271") - buf.write("\u1272\7N\2\2\u1272\u02aa\3\2\2\2\u1273\u1274\7H\2\2\u1274") - buf.write("\u1275\7W\2\2\u1275\u1276\7P\2\2\u1276\u1277\7E\2\2\u1277") - buf.write("\u1278\7V\2\2\u1278\u1279\7K\2\2\u1279\u127a\7Q\2\2\u127a") - buf.write("\u127b\7P\2\2\u127b\u02ac\3\2\2\2\u127c\u127d\7I\2\2\u127d") - buf.write("\u127e\7G\2\2\u127e\u127f\7P\2\2\u127f\u1280\7G\2\2\u1280") - buf.write("\u1281\7T\2\2\u1281\u1282\7C\2\2\u1282\u1283\7N\2\2\u1283") - buf.write("\u02ae\3\2\2\2\u1284\u1285\7I\2\2\u1285\u1286\7N\2\2\u1286") - buf.write("\u1287\7Q\2\2\u1287\u1288\7D\2\2\u1288\u1289\7C\2\2\u1289") - buf.write("\u128a\7N\2\2\u128a\u02b0\3\2\2\2\u128b\u128c\7I\2\2\u128c") - buf.write("\u128d\7T\2\2\u128d\u128e\7C\2\2\u128e\u128f\7P\2\2\u128f") - buf.write("\u1290\7V\2\2\u1290\u1291\7U\2\2\u1291\u02b2\3\2\2\2\u1292") - buf.write("\u1293\7I\2\2\u1293\u1294\7T\2\2\u1294\u1295\7Q\2\2\u1295") - buf.write("\u1296\7W\2\2\u1296\u1297\7R\2\2\u1297\u1298\7a\2\2\u1298") - buf.write("\u1299\7T\2\2\u1299\u129a\7G\2\2\u129a\u129b\7R\2\2\u129b") - buf.write("\u129c\7N\2\2\u129c\u129d\7K\2\2\u129d\u129e\7E\2\2\u129e") - buf.write("\u129f\7C\2\2\u129f\u12a0\7V\2\2\u12a0\u12a1\7K\2\2\u12a1") - buf.write("\u12a2\7Q\2\2\u12a2\u12a3\7P\2\2\u12a3\u02b4\3\2\2\2\u12a4") - buf.write("\u12a5\7J\2\2\u12a5\u12a6\7C\2\2\u12a6\u12a7\7P\2\2\u12a7") - buf.write("\u12a8\7F\2\2\u12a8\u12a9\7N\2\2\u12a9\u12aa\7G\2\2\u12aa") - buf.write("\u12ab\7T\2\2\u12ab\u02b6\3\2\2\2\u12ac\u12ad\7J\2\2\u12ad") - buf.write("\u12ae\7C\2\2\u12ae\u12af\7U\2\2\u12af\u12b0\7J\2\2\u12b0") - buf.write("\u02b8\3\2\2\2\u12b1\u12b2\7J\2\2\u12b2\u12b3\7G\2\2\u12b3") - buf.write("\u12b4\7N\2\2\u12b4\u12b5\7R\2\2\u12b5\u02ba\3\2\2\2\u12b6") - buf.write("\u12b7\7J\2\2\u12b7\u12b8\7Q\2\2\u12b8\u12b9\7U\2\2\u12b9") - buf.write("\u12ba\7V\2\2\u12ba\u02bc\3\2\2\2\u12bb\u12bc\7J\2\2\u12bc") - buf.write("\u12bd\7Q\2\2\u12bd\u12be\7U\2\2\u12be\u12bf\7V\2\2\u12bf") - buf.write("\u12c0\7U\2\2\u12c0\u02be\3\2\2\2\u12c1\u12c2\7K\2\2\u12c2") - buf.write("\u12c3\7F\2\2\u12c3\u12c4\7G\2\2\u12c4\u12c5\7P\2\2\u12c5") - buf.write("\u12c6\7V\2\2\u12c6\u12c7\7K\2\2\u12c7\u12c8\7H\2\2\u12c8") - buf.write("\u12c9\7K\2\2\u12c9\u12ca\7G\2\2\u12ca\u12cb\7F\2\2\u12cb") - buf.write("\u02c0\3\2\2\2\u12cc\u12cd\7K\2\2\u12cd\u12ce\7I\2\2\u12ce") - buf.write("\u12cf\7P\2\2\u12cf\u12d0\7Q\2\2\u12d0\u12d1\7T\2\2\u12d1") - buf.write("\u12d2\7G\2\2\u12d2\u12d3\7a\2\2\u12d3\u12d4\7U\2\2\u12d4") - buf.write("\u12d5\7G\2\2\u12d5\u12d6\7T\2\2\u12d6\u12d7\7X\2\2\u12d7") - buf.write("\u12d8\7G\2\2\u12d8\u12d9\7T\2\2\u12d9\u12da\7a\2\2\u12da") - buf.write("\u12db\7K\2\2\u12db\u12dc\7F\2\2\u12dc\u12dd\7U\2\2\u12dd") - buf.write("\u02c2\3\2\2\2\u12de\u12df\7K\2\2\u12df\u12e0\7O\2\2\u12e0") - buf.write("\u12e1\7R\2\2\u12e1\u12e2\7Q\2\2\u12e2\u12e3\7T\2\2\u12e3") - buf.write("\u12e4\7V\2\2\u12e4\u02c4\3\2\2\2\u12e5\u12e6\7K\2\2\u12e6") - buf.write("\u12e7\7P\2\2\u12e7\u12e8\7F\2\2\u12e8\u12e9\7G\2\2\u12e9") - buf.write("\u12ea\7Z\2\2\u12ea\u12eb\7G\2\2\u12eb\u12ec\7U\2\2\u12ec") - buf.write("\u02c6\3\2\2\2\u12ed\u12ee\7K\2\2\u12ee\u12ef\7P\2\2\u12ef") - buf.write("\u12f0\7K\2\2\u12f0\u12f1\7V\2\2\u12f1\u12f2\7K\2\2\u12f2") - buf.write("\u12f3\7C\2\2\u12f3\u12f4\7N\2\2\u12f4\u12f5\7a\2\2\u12f5") - buf.write("\u12f6\7U\2\2\u12f6\u12f7\7K\2\2\u12f7\u12f8\7\\\2\2\u12f8") - buf.write("\u12f9\7G\2\2\u12f9\u02c8\3\2\2\2\u12fa\u12fb\7K\2\2\u12fb") - buf.write("\u12fc\7P\2\2\u12fc\u12fd\7R\2\2\u12fd\u12fe\7N\2\2\u12fe") - buf.write("\u12ff\7C\2\2\u12ff\u1300\7E\2\2\u1300\u1301\7G\2\2\u1301") - buf.write("\u02ca\3\2\2\2\u1302\u1303\7K\2\2\u1303\u1304\7P\2\2\u1304") - buf.write("\u1305\7U\2\2\u1305\u1306\7G\2\2\u1306\u1307\7T\2\2\u1307") - buf.write("\u1308\7V\2\2\u1308\u1309\7a\2\2\u1309\u130a\7O\2\2\u130a") - buf.write("\u130b\7G\2\2\u130b\u130c\7V\2\2\u130c\u130d\7J\2\2\u130d") - buf.write("\u130e\7Q\2\2\u130e\u130f\7F\2\2\u130f\u02cc\3\2\2\2\u1310") - buf.write("\u1311\7K\2\2\u1311\u1312\7P\2\2\u1312\u1313\7U\2\2\u1313") - buf.write("\u1314\7V\2\2\u1314\u1315\7C\2\2\u1315\u1316\7N\2\2\u1316") - buf.write("\u1317\7N\2\2\u1317\u02ce\3\2\2\2\u1318\u1319\7K\2\2\u1319") - buf.write("\u131a\7P\2\2\u131a\u131b\7U\2\2\u131b\u131c\7V\2\2\u131c") - buf.write("\u131d\7C\2\2\u131d\u131e\7P\2\2\u131e\u131f\7E\2\2\u131f") - buf.write("\u1320\7G\2\2\u1320\u02d0\3\2\2\2\u1321\u1322\7K\2\2\u1322") - buf.write("\u1323\7P\2\2\u1323\u1324\7X\2\2\u1324\u1325\7Q\2\2\u1325") - buf.write("\u1326\7M\2\2\u1326\u1327\7G\2\2\u1327\u1328\7T\2\2\u1328") - buf.write("\u02d2\3\2\2\2\u1329\u132a\7K\2\2\u132a\u132b\7Q\2\2\u132b") - buf.write("\u02d4\3\2\2\2\u132c\u132d\7K\2\2\u132d\u132e\7Q\2\2\u132e") - buf.write("\u132f\7a\2\2\u132f\u1330\7V\2\2\u1330\u1331\7J\2\2\u1331") - buf.write("\u1332\7T\2\2\u1332\u1333\7G\2\2\u1333\u1334\7C\2\2\u1334") - buf.write("\u1335\7F\2\2\u1335\u02d6\3\2\2\2\u1336\u1337\7K\2\2\u1337") - buf.write("\u1338\7R\2\2\u1338\u1339\7E\2\2\u1339\u02d8\3\2\2\2\u133a") - buf.write("\u133b\7K\2\2\u133b\u133c\7U\2\2\u133c\u133d\7Q\2\2\u133d") - buf.write("\u133e\7N\2\2\u133e\u133f\7C\2\2\u133f\u1340\7V\2\2\u1340") - buf.write("\u1341\7K\2\2\u1341\u1342\7Q\2\2\u1342\u1343\7P\2\2\u1343") - buf.write("\u02da\3\2\2\2\u1344\u1345\7K\2\2\u1345\u1346\7U\2\2\u1346") - buf.write("\u1347\7U\2\2\u1347\u1348\7W\2\2\u1348\u1349\7G\2\2\u1349") - buf.write("\u134a\7T\2\2\u134a\u02dc\3\2\2\2\u134b\u134c\7L\2\2\u134c") - buf.write("\u134d\7U\2\2\u134d\u134e\7Q\2\2\u134e\u134f\7P\2\2\u134f") - buf.write("\u02de\3\2\2\2\u1350\u1351\7M\2\2\u1351\u1352\7G\2\2\u1352") - buf.write("\u1353\7[\2\2\u1353\u1354\7a\2\2\u1354\u1355\7D\2\2\u1355") - buf.write("\u1356\7N\2\2\u1356\u1357\7Q\2\2\u1357\u1358\7E\2\2\u1358") - buf.write("\u1359\7M\2\2\u1359\u135a\7a\2\2\u135a\u135b\7U\2\2\u135b") - buf.write("\u135c\7K\2\2\u135c\u135d\7\\\2\2\u135d\u135e\7G\2\2\u135e") - buf.write("\u02e0\3\2\2\2\u135f\u1360\7N\2\2\u1360\u1361\7C\2\2\u1361") - buf.write("\u1362\7P\2\2\u1362\u1363\7I\2\2\u1363\u1364\7W\2\2\u1364") - buf.write("\u1365\7C\2\2\u1365\u1366\7I\2\2\u1366\u1367\7G\2\2\u1367") - buf.write("\u02e2\3\2\2\2\u1368\u1369\7N\2\2\u1369\u136a\7C\2\2\u136a") - buf.write("\u136b\7U\2\2\u136b\u136c\7V\2\2\u136c\u02e4\3\2\2\2\u136d") - buf.write("\u136e\7N\2\2\u136e\u136f\7G\2\2\u136f\u1370\7C\2\2\u1370") - buf.write("\u1371\7X\2\2\u1371\u1372\7G\2\2\u1372\u1373\7U\2\2\u1373") - buf.write("\u02e6\3\2\2\2\u1374\u1375\7N\2\2\u1375\u1376\7G\2\2\u1376") - buf.write("\u1377\7U\2\2\u1377\u1378\7U\2\2\u1378\u02e8\3\2\2\2\u1379") - buf.write("\u137a\7N\2\2\u137a\u137b\7G\2\2\u137b\u137c\7X\2\2\u137c") - buf.write("\u137d\7G\2\2\u137d\u137e\7N\2\2\u137e\u02ea\3\2\2\2\u137f") - buf.write("\u1380\7N\2\2\u1380\u1381\7K\2\2\u1381\u1382\7U\2\2\u1382") - buf.write("\u1383\7V\2\2\u1383\u02ec\3\2\2\2\u1384\u1385\7N\2\2\u1385") - buf.write("\u1386\7Q\2\2\u1386\u1387\7E\2\2\u1387\u1388\7C\2\2\u1388") - buf.write("\u1389\7N\2\2\u1389\u02ee\3\2\2\2\u138a\u138b\7N\2\2\u138b") - buf.write("\u138c\7Q\2\2\u138c\u138d\7I\2\2\u138d\u138e\7H\2\2\u138e") - buf.write("\u138f\7K\2\2\u138f\u1390\7N\2\2\u1390\u1391\7G\2\2\u1391") - buf.write("\u02f0\3\2\2\2\u1392\u1393\7N\2\2\u1393\u1394\7Q\2\2\u1394") - buf.write("\u1395\7I\2\2\u1395\u1396\7U\2\2\u1396\u02f2\3\2\2\2\u1397") - buf.write("\u1398\7O\2\2\u1398\u1399\7C\2\2\u1399\u139a\7U\2\2\u139a") - buf.write("\u139b\7V\2\2\u139b\u139c\7G\2\2\u139c\u139d\7T\2\2\u139d") - buf.write("\u02f4\3\2\2\2\u139e\u139f\7O\2\2\u139f\u13a0\7C\2\2\u13a0") - buf.write("\u13a1\7U\2\2\u13a1\u13a2\7V\2\2\u13a2\u13a3\7G\2\2\u13a3") - buf.write("\u13a4\7T\2\2\u13a4\u13a5\7a\2\2\u13a5\u13a6\7C\2\2\u13a6") - buf.write("\u13a7\7W\2\2\u13a7\u13a8\7V\2\2\u13a8\u13a9\7Q\2\2\u13a9") - buf.write("\u13aa\7a\2\2\u13aa\u13ab\7R\2\2\u13ab\u13ac\7Q\2\2\u13ac") - buf.write("\u13ad\7U\2\2\u13ad\u13ae\7K\2\2\u13ae\u13af\7V\2\2\u13af") - buf.write("\u13b0\7K\2\2\u13b0\u13b1\7Q\2\2\u13b1\u13b2\7P\2\2\u13b2") - buf.write("\u02f6\3\2\2\2\u13b3\u13b4\7O\2\2\u13b4\u13b5\7C\2\2\u13b5") - buf.write("\u13b6\7U\2\2\u13b6\u13b7\7V\2\2\u13b7\u13b8\7G\2\2\u13b8") - buf.write("\u13b9\7T\2\2\u13b9\u13ba\7a\2\2\u13ba\u13bb\7E\2\2\u13bb") - buf.write("\u13bc\7Q\2\2\u13bc\u13bd\7P\2\2\u13bd\u13be\7P\2\2\u13be") - buf.write("\u13bf\7G\2\2\u13bf\u13c0\7E\2\2\u13c0\u13c1\7V\2\2\u13c1") - buf.write("\u13c2\7a\2\2\u13c2\u13c3\7T\2\2\u13c3\u13c4\7G\2\2\u13c4") - buf.write("\u13c5\7V\2\2\u13c5\u13c6\7T\2\2\u13c6\u13c7\7[\2\2\u13c7") - buf.write("\u02f8\3\2\2\2\u13c8\u13c9\7O\2\2\u13c9\u13ca\7C\2\2\u13ca") - buf.write("\u13cb\7U\2\2\u13cb\u13cc\7V\2\2\u13cc\u13cd\7G\2\2\u13cd") - buf.write("\u13ce\7T\2\2\u13ce\u13cf\7a\2\2\u13cf\u13d0\7F\2\2\u13d0") - buf.write("\u13d1\7G\2\2\u13d1\u13d2\7N\2\2\u13d2\u13d3\7C\2\2\u13d3") - buf.write("\u13d4\7[\2\2\u13d4\u02fa\3\2\2\2\u13d5\u13d6\7O\2\2\u13d6") - buf.write("\u13d7\7C\2\2\u13d7\u13d8\7U\2\2\u13d8\u13d9\7V\2\2\u13d9") - buf.write("\u13da\7G\2\2\u13da\u13db\7T\2\2\u13db\u13dc\7a\2\2\u13dc") - buf.write("\u13dd\7J\2\2\u13dd\u13de\7G\2\2\u13de\u13df\7C\2\2\u13df") - buf.write("\u13e0\7T\2\2\u13e0\u13e1\7V\2\2\u13e1\u13e2\7D\2\2\u13e2") - buf.write("\u13e3\7G\2\2\u13e3\u13e4\7C\2\2\u13e4\u13e5\7V\2\2\u13e5") - buf.write("\u13e6\7a\2\2\u13e6\u13e7\7R\2\2\u13e7\u13e8\7G\2\2\u13e8") - buf.write("\u13e9\7T\2\2\u13e9\u13ea\7K\2\2\u13ea\u13eb\7Q\2\2\u13eb") - buf.write("\u13ec\7F\2\2\u13ec\u02fc\3\2\2\2\u13ed\u13ee\7O\2\2\u13ee") - buf.write("\u13ef\7C\2\2\u13ef\u13f0\7U\2\2\u13f0\u13f1\7V\2\2\u13f1") - buf.write("\u13f2\7G\2\2\u13f2\u13f3\7T\2\2\u13f3\u13f4\7a\2\2\u13f4") - buf.write("\u13f5\7J\2\2\u13f5\u13f6\7Q\2\2\u13f6\u13f7\7U\2\2\u13f7") - buf.write("\u13f8\7V\2\2\u13f8\u02fe\3\2\2\2\u13f9\u13fa\7O\2\2\u13fa") - buf.write("\u13fb\7C\2\2\u13fb\u13fc\7U\2\2\u13fc\u13fd\7V\2\2\u13fd") - buf.write("\u13fe\7G\2\2\u13fe\u13ff\7T\2\2\u13ff\u1400\7a\2\2\u1400") - buf.write("\u1401\7N\2\2\u1401\u1402\7Q\2\2\u1402\u1403\7I\2\2\u1403") - buf.write("\u1404\7a\2\2\u1404\u1405\7H\2\2\u1405\u1406\7K\2\2\u1406") - buf.write("\u1407\7N\2\2\u1407\u1408\7G\2\2\u1408\u0300\3\2\2\2\u1409") - buf.write("\u140a\7O\2\2\u140a\u140b\7C\2\2\u140b\u140c\7U\2\2\u140c") - buf.write("\u140d\7V\2\2\u140d\u140e\7G\2\2\u140e\u140f\7T\2\2\u140f") - buf.write("\u1410\7a\2\2\u1410\u1411\7N\2\2\u1411\u1412\7Q\2\2\u1412") - buf.write("\u1413\7I\2\2\u1413\u1414\7a\2\2\u1414\u1415\7R\2\2\u1415") - buf.write("\u1416\7Q\2\2\u1416\u1417\7U\2\2\u1417\u0302\3\2\2\2\u1418") - buf.write("\u1419\7O\2\2\u1419\u141a\7C\2\2\u141a\u141b\7U\2\2\u141b") - buf.write("\u141c\7V\2\2\u141c\u141d\7G\2\2\u141d\u141e\7T\2\2\u141e") - buf.write("\u141f\7a\2\2\u141f\u1420\7R\2\2\u1420\u1421\7C\2\2\u1421") - buf.write("\u1422\7U\2\2\u1422\u1423\7U\2\2\u1423\u1424\7Y\2\2\u1424") - buf.write("\u1425\7Q\2\2\u1425\u1426\7T\2\2\u1426\u1427\7F\2\2\u1427") - buf.write("\u0304\3\2\2\2\u1428\u1429\7O\2\2\u1429\u142a\7C\2\2\u142a") - buf.write("\u142b\7U\2\2\u142b\u142c\7V\2\2\u142c\u142d\7G\2\2\u142d") - buf.write("\u142e\7T\2\2\u142e\u142f\7a\2\2\u142f\u1430\7R\2\2\u1430") - buf.write("\u1431\7Q\2\2\u1431\u1432\7T\2\2\u1432\u1433\7V\2\2\u1433") - buf.write("\u0306\3\2\2\2\u1434\u1435\7O\2\2\u1435\u1436\7C\2\2\u1436") - buf.write("\u1437\7U\2\2\u1437\u1438\7V\2\2\u1438\u1439\7G\2\2\u1439") - buf.write("\u143a\7T\2\2\u143a\u143b\7a\2\2\u143b\u143c\7T\2\2\u143c") - buf.write("\u143d\7G\2\2\u143d\u143e\7V\2\2\u143e\u143f\7T\2\2\u143f") - buf.write("\u1440\7[\2\2\u1440\u1441\7a\2\2\u1441\u1442\7E\2\2\u1442") - buf.write("\u1443\7Q\2\2\u1443\u1444\7W\2\2\u1444\u1445\7P\2\2\u1445") - buf.write("\u1446\7V\2\2\u1446\u0308\3\2\2\2\u1447\u1448\7O\2\2\u1448") - buf.write("\u1449\7C\2\2\u1449\u144a\7U\2\2\u144a\u144b\7V\2\2\u144b") - buf.write("\u144c\7G\2\2\u144c\u144d\7T\2\2\u144d\u144e\7a\2\2\u144e") - buf.write("\u144f\7U\2\2\u144f\u1450\7U\2\2\u1450\u1451\7N\2\2\u1451") - buf.write("\u030a\3\2\2\2\u1452\u1453\7O\2\2\u1453\u1454\7C\2\2\u1454") - buf.write("\u1455\7U\2\2\u1455\u1456\7V\2\2\u1456\u1457\7G\2\2\u1457") - buf.write("\u1458\7T\2\2\u1458\u1459\7a\2\2\u1459\u145a\7U\2\2\u145a") - buf.write("\u145b\7U\2\2\u145b\u145c\7N\2\2\u145c\u145d\7a\2\2\u145d") - buf.write("\u145e\7E\2\2\u145e\u145f\7C\2\2\u145f\u030c\3\2\2\2\u1460") - buf.write("\u1461\7O\2\2\u1461\u1462\7C\2\2\u1462\u1463\7U\2\2\u1463") - buf.write("\u1464\7V\2\2\u1464\u1465\7G\2\2\u1465\u1466\7T\2\2\u1466") - buf.write("\u1467\7a\2\2\u1467\u1468\7U\2\2\u1468\u1469\7U\2\2\u1469") - buf.write("\u146a\7N\2\2\u146a\u146b\7a\2\2\u146b\u146c\7E\2\2\u146c") - buf.write("\u146d\7C\2\2\u146d\u146e\7R\2\2\u146e\u146f\7C\2\2\u146f") - buf.write("\u1470\7V\2\2\u1470\u1471\7J\2\2\u1471\u030e\3\2\2\2\u1472") - buf.write("\u1473\7O\2\2\u1473\u1474\7C\2\2\u1474\u1475\7U\2\2\u1475") - buf.write("\u1476\7V\2\2\u1476\u1477\7G\2\2\u1477\u1478\7T\2\2\u1478") - buf.write("\u1479\7a\2\2\u1479\u147a\7U\2\2\u147a\u147b\7U\2\2\u147b") - buf.write("\u147c\7N\2\2\u147c\u147d\7a\2\2\u147d\u147e\7E\2\2\u147e") - buf.write("\u147f\7G\2\2\u147f\u1480\7T\2\2\u1480\u1481\7V\2\2\u1481") - buf.write("\u0310\3\2\2\2\u1482\u1483\7O\2\2\u1483\u1484\7C\2\2\u1484") - buf.write("\u1485\7U\2\2\u1485\u1486\7V\2\2\u1486\u1487\7G\2\2\u1487") - buf.write("\u1488\7T\2\2\u1488\u1489\7a\2\2\u1489\u148a\7U\2\2\u148a") - buf.write("\u148b\7U\2\2\u148b\u148c\7N\2\2\u148c\u148d\7a\2\2\u148d") - buf.write("\u148e\7E\2\2\u148e\u148f\7K\2\2\u148f\u1490\7R\2\2\u1490") - buf.write("\u1491\7J\2\2\u1491\u1492\7G\2\2\u1492\u1493\7T\2\2\u1493") - buf.write("\u0312\3\2\2\2\u1494\u1495\7O\2\2\u1495\u1496\7C\2\2\u1496") - buf.write("\u1497\7U\2\2\u1497\u1498\7V\2\2\u1498\u1499\7G\2\2\u1499") - buf.write("\u149a\7T\2\2\u149a\u149b\7a\2\2\u149b\u149c\7U\2\2\u149c") - buf.write("\u149d\7U\2\2\u149d\u149e\7N\2\2\u149e\u149f\7a\2\2\u149f") - buf.write("\u14a0\7E\2\2\u14a0\u14a1\7T\2\2\u14a1\u14a2\7N\2\2\u14a2") - buf.write("\u0314\3\2\2\2\u14a3\u14a4\7O\2\2\u14a4\u14a5\7C\2\2\u14a5") - buf.write("\u14a6\7U\2\2\u14a6\u14a7\7V\2\2\u14a7\u14a8\7G\2\2\u14a8") - buf.write("\u14a9\7T\2\2\u14a9\u14aa\7a\2\2\u14aa\u14ab\7U\2\2\u14ab") - buf.write("\u14ac\7U\2\2\u14ac\u14ad\7N\2\2\u14ad\u14ae\7a\2\2\u14ae") - buf.write("\u14af\7E\2\2\u14af\u14b0\7T\2\2\u14b0\u14b1\7N\2\2\u14b1") - buf.write("\u14b2\7R\2\2\u14b2\u14b3\7C\2\2\u14b3\u14b4\7V\2\2\u14b4") - buf.write("\u14b5\7J\2\2\u14b5\u0316\3\2\2\2\u14b6\u14b7\7O\2\2\u14b7") - buf.write("\u14b8\7C\2\2\u14b8\u14b9\7U\2\2\u14b9\u14ba\7V\2\2\u14ba") - buf.write("\u14bb\7G\2\2\u14bb\u14bc\7T\2\2\u14bc\u14bd\7a\2\2\u14bd") - buf.write("\u14be\7U\2\2\u14be\u14bf\7U\2\2\u14bf\u14c0\7N\2\2\u14c0") - buf.write("\u14c1\7a\2\2\u14c1\u14c2\7M\2\2\u14c2\u14c3\7G\2\2\u14c3") - buf.write("\u14c4\7[\2\2\u14c4\u0318\3\2\2\2\u14c5\u14c6\7O\2\2\u14c6") - buf.write("\u14c7\7C\2\2\u14c7\u14c8\7U\2\2\u14c8\u14c9\7V\2\2\u14c9") - buf.write("\u14ca\7G\2\2\u14ca\u14cb\7T\2\2\u14cb\u14cc\7a\2\2\u14cc") - buf.write("\u14cd\7V\2\2\u14cd\u14ce\7N\2\2\u14ce\u14cf\7U\2\2\u14cf") - buf.write("\u14d0\7a\2\2\u14d0\u14d1\7X\2\2\u14d1\u14d2\7G\2\2\u14d2") - buf.write("\u14d3\7T\2\2\u14d3\u14d4\7U\2\2\u14d4\u14d5\7K\2\2\u14d5") - buf.write("\u14d6\7Q\2\2\u14d6\u14d7\7P\2\2\u14d7\u031a\3\2\2\2\u14d8") - buf.write("\u14d9\7O\2\2\u14d9\u14da\7C\2\2\u14da\u14db\7U\2\2\u14db") - buf.write("\u14dc\7V\2\2\u14dc\u14dd\7G\2\2\u14dd\u14de\7T\2\2\u14de") - buf.write("\u14df\7a\2\2\u14df\u14e0\7W\2\2\u14e0\u14e1\7U\2\2\u14e1") - buf.write("\u14e2\7G\2\2\u14e2\u14e3\7T\2\2\u14e3\u031c\3\2\2\2\u14e4") - buf.write("\u14e5\7O\2\2\u14e5\u14e6\7C\2\2\u14e6\u14e7\7Z\2\2\u14e7") - buf.write("\u14e8\7a\2\2\u14e8\u14e9\7E\2\2\u14e9\u14ea\7Q\2\2\u14ea") - buf.write("\u14eb\7P\2\2\u14eb\u14ec\7P\2\2\u14ec\u14ed\7G\2\2\u14ed") - buf.write("\u14ee\7E\2\2\u14ee\u14ef\7V\2\2\u14ef\u14f0\7K\2\2\u14f0") - buf.write("\u14f1\7Q\2\2\u14f1\u14f2\7P\2\2\u14f2\u14f3\7U\2\2\u14f3") - buf.write("\u14f4\7a\2\2\u14f4\u14f5\7R\2\2\u14f5\u14f6\7G\2\2\u14f6") - buf.write("\u14f7\7T\2\2\u14f7\u14f8\7a\2\2\u14f8\u14f9\7J\2\2\u14f9") - buf.write("\u14fa\7Q\2\2\u14fa\u14fb\7W\2\2\u14fb\u14fc\7T\2\2\u14fc") - buf.write("\u031e\3\2\2\2\u14fd\u14fe\7O\2\2\u14fe\u14ff\7C\2\2\u14ff") - buf.write("\u1500\7Z\2\2\u1500\u1501\7a\2\2\u1501\u1502\7S\2\2\u1502") - buf.write("\u1503\7W\2\2\u1503\u1504\7G\2\2\u1504\u1505\7T\2\2\u1505") - buf.write("\u1506\7K\2\2\u1506\u1507\7G\2\2\u1507\u1508\7U\2\2\u1508") - buf.write("\u1509\7a\2\2\u1509\u150a\7R\2\2\u150a\u150b\7G\2\2\u150b") - buf.write("\u150c\7T\2\2\u150c\u150d\7a\2\2\u150d\u150e\7J\2\2\u150e") - buf.write("\u150f\7Q\2\2\u150f\u1510\7W\2\2\u1510\u1511\7T\2\2\u1511") - buf.write("\u0320\3\2\2\2\u1512\u1513\7O\2\2\u1513\u1514\7C\2\2\u1514") - buf.write("\u1515\7Z\2\2\u1515\u1516\7a\2\2\u1516\u1517\7T\2\2\u1517") - buf.write("\u1518\7Q\2\2\u1518\u1519\7Y\2\2\u1519\u151a\7U\2\2\u151a") - buf.write("\u0322\3\2\2\2\u151b\u151c\7O\2\2\u151c\u151d\7C\2\2\u151d") - buf.write("\u151e\7Z\2\2\u151e\u151f\7a\2\2\u151f\u1520\7U\2\2\u1520") - buf.write("\u1521\7K\2\2\u1521\u1522\7\\\2\2\u1522\u1523\7G\2\2\u1523") - buf.write("\u0324\3\2\2\2\u1524\u1525\7O\2\2\u1525\u1526\7C\2\2\u1526") - buf.write("\u1527\7Z\2\2\u1527\u1528\7a\2\2\u1528\u1529\7W\2\2\u1529") - buf.write("\u152a\7R\2\2\u152a\u152b\7F\2\2\u152b\u152c\7C\2\2\u152c") - buf.write("\u152d\7V\2\2\u152d\u152e\7G\2\2\u152e\u152f\7U\2\2\u152f") - buf.write("\u1530\7a\2\2\u1530\u1531\7R\2\2\u1531\u1532\7G\2\2\u1532") - buf.write("\u1533\7T\2\2\u1533\u1534\7a\2\2\u1534\u1535\7J\2\2\u1535") - buf.write("\u1536\7Q\2\2\u1536\u1537\7W\2\2\u1537\u1538\7T\2\2\u1538") - buf.write("\u0326\3\2\2\2\u1539\u153a\7O\2\2\u153a\u153b\7C\2\2\u153b") - buf.write("\u153c\7Z\2\2\u153c\u153d\7a\2\2\u153d\u153e\7W\2\2\u153e") - buf.write("\u153f\7U\2\2\u153f\u1540\7G\2\2\u1540\u1541\7T\2\2\u1541") - buf.write("\u1542\7a\2\2\u1542\u1543\7E\2\2\u1543\u1544\7Q\2\2\u1544") - buf.write("\u1545\7P\2\2\u1545\u1546\7P\2\2\u1546\u1547\7G\2\2\u1547") - buf.write("\u1548\7E\2\2\u1548\u1549\7V\2\2\u1549\u154a\7K\2\2\u154a") - buf.write("\u154b\7Q\2\2\u154b\u154c\7P\2\2\u154c\u154d\7U\2\2\u154d") - buf.write("\u0328\3\2\2\2\u154e\u154f\7O\2\2\u154f\u1550\7G\2\2\u1550") - buf.write("\u1551\7F\2\2\u1551\u1552\7K\2\2\u1552\u1553\7W\2\2\u1553") - buf.write("\u1554\7O\2\2\u1554\u032a\3\2\2\2\u1555\u1556\7O\2\2\u1556") - buf.write("\u1557\7G\2\2\u1557\u1558\7T\2\2\u1558\u1559\7I\2\2\u1559") - buf.write("\u155a\7G\2\2\u155a\u032c\3\2\2\2\u155b\u155c\7O\2\2\u155c") - buf.write("\u155d\7K\2\2\u155d\u155e\7F\2\2\u155e\u032e\3\2\2\2\u155f") - buf.write("\u1560\7O\2\2\u1560\u1561\7K\2\2\u1561\u1562\7I\2\2\u1562") - buf.write("\u1563\7T\2\2\u1563\u1564\7C\2\2\u1564\u1565\7V\2\2\u1565") - buf.write("\u1566\7G\2\2\u1566\u0330\3\2\2\2\u1567\u1568\7O\2\2\u1568") - buf.write("\u1569\7K\2\2\u1569\u156a\7P\2\2\u156a\u156b\7a\2\2\u156b") - buf.write("\u156c\7T\2\2\u156c\u156d\7Q\2\2\u156d\u156e\7Y\2\2\u156e") - buf.write("\u156f\7U\2\2\u156f\u0332\3\2\2\2\u1570\u1571\7O\2\2\u1571") - buf.write("\u1572\7Q\2\2\u1572\u1573\7F\2\2\u1573\u1574\7G\2\2\u1574") - buf.write("\u0334\3\2\2\2\u1575\u1576\7O\2\2\u1576\u1577\7Q\2\2\u1577") - buf.write("\u1578\7F\2\2\u1578\u1579\7K\2\2\u1579\u157a\7H\2\2\u157a") - buf.write("\u157b\7[\2\2\u157b\u0336\3\2\2\2\u157c\u157d\7O\2\2\u157d") - buf.write("\u157e\7W\2\2\u157e\u157f\7V\2\2\u157f\u1580\7G\2\2\u1580") - buf.write("\u1581\7Z\2\2\u1581\u0338\3\2\2\2\u1582\u1583\7O\2\2\u1583") - buf.write("\u1584\7[\2\2\u1584\u1585\7U\2\2\u1585\u1586\7S\2\2\u1586") - buf.write("\u1587\7N\2\2\u1587\u033a\3\2\2\2\u1588\u1589\7P\2\2\u1589") - buf.write("\u158a\7C\2\2\u158a\u158b\7O\2\2\u158b\u158c\7G\2\2\u158c") - buf.write("\u033c\3\2\2\2\u158d\u158e\7P\2\2\u158e\u158f\7C\2\2\u158f") - buf.write("\u1590\7O\2\2\u1590\u1591\7G\2\2\u1591\u1592\7U\2\2\u1592") - buf.write("\u033e\3\2\2\2\u1593\u1594\7P\2\2\u1594\u1595\7E\2\2\u1595") - buf.write("\u1596\7J\2\2\u1596\u1597\7C\2\2\u1597\u1598\7T\2\2\u1598") - buf.write("\u0340\3\2\2\2\u1599\u159a\7P\2\2\u159a\u159b\7G\2\2\u159b") - buf.write("\u159c\7X\2\2\u159c\u159d\7G\2\2\u159d\u159e\7T\2\2\u159e") - buf.write("\u0342\3\2\2\2\u159f\u15a0\7P\2\2\u15a0\u15a1\7G\2\2\u15a1") - buf.write("\u15a2\7Z\2\2\u15a2\u15a3\7V\2\2\u15a3\u0344\3\2\2\2\u15a4") - buf.write("\u15a5\7P\2\2\u15a5\u15a6\7Q\2\2\u15a6\u0346\3\2\2\2\u15a7") - buf.write("\u15a8\7P\2\2\u15a8\u15a9\7Q\2\2\u15a9\u15aa\7F\2\2\u15aa") - buf.write("\u15ab\7G\2\2\u15ab\u15ac\7I\2\2\u15ac\u15ad\7T\2\2\u15ad") - buf.write("\u15ae\7Q\2\2\u15ae\u15af\7W\2\2\u15af\u15b0\7R\2\2\u15b0") - buf.write("\u0348\3\2\2\2\u15b1\u15b2\7P\2\2\u15b2\u15b3\7Q\2\2\u15b3") - buf.write("\u15b4\7P\2\2\u15b4\u15b5\7G\2\2\u15b5\u034a\3\2\2\2\u15b6") - buf.write("\u15b7\7Q\2\2\u15b7\u15b8\7H\2\2\u15b8\u15b9\7H\2\2\u15b9") - buf.write("\u15ba\7N\2\2\u15ba\u15bb\7K\2\2\u15bb\u15bc\7P\2\2\u15bc") - buf.write("\u15bd\7G\2\2\u15bd\u034c\3\2\2\2\u15be\u15bf\7Q\2\2\u15bf") - buf.write("\u15c0\7H\2\2\u15c0\u15c1\7H\2\2\u15c1\u15c2\7U\2\2\u15c2") - buf.write("\u15c3\7G\2\2\u15c3\u15c4\7V\2\2\u15c4\u034e\3\2\2\2\u15c5") - buf.write("\u15c6\7Q\2\2\u15c6\u15c7\7L\2\2\u15c7\u0350\3\2\2\2\u15c8") - buf.write("\u15c9\7Q\2\2\u15c9\u15ca\7N\2\2\u15ca\u15cb\7F\2\2\u15cb") - buf.write("\u15cc\7a\2\2\u15cc\u15cd\7R\2\2\u15cd\u15ce\7C\2\2\u15ce") - buf.write("\u15cf\7U\2\2\u15cf\u15d0\7U\2\2\u15d0\u15d1\7Y\2\2\u15d1") - buf.write("\u15d2\7Q\2\2\u15d2\u15d3\7T\2\2\u15d3\u15d4\7F\2\2\u15d4") - buf.write("\u0352\3\2\2\2\u15d5\u15d6\7Q\2\2\u15d6\u15d7\7P\2\2\u15d7") - buf.write("\u15d8\7G\2\2\u15d8\u0354\3\2\2\2\u15d9\u15da\7Q\2\2\u15da") - buf.write("\u15db\7P\2\2\u15db\u15dc\7N\2\2\u15dc\u15dd\7K\2\2\u15dd") - buf.write("\u15de\7P\2\2\u15de\u15df\7G\2\2\u15df\u0356\3\2\2\2\u15e0") - buf.write("\u15e1\7Q\2\2\u15e1\u15e2\7P\2\2\u15e2\u15e3\7N\2\2\u15e3") - buf.write("\u15e4\7[\2\2\u15e4\u0358\3\2\2\2\u15e5\u15e6\7Q\2\2\u15e6") - buf.write("\u15e7\7R\2\2\u15e7\u15e8\7G\2\2\u15e8\u15e9\7P\2\2\u15e9") - buf.write("\u035a\3\2\2\2\u15ea\u15eb\7Q\2\2\u15eb\u15ec\7R\2\2\u15ec") - buf.write("\u15ed\7V\2\2\u15ed\u15ee\7K\2\2\u15ee\u15ef\7O\2\2\u15ef") - buf.write("\u15f0\7K\2\2\u15f0\u15f1\7\\\2\2\u15f1\u15f2\7G\2\2\u15f2") - buf.write("\u15f3\7T\2\2\u15f3\u15f4\7a\2\2\u15f4\u15f5\7E\2\2\u15f5") - buf.write("\u15f6\7Q\2\2\u15f6\u15f7\7U\2\2\u15f7\u15f8\7V\2\2\u15f8") - buf.write("\u15f9\7U\2\2\u15f9\u035c\3\2\2\2\u15fa\u15fb\7Q\2\2\u15fb") - buf.write("\u15fc\7R\2\2\u15fc\u15fd\7V\2\2\u15fd\u15fe\7K\2\2\u15fe") - buf.write("\u15ff\7Q\2\2\u15ff\u1600\7P\2\2\u1600\u1601\7U\2\2\u1601") - buf.write("\u035e\3\2\2\2\u1602\u1603\7Q\2\2\u1603\u1604\7Y\2\2\u1604") - buf.write("\u1605\7P\2\2\u1605\u1606\7G\2\2\u1606\u1607\7T\2\2\u1607") - buf.write("\u0360\3\2\2\2\u1608\u1609\7R\2\2\u1609\u160a\7C\2\2\u160a") - buf.write("\u160b\7E\2\2\u160b\u160c\7M\2\2\u160c\u160d\7a\2\2\u160d") - buf.write("\u160e\7M\2\2\u160e\u160f\7G\2\2\u160f\u1610\7[\2\2\u1610") - buf.write("\u1611\7U\2\2\u1611\u0362\3\2\2\2\u1612\u1613\7R\2\2\u1613") - buf.write("\u1614\7C\2\2\u1614\u1615\7I\2\2\u1615\u1616\7G\2\2\u1616") - buf.write("\u0364\3\2\2\2\u1617\u1618\7R\2\2\u1618\u1619\7C\2\2\u1619") - buf.write("\u161a\7T\2\2\u161a\u161b\7U\2\2\u161b\u161c\7G\2\2\u161c") - buf.write("\u161d\7T\2\2\u161d\u0366\3\2\2\2\u161e\u161f\7R\2\2\u161f") - buf.write("\u1620\7C\2\2\u1620\u1621\7T\2\2\u1621\u1622\7V\2\2\u1622") - buf.write("\u1623\7K\2\2\u1623\u1624\7C\2\2\u1624\u1625\7N\2\2\u1625") - buf.write("\u0368\3\2\2\2\u1626\u1627\7R\2\2\u1627\u1628\7C\2\2\u1628") - buf.write("\u1629\7T\2\2\u1629\u162a\7V\2\2\u162a\u162b\7K\2\2\u162b") - buf.write("\u162c\7V\2\2\u162c\u162d\7K\2\2\u162d\u162e\7Q\2\2\u162e") - buf.write("\u162f\7P\2\2\u162f\u1630\7K\2\2\u1630\u1631\7P\2\2\u1631") - buf.write("\u1632\7I\2\2\u1632\u036a\3\2\2\2\u1633\u1634\7R\2\2\u1634") - buf.write("\u1635\7C\2\2\u1635\u1636\7T\2\2\u1636\u1637\7V\2\2\u1637") - buf.write("\u1638\7K\2\2\u1638\u1639\7V\2\2\u1639\u163a\7K\2\2\u163a") - buf.write("\u163b\7Q\2\2\u163b\u163c\7P\2\2\u163c\u163d\7U\2\2\u163d") - buf.write("\u036c\3\2\2\2\u163e\u163f\7R\2\2\u163f\u1640\7C\2\2\u1640") - buf.write("\u1641\7U\2\2\u1641\u1642\7U\2\2\u1642\u1643\7Y\2\2\u1643") - buf.write("\u1644\7Q\2\2\u1644\u1645\7T\2\2\u1645\u1646\7F\2\2\u1646") - buf.write("\u036e\3\2\2\2\u1647\u1648\7R\2\2\u1648\u1649\7J\2\2\u1649") - buf.write("\u164a\7C\2\2\u164a\u164b\7U\2\2\u164b\u164c\7G\2\2\u164c") - buf.write("\u0370\3\2\2\2\u164d\u164e\7R\2\2\u164e\u164f\7N\2\2\u164f") - buf.write("\u1650\7W\2\2\u1650\u1651\7I\2\2\u1651\u1652\7K\2\2\u1652") - buf.write("\u1653\7P\2\2\u1653\u0372\3\2\2\2\u1654\u1655\7R\2\2\u1655") - buf.write("\u1656\7N\2\2\u1656\u1657\7W\2\2\u1657\u1658\7I\2\2\u1658") - buf.write("\u1659\7K\2\2\u1659\u165a\7P\2\2\u165a\u165b\7a\2\2\u165b") - buf.write("\u165c\7F\2\2\u165c\u165d\7K\2\2\u165d\u165e\7T\2\2\u165e") - buf.write("\u0374\3\2\2\2\u165f\u1660\7R\2\2\u1660\u1661\7N\2\2\u1661") - buf.write("\u1662\7W\2\2\u1662\u1663\7I\2\2\u1663\u1664\7K\2\2\u1664") - buf.write("\u1665\7P\2\2\u1665\u1666\7U\2\2\u1666\u0376\3\2\2\2\u1667") - buf.write("\u1668\7R\2\2\u1668\u1669\7Q\2\2\u1669\u166a\7T\2\2\u166a") - buf.write("\u166b\7V\2\2\u166b\u0378\3\2\2\2\u166c\u166d\7R\2\2\u166d") - buf.write("\u166e\7T\2\2\u166e\u166f\7G\2\2\u166f\u1670\7E\2\2\u1670") - buf.write("\u1671\7G\2\2\u1671\u1672\7F\2\2\u1672\u1673\7G\2\2\u1673") - buf.write("\u1674\7U\2\2\u1674\u037a\3\2\2\2\u1675\u1676\7R\2\2\u1676") - buf.write("\u1677\7T\2\2\u1677\u1678\7G\2\2\u1678\u1679\7R\2\2\u1679") - buf.write("\u167a\7C\2\2\u167a\u167b\7T\2\2\u167b\u167c\7G\2\2\u167c") - buf.write("\u037c\3\2\2\2\u167d\u167e\7R\2\2\u167e\u167f\7T\2\2\u167f") - buf.write("\u1680\7G\2\2\u1680\u1681\7U\2\2\u1681\u1682\7G\2\2\u1682") - buf.write("\u1683\7T\2\2\u1683\u1684\7X\2\2\u1684\u1685\7G\2\2\u1685") - buf.write("\u037e\3\2\2\2\u1686\u1687\7R\2\2\u1687\u1688\7T\2\2\u1688") - buf.write("\u1689\7G\2\2\u1689\u168a\7X\2\2\u168a\u0380\3\2\2\2\u168b") - buf.write("\u168c\7R\2\2\u168c\u168d\7T\2\2\u168d\u168e\7Q\2\2\u168e") - buf.write("\u168f\7E\2\2\u168f\u1690\7G\2\2\u1690\u1691\7U\2\2\u1691") - buf.write("\u1692\7U\2\2\u1692\u1693\7N\2\2\u1693\u1694\7K\2\2\u1694") - buf.write("\u1695\7U\2\2\u1695\u1696\7V\2\2\u1696\u0382\3\2\2\2\u1697") - buf.write("\u1698\7R\2\2\u1698\u1699\7T\2\2\u1699\u169a\7Q\2\2\u169a") - buf.write("\u169b\7H\2\2\u169b\u169c\7K\2\2\u169c\u169d\7N\2\2\u169d") - buf.write("\u169e\7G\2\2\u169e\u0384\3\2\2\2\u169f\u16a0\7R\2\2\u16a0") - buf.write("\u16a1\7T\2\2\u16a1\u16a2\7Q\2\2\u16a2\u16a3\7H\2\2\u16a3") - buf.write("\u16a4\7K\2\2\u16a4\u16a5\7N\2\2\u16a5\u16a6\7G\2\2\u16a6") - buf.write("\u16a7\7U\2\2\u16a7\u0386\3\2\2\2\u16a8\u16a9\7R\2\2\u16a9") - buf.write("\u16aa\7T\2\2\u16aa\u16ab\7Q\2\2\u16ab\u16ac\7Z\2\2\u16ac") - buf.write("\u16ad\7[\2\2\u16ad\u0388\3\2\2\2\u16ae\u16af\7S\2\2\u16af") - buf.write("\u16b0\7W\2\2\u16b0\u16b1\7G\2\2\u16b1\u16b2\7T\2\2\u16b2") - buf.write("\u16b3\7[\2\2\u16b3\u038a\3\2\2\2\u16b4\u16b5\7S\2\2\u16b5") - buf.write("\u16b6\7W\2\2\u16b6\u16b7\7K\2\2\u16b7\u16b8\7E\2\2\u16b8") - buf.write("\u16b9\7M\2\2\u16b9\u038c\3\2\2\2\u16ba\u16bb\7T\2\2\u16bb") - buf.write("\u16bc\7G\2\2\u16bc\u16bd\7D\2\2\u16bd\u16be\7W\2\2\u16be") - buf.write("\u16bf\7K\2\2\u16bf\u16c0\7N\2\2\u16c0\u16c1\7F\2\2\u16c1") - buf.write("\u038e\3\2\2\2\u16c2\u16c3\7T\2\2\u16c3\u16c4\7G\2\2\u16c4") - buf.write("\u16c5\7E\2\2\u16c5\u16c6\7Q\2\2\u16c6\u16c7\7X\2\2\u16c7") - buf.write("\u16c8\7G\2\2\u16c8\u16c9\7T\2\2\u16c9\u0390\3\2\2\2\u16ca") - buf.write("\u16cb\7T\2\2\u16cb\u16cc\7G\2\2\u16cc\u16cd\7F\2\2\u16cd") - buf.write("\u16ce\7Q\2\2\u16ce\u16cf\7a\2\2\u16cf\u16d0\7D\2\2\u16d0") - buf.write("\u16d1\7W\2\2\u16d1\u16d2\7H\2\2\u16d2\u16d3\7H\2\2\u16d3") - buf.write("\u16d4\7G\2\2\u16d4\u16d5\7T\2\2\u16d5\u16d6\7a\2\2\u16d6") - buf.write("\u16d7\7U\2\2\u16d7\u16d8\7K\2\2\u16d8\u16d9\7\\\2\2\u16d9") - buf.write("\u16da\7G\2\2\u16da\u0392\3\2\2\2\u16db\u16dc\7T\2\2\u16dc") - buf.write("\u16dd\7G\2\2\u16dd\u16de\7F\2\2\u16de\u16df\7W\2\2\u16df") - buf.write("\u16e0\7P\2\2\u16e0\u16e1\7F\2\2\u16e1\u16e2\7C\2\2\u16e2") - buf.write("\u16e3\7P\2\2\u16e3\u16e4\7V\2\2\u16e4\u0394\3\2\2\2\u16e5") - buf.write("\u16e6\7T\2\2\u16e6\u16e7\7G\2\2\u16e7\u16e8\7N\2\2\u16e8") - buf.write("\u16e9\7C\2\2\u16e9\u16ea\7[\2\2\u16ea\u0396\3\2\2\2\u16eb") - buf.write("\u16ec\7T\2\2\u16ec\u16ed\7G\2\2\u16ed\u16ee\7N\2\2\u16ee") - buf.write("\u16ef\7C\2\2\u16ef\u16f0\7[\2\2\u16f0\u16f1\7a\2\2\u16f1") - buf.write("\u16f2\7N\2\2\u16f2\u16f3\7Q\2\2\u16f3\u16f4\7I\2\2\u16f4") - buf.write("\u16f5\7a\2\2\u16f5\u16f6\7H\2\2\u16f6\u16f7\7K\2\2\u16f7") - buf.write("\u16f8\7N\2\2\u16f8\u16f9\7G\2\2\u16f9\u0398\3\2\2\2\u16fa") - buf.write("\u16fb\7T\2\2\u16fb\u16fc\7G\2\2\u16fc\u16fd\7N\2\2\u16fd") - buf.write("\u16fe\7C\2\2\u16fe\u16ff\7[\2\2\u16ff\u1700\7a\2\2\u1700") - buf.write("\u1701\7N\2\2\u1701\u1702\7Q\2\2\u1702\u1703\7I\2\2\u1703") - buf.write("\u1704\7a\2\2\u1704\u1705\7R\2\2\u1705\u1706\7Q\2\2\u1706") - buf.write("\u1707\7U\2\2\u1707\u039a\3\2\2\2\u1708\u1709\7T\2\2\u1709") - buf.write("\u170a\7G\2\2\u170a\u170b\7N\2\2\u170b\u170c\7C\2\2\u170c") - buf.write("\u170d\7[\2\2\u170d\u170e\7N\2\2\u170e\u170f\7Q\2\2\u170f") - buf.write("\u1710\7I\2\2\u1710\u039c\3\2\2\2\u1711\u1712\7T\2\2\u1712") - buf.write("\u1713\7G\2\2\u1713\u1714\7O\2\2\u1714\u1715\7Q\2\2\u1715") - buf.write("\u1716\7X\2\2\u1716\u1717\7G\2\2\u1717\u039e\3\2\2\2\u1718") - buf.write("\u1719\7T\2\2\u1719\u171a\7G\2\2\u171a\u171b\7Q\2\2\u171b") - buf.write("\u171c\7T\2\2\u171c\u171d\7I\2\2\u171d\u171e\7C\2\2\u171e") - buf.write("\u171f\7P\2\2\u171f\u1720\7K\2\2\u1720\u1721\7\\\2\2\u1721") - buf.write("\u1722\7G\2\2\u1722\u03a0\3\2\2\2\u1723\u1724\7T\2\2\u1724") - buf.write("\u1725\7G\2\2\u1725\u1726\7R\2\2\u1726\u1727\7C\2\2\u1727") - buf.write("\u1728\7K\2\2\u1728\u1729\7T\2\2\u1729\u03a2\3\2\2\2\u172a") - buf.write("\u172b\7T\2\2\u172b\u172c\7G\2\2\u172c\u172d\7R\2\2\u172d") - buf.write("\u172e\7N\2\2\u172e\u172f\7K\2\2\u172f\u1730\7E\2\2\u1730") - buf.write("\u1731\7C\2\2\u1731\u1732\7V\2\2\u1732\u1733\7G\2\2\u1733") - buf.write("\u1734\7a\2\2\u1734\u1735\7F\2\2\u1735\u1736\7Q\2\2\u1736") - buf.write("\u1737\7a\2\2\u1737\u1738\7F\2\2\u1738\u1739\7D\2\2\u1739") - buf.write("\u03a4\3\2\2\2\u173a\u173b\7T\2\2\u173b\u173c\7G\2\2\u173c") - buf.write("\u173d\7R\2\2\u173d\u173e\7N\2\2\u173e\u173f\7K\2\2\u173f") - buf.write("\u1740\7E\2\2\u1740\u1741\7C\2\2\u1741\u1742\7V\2\2\u1742") - buf.write("\u1743\7G\2\2\u1743\u1744\7a\2\2\u1744\u1745\7F\2\2\u1745") - buf.write("\u1746\7Q\2\2\u1746\u1747\7a\2\2\u1747\u1748\7V\2\2\u1748") - buf.write("\u1749\7C\2\2\u1749\u174a\7D\2\2\u174a\u174b\7N\2\2\u174b") - buf.write("\u174c\7G\2\2\u174c\u03a6\3\2\2\2\u174d\u174e\7T\2\2\u174e") - buf.write("\u174f\7G\2\2\u174f\u1750\7R\2\2\u1750\u1751\7N\2\2\u1751") - buf.write("\u1752\7K\2\2\u1752\u1753\7E\2\2\u1753\u1754\7C\2\2\u1754") - buf.write("\u1755\7V\2\2\u1755\u1756\7G\2\2\u1756\u1757\7a\2\2\u1757") - buf.write("\u1758\7K\2\2\u1758\u1759\7I\2\2\u1759\u175a\7P\2\2\u175a") - buf.write("\u175b\7Q\2\2\u175b\u175c\7T\2\2\u175c\u175d\7G\2\2\u175d") - buf.write("\u175e\7a\2\2\u175e\u175f\7F\2\2\u175f\u1760\7D\2\2\u1760") - buf.write("\u03a8\3\2\2\2\u1761\u1762\7T\2\2\u1762\u1763\7G\2\2\u1763") - buf.write("\u1764\7R\2\2\u1764\u1765\7N\2\2\u1765\u1766\7K\2\2\u1766") - buf.write("\u1767\7E\2\2\u1767\u1768\7C\2\2\u1768\u1769\7V\2\2\u1769") - buf.write("\u176a\7G\2\2\u176a\u176b\7a\2\2\u176b\u176c\7K\2\2\u176c") - buf.write("\u176d\7I\2\2\u176d\u176e\7P\2\2\u176e\u176f\7Q\2\2\u176f") - buf.write("\u1770\7T\2\2\u1770\u1771\7G\2\2\u1771\u1772\7a\2\2\u1772") - buf.write("\u1773\7V\2\2\u1773\u1774\7C\2\2\u1774\u1775\7D\2\2\u1775") - buf.write("\u1776\7N\2\2\u1776\u1777\7G\2\2\u1777\u03aa\3\2\2\2\u1778") - buf.write("\u1779\7T\2\2\u1779\u177a\7G\2\2\u177a\u177b\7R\2\2\u177b") - buf.write("\u177c\7N\2\2\u177c\u177d\7K\2\2\u177d\u177e\7E\2\2\u177e") - buf.write("\u177f\7C\2\2\u177f\u1780\7V\2\2\u1780\u1781\7G\2\2\u1781") - buf.write("\u1782\7a\2\2\u1782\u1783\7T\2\2\u1783\u1784\7G\2\2\u1784") - buf.write("\u1785\7Y\2\2\u1785\u1786\7T\2\2\u1786\u1787\7K\2\2\u1787") - buf.write("\u1788\7V\2\2\u1788\u1789\7G\2\2\u1789\u178a\7a\2\2\u178a") - buf.write("\u178b\7F\2\2\u178b\u178c\7D\2\2\u178c\u03ac\3\2\2\2\u178d") - buf.write("\u178e\7T\2\2\u178e\u178f\7G\2\2\u178f\u1790\7R\2\2\u1790") - buf.write("\u1791\7N\2\2\u1791\u1792\7K\2\2\u1792\u1793\7E\2\2\u1793") - buf.write("\u1794\7C\2\2\u1794\u1795\7V\2\2\u1795\u1796\7G\2\2\u1796") - buf.write("\u1797\7a\2\2\u1797\u1798\7Y\2\2\u1798\u1799\7K\2\2\u1799") - buf.write("\u179a\7N\2\2\u179a\u179b\7F\2\2\u179b\u179c\7a\2\2\u179c") - buf.write("\u179d\7F\2\2\u179d\u179e\7Q\2\2\u179e\u179f\7a\2\2\u179f") - buf.write("\u17a0\7V\2\2\u17a0\u17a1\7C\2\2\u17a1\u17a2\7D\2\2\u17a2") - buf.write("\u17a3\7N\2\2\u17a3\u17a4\7G\2\2\u17a4\u03ae\3\2\2\2\u17a5") - buf.write("\u17a6\7T\2\2\u17a6\u17a7\7G\2\2\u17a7\u17a8\7R\2\2\u17a8") - buf.write("\u17a9\7N\2\2\u17a9\u17aa\7K\2\2\u17aa\u17ab\7E\2\2\u17ab") - buf.write("\u17ac\7C\2\2\u17ac\u17ad\7V\2\2\u17ad\u17ae\7G\2\2\u17ae") - buf.write("\u17af\7a\2\2\u17af\u17b0\7Y\2\2\u17b0\u17b1\7K\2\2\u17b1") - buf.write("\u17b2\7N\2\2\u17b2\u17b3\7F\2\2\u17b3\u17b4\7a\2\2\u17b4") - buf.write("\u17b5\7K\2\2\u17b5\u17b6\7I\2\2\u17b6\u17b7\7P\2\2\u17b7") - buf.write("\u17b8\7Q\2\2\u17b8\u17b9\7T\2\2\u17b9\u17ba\7G\2\2\u17ba") - buf.write("\u17bb\7a\2\2\u17bb\u17bc\7V\2\2\u17bc\u17bd\7C\2\2\u17bd") - buf.write("\u17be\7D\2\2\u17be\u17bf\7N\2\2\u17bf\u17c0\7G\2\2\u17c0") - buf.write("\u03b0\3\2\2\2\u17c1\u17c2\7T\2\2\u17c2\u17c3\7G\2\2\u17c3") - buf.write("\u17c4\7R\2\2\u17c4\u17c5\7N\2\2\u17c5\u17c6\7K\2\2\u17c6") - buf.write("\u17c7\7E\2\2\u17c7\u17c8\7C\2\2\u17c8\u17c9\7V\2\2\u17c9") - buf.write("\u17ca\7K\2\2\u17ca\u17cb\7Q\2\2\u17cb\u17cc\7P\2\2\u17cc") - buf.write("\u03b2\3\2\2\2\u17cd\u17ce\7T\2\2\u17ce\u17cf\7G\2\2\u17cf") - buf.write("\u17d0\7U\2\2\u17d0\u17d1\7G\2\2\u17d1\u17d2\7V\2\2\u17d2") - buf.write("\u03b4\3\2\2\2\u17d3\u17d4\7T\2\2\u17d4\u17d5\7G\2\2\u17d5") - buf.write("\u17d6\7U\2\2\u17d6\u17d7\7W\2\2\u17d7\u17d8\7O\2\2\u17d8") - buf.write("\u17d9\7G\2\2\u17d9\u03b6\3\2\2\2\u17da\u17db\7T\2\2\u17db") - buf.write("\u17dc\7G\2\2\u17dc\u17dd\7V\2\2\u17dd\u17de\7W\2\2\u17de") - buf.write("\u17df\7T\2\2\u17df\u17e0\7P\2\2\u17e0\u17e1\7U\2\2\u17e1") - buf.write("\u03b8\3\2\2\2\u17e2\u17e3\7T\2\2\u17e3\u17e4\7Q\2\2\u17e4") - buf.write("\u17e5\7N\2\2\u17e5\u17e6\7N\2\2\u17e6\u17e7\7D\2\2\u17e7") - buf.write("\u17e8\7C\2\2\u17e8\u17e9\7E\2\2\u17e9\u17ea\7M\2\2\u17ea") - buf.write("\u03ba\3\2\2\2\u17eb\u17ec\7T\2\2\u17ec\u17ed\7Q\2\2\u17ed") - buf.write("\u17ee\7N\2\2\u17ee\u17ef\7N\2\2\u17ef\u17f0\7W\2\2\u17f0") - buf.write("\u17f1\7R\2\2\u17f1\u03bc\3\2\2\2\u17f2\u17f3\7T\2\2\u17f3") - buf.write("\u17f4\7Q\2\2\u17f4\u17f5\7V\2\2\u17f5\u17f6\7C\2\2\u17f6") - buf.write("\u17f7\7V\2\2\u17f7\u17f8\7G\2\2\u17f8\u03be\3\2\2\2\u17f9") - buf.write("\u17fa\7T\2\2\u17fa\u17fb\7Q\2\2\u17fb\u17fc\7Y\2\2\u17fc") - buf.write("\u03c0\3\2\2\2\u17fd\u17fe\7T\2\2\u17fe\u17ff\7Q\2\2\u17ff") - buf.write("\u1800\7Y\2\2\u1800\u1801\7U\2\2\u1801\u03c2\3\2\2\2\u1802") - buf.write("\u1803\7T\2\2\u1803\u1804\7Q\2\2\u1804\u1805\7Y\2\2\u1805") - buf.write("\u1806\7a\2\2\u1806\u1807\7H\2\2\u1807\u1808\7Q\2\2\u1808") - buf.write("\u1809\7T\2\2\u1809\u180a\7O\2\2\u180a\u180b\7C\2\2\u180b") - buf.write("\u180c\7V\2\2\u180c\u03c4\3\2\2\2\u180d\u180e\7U\2\2\u180e") - buf.write("\u180f\7C\2\2\u180f\u1810\7X\2\2\u1810\u1811\7G\2\2\u1811") - buf.write("\u1812\7R\2\2\u1812\u1813\7Q\2\2\u1813\u1814\7K\2\2\u1814") - buf.write("\u1815\7P\2\2\u1815\u1816\7V\2\2\u1816\u03c6\3\2\2\2\u1817") - buf.write("\u1818\7U\2\2\u1818\u1819\7E\2\2\u1819\u181a\7J\2\2\u181a") - buf.write("\u181b\7G\2\2\u181b\u181c\7F\2\2\u181c\u181d\7W\2\2\u181d") - buf.write("\u181e\7N\2\2\u181e\u181f\7G\2\2\u181f\u03c8\3\2\2\2\u1820") - buf.write("\u1821\7U\2\2\u1821\u1822\7G\2\2\u1822\u1823\7E\2\2\u1823") - buf.write("\u1824\7W\2\2\u1824\u1825\7T\2\2\u1825\u1826\7K\2\2\u1826") - buf.write("\u1827\7V\2\2\u1827\u1828\7[\2\2\u1828\u03ca\3\2\2\2\u1829") - buf.write("\u182a\7U\2\2\u182a\u182b\7G\2\2\u182b\u182c\7T\2\2\u182c") - buf.write("\u182d\7X\2\2\u182d\u182e\7G\2\2\u182e\u182f\7T\2\2\u182f") - buf.write("\u03cc\3\2\2\2\u1830\u1831\7U\2\2\u1831\u1832\7G\2\2\u1832") - buf.write("\u1833\7U\2\2\u1833\u1834\7U\2\2\u1834\u1835\7K\2\2\u1835") - buf.write("\u1836\7Q\2\2\u1836\u1837\7P\2\2\u1837\u03ce\3\2\2\2\u1838") - buf.write("\u1839\7U\2\2\u1839\u183a\7J\2\2\u183a\u183b\7C\2\2\u183b") - buf.write("\u183c\7T\2\2\u183c\u183d\7G\2\2\u183d\u03d0\3\2\2\2\u183e") - buf.write("\u183f\7U\2\2\u183f\u1840\7J\2\2\u1840\u1841\7C\2\2\u1841") - buf.write("\u1842\7T\2\2\u1842\u1843\7G\2\2\u1843\u1844\7F\2\2\u1844") - buf.write("\u03d2\3\2\2\2\u1845\u1846\7U\2\2\u1846\u1847\7K\2\2\u1847") - buf.write("\u1848\7I\2\2\u1848\u1849\7P\2\2\u1849\u184a\7G\2\2\u184a") - buf.write("\u184b\7F\2\2\u184b\u03d4\3\2\2\2\u184c\u184d\7U\2\2\u184d") - buf.write("\u184e\7K\2\2\u184e\u184f\7O\2\2\u184f\u1850\7R\2\2\u1850") - buf.write("\u1851\7N\2\2\u1851\u1852\7G\2\2\u1852\u03d6\3\2\2\2\u1853") - buf.write("\u1854\7U\2\2\u1854\u1855\7N\2\2\u1855\u1856\7C\2\2\u1856") - buf.write("\u1857\7X\2\2\u1857\u1858\7G\2\2\u1858\u03d8\3\2\2\2\u1859") - buf.write("\u185a\7U\2\2\u185a\u185b\7N\2\2\u185b\u185c\7Q\2\2\u185c") - buf.write("\u185d\7Y\2\2\u185d\u03da\3\2\2\2\u185e\u185f\7U\2\2\u185f") - buf.write("\u1860\7P\2\2\u1860\u1861\7C\2\2\u1861\u1862\7R\2\2\u1862") - buf.write("\u1863\7U\2\2\u1863\u1864\7J\2\2\u1864\u1865\7Q\2\2\u1865") - buf.write("\u1866\7V\2\2\u1866\u03dc\3\2\2\2\u1867\u1868\7U\2\2\u1868") - buf.write("\u1869\7Q\2\2\u1869\u186a\7E\2\2\u186a\u186b\7M\2\2\u186b") - buf.write("\u186c\7G\2\2\u186c\u186d\7V\2\2\u186d\u03de\3\2\2\2\u186e") - buf.write("\u186f\7U\2\2\u186f\u1870\7Q\2\2\u1870\u1871\7O\2\2\u1871") - buf.write("\u1872\7G\2\2\u1872\u03e0\3\2\2\2\u1873\u1874\7U\2\2\u1874") - buf.write("\u1875\7Q\2\2\u1875\u1876\7P\2\2\u1876\u1877\7C\2\2\u1877") - buf.write("\u1878\7O\2\2\u1878\u1879\7G\2\2\u1879\u03e2\3\2\2\2\u187a") - buf.write("\u187b\7U\2\2\u187b\u187c\7Q\2\2\u187c\u187d\7W\2\2\u187d") - buf.write("\u187e\7P\2\2\u187e\u187f\7F\2\2\u187f\u1880\7U\2\2\u1880") - buf.write("\u03e4\3\2\2\2\u1881\u1882\7U\2\2\u1882\u1883\7Q\2\2\u1883") - buf.write("\u1884\7W\2\2\u1884\u1885\7T\2\2\u1885\u1886\7E\2\2\u1886") - buf.write("\u1887\7G\2\2\u1887\u03e6\3\2\2\2\u1888\u1889\7U\2\2\u1889") - buf.write("\u188a\7S\2\2\u188a\u188b\7N\2\2\u188b\u188c\7a\2\2\u188c") - buf.write("\u188d\7C\2\2\u188d\u188e\7H\2\2\u188e\u188f\7V\2\2\u188f") - buf.write("\u1890\7G\2\2\u1890\u1891\7T\2\2\u1891\u1892\7a\2\2\u1892") - buf.write("\u1893\7I\2\2\u1893\u1894\7V\2\2\u1894\u1895\7K\2\2\u1895") - buf.write("\u1896\7F\2\2\u1896\u1897\7U\2\2\u1897\u03e8\3\2\2\2\u1898") - buf.write("\u1899\7U\2\2\u1899\u189a\7S\2\2\u189a\u189b\7N\2\2\u189b") - buf.write("\u189c\7a\2\2\u189c\u189d\7C\2\2\u189d\u189e\7H\2\2\u189e") - buf.write("\u189f\7V\2\2\u189f\u18a0\7G\2\2\u18a0\u18a1\7T\2\2\u18a1") - buf.write("\u18a2\7a\2\2\u18a2\u18a3\7O\2\2\u18a3\u18a4\7V\2\2\u18a4") - buf.write("\u18a5\7U\2\2\u18a5\u18a6\7a\2\2\u18a6\u18a7\7I\2\2\u18a7") - buf.write("\u18a8\7C\2\2\u18a8\u18a9\7R\2\2\u18a9\u18aa\7U\2\2\u18aa") - buf.write("\u03ea\3\2\2\2\u18ab\u18ac\7U\2\2\u18ac\u18ad\7S\2\2\u18ad") - buf.write("\u18ae\7N\2\2\u18ae\u18af\7a\2\2\u18af\u18b0\7D\2\2\u18b0") - buf.write("\u18b1\7G\2\2\u18b1\u18b2\7H\2\2\u18b2\u18b3\7Q\2\2\u18b3") - buf.write("\u18b4\7T\2\2\u18b4\u18b5\7G\2\2\u18b5\u18b6\7a\2\2\u18b6") - buf.write("\u18b7\7I\2\2\u18b7\u18b8\7V\2\2\u18b8\u18b9\7K\2\2\u18b9") - buf.write("\u18ba\7F\2\2\u18ba\u18bb\7U\2\2\u18bb\u03ec\3\2\2\2\u18bc") - buf.write("\u18bd\7U\2\2\u18bd\u18be\7S\2\2\u18be\u18bf\7N\2\2\u18bf") - buf.write("\u18c0\7a\2\2\u18c0\u18c1\7D\2\2\u18c1\u18c2\7W\2\2\u18c2") - buf.write("\u18c3\7H\2\2\u18c3\u18c4\7H\2\2\u18c4\u18c5\7G\2\2\u18c5") - buf.write("\u18c6\7T\2\2\u18c6\u18c7\7a\2\2\u18c7\u18c8\7T\2\2\u18c8") - buf.write("\u18c9\7G\2\2\u18c9\u18ca\7U\2\2\u18ca\u18cb\7W\2\2\u18cb") - buf.write("\u18cc\7N\2\2\u18cc\u18cd\7V\2\2\u18cd\u03ee\3\2\2\2\u18ce") - buf.write("\u18cf\7U\2\2\u18cf\u18d0\7S\2\2\u18d0\u18d1\7N\2\2\u18d1") - buf.write("\u18d2\7a\2\2\u18d2\u18d3\7E\2\2\u18d3\u18d4\7C\2\2\u18d4") - buf.write("\u18d5\7E\2\2\u18d5\u18d6\7J\2\2\u18d6\u18d7\7G\2\2\u18d7") - buf.write("\u03f0\3\2\2\2\u18d8\u18d9\7U\2\2\u18d9\u18da\7S\2\2\u18da") - buf.write("\u18db\7N\2\2\u18db\u18dc\7a\2\2\u18dc\u18dd\7P\2\2\u18dd") - buf.write("\u18de\7Q\2\2\u18de\u18df\7a\2\2\u18df\u18e0\7E\2\2\u18e0") - buf.write("\u18e1\7C\2\2\u18e1\u18e2\7E\2\2\u18e2\u18e3\7J\2\2\u18e3") - buf.write("\u18e4\7G\2\2\u18e4\u03f2\3\2\2\2\u18e5\u18e6\7U\2\2\u18e6") - buf.write("\u18e7\7S\2\2\u18e7\u18e8\7N\2\2\u18e8\u18e9\7a\2\2\u18e9") - buf.write("\u18ea\7V\2\2\u18ea\u18eb\7J\2\2\u18eb\u18ec\7T\2\2\u18ec") - buf.write("\u18ed\7G\2\2\u18ed\u18ee\7C\2\2\u18ee\u18ef\7F\2\2\u18ef") - buf.write("\u03f4\3\2\2\2\u18f0\u18f1\7U\2\2\u18f1\u18f2\7V\2\2\u18f2") - buf.write("\u18f3\7C\2\2\u18f3\u18f4\7T\2\2\u18f4\u18f5\7V\2\2\u18f5") - buf.write("\u03f6\3\2\2\2\u18f6\u18f7\7U\2\2\u18f7\u18f8\7V\2\2\u18f8") - buf.write("\u18f9\7C\2\2\u18f9\u18fa\7T\2\2\u18fa\u18fb\7V\2\2\u18fb") - buf.write("\u18fc\7U\2\2\u18fc\u03f8\3\2\2\2\u18fd\u18fe\7U\2\2\u18fe") - buf.write("\u18ff\7V\2\2\u18ff\u1900\7C\2\2\u1900\u1901\7V\2\2\u1901") - buf.write("\u1902\7U\2\2\u1902\u1903\7a\2\2\u1903\u1904\7C\2\2\u1904") - buf.write("\u1905\7W\2\2\u1905\u1906\7V\2\2\u1906\u1907\7Q\2\2\u1907") - buf.write("\u1908\7a\2\2\u1908\u1909\7T\2\2\u1909\u190a\7G\2\2\u190a") - buf.write("\u190b\7E\2\2\u190b\u190c\7C\2\2\u190c\u190d\7N\2\2\u190d") - buf.write("\u190e\7E\2\2\u190e\u03fa\3\2\2\2\u190f\u1910\7U\2\2\u1910") - buf.write("\u1911\7V\2\2\u1911\u1912\7C\2\2\u1912\u1913\7V\2\2\u1913") - buf.write("\u1914\7U\2\2\u1914\u1915\7a\2\2\u1915\u1916\7R\2\2\u1916") - buf.write("\u1917\7G\2\2\u1917\u1918\7T\2\2\u1918\u1919\7U\2\2\u1919") - buf.write("\u191a\7K\2\2\u191a\u191b\7U\2\2\u191b\u191c\7V\2\2\u191c") - buf.write("\u191d\7G\2\2\u191d\u191e\7P\2\2\u191e\u191f\7V\2\2\u191f") - buf.write("\u03fc\3\2\2\2\u1920\u1921\7U\2\2\u1921\u1922\7V\2\2\u1922") - buf.write("\u1923\7C\2\2\u1923\u1924\7V\2\2\u1924\u1925\7U\2\2\u1925") - buf.write("\u1926\7a\2\2\u1926\u1927\7U\2\2\u1927\u1928\7C\2\2\u1928") - buf.write("\u1929\7O\2\2\u1929\u192a\7R\2\2\u192a\u192b\7N\2\2\u192b") - buf.write("\u192c\7G\2\2\u192c\u192d\7a\2\2\u192d\u192e\7R\2\2\u192e") - buf.write("\u192f\7C\2\2\u192f\u1930\7I\2\2\u1930\u1931\7G\2\2\u1931") - buf.write("\u1932\7U\2\2\u1932\u03fe\3\2\2\2\u1933\u1934\7U\2\2\u1934") - buf.write("\u1935\7V\2\2\u1935\u1936\7C\2\2\u1936\u1937\7V\2\2\u1937") - buf.write("\u1938\7W\2\2\u1938\u1939\7U\2\2\u1939\u0400\3\2\2\2\u193a") - buf.write("\u193b\7U\2\2\u193b\u193c\7V\2\2\u193c\u193d\7Q\2\2\u193d") - buf.write("\u193e\7R\2\2\u193e\u0402\3\2\2\2\u193f\u1940\7U\2\2\u1940") - buf.write("\u1941\7V\2\2\u1941\u1942\7Q\2\2\u1942\u1943\7T\2\2\u1943") - buf.write("\u1944\7C\2\2\u1944\u1945\7I\2\2\u1945\u1946\7G\2\2\u1946") - buf.write("\u0404\3\2\2\2\u1947\u1948\7U\2\2\u1948\u1949\7V\2\2\u1949") - buf.write("\u194a\7Q\2\2\u194a\u194b\7T\2\2\u194b\u194c\7G\2\2\u194c") - buf.write("\u194d\7F\2\2\u194d\u0406\3\2\2\2\u194e\u194f\7U\2\2\u194f") - buf.write("\u1950\7V\2\2\u1950\u1951\7T\2\2\u1951\u1952\7K\2\2\u1952") - buf.write("\u1953\7P\2\2\u1953\u1954\7I\2\2\u1954\u0408\3\2\2\2\u1955") - buf.write("\u1956\7U\2\2\u1956\u1957\7W\2\2\u1957\u1958\7D\2\2\u1958") - buf.write("\u1959\7L\2\2\u1959\u195a\7G\2\2\u195a\u195b\7E\2\2\u195b") - buf.write("\u195c\7V\2\2\u195c\u040a\3\2\2\2\u195d\u195e\7U\2\2\u195e") - buf.write("\u195f\7W\2\2\u195f\u1960\7D\2\2\u1960\u1961\7R\2\2\u1961") - buf.write("\u1962\7C\2\2\u1962\u1963\7T\2\2\u1963\u1964\7V\2\2\u1964") - buf.write("\u1965\7K\2\2\u1965\u1966\7V\2\2\u1966\u1967\7K\2\2\u1967") - buf.write("\u1968\7Q\2\2\u1968\u1969\7P\2\2\u1969\u040c\3\2\2\2\u196a") - buf.write("\u196b\7U\2\2\u196b\u196c\7W\2\2\u196c\u196d\7D\2\2\u196d") - buf.write("\u196e\7R\2\2\u196e\u196f\7C\2\2\u196f\u1970\7T\2\2\u1970") - buf.write("\u1971\7V\2\2\u1971\u1972\7K\2\2\u1972\u1973\7V\2\2\u1973") - buf.write("\u1974\7K\2\2\u1974\u1975\7Q\2\2\u1975\u1976\7P\2\2\u1976") - buf.write("\u1977\7U\2\2\u1977\u040e\3\2\2\2\u1978\u1979\7U\2\2\u1979") - buf.write("\u197a\7W\2\2\u197a\u197b\7U\2\2\u197b\u197c\7R\2\2\u197c") - buf.write("\u197d\7G\2\2\u197d\u197e\7P\2\2\u197e\u197f\7F\2\2\u197f") - buf.write("\u0410\3\2\2\2\u1980\u1981\7U\2\2\u1981\u1982\7Y\2\2\u1982") - buf.write("\u1983\7C\2\2\u1983\u1984\7R\2\2\u1984\u1985\7U\2\2\u1985") - buf.write("\u0412\3\2\2\2\u1986\u1987\7U\2\2\u1987\u1988\7Y\2\2\u1988") - buf.write("\u1989\7K\2\2\u1989\u198a\7V\2\2\u198a\u198b\7E\2\2\u198b") - buf.write("\u198c\7J\2\2\u198c\u198d\7G\2\2\u198d\u198e\7U\2\2\u198e") - buf.write("\u0414\3\2\2\2\u198f\u1990\7V\2\2\u1990\u1991\7C\2\2\u1991") - buf.write("\u1992\7D\2\2\u1992\u1993\7N\2\2\u1993\u1994\7G\2\2\u1994") - buf.write("\u1995\7U\2\2\u1995\u1996\7R\2\2\u1996\u1997\7C\2\2\u1997") - buf.write("\u1998\7E\2\2\u1998\u1999\7G\2\2\u1999\u0416\3\2\2\2\u199a") - buf.write("\u199b\7V\2\2\u199b\u199c\7G\2\2\u199c\u199d\7O\2\2\u199d") - buf.write("\u199e\7R\2\2\u199e\u199f\7Q\2\2\u199f\u19a0\7T\2\2\u19a0") - buf.write("\u19a1\7C\2\2\u19a1\u19a2\7T\2\2\u19a2\u19a3\7[\2\2\u19a3") - buf.write("\u0418\3\2\2\2\u19a4\u19a5\7V\2\2\u19a5\u19a6\7G\2\2\u19a6") - buf.write("\u19a7\7O\2\2\u19a7\u19a8\7R\2\2\u19a8\u19a9\7V\2\2\u19a9") - buf.write("\u19aa\7C\2\2\u19aa\u19ab\7D\2\2\u19ab\u19ac\7N\2\2\u19ac") - buf.write("\u19ad\7G\2\2\u19ad\u041a\3\2\2\2\u19ae\u19af\7V\2\2\u19af") - buf.write("\u19b0\7J\2\2\u19b0\u19b1\7C\2\2\u19b1\u19b2\7P\2\2\u19b2") - buf.write("\u041c\3\2\2\2\u19b3\u19b4\7V\2\2\u19b4\u19b5\7T\2\2\u19b5") - buf.write("\u19b6\7C\2\2\u19b6\u19b7\7F\2\2\u19b7\u19b8\7K\2\2\u19b8") - buf.write("\u19b9\7V\2\2\u19b9\u19ba\7K\2\2\u19ba\u19bb\7Q\2\2\u19bb") - buf.write("\u19bc\7P\2\2\u19bc\u19bd\7C\2\2\u19bd\u19be\7N\2\2\u19be") - buf.write("\u041e\3\2\2\2\u19bf\u19c0\7V\2\2\u19c0\u19c1\7T\2\2\u19c1") - buf.write("\u19c2\7C\2\2\u19c2\u19c3\7P\2\2\u19c3\u19c4\7U\2\2\u19c4") - buf.write("\u19c5\7C\2\2\u19c5\u19c6\7E\2\2\u19c6\u19c7\7V\2\2\u19c7") - buf.write("\u19c8\7K\2\2\u19c8\u19c9\7Q\2\2\u19c9\u19ca\7P\2\2\u19ca") - buf.write("\u0420\3\2\2\2\u19cb\u19cc\7V\2\2\u19cc\u19cd\7T\2\2\u19cd") - buf.write("\u19ce\7K\2\2\u19ce\u19cf\7I\2\2\u19cf\u19d0\7I\2\2\u19d0") - buf.write("\u19d1\7G\2\2\u19d1\u19d2\7T\2\2\u19d2\u19d3\7U\2\2\u19d3") - buf.write("\u0422\3\2\2\2\u19d4\u19d5\7V\2\2\u19d5\u19d6\7T\2\2\u19d6") - buf.write("\u19d7\7W\2\2\u19d7\u19d8\7P\2\2\u19d8\u19d9\7E\2\2\u19d9") - buf.write("\u19da\7C\2\2\u19da\u19db\7V\2\2\u19db\u19dc\7G\2\2\u19dc") - buf.write("\u0424\3\2\2\2\u19dd\u19de\7W\2\2\u19de\u19df\7P\2\2\u19df") - buf.write("\u19e0\7F\2\2\u19e0\u19e1\7G\2\2\u19e1\u19e2\7H\2\2\u19e2") - buf.write("\u19e3\7K\2\2\u19e3\u19e4\7P\2\2\u19e4\u19e5\7G\2\2\u19e5") - buf.write("\u19e6\7F\2\2\u19e6\u0426\3\2\2\2\u19e7\u19e8\7W\2\2\u19e8") - buf.write("\u19e9\7P\2\2\u19e9\u19ea\7F\2\2\u19ea\u19eb\7Q\2\2\u19eb") - buf.write("\u19ec\7H\2\2\u19ec\u19ed\7K\2\2\u19ed\u19ee\7N\2\2\u19ee") - buf.write("\u19ef\7G\2\2\u19ef\u0428\3\2\2\2\u19f0\u19f1\7W\2\2\u19f1") - buf.write("\u19f2\7P\2\2\u19f2\u19f3\7F\2\2\u19f3\u19f4\7Q\2\2\u19f4") - buf.write("\u19f5\7a\2\2\u19f5\u19f6\7D\2\2\u19f6\u19f7\7W\2\2\u19f7") - buf.write("\u19f8\7H\2\2\u19f8\u19f9\7H\2\2\u19f9\u19fa\7G\2\2\u19fa") - buf.write("\u19fb\7T\2\2\u19fb\u19fc\7a\2\2\u19fc\u19fd\7U\2\2\u19fd") - buf.write("\u19fe\7K\2\2\u19fe\u19ff\7\\\2\2\u19ff\u1a00\7G\2\2\u1a00") - buf.write("\u042a\3\2\2\2\u1a01\u1a02\7W\2\2\u1a02\u1a03\7P\2\2\u1a03") - buf.write("\u1a04\7K\2\2\u1a04\u1a05\7P\2\2\u1a05\u1a06\7U\2\2\u1a06") - buf.write("\u1a07\7V\2\2\u1a07\u1a08\7C\2\2\u1a08\u1a09\7N\2\2\u1a09") - buf.write("\u1a0a\7N\2\2\u1a0a\u042c\3\2\2\2\u1a0b\u1a0c\7W\2\2\u1a0c") - buf.write("\u1a0d\7P\2\2\u1a0d\u1a0e\7M\2\2\u1a0e\u1a0f\7P\2\2\u1a0f") - buf.write("\u1a10\7Q\2\2\u1a10\u1a11\7Y\2\2\u1a11\u1a12\7P\2\2\u1a12") - buf.write("\u042e\3\2\2\2\u1a13\u1a14\7W\2\2\u1a14\u1a15\7P\2\2\u1a15") - buf.write("\u1a16\7V\2\2\u1a16\u1a17\7K\2\2\u1a17\u1a18\7N\2\2\u1a18") - buf.write("\u0430\3\2\2\2\u1a19\u1a1a\7W\2\2\u1a1a\u1a1b\7R\2\2\u1a1b") - buf.write("\u1a1c\7I\2\2\u1a1c\u1a1d\7T\2\2\u1a1d\u1a1e\7C\2\2\u1a1e") - buf.write("\u1a1f\7F\2\2\u1a1f\u1a20\7G\2\2\u1a20\u0432\3\2\2\2\u1a21") - buf.write("\u1a22\7W\2\2\u1a22\u1a23\7U\2\2\u1a23\u1a24\7G\2\2\u1a24") - buf.write("\u1a25\7T\2\2\u1a25\u0434\3\2\2\2\u1a26\u1a27\7W\2\2\u1a27") - buf.write("\u1a28\7U\2\2\u1a28\u1a29\7G\2\2\u1a29\u1a2a\7a\2\2\u1a2a") - buf.write("\u1a2b\7H\2\2\u1a2b\u1a2c\7T\2\2\u1a2c\u1a2d\7O\2\2\u1a2d") - buf.write("\u0436\3\2\2\2\u1a2e\u1a2f\7W\2\2\u1a2f\u1a30\7U\2\2\u1a30") - buf.write("\u1a31\7G\2\2\u1a31\u1a32\7T\2\2\u1a32\u1a33\7a\2\2\u1a33") - buf.write("\u1a34\7T\2\2\u1a34\u1a35\7G\2\2\u1a35\u1a36\7U\2\2\u1a36") - buf.write("\u1a37\7Q\2\2\u1a37\u1a38\7W\2\2\u1a38\u1a39\7T\2\2\u1a39") - buf.write("\u1a3a\7E\2\2\u1a3a\u1a3b\7G\2\2\u1a3b\u1a3c\7U\2\2\u1a3c") - buf.write("\u0438\3\2\2\2\u1a3d\u1a3e\7X\2\2\u1a3e\u1a3f\7C\2\2\u1a3f") - buf.write("\u1a40\7N\2\2\u1a40\u1a41\7K\2\2\u1a41\u1a42\7F\2\2\u1a42") - buf.write("\u1a43\7C\2\2\u1a43\u1a44\7V\2\2\u1a44\u1a45\7K\2\2\u1a45") - buf.write("\u1a46\7Q\2\2\u1a46\u1a47\7P\2\2\u1a47\u043a\3\2\2\2\u1a48") - buf.write("\u1a49\7X\2\2\u1a49\u1a4a\7C\2\2\u1a4a\u1a4b\7N\2\2\u1a4b") - buf.write("\u1a4c\7W\2\2\u1a4c\u1a4d\7G\2\2\u1a4d\u043c\3\2\2\2\u1a4e") - buf.write("\u1a4f\7X\2\2\u1a4f\u1a50\7C\2\2\u1a50\u1a51\7T\2\2\u1a51") - buf.write("\u1a52\7K\2\2\u1a52\u1a53\7C\2\2\u1a53\u1a54\7D\2\2\u1a54") - buf.write("\u1a55\7N\2\2\u1a55\u1a56\7G\2\2\u1a56\u1a57\7U\2\2\u1a57") - buf.write("\u043e\3\2\2\2\u1a58\u1a59\7X\2\2\u1a59\u1a5a\7K\2\2\u1a5a") - buf.write("\u1a5b\7G\2\2\u1a5b\u1a5c\7Y\2\2\u1a5c\u0440\3\2\2\2\u1a5d") - buf.write("\u1a5e\7X\2\2\u1a5e\u1a5f\7K\2\2\u1a5f\u1a60\7T\2\2\u1a60") - buf.write("\u1a61\7V\2\2\u1a61\u1a62\7W\2\2\u1a62\u1a63\7C\2\2\u1a63") - buf.write("\u1a64\7N\2\2\u1a64\u0442\3\2\2\2\u1a65\u1a66\7Y\2\2\u1a66") - buf.write("\u1a67\7C\2\2\u1a67\u1a68\7K\2\2\u1a68\u1a69\7V\2\2\u1a69") - buf.write("\u0444\3\2\2\2\u1a6a\u1a6b\7Y\2\2\u1a6b\u1a6c\7C\2\2\u1a6c") - buf.write("\u1a6d\7T\2\2\u1a6d\u1a6e\7P\2\2\u1a6e\u1a6f\7K\2\2\u1a6f") - buf.write("\u1a70\7P\2\2\u1a70\u1a71\7I\2\2\u1a71\u1a72\7U\2\2\u1a72") - buf.write("\u0446\3\2\2\2\u1a73\u1a74\7Y\2\2\u1a74\u1a75\7K\2\2\u1a75") - buf.write("\u1a76\7V\2\2\u1a76\u1a77\7J\2\2\u1a77\u1a78\7Q\2\2\u1a78") - buf.write("\u1a79\7W\2\2\u1a79\u1a7a\7V\2\2\u1a7a\u0448\3\2\2\2\u1a7b") - buf.write("\u1a7c\7Y\2\2\u1a7c\u1a7d\7Q\2\2\u1a7d\u1a7e\7T\2\2\u1a7e") - buf.write("\u1a7f\7M\2\2\u1a7f\u044a\3\2\2\2\u1a80\u1a81\7Y\2\2\u1a81") - buf.write("\u1a82\7T\2\2\u1a82\u1a83\7C\2\2\u1a83\u1a84\7R\2\2\u1a84") - buf.write("\u1a85\7R\2\2\u1a85\u1a86\7G\2\2\u1a86\u1a87\7T\2\2\u1a87") - buf.write("\u044c\3\2\2\2\u1a88\u1a89\7Z\2\2\u1a89\u1a8a\7\67\2\2") - buf.write("\u1a8a\u1a8b\7\62\2\2\u1a8b\u1a8c\7;\2\2\u1a8c\u044e\3") - buf.write("\2\2\2\u1a8d\u1a8e\7Z\2\2\u1a8e\u1a8f\7C\2\2\u1a8f\u0450") - buf.write("\3\2\2\2\u1a90\u1a91\7Z\2\2\u1a91\u1a92\7O\2\2\u1a92\u1a93") - buf.write("\7N\2\2\u1a93\u0452\3\2\2\2\u1a94\u1a95\7G\2\2\u1a95\u1a96") - buf.write("\7W\2\2\u1a96\u1a97\7T\2\2\u1a97\u0454\3\2\2\2\u1a98\u1a99") - buf.write("\7W\2\2\u1a99\u1a9a\7U\2\2\u1a9a\u1a9b\7C\2\2\u1a9b\u0456") - buf.write("\3\2\2\2\u1a9c\u1a9d\7L\2\2\u1a9d\u1a9e\7K\2\2\u1a9e\u1a9f") - buf.write("\7U\2\2\u1a9f\u0458\3\2\2\2\u1aa0\u1aa1\7K\2\2\u1aa1\u1aa2") - buf.write("\7U\2\2\u1aa2\u1aa3\7Q\2\2\u1aa3\u045a\3\2\2\2\u1aa4\u1aa5") - buf.write("\7K\2\2\u1aa5\u1aa6\7P\2\2\u1aa6\u1aa7\7V\2\2\u1aa7\u1aa8") - buf.write("\7G\2\2\u1aa8\u1aa9\7T\2\2\u1aa9\u1aaa\7P\2\2\u1aaa\u1aab") - buf.write("\7C\2\2\u1aab\u1aac\7N\2\2\u1aac\u045c\3\2\2\2\u1aad\u1aae") - buf.write("\7S\2\2\u1aae\u1aaf\7W\2\2\u1aaf\u1ab0\7C\2\2\u1ab0\u1ab1") - buf.write("\7T\2\2\u1ab1\u1ab2\7V\2\2\u1ab2\u1ab3\7G\2\2\u1ab3\u1ab4") - buf.write("\7T\2\2\u1ab4\u045e\3\2\2\2\u1ab5\u1ab6\7O\2\2\u1ab6\u1ab7") - buf.write("\7Q\2\2\u1ab7\u1ab8\7P\2\2\u1ab8\u1ab9\7V\2\2\u1ab9\u1aba") - buf.write("\7J\2\2\u1aba\u0460\3\2\2\2\u1abb\u1abc\7F\2\2\u1abc\u1abd") - buf.write("\7C\2\2\u1abd\u1abe\7[\2\2\u1abe\u0462\3\2\2\2\u1abf\u1ac0") - buf.write("\7J\2\2\u1ac0\u1ac1\7Q\2\2\u1ac1\u1ac2\7W\2\2\u1ac2\u1ac3") - buf.write("\7T\2\2\u1ac3\u0464\3\2\2\2\u1ac4\u1ac5\7O\2\2\u1ac5\u1ac6") - buf.write("\7K\2\2\u1ac6\u1ac7\7P\2\2\u1ac7\u1ac8\7W\2\2\u1ac8\u1ac9") - buf.write("\7V\2\2\u1ac9\u1aca\7G\2\2\u1aca\u0466\3\2\2\2\u1acb\u1acc") - buf.write("\7Y\2\2\u1acc\u1acd\7G\2\2\u1acd\u1ace\7G\2\2\u1ace\u1acf") - buf.write("\7M\2\2\u1acf\u0468\3\2\2\2\u1ad0\u1ad1\7U\2\2\u1ad1\u1ad2") - buf.write("\7G\2\2\u1ad2\u1ad3\7E\2\2\u1ad3\u1ad4\7Q\2\2\u1ad4\u1ad5") - buf.write("\7P\2\2\u1ad5\u1ad6\7F\2\2\u1ad6\u046a\3\2\2\2\u1ad7\u1ad8") - buf.write("\7O\2\2\u1ad8\u1ad9\7K\2\2\u1ad9\u1ada\7E\2\2\u1ada\u1adb") - buf.write("\7T\2\2\u1adb\u1adc\7Q\2\2\u1adc\u1add\7U\2\2\u1add\u1ade") - buf.write("\7G\2\2\u1ade\u1adf\7E\2\2\u1adf\u1ae0\7Q\2\2\u1ae0\u1ae1") - buf.write("\7P\2\2\u1ae1\u1ae2\7F\2\2\u1ae2\u046c\3\2\2\2\u1ae3\u1ae4") - buf.write("\7V\2\2\u1ae4\u1ae5\7C\2\2\u1ae5\u1ae6\7D\2\2\u1ae6\u1ae7") - buf.write("\7N\2\2\u1ae7\u1ae8\7G\2\2\u1ae8\u1ae9\7U\2\2\u1ae9\u046e") - buf.write("\3\2\2\2\u1aea\u1aeb\7T\2\2\u1aeb\u1aec\7Q\2\2\u1aec\u1aed") - buf.write("\7W\2\2\u1aed\u1aee\7V\2\2\u1aee\u1aef\7K\2\2\u1aef\u1af0") - buf.write("\7P\2\2\u1af0\u1af1\7G\2\2\u1af1\u0470\3\2\2\2\u1af2\u1af3") - buf.write("\7G\2\2\u1af3\u1af4\7Z\2\2\u1af4\u1af5\7G\2\2\u1af5\u1af6") - buf.write("\7E\2\2\u1af6\u1af7\7W\2\2\u1af7\u1af8\7V\2\2\u1af8\u1af9") - buf.write("\7G\2\2\u1af9\u0472\3\2\2\2\u1afa\u1afb\7H\2\2\u1afb\u1afc") - buf.write("\7K\2\2\u1afc\u1afd\7N\2\2\u1afd\u1afe\7G\2\2\u1afe\u0474") - buf.write("\3\2\2\2\u1aff\u1b00\7R\2\2\u1b00\u1b01\7T\2\2\u1b01\u1b02") - buf.write("\7Q\2\2\u1b02\u1b03\7E\2\2\u1b03\u1b04\7G\2\2\u1b04\u1b05") - buf.write("\7U\2\2\u1b05\u1b06\7U\2\2\u1b06\u0476\3\2\2\2\u1b07\u1b08") - buf.write("\7T\2\2\u1b08\u1b09\7G\2\2\u1b09\u1b0a\7N\2\2\u1b0a\u1b0b") - buf.write("\7Q\2\2\u1b0b\u1b0c\7C\2\2\u1b0c\u1b0d\7F\2\2\u1b0d\u0478") - buf.write("\3\2\2\2\u1b0e\u1b0f\7U\2\2\u1b0f\u1b10\7J\2\2\u1b10\u1b11") - buf.write("\7W\2\2\u1b11\u1b12\7V\2\2\u1b12\u1b13\7F\2\2\u1b13\u1b14") - buf.write("\7Q\2\2\u1b14\u1b15\7Y\2\2\u1b15\u1b16\7P\2\2\u1b16\u047a") - buf.write("\3\2\2\2\u1b17\u1b18\7U\2\2\u1b18\u1b19\7W\2\2\u1b19\u1b1a") - buf.write("\7R\2\2\u1b1a\u1b1b\7G\2\2\u1b1b\u1b1c\7T\2\2\u1b1c\u047c") - buf.write("\3\2\2\2\u1b1d\u1b1e\7R\2\2\u1b1e\u1b1f\7T\2\2\u1b1f\u1b20") - buf.write("\7K\2\2\u1b20\u1b21\7X\2\2\u1b21\u1b22\7K\2\2\u1b22\u1b23") - buf.write("\7N\2\2\u1b23\u1b24\7G\2\2\u1b24\u1b25\7I\2\2\u1b25\u1b26") - buf.write("\7G\2\2\u1b26\u1b27\7U\2\2\u1b27\u047e\3\2\2\2\u1b28\u1b29") - buf.write("\7C\2\2\u1b29\u1b2a\7T\2\2\u1b2a\u1b2b\7O\2\2\u1b2b\u1b2c") - buf.write("\7U\2\2\u1b2c\u1b2d\7E\2\2\u1b2d\u1b2e\7K\2\2\u1b2e\u1b2f") - buf.write("\7K\2\2\u1b2f\u1b30\7:\2\2\u1b30\u0480\3\2\2\2\u1b31\u1b32") - buf.write("\7C\2\2\u1b32\u1b33\7U\2\2\u1b33\u1b34\7E\2\2\u1b34\u1b35") - buf.write("\7K\2\2\u1b35\u1b36\7K\2\2\u1b36\u0482\3\2\2\2\u1b37\u1b38") - buf.write("\7D\2\2\u1b38\u1b39\7K\2\2\u1b39\u1b3a\7I\2\2\u1b3a\u1b3b") - buf.write("\7\67\2\2\u1b3b\u0484\3\2\2\2\u1b3c\u1b3d\7E\2\2\u1b3d") - buf.write("\u1b3e\7R\2\2\u1b3e\u1b3f\7\63\2\2\u1b3f\u1b40\7\64\2") - buf.write("\2\u1b40\u1b41\7\67\2\2\u1b41\u1b42\7\62\2\2\u1b42\u0486") - buf.write("\3\2\2\2\u1b43\u1b44\7E\2\2\u1b44\u1b45\7R\2\2\u1b45\u1b46") - buf.write("\7\63\2\2\u1b46\u1b47\7\64\2\2\u1b47\u1b48\7\67\2\2\u1b48") - buf.write("\u1b49\7\63\2\2\u1b49\u0488\3\2\2\2\u1b4a\u1b4b\7E\2\2") - buf.write("\u1b4b\u1b4c\7R\2\2\u1b4c\u1b4d\7\63\2\2\u1b4d\u1b4e\7") - buf.write("\64\2\2\u1b4e\u1b4f\7\67\2\2\u1b4f\u1b50\78\2\2\u1b50") - buf.write("\u048a\3\2\2\2\u1b51\u1b52\7E\2\2\u1b52\u1b53\7R\2\2\u1b53") - buf.write("\u1b54\7\63\2\2\u1b54\u1b55\7\64\2\2\u1b55\u1b56\7\67") - buf.write("\2\2\u1b56\u1b57\79\2\2\u1b57\u048c\3\2\2\2\u1b58\u1b59") - buf.write("\7E\2\2\u1b59\u1b5a\7R\2\2\u1b5a\u1b5b\7:\2\2\u1b5b\u1b5c") - buf.write("\7\67\2\2\u1b5c\u1b5d\7\62\2\2\u1b5d\u048e\3\2\2\2\u1b5e") - buf.write("\u1b5f\7E\2\2\u1b5f\u1b60\7R\2\2\u1b60\u1b61\7:\2\2\u1b61") - buf.write("\u1b62\7\67\2\2\u1b62\u1b63\7\64\2\2\u1b63\u0490\3\2\2") - buf.write("\2\u1b64\u1b65\7E\2\2\u1b65\u1b66\7R\2\2\u1b66\u1b67\7") - buf.write(":\2\2\u1b67\u1b68\78\2\2\u1b68\u1b69\78\2\2\u1b69\u0492") - buf.write("\3\2\2\2\u1b6a\u1b6b\7E\2\2\u1b6b\u1b6c\7R\2\2\u1b6c\u1b6d") - buf.write("\7;\2\2\u1b6d\u1b6e\7\65\2\2\u1b6e\u1b6f\7\64\2\2\u1b6f") - buf.write("\u0494\3\2\2\2\u1b70\u1b71\7F\2\2\u1b71\u1b72\7G\2\2\u1b72") - buf.write("\u1b73\7E\2\2\u1b73\u1b74\7:\2\2\u1b74\u0496\3\2\2\2\u1b75") - buf.write("\u1b76\7G\2\2\u1b76\u1b77\7W\2\2\u1b77\u1b78\7E\2\2\u1b78") - buf.write("\u1b79\7L\2\2\u1b79\u1b7a\7R\2\2\u1b7a\u1b7b\7O\2\2\u1b7b") - buf.write("\u1b7c\7U\2\2\u1b7c\u0498\3\2\2\2\u1b7d\u1b7e\7G\2\2\u1b7e") - buf.write("\u1b7f\7W\2\2\u1b7f\u1b80\7E\2\2\u1b80\u1b81\7M\2\2\u1b81") - buf.write("\u1b82\7T\2\2\u1b82\u049a\3\2\2\2\u1b83\u1b84\7I\2\2\u1b84") - buf.write("\u1b85\7D\2\2\u1b85\u1b86\7\64\2\2\u1b86\u1b87\7\65\2") - buf.write("\2\u1b87\u1b88\7\63\2\2\u1b88\u1b89\7\64\2\2\u1b89\u049c") - buf.write("\3\2\2\2\u1b8a\u1b8b\7I\2\2\u1b8b\u1b8c\7D\2\2\u1b8c\u1b8d") - buf.write("\7M\2\2\u1b8d\u049e\3\2\2\2\u1b8e\u1b8f\7I\2\2\u1b8f\u1b90") - buf.write("\7G\2\2\u1b90\u1b91\7Q\2\2\u1b91\u1b92\7U\2\2\u1b92\u1b93") - buf.write("\7V\2\2\u1b93\u1b94\7F\2\2\u1b94\u1b95\7:\2\2\u1b95\u04a0") - buf.write("\3\2\2\2\u1b96\u1b97\7I\2\2\u1b97\u1b98\7T\2\2\u1b98\u1b99") - buf.write("\7G\2\2\u1b99\u1b9a\7G\2\2\u1b9a\u1b9b\7M\2\2\u1b9b\u04a2") - buf.write("\3\2\2\2\u1b9c\u1b9d\7J\2\2\u1b9d\u1b9e\7G\2\2\u1b9e\u1b9f") - buf.write("\7D\2\2\u1b9f\u1ba0\7T\2\2\u1ba0\u1ba1\7G\2\2\u1ba1\u1ba2") - buf.write("\7Y\2\2\u1ba2\u04a4\3\2\2\2\u1ba3\u1ba4\7J\2\2\u1ba4\u1ba5") - buf.write("\7R\2\2\u1ba5\u1ba6\7:\2\2\u1ba6\u04a6\3\2\2\2\u1ba7\u1ba8") - buf.write("\7M\2\2\u1ba8\u1ba9\7G\2\2\u1ba9\u1baa\7[\2\2\u1baa\u1bab") - buf.write("\7D\2\2\u1bab\u1bac\7E\2\2\u1bac\u1bad\7U\2\2\u1bad\u1bae") - buf.write("\7\64\2\2\u1bae\u04a8\3\2\2\2\u1baf\u1bb0\7M\2\2\u1bb0") - buf.write("\u1bb1\7Q\2\2\u1bb1\u1bb2\7K\2\2\u1bb2\u1bb3\7:\2\2\u1bb3") - buf.write("\u1bb4\7T\2\2\u1bb4\u04aa\3\2\2\2\u1bb5\u1bb6\7M\2\2\u1bb6") - buf.write("\u1bb7\7Q\2\2\u1bb7\u1bb8\7K\2\2\u1bb8\u1bb9\7:\2\2\u1bb9") - buf.write("\u1bba\7W\2\2\u1bba\u04ac\3\2\2\2\u1bbb\u1bbc\7N\2\2\u1bbc") - buf.write("\u1bbd\7C\2\2\u1bbd\u1bbe\7V\2\2\u1bbe\u1bbf\7K\2\2\u1bbf") - buf.write("\u1bc0\7P\2\2\u1bc0\u1bc1\7\63\2\2\u1bc1\u04ae\3\2\2\2") - buf.write("\u1bc2\u1bc3\7N\2\2\u1bc3\u1bc4\7C\2\2\u1bc4\u1bc5\7V") - buf.write("\2\2\u1bc5\u1bc6\7K\2\2\u1bc6\u1bc7\7P\2\2\u1bc7\u1bc8") - buf.write("\7\64\2\2\u1bc8\u04b0\3\2\2\2\u1bc9\u1bca\7N\2\2\u1bca") - buf.write("\u1bcb\7C\2\2\u1bcb\u1bcc\7V\2\2\u1bcc\u1bcd\7K\2\2\u1bcd") - buf.write("\u1bce\7P\2\2\u1bce\u1bcf\7\67\2\2\u1bcf\u04b2\3\2\2\2") - buf.write("\u1bd0\u1bd1\7N\2\2\u1bd1\u1bd2\7C\2\2\u1bd2\u1bd3\7V") - buf.write("\2\2\u1bd3\u1bd4\7K\2\2\u1bd4\u1bd5\7P\2\2\u1bd5\u1bd6") - buf.write("\79\2\2\u1bd6\u04b4\3\2\2\2\u1bd7\u1bd8\7O\2\2\u1bd8\u1bd9") - buf.write("\7C\2\2\u1bd9\u1bda\7E\2\2\u1bda\u1bdb\7E\2\2\u1bdb\u1bdc") - buf.write("\7G\2\2\u1bdc\u04b6\3\2\2\2\u1bdd\u1bde\7O\2\2\u1bde\u1bdf") - buf.write("\7C\2\2\u1bdf\u1be0\7E\2\2\u1be0\u1be1\7T\2\2\u1be1\u1be2") - buf.write("\7Q\2\2\u1be2\u1be3\7O\2\2\u1be3\u1be4\7C\2\2\u1be4\u1be5") - buf.write("\7P\2\2\u1be5\u04b8\3\2\2\2\u1be6\u1be7\7U\2\2\u1be7\u1be8") - buf.write("\7L\2\2\u1be8\u1be9\7K\2\2\u1be9\u1bea\7U\2\2\u1bea\u04ba") - buf.write("\3\2\2\2\u1beb\u1bec\7U\2\2\u1bec\u1bed\7Y\2\2\u1bed\u1bee") - buf.write("\7G\2\2\u1bee\u1bef\79\2\2\u1bef\u04bc\3\2\2\2\u1bf0\u1bf1") - buf.write("\7V\2\2\u1bf1\u1bf2\7K\2\2\u1bf2\u1bf3\7U\2\2\u1bf3\u1bf4") - buf.write("\78\2\2\u1bf4\u1bf5\7\64\2\2\u1bf5\u1bf6\7\62\2\2\u1bf6") - buf.write("\u04be\3\2\2\2\u1bf7\u1bf8\7W\2\2\u1bf8\u1bf9\7E\2\2\u1bf9") - buf.write("\u1bfa\7U\2\2\u1bfa\u1bfb\7\64\2\2\u1bfb\u04c0\3\2\2\2") - buf.write("\u1bfc\u1bfd\7W\2\2\u1bfd\u1bfe\7L\2\2\u1bfe\u1bff\7K") - buf.write("\2\2\u1bff\u1c00\7U\2\2\u1c00\u04c2\3\2\2\2\u1c01\u1c02") - buf.write("\7W\2\2\u1c02\u1c03\7V\2\2\u1c03\u1c04\7H\2\2\u1c04\u1c05") - buf.write("\7\63\2\2\u1c05\u1c06\78\2\2\u1c06\u04c4\3\2\2\2\u1c07") - buf.write("\u1c08\7W\2\2\u1c08\u1c09\7V\2\2\u1c09\u1c0a\7H\2\2\u1c0a") - buf.write("\u1c0b\7\63\2\2\u1c0b\u1c0c\78\2\2\u1c0c\u1c0d\7N\2\2") - buf.write("\u1c0d\u1c0e\7G\2\2\u1c0e\u04c6\3\2\2\2\u1c0f\u1c10\7") - buf.write("W\2\2\u1c10\u1c11\7V\2\2\u1c11\u1c12\7H\2\2\u1c12\u1c13") - buf.write("\7\65\2\2\u1c13\u1c14\7\64\2\2\u1c14\u04c8\3\2\2\2\u1c15") - buf.write("\u1c16\7W\2\2\u1c16\u1c17\7V\2\2\u1c17\u1c18\7H\2\2\u1c18") - buf.write("\u1c19\7:\2\2\u1c19\u04ca\3\2\2\2\u1c1a\u1c1b\7W\2\2\u1c1b") - buf.write("\u1c1c\7V\2\2\u1c1c\u1c1d\7H\2\2\u1c1d\u1c1e\7:\2\2\u1c1e") - buf.write("\u1c1f\7O\2\2\u1c1f\u1c20\7D\2\2\u1c20\u1c21\7\65\2\2") - buf.write("\u1c21\u04cc\3\2\2\2\u1c22\u1c23\7W\2\2\u1c23\u1c24\7") - buf.write("V\2\2\u1c24\u1c25\7H\2\2\u1c25\u1c26\7:\2\2\u1c26\u1c27") - buf.write("\7O\2\2\u1c27\u1c28\7D\2\2\u1c28\u1c29\7\66\2\2\u1c29") - buf.write("\u04ce\3\2\2\2\u1c2a\u1c2b\7C\2\2\u1c2b\u1c2c\7T\2\2\u1c2c") - buf.write("\u1c2d\7E\2\2\u1c2d\u1c2e\7J\2\2\u1c2e\u1c2f\7K\2\2\u1c2f") - buf.write("\u1c30\7X\2\2\u1c30\u1c31\7G\2\2\u1c31\u04d0\3\2\2\2\u1c32") - buf.write("\u1c33\7D\2\2\u1c33\u1c34\7N\2\2\u1c34\u1c35\7C\2\2\u1c35") - buf.write("\u1c36\7E\2\2\u1c36\u1c37\7M\2\2\u1c37\u1c38\7J\2\2\u1c38") - buf.write("\u1c39\7Q\2\2\u1c39\u1c3a\7N\2\2\u1c3a\u1c3b\7G\2\2\u1c3b") - buf.write("\u04d2\3\2\2\2\u1c3c\u1c3d\7E\2\2\u1c3d\u1c3e\7U\2\2\u1c3e") - buf.write("\u1c3f\7X\2\2\u1c3f\u04d4\3\2\2\2\u1c40\u1c41\7H\2\2\u1c41") - buf.write("\u1c42\7G\2\2\u1c42\u1c43\7F\2\2\u1c43\u1c44\7G\2\2\u1c44") - buf.write("\u1c45\7T\2\2\u1c45\u1c46\7C\2\2\u1c46\u1c47\7V\2\2\u1c47") - buf.write("\u1c48\7G\2\2\u1c48\u1c49\7F\2\2\u1c49\u04d6\3\2\2\2\u1c4a") - buf.write("\u1c4b\7K\2\2\u1c4b\u1c4c\7P\2\2\u1c4c\u1c4d\7P\2\2\u1c4d") - buf.write("\u1c4e\7Q\2\2\u1c4e\u1c4f\7F\2\2\u1c4f\u1c50\7D\2\2\u1c50") - buf.write("\u04d8\3\2\2\2\u1c51\u1c52\7O\2\2\u1c52\u1c53\7G\2\2\u1c53") - buf.write("\u1c54\7O\2\2\u1c54\u1c55\7Q\2\2\u1c55\u1c56\7T\2\2\u1c56") - buf.write("\u1c57\7[\2\2\u1c57\u04da\3\2\2\2\u1c58\u1c59\7O\2\2\u1c59") - buf.write("\u1c5a\7T\2\2\u1c5a\u1c5b\7I\2\2\u1c5b\u1c5c\7a\2\2\u1c5c") - buf.write("\u1c5d\7O\2\2\u1c5d\u1c5e\7[\2\2\u1c5e\u1c5f\7K\2\2\u1c5f") - buf.write("\u1c60\7U\2\2\u1c60\u1c61\7C\2\2\u1c61\u1c62\7O\2\2\u1c62") - buf.write("\u04dc\3\2\2\2\u1c63\u1c64\7O\2\2\u1c64\u1c65\7[\2\2\u1c65") - buf.write("\u1c66\7K\2\2\u1c66\u1c67\7U\2\2\u1c67\u1c68\7C\2\2\u1c68") - buf.write("\u1c69\7O\2\2\u1c69\u04de\3\2\2\2\u1c6a\u1c6b\7P\2\2\u1c6b") - buf.write("\u1c6c\7F\2\2\u1c6c\u1c6d\7D\2\2\u1c6d\u04e0\3\2\2\2\u1c6e") - buf.write("\u1c6f\7P\2\2\u1c6f\u1c70\7F\2\2\u1c70\u1c71\7D\2\2\u1c71") - buf.write("\u1c72\7E\2\2\u1c72\u1c73\7N\2\2\u1c73\u1c74\7W\2\2\u1c74") - buf.write("\u1c75\7U\2\2\u1c75\u1c76\7V\2\2\u1c76\u1c77\7G\2\2\u1c77") - buf.write("\u1c78\7T\2\2\u1c78\u04e2\3\2\2\2\u1c79\u1c7a\7R\2\2\u1c7a") - buf.write("\u1c7b\7G\2\2\u1c7b\u1c7c\7T\2\2\u1c7c\u1c7d\7H\2\2\u1c7d") - buf.write("\u1c7e\7Q\2\2\u1c7e\u1c7f\7O\2\2\u1c7f\u1c80\7C\2\2\u1c80") - buf.write("\u1c81\7P\2\2\u1c81\u1c82\7E\2\2\u1c82\u1c83\7G\2\2\u1c83") - buf.write("\u1c84\7a\2\2\u1c84\u1c85\7U\2\2\u1c85\u1c86\7E\2\2\u1c86") - buf.write("\u1c87\7J\2\2\u1c87\u1c88\7G\2\2\u1c88\u1c89\7O\2\2\u1c89") - buf.write("\u1c8a\7C\2\2\u1c8a\u04e4\3\2\2\2\u1c8b\u1c8c\7T\2\2\u1c8c") - buf.write("\u1c8d\7G\2\2\u1c8d\u1c8e\7R\2\2\u1c8e\u1c8f\7G\2\2\u1c8f") - buf.write("\u1c90\7C\2\2\u1c90\u1c91\7V\2\2\u1c91\u1c92\7C\2\2\u1c92") - buf.write("\u1c93\7D\2\2\u1c93\u1c94\7N\2\2\u1c94\u1c95\7G\2\2\u1c95") - buf.write("\u04e6\3\2\2\2\u1c96\u1c97\7E\2\2\u1c97\u1c98\7Q\2\2\u1c98") - buf.write("\u1c99\7O\2\2\u1c99\u1c9a\7O\2\2\u1c9a\u1c9b\7K\2\2\u1c9b") - buf.write("\u1c9c\7V\2\2\u1c9c\u1c9d\7V\2\2\u1c9d\u1c9e\7G\2\2\u1c9e") - buf.write("\u1c9f\7F\2\2\u1c9f\u04e8\3\2\2\2\u1ca0\u1ca1\7W\2\2\u1ca1") - buf.write("\u1ca2\7P\2\2\u1ca2\u1ca3\7E\2\2\u1ca3\u1ca4\7Q\2\2\u1ca4") - buf.write("\u1ca5\7O\2\2\u1ca5\u1ca6\7O\2\2\u1ca6\u1ca7\7K\2\2\u1ca7") - buf.write("\u1ca8\7V\2\2\u1ca8\u1ca9\7V\2\2\u1ca9\u1caa\7G\2\2\u1caa") - buf.write("\u1cab\7F\2\2\u1cab\u04ea\3\2\2\2\u1cac\u1cad\7U\2\2\u1cad") - buf.write("\u1cae\7G\2\2\u1cae\u1caf\7T\2\2\u1caf\u1cb0\7K\2\2\u1cb0") - buf.write("\u1cb1\7C\2\2\u1cb1\u1cb2\7N\2\2\u1cb2\u1cb3\7K\2\2\u1cb3") - buf.write("\u1cb4\7\\\2\2\u1cb4\u1cb5\7C\2\2\u1cb5\u1cb6\7D\2\2\u1cb6") - buf.write("\u1cb7\7N\2\2\u1cb7\u1cb8\7G\2\2\u1cb8\u04ec\3\2\2\2\u1cb9") - buf.write("\u1cba\7I\2\2\u1cba\u1cbb\7G\2\2\u1cbb\u1cbc\7Q\2\2\u1cbc") - buf.write("\u1cbd\7O\2\2\u1cbd\u1cbe\7G\2\2\u1cbe\u1cbf\7V\2\2\u1cbf") - buf.write("\u1cc0\7T\2\2\u1cc0\u1cc1\7[\2\2\u1cc1\u1cc2\7E\2\2\u1cc2") - buf.write("\u1cc3\7Q\2\2\u1cc3\u1cc4\7N\2\2\u1cc4\u1cc5\7N\2\2\u1cc5") - buf.write("\u1cc6\7G\2\2\u1cc6\u1cc7\7E\2\2\u1cc7\u1cc8\7V\2\2\u1cc8") - buf.write("\u1cc9\7K\2\2\u1cc9\u1cca\7Q\2\2\u1cca\u1ccb\7P\2\2\u1ccb") - buf.write("\u04ee\3\2\2\2\u1ccc\u1ccd\7N\2\2\u1ccd\u1cce\7K\2\2\u1cce") - buf.write("\u1ccf\7P\2\2\u1ccf\u1cd0\7G\2\2\u1cd0\u1cd1\7U\2\2\u1cd1") - buf.write("\u1cd2\7V\2\2\u1cd2\u1cd3\7T\2\2\u1cd3\u1cd4\7K\2\2\u1cd4") - buf.write("\u1cd5\7P\2\2\u1cd5\u1cd6\7I\2\2\u1cd6\u04f0\3\2\2\2\u1cd7") - buf.write("\u1cd8\7O\2\2\u1cd8\u1cd9\7W\2\2\u1cd9\u1cda\7N\2\2\u1cda") - buf.write("\u1cdb\7V\2\2\u1cdb\u1cdc\7K\2\2\u1cdc\u1cdd\7N\2\2\u1cdd") - buf.write("\u1cde\7K\2\2\u1cde\u1cdf\7P\2\2\u1cdf\u1ce0\7G\2\2\u1ce0") - buf.write("\u1ce1\7U\2\2\u1ce1\u1ce2\7V\2\2\u1ce2\u1ce3\7T\2\2\u1ce3") - buf.write("\u1ce4\7K\2\2\u1ce4\u1ce5\7P\2\2\u1ce5\u1ce6\7I\2\2\u1ce6") - buf.write("\u04f2\3\2\2\2\u1ce7\u1ce8\7O\2\2\u1ce8\u1ce9\7W\2\2\u1ce9") - buf.write("\u1cea\7N\2\2\u1cea\u1ceb\7V\2\2\u1ceb\u1cec\7K\2\2\u1cec") - buf.write("\u1ced\7R\2\2\u1ced\u1cee\7Q\2\2\u1cee\u1cef\7K\2\2\u1cef") - buf.write("\u1cf0\7P\2\2\u1cf0\u1cf1\7V\2\2\u1cf1\u04f4\3\2\2\2\u1cf2") - buf.write("\u1cf3\7O\2\2\u1cf3\u1cf4\7W\2\2\u1cf4\u1cf5\7N\2\2\u1cf5") - buf.write("\u1cf6\7V\2\2\u1cf6\u1cf7\7K\2\2\u1cf7\u1cf8\7R\2\2\u1cf8") - buf.write("\u1cf9\7Q\2\2\u1cf9\u1cfa\7N\2\2\u1cfa\u1cfb\7[\2\2\u1cfb") - buf.write("\u1cfc\7I\2\2\u1cfc\u1cfd\7Q\2\2\u1cfd\u1cfe\7P\2\2\u1cfe") - buf.write("\u04f6\3\2\2\2\u1cff\u1d00\7R\2\2\u1d00\u1d01\7Q\2\2\u1d01") - buf.write("\u1d02\7K\2\2\u1d02\u1d03\7P\2\2\u1d03\u1d04\7V\2\2\u1d04") - buf.write("\u04f8\3\2\2\2\u1d05\u1d06\7R\2\2\u1d06\u1d07\7Q\2\2\u1d07") - buf.write("\u1d08\7N\2\2\u1d08\u1d09\7[\2\2\u1d09\u1d0a\7I\2\2\u1d0a") - buf.write("\u1d0b\7Q\2\2\u1d0b\u1d0c\7P\2\2\u1d0c\u04fa\3\2\2\2\u1d0d") - buf.write("\u1d0e\7C\2\2\u1d0e\u1d0f\7D\2\2\u1d0f\u1d10\7U\2\2\u1d10") - buf.write("\u04fc\3\2\2\2\u1d11\u1d12\7C\2\2\u1d12\u1d13\7E\2\2\u1d13") - buf.write("\u1d14\7Q\2\2\u1d14\u1d15\7U\2\2\u1d15\u04fe\3\2\2\2\u1d16") - buf.write("\u1d17\7C\2\2\u1d17\u1d18\7F\2\2\u1d18\u1d19\7F\2\2\u1d19") - buf.write("\u1d1a\7F\2\2\u1d1a\u1d1b\7C\2\2\u1d1b\u1d1c\7V\2\2\u1d1c") - buf.write("\u1d1d\7G\2\2\u1d1d\u0500\3\2\2\2\u1d1e\u1d1f\7C\2\2\u1d1f") - buf.write("\u1d20\7F\2\2\u1d20\u1d21\7F\2\2\u1d21\u1d22\7V\2\2\u1d22") - buf.write("\u1d23\7K\2\2\u1d23\u1d24\7O\2\2\u1d24\u1d25\7G\2\2\u1d25") - buf.write("\u0502\3\2\2\2\u1d26\u1d27\7C\2\2\u1d27\u1d28\7G\2\2\u1d28") - buf.write("\u1d29\7U\2\2\u1d29\u1d2a\7a\2\2\u1d2a\u1d2b\7F\2\2\u1d2b") - buf.write("\u1d2c\7G\2\2\u1d2c\u1d2d\7E\2\2\u1d2d\u1d2e\7T\2\2\u1d2e") - buf.write("\u1d2f\7[\2\2\u1d2f\u1d30\7R\2\2\u1d30\u1d31\7V\2\2\u1d31") - buf.write("\u0504\3\2\2\2\u1d32\u1d33\7C\2\2\u1d33\u1d34\7G\2\2\u1d34") - buf.write("\u1d35\7U\2\2\u1d35\u1d36\7a\2\2\u1d36\u1d37\7G\2\2\u1d37") - buf.write("\u1d38\7P\2\2\u1d38\u1d39\7E\2\2\u1d39\u1d3a\7T\2\2\u1d3a") - buf.write("\u1d3b\7[\2\2\u1d3b\u1d3c\7R\2\2\u1d3c\u1d3d\7V\2\2\u1d3d") - buf.write("\u0506\3\2\2\2\u1d3e\u1d3f\7C\2\2\u1d3f\u1d40\7T\2\2\u1d40") - buf.write("\u1d41\7G\2\2\u1d41\u1d42\7C\2\2\u1d42\u0508\3\2\2\2\u1d43") - buf.write("\u1d44\7C\2\2\u1d44\u1d45\7U\2\2\u1d45\u1d46\7D\2\2\u1d46") - buf.write("\u1d47\7K\2\2\u1d47\u1d48\7P\2\2\u1d48\u1d49\7C\2\2\u1d49") - buf.write("\u1d4a\7T\2\2\u1d4a\u1d4b\7[\2\2\u1d4b\u050a\3\2\2\2\u1d4c") - buf.write("\u1d4d\7C\2\2\u1d4d\u1d4e\7U\2\2\u1d4e\u1d4f\7K\2\2\u1d4f") - buf.write("\u1d50\7P\2\2\u1d50\u050c\3\2\2\2\u1d51\u1d52\7C\2\2\u1d52") - buf.write("\u1d53\7U\2\2\u1d53\u1d54\7V\2\2\u1d54\u1d55\7G\2\2\u1d55") - buf.write("\u1d56\7Z\2\2\u1d56\u1d57\7V\2\2\u1d57\u050e\3\2\2\2\u1d58") - buf.write("\u1d59\7C\2\2\u1d59\u1d5a\7U\2\2\u1d5a\u1d5b\7Y\2\2\u1d5b") - buf.write("\u1d5c\7M\2\2\u1d5c\u1d5d\7D\2\2\u1d5d\u0510\3\2\2\2\u1d5e") - buf.write("\u1d5f\7C\2\2\u1d5f\u1d60\7U\2\2\u1d60\u1d61\7Y\2\2\u1d61") - buf.write("\u1d62\7M\2\2\u1d62\u1d63\7V\2\2\u1d63\u0512\3\2\2\2\u1d64") - buf.write("\u1d65\7C\2\2\u1d65\u1d66\7U\2\2\u1d66\u1d67\7[\2\2\u1d67") - buf.write("\u1d68\7O\2\2\u1d68\u1d69\7O\2\2\u1d69\u1d6a\7G\2\2\u1d6a") - buf.write("\u1d6b\7V\2\2\u1d6b\u1d6c\7T\2\2\u1d6c\u1d6d\7K\2\2\u1d6d") - buf.write("\u1d6e\7E\2\2\u1d6e\u1d6f\7a\2\2\u1d6f\u1d70\7F\2\2\u1d70") - buf.write("\u1d71\7G\2\2\u1d71\u1d72\7E\2\2\u1d72\u1d73\7T\2\2\u1d73") - buf.write("\u1d74\7[\2\2\u1d74\u1d75\7R\2\2\u1d75\u1d76\7V\2\2\u1d76") - buf.write("\u0514\3\2\2\2\u1d77\u1d78\7C\2\2\u1d78\u1d79\7U\2\2\u1d79") - buf.write("\u1d7a\7[\2\2\u1d7a\u1d7b\7O\2\2\u1d7b\u1d7c\7O\2\2\u1d7c") - buf.write("\u1d7d\7G\2\2\u1d7d\u1d7e\7V\2\2\u1d7e\u1d7f\7T\2\2\u1d7f") - buf.write("\u1d80\7K\2\2\u1d80\u1d81\7E\2\2\u1d81\u1d82\7a\2\2\u1d82") - buf.write("\u1d83\7F\2\2\u1d83\u1d84\7G\2\2\u1d84\u1d85\7T\2\2\u1d85") - buf.write("\u1d86\7K\2\2\u1d86\u1d87\7X\2\2\u1d87\u1d88\7G\2\2\u1d88") - buf.write("\u0516\3\2\2\2\u1d89\u1d8a\7C\2\2\u1d8a\u1d8b\7U\2\2\u1d8b") - buf.write("\u1d8c\7[\2\2\u1d8c\u1d8d\7O\2\2\u1d8d\u1d8e\7O\2\2\u1d8e") - buf.write("\u1d8f\7G\2\2\u1d8f\u1d90\7V\2\2\u1d90\u1d91\7T\2\2\u1d91") - buf.write("\u1d92\7K\2\2\u1d92\u1d93\7E\2\2\u1d93\u1d94\7a\2\2\u1d94") - buf.write("\u1d95\7G\2\2\u1d95\u1d96\7P\2\2\u1d96\u1d97\7E\2\2\u1d97") - buf.write("\u1d98\7T\2\2\u1d98\u1d99\7[\2\2\u1d99\u1d9a\7R\2\2\u1d9a") - buf.write("\u1d9b\7V\2\2\u1d9b\u0518\3\2\2\2\u1d9c\u1d9d\7C\2\2\u1d9d") - buf.write("\u1d9e\7U\2\2\u1d9e\u1d9f\7[\2\2\u1d9f\u1da0\7O\2\2\u1da0") - buf.write("\u1da1\7O\2\2\u1da1\u1da2\7G\2\2\u1da2\u1da3\7V\2\2\u1da3") - buf.write("\u1da4\7T\2\2\u1da4\u1da5\7K\2\2\u1da5\u1da6\7E\2\2\u1da6") - buf.write("\u1da7\7a\2\2\u1da7\u1da8\7U\2\2\u1da8\u1da9\7K\2\2\u1da9") - buf.write("\u1daa\7I\2\2\u1daa\u1dab\7P\2\2\u1dab\u051a\3\2\2\2\u1dac") - buf.write("\u1dad\7C\2\2\u1dad\u1dae\7U\2\2\u1dae\u1daf\7[\2\2\u1daf") - buf.write("\u1db0\7O\2\2\u1db0\u1db1\7O\2\2\u1db1\u1db2\7G\2\2\u1db2") - buf.write("\u1db3\7V\2\2\u1db3\u1db4\7T\2\2\u1db4\u1db5\7K\2\2\u1db5") - buf.write("\u1db6\7E\2\2\u1db6\u1db7\7a\2\2\u1db7\u1db8\7X\2\2\u1db8") - buf.write("\u1db9\7G\2\2\u1db9\u1dba\7T\2\2\u1dba\u1dbb\7K\2\2\u1dbb") - buf.write("\u1dbc\7H\2\2\u1dbc\u1dbd\7[\2\2\u1dbd\u051c\3\2\2\2\u1dbe") - buf.write("\u1dbf\7C\2\2\u1dbf\u1dc0\7V\2\2\u1dc0\u1dc1\7C\2\2\u1dc1") - buf.write("\u1dc2\7P\2\2\u1dc2\u051e\3\2\2\2\u1dc3\u1dc4\7C\2\2\u1dc4") - buf.write("\u1dc5\7V\2\2\u1dc5\u1dc6\7C\2\2\u1dc6\u1dc7\7P\2\2\u1dc7") - buf.write("\u1dc8\7\64\2\2\u1dc8\u0520\3\2\2\2\u1dc9\u1dca\7D\2\2") - buf.write("\u1dca\u1dcb\7G\2\2\u1dcb\u1dcc\7P\2\2\u1dcc\u1dcd\7E") - buf.write("\2\2\u1dcd\u1dce\7J\2\2\u1dce\u1dcf\7O\2\2\u1dcf\u1dd0") - buf.write("\7C\2\2\u1dd0\u1dd1\7T\2\2\u1dd1\u1dd2\7M\2\2\u1dd2\u0522") - buf.write("\3\2\2\2\u1dd3\u1dd4\7D\2\2\u1dd4\u1dd5\7K\2\2\u1dd5\u1dd6") - buf.write("\7P\2\2\u1dd6\u0524\3\2\2\2\u1dd7\u1dd8\7D\2\2\u1dd8\u1dd9") - buf.write("\7K\2\2\u1dd9\u1dda\7V\2\2\u1dda\u1ddb\7a\2\2\u1ddb\u1ddc") - buf.write("\7E\2\2\u1ddc\u1ddd\7Q\2\2\u1ddd\u1dde\7W\2\2\u1dde\u1ddf") - buf.write("\7P\2\2\u1ddf\u1de0\7V\2\2\u1de0\u0526\3\2\2\2\u1de1\u1de2") - buf.write("\7D\2\2\u1de2\u1de3\7K\2\2\u1de3\u1de4\7V\2\2\u1de4\u1de5") - buf.write("\7a\2\2\u1de5\u1de6\7N\2\2\u1de6\u1de7\7G\2\2\u1de7\u1de8") - buf.write("\7P\2\2\u1de8\u1de9\7I\2\2\u1de9\u1dea\7V\2\2\u1dea\u1deb") - buf.write("\7J\2\2\u1deb\u0528\3\2\2\2\u1dec\u1ded\7D\2\2\u1ded\u1dee") - buf.write("\7W\2\2\u1dee\u1def\7H\2\2\u1def\u1df0\7H\2\2\u1df0\u1df1") - buf.write("\7G\2\2\u1df1\u1df2\7T\2\2\u1df2\u052a\3\2\2\2\u1df3\u1df4") - buf.write("\7E\2\2\u1df4\u1df5\7G\2\2\u1df5\u1df6\7K\2\2\u1df6\u1df7") - buf.write("\7N\2\2\u1df7\u052c\3\2\2\2\u1df8\u1df9\7E\2\2\u1df9\u1dfa") - buf.write("\7G\2\2\u1dfa\u1dfb\7K\2\2\u1dfb\u1dfc\7N\2\2\u1dfc\u1dfd") - buf.write("\7K\2\2\u1dfd\u1dfe\7P\2\2\u1dfe\u1dff\7I\2\2\u1dff\u052e") - buf.write("\3\2\2\2\u1e00\u1e01\7E\2\2\u1e01\u1e02\7G\2\2\u1e02\u1e03") - buf.write("\7P\2\2\u1e03\u1e04\7V\2\2\u1e04\u1e05\7T\2\2\u1e05\u1e06") - buf.write("\7Q\2\2\u1e06\u1e07\7K\2\2\u1e07\u1e08\7F\2\2\u1e08\u0530") - buf.write("\3\2\2\2\u1e09\u1e0a\7E\2\2\u1e0a\u1e0b\7J\2\2\u1e0b\u1e0c") - buf.write("\7C\2\2\u1e0c\u1e0d\7T\2\2\u1e0d\u1e0e\7C\2\2\u1e0e\u1e0f") - buf.write("\7E\2\2\u1e0f\u1e10\7V\2\2\u1e10\u1e11\7G\2\2\u1e11\u1e12") - buf.write("\7T\2\2\u1e12\u1e13\7a\2\2\u1e13\u1e14\7N\2\2\u1e14\u1e15") - buf.write("\7G\2\2\u1e15\u1e16\7P\2\2\u1e16\u1e17\7I\2\2\u1e17\u1e18") - buf.write("\7V\2\2\u1e18\u1e19\7J\2\2\u1e19\u0532\3\2\2\2\u1e1a\u1e1b") - buf.write("\7E\2\2\u1e1b\u1e1c\7J\2\2\u1e1c\u1e1d\7C\2\2\u1e1d\u1e1e") - buf.write("\7T\2\2\u1e1e\u1e1f\7U\2\2\u1e1f\u1e20\7G\2\2\u1e20\u1e21") - buf.write("\7V\2\2\u1e21\u0534\3\2\2\2\u1e22\u1e23\7E\2\2\u1e23\u1e24") - buf.write("\7J\2\2\u1e24\u1e25\7C\2\2\u1e25\u1e26\7T\2\2\u1e26\u1e27") - buf.write("\7a\2\2\u1e27\u1e28\7N\2\2\u1e28\u1e29\7G\2\2\u1e29\u1e2a") - buf.write("\7P\2\2\u1e2a\u1e2b\7I\2\2\u1e2b\u1e2c\7V\2\2\u1e2c\u1e2d") - buf.write("\7J\2\2\u1e2d\u0536\3\2\2\2\u1e2e\u1e2f\7E\2\2\u1e2f\u1e30") - buf.write("\7Q\2\2\u1e30\u1e31\7G\2\2\u1e31\u1e32\7T\2\2\u1e32\u1e33") - buf.write("\7E\2\2\u1e33\u1e34\7K\2\2\u1e34\u1e35\7D\2\2\u1e35\u1e36") - buf.write("\7K\2\2\u1e36\u1e37\7N\2\2\u1e37\u1e38\7K\2\2\u1e38\u1e39") - buf.write("\7V\2\2\u1e39\u1e3a\7[\2\2\u1e3a\u0538\3\2\2\2\u1e3b\u1e3c") - buf.write("\7E\2\2\u1e3c\u1e3d\7Q\2\2\u1e3d\u1e3e\7N\2\2\u1e3e\u1e3f") - buf.write("\7N\2\2\u1e3f\u1e40\7C\2\2\u1e40\u1e41\7V\2\2\u1e41\u1e42") - buf.write("\7K\2\2\u1e42\u1e43\7Q\2\2\u1e43\u1e44\7P\2\2\u1e44\u053a") - buf.write("\3\2\2\2\u1e45\u1e46\7E\2\2\u1e46\u1e47\7Q\2\2\u1e47\u1e48") - buf.write("\7O\2\2\u1e48\u1e49\7R\2\2\u1e49\u1e4a\7T\2\2\u1e4a\u1e4b") - buf.write("\7G\2\2\u1e4b\u1e4c\7U\2\2\u1e4c\u1e4d\7U\2\2\u1e4d\u053c") - buf.write("\3\2\2\2\u1e4e\u1e4f\7E\2\2\u1e4f\u1e50\7Q\2\2\u1e50\u1e51") - buf.write("\7P\2\2\u1e51\u1e52\7E\2\2\u1e52\u1e53\7C\2\2\u1e53\u1e54") - buf.write("\7V\2\2\u1e54\u053e\3\2\2\2\u1e55\u1e56\7E\2\2\u1e56\u1e57") - buf.write("\7Q\2\2\u1e57\u1e58\7P\2\2\u1e58\u1e59\7E\2\2\u1e59\u1e5a") - buf.write("\7C\2\2\u1e5a\u1e5b\7V\2\2\u1e5b\u1e5c\7a\2\2\u1e5c\u1e5d") - buf.write("\7Y\2\2\u1e5d\u1e5e\7U\2\2\u1e5e\u0540\3\2\2\2\u1e5f\u1e60") - buf.write("\7E\2\2\u1e60\u1e61\7Q\2\2\u1e61\u1e62\7P\2\2\u1e62\u1e63") - buf.write("\7P\2\2\u1e63\u1e64\7G\2\2\u1e64\u1e65\7E\2\2\u1e65\u1e66") - buf.write("\7V\2\2\u1e66\u1e67\7K\2\2\u1e67\u1e68\7Q\2\2\u1e68\u1e69") - buf.write("\7P\2\2\u1e69\u1e6a\7a\2\2\u1e6a\u1e6b\7K\2\2\u1e6b\u1e6c") - buf.write("\7F\2\2\u1e6c\u0542\3\2\2\2\u1e6d\u1e6e\7E\2\2\u1e6e\u1e6f") - buf.write("\7Q\2\2\u1e6f\u1e70\7P\2\2\u1e70\u1e71\7X\2\2\u1e71\u0544") - buf.write("\3\2\2\2\u1e72\u1e73\7E\2\2\u1e73\u1e74\7Q\2\2\u1e74\u1e75") - buf.write("\7P\2\2\u1e75\u1e76\7X\2\2\u1e76\u1e77\7G\2\2\u1e77\u1e78") - buf.write("\7T\2\2\u1e78\u1e79\7V\2\2\u1e79\u1e7a\7a\2\2\u1e7a\u1e7b") - buf.write("\7V\2\2\u1e7b\u1e7c\7\\\2\2\u1e7c\u0546\3\2\2\2\u1e7d") - buf.write("\u1e7e\7E\2\2\u1e7e\u1e7f\7Q\2\2\u1e7f\u1e80\7U\2\2\u1e80") - buf.write("\u0548\3\2\2\2\u1e81\u1e82\7E\2\2\u1e82\u1e83\7Q\2\2\u1e83") - buf.write("\u1e84\7V\2\2\u1e84\u054a\3\2\2\2\u1e85\u1e86\7E\2\2\u1e86") - buf.write("\u1e87\7T\2\2\u1e87\u1e88\7E\2\2\u1e88\u1e89\7\65\2\2") - buf.write("\u1e89\u1e8a\7\64\2\2\u1e8a\u054c\3\2\2\2\u1e8b\u1e8c") - buf.write("\7E\2\2\u1e8c\u1e8d\7T\2\2\u1e8d\u1e8e\7G\2\2\u1e8e\u1e8f") - buf.write("\7C\2\2\u1e8f\u1e90\7V\2\2\u1e90\u1e91\7G\2\2\u1e91\u1e92") - buf.write("\7a\2\2\u1e92\u1e93\7C\2\2\u1e93\u1e94\7U\2\2\u1e94\u1e95") - buf.write("\7[\2\2\u1e95\u1e96\7O\2\2\u1e96\u1e97\7O\2\2\u1e97\u1e98") - buf.write("\7G\2\2\u1e98\u1e99\7V\2\2\u1e99\u1e9a\7T\2\2\u1e9a\u1e9b") - buf.write("\7K\2\2\u1e9b\u1e9c\7E\2\2\u1e9c\u1e9d\7a\2\2\u1e9d\u1e9e") - buf.write("\7R\2\2\u1e9e\u1e9f\7T\2\2\u1e9f\u1ea0\7K\2\2\u1ea0\u1ea1") - buf.write("\7X\2\2\u1ea1\u1ea2\7a\2\2\u1ea2\u1ea3\7M\2\2\u1ea3\u1ea4") - buf.write("\7G\2\2\u1ea4\u1ea5\7[\2\2\u1ea5\u054e\3\2\2\2\u1ea6\u1ea7") - buf.write("\7E\2\2\u1ea7\u1ea8\7T\2\2\u1ea8\u1ea9\7G\2\2\u1ea9\u1eaa") - buf.write("\7C\2\2\u1eaa\u1eab\7V\2\2\u1eab\u1eac\7G\2\2\u1eac\u1ead") - buf.write("\7a\2\2\u1ead\u1eae\7C\2\2\u1eae\u1eaf\7U\2\2\u1eaf\u1eb0") - buf.write("\7[\2\2\u1eb0\u1eb1\7O\2\2\u1eb1\u1eb2\7O\2\2\u1eb2\u1eb3") - buf.write("\7G\2\2\u1eb3\u1eb4\7V\2\2\u1eb4\u1eb5\7T\2\2\u1eb5\u1eb6") - buf.write("\7K\2\2\u1eb6\u1eb7\7E\2\2\u1eb7\u1eb8\7a\2\2\u1eb8\u1eb9") - buf.write("\7R\2\2\u1eb9\u1eba\7W\2\2\u1eba\u1ebb\7D\2\2\u1ebb\u1ebc") - buf.write("\7a\2\2\u1ebc\u1ebd\7M\2\2\u1ebd\u1ebe\7G\2\2\u1ebe\u1ebf") - buf.write("\7[\2\2\u1ebf\u0550\3\2\2\2\u1ec0\u1ec1\7E\2\2\u1ec1\u1ec2") - buf.write("\7T\2\2\u1ec2\u1ec3\7G\2\2\u1ec3\u1ec4\7C\2\2\u1ec4\u1ec5") - buf.write("\7V\2\2\u1ec5\u1ec6\7G\2\2\u1ec6\u1ec7\7a\2\2\u1ec7\u1ec8") - buf.write("\7F\2\2\u1ec8\u1ec9\7J\2\2\u1ec9\u1eca\7a\2\2\u1eca\u1ecb") - buf.write("\7R\2\2\u1ecb\u1ecc\7C\2\2\u1ecc\u1ecd\7T\2\2\u1ecd\u1ece") - buf.write("\7C\2\2\u1ece\u1ecf\7O\2\2\u1ecf\u1ed0\7G\2\2\u1ed0\u1ed1") - buf.write("\7V\2\2\u1ed1\u1ed2\7G\2\2\u1ed2\u1ed3\7T\2\2\u1ed3\u1ed4") - buf.write("\7U\2\2\u1ed4\u0552\3\2\2\2\u1ed5\u1ed6\7E\2\2\u1ed6\u1ed7") - buf.write("\7T\2\2\u1ed7\u1ed8\7G\2\2\u1ed8\u1ed9\7C\2\2\u1ed9\u1eda") - buf.write("\7V\2\2\u1eda\u1edb\7G\2\2\u1edb\u1edc\7a\2\2\u1edc\u1edd") - buf.write("\7F\2\2\u1edd\u1ede\7K\2\2\u1ede\u1edf\7I\2\2\u1edf\u1ee0") - buf.write("\7G\2\2\u1ee0\u1ee1\7U\2\2\u1ee1\u1ee2\7V\2\2\u1ee2\u0554") - buf.write("\3\2\2\2\u1ee3\u1ee4\7E\2\2\u1ee4\u1ee5\7T\2\2\u1ee5\u1ee6") - buf.write("\7Q\2\2\u1ee6\u1ee7\7U\2\2\u1ee7\u1ee8\7U\2\2\u1ee8\u1ee9") - buf.write("\7G\2\2\u1ee9\u1eea\7U\2\2\u1eea\u0556\3\2\2\2\u1eeb\u1eec") - buf.write("\7F\2\2\u1eec\u1eed\7C\2\2\u1eed\u1eee\7V\2\2\u1eee\u1eef") - buf.write("\7G\2\2\u1eef\u1ef0\7F\2\2\u1ef0\u1ef1\7K\2\2\u1ef1\u1ef2") - buf.write("\7H\2\2\u1ef2\u1ef3\7H\2\2\u1ef3\u0558\3\2\2\2\u1ef4\u1ef5") - buf.write("\7F\2\2\u1ef5\u1ef6\7C\2\2\u1ef6\u1ef7\7V\2\2\u1ef7\u1ef8") - buf.write("\7G\2\2\u1ef8\u1ef9\7a\2\2\u1ef9\u1efa\7H\2\2\u1efa\u1efb") - buf.write("\7Q\2\2\u1efb\u1efc\7T\2\2\u1efc\u1efd\7O\2\2\u1efd\u1efe") - buf.write("\7C\2\2\u1efe\u1eff\7V\2\2\u1eff\u055a\3\2\2\2\u1f00\u1f01") - buf.write("\7F\2\2\u1f01\u1f02\7C\2\2\u1f02\u1f03\7[\2\2\u1f03\u1f04") - buf.write("\7P\2\2\u1f04\u1f05\7C\2\2\u1f05\u1f06\7O\2\2\u1f06\u1f07") - buf.write("\7G\2\2\u1f07\u055c\3\2\2\2\u1f08\u1f09\7F\2\2\u1f09\u1f0a") - buf.write("\7C\2\2\u1f0a\u1f0b\7[\2\2\u1f0b\u1f0c\7Q\2\2\u1f0c\u1f0d") - buf.write("\7H\2\2\u1f0d\u1f0e\7O\2\2\u1f0e\u1f0f\7Q\2\2\u1f0f\u1f10") - buf.write("\7P\2\2\u1f10\u1f11\7V\2\2\u1f11\u1f12\7J\2\2\u1f12\u055e") - buf.write("\3\2\2\2\u1f13\u1f14\7F\2\2\u1f14\u1f15\7C\2\2\u1f15\u1f16") - buf.write("\7[\2\2\u1f16\u1f17\7Q\2\2\u1f17\u1f18\7H\2\2\u1f18\u1f19") - buf.write("\7Y\2\2\u1f19\u1f1a\7G\2\2\u1f1a\u1f1b\7G\2\2\u1f1b\u1f1c") - buf.write("\7M\2\2\u1f1c\u0560\3\2\2\2\u1f1d\u1f1e\7F\2\2\u1f1e\u1f1f") - buf.write("\7C\2\2\u1f1f\u1f20\7[\2\2\u1f20\u1f21\7Q\2\2\u1f21\u1f22") - buf.write("\7H\2\2\u1f22\u1f23\7[\2\2\u1f23\u1f24\7G\2\2\u1f24\u1f25") - buf.write("\7C\2\2\u1f25\u1f26\7T\2\2\u1f26\u0562\3\2\2\2\u1f27\u1f28") - buf.write("\7F\2\2\u1f28\u1f29\7G\2\2\u1f29\u1f2a\7E\2\2\u1f2a\u1f2b") - buf.write("\7Q\2\2\u1f2b\u1f2c\7F\2\2\u1f2c\u1f2d\7G\2\2\u1f2d\u0564") - buf.write("\3\2\2\2\u1f2e\u1f2f\7F\2\2\u1f2f\u1f30\7G\2\2\u1f30\u1f31") - buf.write("\7I\2\2\u1f31\u1f32\7T\2\2\u1f32\u1f33\7G\2\2\u1f33\u1f34") - buf.write("\7G\2\2\u1f34\u1f35\7U\2\2\u1f35\u0566\3\2\2\2\u1f36\u1f37") - buf.write("\7F\2\2\u1f37\u1f38\7G\2\2\u1f38\u1f39\7U\2\2\u1f39\u1f3a") - buf.write("\7a\2\2\u1f3a\u1f3b\7F\2\2\u1f3b\u1f3c\7G\2\2\u1f3c\u1f3d") - buf.write("\7E\2\2\u1f3d\u1f3e\7T\2\2\u1f3e\u1f3f\7[\2\2\u1f3f\u1f40") - buf.write("\7R\2\2\u1f40\u1f41\7V\2\2\u1f41\u0568\3\2\2\2\u1f42\u1f43") - buf.write("\7F\2\2\u1f43\u1f44\7G\2\2\u1f44\u1f45\7U\2\2\u1f45\u1f46") - buf.write("\7a\2\2\u1f46\u1f47\7G\2\2\u1f47\u1f48\7P\2\2\u1f48\u1f49") - buf.write("\7E\2\2\u1f49\u1f4a\7T\2\2\u1f4a\u1f4b\7[\2\2\u1f4b\u1f4c") - buf.write("\7R\2\2\u1f4c\u1f4d\7V\2\2\u1f4d\u056a\3\2\2\2\u1f4e\u1f4f") - buf.write("\7F\2\2\u1f4f\u1f50\7K\2\2\u1f50\u1f51\7O\2\2\u1f51\u1f52") - buf.write("\7G\2\2\u1f52\u1f53\7P\2\2\u1f53\u1f54\7U\2\2\u1f54\u1f55") - buf.write("\7K\2\2\u1f55\u1f56\7Q\2\2\u1f56\u1f57\7P\2\2\u1f57\u056c") - buf.write("\3\2\2\2\u1f58\u1f59\7F\2\2\u1f59\u1f5a\7K\2\2\u1f5a\u1f5b") - buf.write("\7U\2\2\u1f5b\u1f5c\7L\2\2\u1f5c\u1f5d\7Q\2\2\u1f5d\u1f5e") - buf.write("\7K\2\2\u1f5e\u1f5f\7P\2\2\u1f5f\u1f60\7V\2\2\u1f60\u056e") - buf.write("\3\2\2\2\u1f61\u1f62\7G\2\2\u1f62\u1f63\7N\2\2\u1f63\u1f64") - buf.write("\7V\2\2\u1f64\u0570\3\2\2\2\u1f65\u1f66\7G\2\2\u1f66\u1f67") - buf.write("\7P\2\2\u1f67\u1f68\7E\2\2\u1f68\u1f69\7Q\2\2\u1f69\u1f6a") - buf.write("\7F\2\2\u1f6a\u1f6b\7G\2\2\u1f6b\u0572\3\2\2\2\u1f6c\u1f6d") - buf.write("\7G\2\2\u1f6d\u1f6e\7P\2\2\u1f6e\u1f6f\7E\2\2\u1f6f\u1f70") - buf.write("\7T\2\2\u1f70\u1f71\7[\2\2\u1f71\u1f72\7R\2\2\u1f72\u1f73") - buf.write("\7V\2\2\u1f73\u0574\3\2\2\2\u1f74\u1f75\7G\2\2\u1f75\u1f76") - buf.write("\7P\2\2\u1f76\u1f77\7F\2\2\u1f77\u1f78\7R\2\2\u1f78\u1f79") - buf.write("\7Q\2\2\u1f79\u1f7a\7K\2\2\u1f7a\u1f7b\7P\2\2\u1f7b\u1f7c") - buf.write("\7V\2\2\u1f7c\u0576\3\2\2\2\u1f7d\u1f7e\7G\2\2\u1f7e\u1f7f") - buf.write("\7P\2\2\u1f7f\u1f80\7X\2\2\u1f80\u1f81\7G\2\2\u1f81\u1f82") - buf.write("\7N\2\2\u1f82\u1f83\7Q\2\2\u1f83\u1f84\7R\2\2\u1f84\u1f85") - buf.write("\7G\2\2\u1f85\u0578\3\2\2\2\u1f86\u1f87\7G\2\2\u1f87\u1f88") - buf.write("\7S\2\2\u1f88\u1f89\7W\2\2\u1f89\u1f8a\7C\2\2\u1f8a\u1f8b") - buf.write("\7N\2\2\u1f8b\u1f8c\7U\2\2\u1f8c\u057a\3\2\2\2\u1f8d\u1f8e") - buf.write("\7G\2\2\u1f8e\u1f8f\7Z\2\2\u1f8f\u1f90\7R\2\2\u1f90\u057c") - buf.write("\3\2\2\2\u1f91\u1f92\7G\2\2\u1f92\u1f93\7Z\2\2\u1f93\u1f94") - buf.write("\7R\2\2\u1f94\u1f95\7Q\2\2\u1f95\u1f96\7T\2\2\u1f96\u1f97") - buf.write("\7V\2\2\u1f97\u1f98\7a\2\2\u1f98\u1f99\7U\2\2\u1f99\u1f9a") - buf.write("\7G\2\2\u1f9a\u1f9b\7V\2\2\u1f9b\u057e\3\2\2\2\u1f9c\u1f9d") - buf.write("\7G\2\2\u1f9d\u1f9e\7Z\2\2\u1f9e\u1f9f\7V\2\2\u1f9f\u1fa0") - buf.write("\7G\2\2\u1fa0\u1fa1\7T\2\2\u1fa1\u1fa2\7K\2\2\u1fa2\u1fa3") - buf.write("\7Q\2\2\u1fa3\u1fa4\7T\2\2\u1fa4\u1fa5\7T\2\2\u1fa5\u1fa6") - buf.write("\7K\2\2\u1fa6\u1fa7\7P\2\2\u1fa7\u1fa8\7I\2\2\u1fa8\u0580") - buf.write("\3\2\2\2\u1fa9\u1faa\7G\2\2\u1faa\u1fab\7Z\2\2\u1fab\u1fac") - buf.write("\7V\2\2\u1fac\u1fad\7T\2\2\u1fad\u1fae\7C\2\2\u1fae\u1faf") - buf.write("\7E\2\2\u1faf\u1fb0\7V\2\2\u1fb0\u1fb1\7X\2\2\u1fb1\u1fb2") - buf.write("\7C\2\2\u1fb2\u1fb3\7N\2\2\u1fb3\u1fb4\7W\2\2\u1fb4\u1fb5") - buf.write("\7G\2\2\u1fb5\u0582\3\2\2\2\u1fb6\u1fb7\7H\2\2\u1fb7\u1fb8") - buf.write("\7K\2\2\u1fb8\u1fb9\7G\2\2\u1fb9\u1fba\7N\2\2\u1fba\u1fbb") - buf.write("\7F\2\2\u1fbb\u0584\3\2\2\2\u1fbc\u1fbd\7H\2\2\u1fbd\u1fbe") - buf.write("\7K\2\2\u1fbe\u1fbf\7P\2\2\u1fbf\u1fc0\7F\2\2\u1fc0\u1fc1") - buf.write("\7a\2\2\u1fc1\u1fc2\7K\2\2\u1fc2\u1fc3\7P\2\2\u1fc3\u1fc4") - buf.write("\7a\2\2\u1fc4\u1fc5\7U\2\2\u1fc5\u1fc6\7G\2\2\u1fc6\u1fc7") - buf.write("\7V\2\2\u1fc7\u0586\3\2\2\2\u1fc8\u1fc9\7H\2\2\u1fc9\u1fca") - buf.write("\7N\2\2\u1fca\u1fcb\7Q\2\2\u1fcb\u1fcc\7Q\2\2\u1fcc\u1fcd") - buf.write("\7T\2\2\u1fcd\u0588\3\2\2\2\u1fce\u1fcf\7H\2\2\u1fcf\u1fd0") - buf.write("\7Q\2\2\u1fd0\u1fd1\7T\2\2\u1fd1\u1fd2\7O\2\2\u1fd2\u1fd3") - buf.write("\7C\2\2\u1fd3\u1fd4\7V\2\2\u1fd4\u058a\3\2\2\2\u1fd5\u1fd6") - buf.write("\7H\2\2\u1fd6\u1fd7\7Q\2\2\u1fd7\u1fd8\7W\2\2\u1fd8\u1fd9") - buf.write("\7P\2\2\u1fd9\u1fda\7F\2\2\u1fda\u1fdb\7a\2\2\u1fdb\u1fdc") - buf.write("\7T\2\2\u1fdc\u1fdd\7Q\2\2\u1fdd\u1fde\7Y\2\2\u1fde\u1fdf") - buf.write("\7U\2\2\u1fdf\u058c\3\2\2\2\u1fe0\u1fe1\7H\2\2\u1fe1\u1fe2") - buf.write("\7T\2\2\u1fe2\u1fe3\7Q\2\2\u1fe3\u1fe4\7O\2\2\u1fe4\u1fe5") - buf.write("\7a\2\2\u1fe5\u1fe6\7D\2\2\u1fe6\u1fe7\7C\2\2\u1fe7\u1fe8") - buf.write("\7U\2\2\u1fe8\u1fe9\7G\2\2\u1fe9\u1fea\78\2\2\u1fea\u1feb") - buf.write("\7\66\2\2\u1feb\u058e\3\2\2\2\u1fec\u1fed\7H\2\2\u1fed") - buf.write("\u1fee\7T\2\2\u1fee\u1fef\7Q\2\2\u1fef\u1ff0\7O\2\2\u1ff0") - buf.write("\u1ff1\7a\2\2\u1ff1\u1ff2\7F\2\2\u1ff2\u1ff3\7C\2\2\u1ff3") - buf.write("\u1ff4\7[\2\2\u1ff4\u1ff5\7U\2\2\u1ff5\u0590\3\2\2\2\u1ff6") - buf.write("\u1ff7\7H\2\2\u1ff7\u1ff8\7T\2\2\u1ff8\u1ff9\7Q\2\2\u1ff9") - buf.write("\u1ffa\7O\2\2\u1ffa\u1ffb\7a\2\2\u1ffb\u1ffc\7W\2\2\u1ffc") - buf.write("\u1ffd\7P\2\2\u1ffd\u1ffe\7K\2\2\u1ffe\u1fff\7Z\2\2\u1fff") - buf.write("\u2000\7V\2\2\u2000\u2001\7K\2\2\u2001\u2002\7O\2\2\u2002") - buf.write("\u2003\7G\2\2\u2003\u0592\3\2\2\2\u2004\u2005\7I\2\2\u2005") - buf.write("\u2006\7G\2\2\u2006\u2007\7Q\2\2\u2007\u2008\7O\2\2\u2008") - buf.write("\u2009\7E\2\2\u2009\u200a\7Q\2\2\u200a\u200b\7N\2\2\u200b") - buf.write("\u200c\7N\2\2\u200c\u200d\7H\2\2\u200d\u200e\7T\2\2\u200e") - buf.write("\u200f\7Q\2\2\u200f\u2010\7O\2\2\u2010\u2011\7V\2\2\u2011") - buf.write("\u2012\7G\2\2\u2012\u2013\7Z\2\2\u2013\u2014\7V\2\2\u2014") - buf.write("\u0594\3\2\2\2\u2015\u2016\7I\2\2\u2016\u2017\7G\2\2\u2017") - buf.write("\u2018\7Q\2\2\u2018\u2019\7O\2\2\u2019\u201a\7E\2\2\u201a") - buf.write("\u201b\7Q\2\2\u201b\u201c\7N\2\2\u201c\u201d\7N\2\2\u201d") - buf.write("\u201e\7H\2\2\u201e\u201f\7T\2\2\u201f\u2020\7Q\2\2\u2020") - buf.write("\u2021\7O\2\2\u2021\u2022\7Y\2\2\u2022\u2023\7M\2\2\u2023") - buf.write("\u2024\7D\2\2\u2024\u0596\3\2\2\2\u2025\u2026\7I\2\2\u2026") - buf.write("\u2027\7G\2\2\u2027\u2028\7Q\2\2\u2028\u2029\7O\2\2\u2029") - buf.write("\u202a\7G\2\2\u202a\u202b\7V\2\2\u202b\u202c\7T\2\2\u202c") - buf.write("\u202d\7[\2\2\u202d\u202e\7E\2\2\u202e\u202f\7Q\2\2\u202f") - buf.write("\u2030\7N\2\2\u2030\u2031\7N\2\2\u2031\u2032\7G\2\2\u2032") - buf.write("\u2033\7E\2\2\u2033\u2034\7V\2\2\u2034\u2035\7K\2\2\u2035") - buf.write("\u2036\7Q\2\2\u2036\u2037\7P\2\2\u2037\u2038\7H\2\2\u2038") - buf.write("\u2039\7T\2\2\u2039\u203a\7Q\2\2\u203a\u203b\7O\2\2\u203b") - buf.write("\u203c\7V\2\2\u203c\u203d\7G\2\2\u203d\u203e\7Z\2\2\u203e") - buf.write("\u203f\7V\2\2\u203f\u0598\3\2\2\2\u2040\u2041\7I\2\2\u2041") - buf.write("\u2042\7G\2\2\u2042\u2043\7Q\2\2\u2043\u2044\7O\2\2\u2044") - buf.write("\u2045\7G\2\2\u2045\u2046\7V\2\2\u2046\u2047\7T\2\2\u2047") - buf.write("\u2048\7[\2\2\u2048\u2049\7E\2\2\u2049\u204a\7Q\2\2\u204a") - buf.write("\u204b\7N\2\2\u204b\u204c\7N\2\2\u204c\u204d\7G\2\2\u204d") - buf.write("\u204e\7E\2\2\u204e\u204f\7V\2\2\u204f\u2050\7K\2\2\u2050") - buf.write("\u2051\7Q\2\2\u2051\u2052\7P\2\2\u2052\u2053\7H\2\2\u2053") - buf.write("\u2054\7T\2\2\u2054\u2055\7Q\2\2\u2055\u2056\7O\2\2\u2056") - buf.write("\u2057\7Y\2\2\u2057\u2058\7M\2\2\u2058\u2059\7D\2\2\u2059") - buf.write("\u059a\3\2\2\2\u205a\u205b\7I\2\2\u205b\u205c\7G\2\2\u205c") - buf.write("\u205d\7Q\2\2\u205d\u205e\7O\2\2\u205e\u205f\7G\2\2\u205f") - buf.write("\u2060\7V\2\2\u2060\u2061\7T\2\2\u2061\u2062\7[\2\2\u2062") - buf.write("\u2063\7H\2\2\u2063\u2064\7T\2\2\u2064\u2065\7Q\2\2\u2065") - buf.write("\u2066\7O\2\2\u2066\u2067\7V\2\2\u2067\u2068\7G\2\2\u2068") - buf.write("\u2069\7Z\2\2\u2069\u206a\7V\2\2\u206a\u059c\3\2\2\2\u206b") - buf.write("\u206c\7I\2\2\u206c\u206d\7G\2\2\u206d\u206e\7Q\2\2\u206e") - buf.write("\u206f\7O\2\2\u206f\u2070\7G\2\2\u2070\u2071\7V\2\2\u2071") - buf.write("\u2072\7T\2\2\u2072\u2073\7[\2\2\u2073\u2074\7H\2\2\u2074") - buf.write("\u2075\7T\2\2\u2075\u2076\7Q\2\2\u2076\u2077\7O\2\2\u2077") - buf.write("\u2078\7Y\2\2\u2078\u2079\7M\2\2\u2079\u207a\7D\2\2\u207a") - buf.write("\u059e\3\2\2\2\u207b\u207c\7I\2\2\u207c\u207d\7G\2\2\u207d") - buf.write("\u207e\7Q\2\2\u207e\u207f\7O\2\2\u207f\u2080\7G\2\2\u2080") - buf.write("\u2081\7V\2\2\u2081\u2082\7T\2\2\u2082\u2083\7[\2\2\u2083") - buf.write("\u2084\7P\2\2\u2084\u05a0\3\2\2\2\u2085\u2086\7I\2\2\u2086") - buf.write("\u2087\7G\2\2\u2087\u2088\7Q\2\2\u2088\u2089\7O\2\2\u2089") - buf.write("\u208a\7G\2\2\u208a\u208b\7V\2\2\u208b\u208c\7T\2\2\u208c") - buf.write("\u208d\7[\2\2\u208d\u208e\7V\2\2\u208e\u208f\7[\2\2\u208f") - buf.write("\u2090\7R\2\2\u2090\u2091\7G\2\2\u2091\u05a2\3\2\2\2\u2092") - buf.write("\u2093\7I\2\2\u2093\u2094\7G\2\2\u2094\u2095\7Q\2\2\u2095") - buf.write("\u2096\7O\2\2\u2096\u2097\7H\2\2\u2097\u2098\7T\2\2\u2098") - buf.write("\u2099\7Q\2\2\u2099\u209a\7O\2\2\u209a\u209b\7V\2\2\u209b") - buf.write("\u209c\7G\2\2\u209c\u209d\7Z\2\2\u209d\u209e\7V\2\2\u209e") - buf.write("\u05a4\3\2\2\2\u209f\u20a0\7I\2\2\u20a0\u20a1\7G\2\2\u20a1") - buf.write("\u20a2\7Q\2\2\u20a2\u20a3\7O\2\2\u20a3\u20a4\7H\2\2\u20a4") - buf.write("\u20a5\7T\2\2\u20a5\u20a6\7Q\2\2\u20a6\u20a7\7O\2\2\u20a7") - buf.write("\u20a8\7Y\2\2\u20a8\u20a9\7M\2\2\u20a9\u20aa\7D\2\2\u20aa") - buf.write("\u05a6\3\2\2\2\u20ab\u20ac\7I\2\2\u20ac\u20ad\7G\2\2\u20ad") - buf.write("\u20ae\7V\2\2\u20ae\u20af\7a\2\2\u20af\u20b0\7H\2\2\u20b0") - buf.write("\u20b1\7Q\2\2\u20b1\u20b2\7T\2\2\u20b2\u20b3\7O\2\2\u20b3") - buf.write("\u20b4\7C\2\2\u20b4\u20b5\7V\2\2\u20b5\u05a8\3\2\2\2\u20b6") - buf.write("\u20b7\7I\2\2\u20b7\u20b8\7G\2\2\u20b8\u20b9\7V\2\2\u20b9") - buf.write("\u20ba\7a\2\2\u20ba\u20bb\7N\2\2\u20bb\u20bc\7Q\2\2\u20bc") - buf.write("\u20bd\7E\2\2\u20bd\u20be\7M\2\2\u20be\u05aa\3\2\2\2\u20bf") - buf.write("\u20c0\7I\2\2\u20c0\u20c1\7N\2\2\u20c1\u20c2\7G\2\2\u20c2") - buf.write("\u20c3\7P\2\2\u20c3\u20c4\7I\2\2\u20c4\u20c5\7V\2\2\u20c5") - buf.write("\u20c6\7J\2\2\u20c6\u05ac\3\2\2\2\u20c7\u20c8\7I\2\2\u20c8") - buf.write("\u20c9\7T\2\2\u20c9\u20ca\7G\2\2\u20ca\u20cb\7C\2\2\u20cb") - buf.write("\u20cc\7V\2\2\u20cc\u20cd\7G\2\2\u20cd\u20ce\7U\2\2\u20ce") - buf.write("\u20cf\7V\2\2\u20cf\u05ae\3\2\2\2\u20d0\u20d1\7I\2\2\u20d1") - buf.write("\u20d2\7V\2\2\u20d2\u20d3\7K\2\2\u20d3\u20d4\7F\2\2\u20d4") - buf.write("\u20d5\7a\2\2\u20d5\u20d6\7U\2\2\u20d6\u20d7\7W\2\2\u20d7") - buf.write("\u20d8\7D\2\2\u20d8\u20d9\7U\2\2\u20d9\u20da\7G\2\2\u20da") - buf.write("\u20db\7V\2\2\u20db\u05b0\3\2\2\2\u20dc\u20dd\7I\2\2\u20dd") - buf.write("\u20de\7V\2\2\u20de\u20df\7K\2\2\u20df\u20e0\7F\2\2\u20e0") - buf.write("\u20e1\7a\2\2\u20e1\u20e2\7U\2\2\u20e2\u20e3\7W\2\2\u20e3") - buf.write("\u20e4\7D\2\2\u20e4\u20e5\7V\2\2\u20e5\u20e6\7T\2\2\u20e6") - buf.write("\u20e7\7C\2\2\u20e7\u20e8\7E\2\2\u20e8\u20e9\7V\2\2\u20e9") - buf.write("\u05b2\3\2\2\2\u20ea\u20eb\7J\2\2\u20eb\u20ec\7G\2\2\u20ec") - buf.write("\u20ed\7Z\2\2\u20ed\u05b4\3\2\2\2\u20ee\u20ef\7K\2\2\u20ef") - buf.write("\u20f0\7H\2\2\u20f0\u20f1\7P\2\2\u20f1\u20f2\7W\2\2\u20f2") - buf.write("\u20f3\7N\2\2\u20f3\u20f4\7N\2\2\u20f4\u05b6\3\2\2\2\u20f5") - buf.write("\u20f6\7K\2\2\u20f6\u20f7\7P\2\2\u20f7\u20f8\7G\2\2\u20f8") - buf.write("\u20f9\7V\2\2\u20f9\u20fa\78\2\2\u20fa\u20fb\7a\2\2\u20fb") - buf.write("\u20fc\7C\2\2\u20fc\u20fd\7V\2\2\u20fd\u20fe\7Q\2\2\u20fe") - buf.write("\u20ff\7P\2\2\u20ff\u05b8\3\2\2\2\u2100\u2101\7K\2\2\u2101") - buf.write("\u2102\7P\2\2\u2102\u2103\7G\2\2\u2103\u2104\7V\2\2\u2104") - buf.write("\u2105\78\2\2\u2105\u2106\7a\2\2\u2106\u2107\7P\2\2\u2107") - buf.write("\u2108\7V\2\2\u2108\u2109\7Q\2\2\u2109\u210a\7C\2\2\u210a") - buf.write("\u05ba\3\2\2\2\u210b\u210c\7K\2\2\u210c\u210d\7P\2\2\u210d") - buf.write("\u210e\7G\2\2\u210e\u210f\7V\2\2\u210f\u2110\7a\2\2\u2110") - buf.write("\u2111\7C\2\2\u2111\u2112\7V\2\2\u2112\u2113\7Q\2\2\u2113") - buf.write("\u2114\7P\2\2\u2114\u05bc\3\2\2\2\u2115\u2116\7K\2\2\u2116") - buf.write("\u2117\7P\2\2\u2117\u2118\7G\2\2\u2118\u2119\7V\2\2\u2119") - buf.write("\u211a\7a\2\2\u211a\u211b\7P\2\2\u211b\u211c\7V\2\2\u211c") - buf.write("\u211d\7Q\2\2\u211d\u211e\7C\2\2\u211e\u05be\3\2\2\2\u211f") - buf.write("\u2120\7K\2\2\u2120\u2121\7P\2\2\u2121\u2122\7U\2\2\u2122") - buf.write("\u2123\7V\2\2\u2123\u2124\7T\2\2\u2124\u05c0\3\2\2\2\u2125") - buf.write("\u2126\7K\2\2\u2126\u2127\7P\2\2\u2127\u2128\7V\2\2\u2128") - buf.write("\u2129\7G\2\2\u2129\u212a\7T\2\2\u212a\u212b\7K\2\2\u212b") - buf.write("\u212c\7Q\2\2\u212c\u212d\7T\2\2\u212d\u212e\7T\2\2\u212e") - buf.write("\u212f\7K\2\2\u212f\u2130\7P\2\2\u2130\u2131\7I\2\2\u2131") - buf.write("\u2132\7P\2\2\u2132\u05c2\3\2\2\2\u2133\u2134\7K\2\2\u2134") - buf.write("\u2135\7P\2\2\u2135\u2136\7V\2\2\u2136\u2137\7G\2\2\u2137") - buf.write("\u2138\7T\2\2\u2138\u2139\7U\2\2\u2139\u213a\7G\2\2\u213a") - buf.write("\u213b\7E\2\2\u213b\u213c\7V\2\2\u213c\u213d\7U\2\2\u213d") - buf.write("\u05c4\3\2\2\2\u213e\u213f\7K\2\2\u213f\u2140\7U\2\2\u2140") - buf.write("\u2141\7E\2\2\u2141\u2142\7N\2\2\u2142\u2143\7Q\2\2\u2143") - buf.write("\u2144\7U\2\2\u2144\u2145\7G\2\2\u2145\u2146\7F\2\2\u2146") - buf.write("\u05c6\3\2\2\2\u2147\u2148\7K\2\2\u2148\u2149\7U\2\2\u2149") - buf.write("\u214a\7G\2\2\u214a\u214b\7O\2\2\u214b\u214c\7R\2\2\u214c") - buf.write("\u214d\7V\2\2\u214d\u214e\7[\2\2\u214e\u05c8\3\2\2\2\u214f") - buf.write("\u2150\7K\2\2\u2150\u2151\7U\2\2\u2151\u2152\7P\2\2\u2152") - buf.write("\u2153\7W\2\2\u2153\u2154\7N\2\2\u2154\u2155\7N\2\2\u2155") - buf.write("\u05ca\3\2\2\2\u2156\u2157\7K\2\2\u2157\u2158\7U\2\2\u2158") - buf.write("\u2159\7U\2\2\u2159\u215a\7K\2\2\u215a\u215b\7O\2\2\u215b") - buf.write("\u215c\7R\2\2\u215c\u215d\7N\2\2\u215d\u215e\7G\2\2\u215e") - buf.write("\u05cc\3\2\2\2\u215f\u2160\7K\2\2\u2160\u2161\7U\2\2\u2161") - buf.write("\u2162\7a\2\2\u2162\u2163\7H\2\2\u2163\u2164\7T\2\2\u2164") - buf.write("\u2165\7G\2\2\u2165\u2166\7G\2\2\u2166\u2167\7a\2\2\u2167") - buf.write("\u2168\7N\2\2\u2168\u2169\7Q\2\2\u2169\u216a\7E\2\2\u216a") - buf.write("\u216b\7M\2\2\u216b\u05ce\3\2\2\2\u216c\u216d\7K\2\2\u216d") - buf.write("\u216e\7U\2\2\u216e\u216f\7a\2\2\u216f\u2170\7K\2\2\u2170") - buf.write("\u2171\7R\2\2\u2171\u2172\7X\2\2\u2172\u2173\7\66\2\2") - buf.write("\u2173\u05d0\3\2\2\2\u2174\u2175\7K\2\2\u2175\u2176\7") - buf.write("U\2\2\u2176\u2177\7a\2\2\u2177\u2178\7K\2\2\u2178\u2179") - buf.write("\7R\2\2\u2179\u217a\7X\2\2\u217a\u217b\7\66\2\2\u217b") - buf.write("\u217c\7a\2\2\u217c\u217d\7E\2\2\u217d\u217e\7Q\2\2\u217e") - buf.write("\u217f\7O\2\2\u217f\u2180\7R\2\2\u2180\u2181\7C\2\2\u2181") - buf.write("\u2182\7V\2\2\u2182\u05d2\3\2\2\2\u2183\u2184\7K\2\2\u2184") - buf.write("\u2185\7U\2\2\u2185\u2186\7a\2\2\u2186\u2187\7K\2\2\u2187") - buf.write("\u2188\7R\2\2\u2188\u2189\7X\2\2\u2189\u218a\7\66\2\2") - buf.write("\u218a\u218b\7a\2\2\u218b\u218c\7O\2\2\u218c\u218d\7C") - buf.write("\2\2\u218d\u218e\7R\2\2\u218e\u218f\7R\2\2\u218f\u2190") - buf.write("\7G\2\2\u2190\u2191\7F\2\2\u2191\u05d4\3\2\2\2\u2192\u2193") - buf.write("\7K\2\2\u2193\u2194\7U\2\2\u2194\u2195\7a\2\2\u2195\u2196") - buf.write("\7K\2\2\u2196\u2197\7R\2\2\u2197\u2198\7X\2\2\u2198\u2199") - buf.write("\78\2\2\u2199\u05d6\3\2\2\2\u219a\u219b\7K\2\2\u219b\u219c") - buf.write("\7U\2\2\u219c\u219d\7a\2\2\u219d\u219e\7W\2\2\u219e\u219f") - buf.write("\7U\2\2\u219f\u21a0\7G\2\2\u21a0\u21a1\7F\2\2\u21a1\u21a2") - buf.write("\7a\2\2\u21a2\u21a3\7N\2\2\u21a3\u21a4\7Q\2\2\u21a4\u21a5") - buf.write("\7E\2\2\u21a5\u21a6\7M\2\2\u21a6\u05d8\3\2\2\2\u21a7\u21a8") - buf.write("\7N\2\2\u21a8\u21a9\7C\2\2\u21a9\u21aa\7U\2\2\u21aa\u21ab") - buf.write("\7V\2\2\u21ab\u21ac\7a\2\2\u21ac\u21ad\7K\2\2\u21ad\u21ae") - buf.write("\7P\2\2\u21ae\u21af\7U\2\2\u21af\u21b0\7G\2\2\u21b0\u21b1") - buf.write("\7T\2\2\u21b1\u21b2\7V\2\2\u21b2\u21b3\7a\2\2\u21b3\u21b4") - buf.write("\7K\2\2\u21b4\u21b5\7F\2\2\u21b5\u05da\3\2\2\2\u21b6\u21b7") - buf.write("\7N\2\2\u21b7\u21b8\7E\2\2\u21b8\u21b9\7C\2\2\u21b9\u21ba") - buf.write("\7U\2\2\u21ba\u21bb\7G\2\2\u21bb\u05dc\3\2\2\2\u21bc\u21bd") - buf.write("\7N\2\2\u21bd\u21be\7G\2\2\u21be\u21bf\7C\2\2\u21bf\u21c0") - buf.write("\7U\2\2\u21c0\u21c1\7V\2\2\u21c1\u05de\3\2\2\2\u21c2\u21c3") - buf.write("\7N\2\2\u21c3\u21c4\7G\2\2\u21c4\u21c5\7P\2\2\u21c5\u21c6") - buf.write("\7I\2\2\u21c6\u21c7\7V\2\2\u21c7\u21c8\7J\2\2\u21c8\u05e0") - buf.write("\3\2\2\2\u21c9\u21ca\7N\2\2\u21ca\u21cb\7K\2\2\u21cb\u21cc") - buf.write("\7P\2\2\u21cc\u21cd\7G\2\2\u21cd\u21ce\7H\2\2\u21ce\u21cf") - buf.write("\7T\2\2\u21cf\u21d0\7Q\2\2\u21d0\u21d1\7O\2\2\u21d1\u21d2") - buf.write("\7V\2\2\u21d2\u21d3\7G\2\2\u21d3\u21d4\7Z\2\2\u21d4\u21d5") - buf.write("\7V\2\2\u21d5\u05e2\3\2\2\2\u21d6\u21d7\7N\2\2\u21d7\u21d8") - buf.write("\7K\2\2\u21d8\u21d9\7P\2\2\u21d9\u21da\7G\2\2\u21da\u21db") - buf.write("\7H\2\2\u21db\u21dc\7T\2\2\u21dc\u21dd\7Q\2\2\u21dd\u21de") - buf.write("\7O\2\2\u21de\u21df\7Y\2\2\u21df\u21e0\7M\2\2\u21e0\u21e1") - buf.write("\7D\2\2\u21e1\u05e4\3\2\2\2\u21e2\u21e3\7N\2\2\u21e3\u21e4") - buf.write("\7K\2\2\u21e4\u21e5\7P\2\2\u21e5\u21e6\7G\2\2\u21e6\u21e7") - buf.write("\7U\2\2\u21e7\u21e8\7V\2\2\u21e8\u21e9\7T\2\2\u21e9\u21ea") - buf.write("\7K\2\2\u21ea\u21eb\7P\2\2\u21eb\u21ec\7I\2\2\u21ec\u21ed") - buf.write("\7H\2\2\u21ed\u21ee\7T\2\2\u21ee\u21ef\7Q\2\2\u21ef\u21f0") - buf.write("\7O\2\2\u21f0\u21f1\7V\2\2\u21f1\u21f2\7G\2\2\u21f2\u21f3") - buf.write("\7Z\2\2\u21f3\u21f4\7V\2\2\u21f4\u05e6\3\2\2\2\u21f5\u21f6") - buf.write("\7N\2\2\u21f6\u21f7\7K\2\2\u21f7\u21f8\7P\2\2\u21f8\u21f9") - buf.write("\7G\2\2\u21f9\u21fa\7U\2\2\u21fa\u21fb\7V\2\2\u21fb\u21fc") - buf.write("\7T\2\2\u21fc\u21fd\7K\2\2\u21fd\u21fe\7P\2\2\u21fe\u21ff") - buf.write("\7I\2\2\u21ff\u2200\7H\2\2\u2200\u2201\7T\2\2\u2201\u2202") - buf.write("\7Q\2\2\u2202\u2203\7O\2\2\u2203\u2204\7Y\2\2\u2204\u2205") - buf.write("\7M\2\2\u2205\u2206\7D\2\2\u2206\u05e8\3\2\2\2\u2207\u2208") - buf.write("\7N\2\2\u2208\u2209\7P\2\2\u2209\u05ea\3\2\2\2\u220a\u220b") - buf.write("\7N\2\2\u220b\u220c\7Q\2\2\u220c\u220d\7C\2\2\u220d\u220e") - buf.write("\7F\2\2\u220e\u220f\7a\2\2\u220f\u2210\7H\2\2\u2210\u2211") - buf.write("\7K\2\2\u2211\u2212\7N\2\2\u2212\u2213\7G\2\2\u2213\u05ec") - buf.write("\3\2\2\2\u2214\u2215\7N\2\2\u2215\u2216\7Q\2\2\u2216\u2217") - buf.write("\7E\2\2\u2217\u2218\7C\2\2\u2218\u2219\7V\2\2\u2219\u221a") - buf.write("\7G\2\2\u221a\u05ee\3\2\2\2\u221b\u221c\7N\2\2\u221c\u221d") - buf.write("\7Q\2\2\u221d\u221e\7I\2\2\u221e\u05f0\3\2\2\2\u221f\u2220") - buf.write("\7N\2\2\u2220\u2221\7Q\2\2\u2221\u2222\7I\2\2\u2222\u2223") - buf.write("\7\63\2\2\u2223\u2224\7\62\2\2\u2224\u05f2\3\2\2\2\u2225") - buf.write("\u2226\7N\2\2\u2226\u2227\7Q\2\2\u2227\u2228\7I\2\2\u2228") - buf.write("\u2229\7\64\2\2\u2229\u05f4\3\2\2\2\u222a\u222b\7N\2\2") - buf.write("\u222b\u222c\7Q\2\2\u222c\u222d\7Y\2\2\u222d\u222e\7G") - buf.write("\2\2\u222e\u222f\7T\2\2\u222f\u05f6\3\2\2\2\u2230\u2231") - buf.write("\7N\2\2\u2231\u2232\7R\2\2\u2232\u2233\7C\2\2\u2233\u2234") - buf.write("\7F\2\2\u2234\u05f8\3\2\2\2\u2235\u2236\7N\2\2\u2236\u2237") - buf.write("\7V\2\2\u2237\u2238\7T\2\2\u2238\u2239\7K\2\2\u2239\u223a") - buf.write("\7O\2\2\u223a\u05fa\3\2\2\2\u223b\u223c\7O\2\2\u223c\u223d") - buf.write("\7C\2\2\u223d\u223e\7M\2\2\u223e\u223f\7G\2\2\u223f\u2240") - buf.write("\7F\2\2\u2240\u2241\7C\2\2\u2241\u2242\7V\2\2\u2242\u2243") - buf.write("\7G\2\2\u2243\u05fc\3\2\2\2\u2244\u2245\7O\2\2\u2245\u2246") - buf.write("\7C\2\2\u2246\u2247\7M\2\2\u2247\u2248\7G\2\2\u2248\u2249") - buf.write("\7V\2\2\u2249\u224a\7K\2\2\u224a\u224b\7O\2\2\u224b\u224c") - buf.write("\7G\2\2\u224c\u05fe\3\2\2\2\u224d\u224e\7O\2\2\u224e\u224f") - buf.write("\7C\2\2\u224f\u2250\7M\2\2\u2250\u2251\7G\2\2\u2251\u2252") - buf.write("\7a\2\2\u2252\u2253\7U\2\2\u2253\u2254\7G\2\2\u2254\u2255") - buf.write("\7V\2\2\u2255\u0600\3\2\2\2\u2256\u2257\7O\2\2\u2257\u2258") - buf.write("\7C\2\2\u2258\u2259\7U\2\2\u2259\u225a\7V\2\2\u225a\u225b") - buf.write("\7G\2\2\u225b\u225c\7T\2\2\u225c\u225d\7a\2\2\u225d\u225e") - buf.write("\7R\2\2\u225e\u225f\7Q\2\2\u225f\u2260\7U\2\2\u2260\u2261") - buf.write("\7a\2\2\u2261\u2262\7Y\2\2\u2262\u2263\7C\2\2\u2263\u2264") - buf.write("\7K\2\2\u2264\u2265\7V\2\2\u2265\u0602\3\2\2\2\u2266\u2267") - buf.write("\7O\2\2\u2267\u2268\7D\2\2\u2268\u2269\7T\2\2\u2269\u226a") - buf.write("\7E\2\2\u226a\u226b\7Q\2\2\u226b\u226c\7P\2\2\u226c\u226d") - buf.write("\7V\2\2\u226d\u226e\7C\2\2\u226e\u226f\7K\2\2\u226f\u2270") - buf.write("\7P\2\2\u2270\u2271\7U\2\2\u2271\u0604\3\2\2\2\u2272\u2273") - buf.write("\7O\2\2\u2273\u2274\7D\2\2\u2274\u2275\7T\2\2\u2275\u2276") - buf.write("\7F\2\2\u2276\u2277\7K\2\2\u2277\u2278\7U\2\2\u2278\u2279") - buf.write("\7L\2\2\u2279\u227a\7Q\2\2\u227a\u227b\7K\2\2\u227b\u227c") - buf.write("\7P\2\2\u227c\u227d\7V\2\2\u227d\u0606\3\2\2\2\u227e\u227f") - buf.write("\7O\2\2\u227f\u2280\7D\2\2\u2280\u2281\7T\2\2\u2281\u2282") - buf.write("\7G\2\2\u2282\u2283\7S\2\2\u2283\u2284\7W\2\2\u2284\u2285") - buf.write("\7C\2\2\u2285\u2286\7N\2\2\u2286\u0608\3\2\2\2\u2287\u2288") - buf.write("\7O\2\2\u2288\u2289\7D\2\2\u2289\u228a\7T\2\2\u228a\u228b") - buf.write("\7K\2\2\u228b\u228c\7P\2\2\u228c\u228d\7V\2\2\u228d\u228e") - buf.write("\7G\2\2\u228e\u228f\7T\2\2\u228f\u2290\7U\2\2\u2290\u2291") - buf.write("\7G\2\2\u2291\u2292\7E\2\2\u2292\u2293\7V\2\2\u2293\u2294") - buf.write("\7U\2\2\u2294\u060a\3\2\2\2\u2295\u2296\7O\2\2\u2296\u2297") - buf.write("\7D\2\2\u2297\u2298\7T\2\2\u2298\u2299\7Q\2\2\u2299\u229a") - buf.write("\7X\2\2\u229a\u229b\7G\2\2\u229b\u229c\7T\2\2\u229c\u229d") - buf.write("\7N\2\2\u229d\u229e\7C\2\2\u229e\u229f\7R\2\2\u229f\u22a0") - buf.write("\7U\2\2\u22a0\u060c\3\2\2\2\u22a1\u22a2\7O\2\2\u22a2\u22a3") - buf.write("\7D\2\2\u22a3\u22a4\7T\2\2\u22a4\u22a5\7V\2\2\u22a5\u22a6") - buf.write("\7Q\2\2\u22a6\u22a7\7W\2\2\u22a7\u22a8\7E\2\2\u22a8\u22a9") - buf.write("\7J\2\2\u22a9\u22aa\7G\2\2\u22aa\u22ab\7U\2\2\u22ab\u060e") - buf.write("\3\2\2\2\u22ac\u22ad\7O\2\2\u22ad\u22ae\7D\2\2\u22ae\u22af") - buf.write("\7T\2\2\u22af\u22b0\7Y\2\2\u22b0\u22b1\7K\2\2\u22b1\u22b2") - buf.write("\7V\2\2\u22b2\u22b3\7J\2\2\u22b3\u22b4\7K\2\2\u22b4\u22b5") - buf.write("\7P\2\2\u22b5\u0610\3\2\2\2\u22b6\u22b7\7O\2\2\u22b7\u22b8") - buf.write("\7F\2\2\u22b8\u22b9\7\67\2\2\u22b9\u0612\3\2\2\2\u22ba") - buf.write("\u22bb\7O\2\2\u22bb\u22bc\7N\2\2\u22bc\u22bd\7K\2\2\u22bd") - buf.write("\u22be\7P\2\2\u22be\u22bf\7G\2\2\u22bf\u22c0\7H\2\2\u22c0") - buf.write("\u22c1\7T\2\2\u22c1\u22c2\7Q\2\2\u22c2\u22c3\7O\2\2\u22c3") - buf.write("\u22c4\7V\2\2\u22c4\u22c5\7G\2\2\u22c5\u22c6\7Z\2\2\u22c6") - buf.write("\u22c7\7V\2\2\u22c7\u0614\3\2\2\2\u22c8\u22c9\7O\2\2\u22c9") - buf.write("\u22ca\7N\2\2\u22ca\u22cb\7K\2\2\u22cb\u22cc\7P\2\2\u22cc") - buf.write("\u22cd\7G\2\2\u22cd\u22ce\7H\2\2\u22ce\u22cf\7T\2\2\u22cf") - buf.write("\u22d0\7Q\2\2\u22d0\u22d1\7O\2\2\u22d1\u22d2\7Y\2\2\u22d2") - buf.write("\u22d3\7M\2\2\u22d3\u22d4\7D\2\2\u22d4\u0616\3\2\2\2\u22d5") - buf.write("\u22d6\7O\2\2\u22d6\u22d7\7Q\2\2\u22d7\u22d8\7P\2\2\u22d8") - buf.write("\u22d9\7V\2\2\u22d9\u22da\7J\2\2\u22da\u22db\7P\2\2\u22db") - buf.write("\u22dc\7C\2\2\u22dc\u22dd\7O\2\2\u22dd\u22de\7G\2\2\u22de") - buf.write("\u0618\3\2\2\2\u22df\u22e0\7O\2\2\u22e0\u22e1\7R\2\2\u22e1") - buf.write("\u22e2\7Q\2\2\u22e2\u22e3\7K\2\2\u22e3\u22e4\7P\2\2\u22e4") - buf.write("\u22e5\7V\2\2\u22e5\u22e6\7H\2\2\u22e6\u22e7\7T\2\2\u22e7") - buf.write("\u22e8\7Q\2\2\u22e8\u22e9\7O\2\2\u22e9\u22ea\7V\2\2\u22ea") - buf.write("\u22eb\7G\2\2\u22eb\u22ec\7Z\2\2\u22ec\u22ed\7V\2\2\u22ed") - buf.write("\u061a\3\2\2\2\u22ee\u22ef\7O\2\2\u22ef\u22f0\7R\2\2\u22f0") - buf.write("\u22f1\7Q\2\2\u22f1\u22f2\7K\2\2\u22f2\u22f3\7P\2\2\u22f3") - buf.write("\u22f4\7V\2\2\u22f4\u22f5\7H\2\2\u22f5\u22f6\7T\2\2\u22f6") - buf.write("\u22f7\7Q\2\2\u22f7\u22f8\7O\2\2\u22f8\u22f9\7Y\2\2\u22f9") - buf.write("\u22fa\7M\2\2\u22fa\u22fb\7D\2\2\u22fb\u061c\3\2\2\2\u22fc") - buf.write("\u22fd\7O\2\2\u22fd\u22fe\7R\2\2\u22fe\u22ff\7Q\2\2\u22ff") - buf.write("\u2300\7N\2\2\u2300\u2301\7[\2\2\u2301\u2302\7H\2\2\u2302") - buf.write("\u2303\7T\2\2\u2303\u2304\7Q\2\2\u2304\u2305\7O\2\2\u2305") - buf.write("\u2306\7V\2\2\u2306\u2307\7G\2\2\u2307\u2308\7Z\2\2\u2308") - buf.write("\u2309\7V\2\2\u2309\u061e\3\2\2\2\u230a\u230b\7O\2\2\u230b") - buf.write("\u230c\7R\2\2\u230c\u230d\7Q\2\2\u230d\u230e\7N\2\2\u230e") - buf.write("\u230f\7[\2\2\u230f\u2310\7H\2\2\u2310\u2311\7T\2\2\u2311") - buf.write("\u2312\7Q\2\2\u2312\u2313\7O\2\2\u2313\u2314\7Y\2\2\u2314") - buf.write("\u2315\7M\2\2\u2315\u2316\7D\2\2\u2316\u0620\3\2\2\2\u2317") - buf.write("\u2318\7O\2\2\u2318\u2319\7W\2\2\u2319\u231a\7N\2\2\u231a") - buf.write("\u231b\7V\2\2\u231b\u231c\7K\2\2\u231c\u231d\7N\2\2\u231d") - buf.write("\u231e\7K\2\2\u231e\u231f\7P\2\2\u231f\u2320\7G\2\2\u2320") - buf.write("\u2321\7U\2\2\u2321\u2322\7V\2\2\u2322\u2323\7T\2\2\u2323") - buf.write("\u2324\7K\2\2\u2324\u2325\7P\2\2\u2325\u2326\7I\2\2\u2326") - buf.write("\u2327\7H\2\2\u2327\u2328\7T\2\2\u2328\u2329\7Q\2\2\u2329") - buf.write("\u232a\7O\2\2\u232a\u232b\7V\2\2\u232b\u232c\7G\2\2\u232c") - buf.write("\u232d\7Z\2\2\u232d\u232e\7V\2\2\u232e\u0622\3\2\2\2\u232f") - buf.write("\u2330\7O\2\2\u2330\u2331\7W\2\2\u2331\u2332\7N\2\2\u2332") - buf.write("\u2333\7V\2\2\u2333\u2334\7K\2\2\u2334\u2335\7N\2\2\u2335") - buf.write("\u2336\7K\2\2\u2336\u2337\7P\2\2\u2337\u2338\7G\2\2\u2338") - buf.write("\u2339\7U\2\2\u2339\u233a\7V\2\2\u233a\u233b\7T\2\2\u233b") - buf.write("\u233c\7K\2\2\u233c\u233d\7P\2\2\u233d\u233e\7I\2\2\u233e") - buf.write("\u233f\7H\2\2\u233f\u2340\7T\2\2\u2340\u2341\7Q\2\2\u2341") - buf.write("\u2342\7O\2\2\u2342\u2343\7Y\2\2\u2343\u2344\7M\2\2\u2344") - buf.write("\u2345\7D\2\2\u2345\u0624\3\2\2\2\u2346\u2347\7O\2\2\u2347") - buf.write("\u2348\7W\2\2\u2348\u2349\7N\2\2\u2349\u234a\7V\2\2\u234a") - buf.write("\u234b\7K\2\2\u234b\u234c\7R\2\2\u234c\u234d\7Q\2\2\u234d") - buf.write("\u234e\7K\2\2\u234e\u234f\7P\2\2\u234f\u2350\7V\2\2\u2350") - buf.write("\u2351\7H\2\2\u2351\u2352\7T\2\2\u2352\u2353\7Q\2\2\u2353") - buf.write("\u2354\7O\2\2\u2354\u2355\7V\2\2\u2355\u2356\7G\2\2\u2356") - buf.write("\u2357\7Z\2\2\u2357\u2358\7V\2\2\u2358\u0626\3\2\2\2\u2359") - buf.write("\u235a\7O\2\2\u235a\u235b\7W\2\2\u235b\u235c\7N\2\2\u235c") - buf.write("\u235d\7V\2\2\u235d\u235e\7K\2\2\u235e\u235f\7R\2\2\u235f") - buf.write("\u2360\7Q\2\2\u2360\u2361\7K\2\2\u2361\u2362\7P\2\2\u2362") - buf.write("\u2363\7V\2\2\u2363\u2364\7H\2\2\u2364\u2365\7T\2\2\u2365") - buf.write("\u2366\7Q\2\2\u2366\u2367\7O\2\2\u2367\u2368\7Y\2\2\u2368") - buf.write("\u2369\7M\2\2\u2369\u236a\7D\2\2\u236a\u0628\3\2\2\2\u236b") - buf.write("\u236c\7O\2\2\u236c\u236d\7W\2\2\u236d\u236e\7N\2\2\u236e") - buf.write("\u236f\7V\2\2\u236f\u2370\7K\2\2\u2370\u2371\7R\2\2\u2371") - buf.write("\u2372\7Q\2\2\u2372\u2373\7N\2\2\u2373\u2374\7[\2\2\u2374") - buf.write("\u2375\7I\2\2\u2375\u2376\7Q\2\2\u2376\u2377\7P\2\2\u2377") - buf.write("\u2378\7H\2\2\u2378\u2379\7T\2\2\u2379\u237a\7Q\2\2\u237a") - buf.write("\u237b\7O\2\2\u237b\u237c\7V\2\2\u237c\u237d\7G\2\2\u237d") - buf.write("\u237e\7Z\2\2\u237e\u237f\7V\2\2\u237f\u062a\3\2\2\2\u2380") - buf.write("\u2381\7O\2\2\u2381\u2382\7W\2\2\u2382\u2383\7N\2\2\u2383") - buf.write("\u2384\7V\2\2\u2384\u2385\7K\2\2\u2385\u2386\7R\2\2\u2386") - buf.write("\u2387\7Q\2\2\u2387\u2388\7N\2\2\u2388\u2389\7[\2\2\u2389") - buf.write("\u238a\7I\2\2\u238a\u238b\7Q\2\2\u238b\u238c\7P\2\2\u238c") - buf.write("\u238d\7H\2\2\u238d\u238e\7T\2\2\u238e\u238f\7Q\2\2\u238f") - buf.write("\u2390\7O\2\2\u2390\u2391\7Y\2\2\u2391\u2392\7M\2\2\u2392") - buf.write("\u2393\7D\2\2\u2393\u062c\3\2\2\2\u2394\u2395\7P\2\2\u2395") - buf.write("\u2396\7C\2\2\u2396\u2397\7O\2\2\u2397\u2398\7G\2\2\u2398") - buf.write("\u2399\7a\2\2\u2399\u239a\7E\2\2\u239a\u239b\7Q\2\2\u239b") - buf.write("\u239c\7P\2\2\u239c\u239d\7U\2\2\u239d\u239e\7V\2\2\u239e") - buf.write("\u062e\3\2\2\2\u239f\u23a0\7P\2\2\u23a0\u23a1\7W\2\2\u23a1") - buf.write("\u23a2\7N\2\2\u23a2\u23a3\7N\2\2\u23a3\u23a4\7K\2\2\u23a4") - buf.write("\u23a5\7H\2\2\u23a5\u0630\3\2\2\2\u23a6\u23a7\7P\2\2\u23a7") - buf.write("\u23a8\7W\2\2\u23a8\u23a9\7O\2\2\u23a9\u23aa\7I\2\2\u23aa") - buf.write("\u23ab\7G\2\2\u23ab\u23ac\7Q\2\2\u23ac\u23ad\7O\2\2\u23ad") - buf.write("\u23ae\7G\2\2\u23ae\u23af\7V\2\2\u23af\u23b0\7T\2\2\u23b0") - buf.write("\u23b1\7K\2\2\u23b1\u23b2\7G\2\2\u23b2\u23b3\7U\2\2\u23b3") - buf.write("\u0632\3\2\2\2\u23b4\u23b5\7P\2\2\u23b5\u23b6\7W\2\2\u23b6") - buf.write("\u23b7\7O\2\2\u23b7\u23b8\7K\2\2\u23b8\u23b9\7P\2\2\u23b9") - buf.write("\u23ba\7V\2\2\u23ba\u23bb\7G\2\2\u23bb\u23bc\7T\2\2\u23bc") - buf.write("\u23bd\7K\2\2\u23bd\u23be\7Q\2\2\u23be\u23bf\7T\2\2\u23bf") - buf.write("\u23c0\7T\2\2\u23c0\u23c1\7K\2\2\u23c1\u23c2\7P\2\2\u23c2") - buf.write("\u23c3\7I\2\2\u23c3\u23c4\7U\2\2\u23c4\u0634\3\2\2\2\u23c5") - buf.write("\u23c6\7P\2\2\u23c6\u23c7\7W\2\2\u23c7\u23c8\7O\2\2\u23c8") - buf.write("\u23c9\7R\2\2\u23c9\u23ca\7Q\2\2\u23ca\u23cb\7K\2\2\u23cb") - buf.write("\u23cc\7P\2\2\u23cc\u23cd\7V\2\2\u23cd\u23ce\7U\2\2\u23ce") - buf.write("\u0636\3\2\2\2\u23cf\u23d0\7Q\2\2\u23d0\u23d1\7E\2\2\u23d1") - buf.write("\u23d2\7V\2\2\u23d2\u0638\3\2\2\2\u23d3\u23d4\7Q\2\2\u23d4") - buf.write("\u23d5\7E\2\2\u23d5\u23d6\7V\2\2\u23d6\u23d7\7G\2\2\u23d7") - buf.write("\u23d8\7V\2\2\u23d8\u23d9\7a\2\2\u23d9\u23da\7N\2\2\u23da") - buf.write("\u23db\7G\2\2\u23db\u23dc\7P\2\2\u23dc\u23dd\7I\2\2\u23dd") - buf.write("\u23de\7V\2\2\u23de\u23df\7J\2\2\u23df\u063a\3\2\2\2\u23e0") - buf.write("\u23e1\7Q\2\2\u23e1\u23e2\7T\2\2\u23e2\u23e3\7F\2\2\u23e3") - buf.write("\u063c\3\2\2\2\u23e4\u23e5\7Q\2\2\u23e5\u23e6\7X\2\2\u23e6") - buf.write("\u23e7\7G\2\2\u23e7\u23e8\7T\2\2\u23e8\u23e9\7N\2\2\u23e9") - buf.write("\u23ea\7C\2\2\u23ea\u23eb\7R\2\2\u23eb\u23ec\7U\2\2\u23ec") - buf.write("\u063e\3\2\2\2\u23ed\u23ee\7R\2\2\u23ee\u23ef\7G\2\2\u23ef") - buf.write("\u23f0\7T\2\2\u23f0\u23f1\7K\2\2\u23f1\u23f2\7Q\2\2\u23f2") - buf.write("\u23f3\7F\2\2\u23f3\u23f4\7a\2\2\u23f4\u23f5\7C\2\2\u23f5") - buf.write("\u23f6\7F\2\2\u23f6\u23f7\7F\2\2\u23f7\u0640\3\2\2\2\u23f8") - buf.write("\u23f9\7R\2\2\u23f9\u23fa\7G\2\2\u23fa\u23fb\7T\2\2\u23fb") - buf.write("\u23fc\7K\2\2\u23fc\u23fd\7Q\2\2\u23fd\u23fe\7F\2\2\u23fe") - buf.write("\u23ff\7a\2\2\u23ff\u2400\7F\2\2\u2400\u2401\7K\2\2\u2401") - buf.write("\u2402\7H\2\2\u2402\u2403\7H\2\2\u2403\u0642\3\2\2\2\u2404") - buf.write("\u2405\7R\2\2\u2405\u2406\7K\2\2\u2406\u0644\3\2\2\2\u2407") - buf.write("\u2408\7R\2\2\u2408\u2409\7Q\2\2\u2409\u240a\7K\2\2\u240a") - buf.write("\u240b\7P\2\2\u240b\u240c\7V\2\2\u240c\u240d\7H\2\2\u240d") - buf.write("\u240e\7T\2\2\u240e\u240f\7Q\2\2\u240f\u2410\7O\2\2\u2410") - buf.write("\u2411\7V\2\2\u2411\u2412\7G\2\2\u2412\u2413\7Z\2\2\u2413") - buf.write("\u2414\7V\2\2\u2414\u0646\3\2\2\2\u2415\u2416\7R\2\2\u2416") - buf.write("\u2417\7Q\2\2\u2417\u2418\7K\2\2\u2418\u2419\7P\2\2\u2419") - buf.write("\u241a\7V\2\2\u241a\u241b\7H\2\2\u241b\u241c\7T\2\2\u241c") - buf.write("\u241d\7Q\2\2\u241d\u241e\7O\2\2\u241e\u241f\7Y\2\2\u241f") - buf.write("\u2420\7M\2\2\u2420\u2421\7D\2\2\u2421\u0648\3\2\2\2\u2422") - buf.write("\u2423\7R\2\2\u2423\u2424\7Q\2\2\u2424\u2425\7K\2\2\u2425") - buf.write("\u2426\7P\2\2\u2426\u2427\7V\2\2\u2427\u2428\7P\2\2\u2428") - buf.write("\u064a\3\2\2\2\u2429\u242a\7R\2\2\u242a\u242b\7Q\2\2\u242b") - buf.write("\u242c\7N\2\2\u242c\u242d\7[\2\2\u242d\u242e\7H\2\2\u242e") - buf.write("\u242f\7T\2\2\u242f\u2430\7Q\2\2\u2430\u2431\7O\2\2\u2431") - buf.write("\u2432\7V\2\2\u2432\u2433\7G\2\2\u2433\u2434\7Z\2\2\u2434") - buf.write("\u2435\7V\2\2\u2435\u064c\3\2\2\2\u2436\u2437\7R\2\2\u2437") - buf.write("\u2438\7Q\2\2\u2438\u2439\7N\2\2\u2439\u243a\7[\2\2\u243a") - buf.write("\u243b\7H\2\2\u243b\u243c\7T\2\2\u243c\u243d\7Q\2\2\u243d") - buf.write("\u243e\7O\2\2\u243e\u243f\7Y\2\2\u243f\u2440\7M\2\2\u2440") - buf.write("\u2441\7D\2\2\u2441\u064e\3\2\2\2\u2442\u2443\7R\2\2\u2443") - buf.write("\u2444\7Q\2\2\u2444\u2445\7N\2\2\u2445\u2446\7[\2\2\u2446") - buf.write("\u2447\7I\2\2\u2447\u2448\7Q\2\2\u2448\u2449\7P\2\2\u2449") - buf.write("\u244a\7H\2\2\u244a\u244b\7T\2\2\u244b\u244c\7Q\2\2\u244c") - buf.write("\u244d\7O\2\2\u244d\u244e\7V\2\2\u244e\u244f\7G\2\2\u244f") - buf.write("\u2450\7Z\2\2\u2450\u2451\7V\2\2\u2451\u0650\3\2\2\2\u2452") - buf.write("\u2453\7R\2\2\u2453\u2454\7Q\2\2\u2454\u2455\7N\2\2\u2455") - buf.write("\u2456\7[\2\2\u2456\u2457\7I\2\2\u2457\u2458\7Q\2\2\u2458") - buf.write("\u2459\7P\2\2\u2459\u245a\7H\2\2\u245a\u245b\7T\2\2\u245b") - buf.write("\u245c\7Q\2\2\u245c\u245d\7O\2\2\u245d\u245e\7Y\2\2\u245e") - buf.write("\u245f\7M\2\2\u245f\u2460\7D\2\2\u2460\u0652\3\2\2\2\u2461") - buf.write("\u2462\7R\2\2\u2462\u2463\7Q\2\2\u2463\u2464\7Y\2\2\u2464") - buf.write("\u0654\3\2\2\2\u2465\u2466\7R\2\2\u2466\u2467\7Q\2\2\u2467") - buf.write("\u2468\7Y\2\2\u2468\u2469\7G\2\2\u2469\u246a\7T\2\2\u246a") - buf.write("\u0656\3\2\2\2\u246b\u246c\7S\2\2\u246c\u246d\7W\2\2\u246d") - buf.write("\u246e\7Q\2\2\u246e\u246f\7V\2\2\u246f\u2470\7G\2\2\u2470") - buf.write("\u0658\3\2\2\2\u2471\u2472\7T\2\2\u2472\u2473\7C\2\2\u2473") - buf.write("\u2474\7F\2\2\u2474\u2475\7K\2\2\u2475\u2476\7C\2\2\u2476") - buf.write("\u2477\7P\2\2\u2477\u2478\7U\2\2\u2478\u065a\3\2\2\2\u2479") - buf.write("\u247a\7T\2\2\u247a\u247b\7C\2\2\u247b\u247c\7P\2\2\u247c") - buf.write("\u247d\7F\2\2\u247d\u065c\3\2\2\2\u247e\u247f\7T\2\2\u247f") - buf.write("\u2480\7C\2\2\u2480\u2481\7P\2\2\u2481\u2482\7F\2\2\u2482") - buf.write("\u2483\7Q\2\2\u2483\u2484\7O\2\2\u2484\u2485\7a\2\2\u2485") - buf.write("\u2486\7D\2\2\u2486\u2487\7[\2\2\u2487\u2488\7V\2\2\u2488") - buf.write("\u2489\7G\2\2\u2489\u248a\7U\2\2\u248a\u065e\3\2\2\2\u248b") - buf.write("\u248c\7T\2\2\u248c\u248d\7G\2\2\u248d\u248e\7N\2\2\u248e") - buf.write("\u248f\7G\2\2\u248f\u2490\7C\2\2\u2490\u2491\7U\2\2\u2491") - buf.write("\u2492\7G\2\2\u2492\u2493\7a\2\2\u2493\u2494\7N\2\2\u2494") - buf.write("\u2495\7Q\2\2\u2495\u2496\7E\2\2\u2496\u2497\7M\2\2\u2497") - buf.write("\u0660\3\2\2\2\u2498\u2499\7T\2\2\u2499\u249a\7G\2\2\u249a") - buf.write("\u249b\7X\2\2\u249b\u249c\7G\2\2\u249c\u249d\7T\2\2\u249d") - buf.write("\u249e\7U\2\2\u249e\u249f\7G\2\2\u249f\u0662\3\2\2\2\u24a0") - buf.write("\u24a1\7T\2\2\u24a1\u24a2\7Q\2\2\u24a2\u24a3\7W\2\2\u24a3") - buf.write("\u24a4\7P\2\2\u24a4\u24a5\7F\2\2\u24a5\u0664\3\2\2\2\u24a6") - buf.write("\u24a7\7T\2\2\u24a7\u24a8\7Q\2\2\u24a8\u24a9\7Y\2\2\u24a9") - buf.write("\u24aa\7a\2\2\u24aa\u24ab\7E\2\2\u24ab\u24ac\7Q\2\2\u24ac") - buf.write("\u24ad\7W\2\2\u24ad\u24ae\7P\2\2\u24ae\u24af\7V\2\2\u24af") - buf.write("\u0666\3\2\2\2\u24b0\u24b1\7T\2\2\u24b1\u24b2\7R\2\2\u24b2") - buf.write("\u24b3\7C\2\2\u24b3\u24b4\7F\2\2\u24b4\u0668\3\2\2\2\u24b5") - buf.write("\u24b6\7T\2\2\u24b6\u24b7\7V\2\2\u24b7\u24b8\7T\2\2\u24b8") - buf.write("\u24b9\7K\2\2\u24b9\u24ba\7O\2\2\u24ba\u066a\3\2\2\2\u24bb") - buf.write("\u24bc\7U\2\2\u24bc\u24bd\7G\2\2\u24bd\u24be\7E\2\2\u24be") - buf.write("\u24bf\7a\2\2\u24bf\u24c0\7V\2\2\u24c0\u24c1\7Q\2\2\u24c1") - buf.write("\u24c2\7a\2\2\u24c2\u24c3\7V\2\2\u24c3\u24c4\7K\2\2\u24c4") - buf.write("\u24c5\7O\2\2\u24c5\u24c6\7G\2\2\u24c6\u066c\3\2\2\2\u24c7") - buf.write("\u24c8\7U\2\2\u24c8\u24c9\7G\2\2\u24c9\u24ca\7U\2\2\u24ca") - buf.write("\u24cb\7U\2\2\u24cb\u24cc\7K\2\2\u24cc\u24cd\7Q\2\2\u24cd") - buf.write("\u24ce\7P\2\2\u24ce\u24cf\7a\2\2\u24cf\u24d0\7W\2\2\u24d0") - buf.write("\u24d1\7U\2\2\u24d1\u24d2\7G\2\2\u24d2\u24d3\7T\2\2\u24d3") - buf.write("\u066e\3\2\2\2\u24d4\u24d5\7U\2\2\u24d5\u24d6\7J\2\2\u24d6") - buf.write("\u24d7\7C\2\2\u24d7\u0670\3\2\2\2\u24d8\u24d9\7U\2\2\u24d9") - buf.write("\u24da\7J\2\2\u24da\u24db\7C\2\2\u24db\u24dc\7\63\2\2") - buf.write("\u24dc\u0672\3\2\2\2\u24dd\u24de\7U\2\2\u24de\u24df\7") - buf.write("J\2\2\u24df\u24e0\7C\2\2\u24e0\u24e1\7\64\2\2\u24e1\u0674") - buf.write("\3\2\2\2\u24e2\u24e3\7U\2\2\u24e3\u24e4\7K\2\2\u24e4\u24e5") - buf.write("\7I\2\2\u24e5\u24e6\7P\2\2\u24e6\u0676\3\2\2\2\u24e7\u24e8") - buf.write("\7U\2\2\u24e8\u24e9\7K\2\2\u24e9\u24ea\7P\2\2\u24ea\u0678") - buf.write("\3\2\2\2\u24eb\u24ec\7U\2\2\u24ec\u24ed\7N\2\2\u24ed\u24ee") - buf.write("\7G\2\2\u24ee\u24ef\7G\2\2\u24ef\u24f0\7R\2\2\u24f0\u067a") - buf.write("\3\2\2\2\u24f1\u24f2\7U\2\2\u24f2\u24f3\7Q\2\2\u24f3\u24f4") - buf.write("\7W\2\2\u24f4\u24f5\7P\2\2\u24f5\u24f6\7F\2\2\u24f6\u24f7") - buf.write("\7G\2\2\u24f7\u24f8\7Z\2\2\u24f8\u067c\3\2\2\2\u24f9\u24fa") - buf.write("\7U\2\2\u24fa\u24fb\7S\2\2\u24fb\u24fc\7N\2\2\u24fc\u24fd") - buf.write("\7a\2\2\u24fd\u24fe\7V\2\2\u24fe\u24ff\7J\2\2\u24ff\u2500") - buf.write("\7T\2\2\u2500\u2501\7G\2\2\u2501\u2502\7C\2\2\u2502\u2503") - buf.write("\7F\2\2\u2503\u2504\7a\2\2\u2504\u2505\7Y\2\2\u2505\u2506") - buf.write("\7C\2\2\u2506\u2507\7K\2\2\u2507\u2508\7V\2\2\u2508\u2509") - buf.write("\7a\2\2\u2509\u250a\7C\2\2\u250a\u250b\7H\2\2\u250b\u250c") - buf.write("\7V\2\2\u250c\u250d\7G\2\2\u250d\u250e\7T\2\2\u250e\u250f") - buf.write("\7a\2\2\u250f\u2510\7I\2\2\u2510\u2511\7V\2\2\u2511\u2512") - buf.write("\7K\2\2\u2512\u2513\7F\2\2\u2513\u2514\7U\2\2\u2514\u067e") - buf.write("\3\2\2\2\u2515\u2516\7U\2\2\u2516\u2517\7S\2\2\u2517\u2518") - buf.write("\7T\2\2\u2518\u2519\7V\2\2\u2519\u0680\3\2\2\2\u251a\u251b") - buf.write("\7U\2\2\u251b\u251c\7T\2\2\u251c\u251d\7K\2\2\u251d\u251e") - buf.write("\7F\2\2\u251e\u0682\3\2\2\2\u251f\u2520\7U\2\2\u2520\u2521") - buf.write("\7V\2\2\u2521\u2522\7C\2\2\u2522\u2523\7T\2\2\u2523\u2524") - buf.write("\7V\2\2\u2524\u2525\7R\2\2\u2525\u2526\7Q\2\2\u2526\u2527") - buf.write("\7K\2\2\u2527\u2528\7P\2\2\u2528\u2529\7V\2\2\u2529\u0684") - buf.write("\3\2\2\2\u252a\u252b\7U\2\2\u252b\u252c\7V\2\2\u252c\u252d") - buf.write("\7T\2\2\u252d\u252e\7E\2\2\u252e\u252f\7O\2\2\u252f\u2530") - buf.write("\7R\2\2\u2530\u0686\3\2\2\2\u2531\u2532\7U\2\2\u2532\u2533") - buf.write("\7V\2\2\u2533\u2534\7T\2\2\u2534\u2535\7a\2\2\u2535\u2536") - buf.write("\7V\2\2\u2536\u2537\7Q\2\2\u2537\u2538\7a\2\2\u2538\u2539") - buf.write("\7F\2\2\u2539\u253a\7C\2\2\u253a\u253b\7V\2\2\u253b\u253c") - buf.write("\7G\2\2\u253c\u0688\3\2\2\2\u253d\u253e\7U\2\2\u253e\u253f") - buf.write("\7V\2\2\u253f\u2540\7a\2\2\u2540\u2541\7C\2\2\u2541\u2542") - buf.write("\7T\2\2\u2542\u2543\7G\2\2\u2543\u2544\7C\2\2\u2544\u068a") - buf.write("\3\2\2\2\u2545\u2546\7U\2\2\u2546\u2547\7V\2\2\u2547\u2548") - buf.write("\7a\2\2\u2548\u2549\7C\2\2\u2549\u254a\7U\2\2\u254a\u254b") - buf.write("\7D\2\2\u254b\u254c\7K\2\2\u254c\u254d\7P\2\2\u254d\u254e") - buf.write("\7C\2\2\u254e\u254f\7T\2\2\u254f\u2550\7[\2\2\u2550\u068c") - buf.write("\3\2\2\2\u2551\u2552\7U\2\2\u2552\u2553\7V\2\2\u2553\u2554") - buf.write("\7a\2\2\u2554\u2555\7C\2\2\u2555\u2556\7U\2\2\u2556\u2557") - buf.write("\7V\2\2\u2557\u2558\7G\2\2\u2558\u2559\7Z\2\2\u2559\u255a") - buf.write("\7V\2\2\u255a\u068e\3\2\2\2\u255b\u255c\7U\2\2\u255c\u255d") - buf.write("\7V\2\2\u255d\u255e\7a\2\2\u255e\u255f\7C\2\2\u255f\u2560") - buf.write("\7U\2\2\u2560\u2561\7Y\2\2\u2561\u2562\7M\2\2\u2562\u2563") - buf.write("\7D\2\2\u2563\u0690\3\2\2\2\u2564\u2565\7U\2\2\u2565\u2566") - buf.write("\7V\2\2\u2566\u2567\7a\2\2\u2567\u2568\7C\2\2\u2568\u2569") - buf.write("\7U\2\2\u2569\u256a\7Y\2\2\u256a\u256b\7M\2\2\u256b\u256c") - buf.write("\7V\2\2\u256c\u0692\3\2\2\2\u256d\u256e\7U\2\2\u256e\u256f") - buf.write("\7V\2\2\u256f\u2570\7a\2\2\u2570\u2571\7D\2\2\u2571\u2572") - buf.write("\7W\2\2\u2572\u2573\7H\2\2\u2573\u2574\7H\2\2\u2574\u2575") - buf.write("\7G\2\2\u2575\u2576\7T\2\2\u2576\u0694\3\2\2\2\u2577\u2578") - buf.write("\7U\2\2\u2578\u2579\7V\2\2\u2579\u257a\7a\2\2\u257a\u257b") - buf.write("\7E\2\2\u257b\u257c\7G\2\2\u257c\u257d\7P\2\2\u257d\u257e") - buf.write("\7V\2\2\u257e\u257f\7T\2\2\u257f\u2580\7Q\2\2\u2580\u2581") - buf.write("\7K\2\2\u2581\u2582\7F\2\2\u2582\u0696\3\2\2\2\u2583\u2584") - buf.write("\7U\2\2\u2584\u2585\7V\2\2\u2585\u2586\7a\2\2\u2586\u2587") - buf.write("\7E\2\2\u2587\u2588\7Q\2\2\u2588\u2589\7P\2\2\u2589\u258a") - buf.write("\7V\2\2\u258a\u258b\7C\2\2\u258b\u258c\7K\2\2\u258c\u258d") - buf.write("\7P\2\2\u258d\u258e\7U\2\2\u258e\u0698\3\2\2\2\u258f\u2590") - buf.write("\7U\2\2\u2590\u2591\7V\2\2\u2591\u2592\7a\2\2\u2592\u2593") - buf.write("\7E\2\2\u2593\u2594\7T\2\2\u2594\u2595\7Q\2\2\u2595\u2596") - buf.write("\7U\2\2\u2596\u2597\7U\2\2\u2597\u2598\7G\2\2\u2598\u2599") - buf.write("\7U\2\2\u2599\u069a\3\2\2\2\u259a\u259b\7U\2\2\u259b\u259c") - buf.write("\7V\2\2\u259c\u259d\7a\2\2\u259d\u259e\7F\2\2\u259e\u259f") - buf.write("\7K\2\2\u259f\u25a0\7H\2\2\u25a0\u25a1\7H\2\2\u25a1\u25a2") - buf.write("\7G\2\2\u25a2\u25a3\7T\2\2\u25a3\u25a4\7G\2\2\u25a4\u25a5") - buf.write("\7P\2\2\u25a5\u25a6\7E\2\2\u25a6\u25a7\7G\2\2\u25a7\u069c") - buf.write("\3\2\2\2\u25a8\u25a9\7U\2\2\u25a9\u25aa\7V\2\2\u25aa\u25ab") - buf.write("\7a\2\2\u25ab\u25ac\7F\2\2\u25ac\u25ad\7K\2\2\u25ad\u25ae") - buf.write("\7O\2\2\u25ae\u25af\7G\2\2\u25af\u25b0\7P\2\2\u25b0\u25b1") - buf.write("\7U\2\2\u25b1\u25b2\7K\2\2\u25b2\u25b3\7Q\2\2\u25b3\u25b4") - buf.write("\7P\2\2\u25b4\u069e\3\2\2\2\u25b5\u25b6\7U\2\2\u25b6\u25b7") - buf.write("\7V\2\2\u25b7\u25b8\7a\2\2\u25b8\u25b9\7F\2\2\u25b9\u25ba") - buf.write("\7K\2\2\u25ba\u25bb\7U\2\2\u25bb\u25bc\7L\2\2\u25bc\u25bd") - buf.write("\7Q\2\2\u25bd\u25be\7K\2\2\u25be\u25bf\7P\2\2\u25bf\u25c0") - buf.write("\7V\2\2\u25c0\u06a0\3\2\2\2\u25c1\u25c2\7U\2\2\u25c2\u25c3") - buf.write("\7V\2\2\u25c3\u25c4\7a\2\2\u25c4\u25c5\7F\2\2\u25c5\u25c6") - buf.write("\7K\2\2\u25c6\u25c7\7U\2\2\u25c7\u25c8\7V\2\2\u25c8\u25c9") - buf.write("\7C\2\2\u25c9\u25ca\7P\2\2\u25ca\u25cb\7E\2\2\u25cb\u25cc") - buf.write("\7G\2\2\u25cc\u06a2\3\2\2\2\u25cd\u25ce\7U\2\2\u25ce\u25cf") - buf.write("\7V\2\2\u25cf\u25d0\7a\2\2\u25d0\u25d1\7G\2\2\u25d1\u25d2") - buf.write("\7P\2\2\u25d2\u25d3\7F\2\2\u25d3\u25d4\7R\2\2\u25d4\u25d5") - buf.write("\7Q\2\2\u25d5\u25d6\7K\2\2\u25d6\u25d7\7P\2\2\u25d7\u25d8") - buf.write("\7V\2\2\u25d8\u06a4\3\2\2\2\u25d9\u25da\7U\2\2\u25da\u25db") - buf.write("\7V\2\2\u25db\u25dc\7a\2\2\u25dc\u25dd\7G\2\2\u25dd\u25de") - buf.write("\7P\2\2\u25de\u25df\7X\2\2\u25df\u25e0\7G\2\2\u25e0\u25e1") - buf.write("\7N\2\2\u25e1\u25e2\7Q\2\2\u25e2\u25e3\7R\2\2\u25e3\u25e4") - buf.write("\7G\2\2\u25e4\u06a6\3\2\2\2\u25e5\u25e6\7U\2\2\u25e6\u25e7") - buf.write("\7V\2\2\u25e7\u25e8\7a\2\2\u25e8\u25e9\7G\2\2\u25e9\u25ea") - buf.write("\7S\2\2\u25ea\u25eb\7W\2\2\u25eb\u25ec\7C\2\2\u25ec\u25ed") - buf.write("\7N\2\2\u25ed\u25ee\7U\2\2\u25ee\u06a8\3\2\2\2\u25ef\u25f0") - buf.write("\7U\2\2\u25f0\u25f1\7V\2\2\u25f1\u25f2\7a\2\2\u25f2\u25f3") - buf.write("\7G\2\2\u25f3\u25f4\7Z\2\2\u25f4\u25f5\7V\2\2\u25f5\u25f6") - buf.write("\7G\2\2\u25f6\u25f7\7T\2\2\u25f7\u25f8\7K\2\2\u25f8\u25f9") - buf.write("\7Q\2\2\u25f9\u25fa\7T\2\2\u25fa\u25fb\7T\2\2\u25fb\u25fc") - buf.write("\7K\2\2\u25fc\u25fd\7P\2\2\u25fd\u25fe\7I\2\2\u25fe\u06aa") - buf.write("\3\2\2\2\u25ff\u2600\7U\2\2\u2600\u2601\7V\2\2\u2601\u2602") - buf.write("\7a\2\2\u2602\u2603\7I\2\2\u2603\u2604\7G\2\2\u2604\u2605") - buf.write("\7Q\2\2\u2605\u2606\7O\2\2\u2606\u2607\7E\2\2\u2607\u2608") - buf.write("\7Q\2\2\u2608\u2609\7N\2\2\u2609\u260a\7N\2\2\u260a\u260b") - buf.write("\7H\2\2\u260b\u260c\7T\2\2\u260c\u260d\7Q\2\2\u260d\u260e") - buf.write("\7O\2\2\u260e\u260f\7V\2\2\u260f\u2610\7G\2\2\u2610\u2611") - buf.write("\7Z\2\2\u2611\u2612\7V\2\2\u2612\u06ac\3\2\2\2\u2613\u2614") - buf.write("\7U\2\2\u2614\u2615\7V\2\2\u2615\u2616\7a\2\2\u2616\u2617") - buf.write("\7I\2\2\u2617\u2618\7G\2\2\u2618\u2619\7Q\2\2\u2619\u261a") - buf.write("\7O\2\2\u261a\u261b\7E\2\2\u261b\u261c\7Q\2\2\u261c\u261d") - buf.write("\7N\2\2\u261d\u261e\7N\2\2\u261e\u261f\7H\2\2\u261f\u2620") - buf.write("\7T\2\2\u2620\u2621\7Q\2\2\u2621\u2622\7O\2\2\u2622\u2623") - buf.write("\7V\2\2\u2623\u2624\7Z\2\2\u2624\u2625\7V\2\2\u2625\u06ae") - buf.write("\3\2\2\2\u2626\u2627\7U\2\2\u2627\u2628\7V\2\2\u2628\u2629") - buf.write("\7a\2\2\u2629\u262a\7I\2\2\u262a\u262b\7G\2\2\u262b\u262c") - buf.write("\7Q\2\2\u262c\u262d\7O\2\2\u262d\u262e\7E\2\2\u262e\u262f") - buf.write("\7Q\2\2\u262f\u2630\7N\2\2\u2630\u2631\7N\2\2\u2631\u2632") - buf.write("\7H\2\2\u2632\u2633\7T\2\2\u2633\u2634\7Q\2\2\u2634\u2635") - buf.write("\7O\2\2\u2635\u2636\7Y\2\2\u2636\u2637\7M\2\2\u2637\u2638") - buf.write("\7D\2\2\u2638\u06b0\3\2\2\2\u2639\u263a\7U\2\2\u263a\u263b") - buf.write("\7V\2\2\u263b\u263c\7a\2\2\u263c\u263d\7I\2\2\u263d\u263e") - buf.write("\7G\2\2\u263e\u263f\7Q\2\2\u263f\u2640\7O\2\2\u2640\u2641") - buf.write("\7G\2\2\u2641\u2642\7V\2\2\u2642\u2643\7T\2\2\u2643\u2644") - buf.write("\7[\2\2\u2644\u2645\7E\2\2\u2645\u2646\7Q\2\2\u2646\u2647") - buf.write("\7N\2\2\u2647\u2648\7N\2\2\u2648\u2649\7G\2\2\u2649\u264a") - buf.write("\7E\2\2\u264a\u264b\7V\2\2\u264b\u264c\7K\2\2\u264c\u264d") - buf.write("\7Q\2\2\u264d\u264e\7P\2\2\u264e\u264f\7H\2\2\u264f\u2650") - buf.write("\7T\2\2\u2650\u2651\7Q\2\2\u2651\u2652\7O\2\2\u2652\u2653") - buf.write("\7V\2\2\u2653\u2654\7G\2\2\u2654\u2655\7Z\2\2\u2655\u2656") - buf.write("\7V\2\2\u2656\u06b2\3\2\2\2\u2657\u2658\7U\2\2\u2658\u2659") - buf.write("\7V\2\2\u2659\u265a\7a\2\2\u265a\u265b\7I\2\2\u265b\u265c") - buf.write("\7G\2\2\u265c\u265d\7Q\2\2\u265d\u265e\7O\2\2\u265e\u265f") - buf.write("\7G\2\2\u265f\u2660\7V\2\2\u2660\u2661\7T\2\2\u2661\u2662") - buf.write("\7[\2\2\u2662\u2663\7E\2\2\u2663\u2664\7Q\2\2\u2664\u2665") - buf.write("\7N\2\2\u2665\u2666\7N\2\2\u2666\u2667\7G\2\2\u2667\u2668") - buf.write("\7E\2\2\u2668\u2669\7V\2\2\u2669\u266a\7K\2\2\u266a\u266b") - buf.write("\7Q\2\2\u266b\u266c\7P\2\2\u266c\u266d\7H\2\2\u266d\u266e") - buf.write("\7T\2\2\u266e\u266f\7Q\2\2\u266f\u2670\7O\2\2\u2670\u2671") - buf.write("\7Y\2\2\u2671\u2672\7M\2\2\u2672\u2673\7D\2\2\u2673\u06b4") - buf.write("\3\2\2\2\u2674\u2675\7U\2\2\u2675\u2676\7V\2\2\u2676\u2677") - buf.write("\7a\2\2\u2677\u2678\7I\2\2\u2678\u2679\7G\2\2\u2679\u267a") - buf.write("\7Q\2\2\u267a\u267b\7O\2\2\u267b\u267c\7G\2\2\u267c\u267d") - buf.write("\7V\2\2\u267d\u267e\7T\2\2\u267e\u267f\7[\2\2\u267f\u2680") - buf.write("\7H\2\2\u2680\u2681\7T\2\2\u2681\u2682\7Q\2\2\u2682\u2683") - buf.write("\7O\2\2\u2683\u2684\7V\2\2\u2684\u2685\7G\2\2\u2685\u2686") - buf.write("\7Z\2\2\u2686\u2687\7V\2\2\u2687\u06b6\3\2\2\2\u2688\u2689") - buf.write("\7U\2\2\u2689\u268a\7V\2\2\u268a\u268b\7a\2\2\u268b\u268c") - buf.write("\7I\2\2\u268c\u268d\7G\2\2\u268d\u268e\7Q\2\2\u268e\u268f") - buf.write("\7O\2\2\u268f\u2690\7G\2\2\u2690\u2691\7V\2\2\u2691\u2692") - buf.write("\7T\2\2\u2692\u2693\7[\2\2\u2693\u2694\7H\2\2\u2694\u2695") - buf.write("\7T\2\2\u2695\u2696\7Q\2\2\u2696\u2697\7O\2\2\u2697\u2698") - buf.write("\7Y\2\2\u2698\u2699\7M\2\2\u2699\u269a\7D\2\2\u269a\u06b8") - buf.write("\3\2\2\2\u269b\u269c\7U\2\2\u269c\u269d\7V\2\2\u269d\u269e") - buf.write("\7a\2\2\u269e\u269f\7I\2\2\u269f\u26a0\7G\2\2\u26a0\u26a1") - buf.write("\7Q\2\2\u26a1\u26a2\7O\2\2\u26a2\u26a3\7G\2\2\u26a3\u26a4") - buf.write("\7V\2\2\u26a4\u26a5\7T\2\2\u26a5\u26a6\7[\2\2\u26a6\u26a7") - buf.write("\7P\2\2\u26a7\u06ba\3\2\2\2\u26a8\u26a9\7U\2\2\u26a9\u26aa") - buf.write("\7V\2\2\u26aa\u26ab\7a\2\2\u26ab\u26ac\7I\2\2\u26ac\u26ad") - buf.write("\7G\2\2\u26ad\u26ae\7Q\2\2\u26ae\u26af\7O\2\2\u26af\u26b0") - buf.write("\7G\2\2\u26b0\u26b1\7V\2\2\u26b1\u26b2\7T\2\2\u26b2\u26b3") - buf.write("\7[\2\2\u26b3\u26b4\7V\2\2\u26b4\u26b5\7[\2\2\u26b5\u26b6") - buf.write("\7R\2\2\u26b6\u26b7\7G\2\2\u26b7\u06bc\3\2\2\2\u26b8\u26b9") - buf.write("\7U\2\2\u26b9\u26ba\7V\2\2\u26ba\u26bb\7a\2\2\u26bb\u26bc") - buf.write("\7I\2\2\u26bc\u26bd\7G\2\2\u26bd\u26be\7Q\2\2\u26be\u26bf") - buf.write("\7O\2\2\u26bf\u26c0\7H\2\2\u26c0\u26c1\7T\2\2\u26c1\u26c2") - buf.write("\7Q\2\2\u26c2\u26c3\7O\2\2\u26c3\u26c4\7V\2\2\u26c4\u26c5") - buf.write("\7G\2\2\u26c5\u26c6\7Z\2\2\u26c6\u26c7\7V\2\2\u26c7\u06be") - buf.write("\3\2\2\2\u26c8\u26c9\7U\2\2\u26c9\u26ca\7V\2\2\u26ca\u26cb") - buf.write("\7a\2\2\u26cb\u26cc\7I\2\2\u26cc\u26cd\7G\2\2\u26cd\u26ce") - buf.write("\7Q\2\2\u26ce\u26cf\7O\2\2\u26cf\u26d0\7H\2\2\u26d0\u26d1") - buf.write("\7T\2\2\u26d1\u26d2\7Q\2\2\u26d2\u26d3\7O\2\2\u26d3\u26d4") - buf.write("\7Y\2\2\u26d4\u26d5\7M\2\2\u26d5\u26d6\7D\2\2\u26d6\u06c0") - buf.write("\3\2\2\2\u26d7\u26d8\7U\2\2\u26d8\u26d9\7V\2\2\u26d9\u26da") - buf.write("\7a\2\2\u26da\u26db\7K\2\2\u26db\u26dc\7P\2\2\u26dc\u26dd") - buf.write("\7V\2\2\u26dd\u26de\7G\2\2\u26de\u26df\7T\2\2\u26df\u26e0") - buf.write("\7K\2\2\u26e0\u26e1\7Q\2\2\u26e1\u26e2\7T\2\2\u26e2\u26e3") - buf.write("\7T\2\2\u26e3\u26e4\7K\2\2\u26e4\u26e5\7P\2\2\u26e5\u26e6") - buf.write("\7I\2\2\u26e6\u26e7\7P\2\2\u26e7\u06c2\3\2\2\2\u26e8\u26e9") - buf.write("\7U\2\2\u26e9\u26ea\7V\2\2\u26ea\u26eb\7a\2\2\u26eb\u26ec") - buf.write("\7K\2\2\u26ec\u26ed\7P\2\2\u26ed\u26ee\7V\2\2\u26ee\u26ef") - buf.write("\7G\2\2\u26ef\u26f0\7T\2\2\u26f0\u26f1\7U\2\2\u26f1\u26f2") - buf.write("\7G\2\2\u26f2\u26f3\7E\2\2\u26f3\u26f4\7V\2\2\u26f4\u26f5") - buf.write("\7K\2\2\u26f5\u26f6\7Q\2\2\u26f6\u26f7\7P\2\2\u26f7\u06c4") - buf.write("\3\2\2\2\u26f8\u26f9\7U\2\2\u26f9\u26fa\7V\2\2\u26fa\u26fb") - buf.write("\7a\2\2\u26fb\u26fc\7K\2\2\u26fc\u26fd\7P\2\2\u26fd\u26fe") - buf.write("\7V\2\2\u26fe\u26ff\7G\2\2\u26ff\u2700\7T\2\2\u2700\u2701") - buf.write("\7U\2\2\u2701\u2702\7G\2\2\u2702\u2703\7E\2\2\u2703\u2704") - buf.write("\7V\2\2\u2704\u2705\7U\2\2\u2705\u06c6\3\2\2\2\u2706\u2707") - buf.write("\7U\2\2\u2707\u2708\7V\2\2\u2708\u2709\7a\2\2\u2709\u270a") - buf.write("\7K\2\2\u270a\u270b\7U\2\2\u270b\u270c\7E\2\2\u270c\u270d") - buf.write("\7N\2\2\u270d\u270e\7Q\2\2\u270e\u270f\7U\2\2\u270f\u2710") - buf.write("\7G\2\2\u2710\u2711\7F\2\2\u2711\u06c8\3\2\2\2\u2712\u2713") - buf.write("\7U\2\2\u2713\u2714\7V\2\2\u2714\u2715\7a\2\2\u2715\u2716") - buf.write("\7K\2\2\u2716\u2717\7U\2\2\u2717\u2718\7G\2\2\u2718\u2719") - buf.write("\7O\2\2\u2719\u271a\7R\2\2\u271a\u271b\7V\2\2\u271b\u271c") - buf.write("\7[\2\2\u271c\u06ca\3\2\2\2\u271d\u271e\7U\2\2\u271e\u271f") - buf.write("\7V\2\2\u271f\u2720\7a\2\2\u2720\u2721\7K\2\2\u2721\u2722") - buf.write("\7U\2\2\u2722\u2723\7U\2\2\u2723\u2724\7K\2\2\u2724\u2725") - buf.write("\7O\2\2\u2725\u2726\7R\2\2\u2726\u2727\7N\2\2\u2727\u2728") - buf.write("\7G\2\2\u2728\u06cc\3\2\2\2\u2729\u272a\7U\2\2\u272a\u272b") - buf.write("\7V\2\2\u272b\u272c\7a\2\2\u272c\u272d\7N\2\2\u272d\u272e") - buf.write("\7K\2\2\u272e\u272f\7P\2\2\u272f\u2730\7G\2\2\u2730\u2731") - buf.write("\7H\2\2\u2731\u2732\7T\2\2\u2732\u2733\7Q\2\2\u2733\u2734") - buf.write("\7O\2\2\u2734\u2735\7V\2\2\u2735\u2736\7G\2\2\u2736\u2737") - buf.write("\7Z\2\2\u2737\u2738\7V\2\2\u2738\u06ce\3\2\2\2\u2739\u273a") - buf.write("\7U\2\2\u273a\u273b\7V\2\2\u273b\u273c\7a\2\2\u273c\u273d") - buf.write("\7N\2\2\u273d\u273e\7K\2\2\u273e\u273f\7P\2\2\u273f\u2740") - buf.write("\7G\2\2\u2740\u2741\7H\2\2\u2741\u2742\7T\2\2\u2742\u2743") - buf.write("\7Q\2\2\u2743\u2744\7O\2\2\u2744\u2745\7Y\2\2\u2745\u2746") - buf.write("\7M\2\2\u2746\u2747\7D\2\2\u2747\u06d0\3\2\2\2\u2748\u2749") - buf.write("\7U\2\2\u2749\u274a\7V\2\2\u274a\u274b\7a\2\2\u274b\u274c") - buf.write("\7N\2\2\u274c\u274d\7K\2\2\u274d\u274e\7P\2\2\u274e\u274f") - buf.write("\7G\2\2\u274f\u2750\7U\2\2\u2750\u2751\7V\2\2\u2751\u2752") - buf.write("\7T\2\2\u2752\u2753\7K\2\2\u2753\u2754\7P\2\2\u2754\u2755") - buf.write("\7I\2\2\u2755\u2756\7H\2\2\u2756\u2757\7T\2\2\u2757\u2758") - buf.write("\7Q\2\2\u2758\u2759\7O\2\2\u2759\u275a\7V\2\2\u275a\u275b") - buf.write("\7G\2\2\u275b\u275c\7Z\2\2\u275c\u275d\7V\2\2\u275d\u06d2") - buf.write("\3\2\2\2\u275e\u275f\7U\2\2\u275f\u2760\7V\2\2\u2760\u2761") - buf.write("\7a\2\2\u2761\u2762\7N\2\2\u2762\u2763\7K\2\2\u2763\u2764") - buf.write("\7P\2\2\u2764\u2765\7G\2\2\u2765\u2766\7U\2\2\u2766\u2767") - buf.write("\7V\2\2\u2767\u2768\7T\2\2\u2768\u2769\7K\2\2\u2769\u276a") - buf.write("\7P\2\2\u276a\u276b\7I\2\2\u276b\u276c\7H\2\2\u276c\u276d") - buf.write("\7T\2\2\u276d\u276e\7Q\2\2\u276e\u276f\7O\2\2\u276f\u2770") - buf.write("\7Y\2\2\u2770\u2771\7M\2\2\u2771\u2772\7D\2\2\u2772\u06d4") - buf.write("\3\2\2\2\u2773\u2774\7U\2\2\u2774\u2775\7V\2\2\u2775\u2776") - buf.write("\7a\2\2\u2776\u2777\7P\2\2\u2777\u2778\7W\2\2\u2778\u2779") - buf.write("\7O\2\2\u2779\u277a\7I\2\2\u277a\u277b\7G\2\2\u277b\u277c") - buf.write("\7Q\2\2\u277c\u277d\7O\2\2\u277d\u277e\7G\2\2\u277e\u277f") - buf.write("\7V\2\2\u277f\u2780\7T\2\2\u2780\u2781\7K\2\2\u2781\u2782") - buf.write("\7G\2\2\u2782\u2783\7U\2\2\u2783\u06d6\3\2\2\2\u2784\u2785") - buf.write("\7U\2\2\u2785\u2786\7V\2\2\u2786\u2787\7a\2\2\u2787\u2788") - buf.write("\7P\2\2\u2788\u2789\7W\2\2\u2789\u278a\7O\2\2\u278a\u278b") - buf.write("\7K\2\2\u278b\u278c\7P\2\2\u278c\u278d\7V\2\2\u278d\u278e") - buf.write("\7G\2\2\u278e\u278f\7T\2\2\u278f\u2790\7K\2\2\u2790\u2791") - buf.write("\7Q\2\2\u2791\u2792\7T\2\2\u2792\u2793\7T\2\2\u2793\u2794") - buf.write("\7K\2\2\u2794\u2795\7P\2\2\u2795\u2796\7I\2\2\u2796\u06d8") - buf.write("\3\2\2\2\u2797\u2798\7U\2\2\u2798\u2799\7V\2\2\u2799\u279a") - buf.write("\7a\2\2\u279a\u279b\7P\2\2\u279b\u279c\7W\2\2\u279c\u279d") - buf.write("\7O\2\2\u279d\u279e\7K\2\2\u279e\u279f\7P\2\2\u279f\u27a0") - buf.write("\7V\2\2\u27a0\u27a1\7G\2\2\u27a1\u27a2\7T\2\2\u27a2\u27a3") - buf.write("\7K\2\2\u27a3\u27a4\7Q\2\2\u27a4\u27a5\7T\2\2\u27a5\u27a6") - buf.write("\7T\2\2\u27a6\u27a7\7K\2\2\u27a7\u27a8\7P\2\2\u27a8\u27a9") - buf.write("\7I\2\2\u27a9\u27aa\7U\2\2\u27aa\u06da\3\2\2\2\u27ab\u27ac") - buf.write("\7U\2\2\u27ac\u27ad\7V\2\2\u27ad\u27ae\7a\2\2\u27ae\u27af") - buf.write("\7P\2\2\u27af\u27b0\7W\2\2\u27b0\u27b1\7O\2\2\u27b1\u27b2") - buf.write("\7R\2\2\u27b2\u27b3\7Q\2\2\u27b3\u27b4\7K\2\2\u27b4\u27b5") - buf.write("\7P\2\2\u27b5\u27b6\7V\2\2\u27b6\u27b7\7U\2\2\u27b7\u06dc") - buf.write("\3\2\2\2\u27b8\u27b9\7U\2\2\u27b9\u27ba\7V\2\2\u27ba\u27bb") - buf.write("\7a\2\2\u27bb\u27bc\7Q\2\2\u27bc\u27bd\7X\2\2\u27bd\u27be") - buf.write("\7G\2\2\u27be\u27bf\7T\2\2\u27bf\u27c0\7N\2\2\u27c0\u27c1") - buf.write("\7C\2\2\u27c1\u27c2\7R\2\2\u27c2\u27c3\7U\2\2\u27c3\u06de") - buf.write("\3\2\2\2\u27c4\u27c5\7U\2\2\u27c5\u27c6\7V\2\2\u27c6\u27c7") - buf.write("\7a\2\2\u27c7\u27c8\7R\2\2\u27c8\u27c9\7Q\2\2\u27c9\u27ca") - buf.write("\7K\2\2\u27ca\u27cb\7P\2\2\u27cb\u27cc\7V\2\2\u27cc\u27cd") - buf.write("\7H\2\2\u27cd\u27ce\7T\2\2\u27ce\u27cf\7Q\2\2\u27cf\u27d0") - buf.write("\7O\2\2\u27d0\u27d1\7V\2\2\u27d1\u27d2\7G\2\2\u27d2\u27d3") - buf.write("\7Z\2\2\u27d3\u27d4\7V\2\2\u27d4\u06e0\3\2\2\2\u27d5\u27d6") - buf.write("\7U\2\2\u27d6\u27d7\7V\2\2\u27d7\u27d8\7a\2\2\u27d8\u27d9") - buf.write("\7R\2\2\u27d9\u27da\7Q\2\2\u27da\u27db\7K\2\2\u27db\u27dc") - buf.write("\7P\2\2\u27dc\u27dd\7V\2\2\u27dd\u27de\7H\2\2\u27de\u27df") - buf.write("\7T\2\2\u27df\u27e0\7Q\2\2\u27e0\u27e1\7O\2\2\u27e1\u27e2") - buf.write("\7Y\2\2\u27e2\u27e3\7M\2\2\u27e3\u27e4\7D\2\2\u27e4\u06e2") - buf.write("\3\2\2\2\u27e5\u27e6\7U\2\2\u27e6\u27e7\7V\2\2\u27e7\u27e8") - buf.write("\7a\2\2\u27e8\u27e9\7R\2\2\u27e9\u27ea\7Q\2\2\u27ea\u27eb") - buf.write("\7K\2\2\u27eb\u27ec\7P\2\2\u27ec\u27ed\7V\2\2\u27ed\u27ee") - buf.write("\7P\2\2\u27ee\u06e4\3\2\2\2\u27ef\u27f0\7U\2\2\u27f0\u27f1") - buf.write("\7V\2\2\u27f1\u27f2\7a\2\2\u27f2\u27f3\7R\2\2\u27f3\u27f4") - buf.write("\7Q\2\2\u27f4\u27f5\7N\2\2\u27f5\u27f6\7[\2\2\u27f6\u27f7") - buf.write("\7H\2\2\u27f7\u27f8\7T\2\2\u27f8\u27f9\7Q\2\2\u27f9\u27fa") - buf.write("\7O\2\2\u27fa\u27fb\7V\2\2\u27fb\u27fc\7G\2\2\u27fc\u27fd") - buf.write("\7Z\2\2\u27fd\u27fe\7V\2\2\u27fe\u06e6\3\2\2\2\u27ff\u2800") - buf.write("\7U\2\2\u2800\u2801\7V\2\2\u2801\u2802\7a\2\2\u2802\u2803") - buf.write("\7R\2\2\u2803\u2804\7Q\2\2\u2804\u2805\7N\2\2\u2805\u2806") - buf.write("\7[\2\2\u2806\u2807\7H\2\2\u2807\u2808\7T\2\2\u2808\u2809") - buf.write("\7Q\2\2\u2809\u280a\7O\2\2\u280a\u280b\7Y\2\2\u280b\u280c") - buf.write("\7M\2\2\u280c\u280d\7D\2\2\u280d\u06e8\3\2\2\2\u280e\u280f") - buf.write("\7U\2\2\u280f\u2810\7V\2\2\u2810\u2811\7a\2\2\u2811\u2812") - buf.write("\7R\2\2\u2812\u2813\7Q\2\2\u2813\u2814\7N\2\2\u2814\u2815") - buf.write("\7[\2\2\u2815\u2816\7I\2\2\u2816\u2817\7Q\2\2\u2817\u2818") - buf.write("\7P\2\2\u2818\u2819\7H\2\2\u2819\u281a\7T\2\2\u281a\u281b") - buf.write("\7Q\2\2\u281b\u281c\7O\2\2\u281c\u281d\7V\2\2\u281d\u281e") - buf.write("\7G\2\2\u281e\u281f\7Z\2\2\u281f\u2820\7V\2\2\u2820\u06ea") - buf.write("\3\2\2\2\u2821\u2822\7U\2\2\u2822\u2823\7V\2\2\u2823\u2824") - buf.write("\7a\2\2\u2824\u2825\7R\2\2\u2825\u2826\7Q\2\2\u2826\u2827") - buf.write("\7N\2\2\u2827\u2828\7[\2\2\u2828\u2829\7I\2\2\u2829\u282a") - buf.write("\7Q\2\2\u282a\u282b\7P\2\2\u282b\u282c\7H\2\2\u282c\u282d") - buf.write("\7T\2\2\u282d\u282e\7Q\2\2\u282e\u282f\7O\2\2\u282f\u2830") - buf.write("\7Y\2\2\u2830\u2831\7M\2\2\u2831\u2832\7D\2\2\u2832\u06ec") - buf.write("\3\2\2\2\u2833\u2834\7U\2\2\u2834\u2835\7V\2\2\u2835\u2836") - buf.write("\7a\2\2\u2836\u2837\7U\2\2\u2837\u2838\7T\2\2\u2838\u2839") - buf.write("\7K\2\2\u2839\u283a\7F\2\2\u283a\u06ee\3\2\2\2\u283b\u283c") - buf.write("\7U\2\2\u283c\u283d\7V\2\2\u283d\u283e\7a\2\2\u283e\u283f") - buf.write("\7U\2\2\u283f\u2840\7V\2\2\u2840\u2841\7C\2\2\u2841\u2842") - buf.write("\7T\2\2\u2842\u2843\7V\2\2\u2843\u2844\7R\2\2\u2844\u2845") - buf.write("\7Q\2\2\u2845\u2846\7K\2\2\u2846\u2847\7P\2\2\u2847\u2848") - buf.write("\7V\2\2\u2848\u06f0\3\2\2\2\u2849\u284a\7U\2\2\u284a\u284b") - buf.write("\7V\2\2\u284b\u284c\7a\2\2\u284c\u284d\7U\2\2\u284d\u284e") - buf.write("\7[\2\2\u284e\u284f\7O\2\2\u284f\u2850\7F\2\2\u2850\u2851") - buf.write("\7K\2\2\u2851\u2852\7H\2\2\u2852\u2853\7H\2\2\u2853\u2854") - buf.write("\7G\2\2\u2854\u2855\7T\2\2\u2855\u2856\7G\2\2\u2856\u2857") - buf.write("\7P\2\2\u2857\u2858\7E\2\2\u2858\u2859\7G\2\2\u2859\u06f2") - buf.write("\3\2\2\2\u285a\u285b\7U\2\2\u285b\u285c\7V\2\2\u285c\u285d") - buf.write("\7a\2\2\u285d\u285e\7V\2\2\u285e\u285f\7Q\2\2\u285f\u2860") - buf.write("\7W\2\2\u2860\u2861\7E\2\2\u2861\u2862\7J\2\2\u2862\u2863") - buf.write("\7G\2\2\u2863\u2864\7U\2\2\u2864\u06f4\3\2\2\2\u2865\u2866") - buf.write("\7U\2\2\u2866\u2867\7V\2\2\u2867\u2868\7a\2\2\u2868\u2869") - buf.write("\7W\2\2\u2869\u286a\7P\2\2\u286a\u286b\7K\2\2\u286b\u286c") - buf.write("\7Q\2\2\u286c\u286d\7P\2\2\u286d\u06f6\3\2\2\2\u286e\u286f") - buf.write("\7U\2\2\u286f\u2870\7V\2\2\u2870\u2871\7a\2\2\u2871\u2872") - buf.write("\7Y\2\2\u2872\u2873\7K\2\2\u2873\u2874\7V\2\2\u2874\u2875") - buf.write("\7J\2\2\u2875\u2876\7K\2\2\u2876\u2877\7P\2\2\u2877\u06f8") - buf.write("\3\2\2\2\u2878\u2879\7U\2\2\u2879\u287a\7V\2\2\u287a\u287b") - buf.write("\7a\2\2\u287b\u287c\7Z\2\2\u287c\u06fa\3\2\2\2\u287d\u287e") - buf.write("\7U\2\2\u287e\u287f\7V\2\2\u287f\u2880\7a\2\2\u2880\u2881") - buf.write("\7[\2\2\u2881\u06fc\3\2\2\2\u2882\u2883\7U\2\2\u2883\u2884") - buf.write("\7W\2\2\u2884\u2885\7D\2\2\u2885\u2886\7F\2\2\u2886\u2887") - buf.write("\7C\2\2\u2887\u2888\7V\2\2\u2888\u2889\7G\2\2\u2889\u06fe") - buf.write("\3\2\2\2\u288a\u288b\7U\2\2\u288b\u288c\7W\2\2\u288c\u288d") - buf.write("\7D\2\2\u288d\u288e\7U\2\2\u288e\u288f\7V\2\2\u288f\u2890") - buf.write("\7T\2\2\u2890\u2891\7K\2\2\u2891\u2892\7P\2\2\u2892\u2893") - buf.write("\7I\2\2\u2893\u2894\7a\2\2\u2894\u2895\7K\2\2\u2895\u2896") - buf.write("\7P\2\2\u2896\u2897\7F\2\2\u2897\u2898\7G\2\2\u2898\u2899") - buf.write("\7Z\2\2\u2899\u0700\3\2\2\2\u289a\u289b\7U\2\2\u289b\u289c") - buf.write("\7W\2\2\u289c\u289d\7D\2\2\u289d\u289e\7V\2\2\u289e\u289f") - buf.write("\7K\2\2\u289f\u28a0\7O\2\2\u28a0\u28a1\7G\2\2\u28a1\u0702") - buf.write("\3\2\2\2\u28a2\u28a3\7U\2\2\u28a3\u28a4\7[\2\2\u28a4\u28a5") - buf.write("\7U\2\2\u28a5\u28a6\7V\2\2\u28a6\u28a7\7G\2\2\u28a7\u28a8") - buf.write("\7O\2\2\u28a8\u28a9\7a\2\2\u28a9\u28aa\7W\2\2\u28aa\u28ab") - buf.write("\7U\2\2\u28ab\u28ac\7G\2\2\u28ac\u28ad\7T\2\2\u28ad\u0704") - buf.write("\3\2\2\2\u28ae\u28af\7V\2\2\u28af\u28b0\7C\2\2\u28b0\u28b1") - buf.write("\7P\2\2\u28b1\u0706\3\2\2\2\u28b2\u28b3\7V\2\2\u28b3\u28b4") - buf.write("\7K\2\2\u28b4\u28b5\7O\2\2\u28b5\u28b6\7G\2\2\u28b6\u28b7") - buf.write("\7F\2\2\u28b7\u28b8\7K\2\2\u28b8\u28b9\7H\2\2\u28b9\u28ba") - buf.write("\7H\2\2\u28ba\u0708\3\2\2\2\u28bb\u28bc\7V\2\2\u28bc\u28bd") - buf.write("\7K\2\2\u28bd\u28be\7O\2\2\u28be\u28bf\7G\2\2\u28bf\u28c0") - buf.write("\7U\2\2\u28c0\u28c1\7V\2\2\u28c1\u28c2\7C\2\2\u28c2\u28c3") - buf.write("\7O\2\2\u28c3\u28c4\7R\2\2\u28c4\u28c5\7C\2\2\u28c5\u28c6") - buf.write("\7F\2\2\u28c6\u28c7\7F\2\2\u28c7\u070a\3\2\2\2\u28c8\u28c9") - buf.write("\7V\2\2\u28c9\u28ca\7K\2\2\u28ca\u28cb\7O\2\2\u28cb\u28cc") - buf.write("\7G\2\2\u28cc\u28cd\7U\2\2\u28cd\u28ce\7V\2\2\u28ce\u28cf") - buf.write("\7C\2\2\u28cf\u28d0\7O\2\2\u28d0\u28d1\7R\2\2\u28d1\u28d2") - buf.write("\7F\2\2\u28d2\u28d3\7K\2\2\u28d3\u28d4\7H\2\2\u28d4\u28d5") - buf.write("\7H\2\2\u28d5\u070c\3\2\2\2\u28d6\u28d7\7V\2\2\u28d7\u28d8") - buf.write("\7K\2\2\u28d8\u28d9\7O\2\2\u28d9\u28da\7G\2\2\u28da\u28db") - buf.write("\7a\2\2\u28db\u28dc\7H\2\2\u28dc\u28dd\7Q\2\2\u28dd\u28de") - buf.write("\7T\2\2\u28de\u28df\7O\2\2\u28df\u28e0\7C\2\2\u28e0\u28e1") - buf.write("\7V\2\2\u28e1\u070e\3\2\2\2\u28e2\u28e3\7V\2\2\u28e3\u28e4") - buf.write("\7K\2\2\u28e4\u28e5\7O\2\2\u28e5\u28e6\7G\2\2\u28e6\u28e7") - buf.write("\7a\2\2\u28e7\u28e8\7V\2\2\u28e8\u28e9\7Q\2\2\u28e9\u28ea") - buf.write("\7a\2\2\u28ea\u28eb\7U\2\2\u28eb\u28ec\7G\2\2\u28ec\u28ed") - buf.write("\7E\2\2\u28ed\u0710\3\2\2\2\u28ee\u28ef\7V\2\2\u28ef\u28f0") - buf.write("\7Q\2\2\u28f0\u28f1\7W\2\2\u28f1\u28f2\7E\2\2\u28f2\u28f3") - buf.write("\7J\2\2\u28f3\u28f4\7G\2\2\u28f4\u28f5\7U\2\2\u28f5\u0712") - buf.write("\3\2\2\2\u28f6\u28f7\7V\2\2\u28f7\u28f8\7Q\2\2\u28f8\u28f9") - buf.write("\7a\2\2\u28f9\u28fa\7D\2\2\u28fa\u28fb\7C\2\2\u28fb\u28fc") - buf.write("\7U\2\2\u28fc\u28fd\7G\2\2\u28fd\u28fe\78\2\2\u28fe\u28ff") - buf.write("\7\66\2\2\u28ff\u0714\3\2\2\2\u2900\u2901\7V\2\2\u2901") - buf.write("\u2902\7Q\2\2\u2902\u2903\7a\2\2\u2903\u2904\7F\2\2\u2904") - buf.write("\u2905\7C\2\2\u2905\u2906\7[\2\2\u2906\u2907\7U\2\2\u2907") - buf.write("\u0716\3\2\2\2\u2908\u2909\7V\2\2\u2909\u290a\7Q\2\2\u290a") - buf.write("\u290b\7a\2\2\u290b\u290c\7U\2\2\u290c\u290d\7G\2\2\u290d") - buf.write("\u290e\7E\2\2\u290e\u290f\7Q\2\2\u290f\u2910\7P\2\2\u2910") - buf.write("\u2911\7F\2\2\u2911\u2912\7U\2\2\u2912\u0718\3\2\2\2\u2913") - buf.write("\u2914\7W\2\2\u2914\u2915\7E\2\2\u2915\u2916\7C\2\2\u2916") - buf.write("\u2917\7U\2\2\u2917\u2918\7G\2\2\u2918\u071a\3\2\2\2\u2919") - buf.write("\u291a\7W\2\2\u291a\u291b\7P\2\2\u291b\u291c\7E\2\2\u291c") - buf.write("\u291d\7Q\2\2\u291d\u291e\7O\2\2\u291e\u291f\7R\2\2\u291f") - buf.write("\u2920\7T\2\2\u2920\u2921\7G\2\2\u2921\u2922\7U\2\2\u2922") - buf.write("\u2923\7U\2\2\u2923\u071c\3\2\2\2\u2924\u2925\7W\2\2\u2925") - buf.write("\u2926\7P\2\2\u2926\u2927\7E\2\2\u2927\u2928\7Q\2\2\u2928") - buf.write("\u2929\7O\2\2\u2929\u292a\7R\2\2\u292a\u292b\7T\2\2\u292b") - buf.write("\u292c\7G\2\2\u292c\u292d\7U\2\2\u292d\u292e\7U\2\2\u292e") - buf.write("\u292f\7G\2\2\u292f\u2930\7F\2\2\u2930\u2931\7a\2\2\u2931") - buf.write("\u2932\7N\2\2\u2932\u2933\7G\2\2\u2933\u2934\7P\2\2\u2934") - buf.write("\u2935\7I\2\2\u2935\u2936\7V\2\2\u2936\u2937\7J\2\2\u2937") - buf.write("\u071e\3\2\2\2\u2938\u2939\7W\2\2\u2939\u293a\7P\2\2\u293a") - buf.write("\u293b\7J\2\2\u293b\u293c\7G\2\2\u293c\u293d\7Z\2\2\u293d") - buf.write("\u0720\3\2\2\2\u293e\u293f\7W\2\2\u293f\u2940\7P\2\2\u2940") - buf.write("\u2941\7K\2\2\u2941\u2942\7Z\2\2\u2942\u2943\7a\2\2\u2943") - buf.write("\u2944\7V\2\2\u2944\u2945\7K\2\2\u2945\u2946\7O\2\2\u2946") - buf.write("\u2947\7G\2\2\u2947\u2948\7U\2\2\u2948\u2949\7V\2\2\u2949") - buf.write("\u294a\7C\2\2\u294a\u294b\7O\2\2\u294b\u294c\7R\2\2\u294c") - buf.write("\u0722\3\2\2\2\u294d\u294e\7W\2\2\u294e\u294f\7R\2\2\u294f") - buf.write("\u2950\7F\2\2\u2950\u2951\7C\2\2\u2951\u2952\7V\2\2\u2952") - buf.write("\u2953\7G\2\2\u2953\u2954\7Z\2\2\u2954\u2955\7O\2\2\u2955") - buf.write("\u2956\7N\2\2\u2956\u0724\3\2\2\2\u2957\u2958\7W\2\2\u2958") - buf.write("\u2959\7R\2\2\u2959\u295a\7R\2\2\u295a\u295b\7G\2\2\u295b") - buf.write("\u295c\7T\2\2\u295c\u0726\3\2\2\2\u295d\u295e\7W\2\2\u295e") - buf.write("\u295f\7W\2\2\u295f\u2960\7K\2\2\u2960\u2961\7F\2\2\u2961") - buf.write("\u0728\3\2\2\2\u2962\u2963\7W\2\2\u2963\u2964\7W\2\2\u2964") - buf.write("\u2965\7K\2\2\u2965\u2966\7F\2\2\u2966\u2967\7a\2\2\u2967") - buf.write("\u2968\7U\2\2\u2968\u2969\7J\2\2\u2969\u296a\7Q\2\2\u296a") - buf.write("\u296b\7T\2\2\u296b\u296c\7V\2\2\u296c\u072a\3\2\2\2\u296d") - buf.write("\u296e\7X\2\2\u296e\u296f\7C\2\2\u296f\u2970\7N\2\2\u2970") - buf.write("\u2971\7K\2\2\u2971\u2972\7F\2\2\u2972\u2973\7C\2\2\u2973") - buf.write("\u2974\7V\2\2\u2974\u2975\7G\2\2\u2975\u2976\7a\2\2\u2976") - buf.write("\u2977\7R\2\2\u2977\u2978\7C\2\2\u2978\u2979\7U\2\2\u2979") - buf.write("\u297a\7U\2\2\u297a\u297b\7Y\2\2\u297b\u297c\7Q\2\2\u297c") - buf.write("\u297d\7T\2\2\u297d\u297e\7F\2\2\u297e\u297f\7a\2\2\u297f") - buf.write("\u2980\7U\2\2\u2980\u2981\7V\2\2\u2981\u2982\7T\2\2\u2982") - buf.write("\u2983\7G\2\2\u2983\u2984\7P\2\2\u2984\u2985\7I\2\2\u2985") - buf.write("\u2986\7V\2\2\u2986\u2987\7J\2\2\u2987\u072c\3\2\2\2\u2988") - buf.write("\u2989\7X\2\2\u2989\u298a\7G\2\2\u298a\u298b\7T\2\2\u298b") - buf.write("\u298c\7U\2\2\u298c\u298d\7K\2\2\u298d\u298e\7Q\2\2\u298e") - buf.write("\u298f\7P\2\2\u298f\u072e\3\2\2\2\u2990\u2991\7Y\2\2\u2991") - buf.write("\u2992\7C\2\2\u2992\u2993\7K\2\2\u2993\u2994\7V\2\2\u2994") - buf.write("\u2995\7a\2\2\u2995\u2996\7W\2\2\u2996\u2997\7P\2\2\u2997") - buf.write("\u2998\7V\2\2\u2998\u2999\7K\2\2\u2999\u299a\7N\2\2\u299a") - buf.write("\u299b\7a\2\2\u299b\u299c\7U\2\2\u299c\u299d\7S\2\2\u299d") - buf.write("\u299e\7N\2\2\u299e\u299f\7a\2\2\u299f\u29a0\7V\2\2\u29a0") - buf.write("\u29a1\7J\2\2\u29a1\u29a2\7T\2\2\u29a2\u29a3\7G\2\2\u29a3") - buf.write("\u29a4\7C\2\2\u29a4\u29a5\7F\2\2\u29a5\u29a6\7a\2\2\u29a6") - buf.write("\u29a7\7C\2\2\u29a7\u29a8\7H\2\2\u29a8\u29a9\7V\2\2\u29a9") - buf.write("\u29aa\7G\2\2\u29aa\u29ab\7T\2\2\u29ab\u29ac\7a\2\2\u29ac") - buf.write("\u29ad\7I\2\2\u29ad\u29ae\7V\2\2\u29ae\u29af\7K\2\2\u29af") - buf.write("\u29b0\7F\2\2\u29b0\u29b1\7U\2\2\u29b1\u0730\3\2\2\2\u29b2") - buf.write("\u29b3\7Y\2\2\u29b3\u29b4\7G\2\2\u29b4\u29b5\7G\2\2\u29b5") - buf.write("\u29b6\7M\2\2\u29b6\u29b7\7F\2\2\u29b7\u29b8\7C\2\2\u29b8") - buf.write("\u29b9\7[\2\2\u29b9\u0732\3\2\2\2\u29ba\u29bb\7Y\2\2\u29bb") - buf.write("\u29bc\7G\2\2\u29bc\u29bd\7G\2\2\u29bd\u29be\7M\2\2\u29be") - buf.write("\u29bf\7Q\2\2\u29bf\u29c0\7H\2\2\u29c0\u29c1\7[\2\2\u29c1") - buf.write("\u29c2\7G\2\2\u29c2\u29c3\7C\2\2\u29c3\u29c4\7T\2\2\u29c4") - buf.write("\u0734\3\2\2\2\u29c5\u29c6\7Y\2\2\u29c6\u29c7\7G\2\2\u29c7") - buf.write("\u29c8\7K\2\2\u29c8\u29c9\7I\2\2\u29c9\u29ca\7J\2\2\u29ca") - buf.write("\u29cb\7V\2\2\u29cb\u29cc\7a\2\2\u29cc\u29cd\7U\2\2\u29cd") - buf.write("\u29ce\7V\2\2\u29ce\u29cf\7T\2\2\u29cf\u29d0\7K\2\2\u29d0") - buf.write("\u29d1\7P\2\2\u29d1\u29d2\7I\2\2\u29d2\u0736\3\2\2\2\u29d3") - buf.write("\u29d4\7Y\2\2\u29d4\u29d5\7K\2\2\u29d5\u29d6\7V\2\2\u29d6") - buf.write("\u29d7\7J\2\2\u29d7\u29d8\7K\2\2\u29d8\u29d9\7P\2\2\u29d9") - buf.write("\u0738\3\2\2\2\u29da\u29db\7[\2\2\u29db\u29dc\7G\2\2\u29dc") - buf.write("\u29dd\7C\2\2\u29dd\u29de\7T\2\2\u29de\u29df\7Y\2\2\u29df") - buf.write("\u29e0\7G\2\2\u29e0\u29e1\7G\2\2\u29e1\u29e2\7M\2\2\u29e2") - buf.write("\u073a\3\2\2\2\u29e3\u29e4\7[\2\2\u29e4\u073c\3\2\2\2") - buf.write("\u29e5\u29e6\7Z\2\2\u29e6\u073e\3\2\2\2\u29e7\u29e8\7") - buf.write("<\2\2\u29e8\u29e9\7?\2\2\u29e9\u0740\3\2\2\2\u29ea\u29eb") - buf.write("\7-\2\2\u29eb\u29ec\7?\2\2\u29ec\u0742\3\2\2\2\u29ed\u29ee") - buf.write("\7/\2\2\u29ee\u29ef\7?\2\2\u29ef\u0744\3\2\2\2\u29f0\u29f1") - buf.write("\7,\2\2\u29f1\u29f2\7?\2\2\u29f2\u0746\3\2\2\2\u29f3\u29f4") - buf.write("\7\61\2\2\u29f4\u29f5\7?\2\2\u29f5\u0748\3\2\2\2\u29f6") - buf.write("\u29f7\7\'\2\2\u29f7\u29f8\7?\2\2\u29f8\u074a\3\2\2\2") - buf.write("\u29f9\u29fa\7(\2\2\u29fa\u29fb\7?\2\2\u29fb\u074c\3\2") - buf.write("\2\2\u29fc\u29fd\7`\2\2\u29fd\u29fe\7?\2\2\u29fe\u074e") - buf.write("\3\2\2\2\u29ff\u2a00\7~\2\2\u2a00\u2a01\7?\2\2\u2a01\u0750") - buf.write("\3\2\2\2\u2a02\u2a03\7,\2\2\u2a03\u0752\3\2\2\2\u2a04") - buf.write("\u2a05\7\61\2\2\u2a05\u0754\3\2\2\2\u2a06\u2a07\7\'\2") - buf.write("\2\u2a07\u0756\3\2\2\2\u2a08\u2a09\7-\2\2\u2a09\u0758") - buf.write("\3\2\2\2\u2a0a\u2a0b\7/\2\2\u2a0b\u2a0c\7/\2\2\u2a0c\u075a") - buf.write("\3\2\2\2\u2a0d\u2a0e\7/\2\2\u2a0e\u075c\3\2\2\2\u2a0f") - buf.write("\u2a10\7F\2\2\u2a10\u2a11\7K\2\2\u2a11\u2a12\7X\2\2\u2a12") - buf.write("\u075e\3\2\2\2\u2a13\u2a14\7O\2\2\u2a14\u2a15\7Q\2\2\u2a15") - buf.write("\u2a16\7F\2\2\u2a16\u0760\3\2\2\2\u2a17\u2a18\7?\2\2\u2a18") - buf.write("\u0762\3\2\2\2\u2a19\u2a1a\7@\2\2\u2a1a\u0764\3\2\2\2") - buf.write("\u2a1b\u2a1c\7>\2\2\u2a1c\u0766\3\2\2\2\u2a1d\u2a1e\7") - buf.write("#\2\2\u2a1e\u0768\3\2\2\2\u2a1f\u2a20\7\u0080\2\2\u2a20") - buf.write("\u076a\3\2\2\2\u2a21\u2a22\7~\2\2\u2a22\u076c\3\2\2\2") - buf.write("\u2a23\u2a24\7(\2\2\u2a24\u076e\3\2\2\2\u2a25\u2a26\7") - buf.write("`\2\2\u2a26\u0770\3\2\2\2\u2a27\u2a28\7\60\2\2\u2a28\u0772") - buf.write("\3\2\2\2\u2a29\u2a2a\7*\2\2\u2a2a\u0774\3\2\2\2\u2a2b") - buf.write("\u2a2c\7+\2\2\u2a2c\u0776\3\2\2\2\u2a2d\u2a2e\7.\2\2\u2a2e") - buf.write("\u0778\3\2\2\2\u2a2f\u2a30\7=\2\2\u2a30\u077a\3\2\2\2") - buf.write("\u2a31\u2a32\7B\2\2\u2a32\u077c\3\2\2\2\u2a33\u2a34\7") - buf.write("\62\2\2\u2a34\u077e\3\2\2\2\u2a35\u2a36\7\63\2\2\u2a36") - buf.write("\u0780\3\2\2\2\u2a37\u2a38\7\64\2\2\u2a38\u0782\3\2\2") - buf.write("\2\u2a39\u2a3a\7)\2\2\u2a3a\u0784\3\2\2\2\u2a3b\u2a3c") - buf.write("\7$\2\2\u2a3c\u0786\3\2\2\2\u2a3d\u2a3e\7b\2\2\u2a3e\u0788") - buf.write("\3\2\2\2\u2a3f\u2a40\7<\2\2\u2a40\u078a\3\2\2\2\u2a41") - buf.write("\u2a42\7b\2\2\u2a42\u2a43\5\u07ab\u03d6\2\u2a43\u2a44") - buf.write("\7b\2\2\u2a44\u078c\3\2\2\2\u2a45\u2a47\5\u07b9\u03dd") - buf.write("\2\u2a46\u2a45\3\2\2\2\u2a47\u2a48\3\2\2\2\u2a48\u2a46") - buf.write("\3\2\2\2\u2a48\u2a49\3\2\2\2\u2a49\u2a4a\3\2\2\2\u2a4a") - buf.write("\u2a4b\t\4\2\2\u2a4b\u078e\3\2\2\2\u2a4c\u2a4d\7P\2\2") - buf.write("\u2a4d\u2a4e\5\u07b3\u03da\2\u2a4e\u0790\3\2\2\2\u2a4f") - buf.write("\u2a52\5\u07b1\u03d9\2\u2a50\u2a52\5\u07b3\u03da\2\u2a51") - buf.write("\u2a4f\3\2\2\2\u2a51\u2a50\3\2\2\2\u2a52\u0792\3\2\2\2") - buf.write("\u2a53\u2a55\5\u07b9\u03dd\2\u2a54\u2a53\3\2\2\2\u2a55") - buf.write("\u2a56\3\2\2\2\u2a56\u2a54\3\2\2\2\u2a56\u2a57\3\2\2\2") - buf.write("\u2a57\u0794\3\2\2\2\u2a58\u2a59\7Z\2\2\u2a59\u2a5d\7") - buf.write(")\2\2\u2a5a\u2a5b\5\u07b7\u03dc\2\u2a5b\u2a5c\5\u07b7") - buf.write("\u03dc\2\u2a5c\u2a5e\3\2\2\2\u2a5d\u2a5a\3\2\2\2\u2a5e") - buf.write("\u2a5f\3\2\2\2\u2a5f\u2a5d\3\2\2\2\u2a5f\u2a60\3\2\2\2") - buf.write("\u2a60\u2a61\3\2\2\2\u2a61\u2a62\7)\2\2\u2a62\u2a6c\3") - buf.write("\2\2\2\u2a63\u2a64\7\62\2\2\u2a64\u2a65\7Z\2\2\u2a65\u2a67") - buf.write("\3\2\2\2\u2a66\u2a68\5\u07b7\u03dc\2\u2a67\u2a66\3\2\2") - buf.write("\2\u2a68\u2a69\3\2\2\2\u2a69\u2a67\3\2\2\2\u2a69\u2a6a") - buf.write("\3\2\2\2\u2a6a\u2a6c\3\2\2\2\u2a6b\u2a58\3\2\2\2\u2a6b") - buf.write("\u2a63\3\2\2\2\u2a6c\u0796\3\2\2\2\u2a6d\u2a6f\5\u07b9") - buf.write("\u03dd\2\u2a6e\u2a6d\3\2\2\2\u2a6f\u2a70\3\2\2\2\u2a70") - buf.write("\u2a6e\3\2\2\2\u2a70\u2a71\3\2\2\2\u2a71\u2a73\3\2\2\2") - buf.write("\u2a72\u2a6e\3\2\2\2\u2a72\u2a73\3\2\2\2\u2a73\u2a74\3") - buf.write("\2\2\2\u2a74\u2a76\7\60\2\2\u2a75\u2a77\5\u07b9\u03dd") - buf.write("\2\u2a76\u2a75\3\2\2\2\u2a77\u2a78\3\2\2\2\u2a78\u2a76") - buf.write("\3\2\2\2\u2a78\u2a79\3\2\2\2\u2a79\u2a99\3\2\2\2\u2a7a") - buf.write("\u2a7c\5\u07b9\u03dd\2\u2a7b\u2a7a\3\2\2\2\u2a7c\u2a7d") - buf.write("\3\2\2\2\u2a7d\u2a7b\3\2\2\2\u2a7d\u2a7e\3\2\2\2\u2a7e") - buf.write("\u2a7f\3\2\2\2\u2a7f\u2a80\7\60\2\2\u2a80\u2a81\5\u07ad") - buf.write("\u03d7\2\u2a81\u2a99\3\2\2\2\u2a82\u2a84\5\u07b9\u03dd") - buf.write("\2\u2a83\u2a82\3\2\2\2\u2a84\u2a85\3\2\2\2\u2a85\u2a83") - buf.write("\3\2\2\2\u2a85\u2a86\3\2\2\2\u2a86\u2a88\3\2\2\2\u2a87") - buf.write("\u2a83\3\2\2\2\u2a87\u2a88\3\2\2\2\u2a88\u2a89\3\2\2\2") - buf.write("\u2a89\u2a8b\7\60\2\2\u2a8a\u2a8c\5\u07b9\u03dd\2\u2a8b") - buf.write("\u2a8a\3\2\2\2\u2a8c\u2a8d\3\2\2\2\u2a8d\u2a8b\3\2\2\2") - buf.write("\u2a8d\u2a8e\3\2\2\2\u2a8e\u2a8f\3\2\2\2\u2a8f\u2a90\5") - buf.write("\u07ad\u03d7\2\u2a90\u2a99\3\2\2\2\u2a91\u2a93\5\u07b9") - buf.write("\u03dd\2\u2a92\u2a91\3\2\2\2\u2a93\u2a94\3\2\2\2\u2a94") - buf.write("\u2a92\3\2\2\2\u2a94\u2a95\3\2\2\2\u2a95\u2a96\3\2\2\2") - buf.write("\u2a96\u2a97\5\u07ad\u03d7\2\u2a97\u2a99\3\2\2\2\u2a98") - buf.write("\u2a72\3\2\2\2\u2a98\u2a7b\3\2\2\2\u2a98\u2a87\3\2\2\2") - buf.write("\u2a98\u2a92\3\2\2\2\u2a99\u0798\3\2\2\2\u2a9a\u2a9b\7") - buf.write("^\2\2\u2a9b\u2a9c\7P\2\2\u2a9c\u079a\3\2\2\2\u2a9d\u2a9e") - buf.write("\5\u07bb\u03de\2\u2a9e\u079c\3\2\2\2\u2a9f\u2aa0\7a\2") - buf.write("\2\u2aa0\u2aa1\5\u07ab\u03d6\2\u2aa1\u079e\3\2\2\2\u2aa2") - buf.write("\u2aa3\7\60\2\2\u2aa3\u2aa4\5\u07af\u03d8\2\u2aa4\u07a0") - buf.write("\3\2\2\2\u2aa5\u2aa6\5\u07af\u03d8\2\u2aa6\u07a2\3\2\2") - buf.write("\2\u2aa7\u2aa9\7b\2\2\u2aa8\u2aaa\n\5\2\2\u2aa9\u2aa8") - buf.write("\3\2\2\2\u2aaa\u2aab\3\2\2\2\u2aab\u2aa9\3\2\2\2\u2aab") - buf.write("\u2aac\3\2\2\2\u2aac\u2aad\3\2\2\2\u2aad\u2aae\7b\2\2") - buf.write("\u2aae\u07a4\3\2\2\2\u2aaf\u2ab4\5\u07b3\u03da\2\u2ab0") - buf.write("\u2ab4\5\u07b1\u03d9\2\u2ab1\u2ab4\5\u07b5\u03db\2\u2ab2") - buf.write("\u2ab4\5\u07af\u03d8\2\u2ab3\u2aaf\3\2\2\2\u2ab3\u2ab0") - buf.write("\3\2\2\2\u2ab3\u2ab1\3\2\2\2\u2ab3\u2ab2\3\2\2\2\u2ab4") - buf.write("\u2ab5\3\2\2\2\u2ab5\u2aba\7B\2\2\u2ab6\u2abb\5\u07b3") - buf.write("\u03da\2\u2ab7\u2abb\5\u07b1\u03d9\2\u2ab8\u2abb\5\u07b5") - buf.write("\u03db\2\u2ab9\u2abb\5\u07af\u03d8\2\u2aba\u2ab6\3\2\2") - buf.write("\2\u2aba\u2ab7\3\2\2\2\u2aba\u2ab8\3\2\2\2\u2aba\u2ab9") - buf.write("\3\2\2\2\u2abb\u07a6\3\2\2\2\u2abc\u2ac5\7B\2\2\u2abd") - buf.write("\u2abf\t\6\2\2\u2abe\u2abd\3\2\2\2\u2abf\u2ac0\3\2\2\2") - buf.write("\u2ac0\u2abe\3\2\2\2\u2ac0\u2ac1\3\2\2\2\u2ac1\u2ac6\3") - buf.write("\2\2\2\u2ac2\u2ac6\5\u07b3\u03da\2\u2ac3\u2ac6\5\u07b1") - buf.write("\u03d9\2\u2ac4\u2ac6\5\u07b5\u03db\2\u2ac5\u2abe\3\2\2") - buf.write("\2\u2ac5\u2ac2\3\2\2\2\u2ac5\u2ac3\3\2\2\2\u2ac5\u2ac4") - buf.write("\3\2\2\2\u2ac6\u07a8\3\2\2\2\u2ac7\u2ac8\7B\2\2\u2ac8") - buf.write("\u2acf\7B\2\2\u2ac9\u2acb\t\6\2\2\u2aca\u2ac9\3\2\2\2") - buf.write("\u2acb\u2acc\3\2\2\2\u2acc\u2aca\3\2\2\2\u2acc\u2acd\3") - buf.write("\2\2\2\u2acd\u2ad0\3\2\2\2\u2ace\u2ad0\5\u07b5\u03db\2") - buf.write("\u2acf\u2aca\3\2\2\2\u2acf\u2ace\3\2\2\2\u2ad0\u07aa\3") - buf.write("\2\2\2\u2ad1\u2afa\5\u047f\u0240\2\u2ad2\u2afa\5\u0481") - buf.write("\u0241\2\u2ad3\u2afa\5\u0483\u0242\2\u2ad4\u2afa\5\u017f") - buf.write("\u00c0\2\u2ad5\u2afa\5\u0485\u0243\2\u2ad6\u2afa\5\u0487") - buf.write("\u0244\2\u2ad7\u2afa\5\u0489\u0245\2\u2ad8\u2afa\5\u048b") - buf.write("\u0246\2\u2ad9\u2afa\5\u048d\u0247\2\u2ada\u2afa\5\u048f") - buf.write("\u0248\2\u2adb\u2afa\5\u0491\u0249\2\u2adc\u2afa\5\u0493") - buf.write("\u024a\2\u2add\u2afa\5\u0495\u024b\2\u2ade\u2afa\5\u0497") - buf.write("\u024c\2\u2adf\u2afa\5\u0499\u024d\2\u2ae0\u2afa\5\u049b") - buf.write("\u024e\2\u2ae1\u2afa\5\u049d\u024f\2\u2ae2\u2afa\5\u049f") - buf.write("\u0250\2\u2ae3\u2afa\5\u04a1\u0251\2\u2ae4\u2afa\5\u04a3") - buf.write("\u0252\2\u2ae5\u2afa\5\u04a5\u0253\2\u2ae6\u2afa\5\u04a7") - buf.write("\u0254\2\u2ae7\u2afa\5\u04a9\u0255\2\u2ae8\u2afa\5\u04ab") - buf.write("\u0256\2\u2ae9\u2afa\5\u04ad\u0257\2\u2aea\u2afa\5\u04af") - buf.write("\u0258\2\u2aeb\u2afa\5\u04b1\u0259\2\u2aec\u2afa\5\u04b3") - buf.write("\u025a\2\u2aed\u2afa\5\u04b5\u025b\2\u2aee\u2afa\5\u04b7") - buf.write("\u025c\2\u2aef\u2afa\5\u04b9\u025d\2\u2af0\u2afa\5\u04bb") - buf.write("\u025e\2\u2af1\u2afa\5\u04bd\u025f\2\u2af2\u2afa\5\u04bf") - buf.write("\u0260\2\u2af3\u2afa\5\u04c1\u0261\2\u2af4\u2afa\5\u04c3") - buf.write("\u0262\2\u2af5\u2afa\5\u04c5\u0263\2\u2af6\u2afa\5\u04c7") - buf.write("\u0264\2\u2af7\u2afa\5\u04c9\u0265\2\u2af8\u2afa\5\u04cd") - buf.write("\u0267\2\u2af9\u2ad1\3\2\2\2\u2af9\u2ad2\3\2\2\2\u2af9") - buf.write("\u2ad3\3\2\2\2\u2af9\u2ad4\3\2\2\2\u2af9\u2ad5\3\2\2\2") - buf.write("\u2af9\u2ad6\3\2\2\2\u2af9\u2ad7\3\2\2\2\u2af9\u2ad8\3") - buf.write("\2\2\2\u2af9\u2ad9\3\2\2\2\u2af9\u2ada\3\2\2\2\u2af9\u2adb") - buf.write("\3\2\2\2\u2af9\u2adc\3\2\2\2\u2af9\u2add\3\2\2\2\u2af9") - buf.write("\u2ade\3\2\2\2\u2af9\u2adf\3\2\2\2\u2af9\u2ae0\3\2\2\2") - buf.write("\u2af9\u2ae1\3\2\2\2\u2af9\u2ae2\3\2\2\2\u2af9\u2ae3\3") - buf.write("\2\2\2\u2af9\u2ae4\3\2\2\2\u2af9\u2ae5\3\2\2\2\u2af9\u2ae6") - buf.write("\3\2\2\2\u2af9\u2ae7\3\2\2\2\u2af9\u2ae8\3\2\2\2\u2af9") - buf.write("\u2ae9\3\2\2\2\u2af9\u2aea\3\2\2\2\u2af9\u2aeb\3\2\2\2") - buf.write("\u2af9\u2aec\3\2\2\2\u2af9\u2aed\3\2\2\2\u2af9\u2aee\3") - buf.write("\2\2\2\u2af9\u2aef\3\2\2\2\u2af9\u2af0\3\2\2\2\u2af9\u2af1") - buf.write("\3\2\2\2\u2af9\u2af2\3\2\2\2\u2af9\u2af3\3\2\2\2\u2af9") - buf.write("\u2af4\3\2\2\2\u2af9\u2af5\3\2\2\2\u2af9\u2af6\3\2\2\2") - buf.write("\u2af9\u2af7\3\2\2\2\u2af9\u2af8\3\2\2\2\u2afa\u07ac\3") - buf.write("\2\2\2\u2afb\u2afd\7G\2\2\u2afc\u2afe\7/\2\2\u2afd\u2afc") - buf.write("\3\2\2\2\u2afd\u2afe\3\2\2\2\u2afe\u2b00\3\2\2\2\u2aff") - buf.write("\u2b01\5\u07b9\u03dd\2\u2b00\u2aff\3\2\2\2\u2b01\u2b02") - buf.write("\3\2\2\2\u2b02\u2b00\3\2\2\2\u2b02\u2b03\3\2\2\2\u2b03") - buf.write("\u07ae\3\2\2\2\u2b04\u2b06\t\7\2\2\u2b05\u2b04\3\2\2\2") - buf.write("\u2b06\u2b09\3\2\2\2\u2b07\u2b08\3\2\2\2\u2b07\u2b05\3") - buf.write("\2\2\2\u2b08\u2b0b\3\2\2\2\u2b09\u2b07\3\2\2\2\u2b0a\u2b0c") - buf.write("\t\b\2\2\u2b0b\u2b0a\3\2\2\2\u2b0c\u2b0d\3\2\2\2\u2b0d") - buf.write("\u2b0e\3\2\2\2\u2b0d\u2b0b\3\2\2\2\u2b0e\u2b12\3\2\2\2") - buf.write("\u2b0f\u2b11\t\7\2\2\u2b10\u2b0f\3\2\2\2\u2b11\u2b14\3") - buf.write("\2\2\2\u2b12\u2b10\3\2\2\2\u2b12\u2b13\3\2\2\2\u2b13\u07b0") - buf.write("\3\2\2\2\u2b14\u2b12\3\2\2\2\u2b15\u2b1d\7$\2\2\u2b16") - buf.write("\u2b17\7^\2\2\u2b17\u2b1c\13\2\2\2\u2b18\u2b19\7$\2\2") - buf.write("\u2b19\u2b1c\7$\2\2\u2b1a\u2b1c\n\t\2\2\u2b1b\u2b16\3") - buf.write("\2\2\2\u2b1b\u2b18\3\2\2\2\u2b1b\u2b1a\3\2\2\2\u2b1c\u2b1f") - buf.write("\3\2\2\2\u2b1d\u2b1b\3\2\2\2\u2b1d\u2b1e\3\2\2\2\u2b1e") - buf.write("\u2b20\3\2\2\2\u2b1f\u2b1d\3\2\2\2\u2b20\u2b21\7$\2\2") - buf.write("\u2b21\u07b2\3\2\2\2\u2b22\u2b2a\7)\2\2\u2b23\u2b24\7") - buf.write("^\2\2\u2b24\u2b29\13\2\2\2\u2b25\u2b26\7)\2\2\u2b26\u2b29") - buf.write("\7)\2\2\u2b27\u2b29\n\n\2\2\u2b28\u2b23\3\2\2\2\u2b28") - buf.write("\u2b25\3\2\2\2\u2b28\u2b27\3\2\2\2\u2b29\u2b2c\3\2\2\2") - buf.write("\u2b2a\u2b28\3\2\2\2\u2b2a\u2b2b\3\2\2\2\u2b2b\u2b2d\3") - buf.write("\2\2\2\u2b2c\u2b2a\3\2\2\2\u2b2d\u2b2e\7)\2\2\u2b2e\u07b4") - buf.write("\3\2\2\2\u2b2f\u2b37\7b\2\2\u2b30\u2b31\7^\2\2\u2b31\u2b36") - buf.write("\13\2\2\2\u2b32\u2b33\7b\2\2\u2b33\u2b36\7b\2\2\u2b34") - buf.write("\u2b36\n\13\2\2\u2b35\u2b30\3\2\2\2\u2b35\u2b32\3\2\2") - buf.write("\2\u2b35\u2b34\3\2\2\2\u2b36\u2b39\3\2\2\2\u2b37\u2b35") - buf.write("\3\2\2\2\u2b37\u2b38\3\2\2\2\u2b38\u2b3a\3\2\2\2\u2b39") - buf.write("\u2b37\3\2\2\2\u2b3a\u2b3b\7b\2\2\u2b3b\u07b6\3\2\2\2") - buf.write("\u2b3c\u2b3d\t\f\2\2\u2b3d\u07b8\3\2\2\2\u2b3e\u2b3f\t") - buf.write("\r\2\2\u2b3f\u07ba\3\2\2\2\u2b40\u2b41\7D\2\2\u2b41\u2b43") - buf.write("\7)\2\2\u2b42\u2b44\t\16\2\2\u2b43\u2b42\3\2\2\2\u2b44") - buf.write("\u2b45\3\2\2\2\u2b45\u2b43\3\2\2\2\u2b45\u2b46\3\2\2\2") - buf.write("\u2b46\u2b47\3\2\2\2\u2b47\u2b48\7)\2\2\u2b48\u07bc\3") - buf.write("\2\2\2\u2b49\u2b4a\13\2\2\2\u2b4a\u2b4b\3\2\2\2\u2b4b") - buf.write("\u2b4c\b\u03df\4\2\u2b4c\u07be\3\2\2\2\60\2\u07c2\u07cd") - buf.write("\u07da\u07e6\u07eb\u07ef\u07f3\u07f9\u07fd\u07ff\u2a48") - buf.write("\u2a51\u2a56\u2a5f\u2a69\u2a6b\u2a70\u2a72\u2a78\u2a7d") - buf.write("\u2a85\u2a87\u2a8d\u2a94\u2a98\u2aab\u2ab3\u2aba\u2ac0") - buf.write("\u2ac5\u2acc\u2acf\u2af9\u2afd\u2b02\u2b07\u2b0d\u2b12") - buf.write("\u2b1b\u2b1d\u2b28\u2b2a\u2b35\u2b37\u2b45\5\2\3\2\2\4") - buf.write("\2\2\5\2") - return buf.getvalue() - - -class frameQLLexer(Lexer): - - atn = ATNDeserializer().deserialize(serializedATN()) - - decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ] - - MYSQLCOMMENT = 2 - ERRORCHANNEL = 3 - - SPACE = 1 - SPEC_MYSQL_COMMENT = 2 - COMMENT_INPUT = 3 - LINE_COMMENT = 4 - ERRORBOUND = 5 - CONFLEVEL = 6 - ADD = 7 - ALL = 8 - ALTER = 9 - ALWAYS = 10 - ANALYZE = 11 - AND = 12 - AS = 13 - ASC = 14 - BEFORE = 15 - BETWEEN = 16 - BOTH = 17 - BY = 18 - CALL = 19 - CASCADE = 20 - CASE = 21 - CAST = 22 - CHANGE = 23 - CHARACTER = 24 - CHECK = 25 - COLLATE = 26 - COLUMN = 27 - CONDITION = 28 - CONSTRAINT = 29 - CONTINUE = 30 - CONVERT = 31 - CREATE = 32 - CROSS = 33 - CURRENT_USER = 34 - CURSOR = 35 - DATABASE = 36 - DATABASES = 37 - DECLARE = 38 - DEFAULT = 39 - DELAYED = 40 - DELETE = 41 - DESC = 42 - DESCRIBE = 43 - DETERMINISTIC = 44 - DISTINCT = 45 - DISTINCTROW = 46 - DROP = 47 - EACH = 48 - ELSE = 49 - ELSEIF = 50 - ENCLOSED = 51 - ESCAPED = 52 - EXISTS = 53 - EXIT = 54 - EXPLAIN = 55 - FALSE = 56 - FETCH = 57 - FOR = 58 - FORCE = 59 - FOREIGN = 60 - FROM = 61 - FULLTEXT = 62 - GENERATED = 63 - GRANT = 64 - GROUP = 65 - HAVING = 66 - HIGH_PRIORITY = 67 - IF = 68 - IGNORE = 69 - IN = 70 - INDEX = 71 - INFILE = 72 - INNER = 73 - INOUT = 74 - INSERT = 75 - INTERVAL = 76 - INTO = 77 - IS = 78 - ITERATE = 79 - JOIN = 80 - KEY = 81 - KEYS = 82 - KILL = 83 - LEADING = 84 - LEAVE = 85 - LEFT = 86 - LIKE = 87 - LIMIT = 88 - LINEAR = 89 - LINES = 90 - LOAD = 91 - LOCK = 92 - LOOP = 93 - LOW_PRIORITY = 94 - MASTER_BIND = 95 - MASTER_SSL_VERIFY_SERVER_CERT = 96 - MATCH = 97 - MAXVALUE = 98 - MODIFIES = 99 - NATURAL = 100 - NOT = 101 - NO_WRITE_TO_BINLOG = 102 - NULL_LITERAL = 103 - ON = 104 - OPTIMIZE = 105 - OPTION = 106 - OPTIONALLY = 107 - OR = 108 - ORDER = 109 - OUT = 110 - OUTER = 111 - OUTFILE = 112 - PARTITION = 113 - PRIMARY = 114 - PROCEDURE = 115 - PURGE = 116 - RANGE = 117 - READ = 118 - READS = 119 - REFERENCES = 120 - REGEXP = 121 - RELEASE = 122 - RENAME = 123 - REPEAT = 124 - REPLACE = 125 - REQUIRE = 126 - RESTRICT = 127 - RETURN = 128 - REVOKE = 129 - RIGHT = 130 - RLIKE = 131 - SCHEMA = 132 - SCHEMAS = 133 - SELECT = 134 - SET = 135 - SEPARATOR = 136 - SHOW = 137 - SPATIAL = 138 - SQL = 139 - SQLEXCEPTION = 140 - SQLSTATE = 141 - SQLWARNING = 142 - SQL_BIG_RESULT = 143 - SQL_CALC_FOUND_ROWS = 144 - SQL_SMALL_RESULT = 145 - SSL = 146 - STARTING = 147 - STRAIGHT_JOIN = 148 - TABLE = 149 - TERMINATED = 150 - THEN = 151 - TO = 152 - TRAILING = 153 - TRIGGER = 154 - TRUE = 155 - UNDO = 156 - UNION = 157 - UNIQUE = 158 - UNLOCK = 159 - UNSIGNED = 160 - UPDATE = 161 - USAGE = 162 - USE = 163 - USING = 164 - VALUES = 165 - WHEN = 166 - WHERE = 167 - WHILE = 168 - WITH = 169 - WRITE = 170 - XOR = 171 - ZEROFILL = 172 - TINYINT = 173 - SMALLINT = 174 - MEDIUMINT = 175 - INT = 176 - INTEGER = 177 - BIGINT = 178 - REAL = 179 - DOUBLE = 180 - FLOAT = 181 - DECIMAL = 182 - NUMERIC = 183 - DATE = 184 - TIME = 185 - TIMESTAMP = 186 - DATETIME = 187 - YEAR = 188 - CHAR = 189 - VARCHAR = 190 - BINARY = 191 - VARBINARY = 192 - TINYBLOB = 193 - BLOB = 194 - MEDIUMBLOB = 195 - LONGBLOB = 196 - TINYTEXT = 197 - TEXT = 198 - MEDIUMTEXT = 199 - LONGTEXT = 200 - ENUM = 201 - SERIAL = 202 - YEAR_MONTH = 203 - DAY_HOUR = 204 - DAY_MINUTE = 205 - DAY_SECOND = 206 - HOUR_MINUTE = 207 - HOUR_SECOND = 208 - MINUTE_SECOND = 209 - SECOND_MICROSECOND = 210 - MINUTE_MICROSECOND = 211 - HOUR_MICROSECOND = 212 - DAY_MICROSECOND = 213 - AVG = 214 - BIT_AND = 215 - BIT_OR = 216 - BIT_XOR = 217 - COUNT = 218 - GROUP_CONCAT = 219 - MAX = 220 - MIN = 221 - STD = 222 - STDDEV = 223 - STDDEV_POP = 224 - STDDEV_SAMP = 225 - SUM = 226 - VAR_POP = 227 - VAR_SAMP = 228 - VARIANCE = 229 - FCOUNT = 230 - CURRENT_DATE = 231 - CURRENT_TIME = 232 - CURRENT_TIMESTAMP = 233 - LOCALTIME = 234 - CURDATE = 235 - CURTIME = 236 - DATE_ADD = 237 - DATE_SUB = 238 - EXTRACT = 239 - LOCALTIMESTAMP = 240 - NOW = 241 - POSITION = 242 - SUBSTR = 243 - SUBSTRING = 244 - SYSDATE = 245 - TRIM = 246 - UTC_DATE = 247 - UTC_TIME = 248 - UTC_TIMESTAMP = 249 - ACCOUNT = 250 - ACTION = 251 - AFTER = 252 - AGGREGATE = 253 - ALGORITHM = 254 - ANY = 255 - AT = 256 - AUTHORS = 257 - AUTOCOMMIT = 258 - AUTOEXTEND_SIZE = 259 - AUTO_INCREMENT = 260 - AVG_ROW_LENGTH = 261 - BEGIN = 262 - BINLOG = 263 - BIT = 264 - BLOCK = 265 - BOOL = 266 - BOOLEAN = 267 - BTREE = 268 - CACHE = 269 - CASCADED = 270 - CHAIN = 271 - CHANGED = 272 - CHANNEL = 273 - CHECKSUM = 274 - CIPHER = 275 - CLIENT = 276 - CLOSE = 277 - COALESCE = 278 - CODE = 279 - COLUMNS = 280 - COLUMN_FORMAT = 281 - COMMENT = 282 - COMMIT = 283 - COMPACT = 284 - COMPLETION = 285 - COMPRESSED = 286 - COMPRESSION = 287 - CONCURRENT = 288 - CONNECTION = 289 - CONSISTENT = 290 - CONTAINS = 291 - CONTEXT = 292 - CONTRIBUTORS = 293 - COPY = 294 - CPU = 295 - DATA = 296 - DATAFILE = 297 - DEALLOCATE = 298 - DEFAULT_AUTH = 299 - DEFINER = 300 - DELAY_KEY_WRITE = 301 - DES_KEY_FILE = 302 - DIRECTORY = 303 - DISABLE = 304 - DISCARD = 305 - DISK = 306 - DO = 307 - DUMPFILE = 308 - DUPLICATE = 309 - DYNAMIC = 310 - ENABLE = 311 - ENCRYPTION = 312 - END = 313 - ENDS = 314 - ENGINE = 315 - ENGINES = 316 - ERROR = 317 - ERRORS = 318 - ESCAPE = 319 - EVEN = 320 - EVENT = 321 - EVENTS = 322 - EVERY = 323 - EXCHANGE = 324 - EXCLUSIVE = 325 - EXPIRE = 326 - EXPORT = 327 - EXTENDED = 328 - EXTENT_SIZE = 329 - FAST = 330 - FAULTS = 331 - FIELDS = 332 - FILE_BLOCK_SIZE = 333 - FILTER = 334 - FIRST = 335 - FIXED = 336 - FLUSH = 337 - FOLLOWS = 338 - FOUND = 339 - FULL = 340 - FUNCTION = 341 - GENERAL = 342 - GLOBAL = 343 - GRANTS = 344 - GROUP_REPLICATION = 345 - HANDLER = 346 - HASH = 347 - HELP = 348 - HOST = 349 - HOSTS = 350 - IDENTIFIED = 351 - IGNORE_SERVER_IDS = 352 - IMPORT = 353 - INDEXES = 354 - INITIAL_SIZE = 355 - INPLACE = 356 - INSERT_METHOD = 357 - INSTALL = 358 - INSTANCE = 359 - INVOKER = 360 - IO = 361 - IO_THREAD = 362 - IPC = 363 - ISOLATION = 364 - ISSUER = 365 - JSON = 366 - KEY_BLOCK_SIZE = 367 - LANGUAGE = 368 - LAST = 369 - LEAVES = 370 - LESS = 371 - LEVEL = 372 - LIST = 373 - LOCAL = 374 - LOGFILE = 375 - LOGS = 376 - MASTER = 377 - MASTER_AUTO_POSITION = 378 - MASTER_CONNECT_RETRY = 379 - MASTER_DELAY = 380 - MASTER_HEARTBEAT_PERIOD = 381 - MASTER_HOST = 382 - MASTER_LOG_FILE = 383 - MASTER_LOG_POS = 384 - MASTER_PASSWORD = 385 - MASTER_PORT = 386 - MASTER_RETRY_COUNT = 387 - MASTER_SSL = 388 - MASTER_SSL_CA = 389 - MASTER_SSL_CAPATH = 390 - MASTER_SSL_CERT = 391 - MASTER_SSL_CIPHER = 392 - MASTER_SSL_CRL = 393 - MASTER_SSL_CRLPATH = 394 - MASTER_SSL_KEY = 395 - MASTER_TLS_VERSION = 396 - MASTER_USER = 397 - MAX_CONNECTIONS_PER_HOUR = 398 - MAX_QUERIES_PER_HOUR = 399 - MAX_ROWS = 400 - MAX_SIZE = 401 - MAX_UPDATES_PER_HOUR = 402 - MAX_USER_CONNECTIONS = 403 - MEDIUM = 404 - MERGE = 405 - MID = 406 - MIGRATE = 407 - MIN_ROWS = 408 - MODE = 409 - MODIFY = 410 - MUTEX = 411 - MYSQL = 412 - NAME = 413 - NAMES = 414 - NCHAR = 415 - NEVER = 416 - NEXT = 417 - NO = 418 - NODEGROUP = 419 - NONE = 420 - OFFLINE = 421 - OFFSET = 422 - OJ = 423 - OLD_PASSWORD = 424 - ONE = 425 - ONLINE = 426 - ONLY = 427 - OPEN = 428 - OPTIMIZER_COSTS = 429 - OPTIONS = 430 - OWNER = 431 - PACK_KEYS = 432 - PAGE = 433 - PARSER = 434 - PARTIAL = 435 - PARTITIONING = 436 - PARTITIONS = 437 - PASSWORD = 438 - PHASE = 439 - PLUGIN = 440 - PLUGIN_DIR = 441 - PLUGINS = 442 - PORT = 443 - PRECEDES = 444 - PREPARE = 445 - PRESERVE = 446 - PREV = 447 - PROCESSLIST = 448 - PROFILE = 449 - PROFILES = 450 - PROXY = 451 - QUERY = 452 - QUICK = 453 - REBUILD = 454 - RECOVER = 455 - REDO_BUFFER_SIZE = 456 - REDUNDANT = 457 - RELAY = 458 - RELAY_LOG_FILE = 459 - RELAY_LOG_POS = 460 - RELAYLOG = 461 - REMOVE = 462 - REORGANIZE = 463 - REPAIR = 464 - REPLICATE_DO_DB = 465 - REPLICATE_DO_TABLE = 466 - REPLICATE_IGNORE_DB = 467 - REPLICATE_IGNORE_TABLE = 468 - REPLICATE_REWRITE_DB = 469 - REPLICATE_WILD_DO_TABLE = 470 - REPLICATE_WILD_IGNORE_TABLE = 471 - REPLICATION = 472 - RESET = 473 - RESUME = 474 - RETURNS = 475 - ROLLBACK = 476 - ROLLUP = 477 - ROTATE = 478 - ROW = 479 - ROWS = 480 - ROW_FORMAT = 481 - SAVEPOINT = 482 - SCHEDULE = 483 - SECURITY = 484 - SERVER = 485 - SESSION = 486 - SHARE = 487 - SHARED = 488 - SIGNED = 489 - SIMPLE = 490 - SLAVE = 491 - SLOW = 492 - SNAPSHOT = 493 - SOCKET = 494 - SOME = 495 - SONAME = 496 - SOUNDS = 497 - SOURCE = 498 - SQL_AFTER_GTIDS = 499 - SQL_AFTER_MTS_GAPS = 500 - SQL_BEFORE_GTIDS = 501 - SQL_BUFFER_RESULT = 502 - SQL_CACHE = 503 - SQL_NO_CACHE = 504 - SQL_THREAD = 505 - START = 506 - STARTS = 507 - STATS_AUTO_RECALC = 508 - STATS_PERSISTENT = 509 - STATS_SAMPLE_PAGES = 510 - STATUS = 511 - STOP = 512 - STORAGE = 513 - STORED = 514 - STRING = 515 - SUBJECT = 516 - SUBPARTITION = 517 - SUBPARTITIONS = 518 - SUSPEND = 519 - SWAPS = 520 - SWITCHES = 521 - TABLESPACE = 522 - TEMPORARY = 523 - TEMPTABLE = 524 - THAN = 525 - TRADITIONAL = 526 - TRANSACTION = 527 - TRIGGERS = 528 - TRUNCATE = 529 - UNDEFINED = 530 - UNDOFILE = 531 - UNDO_BUFFER_SIZE = 532 - UNINSTALL = 533 - UNKNOWN = 534 - UNTIL = 535 - UPGRADE = 536 - USER = 537 - USE_FRM = 538 - USER_RESOURCES = 539 - VALIDATION = 540 - VALUE = 541 - VARIABLES = 542 - VIEW = 543 - VIRTUAL = 544 - WAIT = 545 - WARNINGS = 546 - WITHOUT = 547 - WORK = 548 - WRAPPER = 549 - X509 = 550 - XA = 551 - XML = 552 - EUR = 553 - USA = 554 - JIS = 555 - ISO = 556 - INTERNAL = 557 - QUARTER = 558 - MONTH = 559 - DAY = 560 - HOUR = 561 - MINUTE = 562 - WEEK = 563 - SECOND = 564 - MICROSECOND = 565 - TABLES = 566 - ROUTINE = 567 - EXECUTE = 568 - FILE = 569 - PROCESS = 570 - RELOAD = 571 - SHUTDOWN = 572 - SUPER = 573 - PRIVILEGES = 574 - ARMSCII8 = 575 - ASCII = 576 - BIG5 = 577 - CP1250 = 578 - CP1251 = 579 - CP1256 = 580 - CP1257 = 581 - CP850 = 582 - CP852 = 583 - CP866 = 584 - CP932 = 585 - DEC8 = 586 - EUCJPMS = 587 - EUCKR = 588 - GB2312 = 589 - GBK = 590 - GEOSTD8 = 591 - GREEK = 592 - HEBREW = 593 - HP8 = 594 - KEYBCS2 = 595 - KOI8R = 596 - KOI8U = 597 - LATIN1 = 598 - LATIN2 = 599 - LATIN5 = 600 - LATIN7 = 601 - MACCE = 602 - MACROMAN = 603 - SJIS = 604 - SWE7 = 605 - TIS620 = 606 - UCS2 = 607 - UJIS = 608 - UTF16 = 609 - UTF16LE = 610 - UTF32 = 611 - UTF8 = 612 - UTF8MB3 = 613 - UTF8MB4 = 614 - ARCHIVE = 615 - BLACKHOLE = 616 - CSV = 617 - FEDERATED = 618 - INNODB = 619 - MEMORY = 620 - MRG_MYISAM = 621 - MYISAM = 622 - NDB = 623 - NDBCLUSTER = 624 - PERFOMANCE_SCHEMA = 625 - REPEATABLE = 626 - COMMITTED = 627 - UNCOMMITTED = 628 - SERIALIZABLE = 629 - GEOMETRYCOLLECTION = 630 - LINESTRING = 631 - MULTILINESTRING = 632 - MULTIPOINT = 633 - MULTIPOLYGON = 634 - POINT = 635 - POLYGON = 636 - ABS = 637 - ACOS = 638 - ADDDATE = 639 - ADDTIME = 640 - AES_DECRYPT = 641 - AES_ENCRYPT = 642 - AREA = 643 - ASBINARY = 644 - ASIN = 645 - ASTEXT = 646 - ASWKB = 647 - ASWKT = 648 - ASYMMETRIC_DECRYPT = 649 - ASYMMETRIC_DERIVE = 650 - ASYMMETRIC_ENCRYPT = 651 - ASYMMETRIC_SIGN = 652 - ASYMMETRIC_VERIFY = 653 - ATAN = 654 - ATAN2 = 655 - BENCHMARK = 656 - BIN = 657 - BIT_COUNT = 658 - BIT_LENGTH = 659 - BUFFER = 660 - CEIL = 661 - CEILING = 662 - CENTROID = 663 - CHARACTER_LENGTH = 664 - CHARSET = 665 - CHAR_LENGTH = 666 - COERCIBILITY = 667 - COLLATION = 668 - COMPRESS = 669 - CONCAT = 670 - CONCAT_WS = 671 - CONNECTION_ID = 672 - CONV = 673 - CONVERT_TZ = 674 - COS = 675 - COT = 676 - CRC32 = 677 - CREATE_ASYMMETRIC_PRIV_KEY = 678 - CREATE_ASYMMETRIC_PUB_KEY = 679 - CREATE_DH_PARAMETERS = 680 - CREATE_DIGEST = 681 - CROSSES = 682 - DATEDIFF = 683 - DATE_FORMAT = 684 - DAYNAME = 685 - DAYOFMONTH = 686 - DAYOFWEEK = 687 - DAYOFYEAR = 688 - DECODE = 689 - DEGREES = 690 - DES_DECRYPT = 691 - DES_ENCRYPT = 692 - DIMENSION = 693 - DISJOINT = 694 - ELT = 695 - ENCODE = 696 - ENCRYPT = 697 - ENDPOINT = 698 - ENVELOPE = 699 - EQUALS = 700 - EXP = 701 - EXPORT_SET = 702 - EXTERIORRING = 703 - EXTRACTVALUE = 704 - FIELD = 705 - FIND_IN_SET = 706 - FLOOR = 707 - FORMAT = 708 - FOUND_ROWS = 709 - FROM_BASE64 = 710 - FROM_DAYS = 711 - FROM_UNIXTIME = 712 - GEOMCOLLFROMTEXT = 713 - GEOMCOLLFROMWKB = 714 - GEOMETRYCOLLECTIONFROMTEXT = 715 - GEOMETRYCOLLECTIONFROMWKB = 716 - GEOMETRYFROMTEXT = 717 - GEOMETRYFROMWKB = 718 - GEOMETRYN = 719 - GEOMETRYTYPE = 720 - GEOMFROMTEXT = 721 - GEOMFROMWKB = 722 - GET_FORMAT = 723 - GET_LOCK = 724 - GLENGTH = 725 - GREATEST = 726 - GTID_SUBSET = 727 - GTID_SUBTRACT = 728 - HEX = 729 - IFNULL = 730 - INET6_ATON = 731 - INET6_NTOA = 732 - INET_ATON = 733 - INET_NTOA = 734 - INSTR = 735 - INTERIORRINGN = 736 - INTERSECTS = 737 - ISCLOSED = 738 - ISEMPTY = 739 - ISNULL = 740 - ISSIMPLE = 741 - IS_FREE_LOCK = 742 - IS_IPV4 = 743 - IS_IPV4_COMPAT = 744 - IS_IPV4_MAPPED = 745 - IS_IPV6 = 746 - IS_USED_LOCK = 747 - LAST_INSERT_ID = 748 - LCASE = 749 - LEAST = 750 - LENGTH = 751 - LINEFROMTEXT = 752 - LINEFROMWKB = 753 - LINESTRINGFROMTEXT = 754 - LINESTRINGFROMWKB = 755 - LN = 756 - LOAD_FILE = 757 - LOCATE = 758 - LOG = 759 - LOG10 = 760 - LOG2 = 761 - LOWER = 762 - LPAD = 763 - LTRIM = 764 - MAKEDATE = 765 - MAKETIME = 766 - MAKE_SET = 767 - MASTER_POS_WAIT = 768 - MBRCONTAINS = 769 - MBRDISJOINT = 770 - MBREQUAL = 771 - MBRINTERSECTS = 772 - MBROVERLAPS = 773 - MBRTOUCHES = 774 - MBRWITHIN = 775 - MD5 = 776 - MLINEFROMTEXT = 777 - MLINEFROMWKB = 778 - MONTHNAME = 779 - MPOINTFROMTEXT = 780 - MPOINTFROMWKB = 781 - MPOLYFROMTEXT = 782 - MPOLYFROMWKB = 783 - MULTILINESTRINGFROMTEXT = 784 - MULTILINESTRINGFROMWKB = 785 - MULTIPOINTFROMTEXT = 786 - MULTIPOINTFROMWKB = 787 - MULTIPOLYGONFROMTEXT = 788 - MULTIPOLYGONFROMWKB = 789 - NAME_CONST = 790 - NULLIF = 791 - NUMGEOMETRIES = 792 - NUMINTERIORRINGS = 793 - NUMPOINTS = 794 - OCT = 795 - OCTET_LENGTH = 796 - ORD = 797 - OVERLAPS = 798 - PERIOD_ADD = 799 - PERIOD_DIFF = 800 - PI = 801 - POINTFROMTEXT = 802 - POINTFROMWKB = 803 - POINTN = 804 - POLYFROMTEXT = 805 - POLYFROMWKB = 806 - POLYGONFROMTEXT = 807 - POLYGONFROMWKB = 808 - POW = 809 - POWER = 810 - QUOTE = 811 - RADIANS = 812 - RAND = 813 - RANDOM_BYTES = 814 - RELEASE_LOCK = 815 - REVERSE = 816 - ROUND = 817 - ROW_COUNT = 818 - RPAD = 819 - RTRIM = 820 - SEC_TO_TIME = 821 - SESSION_USER = 822 - SHA = 823 - SHA1 = 824 - SHA2 = 825 - SIGN = 826 - SIN = 827 - SLEEP = 828 - SOUNDEX = 829 - SQL_THREAD_WAIT_AFTER_GTIDS = 830 - SQRT = 831 - SRID = 832 - STARTPOINT = 833 - STRCMP = 834 - STR_TO_DATE = 835 - ST_AREA = 836 - ST_ASBINARY = 837 - ST_ASTEXT = 838 - ST_ASWKB = 839 - ST_ASWKT = 840 - ST_BUFFER = 841 - ST_CENTROID = 842 - ST_CONTAINS = 843 - ST_CROSSES = 844 - ST_DIFFERENCE = 845 - ST_DIMENSION = 846 - ST_DISJOINT = 847 - ST_DISTANCE = 848 - ST_ENDPOINT = 849 - ST_ENVELOPE = 850 - ST_EQUALS = 851 - ST_EXTERIORRING = 852 - ST_GEOMCOLLFROMTEXT = 853 - ST_GEOMCOLLFROMTXT = 854 - ST_GEOMCOLLFROMWKB = 855 - ST_GEOMETRYCOLLECTIONFROMTEXT = 856 - ST_GEOMETRYCOLLECTIONFROMWKB = 857 - ST_GEOMETRYFROMTEXT = 858 - ST_GEOMETRYFROMWKB = 859 - ST_GEOMETRYN = 860 - ST_GEOMETRYTYPE = 861 - ST_GEOMFROMTEXT = 862 - ST_GEOMFROMWKB = 863 - ST_INTERIORRINGN = 864 - ST_INTERSECTION = 865 - ST_INTERSECTS = 866 - ST_ISCLOSED = 867 - ST_ISEMPTY = 868 - ST_ISSIMPLE = 869 - ST_LINEFROMTEXT = 870 - ST_LINEFROMWKB = 871 - ST_LINESTRINGFROMTEXT = 872 - ST_LINESTRINGFROMWKB = 873 - ST_NUMGEOMETRIES = 874 - ST_NUMINTERIORRING = 875 - ST_NUMINTERIORRINGS = 876 - ST_NUMPOINTS = 877 - ST_OVERLAPS = 878 - ST_POINTFROMTEXT = 879 - ST_POINTFROMWKB = 880 - ST_POINTN = 881 - ST_POLYFROMTEXT = 882 - ST_POLYFROMWKB = 883 - ST_POLYGONFROMTEXT = 884 - ST_POLYGONFROMWKB = 885 - ST_SRID = 886 - ST_STARTPOINT = 887 - ST_SYMDIFFERENCE = 888 - ST_TOUCHES = 889 - ST_UNION = 890 - ST_WITHIN = 891 - ST_X = 892 - ST_Y = 893 - SUBDATE = 894 - SUBSTRING_INDEX = 895 - SUBTIME = 896 - SYSTEM_USER = 897 - TAN = 898 - TIMEDIFF = 899 - TIMESTAMPADD = 900 - TIMESTAMPDIFF = 901 - TIME_FORMAT = 902 - TIME_TO_SEC = 903 - TOUCHES = 904 - TO_BASE64 = 905 - TO_DAYS = 906 - TO_SECONDS = 907 - UCASE = 908 - UNCOMPRESS = 909 - UNCOMPRESSED_LENGTH = 910 - UNHEX = 911 - UNIX_TIMESTAMP = 912 - UPDATEXML = 913 - UPPER = 914 - UUID = 915 - UUID_SHORT = 916 - VALIDATE_PASSWORD_STRENGTH = 917 - VERSION = 918 - WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS = 919 - WEEKDAY = 920 - WEEKOFYEAR = 921 - WEIGHT_STRING = 922 - WITHIN = 923 - YEARWEEK = 924 - Y_FUNCTION = 925 - X_FUNCTION = 926 - VAR_ASSIGN = 927 - PLUS_ASSIGN = 928 - MINUS_ASSIGN = 929 - MULT_ASSIGN = 930 - DIV_ASSIGN = 931 - MOD_ASSIGN = 932 - AND_ASSIGN = 933 - XOR_ASSIGN = 934 - OR_ASSIGN = 935 - STAR = 936 - DIVIDE = 937 - MODULE = 938 - PLUS = 939 - MINUSMINUS = 940 - MINUS = 941 - DIV = 942 - MOD = 943 - EQUAL_SYMBOL = 944 - GREATER_SYMBOL = 945 - LESS_SYMBOL = 946 - EXCLAMATION_SYMBOL = 947 - BIT_NOT_OP = 948 - BIT_OR_OP = 949 - BIT_AND_OP = 950 - BIT_XOR_OP = 951 - DOT = 952 - LR_BRACKET = 953 - RR_BRACKET = 954 - COMMA = 955 - SEMI = 956 - AT_SIGN = 957 - ZERO_DECIMAL = 958 - ONE_DECIMAL = 959 - TWO_DECIMAL = 960 - SINGLE_QUOTE_SYMB = 961 - DOUBLE_QUOTE_SYMB = 962 - REVERSE_QUOTE_SYMB = 963 - COLON_SYMB = 964 - CHARSET_REVERSE_QOUTE_STRING = 965 - FILESIZE_LITERAL = 966 - START_NATIONAL_STRING_LITERAL = 967 - STRING_LITERAL = 968 - DECIMAL_LITERAL = 969 - HEXADECIMAL_LITERAL = 970 - REAL_LITERAL = 971 - NULL_SPEC_LITERAL = 972 - BIT_STRING = 973 - STRING_CHARSET_NAME = 974 - DOT_ID = 975 - ID = 976 - REVERSE_QUOTE_ID = 977 - STRING_USER_NAME = 978 - LOCAL_ID = 979 - GLOBAL_ID = 980 - ERROR_RECONGNIGION = 981 - - channelNames = [ u"DEFAULT_TOKEN_CHANNEL", u"HIDDEN", u"MYSQLCOMMENT", - u"ERRORCHANNEL" ] - - modeNames = [ "DEFAULT_MODE" ] - - literalNames = [ "", - "'ERROR_WITHIN'", "'AT_CONFIDENCE'", "'ADD'", "'ALL'", "'ALTER'", - "'ALWAYS'", "'ANALYZE'", "'AND'", "'AS'", "'ASC'", "'BEFORE'", - "'BETWEEN'", "'BOTH'", "'BY'", "'CALL'", "'CASCADE'", "'CASE'", - "'CAST'", "'CHANGE'", "'CHARACTER'", "'CHECK'", "'COLLATE'", - "'COLUMN'", "'CONDITION'", "'CONSTRAINT'", "'CONTINUE'", "'CONVERT'", - "'CREATE'", "'CROSS'", "'CURRENT_USER'", "'CURSOR'", "'DATABASE'", - "'DATABASES'", "'DECLARE'", "'DEFAULT'", "'DELAYED'", "'DELETE'", - "'DESC'", "'DESCRIBE'", "'DETERMINISTIC'", "'DISTINCT'", "'DISTINCTROW'", - "'DROP'", "'EACH'", "'ELSE'", "'ELSEIF'", "'ENCLOSED'", "'ESCAPED'", - "'EXISTS'", "'EXIT'", "'EXPLAIN'", "'FALSE'", "'FETCH'", "'FOR'", - "'FORCE'", "'FOREIGN'", "'FROM'", "'FULLTEXT'", "'GENERATED'", - "'GRANT'", "'GROUP'", "'HAVING'", "'HIGH_PRIORITY'", "'IF'", - "'IGNORE'", "'IN'", "'INDEX'", "'INFILE'", "'INNER'", "'INOUT'", - "'INSERT'", "'INTERVAL'", "'INTO'", "'IS'", "'ITERATE'", "'JOIN'", - "'KEY'", "'KEYS'", "'KILL'", "'LEADING'", "'LEAVE'", "'LEFT'", - "'LIKE'", "'LIMIT'", "'LINEAR'", "'LINES'", "'LOAD'", "'LOCK'", - "'LOOP'", "'LOW_PRIORITY'", "'MASTER_BIND'", "'MASTER_SSL_VERIFY_SERVER_CERT'", - "'MATCH'", "'MAXVALUE'", "'MODIFIES'", "'NATURAL'", "'NOT'", - "'NO_WRITE_TO_BINLOG'", "'NULL'", "'ON'", "'OPTIMIZE'", "'OPTION'", - "'OPTIONALLY'", "'OR'", "'ORDER'", "'OUT'", "'OUTER'", "'OUTFILE'", - "'PARTITION'", "'PRIMARY'", "'PROCEDURE'", "'PURGE'", "'RANGE'", - "'READ'", "'READS'", "'REFERENCES'", "'REGEXP'", "'RELEASE'", - "'RENAME'", "'REPEAT'", "'REPLACE'", "'REQUIRE'", "'RESTRICT'", - "'RETURN'", "'REVOKE'", "'RIGHT'", "'RLIKE'", "'SCHEMA'", "'SCHEMAS'", - "'SELECT'", "'SET'", "'SEPARATOR'", "'SHOW'", "'SPATIAL'", "'SQL'", - "'SQLEXCEPTION'", "'SQLSTATE'", "'SQLWARNING'", "'SQL_BIG_RESULT'", - "'SQL_CALC_FOUND_ROWS'", "'SQL_SMALL_RESULT'", "'SSL'", "'STARTING'", - "'STRAIGHT_JOIN'", "'TABLE'", "'TERMINATED'", "'THEN'", "'TO'", - "'TRAILING'", "'TRIGGER'", "'TRUE'", "'UNDO'", "'UNION'", "'UNIQUE'", - "'UNLOCK'", "'UNSIGNED'", "'UPDATE'", "'USAGE'", "'USE'", "'USING'", - "'VALUES'", "'WHEN'", "'WHERE'", "'WHILE'", "'WITH'", "'WRITE'", - "'XOR'", "'ZEROFILL'", "'TINYINT'", "'SMALLINT'", "'MEDIUMINT'", - "'INT'", "'INTEGER'", "'BIGINT'", "'REAL'", "'DOUBLE'", "'FLOAT'", - "'DECIMAL'", "'NUMERIC'", "'DATE'", "'TIME'", "'TIMESTAMP'", - "'DATETIME'", "'YEAR'", "'CHAR'", "'VARCHAR'", "'BINARY'", "'VARBINARY'", - "'TINYBLOB'", "'BLOB'", "'MEDIUMBLOB'", "'LONGBLOB'", "'TINYTEXT'", - "'TEXT'", "'MEDIUMTEXT'", "'LONGTEXT'", "'ENUM'", "'SERIAL'", - "'YEAR_MONTH'", "'DAY_HOUR'", "'DAY_MINUTE'", "'DAY_SECOND'", - "'HOUR_MINUTE'", "'HOUR_SECOND'", "'MINUTE_SECOND'", "'SECOND_MICROSECOND'", - "'MINUTE_MICROSECOND'", "'HOUR_MICROSECOND'", "'DAY_MICROSECOND'", - "'AVG'", "'BIT_AND'", "'BIT_OR'", "'BIT_XOR'", "'COUNT'", "'GROUP_CONCAT'", - "'MAX'", "'MIN'", "'STD'", "'STDDEV'", "'STDDEV_POP'", "'STDDEV_SAMP'", - "'SUM'", "'VAR_POP'", "'VAR_SAMP'", "'VARIANCE'", "'FCOUNT'", - "'CURRENT_DATE'", "'CURRENT_TIME'", "'CURRENT_TIMESTAMP'", "'LOCALTIME'", - "'CURDATE'", "'CURTIME'", "'DATE_ADD'", "'DATE_SUB'", "'EXTRACT'", - "'LOCALTIMESTAMP'", "'NOW'", "'POSITION'", "'SUBSTR'", "'SUBSTRING'", - "'SYSDATE'", "'TRIM'", "'UTC_DATE'", "'UTC_TIME'", "'UTC_TIMESTAMP'", - "'ACCOUNT'", "'ACTION'", "'AFTER'", "'AGGREGATE'", "'ALGORITHM'", - "'ANY'", "'AT'", "'AUTHORS'", "'AUTOCOMMIT'", "'AUTOEXTEND_SIZE'", - "'AUTO_INCREMENT'", "'AVG_ROW_LENGTH'", "'BEGIN'", "'BINLOG'", - "'BIT'", "'BLOCK'", "'BOOL'", "'BOOLEAN'", "'BTREE'", "'CACHE'", - "'CASCADED'", "'CHAIN'", "'CHANGED'", "'CHANNEL'", "'CHECKSUM'", - "'CIPHER'", "'CLIENT'", "'CLOSE'", "'COALESCE'", "'CODE'", "'COLUMNS'", - "'COLUMN_FORMAT'", "'COMMENT'", "'COMMIT'", "'COMPACT'", "'COMPLETION'", - "'COMPRESSED'", "'COMPRESSION'", "'CONCURRENT'", "'CONNECTION'", - "'CONSISTENT'", "'CONTAINS'", "'CONTEXT'", "'CONTRIBUTORS'", - "'COPY'", "'CPU'", "'DATA'", "'DATAFILE'", "'DEALLOCATE'", "'DEFAULT_AUTH'", - "'DEFINER'", "'DELAY_KEY_WRITE'", "'DES_KEY_FILE'", "'DIRECTORY'", - "'DISABLE'", "'DISCARD'", "'DISK'", "'DO'", "'DUMPFILE'", "'DUPLICATE'", - "'DYNAMIC'", "'ENABLE'", "'ENCRYPTION'", "'END'", "'ENDS'", - "'ENGINE'", "'ENGINES'", "'ERROR'", "'ERRORS'", "'ESCAPE'", - "'EVEN'", "'EVENT'", "'EVENTS'", "'EVERY'", "'EXCHANGE'", "'EXCLUSIVE'", - "'EXPIRE'", "'EXPORT'", "'EXTENDED'", "'EXTENT_SIZE'", "'FAST'", - "'FAULTS'", "'FIELDS'", "'FILE_BLOCK_SIZE'", "'FILTER'", "'FIRST'", - "'FIXED'", "'FLUSH'", "'FOLLOWS'", "'FOUND'", "'FULL'", "'FUNCTION'", - "'GENERAL'", "'GLOBAL'", "'GRANTS'", "'GROUP_REPLICATION'", - "'HANDLER'", "'HASH'", "'HELP'", "'HOST'", "'HOSTS'", "'IDENTIFIED'", - "'IGNORE_SERVER_IDS'", "'IMPORT'", "'INDEXES'", "'INITIAL_SIZE'", - "'INPLACE'", "'INSERT_METHOD'", "'INSTALL'", "'INSTANCE'", "'INVOKER'", - "'IO'", "'IO_THREAD'", "'IPC'", "'ISOLATION'", "'ISSUER'", "'JSON'", - "'KEY_BLOCK_SIZE'", "'LANGUAGE'", "'LAST'", "'LEAVES'", "'LESS'", - "'LEVEL'", "'LIST'", "'LOCAL'", "'LOGFILE'", "'LOGS'", "'MASTER'", - "'MASTER_AUTO_POSITION'", "'MASTER_CONNECT_RETRY'", "'MASTER_DELAY'", - "'MASTER_HEARTBEAT_PERIOD'", "'MASTER_HOST'", "'MASTER_LOG_FILE'", - "'MASTER_LOG_POS'", "'MASTER_PASSWORD'", "'MASTER_PORT'", "'MASTER_RETRY_COUNT'", - "'MASTER_SSL'", "'MASTER_SSL_CA'", "'MASTER_SSL_CAPATH'", "'MASTER_SSL_CERT'", - "'MASTER_SSL_CIPHER'", "'MASTER_SSL_CRL'", "'MASTER_SSL_CRLPATH'", - "'MASTER_SSL_KEY'", "'MASTER_TLS_VERSION'", "'MASTER_USER'", - "'MAX_CONNECTIONS_PER_HOUR'", "'MAX_QUERIES_PER_HOUR'", "'MAX_ROWS'", - "'MAX_SIZE'", "'MAX_UPDATES_PER_HOUR'", "'MAX_USER_CONNECTIONS'", - "'MEDIUM'", "'MERGE'", "'MID'", "'MIGRATE'", "'MIN_ROWS'", "'MODE'", - "'MODIFY'", "'MUTEX'", "'MYSQL'", "'NAME'", "'NAMES'", "'NCHAR'", - "'NEVER'", "'NEXT'", "'NO'", "'NODEGROUP'", "'NONE'", "'OFFLINE'", - "'OFFSET'", "'OJ'", "'OLD_PASSWORD'", "'ONE'", "'ONLINE'", "'ONLY'", - "'OPEN'", "'OPTIMIZER_COSTS'", "'OPTIONS'", "'OWNER'", "'PACK_KEYS'", - "'PAGE'", "'PARSER'", "'PARTIAL'", "'PARTITIONING'", "'PARTITIONS'", - "'PASSWORD'", "'PHASE'", "'PLUGIN'", "'PLUGIN_DIR'", "'PLUGINS'", - "'PORT'", "'PRECEDES'", "'PREPARE'", "'PRESERVE'", "'PREV'", - "'PROCESSLIST'", "'PROFILE'", "'PROFILES'", "'PROXY'", "'QUERY'", - "'QUICK'", "'REBUILD'", "'RECOVER'", "'REDO_BUFFER_SIZE'", "'REDUNDANT'", - "'RELAY'", "'RELAY_LOG_FILE'", "'RELAY_LOG_POS'", "'RELAYLOG'", - "'REMOVE'", "'REORGANIZE'", "'REPAIR'", "'REPLICATE_DO_DB'", - "'REPLICATE_DO_TABLE'", "'REPLICATE_IGNORE_DB'", "'REPLICATE_IGNORE_TABLE'", - "'REPLICATE_REWRITE_DB'", "'REPLICATE_WILD_DO_TABLE'", "'REPLICATE_WILD_IGNORE_TABLE'", - "'REPLICATION'", "'RESET'", "'RESUME'", "'RETURNS'", "'ROLLBACK'", - "'ROLLUP'", "'ROTATE'", "'ROW'", "'ROWS'", "'ROW_FORMAT'", "'SAVEPOINT'", - "'SCHEDULE'", "'SECURITY'", "'SERVER'", "'SESSION'", "'SHARE'", - "'SHARED'", "'SIGNED'", "'SIMPLE'", "'SLAVE'", "'SLOW'", "'SNAPSHOT'", - "'SOCKET'", "'SOME'", "'SONAME'", "'SOUNDS'", "'SOURCE'", "'SQL_AFTER_GTIDS'", - "'SQL_AFTER_MTS_GAPS'", "'SQL_BEFORE_GTIDS'", "'SQL_BUFFER_RESULT'", - "'SQL_CACHE'", "'SQL_NO_CACHE'", "'SQL_THREAD'", "'START'", - "'STARTS'", "'STATS_AUTO_RECALC'", "'STATS_PERSISTENT'", "'STATS_SAMPLE_PAGES'", - "'STATUS'", "'STOP'", "'STORAGE'", "'STORED'", "'STRING'", "'SUBJECT'", - "'SUBPARTITION'", "'SUBPARTITIONS'", "'SUSPEND'", "'SWAPS'", - "'SWITCHES'", "'TABLESPACE'", "'TEMPORARY'", "'TEMPTABLE'", - "'THAN'", "'TRADITIONAL'", "'TRANSACTION'", "'TRIGGERS'", "'TRUNCATE'", - "'UNDEFINED'", "'UNDOFILE'", "'UNDO_BUFFER_SIZE'", "'UNINSTALL'", - "'UNKNOWN'", "'UNTIL'", "'UPGRADE'", "'USER'", "'USE_FRM'", - "'USER_RESOURCES'", "'VALIDATION'", "'VALUE'", "'VARIABLES'", - "'VIEW'", "'VIRTUAL'", "'WAIT'", "'WARNINGS'", "'WITHOUT'", - "'WORK'", "'WRAPPER'", "'X509'", "'XA'", "'XML'", "'EUR'", "'USA'", - "'JIS'", "'ISO'", "'INTERNAL'", "'QUARTER'", "'MONTH'", "'DAY'", - "'HOUR'", "'MINUTE'", "'WEEK'", "'SECOND'", "'MICROSECOND'", - "'TABLES'", "'ROUTINE'", "'EXECUTE'", "'FILE'", "'PROCESS'", - "'RELOAD'", "'SHUTDOWN'", "'SUPER'", "'PRIVILEGES'", "'ARMSCII8'", - "'ASCII'", "'BIG5'", "'CP1250'", "'CP1251'", "'CP1256'", "'CP1257'", - "'CP850'", "'CP852'", "'CP866'", "'CP932'", "'DEC8'", "'EUCJPMS'", - "'EUCKR'", "'GB2312'", "'GBK'", "'GEOSTD8'", "'GREEK'", "'HEBREW'", - "'HP8'", "'KEYBCS2'", "'KOI8R'", "'KOI8U'", "'LATIN1'", "'LATIN2'", - "'LATIN5'", "'LATIN7'", "'MACCE'", "'MACROMAN'", "'SJIS'", "'SWE7'", - "'TIS620'", "'UCS2'", "'UJIS'", "'UTF16'", "'UTF16LE'", "'UTF32'", - "'UTF8'", "'UTF8MB3'", "'UTF8MB4'", "'ARCHIVE'", "'BLACKHOLE'", - "'CSV'", "'FEDERATED'", "'INNODB'", "'MEMORY'", "'MRG_MYISAM'", - "'MYISAM'", "'NDB'", "'NDBCLUSTER'", "'PERFOMANCE_SCHEMA'", - "'REPEATABLE'", "'COMMITTED'", "'UNCOMMITTED'", "'SERIALIZABLE'", - "'GEOMETRYCOLLECTION'", "'LINESTRING'", "'MULTILINESTRING'", - "'MULTIPOINT'", "'MULTIPOLYGON'", "'POINT'", "'POLYGON'", "'ABS'", - "'ACOS'", "'ADDDATE'", "'ADDTIME'", "'AES_DECRYPT'", "'AES_ENCRYPT'", - "'AREA'", "'ASBINARY'", "'ASIN'", "'ASTEXT'", "'ASWKB'", "'ASWKT'", - "'ASYMMETRIC_DECRYPT'", "'ASYMMETRIC_DERIVE'", "'ASYMMETRIC_ENCRYPT'", - "'ASYMMETRIC_SIGN'", "'ASYMMETRIC_VERIFY'", "'ATAN'", "'ATAN2'", - "'BENCHMARK'", "'BIN'", "'BIT_COUNT'", "'BIT_LENGTH'", "'BUFFER'", - "'CEIL'", "'CEILING'", "'CENTROID'", "'CHARACTER_LENGTH'", "'CHARSET'", - "'CHAR_LENGTH'", "'COERCIBILITY'", "'COLLATION'", "'COMPRESS'", - "'CONCAT'", "'CONCAT_WS'", "'CONNECTION_ID'", "'CONV'", "'CONVERT_TZ'", - "'COS'", "'COT'", "'CRC32'", "'CREATE_ASYMMETRIC_PRIV_KEY'", - "'CREATE_ASYMMETRIC_PUB_KEY'", "'CREATE_DH_PARAMETERS'", "'CREATE_DIGEST'", - "'CROSSES'", "'DATEDIFF'", "'DATE_FORMAT'", "'DAYNAME'", "'DAYOFMONTH'", - "'DAYOFWEEK'", "'DAYOFYEAR'", "'DECODE'", "'DEGREES'", "'DES_DECRYPT'", - "'DES_ENCRYPT'", "'DIMENSION'", "'DISJOINT'", "'ELT'", "'ENCODE'", - "'ENCRYPT'", "'ENDPOINT'", "'ENVELOPE'", "'EQUALS'", "'EXP'", - "'EXPORT_SET'", "'EXTERIORRING'", "'EXTRACTVALUE'", "'FIELD'", - "'FIND_IN_SET'", "'FLOOR'", "'FORMAT'", "'FOUND_ROWS'", "'FROM_BASE64'", - "'FROM_DAYS'", "'FROM_UNIXTIME'", "'GEOMCOLLFROMTEXT'", "'GEOMCOLLFROMWKB'", - "'GEOMETRYCOLLECTIONFROMTEXT'", "'GEOMETRYCOLLECTIONFROMWKB'", - "'GEOMETRYFROMTEXT'", "'GEOMETRYFROMWKB'", "'GEOMETRYN'", "'GEOMETRYTYPE'", - "'GEOMFROMTEXT'", "'GEOMFROMWKB'", "'GET_FORMAT'", "'GET_LOCK'", - "'GLENGTH'", "'GREATEST'", "'GTID_SUBSET'", "'GTID_SUBTRACT'", - "'HEX'", "'IFNULL'", "'INET6_ATON'", "'INET6_NTOA'", "'INET_ATON'", - "'INET_NTOA'", "'INSTR'", "'INTERIORRINGN'", "'INTERSECTS'", - "'ISCLOSED'", "'ISEMPTY'", "'ISNULL'", "'ISSIMPLE'", "'IS_FREE_LOCK'", - "'IS_IPV4'", "'IS_IPV4_COMPAT'", "'IS_IPV4_MAPPED'", "'IS_IPV6'", - "'IS_USED_LOCK'", "'LAST_INSERT_ID'", "'LCASE'", "'LEAST'", - "'LENGTH'", "'LINEFROMTEXT'", "'LINEFROMWKB'", "'LINESTRINGFROMTEXT'", - "'LINESTRINGFROMWKB'", "'LN'", "'LOAD_FILE'", "'LOCATE'", "'LOG'", - "'LOG10'", "'LOG2'", "'LOWER'", "'LPAD'", "'LTRIM'", "'MAKEDATE'", - "'MAKETIME'", "'MAKE_SET'", "'MASTER_POS_WAIT'", "'MBRCONTAINS'", - "'MBRDISJOINT'", "'MBREQUAL'", "'MBRINTERSECTS'", "'MBROVERLAPS'", - "'MBRTOUCHES'", "'MBRWITHIN'", "'MD5'", "'MLINEFROMTEXT'", "'MLINEFROMWKB'", - "'MONTHNAME'", "'MPOINTFROMTEXT'", "'MPOINTFROMWKB'", "'MPOLYFROMTEXT'", - "'MPOLYFROMWKB'", "'MULTILINESTRINGFROMTEXT'", "'MULTILINESTRINGFROMWKB'", - "'MULTIPOINTFROMTEXT'", "'MULTIPOINTFROMWKB'", "'MULTIPOLYGONFROMTEXT'", - "'MULTIPOLYGONFROMWKB'", "'NAME_CONST'", "'NULLIF'", "'NUMGEOMETRIES'", - "'NUMINTERIORRINGS'", "'NUMPOINTS'", "'OCT'", "'OCTET_LENGTH'", - "'ORD'", "'OVERLAPS'", "'PERIOD_ADD'", "'PERIOD_DIFF'", "'PI'", - "'POINTFROMTEXT'", "'POINTFROMWKB'", "'POINTN'", "'POLYFROMTEXT'", - "'POLYFROMWKB'", "'POLYGONFROMTEXT'", "'POLYGONFROMWKB'", "'POW'", - "'POWER'", "'QUOTE'", "'RADIANS'", "'RAND'", "'RANDOM_BYTES'", - "'RELEASE_LOCK'", "'REVERSE'", "'ROUND'", "'ROW_COUNT'", "'RPAD'", - "'RTRIM'", "'SEC_TO_TIME'", "'SESSION_USER'", "'SHA'", "'SHA1'", - "'SHA2'", "'SIGN'", "'SIN'", "'SLEEP'", "'SOUNDEX'", "'SQL_THREAD_WAIT_AFTER_GTIDS'", - "'SQRT'", "'SRID'", "'STARTPOINT'", "'STRCMP'", "'STR_TO_DATE'", - "'ST_AREA'", "'ST_ASBINARY'", "'ST_ASTEXT'", "'ST_ASWKB'", "'ST_ASWKT'", - "'ST_BUFFER'", "'ST_CENTROID'", "'ST_CONTAINS'", "'ST_CROSSES'", - "'ST_DIFFERENCE'", "'ST_DIMENSION'", "'ST_DISJOINT'", "'ST_DISTANCE'", - "'ST_ENDPOINT'", "'ST_ENVELOPE'", "'ST_EQUALS'", "'ST_EXTERIORRING'", - "'ST_GEOMCOLLFROMTEXT'", "'ST_GEOMCOLLFROMTXT'", "'ST_GEOMCOLLFROMWKB'", - "'ST_GEOMETRYCOLLECTIONFROMTEXT'", "'ST_GEOMETRYCOLLECTIONFROMWKB'", - "'ST_GEOMETRYFROMTEXT'", "'ST_GEOMETRYFROMWKB'", "'ST_GEOMETRYN'", - "'ST_GEOMETRYTYPE'", "'ST_GEOMFROMTEXT'", "'ST_GEOMFROMWKB'", - "'ST_INTERIORRINGN'", "'ST_INTERSECTION'", "'ST_INTERSECTS'", - "'ST_ISCLOSED'", "'ST_ISEMPTY'", "'ST_ISSIMPLE'", "'ST_LINEFROMTEXT'", - "'ST_LINEFROMWKB'", "'ST_LINESTRINGFROMTEXT'", "'ST_LINESTRINGFROMWKB'", - "'ST_NUMGEOMETRIES'", "'ST_NUMINTERIORRING'", "'ST_NUMINTERIORRINGS'", - "'ST_NUMPOINTS'", "'ST_OVERLAPS'", "'ST_POINTFROMTEXT'", "'ST_POINTFROMWKB'", - "'ST_POINTN'", "'ST_POLYFROMTEXT'", "'ST_POLYFROMWKB'", "'ST_POLYGONFROMTEXT'", - "'ST_POLYGONFROMWKB'", "'ST_SRID'", "'ST_STARTPOINT'", "'ST_SYMDIFFERENCE'", - "'ST_TOUCHES'", "'ST_UNION'", "'ST_WITHIN'", "'ST_X'", "'ST_Y'", - "'SUBDATE'", "'SUBSTRING_INDEX'", "'SUBTIME'", "'SYSTEM_USER'", - "'TAN'", "'TIMEDIFF'", "'TIMESTAMPADD'", "'TIMESTAMPDIFF'", - "'TIME_FORMAT'", "'TIME_TO_SEC'", "'TOUCHES'", "'TO_BASE64'", - "'TO_DAYS'", "'TO_SECONDS'", "'UCASE'", "'UNCOMPRESS'", "'UNCOMPRESSED_LENGTH'", - "'UNHEX'", "'UNIX_TIMESTAMP'", "'UPDATEXML'", "'UPPER'", "'UUID'", - "'UUID_SHORT'", "'VALIDATE_PASSWORD_STRENGTH'", "'VERSION'", - "'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS'", "'WEEKDAY'", "'WEEKOFYEAR'", - "'WEIGHT_STRING'", "'WITHIN'", "'YEARWEEK'", "'Y'", "'X'", "':='", - "'+='", "'-='", "'*='", "'/='", "'%='", "'&='", "'^='", "'|='", - "'*'", "'/'", "'%'", "'+'", "'--'", "'-'", "'DIV'", "'MOD'", - "'='", "'>'", "'<'", "'!'", "'~'", "'|'", "'&'", "'^'", "'.'", - "'('", "')'", "','", "';'", "'@'", "'0'", "'1'", "'2'", "'''", - "'\"'", "'`'", "':'" ] - - symbolicNames = [ "", - "SPACE", "SPEC_MYSQL_COMMENT", "COMMENT_INPUT", "LINE_COMMENT", - "ERRORBOUND", "CONFLEVEL", "ADD", "ALL", "ALTER", "ALWAYS", - "ANALYZE", "AND", "AS", "ASC", "BEFORE", "BETWEEN", "BOTH", - "BY", "CALL", "CASCADE", "CASE", "CAST", "CHANGE", "CHARACTER", - "CHECK", "COLLATE", "COLUMN", "CONDITION", "CONSTRAINT", "CONTINUE", - "CONVERT", "CREATE", "CROSS", "CURRENT_USER", "CURSOR", "DATABASE", - "DATABASES", "DECLARE", "DEFAULT", "DELAYED", "DELETE", "DESC", - "DESCRIBE", "DETERMINISTIC", "DISTINCT", "DISTINCTROW", "DROP", - "EACH", "ELSE", "ELSEIF", "ENCLOSED", "ESCAPED", "EXISTS", "EXIT", - "EXPLAIN", "FALSE", "FETCH", "FOR", "FORCE", "FOREIGN", "FROM", - "FULLTEXT", "GENERATED", "GRANT", "GROUP", "HAVING", "HIGH_PRIORITY", - "IF", "IGNORE", "IN", "INDEX", "INFILE", "INNER", "INOUT", "INSERT", - "INTERVAL", "INTO", "IS", "ITERATE", "JOIN", "KEY", "KEYS", - "KILL", "LEADING", "LEAVE", "LEFT", "LIKE", "LIMIT", "LINEAR", - "LINES", "LOAD", "LOCK", "LOOP", "LOW_PRIORITY", "MASTER_BIND", - "MASTER_SSL_VERIFY_SERVER_CERT", "MATCH", "MAXVALUE", "MODIFIES", - "NATURAL", "NOT", "NO_WRITE_TO_BINLOG", "NULL_LITERAL", "ON", - "OPTIMIZE", "OPTION", "OPTIONALLY", "OR", "ORDER", "OUT", "OUTER", - "OUTFILE", "PARTITION", "PRIMARY", "PROCEDURE", "PURGE", "RANGE", - "READ", "READS", "REFERENCES", "REGEXP", "RELEASE", "RENAME", - "REPEAT", "REPLACE", "REQUIRE", "RESTRICT", "RETURN", "REVOKE", - "RIGHT", "RLIKE", "SCHEMA", "SCHEMAS", "SELECT", "SET", "SEPARATOR", - "SHOW", "SPATIAL", "SQL", "SQLEXCEPTION", "SQLSTATE", "SQLWARNING", - "SQL_BIG_RESULT", "SQL_CALC_FOUND_ROWS", "SQL_SMALL_RESULT", - "SSL", "STARTING", "STRAIGHT_JOIN", "TABLE", "TERMINATED", "THEN", - "TO", "TRAILING", "TRIGGER", "TRUE", "UNDO", "UNION", "UNIQUE", - "UNLOCK", "UNSIGNED", "UPDATE", "USAGE", "USE", "USING", "VALUES", - "WHEN", "WHERE", "WHILE", "WITH", "WRITE", "XOR", "ZEROFILL", - "TINYINT", "SMALLINT", "MEDIUMINT", "INT", "INTEGER", "BIGINT", - "REAL", "DOUBLE", "FLOAT", "DECIMAL", "NUMERIC", "DATE", "TIME", - "TIMESTAMP", "DATETIME", "YEAR", "CHAR", "VARCHAR", "BINARY", - "VARBINARY", "TINYBLOB", "BLOB", "MEDIUMBLOB", "LONGBLOB", "TINYTEXT", - "TEXT", "MEDIUMTEXT", "LONGTEXT", "ENUM", "SERIAL", "YEAR_MONTH", - "DAY_HOUR", "DAY_MINUTE", "DAY_SECOND", "HOUR_MINUTE", "HOUR_SECOND", - "MINUTE_SECOND", "SECOND_MICROSECOND", "MINUTE_MICROSECOND", - "HOUR_MICROSECOND", "DAY_MICROSECOND", "AVG", "BIT_AND", "BIT_OR", - "BIT_XOR", "COUNT", "GROUP_CONCAT", "MAX", "MIN", "STD", "STDDEV", - "STDDEV_POP", "STDDEV_SAMP", "SUM", "VAR_POP", "VAR_SAMP", "VARIANCE", - "FCOUNT", "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", - "LOCALTIME", "CURDATE", "CURTIME", "DATE_ADD", "DATE_SUB", "EXTRACT", - "LOCALTIMESTAMP", "NOW", "POSITION", "SUBSTR", "SUBSTRING", - "SYSDATE", "TRIM", "UTC_DATE", "UTC_TIME", "UTC_TIMESTAMP", - "ACCOUNT", "ACTION", "AFTER", "AGGREGATE", "ALGORITHM", "ANY", - "AT", "AUTHORS", "AUTOCOMMIT", "AUTOEXTEND_SIZE", "AUTO_INCREMENT", - "AVG_ROW_LENGTH", "BEGIN", "BINLOG", "BIT", "BLOCK", "BOOL", - "BOOLEAN", "BTREE", "CACHE", "CASCADED", "CHAIN", "CHANGED", - "CHANNEL", "CHECKSUM", "CIPHER", "CLIENT", "CLOSE", "COALESCE", - "CODE", "COLUMNS", "COLUMN_FORMAT", "COMMENT", "COMMIT", "COMPACT", - "COMPLETION", "COMPRESSED", "COMPRESSION", "CONCURRENT", "CONNECTION", - "CONSISTENT", "CONTAINS", "CONTEXT", "CONTRIBUTORS", "COPY", - "CPU", "DATA", "DATAFILE", "DEALLOCATE", "DEFAULT_AUTH", "DEFINER", - "DELAY_KEY_WRITE", "DES_KEY_FILE", "DIRECTORY", "DISABLE", "DISCARD", - "DISK", "DO", "DUMPFILE", "DUPLICATE", "DYNAMIC", "ENABLE", - "ENCRYPTION", "END", "ENDS", "ENGINE", "ENGINES", "ERROR", "ERRORS", - "ESCAPE", "EVEN", "EVENT", "EVENTS", "EVERY", "EXCHANGE", "EXCLUSIVE", - "EXPIRE", "EXPORT", "EXTENDED", "EXTENT_SIZE", "FAST", "FAULTS", - "FIELDS", "FILE_BLOCK_SIZE", "FILTER", "FIRST", "FIXED", "FLUSH", - "FOLLOWS", "FOUND", "FULL", "FUNCTION", "GENERAL", "GLOBAL", - "GRANTS", "GROUP_REPLICATION", "HANDLER", "HASH", "HELP", "HOST", - "HOSTS", "IDENTIFIED", "IGNORE_SERVER_IDS", "IMPORT", "INDEXES", - "INITIAL_SIZE", "INPLACE", "INSERT_METHOD", "INSTALL", "INSTANCE", - "INVOKER", "IO", "IO_THREAD", "IPC", "ISOLATION", "ISSUER", - "JSON", "KEY_BLOCK_SIZE", "LANGUAGE", "LAST", "LEAVES", "LESS", - "LEVEL", "LIST", "LOCAL", "LOGFILE", "LOGS", "MASTER", "MASTER_AUTO_POSITION", - "MASTER_CONNECT_RETRY", "MASTER_DELAY", "MASTER_HEARTBEAT_PERIOD", - "MASTER_HOST", "MASTER_LOG_FILE", "MASTER_LOG_POS", "MASTER_PASSWORD", - "MASTER_PORT", "MASTER_RETRY_COUNT", "MASTER_SSL", "MASTER_SSL_CA", - "MASTER_SSL_CAPATH", "MASTER_SSL_CERT", "MASTER_SSL_CIPHER", - "MASTER_SSL_CRL", "MASTER_SSL_CRLPATH", "MASTER_SSL_KEY", "MASTER_TLS_VERSION", - "MASTER_USER", "MAX_CONNECTIONS_PER_HOUR", "MAX_QUERIES_PER_HOUR", - "MAX_ROWS", "MAX_SIZE", "MAX_UPDATES_PER_HOUR", "MAX_USER_CONNECTIONS", - "MEDIUM", "MERGE", "MID", "MIGRATE", "MIN_ROWS", "MODE", "MODIFY", - "MUTEX", "MYSQL", "NAME", "NAMES", "NCHAR", "NEVER", "NEXT", - "NO", "NODEGROUP", "NONE", "OFFLINE", "OFFSET", "OJ", "OLD_PASSWORD", - "ONE", "ONLINE", "ONLY", "OPEN", "OPTIMIZER_COSTS", "OPTIONS", - "OWNER", "PACK_KEYS", "PAGE", "PARSER", "PARTIAL", "PARTITIONING", - "PARTITIONS", "PASSWORD", "PHASE", "PLUGIN", "PLUGIN_DIR", "PLUGINS", - "PORT", "PRECEDES", "PREPARE", "PRESERVE", "PREV", "PROCESSLIST", - "PROFILE", "PROFILES", "PROXY", "QUERY", "QUICK", "REBUILD", - "RECOVER", "REDO_BUFFER_SIZE", "REDUNDANT", "RELAY", "RELAY_LOG_FILE", - "RELAY_LOG_POS", "RELAYLOG", "REMOVE", "REORGANIZE", "REPAIR", - "REPLICATE_DO_DB", "REPLICATE_DO_TABLE", "REPLICATE_IGNORE_DB", - "REPLICATE_IGNORE_TABLE", "REPLICATE_REWRITE_DB", "REPLICATE_WILD_DO_TABLE", - "REPLICATE_WILD_IGNORE_TABLE", "REPLICATION", "RESET", "RESUME", - "RETURNS", "ROLLBACK", "ROLLUP", "ROTATE", "ROW", "ROWS", "ROW_FORMAT", - "SAVEPOINT", "SCHEDULE", "SECURITY", "SERVER", "SESSION", "SHARE", - "SHARED", "SIGNED", "SIMPLE", "SLAVE", "SLOW", "SNAPSHOT", "SOCKET", - "SOME", "SONAME", "SOUNDS", "SOURCE", "SQL_AFTER_GTIDS", "SQL_AFTER_MTS_GAPS", - "SQL_BEFORE_GTIDS", "SQL_BUFFER_RESULT", "SQL_CACHE", "SQL_NO_CACHE", - "SQL_THREAD", "START", "STARTS", "STATS_AUTO_RECALC", "STATS_PERSISTENT", - "STATS_SAMPLE_PAGES", "STATUS", "STOP", "STORAGE", "STORED", - "STRING", "SUBJECT", "SUBPARTITION", "SUBPARTITIONS", "SUSPEND", - "SWAPS", "SWITCHES", "TABLESPACE", "TEMPORARY", "TEMPTABLE", - "THAN", "TRADITIONAL", "TRANSACTION", "TRIGGERS", "TRUNCATE", - "UNDEFINED", "UNDOFILE", "UNDO_BUFFER_SIZE", "UNINSTALL", "UNKNOWN", - "UNTIL", "UPGRADE", "USER", "USE_FRM", "USER_RESOURCES", "VALIDATION", - "VALUE", "VARIABLES", "VIEW", "VIRTUAL", "WAIT", "WARNINGS", - "WITHOUT", "WORK", "WRAPPER", "X509", "XA", "XML", "EUR", "USA", - "JIS", "ISO", "INTERNAL", "QUARTER", "MONTH", "DAY", "HOUR", - "MINUTE", "WEEK", "SECOND", "MICROSECOND", "TABLES", "ROUTINE", - "EXECUTE", "FILE", "PROCESS", "RELOAD", "SHUTDOWN", "SUPER", - "PRIVILEGES", "ARMSCII8", "ASCII", "BIG5", "CP1250", "CP1251", - "CP1256", "CP1257", "CP850", "CP852", "CP866", "CP932", "DEC8", - "EUCJPMS", "EUCKR", "GB2312", "GBK", "GEOSTD8", "GREEK", "HEBREW", - "HP8", "KEYBCS2", "KOI8R", "KOI8U", "LATIN1", "LATIN2", "LATIN5", - "LATIN7", "MACCE", "MACROMAN", "SJIS", "SWE7", "TIS620", "UCS2", - "UJIS", "UTF16", "UTF16LE", "UTF32", "UTF8", "UTF8MB3", "UTF8MB4", - "ARCHIVE", "BLACKHOLE", "CSV", "FEDERATED", "INNODB", "MEMORY", - "MRG_MYISAM", "MYISAM", "NDB", "NDBCLUSTER", "PERFOMANCE_SCHEMA", - "REPEATABLE", "COMMITTED", "UNCOMMITTED", "SERIALIZABLE", "GEOMETRYCOLLECTION", - "LINESTRING", "MULTILINESTRING", "MULTIPOINT", "MULTIPOLYGON", - "POINT", "POLYGON", "ABS", "ACOS", "ADDDATE", "ADDTIME", "AES_DECRYPT", - "AES_ENCRYPT", "AREA", "ASBINARY", "ASIN", "ASTEXT", "ASWKB", - "ASWKT", "ASYMMETRIC_DECRYPT", "ASYMMETRIC_DERIVE", "ASYMMETRIC_ENCRYPT", - "ASYMMETRIC_SIGN", "ASYMMETRIC_VERIFY", "ATAN", "ATAN2", "BENCHMARK", - "BIN", "BIT_COUNT", "BIT_LENGTH", "BUFFER", "CEIL", "CEILING", - "CENTROID", "CHARACTER_LENGTH", "CHARSET", "CHAR_LENGTH", "COERCIBILITY", - "COLLATION", "COMPRESS", "CONCAT", "CONCAT_WS", "CONNECTION_ID", - "CONV", "CONVERT_TZ", "COS", "COT", "CRC32", "CREATE_ASYMMETRIC_PRIV_KEY", - "CREATE_ASYMMETRIC_PUB_KEY", "CREATE_DH_PARAMETERS", "CREATE_DIGEST", - "CROSSES", "DATEDIFF", "DATE_FORMAT", "DAYNAME", "DAYOFMONTH", - "DAYOFWEEK", "DAYOFYEAR", "DECODE", "DEGREES", "DES_DECRYPT", - "DES_ENCRYPT", "DIMENSION", "DISJOINT", "ELT", "ENCODE", "ENCRYPT", - "ENDPOINT", "ENVELOPE", "EQUALS", "EXP", "EXPORT_SET", "EXTERIORRING", - "EXTRACTVALUE", "FIELD", "FIND_IN_SET", "FLOOR", "FORMAT", "FOUND_ROWS", - "FROM_BASE64", "FROM_DAYS", "FROM_UNIXTIME", "GEOMCOLLFROMTEXT", - "GEOMCOLLFROMWKB", "GEOMETRYCOLLECTIONFROMTEXT", "GEOMETRYCOLLECTIONFROMWKB", - "GEOMETRYFROMTEXT", "GEOMETRYFROMWKB", "GEOMETRYN", "GEOMETRYTYPE", - "GEOMFROMTEXT", "GEOMFROMWKB", "GET_FORMAT", "GET_LOCK", "GLENGTH", - "GREATEST", "GTID_SUBSET", "GTID_SUBTRACT", "HEX", "IFNULL", - "INET6_ATON", "INET6_NTOA", "INET_ATON", "INET_NTOA", "INSTR", - "INTERIORRINGN", "INTERSECTS", "ISCLOSED", "ISEMPTY", "ISNULL", - "ISSIMPLE", "IS_FREE_LOCK", "IS_IPV4", "IS_IPV4_COMPAT", "IS_IPV4_MAPPED", - "IS_IPV6", "IS_USED_LOCK", "LAST_INSERT_ID", "LCASE", "LEAST", - "LENGTH", "LINEFROMTEXT", "LINEFROMWKB", "LINESTRINGFROMTEXT", - "LINESTRINGFROMWKB", "LN", "LOAD_FILE", "LOCATE", "LOG", "LOG10", - "LOG2", "LOWER", "LPAD", "LTRIM", "MAKEDATE", "MAKETIME", "MAKE_SET", - "MASTER_POS_WAIT", "MBRCONTAINS", "MBRDISJOINT", "MBREQUAL", - "MBRINTERSECTS", "MBROVERLAPS", "MBRTOUCHES", "MBRWITHIN", "MD5", - "MLINEFROMTEXT", "MLINEFROMWKB", "MONTHNAME", "MPOINTFROMTEXT", - "MPOINTFROMWKB", "MPOLYFROMTEXT", "MPOLYFROMWKB", "MULTILINESTRINGFROMTEXT", - "MULTILINESTRINGFROMWKB", "MULTIPOINTFROMTEXT", "MULTIPOINTFROMWKB", - "MULTIPOLYGONFROMTEXT", "MULTIPOLYGONFROMWKB", "NAME_CONST", - "NULLIF", "NUMGEOMETRIES", "NUMINTERIORRINGS", "NUMPOINTS", - "OCT", "OCTET_LENGTH", "ORD", "OVERLAPS", "PERIOD_ADD", "PERIOD_DIFF", - "PI", "POINTFROMTEXT", "POINTFROMWKB", "POINTN", "POLYFROMTEXT", - "POLYFROMWKB", "POLYGONFROMTEXT", "POLYGONFROMWKB", "POW", "POWER", - "QUOTE", "RADIANS", "RAND", "RANDOM_BYTES", "RELEASE_LOCK", - "REVERSE", "ROUND", "ROW_COUNT", "RPAD", "RTRIM", "SEC_TO_TIME", - "SESSION_USER", "SHA", "SHA1", "SHA2", "SIGN", "SIN", "SLEEP", - "SOUNDEX", "SQL_THREAD_WAIT_AFTER_GTIDS", "SQRT", "SRID", "STARTPOINT", - "STRCMP", "STR_TO_DATE", "ST_AREA", "ST_ASBINARY", "ST_ASTEXT", - "ST_ASWKB", "ST_ASWKT", "ST_BUFFER", "ST_CENTROID", "ST_CONTAINS", - "ST_CROSSES", "ST_DIFFERENCE", "ST_DIMENSION", "ST_DISJOINT", - "ST_DISTANCE", "ST_ENDPOINT", "ST_ENVELOPE", "ST_EQUALS", "ST_EXTERIORRING", - "ST_GEOMCOLLFROMTEXT", "ST_GEOMCOLLFROMTXT", "ST_GEOMCOLLFROMWKB", - "ST_GEOMETRYCOLLECTIONFROMTEXT", "ST_GEOMETRYCOLLECTIONFROMWKB", - "ST_GEOMETRYFROMTEXT", "ST_GEOMETRYFROMWKB", "ST_GEOMETRYN", - "ST_GEOMETRYTYPE", "ST_GEOMFROMTEXT", "ST_GEOMFROMWKB", "ST_INTERIORRINGN", - "ST_INTERSECTION", "ST_INTERSECTS", "ST_ISCLOSED", "ST_ISEMPTY", - "ST_ISSIMPLE", "ST_LINEFROMTEXT", "ST_LINEFROMWKB", "ST_LINESTRINGFROMTEXT", - "ST_LINESTRINGFROMWKB", "ST_NUMGEOMETRIES", "ST_NUMINTERIORRING", - "ST_NUMINTERIORRINGS", "ST_NUMPOINTS", "ST_OVERLAPS", "ST_POINTFROMTEXT", - "ST_POINTFROMWKB", "ST_POINTN", "ST_POLYFROMTEXT", "ST_POLYFROMWKB", - "ST_POLYGONFROMTEXT", "ST_POLYGONFROMWKB", "ST_SRID", "ST_STARTPOINT", - "ST_SYMDIFFERENCE", "ST_TOUCHES", "ST_UNION", "ST_WITHIN", "ST_X", - "ST_Y", "SUBDATE", "SUBSTRING_INDEX", "SUBTIME", "SYSTEM_USER", - "TAN", "TIMEDIFF", "TIMESTAMPADD", "TIMESTAMPDIFF", "TIME_FORMAT", - "TIME_TO_SEC", "TOUCHES", "TO_BASE64", "TO_DAYS", "TO_SECONDS", - "UCASE", "UNCOMPRESS", "UNCOMPRESSED_LENGTH", "UNHEX", "UNIX_TIMESTAMP", - "UPDATEXML", "UPPER", "UUID", "UUID_SHORT", "VALIDATE_PASSWORD_STRENGTH", - "VERSION", "WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS", "WEEKDAY", "WEEKOFYEAR", - "WEIGHT_STRING", "WITHIN", "YEARWEEK", "Y_FUNCTION", "X_FUNCTION", - "VAR_ASSIGN", "PLUS_ASSIGN", "MINUS_ASSIGN", "MULT_ASSIGN", - "DIV_ASSIGN", "MOD_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN", - "STAR", "DIVIDE", "MODULE", "PLUS", "MINUSMINUS", "MINUS", "DIV", - "MOD", "EQUAL_SYMBOL", "GREATER_SYMBOL", "LESS_SYMBOL", "EXCLAMATION_SYMBOL", - "BIT_NOT_OP", "BIT_OR_OP", "BIT_AND_OP", "BIT_XOR_OP", "DOT", - "LR_BRACKET", "RR_BRACKET", "COMMA", "SEMI", "AT_SIGN", "ZERO_DECIMAL", - "ONE_DECIMAL", "TWO_DECIMAL", "SINGLE_QUOTE_SYMB", "DOUBLE_QUOTE_SYMB", - "REVERSE_QUOTE_SYMB", "COLON_SYMB", "CHARSET_REVERSE_QOUTE_STRING", - "FILESIZE_LITERAL", "START_NATIONAL_STRING_LITERAL", "STRING_LITERAL", - "DECIMAL_LITERAL", "HEXADECIMAL_LITERAL", "REAL_LITERAL", "NULL_SPEC_LITERAL", - "BIT_STRING", "STRING_CHARSET_NAME", "DOT_ID", "ID", "REVERSE_QUOTE_ID", - "STRING_USER_NAME", "LOCAL_ID", "GLOBAL_ID", "ERROR_RECONGNIGION" ] - - ruleNames = [ "SPACE", "SPEC_MYSQL_COMMENT", "COMMENT_INPUT", "LINE_COMMENT", - "ERRORBOUND", "CONFLEVEL", "ADD", "ALL", "ALTER", "ALWAYS", - "ANALYZE", "AND", "AS", "ASC", "BEFORE", "BETWEEN", "BOTH", - "BY", "CALL", "CASCADE", "CASE", "CAST", "CHANGE", "CHARACTER", - "CHECK", "COLLATE", "COLUMN", "CONDITION", "CONSTRAINT", - "CONTINUE", "CONVERT", "CREATE", "CROSS", "CURRENT_USER", - "CURSOR", "DATABASE", "DATABASES", "DECLARE", "DEFAULT", - "DELAYED", "DELETE", "DESC", "DESCRIBE", "DETERMINISTIC", - "DISTINCT", "DISTINCTROW", "DROP", "EACH", "ELSE", "ELSEIF", - "ENCLOSED", "ESCAPED", "EXISTS", "EXIT", "EXPLAIN", "FALSE", - "FETCH", "FOR", "FORCE", "FOREIGN", "FROM", "FULLTEXT", - "GENERATED", "GRANT", "GROUP", "HAVING", "HIGH_PRIORITY", - "IF", "IGNORE", "IN", "INDEX", "INFILE", "INNER", "INOUT", - "INSERT", "INTERVAL", "INTO", "IS", "ITERATE", "JOIN", - "KEY", "KEYS", "KILL", "LEADING", "LEAVE", "LEFT", "LIKE", - "LIMIT", "LINEAR", "LINES", "LOAD", "LOCK", "LOOP", "LOW_PRIORITY", - "MASTER_BIND", "MASTER_SSL_VERIFY_SERVER_CERT", "MATCH", - "MAXVALUE", "MODIFIES", "NATURAL", "NOT", "NO_WRITE_TO_BINLOG", - "NULL_LITERAL", "ON", "OPTIMIZE", "OPTION", "OPTIONALLY", - "OR", "ORDER", "OUT", "OUTER", "OUTFILE", "PARTITION", - "PRIMARY", "PROCEDURE", "PURGE", "RANGE", "READ", "READS", - "REFERENCES", "REGEXP", "RELEASE", "RENAME", "REPEAT", - "REPLACE", "REQUIRE", "RESTRICT", "RETURN", "REVOKE", - "RIGHT", "RLIKE", "SCHEMA", "SCHEMAS", "SELECT", "SET", - "SEPARATOR", "SHOW", "SPATIAL", "SQL", "SQLEXCEPTION", - "SQLSTATE", "SQLWARNING", "SQL_BIG_RESULT", "SQL_CALC_FOUND_ROWS", - "SQL_SMALL_RESULT", "SSL", "STARTING", "STRAIGHT_JOIN", - "TABLE", "TERMINATED", "THEN", "TO", "TRAILING", "TRIGGER", - "TRUE", "UNDO", "UNION", "UNIQUE", "UNLOCK", "UNSIGNED", - "UPDATE", "USAGE", "USE", "USING", "VALUES", "WHEN", "WHERE", - "WHILE", "WITH", "WRITE", "XOR", "ZEROFILL", "TINYINT", - "SMALLINT", "MEDIUMINT", "INT", "INTEGER", "BIGINT", "REAL", - "DOUBLE", "FLOAT", "DECIMAL", "NUMERIC", "DATE", "TIME", - "TIMESTAMP", "DATETIME", "YEAR", "CHAR", "VARCHAR", "BINARY", - "VARBINARY", "TINYBLOB", "BLOB", "MEDIUMBLOB", "LONGBLOB", - "TINYTEXT", "TEXT", "MEDIUMTEXT", "LONGTEXT", "ENUM", - "SERIAL", "YEAR_MONTH", "DAY_HOUR", "DAY_MINUTE", "DAY_SECOND", - "HOUR_MINUTE", "HOUR_SECOND", "MINUTE_SECOND", "SECOND_MICROSECOND", - "MINUTE_MICROSECOND", "HOUR_MICROSECOND", "DAY_MICROSECOND", - "AVG", "BIT_AND", "BIT_OR", "BIT_XOR", "COUNT", "GROUP_CONCAT", - "MAX", "MIN", "STD", "STDDEV", "STDDEV_POP", "STDDEV_SAMP", - "SUM", "VAR_POP", "VAR_SAMP", "VARIANCE", "FCOUNT", "CURRENT_DATE", - "CURRENT_TIME", "CURRENT_TIMESTAMP", "LOCALTIME", "CURDATE", - "CURTIME", "DATE_ADD", "DATE_SUB", "EXTRACT", "LOCALTIMESTAMP", - "NOW", "POSITION", "SUBSTR", "SUBSTRING", "SYSDATE", "TRIM", - "UTC_DATE", "UTC_TIME", "UTC_TIMESTAMP", "ACCOUNT", "ACTION", - "AFTER", "AGGREGATE", "ALGORITHM", "ANY", "AT", "AUTHORS", - "AUTOCOMMIT", "AUTOEXTEND_SIZE", "AUTO_INCREMENT", "AVG_ROW_LENGTH", - "BEGIN", "BINLOG", "BIT", "BLOCK", "BOOL", "BOOLEAN", - "BTREE", "CACHE", "CASCADED", "CHAIN", "CHANGED", "CHANNEL", - "CHECKSUM", "CIPHER", "CLIENT", "CLOSE", "COALESCE", "CODE", - "COLUMNS", "COLUMN_FORMAT", "COMMENT", "COMMIT", "COMPACT", - "COMPLETION", "COMPRESSED", "COMPRESSION", "CONCURRENT", - "CONNECTION", "CONSISTENT", "CONTAINS", "CONTEXT", "CONTRIBUTORS", - "COPY", "CPU", "DATA", "DATAFILE", "DEALLOCATE", "DEFAULT_AUTH", - "DEFINER", "DELAY_KEY_WRITE", "DES_KEY_FILE", "DIRECTORY", - "DISABLE", "DISCARD", "DISK", "DO", "DUMPFILE", "DUPLICATE", - "DYNAMIC", "ENABLE", "ENCRYPTION", "END", "ENDS", "ENGINE", - "ENGINES", "ERROR", "ERRORS", "ESCAPE", "EVEN", "EVENT", - "EVENTS", "EVERY", "EXCHANGE", "EXCLUSIVE", "EXPIRE", - "EXPORT", "EXTENDED", "EXTENT_SIZE", "FAST", "FAULTS", - "FIELDS", "FILE_BLOCK_SIZE", "FILTER", "FIRST", "FIXED", - "FLUSH", "FOLLOWS", "FOUND", "FULL", "FUNCTION", "GENERAL", - "GLOBAL", "GRANTS", "GROUP_REPLICATION", "HANDLER", "HASH", - "HELP", "HOST", "HOSTS", "IDENTIFIED", "IGNORE_SERVER_IDS", - "IMPORT", "INDEXES", "INITIAL_SIZE", "INPLACE", "INSERT_METHOD", - "INSTALL", "INSTANCE", "INVOKER", "IO", "IO_THREAD", "IPC", - "ISOLATION", "ISSUER", "JSON", "KEY_BLOCK_SIZE", "LANGUAGE", - "LAST", "LEAVES", "LESS", "LEVEL", "LIST", "LOCAL", "LOGFILE", - "LOGS", "MASTER", "MASTER_AUTO_POSITION", "MASTER_CONNECT_RETRY", - "MASTER_DELAY", "MASTER_HEARTBEAT_PERIOD", "MASTER_HOST", - "MASTER_LOG_FILE", "MASTER_LOG_POS", "MASTER_PASSWORD", - "MASTER_PORT", "MASTER_RETRY_COUNT", "MASTER_SSL", "MASTER_SSL_CA", - "MASTER_SSL_CAPATH", "MASTER_SSL_CERT", "MASTER_SSL_CIPHER", - "MASTER_SSL_CRL", "MASTER_SSL_CRLPATH", "MASTER_SSL_KEY", - "MASTER_TLS_VERSION", "MASTER_USER", "MAX_CONNECTIONS_PER_HOUR", - "MAX_QUERIES_PER_HOUR", "MAX_ROWS", "MAX_SIZE", "MAX_UPDATES_PER_HOUR", - "MAX_USER_CONNECTIONS", "MEDIUM", "MERGE", "MID", "MIGRATE", - "MIN_ROWS", "MODE", "MODIFY", "MUTEX", "MYSQL", "NAME", - "NAMES", "NCHAR", "NEVER", "NEXT", "NO", "NODEGROUP", - "NONE", "OFFLINE", "OFFSET", "OJ", "OLD_PASSWORD", "ONE", - "ONLINE", "ONLY", "OPEN", "OPTIMIZER_COSTS", "OPTIONS", - "OWNER", "PACK_KEYS", "PAGE", "PARSER", "PARTIAL", "PARTITIONING", - "PARTITIONS", "PASSWORD", "PHASE", "PLUGIN", "PLUGIN_DIR", - "PLUGINS", "PORT", "PRECEDES", "PREPARE", "PRESERVE", - "PREV", "PROCESSLIST", "PROFILE", "PROFILES", "PROXY", - "QUERY", "QUICK", "REBUILD", "RECOVER", "REDO_BUFFER_SIZE", - "REDUNDANT", "RELAY", "RELAY_LOG_FILE", "RELAY_LOG_POS", - "RELAYLOG", "REMOVE", "REORGANIZE", "REPAIR", "REPLICATE_DO_DB", - "REPLICATE_DO_TABLE", "REPLICATE_IGNORE_DB", "REPLICATE_IGNORE_TABLE", - "REPLICATE_REWRITE_DB", "REPLICATE_WILD_DO_TABLE", "REPLICATE_WILD_IGNORE_TABLE", - "REPLICATION", "RESET", "RESUME", "RETURNS", "ROLLBACK", - "ROLLUP", "ROTATE", "ROW", "ROWS", "ROW_FORMAT", "SAVEPOINT", - "SCHEDULE", "SECURITY", "SERVER", "SESSION", "SHARE", - "SHARED", "SIGNED", "SIMPLE", "SLAVE", "SLOW", "SNAPSHOT", - "SOCKET", "SOME", "SONAME", "SOUNDS", "SOURCE", "SQL_AFTER_GTIDS", - "SQL_AFTER_MTS_GAPS", "SQL_BEFORE_GTIDS", "SQL_BUFFER_RESULT", - "SQL_CACHE", "SQL_NO_CACHE", "SQL_THREAD", "START", "STARTS", - "STATS_AUTO_RECALC", "STATS_PERSISTENT", "STATS_SAMPLE_PAGES", - "STATUS", "STOP", "STORAGE", "STORED", "STRING", "SUBJECT", - "SUBPARTITION", "SUBPARTITIONS", "SUSPEND", "SWAPS", "SWITCHES", - "TABLESPACE", "TEMPORARY", "TEMPTABLE", "THAN", "TRADITIONAL", - "TRANSACTION", "TRIGGERS", "TRUNCATE", "UNDEFINED", "UNDOFILE", - "UNDO_BUFFER_SIZE", "UNINSTALL", "UNKNOWN", "UNTIL", "UPGRADE", - "USER", "USE_FRM", "USER_RESOURCES", "VALIDATION", "VALUE", - "VARIABLES", "VIEW", "VIRTUAL", "WAIT", "WARNINGS", "WITHOUT", - "WORK", "WRAPPER", "X509", "XA", "XML", "EUR", "USA", - "JIS", "ISO", "INTERNAL", "QUARTER", "MONTH", "DAY", "HOUR", - "MINUTE", "WEEK", "SECOND", "MICROSECOND", "TABLES", "ROUTINE", - "EXECUTE", "FILE", "PROCESS", "RELOAD", "SHUTDOWN", "SUPER", - "PRIVILEGES", "ARMSCII8", "ASCII", "BIG5", "CP1250", "CP1251", - "CP1256", "CP1257", "CP850", "CP852", "CP866", "CP932", - "DEC8", "EUCJPMS", "EUCKR", "GB2312", "GBK", "GEOSTD8", - "GREEK", "HEBREW", "HP8", "KEYBCS2", "KOI8R", "KOI8U", - "LATIN1", "LATIN2", "LATIN5", "LATIN7", "MACCE", "MACROMAN", - "SJIS", "SWE7", "TIS620", "UCS2", "UJIS", "UTF16", "UTF16LE", - "UTF32", "UTF8", "UTF8MB3", "UTF8MB4", "ARCHIVE", "BLACKHOLE", - "CSV", "FEDERATED", "INNODB", "MEMORY", "MRG_MYISAM", - "MYISAM", "NDB", "NDBCLUSTER", "PERFOMANCE_SCHEMA", "REPEATABLE", - "COMMITTED", "UNCOMMITTED", "SERIALIZABLE", "GEOMETRYCOLLECTION", - "LINESTRING", "MULTILINESTRING", "MULTIPOINT", "MULTIPOLYGON", - "POINT", "POLYGON", "ABS", "ACOS", "ADDDATE", "ADDTIME", - "AES_DECRYPT", "AES_ENCRYPT", "AREA", "ASBINARY", "ASIN", - "ASTEXT", "ASWKB", "ASWKT", "ASYMMETRIC_DECRYPT", "ASYMMETRIC_DERIVE", - "ASYMMETRIC_ENCRYPT", "ASYMMETRIC_SIGN", "ASYMMETRIC_VERIFY", - "ATAN", "ATAN2", "BENCHMARK", "BIN", "BIT_COUNT", "BIT_LENGTH", - "BUFFER", "CEIL", "CEILING", "CENTROID", "CHARACTER_LENGTH", - "CHARSET", "CHAR_LENGTH", "COERCIBILITY", "COLLATION", - "COMPRESS", "CONCAT", "CONCAT_WS", "CONNECTION_ID", "CONV", - "CONVERT_TZ", "COS", "COT", "CRC32", "CREATE_ASYMMETRIC_PRIV_KEY", - "CREATE_ASYMMETRIC_PUB_KEY", "CREATE_DH_PARAMETERS", "CREATE_DIGEST", - "CROSSES", "DATEDIFF", "DATE_FORMAT", "DAYNAME", "DAYOFMONTH", - "DAYOFWEEK", "DAYOFYEAR", "DECODE", "DEGREES", "DES_DECRYPT", - "DES_ENCRYPT", "DIMENSION", "DISJOINT", "ELT", "ENCODE", - "ENCRYPT", "ENDPOINT", "ENVELOPE", "EQUALS", "EXP", "EXPORT_SET", - "EXTERIORRING", "EXTRACTVALUE", "FIELD", "FIND_IN_SET", - "FLOOR", "FORMAT", "FOUND_ROWS", "FROM_BASE64", "FROM_DAYS", - "FROM_UNIXTIME", "GEOMCOLLFROMTEXT", "GEOMCOLLFROMWKB", - "GEOMETRYCOLLECTIONFROMTEXT", "GEOMETRYCOLLECTIONFROMWKB", - "GEOMETRYFROMTEXT", "GEOMETRYFROMWKB", "GEOMETRYN", "GEOMETRYTYPE", - "GEOMFROMTEXT", "GEOMFROMWKB", "GET_FORMAT", "GET_LOCK", - "GLENGTH", "GREATEST", "GTID_SUBSET", "GTID_SUBTRACT", - "HEX", "IFNULL", "INET6_ATON", "INET6_NTOA", "INET_ATON", - "INET_NTOA", "INSTR", "INTERIORRINGN", "INTERSECTS", "ISCLOSED", - "ISEMPTY", "ISNULL", "ISSIMPLE", "IS_FREE_LOCK", "IS_IPV4", - "IS_IPV4_COMPAT", "IS_IPV4_MAPPED", "IS_IPV6", "IS_USED_LOCK", - "LAST_INSERT_ID", "LCASE", "LEAST", "LENGTH", "LINEFROMTEXT", - "LINEFROMWKB", "LINESTRINGFROMTEXT", "LINESTRINGFROMWKB", - "LN", "LOAD_FILE", "LOCATE", "LOG", "LOG10", "LOG2", "LOWER", - "LPAD", "LTRIM", "MAKEDATE", "MAKETIME", "MAKE_SET", "MASTER_POS_WAIT", - "MBRCONTAINS", "MBRDISJOINT", "MBREQUAL", "MBRINTERSECTS", - "MBROVERLAPS", "MBRTOUCHES", "MBRWITHIN", "MD5", "MLINEFROMTEXT", - "MLINEFROMWKB", "MONTHNAME", "MPOINTFROMTEXT", "MPOINTFROMWKB", - "MPOLYFROMTEXT", "MPOLYFROMWKB", "MULTILINESTRINGFROMTEXT", - "MULTILINESTRINGFROMWKB", "MULTIPOINTFROMTEXT", "MULTIPOINTFROMWKB", - "MULTIPOLYGONFROMTEXT", "MULTIPOLYGONFROMWKB", "NAME_CONST", - "NULLIF", "NUMGEOMETRIES", "NUMINTERIORRINGS", "NUMPOINTS", - "OCT", "OCTET_LENGTH", "ORD", "OVERLAPS", "PERIOD_ADD", - "PERIOD_DIFF", "PI", "POINTFROMTEXT", "POINTFROMWKB", - "POINTN", "POLYFROMTEXT", "POLYFROMWKB", "POLYGONFROMTEXT", - "POLYGONFROMWKB", "POW", "POWER", "QUOTE", "RADIANS", - "RAND", "RANDOM_BYTES", "RELEASE_LOCK", "REVERSE", "ROUND", - "ROW_COUNT", "RPAD", "RTRIM", "SEC_TO_TIME", "SESSION_USER", - "SHA", "SHA1", "SHA2", "SIGN", "SIN", "SLEEP", "SOUNDEX", - "SQL_THREAD_WAIT_AFTER_GTIDS", "SQRT", "SRID", "STARTPOINT", - "STRCMP", "STR_TO_DATE", "ST_AREA", "ST_ASBINARY", "ST_ASTEXT", - "ST_ASWKB", "ST_ASWKT", "ST_BUFFER", "ST_CENTROID", "ST_CONTAINS", - "ST_CROSSES", "ST_DIFFERENCE", "ST_DIMENSION", "ST_DISJOINT", - "ST_DISTANCE", "ST_ENDPOINT", "ST_ENVELOPE", "ST_EQUALS", - "ST_EXTERIORRING", "ST_GEOMCOLLFROMTEXT", "ST_GEOMCOLLFROMTXT", - "ST_GEOMCOLLFROMWKB", "ST_GEOMETRYCOLLECTIONFROMTEXT", - "ST_GEOMETRYCOLLECTIONFROMWKB", "ST_GEOMETRYFROMTEXT", - "ST_GEOMETRYFROMWKB", "ST_GEOMETRYN", "ST_GEOMETRYTYPE", - "ST_GEOMFROMTEXT", "ST_GEOMFROMWKB", "ST_INTERIORRINGN", - "ST_INTERSECTION", "ST_INTERSECTS", "ST_ISCLOSED", "ST_ISEMPTY", - "ST_ISSIMPLE", "ST_LINEFROMTEXT", "ST_LINEFROMWKB", "ST_LINESTRINGFROMTEXT", - "ST_LINESTRINGFROMWKB", "ST_NUMGEOMETRIES", "ST_NUMINTERIORRING", - "ST_NUMINTERIORRINGS", "ST_NUMPOINTS", "ST_OVERLAPS", - "ST_POINTFROMTEXT", "ST_POINTFROMWKB", "ST_POINTN", "ST_POLYFROMTEXT", - "ST_POLYFROMWKB", "ST_POLYGONFROMTEXT", "ST_POLYGONFROMWKB", - "ST_SRID", "ST_STARTPOINT", "ST_SYMDIFFERENCE", "ST_TOUCHES", - "ST_UNION", "ST_WITHIN", "ST_X", "ST_Y", "SUBDATE", "SUBSTRING_INDEX", - "SUBTIME", "SYSTEM_USER", "TAN", "TIMEDIFF", "TIMESTAMPADD", - "TIMESTAMPDIFF", "TIME_FORMAT", "TIME_TO_SEC", "TOUCHES", - "TO_BASE64", "TO_DAYS", "TO_SECONDS", "UCASE", "UNCOMPRESS", - "UNCOMPRESSED_LENGTH", "UNHEX", "UNIX_TIMESTAMP", "UPDATEXML", - "UPPER", "UUID", "UUID_SHORT", "VALIDATE_PASSWORD_STRENGTH", - "VERSION", "WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS", "WEEKDAY", - "WEEKOFYEAR", "WEIGHT_STRING", "WITHIN", "YEARWEEK", "Y_FUNCTION", - "X_FUNCTION", "VAR_ASSIGN", "PLUS_ASSIGN", "MINUS_ASSIGN", - "MULT_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "AND_ASSIGN", - "XOR_ASSIGN", "OR_ASSIGN", "STAR", "DIVIDE", "MODULE", - "PLUS", "MINUSMINUS", "MINUS", "DIV", "MOD", "EQUAL_SYMBOL", - "GREATER_SYMBOL", "LESS_SYMBOL", "EXCLAMATION_SYMBOL", - "BIT_NOT_OP", "BIT_OR_OP", "BIT_AND_OP", "BIT_XOR_OP", - "DOT", "LR_BRACKET", "RR_BRACKET", "COMMA", "SEMI", "AT_SIGN", - "ZERO_DECIMAL", "ONE_DECIMAL", "TWO_DECIMAL", "SINGLE_QUOTE_SYMB", - "DOUBLE_QUOTE_SYMB", "REVERSE_QUOTE_SYMB", "COLON_SYMB", - "CHARSET_REVERSE_QOUTE_STRING", "FILESIZE_LITERAL", "START_NATIONAL_STRING_LITERAL", - "STRING_LITERAL", "DECIMAL_LITERAL", "HEXADECIMAL_LITERAL", - "REAL_LITERAL", "NULL_SPEC_LITERAL", "BIT_STRING", "STRING_CHARSET_NAME", - "DOT_ID", "ID", "REVERSE_QUOTE_ID", "STRING_USER_NAME", - "LOCAL_ID", "GLOBAL_ID", "CHARSET_NAME", "EXPONENT_NUM_PART", - "ID_LITERAL", "DQUOTA_STRING", "SQUOTA_STRING", "BQUOTA_STRING", - "HEX_DIGIT", "DEC_DIGIT", "BIT_STRING_L", "ERROR_RECONGNIGION" ] - - grammarFileName = "frameQLLexer.g4" - - def __init__(self, input=None, output:TextIO = sys.stdout): - super().__init__(input, output) - self.checkVersion("4.7.2") - self._interp = LexerATNSimulator(self, self.atn, self.decisionsToDFA, PredictionContextCache()) - self._actions = None - self._predicates = None - - diff --git a/Grammar/frameQL/grammar/test/frameQLLexer.tokens b/Grammar/frameQL/grammar/test/frameQLLexer.tokens deleted file mode 100644 index 30b8e8a9db..0000000000 --- a/Grammar/frameQL/grammar/test/frameQLLexer.tokens +++ /dev/null @@ -1,1941 +0,0 @@ -SPACE=1 -SPEC_MYSQL_COMMENT=2 -COMMENT_INPUT=3 -LINE_COMMENT=4 -ERRORBOUND=5 -CONFLEVEL=6 -ADD=7 -ALL=8 -ALTER=9 -ALWAYS=10 -ANALYZE=11 -AND=12 -AS=13 -ASC=14 -BEFORE=15 -BETWEEN=16 -BOTH=17 -BY=18 -CALL=19 -CASCADE=20 -CASE=21 -CAST=22 -CHANGE=23 -CHARACTER=24 -CHECK=25 -COLLATE=26 -COLUMN=27 -CONDITION=28 -CONSTRAINT=29 -CONTINUE=30 -CONVERT=31 -CREATE=32 -CROSS=33 -CURRENT_USER=34 -CURSOR=35 -DATABASE=36 -DATABASES=37 -DECLARE=38 -DEFAULT=39 -DELAYED=40 -DELETE=41 -DESC=42 -DESCRIBE=43 -DETERMINISTIC=44 -DISTINCT=45 -DISTINCTROW=46 -DROP=47 -EACH=48 -ELSE=49 -ELSEIF=50 -ENCLOSED=51 -ESCAPED=52 -EXISTS=53 -EXIT=54 -EXPLAIN=55 -FALSE=56 -FETCH=57 -FOR=58 -FORCE=59 -FOREIGN=60 -FROM=61 -FULLTEXT=62 -GENERATED=63 -GRANT=64 -GROUP=65 -HAVING=66 -HIGH_PRIORITY=67 -IF=68 -IGNORE=69 -IN=70 -INDEX=71 -INFILE=72 -INNER=73 -INOUT=74 -INSERT=75 -INTERVAL=76 -INTO=77 -IS=78 -ITERATE=79 -JOIN=80 -KEY=81 -KEYS=82 -KILL=83 -LEADING=84 -LEAVE=85 -LEFT=86 -LIKE=87 -LIMIT=88 -LINEAR=89 -LINES=90 -LOAD=91 -LOCK=92 -LOOP=93 -LOW_PRIORITY=94 -MASTER_BIND=95 -MASTER_SSL_VERIFY_SERVER_CERT=96 -MATCH=97 -MAXVALUE=98 -MODIFIES=99 -NATURAL=100 -NOT=101 -NO_WRITE_TO_BINLOG=102 -NULL_LITERAL=103 -ON=104 -OPTIMIZE=105 -OPTION=106 -OPTIONALLY=107 -OR=108 -ORDER=109 -OUT=110 -OUTER=111 -OUTFILE=112 -PARTITION=113 -PRIMARY=114 -PROCEDURE=115 -PURGE=116 -RANGE=117 -READ=118 -READS=119 -REFERENCES=120 -REGEXP=121 -RELEASE=122 -RENAME=123 -REPEAT=124 -REPLACE=125 -REQUIRE=126 -RESTRICT=127 -RETURN=128 -REVOKE=129 -RIGHT=130 -RLIKE=131 -SCHEMA=132 -SCHEMAS=133 -SELECT=134 -SET=135 -SEPARATOR=136 -SHOW=137 -SPATIAL=138 -SQL=139 -SQLEXCEPTION=140 -SQLSTATE=141 -SQLWARNING=142 -SQL_BIG_RESULT=143 -SQL_CALC_FOUND_ROWS=144 -SQL_SMALL_RESULT=145 -SSL=146 -STARTING=147 -STRAIGHT_JOIN=148 -TABLE=149 -TERMINATED=150 -THEN=151 -TO=152 -TRAILING=153 -TRIGGER=154 -TRUE=155 -UNDO=156 -UNION=157 -UNIQUE=158 -UNLOCK=159 -UNSIGNED=160 -UPDATE=161 -USAGE=162 -USE=163 -USING=164 -VALUES=165 -WHEN=166 -WHERE=167 -WHILE=168 -WITH=169 -WRITE=170 -XOR=171 -ZEROFILL=172 -TINYINT=173 -SMALLINT=174 -MEDIUMINT=175 -INT=176 -INTEGER=177 -BIGINT=178 -REAL=179 -DOUBLE=180 -FLOAT=181 -DECIMAL=182 -NUMERIC=183 -DATE=184 -TIME=185 -TIMESTAMP=186 -DATETIME=187 -YEAR=188 -CHAR=189 -VARCHAR=190 -BINARY=191 -VARBINARY=192 -TINYBLOB=193 -BLOB=194 -MEDIUMBLOB=195 -LONGBLOB=196 -TINYTEXT=197 -TEXT=198 -MEDIUMTEXT=199 -LONGTEXT=200 -ENUM=201 -SERIAL=202 -YEAR_MONTH=203 -DAY_HOUR=204 -DAY_MINUTE=205 -DAY_SECOND=206 -HOUR_MINUTE=207 -HOUR_SECOND=208 -MINUTE_SECOND=209 -SECOND_MICROSECOND=210 -MINUTE_MICROSECOND=211 -HOUR_MICROSECOND=212 -DAY_MICROSECOND=213 -AVG=214 -BIT_AND=215 -BIT_OR=216 -BIT_XOR=217 -COUNT=218 -GROUP_CONCAT=219 -MAX=220 -MIN=221 -STD=222 -STDDEV=223 -STDDEV_POP=224 -STDDEV_SAMP=225 -SUM=226 -VAR_POP=227 -VAR_SAMP=228 -VARIANCE=229 -FCOUNT=230 -CURRENT_DATE=231 -CURRENT_TIME=232 -CURRENT_TIMESTAMP=233 -LOCALTIME=234 -CURDATE=235 -CURTIME=236 -DATE_ADD=237 -DATE_SUB=238 -EXTRACT=239 -LOCALTIMESTAMP=240 -NOW=241 -POSITION=242 -SUBSTR=243 -SUBSTRING=244 -SYSDATE=245 -TRIM=246 -UTC_DATE=247 -UTC_TIME=248 -UTC_TIMESTAMP=249 -ACCOUNT=250 -ACTION=251 -AFTER=252 -AGGREGATE=253 -ALGORITHM=254 -ANY=255 -AT=256 -AUTHORS=257 -AUTOCOMMIT=258 -AUTOEXTEND_SIZE=259 -AUTO_INCREMENT=260 -AVG_ROW_LENGTH=261 -BEGIN=262 -BINLOG=263 -BIT=264 -BLOCK=265 -BOOL=266 -BOOLEAN=267 -BTREE=268 -CACHE=269 -CASCADED=270 -CHAIN=271 -CHANGED=272 -CHANNEL=273 -CHECKSUM=274 -CIPHER=275 -CLIENT=276 -CLOSE=277 -COALESCE=278 -CODE=279 -COLUMNS=280 -COLUMN_FORMAT=281 -COMMENT=282 -COMMIT=283 -COMPACT=284 -COMPLETION=285 -COMPRESSED=286 -COMPRESSION=287 -CONCURRENT=288 -CONNECTION=289 -CONSISTENT=290 -CONTAINS=291 -CONTEXT=292 -CONTRIBUTORS=293 -COPY=294 -CPU=295 -DATA=296 -DATAFILE=297 -DEALLOCATE=298 -DEFAULT_AUTH=299 -DEFINER=300 -DELAY_KEY_WRITE=301 -DES_KEY_FILE=302 -DIRECTORY=303 -DISABLE=304 -DISCARD=305 -DISK=306 -DO=307 -DUMPFILE=308 -DUPLICATE=309 -DYNAMIC=310 -ENABLE=311 -ENCRYPTION=312 -END=313 -ENDS=314 -ENGINE=315 -ENGINES=316 -ERROR=317 -ERRORS=318 -ESCAPE=319 -EVEN=320 -EVENT=321 -EVENTS=322 -EVERY=323 -EXCHANGE=324 -EXCLUSIVE=325 -EXPIRE=326 -EXPORT=327 -EXTENDED=328 -EXTENT_SIZE=329 -FAST=330 -FAULTS=331 -FIELDS=332 -FILE_BLOCK_SIZE=333 -FILTER=334 -FIRST=335 -FIXED=336 -FLUSH=337 -FOLLOWS=338 -FOUND=339 -FULL=340 -FUNCTION=341 -GENERAL=342 -GLOBAL=343 -GRANTS=344 -GROUP_REPLICATION=345 -HANDLER=346 -HASH=347 -HELP=348 -HOST=349 -HOSTS=350 -IDENTIFIED=351 -IGNORE_SERVER_IDS=352 -IMPORT=353 -INDEXES=354 -INITIAL_SIZE=355 -INPLACE=356 -INSERT_METHOD=357 -INSTALL=358 -INSTANCE=359 -INVOKER=360 -IO=361 -IO_THREAD=362 -IPC=363 -ISOLATION=364 -ISSUER=365 -JSON=366 -KEY_BLOCK_SIZE=367 -LANGUAGE=368 -LAST=369 -LEAVES=370 -LESS=371 -LEVEL=372 -LIST=373 -LOCAL=374 -LOGFILE=375 -LOGS=376 -MASTER=377 -MASTER_AUTO_POSITION=378 -MASTER_CONNECT_RETRY=379 -MASTER_DELAY=380 -MASTER_HEARTBEAT_PERIOD=381 -MASTER_HOST=382 -MASTER_LOG_FILE=383 -MASTER_LOG_POS=384 -MASTER_PASSWORD=385 -MASTER_PORT=386 -MASTER_RETRY_COUNT=387 -MASTER_SSL=388 -MASTER_SSL_CA=389 -MASTER_SSL_CAPATH=390 -MASTER_SSL_CERT=391 -MASTER_SSL_CIPHER=392 -MASTER_SSL_CRL=393 -MASTER_SSL_CRLPATH=394 -MASTER_SSL_KEY=395 -MASTER_TLS_VERSION=396 -MASTER_USER=397 -MAX_CONNECTIONS_PER_HOUR=398 -MAX_QUERIES_PER_HOUR=399 -MAX_ROWS=400 -MAX_SIZE=401 -MAX_UPDATES_PER_HOUR=402 -MAX_USER_CONNECTIONS=403 -MEDIUM=404 -MERGE=405 -MID=406 -MIGRATE=407 -MIN_ROWS=408 -MODE=409 -MODIFY=410 -MUTEX=411 -MYSQL=412 -NAME=413 -NAMES=414 -NCHAR=415 -NEVER=416 -NEXT=417 -NO=418 -NODEGROUP=419 -NONE=420 -OFFLINE=421 -OFFSET=422 -OJ=423 -OLD_PASSWORD=424 -ONE=425 -ONLINE=426 -ONLY=427 -OPEN=428 -OPTIMIZER_COSTS=429 -OPTIONS=430 -OWNER=431 -PACK_KEYS=432 -PAGE=433 -PARSER=434 -PARTIAL=435 -PARTITIONING=436 -PARTITIONS=437 -PASSWORD=438 -PHASE=439 -PLUGIN=440 -PLUGIN_DIR=441 -PLUGINS=442 -PORT=443 -PRECEDES=444 -PREPARE=445 -PRESERVE=446 -PREV=447 -PROCESSLIST=448 -PROFILE=449 -PROFILES=450 -PROXY=451 -QUERY=452 -QUICK=453 -REBUILD=454 -RECOVER=455 -REDO_BUFFER_SIZE=456 -REDUNDANT=457 -RELAY=458 -RELAY_LOG_FILE=459 -RELAY_LOG_POS=460 -RELAYLOG=461 -REMOVE=462 -REORGANIZE=463 -REPAIR=464 -REPLICATE_DO_DB=465 -REPLICATE_DO_TABLE=466 -REPLICATE_IGNORE_DB=467 -REPLICATE_IGNORE_TABLE=468 -REPLICATE_REWRITE_DB=469 -REPLICATE_WILD_DO_TABLE=470 -REPLICATE_WILD_IGNORE_TABLE=471 -REPLICATION=472 -RESET=473 -RESUME=474 -RETURNS=475 -ROLLBACK=476 -ROLLUP=477 -ROTATE=478 -ROW=479 -ROWS=480 -ROW_FORMAT=481 -SAVEPOINT=482 -SCHEDULE=483 -SECURITY=484 -SERVER=485 -SESSION=486 -SHARE=487 -SHARED=488 -SIGNED=489 -SIMPLE=490 -SLAVE=491 -SLOW=492 -SNAPSHOT=493 -SOCKET=494 -SOME=495 -SONAME=496 -SOUNDS=497 -SOURCE=498 -SQL_AFTER_GTIDS=499 -SQL_AFTER_MTS_GAPS=500 -SQL_BEFORE_GTIDS=501 -SQL_BUFFER_RESULT=502 -SQL_CACHE=503 -SQL_NO_CACHE=504 -SQL_THREAD=505 -START=506 -STARTS=507 -STATS_AUTO_RECALC=508 -STATS_PERSISTENT=509 -STATS_SAMPLE_PAGES=510 -STATUS=511 -STOP=512 -STORAGE=513 -STORED=514 -STRING=515 -SUBJECT=516 -SUBPARTITION=517 -SUBPARTITIONS=518 -SUSPEND=519 -SWAPS=520 -SWITCHES=521 -TABLESPACE=522 -TEMPORARY=523 -TEMPTABLE=524 -THAN=525 -TRADITIONAL=526 -TRANSACTION=527 -TRIGGERS=528 -TRUNCATE=529 -UNDEFINED=530 -UNDOFILE=531 -UNDO_BUFFER_SIZE=532 -UNINSTALL=533 -UNKNOWN=534 -UNTIL=535 -UPGRADE=536 -USER=537 -USE_FRM=538 -USER_RESOURCES=539 -VALIDATION=540 -VALUE=541 -VARIABLES=542 -VIEW=543 -VIRTUAL=544 -WAIT=545 -WARNINGS=546 -WITHOUT=547 -WORK=548 -WRAPPER=549 -X509=550 -XA=551 -XML=552 -EUR=553 -USA=554 -JIS=555 -ISO=556 -INTERNAL=557 -QUARTER=558 -MONTH=559 -DAY=560 -HOUR=561 -MINUTE=562 -WEEK=563 -SECOND=564 -MICROSECOND=565 -TABLES=566 -ROUTINE=567 -EXECUTE=568 -FILE=569 -PROCESS=570 -RELOAD=571 -SHUTDOWN=572 -SUPER=573 -PRIVILEGES=574 -ARMSCII8=575 -ASCII=576 -BIG5=577 -CP1250=578 -CP1251=579 -CP1256=580 -CP1257=581 -CP850=582 -CP852=583 -CP866=584 -CP932=585 -DEC8=586 -EUCJPMS=587 -EUCKR=588 -GB2312=589 -GBK=590 -GEOSTD8=591 -GREEK=592 -HEBREW=593 -HP8=594 -KEYBCS2=595 -KOI8R=596 -KOI8U=597 -LATIN1=598 -LATIN2=599 -LATIN5=600 -LATIN7=601 -MACCE=602 -MACROMAN=603 -SJIS=604 -SWE7=605 -TIS620=606 -UCS2=607 -UJIS=608 -UTF16=609 -UTF16LE=610 -UTF32=611 -UTF8=612 -UTF8MB3=613 -UTF8MB4=614 -ARCHIVE=615 -BLACKHOLE=616 -CSV=617 -FEDERATED=618 -INNODB=619 -MEMORY=620 -MRG_MYISAM=621 -MYISAM=622 -NDB=623 -NDBCLUSTER=624 -PERFOMANCE_SCHEMA=625 -REPEATABLE=626 -COMMITTED=627 -UNCOMMITTED=628 -SERIALIZABLE=629 -GEOMETRYCOLLECTION=630 -LINESTRING=631 -MULTILINESTRING=632 -MULTIPOINT=633 -MULTIPOLYGON=634 -POINT=635 -POLYGON=636 -ABS=637 -ACOS=638 -ADDDATE=639 -ADDTIME=640 -AES_DECRYPT=641 -AES_ENCRYPT=642 -AREA=643 -ASBINARY=644 -ASIN=645 -ASTEXT=646 -ASWKB=647 -ASWKT=648 -ASYMMETRIC_DECRYPT=649 -ASYMMETRIC_DERIVE=650 -ASYMMETRIC_ENCRYPT=651 -ASYMMETRIC_SIGN=652 -ASYMMETRIC_VERIFY=653 -ATAN=654 -ATAN2=655 -BENCHMARK=656 -BIN=657 -BIT_COUNT=658 -BIT_LENGTH=659 -BUFFER=660 -CEIL=661 -CEILING=662 -CENTROID=663 -CHARACTER_LENGTH=664 -CHARSET=665 -CHAR_LENGTH=666 -COERCIBILITY=667 -COLLATION=668 -COMPRESS=669 -CONCAT=670 -CONCAT_WS=671 -CONNECTION_ID=672 -CONV=673 -CONVERT_TZ=674 -COS=675 -COT=676 -CRC32=677 -CREATE_ASYMMETRIC_PRIV_KEY=678 -CREATE_ASYMMETRIC_PUB_KEY=679 -CREATE_DH_PARAMETERS=680 -CREATE_DIGEST=681 -CROSSES=682 -DATEDIFF=683 -DATE_FORMAT=684 -DAYNAME=685 -DAYOFMONTH=686 -DAYOFWEEK=687 -DAYOFYEAR=688 -DECODE=689 -DEGREES=690 -DES_DECRYPT=691 -DES_ENCRYPT=692 -DIMENSION=693 -DISJOINT=694 -ELT=695 -ENCODE=696 -ENCRYPT=697 -ENDPOINT=698 -ENVELOPE=699 -EQUALS=700 -EXP=701 -EXPORT_SET=702 -EXTERIORRING=703 -EXTRACTVALUE=704 -FIELD=705 -FIND_IN_SET=706 -FLOOR=707 -FORMAT=708 -FOUND_ROWS=709 -FROM_BASE64=710 -FROM_DAYS=711 -FROM_UNIXTIME=712 -GEOMCOLLFROMTEXT=713 -GEOMCOLLFROMWKB=714 -GEOMETRYCOLLECTIONFROMTEXT=715 -GEOMETRYCOLLECTIONFROMWKB=716 -GEOMETRYFROMTEXT=717 -GEOMETRYFROMWKB=718 -GEOMETRYN=719 -GEOMETRYTYPE=720 -GEOMFROMTEXT=721 -GEOMFROMWKB=722 -GET_FORMAT=723 -GET_LOCK=724 -GLENGTH=725 -GREATEST=726 -GTID_SUBSET=727 -GTID_SUBTRACT=728 -HEX=729 -IFNULL=730 -INET6_ATON=731 -INET6_NTOA=732 -INET_ATON=733 -INET_NTOA=734 -INSTR=735 -INTERIORRINGN=736 -INTERSECTS=737 -ISCLOSED=738 -ISEMPTY=739 -ISNULL=740 -ISSIMPLE=741 -IS_FREE_LOCK=742 -IS_IPV4=743 -IS_IPV4_COMPAT=744 -IS_IPV4_MAPPED=745 -IS_IPV6=746 -IS_USED_LOCK=747 -LAST_INSERT_ID=748 -LCASE=749 -LEAST=750 -LENGTH=751 -LINEFROMTEXT=752 -LINEFROMWKB=753 -LINESTRINGFROMTEXT=754 -LINESTRINGFROMWKB=755 -LN=756 -LOAD_FILE=757 -LOCATE=758 -LOG=759 -LOG10=760 -LOG2=761 -LOWER=762 -LPAD=763 -LTRIM=764 -MAKEDATE=765 -MAKETIME=766 -MAKE_SET=767 -MASTER_POS_WAIT=768 -MBRCONTAINS=769 -MBRDISJOINT=770 -MBREQUAL=771 -MBRINTERSECTS=772 -MBROVERLAPS=773 -MBRTOUCHES=774 -MBRWITHIN=775 -MD5=776 -MLINEFROMTEXT=777 -MLINEFROMWKB=778 -MONTHNAME=779 -MPOINTFROMTEXT=780 -MPOINTFROMWKB=781 -MPOLYFROMTEXT=782 -MPOLYFROMWKB=783 -MULTILINESTRINGFROMTEXT=784 -MULTILINESTRINGFROMWKB=785 -MULTIPOINTFROMTEXT=786 -MULTIPOINTFROMWKB=787 -MULTIPOLYGONFROMTEXT=788 -MULTIPOLYGONFROMWKB=789 -NAME_CONST=790 -NULLIF=791 -NUMGEOMETRIES=792 -NUMINTERIORRINGS=793 -NUMPOINTS=794 -OCT=795 -OCTET_LENGTH=796 -ORD=797 -OVERLAPS=798 -PERIOD_ADD=799 -PERIOD_DIFF=800 -PI=801 -POINTFROMTEXT=802 -POINTFROMWKB=803 -POINTN=804 -POLYFROMTEXT=805 -POLYFROMWKB=806 -POLYGONFROMTEXT=807 -POLYGONFROMWKB=808 -POW=809 -POWER=810 -QUOTE=811 -RADIANS=812 -RAND=813 -RANDOM_BYTES=814 -RELEASE_LOCK=815 -REVERSE=816 -ROUND=817 -ROW_COUNT=818 -RPAD=819 -RTRIM=820 -SEC_TO_TIME=821 -SESSION_USER=822 -SHA=823 -SHA1=824 -SHA2=825 -SIGN=826 -SIN=827 -SLEEP=828 -SOUNDEX=829 -SQL_THREAD_WAIT_AFTER_GTIDS=830 -SQRT=831 -SRID=832 -STARTPOINT=833 -STRCMP=834 -STR_TO_DATE=835 -ST_AREA=836 -ST_ASBINARY=837 -ST_ASTEXT=838 -ST_ASWKB=839 -ST_ASWKT=840 -ST_BUFFER=841 -ST_CENTROID=842 -ST_CONTAINS=843 -ST_CROSSES=844 -ST_DIFFERENCE=845 -ST_DIMENSION=846 -ST_DISJOINT=847 -ST_DISTANCE=848 -ST_ENDPOINT=849 -ST_ENVELOPE=850 -ST_EQUALS=851 -ST_EXTERIORRING=852 -ST_GEOMCOLLFROMTEXT=853 -ST_GEOMCOLLFROMTXT=854 -ST_GEOMCOLLFROMWKB=855 -ST_GEOMETRYCOLLECTIONFROMTEXT=856 -ST_GEOMETRYCOLLECTIONFROMWKB=857 -ST_GEOMETRYFROMTEXT=858 -ST_GEOMETRYFROMWKB=859 -ST_GEOMETRYN=860 -ST_GEOMETRYTYPE=861 -ST_GEOMFROMTEXT=862 -ST_GEOMFROMWKB=863 -ST_INTERIORRINGN=864 -ST_INTERSECTION=865 -ST_INTERSECTS=866 -ST_ISCLOSED=867 -ST_ISEMPTY=868 -ST_ISSIMPLE=869 -ST_LINEFROMTEXT=870 -ST_LINEFROMWKB=871 -ST_LINESTRINGFROMTEXT=872 -ST_LINESTRINGFROMWKB=873 -ST_NUMGEOMETRIES=874 -ST_NUMINTERIORRING=875 -ST_NUMINTERIORRINGS=876 -ST_NUMPOINTS=877 -ST_OVERLAPS=878 -ST_POINTFROMTEXT=879 -ST_POINTFROMWKB=880 -ST_POINTN=881 -ST_POLYFROMTEXT=882 -ST_POLYFROMWKB=883 -ST_POLYGONFROMTEXT=884 -ST_POLYGONFROMWKB=885 -ST_SRID=886 -ST_STARTPOINT=887 -ST_SYMDIFFERENCE=888 -ST_TOUCHES=889 -ST_UNION=890 -ST_WITHIN=891 -ST_X=892 -ST_Y=893 -SUBDATE=894 -SUBSTRING_INDEX=895 -SUBTIME=896 -SYSTEM_USER=897 -TAN=898 -TIMEDIFF=899 -TIMESTAMPADD=900 -TIMESTAMPDIFF=901 -TIME_FORMAT=902 -TIME_TO_SEC=903 -TOUCHES=904 -TO_BASE64=905 -TO_DAYS=906 -TO_SECONDS=907 -UCASE=908 -UNCOMPRESS=909 -UNCOMPRESSED_LENGTH=910 -UNHEX=911 -UNIX_TIMESTAMP=912 -UPDATEXML=913 -UPPER=914 -UUID=915 -UUID_SHORT=916 -VALIDATE_PASSWORD_STRENGTH=917 -VERSION=918 -WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS=919 -WEEKDAY=920 -WEEKOFYEAR=921 -WEIGHT_STRING=922 -WITHIN=923 -YEARWEEK=924 -Y_FUNCTION=925 -X_FUNCTION=926 -VAR_ASSIGN=927 -PLUS_ASSIGN=928 -MINUS_ASSIGN=929 -MULT_ASSIGN=930 -DIV_ASSIGN=931 -MOD_ASSIGN=932 -AND_ASSIGN=933 -XOR_ASSIGN=934 -OR_ASSIGN=935 -STAR=936 -DIVIDE=937 -MODULE=938 -PLUS=939 -MINUSMINUS=940 -MINUS=941 -DIV=942 -MOD=943 -EQUAL_SYMBOL=944 -GREATER_SYMBOL=945 -LESS_SYMBOL=946 -EXCLAMATION_SYMBOL=947 -BIT_NOT_OP=948 -BIT_OR_OP=949 -BIT_AND_OP=950 -BIT_XOR_OP=951 -DOT=952 -LR_BRACKET=953 -RR_BRACKET=954 -COMMA=955 -SEMI=956 -AT_SIGN=957 -ZERO_DECIMAL=958 -ONE_DECIMAL=959 -TWO_DECIMAL=960 -SINGLE_QUOTE_SYMB=961 -DOUBLE_QUOTE_SYMB=962 -REVERSE_QUOTE_SYMB=963 -COLON_SYMB=964 -CHARSET_REVERSE_QOUTE_STRING=965 -FILESIZE_LITERAL=966 -START_NATIONAL_STRING_LITERAL=967 -STRING_LITERAL=968 -DECIMAL_LITERAL=969 -HEXADECIMAL_LITERAL=970 -REAL_LITERAL=971 -NULL_SPEC_LITERAL=972 -BIT_STRING=973 -STRING_CHARSET_NAME=974 -DOT_ID=975 -ID=976 -REVERSE_QUOTE_ID=977 -STRING_USER_NAME=978 -LOCAL_ID=979 -GLOBAL_ID=980 -ERROR_RECONGNIGION=981 -'ERROR_WITHIN'=5 -'AT_CONFIDENCE'=6 -'ADD'=7 -'ALL'=8 -'ALTER'=9 -'ALWAYS'=10 -'ANALYZE'=11 -'AND'=12 -'AS'=13 -'ASC'=14 -'BEFORE'=15 -'BETWEEN'=16 -'BOTH'=17 -'BY'=18 -'CALL'=19 -'CASCADE'=20 -'CASE'=21 -'CAST'=22 -'CHANGE'=23 -'CHARACTER'=24 -'CHECK'=25 -'COLLATE'=26 -'COLUMN'=27 -'CONDITION'=28 -'CONSTRAINT'=29 -'CONTINUE'=30 -'CONVERT'=31 -'CREATE'=32 -'CROSS'=33 -'CURRENT_USER'=34 -'CURSOR'=35 -'DATABASE'=36 -'DATABASES'=37 -'DECLARE'=38 -'DEFAULT'=39 -'DELAYED'=40 -'DELETE'=41 -'DESC'=42 -'DESCRIBE'=43 -'DETERMINISTIC'=44 -'DISTINCT'=45 -'DISTINCTROW'=46 -'DROP'=47 -'EACH'=48 -'ELSE'=49 -'ELSEIF'=50 -'ENCLOSED'=51 -'ESCAPED'=52 -'EXISTS'=53 -'EXIT'=54 -'EXPLAIN'=55 -'FALSE'=56 -'FETCH'=57 -'FOR'=58 -'FORCE'=59 -'FOREIGN'=60 -'FROM'=61 -'FULLTEXT'=62 -'GENERATED'=63 -'GRANT'=64 -'GROUP'=65 -'HAVING'=66 -'HIGH_PRIORITY'=67 -'IF'=68 -'IGNORE'=69 -'IN'=70 -'INDEX'=71 -'INFILE'=72 -'INNER'=73 -'INOUT'=74 -'INSERT'=75 -'INTERVAL'=76 -'INTO'=77 -'IS'=78 -'ITERATE'=79 -'JOIN'=80 -'KEY'=81 -'KEYS'=82 -'KILL'=83 -'LEADING'=84 -'LEAVE'=85 -'LEFT'=86 -'LIKE'=87 -'LIMIT'=88 -'LINEAR'=89 -'LINES'=90 -'LOAD'=91 -'LOCK'=92 -'LOOP'=93 -'LOW_PRIORITY'=94 -'MASTER_BIND'=95 -'MASTER_SSL_VERIFY_SERVER_CERT'=96 -'MATCH'=97 -'MAXVALUE'=98 -'MODIFIES'=99 -'NATURAL'=100 -'NOT'=101 -'NO_WRITE_TO_BINLOG'=102 -'NULL'=103 -'ON'=104 -'OPTIMIZE'=105 -'OPTION'=106 -'OPTIONALLY'=107 -'OR'=108 -'ORDER'=109 -'OUT'=110 -'OUTER'=111 -'OUTFILE'=112 -'PARTITION'=113 -'PRIMARY'=114 -'PROCEDURE'=115 -'PURGE'=116 -'RANGE'=117 -'READ'=118 -'READS'=119 -'REFERENCES'=120 -'REGEXP'=121 -'RELEASE'=122 -'RENAME'=123 -'REPEAT'=124 -'REPLACE'=125 -'REQUIRE'=126 -'RESTRICT'=127 -'RETURN'=128 -'REVOKE'=129 -'RIGHT'=130 -'RLIKE'=131 -'SCHEMA'=132 -'SCHEMAS'=133 -'SELECT'=134 -'SET'=135 -'SEPARATOR'=136 -'SHOW'=137 -'SPATIAL'=138 -'SQL'=139 -'SQLEXCEPTION'=140 -'SQLSTATE'=141 -'SQLWARNING'=142 -'SQL_BIG_RESULT'=143 -'SQL_CALC_FOUND_ROWS'=144 -'SQL_SMALL_RESULT'=145 -'SSL'=146 -'STARTING'=147 -'STRAIGHT_JOIN'=148 -'TABLE'=149 -'TERMINATED'=150 -'THEN'=151 -'TO'=152 -'TRAILING'=153 -'TRIGGER'=154 -'TRUE'=155 -'UNDO'=156 -'UNION'=157 -'UNIQUE'=158 -'UNLOCK'=159 -'UNSIGNED'=160 -'UPDATE'=161 -'USAGE'=162 -'USE'=163 -'USING'=164 -'VALUES'=165 -'WHEN'=166 -'WHERE'=167 -'WHILE'=168 -'WITH'=169 -'WRITE'=170 -'XOR'=171 -'ZEROFILL'=172 -'TINYINT'=173 -'SMALLINT'=174 -'MEDIUMINT'=175 -'INT'=176 -'INTEGER'=177 -'BIGINT'=178 -'REAL'=179 -'DOUBLE'=180 -'FLOAT'=181 -'DECIMAL'=182 -'NUMERIC'=183 -'DATE'=184 -'TIME'=185 -'TIMESTAMP'=186 -'DATETIME'=187 -'YEAR'=188 -'CHAR'=189 -'VARCHAR'=190 -'BINARY'=191 -'VARBINARY'=192 -'TINYBLOB'=193 -'BLOB'=194 -'MEDIUMBLOB'=195 -'LONGBLOB'=196 -'TINYTEXT'=197 -'TEXT'=198 -'MEDIUMTEXT'=199 -'LONGTEXT'=200 -'ENUM'=201 -'SERIAL'=202 -'YEAR_MONTH'=203 -'DAY_HOUR'=204 -'DAY_MINUTE'=205 -'DAY_SECOND'=206 -'HOUR_MINUTE'=207 -'HOUR_SECOND'=208 -'MINUTE_SECOND'=209 -'SECOND_MICROSECOND'=210 -'MINUTE_MICROSECOND'=211 -'HOUR_MICROSECOND'=212 -'DAY_MICROSECOND'=213 -'AVG'=214 -'BIT_AND'=215 -'BIT_OR'=216 -'BIT_XOR'=217 -'COUNT'=218 -'GROUP_CONCAT'=219 -'MAX'=220 -'MIN'=221 -'STD'=222 -'STDDEV'=223 -'STDDEV_POP'=224 -'STDDEV_SAMP'=225 -'SUM'=226 -'VAR_POP'=227 -'VAR_SAMP'=228 -'VARIANCE'=229 -'FCOUNT'=230 -'CURRENT_DATE'=231 -'CURRENT_TIME'=232 -'CURRENT_TIMESTAMP'=233 -'LOCALTIME'=234 -'CURDATE'=235 -'CURTIME'=236 -'DATE_ADD'=237 -'DATE_SUB'=238 -'EXTRACT'=239 -'LOCALTIMESTAMP'=240 -'NOW'=241 -'POSITION'=242 -'SUBSTR'=243 -'SUBSTRING'=244 -'SYSDATE'=245 -'TRIM'=246 -'UTC_DATE'=247 -'UTC_TIME'=248 -'UTC_TIMESTAMP'=249 -'ACCOUNT'=250 -'ACTION'=251 -'AFTER'=252 -'AGGREGATE'=253 -'ALGORITHM'=254 -'ANY'=255 -'AT'=256 -'AUTHORS'=257 -'AUTOCOMMIT'=258 -'AUTOEXTEND_SIZE'=259 -'AUTO_INCREMENT'=260 -'AVG_ROW_LENGTH'=261 -'BEGIN'=262 -'BINLOG'=263 -'BIT'=264 -'BLOCK'=265 -'BOOL'=266 -'BOOLEAN'=267 -'BTREE'=268 -'CACHE'=269 -'CASCADED'=270 -'CHAIN'=271 -'CHANGED'=272 -'CHANNEL'=273 -'CHECKSUM'=274 -'CIPHER'=275 -'CLIENT'=276 -'CLOSE'=277 -'COALESCE'=278 -'CODE'=279 -'COLUMNS'=280 -'COLUMN_FORMAT'=281 -'COMMENT'=282 -'COMMIT'=283 -'COMPACT'=284 -'COMPLETION'=285 -'COMPRESSED'=286 -'COMPRESSION'=287 -'CONCURRENT'=288 -'CONNECTION'=289 -'CONSISTENT'=290 -'CONTAINS'=291 -'CONTEXT'=292 -'CONTRIBUTORS'=293 -'COPY'=294 -'CPU'=295 -'DATA'=296 -'DATAFILE'=297 -'DEALLOCATE'=298 -'DEFAULT_AUTH'=299 -'DEFINER'=300 -'DELAY_KEY_WRITE'=301 -'DES_KEY_FILE'=302 -'DIRECTORY'=303 -'DISABLE'=304 -'DISCARD'=305 -'DISK'=306 -'DO'=307 -'DUMPFILE'=308 -'DUPLICATE'=309 -'DYNAMIC'=310 -'ENABLE'=311 -'ENCRYPTION'=312 -'END'=313 -'ENDS'=314 -'ENGINE'=315 -'ENGINES'=316 -'ERROR'=317 -'ERRORS'=318 -'ESCAPE'=319 -'EVEN'=320 -'EVENT'=321 -'EVENTS'=322 -'EVERY'=323 -'EXCHANGE'=324 -'EXCLUSIVE'=325 -'EXPIRE'=326 -'EXPORT'=327 -'EXTENDED'=328 -'EXTENT_SIZE'=329 -'FAST'=330 -'FAULTS'=331 -'FIELDS'=332 -'FILE_BLOCK_SIZE'=333 -'FILTER'=334 -'FIRST'=335 -'FIXED'=336 -'FLUSH'=337 -'FOLLOWS'=338 -'FOUND'=339 -'FULL'=340 -'FUNCTION'=341 -'GENERAL'=342 -'GLOBAL'=343 -'GRANTS'=344 -'GROUP_REPLICATION'=345 -'HANDLER'=346 -'HASH'=347 -'HELP'=348 -'HOST'=349 -'HOSTS'=350 -'IDENTIFIED'=351 -'IGNORE_SERVER_IDS'=352 -'IMPORT'=353 -'INDEXES'=354 -'INITIAL_SIZE'=355 -'INPLACE'=356 -'INSERT_METHOD'=357 -'INSTALL'=358 -'INSTANCE'=359 -'INVOKER'=360 -'IO'=361 -'IO_THREAD'=362 -'IPC'=363 -'ISOLATION'=364 -'ISSUER'=365 -'JSON'=366 -'KEY_BLOCK_SIZE'=367 -'LANGUAGE'=368 -'LAST'=369 -'LEAVES'=370 -'LESS'=371 -'LEVEL'=372 -'LIST'=373 -'LOCAL'=374 -'LOGFILE'=375 -'LOGS'=376 -'MASTER'=377 -'MASTER_AUTO_POSITION'=378 -'MASTER_CONNECT_RETRY'=379 -'MASTER_DELAY'=380 -'MASTER_HEARTBEAT_PERIOD'=381 -'MASTER_HOST'=382 -'MASTER_LOG_FILE'=383 -'MASTER_LOG_POS'=384 -'MASTER_PASSWORD'=385 -'MASTER_PORT'=386 -'MASTER_RETRY_COUNT'=387 -'MASTER_SSL'=388 -'MASTER_SSL_CA'=389 -'MASTER_SSL_CAPATH'=390 -'MASTER_SSL_CERT'=391 -'MASTER_SSL_CIPHER'=392 -'MASTER_SSL_CRL'=393 -'MASTER_SSL_CRLPATH'=394 -'MASTER_SSL_KEY'=395 -'MASTER_TLS_VERSION'=396 -'MASTER_USER'=397 -'MAX_CONNECTIONS_PER_HOUR'=398 -'MAX_QUERIES_PER_HOUR'=399 -'MAX_ROWS'=400 -'MAX_SIZE'=401 -'MAX_UPDATES_PER_HOUR'=402 -'MAX_USER_CONNECTIONS'=403 -'MEDIUM'=404 -'MERGE'=405 -'MID'=406 -'MIGRATE'=407 -'MIN_ROWS'=408 -'MODE'=409 -'MODIFY'=410 -'MUTEX'=411 -'MYSQL'=412 -'NAME'=413 -'NAMES'=414 -'NCHAR'=415 -'NEVER'=416 -'NEXT'=417 -'NO'=418 -'NODEGROUP'=419 -'NONE'=420 -'OFFLINE'=421 -'OFFSET'=422 -'OJ'=423 -'OLD_PASSWORD'=424 -'ONE'=425 -'ONLINE'=426 -'ONLY'=427 -'OPEN'=428 -'OPTIMIZER_COSTS'=429 -'OPTIONS'=430 -'OWNER'=431 -'PACK_KEYS'=432 -'PAGE'=433 -'PARSER'=434 -'PARTIAL'=435 -'PARTITIONING'=436 -'PARTITIONS'=437 -'PASSWORD'=438 -'PHASE'=439 -'PLUGIN'=440 -'PLUGIN_DIR'=441 -'PLUGINS'=442 -'PORT'=443 -'PRECEDES'=444 -'PREPARE'=445 -'PRESERVE'=446 -'PREV'=447 -'PROCESSLIST'=448 -'PROFILE'=449 -'PROFILES'=450 -'PROXY'=451 -'QUERY'=452 -'QUICK'=453 -'REBUILD'=454 -'RECOVER'=455 -'REDO_BUFFER_SIZE'=456 -'REDUNDANT'=457 -'RELAY'=458 -'RELAY_LOG_FILE'=459 -'RELAY_LOG_POS'=460 -'RELAYLOG'=461 -'REMOVE'=462 -'REORGANIZE'=463 -'REPAIR'=464 -'REPLICATE_DO_DB'=465 -'REPLICATE_DO_TABLE'=466 -'REPLICATE_IGNORE_DB'=467 -'REPLICATE_IGNORE_TABLE'=468 -'REPLICATE_REWRITE_DB'=469 -'REPLICATE_WILD_DO_TABLE'=470 -'REPLICATE_WILD_IGNORE_TABLE'=471 -'REPLICATION'=472 -'RESET'=473 -'RESUME'=474 -'RETURNS'=475 -'ROLLBACK'=476 -'ROLLUP'=477 -'ROTATE'=478 -'ROW'=479 -'ROWS'=480 -'ROW_FORMAT'=481 -'SAVEPOINT'=482 -'SCHEDULE'=483 -'SECURITY'=484 -'SERVER'=485 -'SESSION'=486 -'SHARE'=487 -'SHARED'=488 -'SIGNED'=489 -'SIMPLE'=490 -'SLAVE'=491 -'SLOW'=492 -'SNAPSHOT'=493 -'SOCKET'=494 -'SOME'=495 -'SONAME'=496 -'SOUNDS'=497 -'SOURCE'=498 -'SQL_AFTER_GTIDS'=499 -'SQL_AFTER_MTS_GAPS'=500 -'SQL_BEFORE_GTIDS'=501 -'SQL_BUFFER_RESULT'=502 -'SQL_CACHE'=503 -'SQL_NO_CACHE'=504 -'SQL_THREAD'=505 -'START'=506 -'STARTS'=507 -'STATS_AUTO_RECALC'=508 -'STATS_PERSISTENT'=509 -'STATS_SAMPLE_PAGES'=510 -'STATUS'=511 -'STOP'=512 -'STORAGE'=513 -'STORED'=514 -'STRING'=515 -'SUBJECT'=516 -'SUBPARTITION'=517 -'SUBPARTITIONS'=518 -'SUSPEND'=519 -'SWAPS'=520 -'SWITCHES'=521 -'TABLESPACE'=522 -'TEMPORARY'=523 -'TEMPTABLE'=524 -'THAN'=525 -'TRADITIONAL'=526 -'TRANSACTION'=527 -'TRIGGERS'=528 -'TRUNCATE'=529 -'UNDEFINED'=530 -'UNDOFILE'=531 -'UNDO_BUFFER_SIZE'=532 -'UNINSTALL'=533 -'UNKNOWN'=534 -'UNTIL'=535 -'UPGRADE'=536 -'USER'=537 -'USE_FRM'=538 -'USER_RESOURCES'=539 -'VALIDATION'=540 -'VALUE'=541 -'VARIABLES'=542 -'VIEW'=543 -'VIRTUAL'=544 -'WAIT'=545 -'WARNINGS'=546 -'WITHOUT'=547 -'WORK'=548 -'WRAPPER'=549 -'X509'=550 -'XA'=551 -'XML'=552 -'EUR'=553 -'USA'=554 -'JIS'=555 -'ISO'=556 -'INTERNAL'=557 -'QUARTER'=558 -'MONTH'=559 -'DAY'=560 -'HOUR'=561 -'MINUTE'=562 -'WEEK'=563 -'SECOND'=564 -'MICROSECOND'=565 -'TABLES'=566 -'ROUTINE'=567 -'EXECUTE'=568 -'FILE'=569 -'PROCESS'=570 -'RELOAD'=571 -'SHUTDOWN'=572 -'SUPER'=573 -'PRIVILEGES'=574 -'ARMSCII8'=575 -'ASCII'=576 -'BIG5'=577 -'CP1250'=578 -'CP1251'=579 -'CP1256'=580 -'CP1257'=581 -'CP850'=582 -'CP852'=583 -'CP866'=584 -'CP932'=585 -'DEC8'=586 -'EUCJPMS'=587 -'EUCKR'=588 -'GB2312'=589 -'GBK'=590 -'GEOSTD8'=591 -'GREEK'=592 -'HEBREW'=593 -'HP8'=594 -'KEYBCS2'=595 -'KOI8R'=596 -'KOI8U'=597 -'LATIN1'=598 -'LATIN2'=599 -'LATIN5'=600 -'LATIN7'=601 -'MACCE'=602 -'MACROMAN'=603 -'SJIS'=604 -'SWE7'=605 -'TIS620'=606 -'UCS2'=607 -'UJIS'=608 -'UTF16'=609 -'UTF16LE'=610 -'UTF32'=611 -'UTF8'=612 -'UTF8MB3'=613 -'UTF8MB4'=614 -'ARCHIVE'=615 -'BLACKHOLE'=616 -'CSV'=617 -'FEDERATED'=618 -'INNODB'=619 -'MEMORY'=620 -'MRG_MYISAM'=621 -'MYISAM'=622 -'NDB'=623 -'NDBCLUSTER'=624 -'PERFOMANCE_SCHEMA'=625 -'REPEATABLE'=626 -'COMMITTED'=627 -'UNCOMMITTED'=628 -'SERIALIZABLE'=629 -'GEOMETRYCOLLECTION'=630 -'LINESTRING'=631 -'MULTILINESTRING'=632 -'MULTIPOINT'=633 -'MULTIPOLYGON'=634 -'POINT'=635 -'POLYGON'=636 -'ABS'=637 -'ACOS'=638 -'ADDDATE'=639 -'ADDTIME'=640 -'AES_DECRYPT'=641 -'AES_ENCRYPT'=642 -'AREA'=643 -'ASBINARY'=644 -'ASIN'=645 -'ASTEXT'=646 -'ASWKB'=647 -'ASWKT'=648 -'ASYMMETRIC_DECRYPT'=649 -'ASYMMETRIC_DERIVE'=650 -'ASYMMETRIC_ENCRYPT'=651 -'ASYMMETRIC_SIGN'=652 -'ASYMMETRIC_VERIFY'=653 -'ATAN'=654 -'ATAN2'=655 -'BENCHMARK'=656 -'BIN'=657 -'BIT_COUNT'=658 -'BIT_LENGTH'=659 -'BUFFER'=660 -'CEIL'=661 -'CEILING'=662 -'CENTROID'=663 -'CHARACTER_LENGTH'=664 -'CHARSET'=665 -'CHAR_LENGTH'=666 -'COERCIBILITY'=667 -'COLLATION'=668 -'COMPRESS'=669 -'CONCAT'=670 -'CONCAT_WS'=671 -'CONNECTION_ID'=672 -'CONV'=673 -'CONVERT_TZ'=674 -'COS'=675 -'COT'=676 -'CRC32'=677 -'CREATE_ASYMMETRIC_PRIV_KEY'=678 -'CREATE_ASYMMETRIC_PUB_KEY'=679 -'CREATE_DH_PARAMETERS'=680 -'CREATE_DIGEST'=681 -'CROSSES'=682 -'DATEDIFF'=683 -'DATE_FORMAT'=684 -'DAYNAME'=685 -'DAYOFMONTH'=686 -'DAYOFWEEK'=687 -'DAYOFYEAR'=688 -'DECODE'=689 -'DEGREES'=690 -'DES_DECRYPT'=691 -'DES_ENCRYPT'=692 -'DIMENSION'=693 -'DISJOINT'=694 -'ELT'=695 -'ENCODE'=696 -'ENCRYPT'=697 -'ENDPOINT'=698 -'ENVELOPE'=699 -'EQUALS'=700 -'EXP'=701 -'EXPORT_SET'=702 -'EXTERIORRING'=703 -'EXTRACTVALUE'=704 -'FIELD'=705 -'FIND_IN_SET'=706 -'FLOOR'=707 -'FORMAT'=708 -'FOUND_ROWS'=709 -'FROM_BASE64'=710 -'FROM_DAYS'=711 -'FROM_UNIXTIME'=712 -'GEOMCOLLFROMTEXT'=713 -'GEOMCOLLFROMWKB'=714 -'GEOMETRYCOLLECTIONFROMTEXT'=715 -'GEOMETRYCOLLECTIONFROMWKB'=716 -'GEOMETRYFROMTEXT'=717 -'GEOMETRYFROMWKB'=718 -'GEOMETRYN'=719 -'GEOMETRYTYPE'=720 -'GEOMFROMTEXT'=721 -'GEOMFROMWKB'=722 -'GET_FORMAT'=723 -'GET_LOCK'=724 -'GLENGTH'=725 -'GREATEST'=726 -'GTID_SUBSET'=727 -'GTID_SUBTRACT'=728 -'HEX'=729 -'IFNULL'=730 -'INET6_ATON'=731 -'INET6_NTOA'=732 -'INET_ATON'=733 -'INET_NTOA'=734 -'INSTR'=735 -'INTERIORRINGN'=736 -'INTERSECTS'=737 -'ISCLOSED'=738 -'ISEMPTY'=739 -'ISNULL'=740 -'ISSIMPLE'=741 -'IS_FREE_LOCK'=742 -'IS_IPV4'=743 -'IS_IPV4_COMPAT'=744 -'IS_IPV4_MAPPED'=745 -'IS_IPV6'=746 -'IS_USED_LOCK'=747 -'LAST_INSERT_ID'=748 -'LCASE'=749 -'LEAST'=750 -'LENGTH'=751 -'LINEFROMTEXT'=752 -'LINEFROMWKB'=753 -'LINESTRINGFROMTEXT'=754 -'LINESTRINGFROMWKB'=755 -'LN'=756 -'LOAD_FILE'=757 -'LOCATE'=758 -'LOG'=759 -'LOG10'=760 -'LOG2'=761 -'LOWER'=762 -'LPAD'=763 -'LTRIM'=764 -'MAKEDATE'=765 -'MAKETIME'=766 -'MAKE_SET'=767 -'MASTER_POS_WAIT'=768 -'MBRCONTAINS'=769 -'MBRDISJOINT'=770 -'MBREQUAL'=771 -'MBRINTERSECTS'=772 -'MBROVERLAPS'=773 -'MBRTOUCHES'=774 -'MBRWITHIN'=775 -'MD5'=776 -'MLINEFROMTEXT'=777 -'MLINEFROMWKB'=778 -'MONTHNAME'=779 -'MPOINTFROMTEXT'=780 -'MPOINTFROMWKB'=781 -'MPOLYFROMTEXT'=782 -'MPOLYFROMWKB'=783 -'MULTILINESTRINGFROMTEXT'=784 -'MULTILINESTRINGFROMWKB'=785 -'MULTIPOINTFROMTEXT'=786 -'MULTIPOINTFROMWKB'=787 -'MULTIPOLYGONFROMTEXT'=788 -'MULTIPOLYGONFROMWKB'=789 -'NAME_CONST'=790 -'NULLIF'=791 -'NUMGEOMETRIES'=792 -'NUMINTERIORRINGS'=793 -'NUMPOINTS'=794 -'OCT'=795 -'OCTET_LENGTH'=796 -'ORD'=797 -'OVERLAPS'=798 -'PERIOD_ADD'=799 -'PERIOD_DIFF'=800 -'PI'=801 -'POINTFROMTEXT'=802 -'POINTFROMWKB'=803 -'POINTN'=804 -'POLYFROMTEXT'=805 -'POLYFROMWKB'=806 -'POLYGONFROMTEXT'=807 -'POLYGONFROMWKB'=808 -'POW'=809 -'POWER'=810 -'QUOTE'=811 -'RADIANS'=812 -'RAND'=813 -'RANDOM_BYTES'=814 -'RELEASE_LOCK'=815 -'REVERSE'=816 -'ROUND'=817 -'ROW_COUNT'=818 -'RPAD'=819 -'RTRIM'=820 -'SEC_TO_TIME'=821 -'SESSION_USER'=822 -'SHA'=823 -'SHA1'=824 -'SHA2'=825 -'SIGN'=826 -'SIN'=827 -'SLEEP'=828 -'SOUNDEX'=829 -'SQL_THREAD_WAIT_AFTER_GTIDS'=830 -'SQRT'=831 -'SRID'=832 -'STARTPOINT'=833 -'STRCMP'=834 -'STR_TO_DATE'=835 -'ST_AREA'=836 -'ST_ASBINARY'=837 -'ST_ASTEXT'=838 -'ST_ASWKB'=839 -'ST_ASWKT'=840 -'ST_BUFFER'=841 -'ST_CENTROID'=842 -'ST_CONTAINS'=843 -'ST_CROSSES'=844 -'ST_DIFFERENCE'=845 -'ST_DIMENSION'=846 -'ST_DISJOINT'=847 -'ST_DISTANCE'=848 -'ST_ENDPOINT'=849 -'ST_ENVELOPE'=850 -'ST_EQUALS'=851 -'ST_EXTERIORRING'=852 -'ST_GEOMCOLLFROMTEXT'=853 -'ST_GEOMCOLLFROMTXT'=854 -'ST_GEOMCOLLFROMWKB'=855 -'ST_GEOMETRYCOLLECTIONFROMTEXT'=856 -'ST_GEOMETRYCOLLECTIONFROMWKB'=857 -'ST_GEOMETRYFROMTEXT'=858 -'ST_GEOMETRYFROMWKB'=859 -'ST_GEOMETRYN'=860 -'ST_GEOMETRYTYPE'=861 -'ST_GEOMFROMTEXT'=862 -'ST_GEOMFROMWKB'=863 -'ST_INTERIORRINGN'=864 -'ST_INTERSECTION'=865 -'ST_INTERSECTS'=866 -'ST_ISCLOSED'=867 -'ST_ISEMPTY'=868 -'ST_ISSIMPLE'=869 -'ST_LINEFROMTEXT'=870 -'ST_LINEFROMWKB'=871 -'ST_LINESTRINGFROMTEXT'=872 -'ST_LINESTRINGFROMWKB'=873 -'ST_NUMGEOMETRIES'=874 -'ST_NUMINTERIORRING'=875 -'ST_NUMINTERIORRINGS'=876 -'ST_NUMPOINTS'=877 -'ST_OVERLAPS'=878 -'ST_POINTFROMTEXT'=879 -'ST_POINTFROMWKB'=880 -'ST_POINTN'=881 -'ST_POLYFROMTEXT'=882 -'ST_POLYFROMWKB'=883 -'ST_POLYGONFROMTEXT'=884 -'ST_POLYGONFROMWKB'=885 -'ST_SRID'=886 -'ST_STARTPOINT'=887 -'ST_SYMDIFFERENCE'=888 -'ST_TOUCHES'=889 -'ST_UNION'=890 -'ST_WITHIN'=891 -'ST_X'=892 -'ST_Y'=893 -'SUBDATE'=894 -'SUBSTRING_INDEX'=895 -'SUBTIME'=896 -'SYSTEM_USER'=897 -'TAN'=898 -'TIMEDIFF'=899 -'TIMESTAMPADD'=900 -'TIMESTAMPDIFF'=901 -'TIME_FORMAT'=902 -'TIME_TO_SEC'=903 -'TOUCHES'=904 -'TO_BASE64'=905 -'TO_DAYS'=906 -'TO_SECONDS'=907 -'UCASE'=908 -'UNCOMPRESS'=909 -'UNCOMPRESSED_LENGTH'=910 -'UNHEX'=911 -'UNIX_TIMESTAMP'=912 -'UPDATEXML'=913 -'UPPER'=914 -'UUID'=915 -'UUID_SHORT'=916 -'VALIDATE_PASSWORD_STRENGTH'=917 -'VERSION'=918 -'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS'=919 -'WEEKDAY'=920 -'WEEKOFYEAR'=921 -'WEIGHT_STRING'=922 -'WITHIN'=923 -'YEARWEEK'=924 -'Y'=925 -'X'=926 -':='=927 -'+='=928 -'-='=929 -'*='=930 -'/='=931 -'%='=932 -'&='=933 -'^='=934 -'|='=935 -'*'=936 -'/'=937 -'%'=938 -'+'=939 -'--'=940 -'-'=941 -'DIV'=942 -'MOD'=943 -'='=944 -'>'=945 -'<'=946 -'!'=947 -'~'=948 -'|'=949 -'&'=950 -'^'=951 -'.'=952 -'('=953 -')'=954 -','=955 -';'=956 -'@'=957 -'0'=958 -'1'=959 -'2'=960 -'\''=961 -'"'=962 -'`'=963 -':'=964 diff --git a/Grammar/frameQL/grammar/test/frameQLParser.interp b/Grammar/frameQL/grammar/test/frameQLParser.interp deleted file mode 100644 index d2d1b51e3c..0000000000 --- a/Grammar/frameQL/grammar/test/frameQLParser.interp +++ /dev/null @@ -1,2283 +0,0 @@ -token literal names: -null -null -null -null -null -'ERROR_WITHIN' -'AT_CONFIDENCE' -'ADD' -'ALL' -'ALTER' -'ALWAYS' -'ANALYZE' -'AND' -'AS' -'ASC' -'BEFORE' -'BETWEEN' -'BOTH' -'BY' -'CALL' -'CASCADE' -'CASE' -'CAST' -'CHANGE' -'CHARACTER' -'CHECK' -'COLLATE' -'COLUMN' -'CONDITION' -'CONSTRAINT' -'CONTINUE' -'CONVERT' -'CREATE' -'CROSS' -'CURRENT_USER' -'CURSOR' -'DATABASE' -'DATABASES' -'DECLARE' -'DEFAULT' -'DELAYED' -'DELETE' -'DESC' -'DESCRIBE' -'DETERMINISTIC' -'DISTINCT' -'DISTINCTROW' -'DROP' -'EACH' -'ELSE' -'ELSEIF' -'ENCLOSED' -'ESCAPED' -'EXISTS' -'EXIT' -'EXPLAIN' -'FALSE' -'FETCH' -'FOR' -'FORCE' -'FOREIGN' -'FROM' -'FULLTEXT' -'GENERATED' -'GRANT' -'GROUP' -'HAVING' -'HIGH_PRIORITY' -'IF' -'IGNORE' -'IN' -'INDEX' -'INFILE' -'INNER' -'INOUT' -'INSERT' -'INTERVAL' -'INTO' -'IS' -'ITERATE' -'JOIN' -'KEY' -'KEYS' -'KILL' -'LEADING' -'LEAVE' -'LEFT' -'LIKE' -'LIMIT' -'LINEAR' -'LINES' -'LOAD' -'LOCK' -'LOOP' -'LOW_PRIORITY' -'MASTER_BIND' -'MASTER_SSL_VERIFY_SERVER_CERT' -'MATCH' -'MAXVALUE' -'MODIFIES' -'NATURAL' -'NOT' -'NO_WRITE_TO_BINLOG' -'NULL' -'ON' -'OPTIMIZE' -'OPTION' -'OPTIONALLY' -'OR' -'ORDER' -'OUT' -'OUTER' -'OUTFILE' -'PARTITION' -'PRIMARY' -'PROCEDURE' -'PURGE' -'RANGE' -'READ' -'READS' -'REFERENCES' -'REGEXP' -'RELEASE' -'RENAME' -'REPEAT' -'REPLACE' -'REQUIRE' -'RESTRICT' -'RETURN' -'REVOKE' -'RIGHT' -'RLIKE' -'SCHEMA' -'SCHEMAS' -'SELECT' -'SET' -'SEPARATOR' -'SHOW' -'SPATIAL' -'SQL' -'SQLEXCEPTION' -'SQLSTATE' -'SQLWARNING' -'SQL_BIG_RESULT' -'SQL_CALC_FOUND_ROWS' -'SQL_SMALL_RESULT' -'SSL' -'STARTING' -'STRAIGHT_JOIN' -'TABLE' -'TERMINATED' -'THEN' -'TO' -'TRAILING' -'TRIGGER' -'TRUE' -'UNDO' -'UNION' -'UNIQUE' -'UNLOCK' -'UNSIGNED' -'UPDATE' -'USAGE' -'USE' -'USING' -'VALUES' -'WHEN' -'WHERE' -'WHILE' -'WITH' -'WRITE' -'XOR' -'ZEROFILL' -'TINYINT' -'SMALLINT' -'MEDIUMINT' -'INT' -'INTEGER' -'BIGINT' -'REAL' -'DOUBLE' -'FLOAT' -'DECIMAL' -'NUMERIC' -'DATE' -'TIME' -'TIMESTAMP' -'DATETIME' -'YEAR' -'CHAR' -'VARCHAR' -'BINARY' -'VARBINARY' -'TINYBLOB' -'BLOB' -'MEDIUMBLOB' -'LONGBLOB' -'TINYTEXT' -'TEXT' -'MEDIUMTEXT' -'LONGTEXT' -'ENUM' -'SERIAL' -'YEAR_MONTH' -'DAY_HOUR' -'DAY_MINUTE' -'DAY_SECOND' -'HOUR_MINUTE' -'HOUR_SECOND' -'MINUTE_SECOND' -'SECOND_MICROSECOND' -'MINUTE_MICROSECOND' -'HOUR_MICROSECOND' -'DAY_MICROSECOND' -'AVG' -'BIT_AND' -'BIT_OR' -'BIT_XOR' -'COUNT' -'GROUP_CONCAT' -'MAX' -'MIN' -'STD' -'STDDEV' -'STDDEV_POP' -'STDDEV_SAMP' -'SUM' -'VAR_POP' -'VAR_SAMP' -'VARIANCE' -'FCOUNT' -'CURRENT_DATE' -'CURRENT_TIME' -'CURRENT_TIMESTAMP' -'LOCALTIME' -'CURDATE' -'CURTIME' -'DATE_ADD' -'DATE_SUB' -'EXTRACT' -'LOCALTIMESTAMP' -'NOW' -'POSITION' -'SUBSTR' -'SUBSTRING' -'SYSDATE' -'TRIM' -'UTC_DATE' -'UTC_TIME' -'UTC_TIMESTAMP' -'ACCOUNT' -'ACTION' -'AFTER' -'AGGREGATE' -'ALGORITHM' -'ANY' -'AT' -'AUTHORS' -'AUTOCOMMIT' -'AUTOEXTEND_SIZE' -'AUTO_INCREMENT' -'AVG_ROW_LENGTH' -'BEGIN' -'BINLOG' -'BIT' -'BLOCK' -'BOOL' -'BOOLEAN' -'BTREE' -'CACHE' -'CASCADED' -'CHAIN' -'CHANGED' -'CHANNEL' -'CHECKSUM' -'CIPHER' -'CLIENT' -'CLOSE' -'COALESCE' -'CODE' -'COLUMNS' -'COLUMN_FORMAT' -'COMMENT' -'COMMIT' -'COMPACT' -'COMPLETION' -'COMPRESSED' -'COMPRESSION' -'CONCURRENT' -'CONNECTION' -'CONSISTENT' -'CONTAINS' -'CONTEXT' -'CONTRIBUTORS' -'COPY' -'CPU' -'DATA' -'DATAFILE' -'DEALLOCATE' -'DEFAULT_AUTH' -'DEFINER' -'DELAY_KEY_WRITE' -'DES_KEY_FILE' -'DIRECTORY' -'DISABLE' -'DISCARD' -'DISK' -'DO' -'DUMPFILE' -'DUPLICATE' -'DYNAMIC' -'ENABLE' -'ENCRYPTION' -'END' -'ENDS' -'ENGINE' -'ENGINES' -'ERROR' -'ERRORS' -'ESCAPE' -'EVEN' -'EVENT' -'EVENTS' -'EVERY' -'EXCHANGE' -'EXCLUSIVE' -'EXPIRE' -'EXPORT' -'EXTENDED' -'EXTENT_SIZE' -'FAST' -'FAULTS' -'FIELDS' -'FILE_BLOCK_SIZE' -'FILTER' -'FIRST' -'FIXED' -'FLUSH' -'FOLLOWS' -'FOUND' -'FULL' -'FUNCTION' -'GENERAL' -'GLOBAL' -'GRANTS' -'GROUP_REPLICATION' -'HANDLER' -'HASH' -'HELP' -'HOST' -'HOSTS' -'IDENTIFIED' -'IGNORE_SERVER_IDS' -'IMPORT' -'INDEXES' -'INITIAL_SIZE' -'INPLACE' -'INSERT_METHOD' -'INSTALL' -'INSTANCE' -'INVOKER' -'IO' -'IO_THREAD' -'IPC' -'ISOLATION' -'ISSUER' -'JSON' -'KEY_BLOCK_SIZE' -'LANGUAGE' -'LAST' -'LEAVES' -'LESS' -'LEVEL' -'LIST' -'LOCAL' -'LOGFILE' -'LOGS' -'MASTER' -'MASTER_AUTO_POSITION' -'MASTER_CONNECT_RETRY' -'MASTER_DELAY' -'MASTER_HEARTBEAT_PERIOD' -'MASTER_HOST' -'MASTER_LOG_FILE' -'MASTER_LOG_POS' -'MASTER_PASSWORD' -'MASTER_PORT' -'MASTER_RETRY_COUNT' -'MASTER_SSL' -'MASTER_SSL_CA' -'MASTER_SSL_CAPATH' -'MASTER_SSL_CERT' -'MASTER_SSL_CIPHER' -'MASTER_SSL_CRL' -'MASTER_SSL_CRLPATH' -'MASTER_SSL_KEY' -'MASTER_TLS_VERSION' -'MASTER_USER' -'MAX_CONNECTIONS_PER_HOUR' -'MAX_QUERIES_PER_HOUR' -'MAX_ROWS' -'MAX_SIZE' -'MAX_UPDATES_PER_HOUR' -'MAX_USER_CONNECTIONS' -'MEDIUM' -'MERGE' -'MID' -'MIGRATE' -'MIN_ROWS' -'MODE' -'MODIFY' -'MUTEX' -'MYSQL' -'NAME' -'NAMES' -'NCHAR' -'NEVER' -'NEXT' -'NO' -'NODEGROUP' -'NONE' -'OFFLINE' -'OFFSET' -'OJ' -'OLD_PASSWORD' -'ONE' -'ONLINE' -'ONLY' -'OPEN' -'OPTIMIZER_COSTS' -'OPTIONS' -'OWNER' -'PACK_KEYS' -'PAGE' -'PARSER' -'PARTIAL' -'PARTITIONING' -'PARTITIONS' -'PASSWORD' -'PHASE' -'PLUGIN' -'PLUGIN_DIR' -'PLUGINS' -'PORT' -'PRECEDES' -'PREPARE' -'PRESERVE' -'PREV' -'PROCESSLIST' -'PROFILE' -'PROFILES' -'PROXY' -'QUERY' -'QUICK' -'REBUILD' -'RECOVER' -'REDO_BUFFER_SIZE' -'REDUNDANT' -'RELAY' -'RELAY_LOG_FILE' -'RELAY_LOG_POS' -'RELAYLOG' -'REMOVE' -'REORGANIZE' -'REPAIR' -'REPLICATE_DO_DB' -'REPLICATE_DO_TABLE' -'REPLICATE_IGNORE_DB' -'REPLICATE_IGNORE_TABLE' -'REPLICATE_REWRITE_DB' -'REPLICATE_WILD_DO_TABLE' -'REPLICATE_WILD_IGNORE_TABLE' -'REPLICATION' -'RESET' -'RESUME' -'RETURNS' -'ROLLBACK' -'ROLLUP' -'ROTATE' -'ROW' -'ROWS' -'ROW_FORMAT' -'SAVEPOINT' -'SCHEDULE' -'SECURITY' -'SERVER' -'SESSION' -'SHARE' -'SHARED' -'SIGNED' -'SIMPLE' -'SLAVE' -'SLOW' -'SNAPSHOT' -'SOCKET' -'SOME' -'SONAME' -'SOUNDS' -'SOURCE' -'SQL_AFTER_GTIDS' -'SQL_AFTER_MTS_GAPS' -'SQL_BEFORE_GTIDS' -'SQL_BUFFER_RESULT' -'SQL_CACHE' -'SQL_NO_CACHE' -'SQL_THREAD' -'START' -'STARTS' -'STATS_AUTO_RECALC' -'STATS_PERSISTENT' -'STATS_SAMPLE_PAGES' -'STATUS' -'STOP' -'STORAGE' -'STORED' -'STRING' -'SUBJECT' -'SUBPARTITION' -'SUBPARTITIONS' -'SUSPEND' -'SWAPS' -'SWITCHES' -'TABLESPACE' -'TEMPORARY' -'TEMPTABLE' -'THAN' -'TRADITIONAL' -'TRANSACTION' -'TRIGGERS' -'TRUNCATE' -'UNDEFINED' -'UNDOFILE' -'UNDO_BUFFER_SIZE' -'UNINSTALL' -'UNKNOWN' -'UNTIL' -'UPGRADE' -'USER' -'USE_FRM' -'USER_RESOURCES' -'VALIDATION' -'VALUE' -'VARIABLES' -'VIEW' -'VIRTUAL' -'WAIT' -'WARNINGS' -'WITHOUT' -'WORK' -'WRAPPER' -'X509' -'XA' -'XML' -'EUR' -'USA' -'JIS' -'ISO' -'INTERNAL' -'QUARTER' -'MONTH' -'DAY' -'HOUR' -'MINUTE' -'WEEK' -'SECOND' -'MICROSECOND' -'TABLES' -'ROUTINE' -'EXECUTE' -'FILE' -'PROCESS' -'RELOAD' -'SHUTDOWN' -'SUPER' -'PRIVILEGES' -'ARMSCII8' -'ASCII' -'BIG5' -'CP1250' -'CP1251' -'CP1256' -'CP1257' -'CP850' -'CP852' -'CP866' -'CP932' -'DEC8' -'EUCJPMS' -'EUCKR' -'GB2312' -'GBK' -'GEOSTD8' -'GREEK' -'HEBREW' -'HP8' -'KEYBCS2' -'KOI8R' -'KOI8U' -'LATIN1' -'LATIN2' -'LATIN5' -'LATIN7' -'MACCE' -'MACROMAN' -'SJIS' -'SWE7' -'TIS620' -'UCS2' -'UJIS' -'UTF16' -'UTF16LE' -'UTF32' -'UTF8' -'UTF8MB3' -'UTF8MB4' -'ARCHIVE' -'BLACKHOLE' -'CSV' -'FEDERATED' -'INNODB' -'MEMORY' -'MRG_MYISAM' -'MYISAM' -'NDB' -'NDBCLUSTER' -'PERFOMANCE_SCHEMA' -'REPEATABLE' -'COMMITTED' -'UNCOMMITTED' -'SERIALIZABLE' -'GEOMETRYCOLLECTION' -'LINESTRING' -'MULTILINESTRING' -'MULTIPOINT' -'MULTIPOLYGON' -'POINT' -'POLYGON' -'ABS' -'ACOS' -'ADDDATE' -'ADDTIME' -'AES_DECRYPT' -'AES_ENCRYPT' -'AREA' -'ASBINARY' -'ASIN' -'ASTEXT' -'ASWKB' -'ASWKT' -'ASYMMETRIC_DECRYPT' -'ASYMMETRIC_DERIVE' -'ASYMMETRIC_ENCRYPT' -'ASYMMETRIC_SIGN' -'ASYMMETRIC_VERIFY' -'ATAN' -'ATAN2' -'BENCHMARK' -'BIN' -'BIT_COUNT' -'BIT_LENGTH' -'BUFFER' -'CEIL' -'CEILING' -'CENTROID' -'CHARACTER_LENGTH' -'CHARSET' -'CHAR_LENGTH' -'COERCIBILITY' -'COLLATION' -'COMPRESS' -'CONCAT' -'CONCAT_WS' -'CONNECTION_ID' -'CONV' -'CONVERT_TZ' -'COS' -'COT' -'CRC32' -'CREATE_ASYMMETRIC_PRIV_KEY' -'CREATE_ASYMMETRIC_PUB_KEY' -'CREATE_DH_PARAMETERS' -'CREATE_DIGEST' -'CROSSES' -'DATEDIFF' -'DATE_FORMAT' -'DAYNAME' -'DAYOFMONTH' -'DAYOFWEEK' -'DAYOFYEAR' -'DECODE' -'DEGREES' -'DES_DECRYPT' -'DES_ENCRYPT' -'DIMENSION' -'DISJOINT' -'ELT' -'ENCODE' -'ENCRYPT' -'ENDPOINT' -'ENVELOPE' -'EQUALS' -'EXP' -'EXPORT_SET' -'EXTERIORRING' -'EXTRACTVALUE' -'FIELD' -'FIND_IN_SET' -'FLOOR' -'FORMAT' -'FOUND_ROWS' -'FROM_BASE64' -'FROM_DAYS' -'FROM_UNIXTIME' -'GEOMCOLLFROMTEXT' -'GEOMCOLLFROMWKB' -'GEOMETRYCOLLECTIONFROMTEXT' -'GEOMETRYCOLLECTIONFROMWKB' -'GEOMETRYFROMTEXT' -'GEOMETRYFROMWKB' -'GEOMETRYN' -'GEOMETRYTYPE' -'GEOMFROMTEXT' -'GEOMFROMWKB' -'GET_FORMAT' -'GET_LOCK' -'GLENGTH' -'GREATEST' -'GTID_SUBSET' -'GTID_SUBTRACT' -'HEX' -'IFNULL' -'INET6_ATON' -'INET6_NTOA' -'INET_ATON' -'INET_NTOA' -'INSTR' -'INTERIORRINGN' -'INTERSECTS' -'ISCLOSED' -'ISEMPTY' -'ISNULL' -'ISSIMPLE' -'IS_FREE_LOCK' -'IS_IPV4' -'IS_IPV4_COMPAT' -'IS_IPV4_MAPPED' -'IS_IPV6' -'IS_USED_LOCK' -'LAST_INSERT_ID' -'LCASE' -'LEAST' -'LENGTH' -'LINEFROMTEXT' -'LINEFROMWKB' -'LINESTRINGFROMTEXT' -'LINESTRINGFROMWKB' -'LN' -'LOAD_FILE' -'LOCATE' -'LOG' -'LOG10' -'LOG2' -'LOWER' -'LPAD' -'LTRIM' -'MAKEDATE' -'MAKETIME' -'MAKE_SET' -'MASTER_POS_WAIT' -'MBRCONTAINS' -'MBRDISJOINT' -'MBREQUAL' -'MBRINTERSECTS' -'MBROVERLAPS' -'MBRTOUCHES' -'MBRWITHIN' -'MD5' -'MLINEFROMTEXT' -'MLINEFROMWKB' -'MONTHNAME' -'MPOINTFROMTEXT' -'MPOINTFROMWKB' -'MPOLYFROMTEXT' -'MPOLYFROMWKB' -'MULTILINESTRINGFROMTEXT' -'MULTILINESTRINGFROMWKB' -'MULTIPOINTFROMTEXT' -'MULTIPOINTFROMWKB' -'MULTIPOLYGONFROMTEXT' -'MULTIPOLYGONFROMWKB' -'NAME_CONST' -'NULLIF' -'NUMGEOMETRIES' -'NUMINTERIORRINGS' -'NUMPOINTS' -'OCT' -'OCTET_LENGTH' -'ORD' -'OVERLAPS' -'PERIOD_ADD' -'PERIOD_DIFF' -'PI' -'POINTFROMTEXT' -'POINTFROMWKB' -'POINTN' -'POLYFROMTEXT' -'POLYFROMWKB' -'POLYGONFROMTEXT' -'POLYGONFROMWKB' -'POW' -'POWER' -'QUOTE' -'RADIANS' -'RAND' -'RANDOM_BYTES' -'RELEASE_LOCK' -'REVERSE' -'ROUND' -'ROW_COUNT' -'RPAD' -'RTRIM' -'SEC_TO_TIME' -'SESSION_USER' -'SHA' -'SHA1' -'SHA2' -'SIGN' -'SIN' -'SLEEP' -'SOUNDEX' -'SQL_THREAD_WAIT_AFTER_GTIDS' -'SQRT' -'SRID' -'STARTPOINT' -'STRCMP' -'STR_TO_DATE' -'ST_AREA' -'ST_ASBINARY' -'ST_ASTEXT' -'ST_ASWKB' -'ST_ASWKT' -'ST_BUFFER' -'ST_CENTROID' -'ST_CONTAINS' -'ST_CROSSES' -'ST_DIFFERENCE' -'ST_DIMENSION' -'ST_DISJOINT' -'ST_DISTANCE' -'ST_ENDPOINT' -'ST_ENVELOPE' -'ST_EQUALS' -'ST_EXTERIORRING' -'ST_GEOMCOLLFROMTEXT' -'ST_GEOMCOLLFROMTXT' -'ST_GEOMCOLLFROMWKB' -'ST_GEOMETRYCOLLECTIONFROMTEXT' -'ST_GEOMETRYCOLLECTIONFROMWKB' -'ST_GEOMETRYFROMTEXT' -'ST_GEOMETRYFROMWKB' -'ST_GEOMETRYN' -'ST_GEOMETRYTYPE' -'ST_GEOMFROMTEXT' -'ST_GEOMFROMWKB' -'ST_INTERIORRINGN' -'ST_INTERSECTION' -'ST_INTERSECTS' -'ST_ISCLOSED' -'ST_ISEMPTY' -'ST_ISSIMPLE' -'ST_LINEFROMTEXT' -'ST_LINEFROMWKB' -'ST_LINESTRINGFROMTEXT' -'ST_LINESTRINGFROMWKB' -'ST_NUMGEOMETRIES' -'ST_NUMINTERIORRING' -'ST_NUMINTERIORRINGS' -'ST_NUMPOINTS' -'ST_OVERLAPS' -'ST_POINTFROMTEXT' -'ST_POINTFROMWKB' -'ST_POINTN' -'ST_POLYFROMTEXT' -'ST_POLYFROMWKB' -'ST_POLYGONFROMTEXT' -'ST_POLYGONFROMWKB' -'ST_SRID' -'ST_STARTPOINT' -'ST_SYMDIFFERENCE' -'ST_TOUCHES' -'ST_UNION' -'ST_WITHIN' -'ST_X' -'ST_Y' -'SUBDATE' -'SUBSTRING_INDEX' -'SUBTIME' -'SYSTEM_USER' -'TAN' -'TIMEDIFF' -'TIMESTAMPADD' -'TIMESTAMPDIFF' -'TIME_FORMAT' -'TIME_TO_SEC' -'TOUCHES' -'TO_BASE64' -'TO_DAYS' -'TO_SECONDS' -'UCASE' -'UNCOMPRESS' -'UNCOMPRESSED_LENGTH' -'UNHEX' -'UNIX_TIMESTAMP' -'UPDATEXML' -'UPPER' -'UUID' -'UUID_SHORT' -'VALIDATE_PASSWORD_STRENGTH' -'VERSION' -'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' -'WEEKDAY' -'WEEKOFYEAR' -'WEIGHT_STRING' -'WITHIN' -'YEARWEEK' -'Y' -'X' -':=' -'+=' -'-=' -'*=' -'/=' -'%=' -'&=' -'^=' -'|=' -'*' -'/' -'%' -'+' -'--' -'-' -'DIV' -'MOD' -'=' -'>' -'<' -'!' -'~' -'|' -'&' -'^' -'.' -'(' -')' -',' -';' -'@' -'0' -'1' -'2' -'\'' -'"' -'`' -':' -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null - -token symbolic names: -null -SPACE -SPEC_MYSQL_COMMENT -COMMENT_INPUT -LINE_COMMENT -ERRORBOUND -CONFLEVEL -ADD -ALL -ALTER -ALWAYS -ANALYZE -AND -AS -ASC -BEFORE -BETWEEN -BOTH -BY -CALL -CASCADE -CASE -CAST -CHANGE -CHARACTER -CHECK -COLLATE -COLUMN -CONDITION -CONSTRAINT -CONTINUE -CONVERT -CREATE -CROSS -CURRENT_USER -CURSOR -DATABASE -DATABASES -DECLARE -DEFAULT -DELAYED -DELETE -DESC -DESCRIBE -DETERMINISTIC -DISTINCT -DISTINCTROW -DROP -EACH -ELSE -ELSEIF -ENCLOSED -ESCAPED -EXISTS -EXIT -EXPLAIN -FALSE -FETCH -FOR -FORCE -FOREIGN -FROM -FULLTEXT -GENERATED -GRANT -GROUP -HAVING -HIGH_PRIORITY -IF -IGNORE -IN -INDEX -INFILE -INNER -INOUT -INSERT -INTERVAL -INTO -IS -ITERATE -JOIN -KEY -KEYS -KILL -LEADING -LEAVE -LEFT -LIKE -LIMIT -LINEAR -LINES -LOAD -LOCK -LOOP -LOW_PRIORITY -MASTER_BIND -MASTER_SSL_VERIFY_SERVER_CERT -MATCH -MAXVALUE -MODIFIES -NATURAL -NOT -NO_WRITE_TO_BINLOG -NULL_LITERAL -ON -OPTIMIZE -OPTION -OPTIONALLY -OR -ORDER -OUT -OUTER -OUTFILE -PARTITION -PRIMARY -PROCEDURE -PURGE -RANGE -READ -READS -REFERENCES -REGEXP -RELEASE -RENAME -REPEAT -REPLACE -REQUIRE -RESTRICT -RETURN -REVOKE -RIGHT -RLIKE -SCHEMA -SCHEMAS -SELECT -SET -SEPARATOR -SHOW -SPATIAL -SQL -SQLEXCEPTION -SQLSTATE -SQLWARNING -SQL_BIG_RESULT -SQL_CALC_FOUND_ROWS -SQL_SMALL_RESULT -SSL -STARTING -STRAIGHT_JOIN -TABLE -TERMINATED -THEN -TO -TRAILING -TRIGGER -TRUE -UNDO -UNION -UNIQUE -UNLOCK -UNSIGNED -UPDATE -USAGE -USE -USING -VALUES -WHEN -WHERE -WHILE -WITH -WRITE -XOR -ZEROFILL -TINYINT -SMALLINT -MEDIUMINT -INT -INTEGER -BIGINT -REAL -DOUBLE -FLOAT -DECIMAL -NUMERIC -DATE -TIME -TIMESTAMP -DATETIME -YEAR -CHAR -VARCHAR -BINARY -VARBINARY -TINYBLOB -BLOB -MEDIUMBLOB -LONGBLOB -TINYTEXT -TEXT -MEDIUMTEXT -LONGTEXT -ENUM -SERIAL -YEAR_MONTH -DAY_HOUR -DAY_MINUTE -DAY_SECOND -HOUR_MINUTE -HOUR_SECOND -MINUTE_SECOND -SECOND_MICROSECOND -MINUTE_MICROSECOND -HOUR_MICROSECOND -DAY_MICROSECOND -AVG -BIT_AND -BIT_OR -BIT_XOR -COUNT -GROUP_CONCAT -MAX -MIN -STD -STDDEV -STDDEV_POP -STDDEV_SAMP -SUM -VAR_POP -VAR_SAMP -VARIANCE -FCOUNT -CURRENT_DATE -CURRENT_TIME -CURRENT_TIMESTAMP -LOCALTIME -CURDATE -CURTIME -DATE_ADD -DATE_SUB -EXTRACT -LOCALTIMESTAMP -NOW -POSITION -SUBSTR -SUBSTRING -SYSDATE -TRIM -UTC_DATE -UTC_TIME -UTC_TIMESTAMP -ACCOUNT -ACTION -AFTER -AGGREGATE -ALGORITHM -ANY -AT -AUTHORS -AUTOCOMMIT -AUTOEXTEND_SIZE -AUTO_INCREMENT -AVG_ROW_LENGTH -BEGIN -BINLOG -BIT -BLOCK -BOOL -BOOLEAN -BTREE -CACHE -CASCADED -CHAIN -CHANGED -CHANNEL -CHECKSUM -CIPHER -CLIENT -CLOSE -COALESCE -CODE -COLUMNS -COLUMN_FORMAT -COMMENT -COMMIT -COMPACT -COMPLETION -COMPRESSED -COMPRESSION -CONCURRENT -CONNECTION -CONSISTENT -CONTAINS -CONTEXT -CONTRIBUTORS -COPY -CPU -DATA -DATAFILE -DEALLOCATE -DEFAULT_AUTH -DEFINER -DELAY_KEY_WRITE -DES_KEY_FILE -DIRECTORY -DISABLE -DISCARD -DISK -DO -DUMPFILE -DUPLICATE -DYNAMIC -ENABLE -ENCRYPTION -END -ENDS -ENGINE -ENGINES -ERROR -ERRORS -ESCAPE -EVEN -EVENT -EVENTS -EVERY -EXCHANGE -EXCLUSIVE -EXPIRE -EXPORT -EXTENDED -EXTENT_SIZE -FAST -FAULTS -FIELDS -FILE_BLOCK_SIZE -FILTER -FIRST -FIXED -FLUSH -FOLLOWS -FOUND -FULL -FUNCTION -GENERAL -GLOBAL -GRANTS -GROUP_REPLICATION -HANDLER -HASH -HELP -HOST -HOSTS -IDENTIFIED -IGNORE_SERVER_IDS -IMPORT -INDEXES -INITIAL_SIZE -INPLACE -INSERT_METHOD -INSTALL -INSTANCE -INVOKER -IO -IO_THREAD -IPC -ISOLATION -ISSUER -JSON -KEY_BLOCK_SIZE -LANGUAGE -LAST -LEAVES -LESS -LEVEL -LIST -LOCAL -LOGFILE -LOGS -MASTER -MASTER_AUTO_POSITION -MASTER_CONNECT_RETRY -MASTER_DELAY -MASTER_HEARTBEAT_PERIOD -MASTER_HOST -MASTER_LOG_FILE -MASTER_LOG_POS -MASTER_PASSWORD -MASTER_PORT -MASTER_RETRY_COUNT -MASTER_SSL -MASTER_SSL_CA -MASTER_SSL_CAPATH -MASTER_SSL_CERT -MASTER_SSL_CIPHER -MASTER_SSL_CRL -MASTER_SSL_CRLPATH -MASTER_SSL_KEY -MASTER_TLS_VERSION -MASTER_USER -MAX_CONNECTIONS_PER_HOUR -MAX_QUERIES_PER_HOUR -MAX_ROWS -MAX_SIZE -MAX_UPDATES_PER_HOUR -MAX_USER_CONNECTIONS -MEDIUM -MERGE -MID -MIGRATE -MIN_ROWS -MODE -MODIFY -MUTEX -MYSQL -NAME -NAMES -NCHAR -NEVER -NEXT -NO -NODEGROUP -NONE -OFFLINE -OFFSET -OJ -OLD_PASSWORD -ONE -ONLINE -ONLY -OPEN -OPTIMIZER_COSTS -OPTIONS -OWNER -PACK_KEYS -PAGE -PARSER -PARTIAL -PARTITIONING -PARTITIONS -PASSWORD -PHASE -PLUGIN -PLUGIN_DIR -PLUGINS -PORT -PRECEDES -PREPARE -PRESERVE -PREV -PROCESSLIST -PROFILE -PROFILES -PROXY -QUERY -QUICK -REBUILD -RECOVER -REDO_BUFFER_SIZE -REDUNDANT -RELAY -RELAY_LOG_FILE -RELAY_LOG_POS -RELAYLOG -REMOVE -REORGANIZE -REPAIR -REPLICATE_DO_DB -REPLICATE_DO_TABLE -REPLICATE_IGNORE_DB -REPLICATE_IGNORE_TABLE -REPLICATE_REWRITE_DB -REPLICATE_WILD_DO_TABLE -REPLICATE_WILD_IGNORE_TABLE -REPLICATION -RESET -RESUME -RETURNS -ROLLBACK -ROLLUP -ROTATE -ROW -ROWS -ROW_FORMAT -SAVEPOINT -SCHEDULE -SECURITY -SERVER -SESSION -SHARE -SHARED -SIGNED -SIMPLE -SLAVE -SLOW -SNAPSHOT -SOCKET -SOME -SONAME -SOUNDS -SOURCE -SQL_AFTER_GTIDS -SQL_AFTER_MTS_GAPS -SQL_BEFORE_GTIDS -SQL_BUFFER_RESULT -SQL_CACHE -SQL_NO_CACHE -SQL_THREAD -START -STARTS -STATS_AUTO_RECALC -STATS_PERSISTENT -STATS_SAMPLE_PAGES -STATUS -STOP -STORAGE -STORED -STRING -SUBJECT -SUBPARTITION -SUBPARTITIONS -SUSPEND -SWAPS -SWITCHES -TABLESPACE -TEMPORARY -TEMPTABLE -THAN -TRADITIONAL -TRANSACTION -TRIGGERS -TRUNCATE -UNDEFINED -UNDOFILE -UNDO_BUFFER_SIZE -UNINSTALL -UNKNOWN -UNTIL -UPGRADE -USER -USE_FRM -USER_RESOURCES -VALIDATION -VALUE -VARIABLES -VIEW -VIRTUAL -WAIT -WARNINGS -WITHOUT -WORK -WRAPPER -X509 -XA -XML -EUR -USA -JIS -ISO -INTERNAL -QUARTER -MONTH -DAY -HOUR -MINUTE -WEEK -SECOND -MICROSECOND -TABLES -ROUTINE -EXECUTE -FILE -PROCESS -RELOAD -SHUTDOWN -SUPER -PRIVILEGES -ARMSCII8 -ASCII -BIG5 -CP1250 -CP1251 -CP1256 -CP1257 -CP850 -CP852 -CP866 -CP932 -DEC8 -EUCJPMS -EUCKR -GB2312 -GBK -GEOSTD8 -GREEK -HEBREW -HP8 -KEYBCS2 -KOI8R -KOI8U -LATIN1 -LATIN2 -LATIN5 -LATIN7 -MACCE -MACROMAN -SJIS -SWE7 -TIS620 -UCS2 -UJIS -UTF16 -UTF16LE -UTF32 -UTF8 -UTF8MB3 -UTF8MB4 -ARCHIVE -BLACKHOLE -CSV -FEDERATED -INNODB -MEMORY -MRG_MYISAM -MYISAM -NDB -NDBCLUSTER -PERFOMANCE_SCHEMA -REPEATABLE -COMMITTED -UNCOMMITTED -SERIALIZABLE -GEOMETRYCOLLECTION -LINESTRING -MULTILINESTRING -MULTIPOINT -MULTIPOLYGON -POINT -POLYGON -ABS -ACOS -ADDDATE -ADDTIME -AES_DECRYPT -AES_ENCRYPT -AREA -ASBINARY -ASIN -ASTEXT -ASWKB -ASWKT -ASYMMETRIC_DECRYPT -ASYMMETRIC_DERIVE -ASYMMETRIC_ENCRYPT -ASYMMETRIC_SIGN -ASYMMETRIC_VERIFY -ATAN -ATAN2 -BENCHMARK -BIN -BIT_COUNT -BIT_LENGTH -BUFFER -CEIL -CEILING -CENTROID -CHARACTER_LENGTH -CHARSET -CHAR_LENGTH -COERCIBILITY -COLLATION -COMPRESS -CONCAT -CONCAT_WS -CONNECTION_ID -CONV -CONVERT_TZ -COS -COT -CRC32 -CREATE_ASYMMETRIC_PRIV_KEY -CREATE_ASYMMETRIC_PUB_KEY -CREATE_DH_PARAMETERS -CREATE_DIGEST -CROSSES -DATEDIFF -DATE_FORMAT -DAYNAME -DAYOFMONTH -DAYOFWEEK -DAYOFYEAR -DECODE -DEGREES -DES_DECRYPT -DES_ENCRYPT -DIMENSION -DISJOINT -ELT -ENCODE -ENCRYPT -ENDPOINT -ENVELOPE -EQUALS -EXP -EXPORT_SET -EXTERIORRING -EXTRACTVALUE -FIELD -FIND_IN_SET -FLOOR -FORMAT -FOUND_ROWS -FROM_BASE64 -FROM_DAYS -FROM_UNIXTIME -GEOMCOLLFROMTEXT -GEOMCOLLFROMWKB -GEOMETRYCOLLECTIONFROMTEXT -GEOMETRYCOLLECTIONFROMWKB -GEOMETRYFROMTEXT -GEOMETRYFROMWKB -GEOMETRYN -GEOMETRYTYPE -GEOMFROMTEXT -GEOMFROMWKB -GET_FORMAT -GET_LOCK -GLENGTH -GREATEST -GTID_SUBSET -GTID_SUBTRACT -HEX -IFNULL -INET6_ATON -INET6_NTOA -INET_ATON -INET_NTOA -INSTR -INTERIORRINGN -INTERSECTS -ISCLOSED -ISEMPTY -ISNULL -ISSIMPLE -IS_FREE_LOCK -IS_IPV4 -IS_IPV4_COMPAT -IS_IPV4_MAPPED -IS_IPV6 -IS_USED_LOCK -LAST_INSERT_ID -LCASE -LEAST -LENGTH -LINEFROMTEXT -LINEFROMWKB -LINESTRINGFROMTEXT -LINESTRINGFROMWKB -LN -LOAD_FILE -LOCATE -LOG -LOG10 -LOG2 -LOWER -LPAD -LTRIM -MAKEDATE -MAKETIME -MAKE_SET -MASTER_POS_WAIT -MBRCONTAINS -MBRDISJOINT -MBREQUAL -MBRINTERSECTS -MBROVERLAPS -MBRTOUCHES -MBRWITHIN -MD5 -MLINEFROMTEXT -MLINEFROMWKB -MONTHNAME -MPOINTFROMTEXT -MPOINTFROMWKB -MPOLYFROMTEXT -MPOLYFROMWKB -MULTILINESTRINGFROMTEXT -MULTILINESTRINGFROMWKB -MULTIPOINTFROMTEXT -MULTIPOINTFROMWKB -MULTIPOLYGONFROMTEXT -MULTIPOLYGONFROMWKB -NAME_CONST -NULLIF -NUMGEOMETRIES -NUMINTERIORRINGS -NUMPOINTS -OCT -OCTET_LENGTH -ORD -OVERLAPS -PERIOD_ADD -PERIOD_DIFF -PI -POINTFROMTEXT -POINTFROMWKB -POINTN -POLYFROMTEXT -POLYFROMWKB -POLYGONFROMTEXT -POLYGONFROMWKB -POW -POWER -QUOTE -RADIANS -RAND -RANDOM_BYTES -RELEASE_LOCK -REVERSE -ROUND -ROW_COUNT -RPAD -RTRIM -SEC_TO_TIME -SESSION_USER -SHA -SHA1 -SHA2 -SIGN -SIN -SLEEP -SOUNDEX -SQL_THREAD_WAIT_AFTER_GTIDS -SQRT -SRID -STARTPOINT -STRCMP -STR_TO_DATE -ST_AREA -ST_ASBINARY -ST_ASTEXT -ST_ASWKB -ST_ASWKT -ST_BUFFER -ST_CENTROID -ST_CONTAINS -ST_CROSSES -ST_DIFFERENCE -ST_DIMENSION -ST_DISJOINT -ST_DISTANCE -ST_ENDPOINT -ST_ENVELOPE -ST_EQUALS -ST_EXTERIORRING -ST_GEOMCOLLFROMTEXT -ST_GEOMCOLLFROMTXT -ST_GEOMCOLLFROMWKB -ST_GEOMETRYCOLLECTIONFROMTEXT -ST_GEOMETRYCOLLECTIONFROMWKB -ST_GEOMETRYFROMTEXT -ST_GEOMETRYFROMWKB -ST_GEOMETRYN -ST_GEOMETRYTYPE -ST_GEOMFROMTEXT -ST_GEOMFROMWKB -ST_INTERIORRINGN -ST_INTERSECTION -ST_INTERSECTS -ST_ISCLOSED -ST_ISEMPTY -ST_ISSIMPLE -ST_LINEFROMTEXT -ST_LINEFROMWKB -ST_LINESTRINGFROMTEXT -ST_LINESTRINGFROMWKB -ST_NUMGEOMETRIES -ST_NUMINTERIORRING -ST_NUMINTERIORRINGS -ST_NUMPOINTS -ST_OVERLAPS -ST_POINTFROMTEXT -ST_POINTFROMWKB -ST_POINTN -ST_POLYFROMTEXT -ST_POLYFROMWKB -ST_POLYGONFROMTEXT -ST_POLYGONFROMWKB -ST_SRID -ST_STARTPOINT -ST_SYMDIFFERENCE -ST_TOUCHES -ST_UNION -ST_WITHIN -ST_X -ST_Y -SUBDATE -SUBSTRING_INDEX -SUBTIME -SYSTEM_USER -TAN -TIMEDIFF -TIMESTAMPADD -TIMESTAMPDIFF -TIME_FORMAT -TIME_TO_SEC -TOUCHES -TO_BASE64 -TO_DAYS -TO_SECONDS -UCASE -UNCOMPRESS -UNCOMPRESSED_LENGTH -UNHEX -UNIX_TIMESTAMP -UPDATEXML -UPPER -UUID -UUID_SHORT -VALIDATE_PASSWORD_STRENGTH -VERSION -WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS -WEEKDAY -WEEKOFYEAR -WEIGHT_STRING -WITHIN -YEARWEEK -Y_FUNCTION -X_FUNCTION -VAR_ASSIGN -PLUS_ASSIGN -MINUS_ASSIGN -MULT_ASSIGN -DIV_ASSIGN -MOD_ASSIGN -AND_ASSIGN -XOR_ASSIGN -OR_ASSIGN -STAR -DIVIDE -MODULE -PLUS -MINUSMINUS -MINUS -DIV -MOD -EQUAL_SYMBOL -GREATER_SYMBOL -LESS_SYMBOL -EXCLAMATION_SYMBOL -BIT_NOT_OP -BIT_OR_OP -BIT_AND_OP -BIT_XOR_OP -DOT -LR_BRACKET -RR_BRACKET -COMMA -SEMI -AT_SIGN -ZERO_DECIMAL -ONE_DECIMAL -TWO_DECIMAL -SINGLE_QUOTE_SYMB -DOUBLE_QUOTE_SYMB -REVERSE_QUOTE_SYMB -COLON_SYMB -CHARSET_REVERSE_QOUTE_STRING -FILESIZE_LITERAL -START_NATIONAL_STRING_LITERAL -STRING_LITERAL -DECIMAL_LITERAL -HEXADECIMAL_LITERAL -REAL_LITERAL -NULL_SPEC_LITERAL -BIT_STRING -STRING_CHARSET_NAME -DOT_ID -ID -REVERSE_QUOTE_ID -STRING_USER_NAME -LOCAL_ID -GLOBAL_ID -ERROR_RECONGNIGION - -rule names: -root -sqlStatements -sqlStatement -emptyStatement -ddlStatement -dmlStatement -transactionStatement -replicationStatement -preparedStatement -compoundStatement -administrationStatement -utilityStatement -createDatabase -createEvent -createIndex -createLogfileGroup -createProcedure -createFunction -createServer -createTable -createTablespaceInnodb -createTablespaceNdb -createTrigger -createView -createDatabaseOption -ownerStatement -scheduleExpression -timestampValue -intervalExpr -intervalType -enableType -indexType -indexOption -procedureParameter -functionParameter -routineOption -serverOption -createDefinitions -createDefinition -columnDefinition -columnConstraint -tableConstraint -referenceDefinition -referenceAction -referenceControlType -indexColumnDefinition -tableOption -tablespaceStorage -partitionDefinitions -partitionFunctionDefinition -subpartitionFunctionDefinition -partitionDefinition -partitionDefinerAtom -partitionDefinerVector -subpartitionDefinition -partitionOption -alterDatabase -alterEvent -alterFunction -alterInstance -alterLogfileGroup -alterProcedure -alterServer -alterTable -alterTablespace -alterView -alterSpecification -dropDatabase -dropEvent -dropIndex -dropLogfileGroup -dropProcedure -dropFunction -dropServer -dropTable -dropTablespace -dropTrigger -dropView -renameTable -renameTableClause -truncateTable -callStatement -deleteStatement -doStatement -handlerStatement -insertStatement -loadDataStatement -loadXmlStatement -replaceStatement -selectStatement -updateStatement -insertStatementValue -updatedElement -assignmentField -lockClause -singleDeleteStatement -multipleDeleteStatement -handlerOpenStatement -handlerReadIndexStatement -handlerReadStatement -handlerCloseStatement -singleUpdateStatement -multipleUpdateStatement -orderByClause -orderByExpression -tableSources -tableSource -tableSourceItem -indexHint -indexHintType -joinPart -queryExpression -queryExpressionNointo -querySpecification -querySpecificationNointo -unionParenthesis -unionStatement -selectSpec -selectElements -selectElement -errorTolerenceExpression -confLevelExpression -selectIntoExpression -selectFieldsInto -selectLinesInto -fromClause -groupByItem -limitClause -startTransaction -beginWork -commitWork -rollbackWork -savepointStatement -rollbackStatement -releaseStatement -lockTables -unlockTables -setAutocommitStatement -setTransactionStatement -transactionMode -lockTableElement -lockAction -transactionOption -transactionLevel -changeMaster -changeReplicationFilter -purgeBinaryLogs -resetMaster -resetSlave -startSlave -stopSlave -startGroupReplication -stopGroupReplication -masterOption -stringMasterOption -decimalMasterOption -boolMasterOption -channelOption -replicationFilter -tablePair -threadType -untilOption -connectionOption -gtuidSet -xaStartTransaction -xaEndTransaction -xaPrepareStatement -xaCommitWork -xaRollbackWork -xaRecoverWork -prepareStatement -executeStatement -deallocatePrepare -routineBody -blockStatement -caseStatement -ifStatement -iterateStatement -leaveStatement -loopStatement -repeatStatement -returnStatement -whileStatement -cursorStatement -declareVariable -declareCondition -declareCursor -declareHandler -handlerConditionValue -procedureSqlStatement -caseAlternative -elifAlternative -alterUser -createUser -dropUser -grantStatement -grantProxy -renameUser -revokeStatement -revokeProxy -setPasswordStatement -userSpecification -userAuthOption -tlsOption -userResourceOption -userPasswordOption -userLockOption -privelegeClause -privilege -privilegeLevel -renameUserClause -analyzeTable -checkTable -checksumTable -optimizeTable -repairTable -checkTableOption -createUdfunction -installPlugin -uninstallPlugin -setStatement -showStatement -variableClause -showCommonEntity -showFilter -showGlobalInfoClause -showSchemaEntity -showProfileType -binlogStatement -cacheIndexStatement -flushStatement -killStatement -loadIndexIntoCache -resetStatement -shutdownStatement -tableIndexes -flushOption -flushTableOption -loadedTableIndexes -simpleDescribeStatement -fullDescribeStatement -helpStatement -useStatement -describeObjectClause -fullId -tableName -fullColumnName -indexColumnName -userName -mysqlVariable -charsetName -collationName -engineName -uuidSet -xid -xuidStringId -authPlugin -uid -simpleId -dottedId -decimalLiteral -fileSizeLiteral -stringLiteral -booleanLiteral -hexadecimalLiteral -nullNotnull -constant -dataType -convertedDataType -lengthOneDimension -lengthTwoDimension -lengthTwoOptionalDimension -uidList -tables -indexColumnNames -expressions -expressionsWithDefaults -constants -simpleStrings -userVariables -defaultValue -currentTimestamp -expressionOrDefault -ifExists -ifNotExists -functionCall -specificFunction -caseFuncAlternative -levelsInWeightString -levelInWeightListElement -aggregateWindowedFunction -scalarFunctionName -passwordFunctionClause -functionArgs -functionArg -expression -predicate -expressionAtom -unaryOperator -comparisonOperator -logicalOperator -bitOperator -mathOperator -charsetNameBase -transactionLevelBase -privilegesBase -intervalTypeBase -dataTypeBase -keywordsCanBeId -functionNameBase - - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 983, 6096, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 4, 55, 9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 4, 58, 9, 58, 4, 59, 9, 59, 4, 60, 9, 60, 4, 61, 9, 61, 4, 62, 9, 62, 4, 63, 9, 63, 4, 64, 9, 64, 4, 65, 9, 65, 4, 66, 9, 66, 4, 67, 9, 67, 4, 68, 9, 68, 4, 69, 9, 69, 4, 70, 9, 70, 4, 71, 9, 71, 4, 72, 9, 72, 4, 73, 9, 73, 4, 74, 9, 74, 4, 75, 9, 75, 4, 76, 9, 76, 4, 77, 9, 77, 4, 78, 9, 78, 4, 79, 9, 79, 4, 80, 9, 80, 4, 81, 9, 81, 4, 82, 9, 82, 4, 83, 9, 83, 4, 84, 9, 84, 4, 85, 9, 85, 4, 86, 9, 86, 4, 87, 9, 87, 4, 88, 9, 88, 4, 89, 9, 89, 4, 90, 9, 90, 4, 91, 9, 91, 4, 92, 9, 92, 4, 93, 9, 93, 4, 94, 9, 94, 4, 95, 9, 95, 4, 96, 9, 96, 4, 97, 9, 97, 4, 98, 9, 98, 4, 99, 9, 99, 4, 100, 9, 100, 4, 101, 9, 101, 4, 102, 9, 102, 4, 103, 9, 103, 4, 104, 9, 104, 4, 105, 9, 105, 4, 106, 9, 106, 4, 107, 9, 107, 4, 108, 9, 108, 4, 109, 9, 109, 4, 110, 9, 110, 4, 111, 9, 111, 4, 112, 9, 112, 4, 113, 9, 113, 4, 114, 9, 114, 4, 115, 9, 115, 4, 116, 9, 116, 4, 117, 9, 117, 4, 118, 9, 118, 4, 119, 9, 119, 4, 120, 9, 120, 4, 121, 9, 121, 4, 122, 9, 122, 4, 123, 9, 123, 4, 124, 9, 124, 4, 125, 9, 125, 4, 126, 9, 126, 4, 127, 9, 127, 4, 128, 9, 128, 4, 129, 9, 129, 4, 130, 9, 130, 4, 131, 9, 131, 4, 132, 9, 132, 4, 133, 9, 133, 4, 134, 9, 134, 4, 135, 9, 135, 4, 136, 9, 136, 4, 137, 9, 137, 4, 138, 9, 138, 4, 139, 9, 139, 4, 140, 9, 140, 4, 141, 9, 141, 4, 142, 9, 142, 4, 143, 9, 143, 4, 144, 9, 144, 4, 145, 9, 145, 4, 146, 9, 146, 4, 147, 9, 147, 4, 148, 9, 148, 4, 149, 9, 149, 4, 150, 9, 150, 4, 151, 9, 151, 4, 152, 9, 152, 4, 153, 9, 153, 4, 154, 9, 154, 4, 155, 9, 155, 4, 156, 9, 156, 4, 157, 9, 157, 4, 158, 9, 158, 4, 159, 9, 159, 4, 160, 9, 160, 4, 161, 9, 161, 4, 162, 9, 162, 4, 163, 9, 163, 4, 164, 9, 164, 4, 165, 9, 165, 4, 166, 9, 166, 4, 167, 9, 167, 4, 168, 9, 168, 4, 169, 9, 169, 4, 170, 9, 170, 4, 171, 9, 171, 4, 172, 9, 172, 4, 173, 9, 173, 4, 174, 9, 174, 4, 175, 9, 175, 4, 176, 9, 176, 4, 177, 9, 177, 4, 178, 9, 178, 4, 179, 9, 179, 4, 180, 9, 180, 4, 181, 9, 181, 4, 182, 9, 182, 4, 183, 9, 183, 4, 184, 9, 184, 4, 185, 9, 185, 4, 186, 9, 186, 4, 187, 9, 187, 4, 188, 9, 188, 4, 189, 9, 189, 4, 190, 9, 190, 4, 191, 9, 191, 4, 192, 9, 192, 4, 193, 9, 193, 4, 194, 9, 194, 4, 195, 9, 195, 4, 196, 9, 196, 4, 197, 9, 197, 4, 198, 9, 198, 4, 199, 9, 199, 4, 200, 9, 200, 4, 201, 9, 201, 4, 202, 9, 202, 4, 203, 9, 203, 4, 204, 9, 204, 4, 205, 9, 205, 4, 206, 9, 206, 4, 207, 9, 207, 4, 208, 9, 208, 4, 209, 9, 209, 4, 210, 9, 210, 4, 211, 9, 211, 4, 212, 9, 212, 4, 213, 9, 213, 4, 214, 9, 214, 4, 215, 9, 215, 4, 216, 9, 216, 4, 217, 9, 217, 4, 218, 9, 218, 4, 219, 9, 219, 4, 220, 9, 220, 4, 221, 9, 221, 4, 222, 9, 222, 4, 223, 9, 223, 4, 224, 9, 224, 4, 225, 9, 225, 4, 226, 9, 226, 4, 227, 9, 227, 4, 228, 9, 228, 4, 229, 9, 229, 4, 230, 9, 230, 4, 231, 9, 231, 4, 232, 9, 232, 4, 233, 9, 233, 4, 234, 9, 234, 4, 235, 9, 235, 4, 236, 9, 236, 4, 237, 9, 237, 4, 238, 9, 238, 4, 239, 9, 239, 4, 240, 9, 240, 4, 241, 9, 241, 4, 242, 9, 242, 4, 243, 9, 243, 4, 244, 9, 244, 4, 245, 9, 245, 4, 246, 9, 246, 4, 247, 9, 247, 4, 248, 9, 248, 4, 249, 9, 249, 4, 250, 9, 250, 4, 251, 9, 251, 4, 252, 9, 252, 4, 253, 9, 253, 4, 254, 9, 254, 4, 255, 9, 255, 4, 256, 9, 256, 4, 257, 9, 257, 4, 258, 9, 258, 4, 259, 9, 259, 4, 260, 9, 260, 4, 261, 9, 261, 4, 262, 9, 262, 4, 263, 9, 263, 4, 264, 9, 264, 4, 265, 9, 265, 4, 266, 9, 266, 4, 267, 9, 267, 4, 268, 9, 268, 4, 269, 9, 269, 4, 270, 9, 270, 4, 271, 9, 271, 4, 272, 9, 272, 4, 273, 9, 273, 4, 274, 9, 274, 4, 275, 9, 275, 4, 276, 9, 276, 4, 277, 9, 277, 4, 278, 9, 278, 4, 279, 9, 279, 4, 280, 9, 280, 4, 281, 9, 281, 4, 282, 9, 282, 4, 283, 9, 283, 4, 284, 9, 284, 4, 285, 9, 285, 4, 286, 9, 286, 4, 287, 9, 287, 4, 288, 9, 288, 4, 289, 9, 289, 4, 290, 9, 290, 4, 291, 9, 291, 4, 292, 9, 292, 4, 293, 9, 293, 4, 294, 9, 294, 4, 295, 9, 295, 4, 296, 9, 296, 4, 297, 9, 297, 4, 298, 9, 298, 4, 299, 9, 299, 4, 300, 9, 300, 4, 301, 9, 301, 4, 302, 9, 302, 4, 303, 9, 303, 4, 304, 9, 304, 4, 305, 9, 305, 4, 306, 9, 306, 4, 307, 9, 307, 4, 308, 9, 308, 4, 309, 9, 309, 4, 310, 9, 310, 4, 311, 9, 311, 3, 2, 5, 2, 624, 10, 2, 3, 2, 5, 2, 627, 10, 2, 3, 2, 3, 2, 3, 3, 3, 3, 5, 3, 633, 10, 3, 3, 3, 3, 3, 3, 3, 7, 3, 638, 10, 3, 12, 3, 14, 3, 641, 11, 3, 3, 3, 3, 3, 5, 3, 645, 10, 3, 3, 3, 5, 3, 648, 10, 3, 3, 3, 5, 3, 651, 10, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 660, 10, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 5, 6, 699, 10, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 5, 7, 711, 10, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 5, 8, 722, 10, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 5, 9, 739, 10, 9, 3, 10, 3, 10, 3, 10, 5, 10, 744, 10, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 5, 11, 756, 10, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 5, 12, 783, 10, 12, 3, 13, 3, 13, 3, 13, 3, 13, 5, 13, 789, 10, 13, 3, 14, 3, 14, 3, 14, 5, 14, 794, 10, 14, 3, 14, 3, 14, 7, 14, 798, 10, 14, 12, 14, 14, 14, 801, 11, 14, 3, 15, 3, 15, 5, 15, 805, 10, 15, 3, 15, 3, 15, 5, 15, 809, 10, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 5, 15, 818, 10, 15, 3, 15, 5, 15, 821, 10, 15, 3, 15, 5, 15, 824, 10, 15, 3, 15, 3, 15, 5, 15, 828, 10, 15, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 5, 16, 835, 10, 16, 3, 16, 5, 16, 838, 10, 16, 3, 16, 3, 16, 3, 16, 5, 16, 843, 10, 16, 3, 16, 3, 16, 3, 16, 3, 16, 7, 16, 849, 10, 16, 12, 16, 14, 16, 852, 11, 16, 3, 16, 3, 16, 5, 16, 856, 10, 16, 3, 16, 3, 16, 3, 16, 5, 16, 861, 10, 16, 3, 16, 5, 16, 864, 10, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 5, 17, 875, 10, 17, 3, 17, 5, 17, 878, 10, 17, 3, 17, 3, 17, 5, 17, 882, 10, 17, 3, 17, 5, 17, 885, 10, 17, 3, 17, 3, 17, 5, 17, 889, 10, 17, 3, 17, 5, 17, 892, 10, 17, 3, 17, 3, 17, 5, 17, 896, 10, 17, 3, 17, 5, 17, 899, 10, 17, 3, 17, 5, 17, 902, 10, 17, 3, 17, 3, 17, 5, 17, 906, 10, 17, 3, 17, 5, 17, 909, 10, 17, 3, 17, 3, 17, 5, 17, 913, 10, 17, 3, 17, 3, 17, 3, 18, 3, 18, 5, 18, 919, 10, 18, 3, 18, 3, 18, 3, 18, 3, 18, 5, 18, 925, 10, 18, 3, 18, 3, 18, 7, 18, 929, 10, 18, 12, 18, 14, 18, 932, 11, 18, 3, 18, 3, 18, 7, 18, 936, 10, 18, 12, 18, 14, 18, 939, 11, 18, 3, 18, 3, 18, 3, 19, 3, 19, 5, 19, 945, 10, 19, 3, 19, 3, 19, 3, 19, 3, 19, 5, 19, 951, 10, 19, 3, 19, 3, 19, 7, 19, 955, 10, 19, 12, 19, 14, 19, 958, 11, 19, 3, 19, 3, 19, 3, 19, 3, 19, 7, 19, 964, 10, 19, 12, 19, 14, 19, 967, 11, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 7, 20, 983, 10, 20, 12, 20, 14, 20, 986, 11, 20, 3, 20, 3, 20, 3, 21, 3, 21, 5, 21, 992, 10, 21, 3, 21, 3, 21, 5, 21, 996, 10, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 5, 21, 1006, 10, 21, 3, 21, 3, 21, 5, 21, 1010, 10, 21, 3, 21, 3, 21, 5, 21, 1014, 10, 21, 3, 21, 3, 21, 5, 21, 1018, 10, 21, 3, 21, 3, 21, 5, 21, 1022, 10, 21, 3, 21, 7, 21, 1025, 10, 21, 12, 21, 14, 21, 1028, 11, 21, 5, 21, 1030, 10, 21, 3, 21, 5, 21, 1033, 10, 21, 3, 21, 5, 21, 1036, 10, 21, 3, 21, 5, 21, 1039, 10, 21, 3, 21, 3, 21, 3, 21, 3, 21, 5, 21, 1045, 10, 21, 3, 21, 3, 21, 5, 21, 1049, 10, 21, 3, 21, 3, 21, 3, 21, 3, 21, 5, 21, 1055, 10, 21, 3, 21, 7, 21, 1058, 10, 21, 12, 21, 14, 21, 1061, 11, 21, 5, 21, 1063, 10, 21, 3, 21, 5, 21, 1066, 10, 21, 5, 21, 1068, 10, 21, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 5, 22, 1079, 10, 22, 3, 22, 3, 22, 5, 22, 1083, 10, 22, 3, 22, 5, 22, 1086, 10, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 1100, 10, 23, 3, 23, 5, 23, 1103, 10, 23, 3, 23, 3, 23, 5, 23, 1107, 10, 23, 3, 23, 5, 23, 1110, 10, 23, 3, 23, 3, 23, 5, 23, 1114, 10, 23, 3, 23, 5, 23, 1117, 10, 23, 3, 23, 3, 23, 5, 23, 1121, 10, 23, 3, 23, 5, 23, 1124, 10, 23, 3, 23, 3, 23, 5, 23, 1128, 10, 23, 3, 23, 5, 23, 1131, 10, 23, 3, 23, 5, 23, 1134, 10, 23, 3, 23, 3, 23, 5, 23, 1138, 10, 23, 3, 23, 5, 23, 1141, 10, 23, 3, 23, 3, 23, 5, 23, 1145, 10, 23, 3, 23, 3, 23, 3, 24, 3, 24, 5, 24, 1151, 10, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 5, 24, 1164, 10, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 5, 25, 1171, 10, 25, 3, 25, 3, 25, 3, 25, 5, 25, 1176, 10, 25, 3, 25, 5, 25, 1179, 10, 25, 3, 25, 3, 25, 3, 25, 5, 25, 1184, 10, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 5, 25, 1192, 10, 25, 3, 25, 3, 25, 3, 25, 3, 25, 5, 25, 1198, 10, 25, 3, 25, 3, 25, 5, 25, 1202, 10, 25, 3, 26, 5, 26, 1205, 10, 26, 3, 26, 3, 26, 3, 26, 5, 26, 1210, 10, 26, 3, 26, 5, 26, 1213, 10, 26, 3, 26, 3, 26, 5, 26, 1217, 10, 26, 3, 26, 3, 26, 5, 26, 1221, 10, 26, 3, 26, 5, 26, 1224, 10, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 5, 27, 1232, 10, 27, 5, 27, 1234, 10, 27, 3, 28, 3, 28, 3, 28, 7, 28, 1239, 10, 28, 12, 28, 14, 28, 1242, 11, 28, 3, 28, 3, 28, 3, 28, 5, 28, 1247, 10, 28, 3, 28, 3, 28, 3, 28, 3, 28, 7, 28, 1253, 10, 28, 12, 28, 14, 28, 1256, 11, 28, 5, 28, 1258, 10, 28, 3, 28, 3, 28, 3, 28, 7, 28, 1263, 10, 28, 12, 28, 14, 28, 1266, 11, 28, 5, 28, 1268, 10, 28, 5, 28, 1270, 10, 28, 3, 29, 3, 29, 3, 29, 3, 29, 5, 29, 1276, 10, 29, 3, 30, 3, 30, 3, 30, 3, 30, 5, 30, 1282, 10, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 5, 31, 1299, 10, 31, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 5, 32, 1306, 10, 32, 3, 33, 3, 33, 3, 33, 3, 34, 3, 34, 5, 34, 1313, 10, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 5, 34, 1322, 10, 34, 3, 35, 3, 35, 3, 35, 3, 35, 3, 36, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 5, 37, 1336, 10, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 5, 37, 1349, 10, 37, 3, 37, 3, 37, 3, 37, 5, 37, 1354, 10, 37, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 5, 38, 1370, 10, 38, 3, 39, 3, 39, 3, 39, 3, 39, 7, 39, 1376, 10, 39, 12, 39, 14, 39, 1379, 11, 39, 3, 39, 3, 39, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 5, 40, 1388, 10, 40, 3, 41, 3, 41, 7, 41, 1392, 10, 41, 12, 41, 14, 41, 1395, 11, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 5, 42, 1402, 10, 42, 3, 42, 3, 42, 3, 42, 5, 42, 1407, 10, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 5, 42, 1418, 10, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 5, 42, 1425, 10, 42, 3, 42, 3, 42, 3, 42, 5, 42, 1430, 10, 42, 3, 43, 3, 43, 5, 43, 1434, 10, 43, 5, 43, 1436, 10, 43, 3, 43, 3, 43, 3, 43, 5, 43, 1441, 10, 43, 3, 43, 3, 43, 7, 43, 1445, 10, 43, 12, 43, 14, 43, 1448, 11, 43, 3, 43, 3, 43, 5, 43, 1452, 10, 43, 5, 43, 1454, 10, 43, 3, 43, 3, 43, 5, 43, 1458, 10, 43, 3, 43, 5, 43, 1461, 10, 43, 3, 43, 5, 43, 1464, 10, 43, 3, 43, 3, 43, 7, 43, 1468, 10, 43, 12, 43, 14, 43, 1471, 11, 43, 3, 43, 3, 43, 5, 43, 1475, 10, 43, 5, 43, 1477, 10, 43, 3, 43, 3, 43, 3, 43, 5, 43, 1482, 10, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 5, 43, 1489, 10, 43, 5, 43, 1491, 10, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 5, 43, 1498, 10, 43, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 5, 44, 1505, 10, 44, 3, 44, 5, 44, 1508, 10, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 5, 45, 1516, 10, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 5, 45, 1524, 10, 45, 5, 45, 1526, 10, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 5, 46, 1534, 10, 46, 3, 47, 3, 47, 5, 47, 1538, 10, 47, 3, 47, 5, 47, 1541, 10, 47, 3, 47, 3, 47, 7, 47, 1545, 10, 47, 12, 47, 14, 47, 1548, 11, 47, 3, 47, 3, 47, 5, 47, 1552, 10, 47, 3, 47, 5, 47, 1555, 10, 47, 3, 47, 3, 47, 7, 47, 1559, 10, 47, 12, 47, 14, 47, 1562, 11, 47, 5, 47, 1564, 10, 47, 3, 48, 3, 48, 5, 48, 1568, 10, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1573, 10, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1578, 10, 48, 3, 48, 3, 48, 5, 48, 1582, 10, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1587, 10, 48, 3, 48, 5, 48, 1590, 10, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1595, 10, 48, 3, 48, 3, 48, 5, 48, 1599, 10, 48, 3, 48, 3, 48, 5, 48, 1603, 10, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1608, 10, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1613, 10, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1618, 10, 48, 3, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1624, 10, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1629, 10, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1634, 10, 48, 3, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1640, 10, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1645, 10, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1650, 10, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1655, 10, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1660, 10, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1665, 10, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1670, 10, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1675, 10, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1680, 10, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1685, 10, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1690, 10, 48, 3, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1696, 10, 48, 3, 48, 3, 48, 5, 48, 1700, 10, 48, 3, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1706, 10, 48, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 5, 50, 1716, 10, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 5, 50, 1723, 10, 50, 5, 50, 1725, 10, 50, 3, 50, 3, 50, 3, 50, 3, 50, 7, 50, 1731, 10, 50, 12, 50, 14, 50, 1734, 11, 50, 3, 50, 3, 50, 5, 50, 1738, 10, 50, 3, 51, 5, 51, 1741, 10, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 5, 51, 1749, 10, 51, 3, 51, 3, 51, 3, 51, 3, 51, 5, 51, 1755, 10, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 5, 51, 1771, 10, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 5, 51, 1783, 10, 51, 5, 51, 1785, 10, 51, 3, 52, 5, 52, 1788, 10, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 5, 52, 1796, 10, 52, 3, 52, 3, 52, 3, 52, 3, 52, 5, 52, 1802, 10, 52, 3, 52, 3, 52, 3, 52, 3, 52, 5, 52, 1808, 10, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 7, 53, 1819, 10, 53, 12, 53, 14, 53, 1822, 11, 53, 3, 53, 3, 53, 7, 53, 1826, 10, 53, 12, 53, 14, 53, 1829, 11, 53, 3, 53, 3, 53, 3, 53, 7, 53, 1834, 10, 53, 12, 53, 14, 53, 1837, 11, 53, 5, 53, 1839, 10, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 7, 53, 1849, 10, 53, 12, 53, 14, 53, 1852, 11, 53, 3, 53, 3, 53, 7, 53, 1856, 10, 53, 12, 53, 14, 53, 1859, 11, 53, 3, 53, 3, 53, 3, 53, 7, 53, 1864, 10, 53, 12, 53, 14, 53, 1867, 11, 53, 5, 53, 1869, 10, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 7, 53, 1879, 10, 53, 12, 53, 14, 53, 1882, 11, 53, 3, 53, 3, 53, 7, 53, 1886, 10, 53, 12, 53, 14, 53, 1889, 11, 53, 3, 53, 3, 53, 3, 53, 7, 53, 1894, 10, 53, 12, 53, 14, 53, 1897, 11, 53, 5, 53, 1899, 10, 53, 3, 53, 3, 53, 3, 53, 7, 53, 1904, 10, 53, 12, 53, 14, 53, 1907, 11, 53, 3, 53, 3, 53, 3, 53, 7, 53, 1912, 10, 53, 12, 53, 14, 53, 1915, 11, 53, 5, 53, 1917, 10, 53, 5, 53, 1919, 10, 53, 3, 54, 3, 54, 3, 54, 5, 54, 1924, 10, 54, 3, 55, 3, 55, 3, 55, 3, 55, 6, 55, 1930, 10, 55, 13, 55, 14, 55, 1931, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 7, 56, 1939, 10, 56, 12, 56, 14, 56, 1942, 11, 56, 3, 57, 5, 57, 1945, 10, 57, 3, 57, 3, 57, 5, 57, 1949, 10, 57, 3, 57, 3, 57, 3, 57, 5, 57, 1954, 10, 57, 3, 57, 3, 57, 3, 57, 3, 57, 5, 57, 1960, 10, 57, 3, 57, 3, 57, 3, 57, 3, 57, 5, 57, 1966, 10, 57, 3, 57, 3, 57, 3, 57, 5, 57, 1971, 10, 57, 3, 57, 3, 57, 3, 57, 5, 57, 1976, 10, 57, 3, 57, 3, 57, 3, 57, 5, 57, 1981, 10, 57, 3, 57, 3, 57, 3, 57, 5, 57, 1986, 10, 57, 3, 57, 5, 57, 1989, 10, 57, 3, 58, 3, 58, 3, 58, 5, 58, 1994, 10, 58, 3, 58, 6, 58, 1997, 10, 58, 13, 58, 14, 58, 1998, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 5, 58, 2009, 10, 58, 3, 59, 3, 59, 5, 59, 2013, 10, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 5, 59, 2020, 10, 59, 3, 59, 3, 59, 3, 59, 5, 59, 2025, 10, 59, 3, 59, 5, 59, 2028, 10, 59, 3, 59, 3, 59, 3, 59, 5, 59, 2033, 10, 59, 3, 59, 5, 59, 2036, 10, 59, 3, 59, 3, 59, 5, 59, 2040, 10, 59, 3, 59, 3, 59, 5, 59, 2044, 10, 59, 3, 60, 3, 60, 3, 60, 3, 60, 7, 60, 2050, 10, 60, 12, 60, 14, 60, 2053, 11, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 5, 62, 2071, 10, 62, 3, 62, 5, 62, 2074, 10, 62, 3, 62, 5, 62, 2077, 10, 62, 3, 62, 3, 62, 5, 62, 2081, 10, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 7, 63, 2089, 10, 63, 12, 63, 14, 63, 2092, 11, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 7, 64, 2102, 10, 64, 12, 64, 14, 64, 2105, 11, 64, 3, 64, 3, 64, 3, 65, 3, 65, 5, 65, 2111, 10, 65, 3, 65, 5, 65, 2114, 10, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 7, 65, 2121, 10, 65, 12, 65, 14, 65, 2124, 11, 65, 3, 65, 5, 65, 2127, 10, 65, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 5, 66, 2138, 10, 66, 3, 66, 5, 66, 2141, 10, 66, 3, 66, 3, 66, 5, 66, 2145, 10, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 5, 67, 2153, 10, 67, 3, 67, 5, 67, 2156, 10, 67, 3, 67, 3, 67, 3, 67, 5, 67, 2161, 10, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 5, 67, 2169, 10, 67, 3, 67, 3, 67, 3, 67, 3, 67, 5, 67, 2175, 10, 67, 3, 67, 3, 67, 5, 67, 2179, 10, 67, 3, 68, 3, 68, 5, 68, 2183, 10, 68, 3, 68, 7, 68, 2186, 10, 68, 12, 68, 14, 68, 2189, 11, 68, 3, 68, 3, 68, 5, 68, 2193, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2200, 10, 68, 3, 68, 3, 68, 5, 68, 2204, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 7, 68, 2213, 10, 68, 12, 68, 14, 68, 2216, 11, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2223, 10, 68, 3, 68, 5, 68, 2226, 10, 68, 3, 68, 3, 68, 7, 68, 2230, 10, 68, 12, 68, 14, 68, 2233, 11, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2238, 10, 68, 5, 68, 2240, 10, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2245, 10, 68, 3, 68, 3, 68, 7, 68, 2249, 10, 68, 12, 68, 14, 68, 2252, 11, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2257, 10, 68, 5, 68, 2259, 10, 68, 3, 68, 3, 68, 5, 68, 2263, 10, 68, 3, 68, 5, 68, 2266, 10, 68, 3, 68, 5, 68, 2269, 10, 68, 3, 68, 3, 68, 7, 68, 2273, 10, 68, 12, 68, 14, 68, 2276, 11, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2281, 10, 68, 3, 68, 5, 68, 2284, 10, 68, 3, 68, 3, 68, 7, 68, 2288, 10, 68, 12, 68, 14, 68, 2291, 11, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2296, 10, 68, 5, 68, 2298, 10, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2303, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2311, 10, 68, 5, 68, 2313, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2322, 10, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2327, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2335, 10, 68, 3, 68, 3, 68, 5, 68, 2339, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2347, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2357, 10, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2362, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2369, 10, 68, 3, 68, 3, 68, 5, 68, 2373, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2392, 10, 68, 3, 68, 3, 68, 5, 68, 2396, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2408, 10, 68, 3, 68, 5, 68, 2411, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2420, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 7, 68, 2435, 10, 68, 12, 68, 14, 68, 2438, 11, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2449, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2456, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2463, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 7, 68, 2476, 10, 68, 12, 68, 14, 68, 2479, 11, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2491, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2497, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2503, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2509, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2515, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2521, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2527, 10, 68, 3, 69, 3, 69, 3, 69, 5, 69, 2532, 10, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 5, 70, 2539, 10, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 5, 71, 2546, 10, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 5, 71, 2553, 10, 71, 3, 71, 5, 71, 2556, 10, 71, 3, 71, 3, 71, 5, 71, 2560, 10, 71, 3, 71, 5, 71, 2563, 10, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 5, 73, 2576, 10, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 74, 5, 74, 2583, 10, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3, 75, 5, 75, 2590, 10, 75, 3, 75, 3, 75, 3, 76, 3, 76, 5, 76, 2596, 10, 76, 3, 76, 3, 76, 5, 76, 2600, 10, 76, 3, 76, 3, 76, 5, 76, 2604, 10, 76, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 5, 77, 2611, 10, 77, 3, 77, 5, 77, 2614, 10, 77, 3, 78, 3, 78, 3, 78, 5, 78, 2619, 10, 78, 3, 78, 3, 78, 3, 79, 3, 79, 3, 79, 5, 79, 2626, 10, 79, 3, 79, 3, 79, 3, 79, 7, 79, 2631, 10, 79, 12, 79, 14, 79, 2634, 11, 79, 3, 79, 5, 79, 2637, 10, 79, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 7, 80, 2644, 10, 80, 12, 80, 14, 80, 2647, 11, 80, 3, 81, 3, 81, 3, 81, 3, 81, 3, 82, 3, 82, 5, 82, 2655, 10, 82, 3, 82, 3, 82, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 5, 83, 2664, 10, 83, 3, 83, 5, 83, 2667, 10, 83, 3, 84, 3, 84, 5, 84, 2671, 10, 84, 3, 85, 3, 85, 3, 85, 3, 86, 3, 86, 3, 86, 3, 86, 5, 86, 2680, 10, 86, 3, 87, 3, 87, 5, 87, 2684, 10, 87, 3, 87, 5, 87, 2687, 10, 87, 3, 87, 5, 87, 2690, 10, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 5, 87, 2698, 10, 87, 3, 87, 3, 87, 3, 87, 3, 87, 5, 87, 2704, 10, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 7, 87, 2711, 10, 87, 12, 87, 14, 87, 2714, 11, 87, 5, 87, 2716, 10, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 7, 87, 2725, 10, 87, 12, 87, 14, 87, 2728, 11, 87, 5, 87, 2730, 10, 87, 3, 88, 3, 88, 3, 88, 5, 88, 2735, 10, 88, 3, 88, 5, 88, 2738, 10, 88, 3, 88, 3, 88, 3, 88, 5, 88, 2743, 10, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 5, 88, 2753, 10, 88, 3, 88, 3, 88, 3, 88, 5, 88, 2758, 10, 88, 3, 88, 3, 88, 6, 88, 2762, 10, 88, 13, 88, 14, 88, 2763, 5, 88, 2766, 10, 88, 3, 88, 3, 88, 6, 88, 2770, 10, 88, 13, 88, 14, 88, 2771, 5, 88, 2774, 10, 88, 3, 88, 3, 88, 3, 88, 3, 88, 5, 88, 2780, 10, 88, 3, 88, 3, 88, 3, 88, 3, 88, 7, 88, 2786, 10, 88, 12, 88, 14, 88, 2789, 11, 88, 3, 88, 3, 88, 5, 88, 2793, 10, 88, 3, 88, 3, 88, 3, 88, 3, 88, 7, 88, 2799, 10, 88, 12, 88, 14, 88, 2802, 11, 88, 5, 88, 2804, 10, 88, 3, 89, 3, 89, 3, 89, 5, 89, 2809, 10, 89, 3, 89, 5, 89, 2812, 10, 89, 3, 89, 3, 89, 3, 89, 5, 89, 2817, 10, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 5, 89, 2825, 10, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 5, 89, 2833, 10, 89, 3, 89, 3, 89, 3, 89, 3, 89, 5, 89, 2839, 10, 89, 3, 89, 3, 89, 3, 89, 3, 89, 7, 89, 2845, 10, 89, 12, 89, 14, 89, 2848, 11, 89, 3, 89, 3, 89, 5, 89, 2852, 10, 89, 3, 89, 3, 89, 3, 89, 3, 89, 7, 89, 2858, 10, 89, 12, 89, 14, 89, 2861, 11, 89, 5, 89, 2863, 10, 89, 3, 90, 3, 90, 5, 90, 2867, 10, 90, 3, 90, 5, 90, 2870, 10, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 5, 90, 2878, 10, 90, 3, 90, 3, 90, 3, 90, 3, 90, 5, 90, 2884, 10, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 7, 90, 2891, 10, 90, 12, 90, 14, 90, 2894, 11, 90, 5, 90, 2896, 10, 90, 3, 91, 3, 91, 5, 91, 2900, 10, 91, 3, 91, 3, 91, 5, 91, 2904, 10, 91, 3, 91, 3, 91, 6, 91, 2908, 10, 91, 13, 91, 14, 91, 2909, 3, 91, 3, 91, 5, 91, 2914, 10, 91, 3, 91, 3, 91, 5, 91, 2918, 10, 91, 5, 91, 2920, 10, 91, 3, 91, 5, 91, 2923, 10, 91, 3, 91, 5, 91, 2926, 10, 91, 3, 91, 5, 91, 2929, 10, 91, 3, 91, 3, 91, 6, 91, 2933, 10, 91, 13, 91, 14, 91, 2934, 3, 91, 3, 91, 5, 91, 2939, 10, 91, 3, 91, 5, 91, 2942, 10, 91, 3, 91, 5, 91, 2945, 10, 91, 3, 91, 5, 91, 2948, 10, 91, 3, 91, 5, 91, 2951, 10, 91, 5, 91, 2953, 10, 91, 3, 92, 3, 92, 5, 92, 2957, 10, 92, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 7, 93, 2969, 10, 93, 12, 93, 14, 93, 2972, 11, 93, 5, 93, 2974, 10, 93, 3, 94, 3, 94, 3, 94, 3, 94, 5, 94, 2980, 10, 94, 3, 95, 3, 95, 5, 95, 2984, 10, 95, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 5, 96, 2992, 10, 96, 3, 97, 3, 97, 5, 97, 2996, 10, 97, 3, 97, 5, 97, 2999, 10, 97, 3, 97, 5, 97, 3002, 10, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 5, 97, 3011, 10, 97, 3, 97, 3, 97, 5, 97, 3015, 10, 97, 3, 97, 5, 97, 3018, 10, 97, 3, 97, 3, 97, 5, 97, 3022, 10, 97, 3, 98, 3, 98, 5, 98, 3026, 10, 98, 3, 98, 5, 98, 3029, 10, 98, 3, 98, 5, 98, 3032, 10, 98, 3, 98, 3, 98, 3, 98, 5, 98, 3037, 10, 98, 3, 98, 3, 98, 3, 98, 3, 98, 5, 98, 3043, 10, 98, 7, 98, 3045, 10, 98, 12, 98, 14, 98, 3048, 11, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 5, 98, 3057, 10, 98, 3, 98, 3, 98, 3, 98, 3, 98, 5, 98, 3063, 10, 98, 7, 98, 3065, 10, 98, 12, 98, 14, 98, 3068, 11, 98, 3, 98, 3, 98, 3, 98, 5, 98, 3073, 10, 98, 3, 98, 3, 98, 5, 98, 3077, 10, 98, 3, 99, 3, 99, 3, 99, 3, 99, 5, 99, 3083, 10, 99, 3, 99, 5, 99, 3086, 10, 99, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 5, 100, 3098, 10, 100, 3, 100, 3, 100, 5, 100, 3102, 10, 100, 3, 100, 3, 100, 5, 100, 3106, 10, 100, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 5, 101, 3114, 10, 101, 3, 101, 3, 101, 5, 101, 3118, 10, 101, 3, 102, 3, 102, 3, 102, 3, 102, 3, 103, 3, 103, 5, 103, 3126, 10, 103, 3, 103, 5, 103, 3129, 10, 103, 3, 103, 3, 103, 5, 103, 3133, 10, 103, 3, 103, 5, 103, 3136, 10, 103, 3, 103, 3, 103, 3, 103, 3, 103, 7, 103, 3142, 10, 103, 12, 103, 14, 103, 3145, 11, 103, 3, 103, 3, 103, 5, 103, 3149, 10, 103, 3, 103, 5, 103, 3152, 10, 103, 3, 103, 5, 103, 3155, 10, 103, 3, 104, 3, 104, 5, 104, 3159, 10, 104, 3, 104, 5, 104, 3162, 10, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 7, 104, 3169, 10, 104, 12, 104, 14, 104, 3172, 11, 104, 3, 104, 3, 104, 5, 104, 3176, 10, 104, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 7, 105, 3183, 10, 105, 12, 105, 14, 105, 3186, 11, 105, 3, 106, 3, 106, 5, 106, 3190, 10, 106, 3, 107, 3, 107, 3, 107, 7, 107, 3195, 10, 107, 12, 107, 14, 107, 3198, 11, 107, 3, 108, 3, 108, 7, 108, 3202, 10, 108, 12, 108, 14, 108, 3205, 11, 108, 3, 108, 3, 108, 3, 108, 7, 108, 3210, 10, 108, 12, 108, 14, 108, 3213, 11, 108, 3, 108, 3, 108, 5, 108, 3217, 10, 108, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 5, 109, 3225, 10, 109, 3, 109, 5, 109, 3228, 10, 109, 3, 109, 5, 109, 3231, 10, 109, 3, 109, 3, 109, 3, 109, 7, 109, 3236, 10, 109, 12, 109, 14, 109, 3239, 11, 109, 5, 109, 3241, 10, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 5, 109, 3248, 10, 109, 3, 109, 5, 109, 3251, 10, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 5, 109, 3259, 10, 109, 3, 110, 3, 110, 3, 110, 3, 110, 5, 110, 3265, 10, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 5, 111, 3276, 10, 111, 3, 112, 5, 112, 3279, 10, 112, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 5, 112, 3290, 10, 112, 3, 112, 3, 112, 3, 112, 3, 112, 5, 112, 3296, 10, 112, 3, 112, 3, 112, 5, 112, 3300, 10, 112, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 5, 112, 3311, 10, 112, 3, 112, 3, 112, 3, 112, 5, 112, 3316, 10, 112, 5, 112, 3318, 10, 112, 3, 112, 3, 112, 5, 112, 3322, 10, 112, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 5, 113, 3332, 10, 113, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 5, 114, 3342, 10, 114, 3, 115, 3, 115, 7, 115, 3346, 10, 115, 12, 115, 14, 115, 3349, 11, 115, 3, 115, 3, 115, 5, 115, 3353, 10, 115, 3, 115, 5, 115, 3356, 10, 115, 3, 115, 5, 115, 3359, 10, 115, 3, 115, 5, 115, 3362, 10, 115, 3, 115, 3, 115, 7, 115, 3366, 10, 115, 12, 115, 14, 115, 3369, 11, 115, 3, 115, 3, 115, 5, 115, 3373, 10, 115, 3, 115, 5, 115, 3376, 10, 115, 3, 115, 5, 115, 3379, 10, 115, 3, 115, 5, 115, 3382, 10, 115, 3, 115, 3, 115, 7, 115, 3386, 10, 115, 12, 115, 14, 115, 3389, 11, 115, 3, 115, 3, 115, 5, 115, 3393, 10, 115, 3, 115, 5, 115, 3396, 10, 115, 3, 115, 5, 115, 3399, 10, 115, 5, 115, 3401, 10, 115, 3, 116, 3, 116, 7, 116, 3405, 10, 116, 12, 116, 14, 116, 3408, 11, 116, 3, 116, 3, 116, 5, 116, 3412, 10, 116, 3, 116, 5, 116, 3415, 10, 116, 3, 116, 5, 116, 3418, 10, 116, 3, 117, 3, 117, 5, 117, 3422, 10, 117, 3, 117, 3, 117, 3, 118, 3, 118, 5, 118, 3428, 10, 118, 3, 118, 3, 118, 5, 118, 3432, 10, 118, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 5, 119, 3442, 10, 119, 3, 120, 3, 120, 5, 120, 3446, 10, 120, 3, 120, 3, 120, 7, 120, 3450, 10, 120, 12, 120, 14, 120, 3453, 11, 120, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 5, 121, 3461, 10, 121, 3, 121, 5, 121, 3464, 10, 121, 3, 121, 3, 121, 5, 121, 3468, 10, 121, 3, 121, 5, 121, 3471, 10, 121, 3, 121, 3, 121, 5, 121, 3475, 10, 121, 3, 121, 3, 121, 5, 121, 3479, 10, 121, 3, 121, 5, 121, 3482, 10, 121, 5, 121, 3484, 10, 121, 3, 122, 3, 122, 3, 122, 3, 123, 3, 123, 3, 123, 3, 124, 3, 124, 3, 124, 3, 124, 7, 124, 3496, 10, 124, 12, 124, 14, 124, 3499, 11, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 5, 124, 3510, 10, 124, 3, 124, 3, 124, 6, 124, 3514, 10, 124, 13, 124, 14, 124, 3515, 5, 124, 3518, 10, 124, 3, 124, 3, 124, 6, 124, 3522, 10, 124, 13, 124, 14, 124, 3523, 5, 124, 3526, 10, 124, 5, 124, 3528, 10, 124, 3, 125, 3, 125, 3, 125, 3, 125, 5, 125, 3534, 10, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 5, 125, 3542, 10, 125, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 5, 126, 3550, 10, 126, 3, 127, 3, 127, 3, 127, 3, 127, 5, 127, 3556, 10, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 7, 127, 3563, 10, 127, 12, 127, 14, 127, 3566, 11, 127, 3, 127, 3, 127, 5, 127, 3570, 10, 127, 5, 127, 3572, 10, 127, 3, 127, 3, 127, 5, 127, 3576, 10, 127, 3, 128, 3, 128, 5, 128, 3580, 10, 128, 3, 129, 3, 129, 3, 129, 3, 129, 5, 129, 3586, 10, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 5, 129, 3593, 10, 129, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 7, 130, 3600, 10, 130, 12, 130, 14, 130, 3603, 11, 130, 5, 130, 3605, 10, 130, 3, 131, 3, 131, 5, 131, 3609, 10, 131, 3, 132, 3, 132, 5, 132, 3613, 10, 132, 3, 132, 3, 132, 5, 132, 3617, 10, 132, 3, 132, 5, 132, 3620, 10, 132, 3, 132, 5, 132, 3623, 10, 132, 3, 132, 5, 132, 3626, 10, 132, 3, 133, 3, 133, 5, 133, 3630, 10, 133, 3, 133, 3, 133, 5, 133, 3634, 10, 133, 3, 133, 5, 133, 3637, 10, 133, 3, 133, 5, 133, 3640, 10, 133, 3, 133, 5, 133, 3643, 10, 133, 3, 134, 3, 134, 3, 134, 3, 135, 3, 135, 5, 135, 3650, 10, 135, 3, 135, 3, 135, 5, 135, 3654, 10, 135, 3, 135, 3, 135, 3, 136, 3, 136, 3, 136, 3, 136, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 7, 137, 3667, 10, 137, 12, 137, 14, 137, 3670, 11, 137, 3, 138, 3, 138, 3, 138, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 140, 3, 140, 5, 140, 3682, 10, 140, 3, 140, 3, 140, 3, 140, 3, 140, 7, 140, 3688, 10, 140, 12, 140, 14, 140, 3691, 11, 140, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 5, 141, 3700, 10, 141, 3, 142, 3, 142, 5, 142, 3704, 10, 142, 3, 142, 5, 142, 3707, 10, 142, 3, 142, 3, 142, 3, 143, 3, 143, 5, 143, 3713, 10, 143, 3, 143, 5, 143, 3716, 10, 143, 3, 143, 5, 143, 3719, 10, 143, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 5, 144, 3728, 10, 144, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 5, 145, 3737, 10, 145, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 7, 146, 3745, 10, 146, 12, 146, 14, 146, 3748, 11, 146, 3, 146, 5, 146, 3751, 10, 146, 3, 147, 3, 147, 3, 147, 3, 147, 3, 147, 3, 147, 7, 147, 3759, 10, 147, 12, 147, 14, 147, 3762, 11, 147, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 5, 148, 3771, 10, 148, 3, 149, 3, 149, 3, 149, 3, 150, 3, 150, 3, 150, 5, 150, 3779, 10, 150, 3, 150, 5, 150, 3782, 10, 150, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 7, 151, 3789, 10, 151, 12, 151, 14, 151, 3792, 11, 151, 5, 151, 3794, 10, 151, 3, 151, 3, 151, 5, 151, 3798, 10, 151, 3, 151, 7, 151, 3801, 10, 151, 12, 151, 14, 151, 3804, 11, 151, 3, 151, 5, 151, 3807, 10, 151, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 7, 152, 3814, 10, 152, 12, 152, 14, 152, 3817, 11, 152, 5, 152, 3819, 10, 152, 3, 153, 3, 153, 3, 153, 3, 154, 3, 154, 3, 154, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 7, 155, 3848, 10, 155, 12, 155, 14, 155, 3851, 11, 155, 5, 155, 3853, 10, 155, 3, 155, 5, 155, 3856, 10, 155, 3, 156, 3, 156, 3, 157, 3, 157, 3, 158, 3, 158, 3, 159, 3, 159, 3, 159, 3, 159, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 7, 160, 3910, 10, 160, 12, 160, 14, 160, 3913, 11, 160, 3, 160, 3, 160, 5, 160, 3917, 10, 160, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 162, 3, 162, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 5, 163, 3945, 10, 163, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 5, 164, 3959, 10, 164, 3, 165, 3, 165, 3, 165, 7, 165, 3964, 10, 165, 12, 165, 14, 165, 3967, 11, 165, 3, 165, 5, 165, 3970, 10, 165, 3, 166, 3, 166, 3, 166, 3, 166, 5, 166, 3976, 10, 166, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 5, 167, 3984, 10, 167, 5, 167, 3986, 10, 167, 3, 168, 3, 168, 3, 168, 3, 168, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 5, 169, 3997, 10, 169, 3, 170, 3, 170, 3, 170, 3, 170, 3, 171, 3, 171, 3, 171, 3, 171, 5, 171, 4007, 10, 171, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172, 5, 172, 4014, 10, 172, 3, 173, 3, 173, 3, 173, 3, 173, 5, 173, 4020, 10, 173, 3, 174, 3, 174, 3, 174, 3, 174, 3, 175, 3, 175, 5, 175, 4028, 10, 175, 3, 176, 3, 176, 3, 176, 5, 176, 4033, 10, 176, 3, 176, 3, 176, 3, 176, 3, 176, 7, 176, 4039, 10, 176, 12, 176, 14, 176, 4042, 11, 176, 3, 176, 3, 176, 3, 176, 7, 176, 4047, 10, 176, 12, 176, 14, 176, 4050, 11, 176, 3, 176, 3, 176, 3, 176, 7, 176, 4055, 10, 176, 12, 176, 14, 176, 4058, 11, 176, 3, 176, 3, 176, 3, 176, 7, 176, 4063, 10, 176, 12, 176, 14, 176, 4066, 11, 176, 3, 176, 6, 176, 4069, 10, 176, 13, 176, 14, 176, 4070, 5, 176, 4073, 10, 176, 3, 176, 3, 176, 5, 176, 4077, 10, 176, 3, 177, 3, 177, 3, 177, 5, 177, 4082, 10, 177, 3, 177, 6, 177, 4085, 10, 177, 13, 177, 14, 177, 4086, 3, 177, 3, 177, 6, 177, 4091, 10, 177, 13, 177, 14, 177, 4092, 5, 177, 4095, 10, 177, 3, 177, 3, 177, 3, 177, 3, 178, 3, 178, 3, 178, 3, 178, 6, 178, 4104, 10, 178, 13, 178, 14, 178, 4105, 3, 178, 7, 178, 4109, 10, 178, 12, 178, 14, 178, 4112, 11, 178, 3, 178, 3, 178, 6, 178, 4116, 10, 178, 13, 178, 14, 178, 4117, 5, 178, 4120, 10, 178, 3, 178, 3, 178, 3, 178, 3, 179, 3, 179, 3, 179, 3, 180, 3, 180, 3, 180, 3, 181, 3, 181, 3, 181, 5, 181, 4134, 10, 181, 3, 181, 3, 181, 6, 181, 4138, 10, 181, 13, 181, 14, 181, 4139, 3, 181, 3, 181, 3, 181, 5, 181, 4145, 10, 181, 3, 182, 3, 182, 3, 182, 5, 182, 4150, 10, 182, 3, 182, 3, 182, 6, 182, 4154, 10, 182, 13, 182, 14, 182, 4155, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 5, 182, 4163, 10, 182, 3, 183, 3, 183, 3, 183, 3, 184, 3, 184, 3, 184, 5, 184, 4171, 10, 184, 3, 184, 3, 184, 3, 184, 3, 184, 6, 184, 4177, 10, 184, 13, 184, 14, 184, 4178, 3, 184, 3, 184, 3, 184, 5, 184, 4184, 10, 184, 3, 185, 3, 185, 3, 185, 3, 185, 5, 185, 4190, 10, 185, 3, 185, 5, 185, 4193, 10, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 5, 185, 4201, 10, 185, 3, 186, 3, 186, 3, 186, 3, 186, 3, 186, 5, 186, 4208, 10, 186, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 5, 187, 4217, 10, 187, 3, 187, 5, 187, 4220, 10, 187, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 7, 189, 4235, 10, 189, 12, 189, 14, 189, 4238, 11, 189, 3, 189, 3, 189, 3, 190, 3, 190, 3, 190, 5, 190, 4245, 10, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 5, 190, 4253, 10, 190, 3, 191, 3, 191, 5, 191, 4257, 10, 191, 3, 191, 3, 191, 3, 192, 3, 192, 3, 192, 5, 192, 4264, 10, 192, 3, 192, 3, 192, 6, 192, 4268, 10, 192, 13, 192, 14, 192, 4269, 3, 193, 3, 193, 3, 193, 3, 193, 6, 193, 4276, 10, 193, 13, 193, 14, 193, 4277, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 7, 194, 4285, 10, 194, 12, 194, 14, 194, 4288, 11, 194, 3, 194, 3, 194, 3, 194, 5, 194, 4293, 10, 194, 3, 194, 3, 194, 3, 194, 7, 194, 4298, 10, 194, 12, 194, 14, 194, 4301, 11, 194, 3, 194, 3, 194, 3, 194, 3, 194, 5, 194, 4307, 10, 194, 3, 194, 7, 194, 4310, 10, 194, 12, 194, 14, 194, 4313, 11, 194, 5, 194, 4315, 10, 194, 5, 194, 4317, 10, 194, 3, 194, 3, 194, 6, 194, 4321, 10, 194, 13, 194, 14, 194, 4322, 5, 194, 4325, 10, 194, 3, 194, 3, 194, 7, 194, 4329, 10, 194, 12, 194, 14, 194, 4332, 11, 194, 5, 194, 4334, 10, 194, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 7, 195, 4341, 10, 195, 12, 195, 14, 195, 4344, 11, 195, 3, 195, 3, 195, 3, 195, 5, 195, 4349, 10, 195, 3, 195, 3, 195, 3, 195, 7, 195, 4354, 10, 195, 12, 195, 14, 195, 4357, 11, 195, 3, 195, 3, 195, 3, 195, 3, 195, 5, 195, 4363, 10, 195, 3, 195, 7, 195, 4366, 10, 195, 12, 195, 14, 195, 4369, 11, 195, 5, 195, 4371, 10, 195, 5, 195, 4373, 10, 195, 3, 195, 3, 195, 6, 195, 4377, 10, 195, 13, 195, 14, 195, 4378, 5, 195, 4381, 10, 195, 3, 195, 3, 195, 7, 195, 4385, 10, 195, 12, 195, 14, 195, 4388, 11, 195, 5, 195, 4390, 10, 195, 3, 196, 3, 196, 3, 196, 5, 196, 4395, 10, 196, 3, 196, 3, 196, 3, 196, 7, 196, 4400, 10, 196, 12, 196, 14, 196, 4403, 11, 196, 3, 197, 3, 197, 3, 197, 3, 197, 7, 197, 4409, 10, 197, 12, 197, 14, 197, 4412, 11, 197, 3, 197, 3, 197, 5, 197, 4416, 10, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 7, 197, 4423, 10, 197, 12, 197, 14, 197, 4426, 11, 197, 3, 197, 3, 197, 3, 197, 3, 197, 5, 197, 4432, 10, 197, 3, 197, 7, 197, 4435, 10, 197, 12, 197, 14, 197, 4438, 11, 197, 5, 197, 4440, 10, 197, 5, 197, 4442, 10, 197, 3, 197, 3, 197, 3, 197, 3, 197, 7, 197, 4448, 10, 197, 12, 197, 14, 197, 4451, 11, 197, 5, 197, 4453, 10, 197, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 7, 198, 4463, 10, 198, 12, 198, 14, 198, 4466, 11, 198, 3, 198, 3, 198, 3, 198, 5, 198, 4471, 10, 198, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 7, 199, 4478, 10, 199, 12, 199, 14, 199, 4481, 11, 199, 3, 200, 3, 200, 3, 200, 3, 200, 7, 200, 4487, 10, 200, 12, 200, 14, 200, 4490, 11, 200, 3, 200, 3, 200, 5, 200, 4494, 10, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 7, 200, 4501, 10, 200, 12, 200, 14, 200, 4504, 11, 200, 3, 200, 3, 200, 3, 200, 5, 200, 4509, 10, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 7, 200, 4518, 10, 200, 12, 200, 14, 200, 4521, 11, 200, 5, 200, 4523, 10, 200, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 7, 201, 4533, 10, 201, 12, 201, 14, 201, 4536, 11, 201, 3, 202, 3, 202, 3, 202, 3, 202, 5, 202, 4542, 10, 202, 3, 202, 3, 202, 3, 202, 5, 202, 4547, 10, 202, 3, 203, 3, 203, 3, 203, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 5, 204, 4562, 10, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 5, 204, 4573, 10, 204, 3, 204, 5, 204, 4576, 10, 204, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 5, 205, 4586, 10, 205, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 5, 206, 4596, 10, 206, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 5, 207, 4606, 10, 207, 3, 208, 3, 208, 3, 208, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 5, 209, 4616, 10, 209, 3, 210, 3, 210, 5, 210, 4620, 10, 210, 3, 210, 3, 210, 5, 210, 4624, 10, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 5, 210, 4633, 10, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 5, 210, 4660, 10, 210, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 5, 211, 4675, 10, 211, 3, 212, 3, 212, 3, 212, 3, 212, 3, 213, 3, 213, 5, 213, 4683, 10, 213, 3, 213, 3, 213, 3, 213, 3, 214, 3, 214, 3, 214, 3, 214, 7, 214, 4692, 10, 214, 12, 214, 14, 214, 4695, 11, 214, 3, 215, 3, 215, 3, 215, 3, 215, 5, 215, 4701, 10, 215, 3, 216, 3, 216, 5, 216, 4705, 10, 216, 3, 216, 3, 216, 3, 216, 3, 217, 3, 217, 5, 217, 4712, 10, 217, 3, 217, 3, 217, 3, 217, 5, 217, 4717, 10, 217, 3, 217, 5, 217, 4720, 10, 217, 3, 217, 5, 217, 4723, 10, 217, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 5, 218, 4732, 10, 218, 3, 219, 3, 219, 5, 219, 4736, 10, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 221, 3, 221, 3, 221, 3, 221, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 7, 222, 4764, 10, 222, 12, 222, 14, 222, 4767, 11, 222, 3, 222, 3, 222, 3, 222, 3, 222, 5, 222, 4773, 10, 222, 3, 222, 3, 222, 5, 222, 4777, 10, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 5, 222, 4784, 10, 222, 3, 222, 5, 222, 4787, 10, 222, 3, 222, 3, 222, 3, 222, 5, 222, 4792, 10, 222, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 4802, 10, 223, 3, 223, 3, 223, 5, 223, 4806, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 4812, 10, 223, 3, 223, 5, 223, 4815, 10, 223, 3, 223, 3, 223, 3, 223, 5, 223, 4820, 10, 223, 3, 223, 3, 223, 5, 223, 4824, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 4831, 10, 223, 3, 223, 5, 223, 4834, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 4840, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 4864, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 4877, 10, 223, 3, 223, 5, 223, 4880, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 4890, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 4898, 10, 223, 3, 223, 3, 223, 5, 223, 4902, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 4909, 10, 223, 3, 223, 5, 223, 4912, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 7, 223, 4919, 10, 223, 12, 223, 14, 223, 4922, 11, 223, 3, 223, 3, 223, 3, 223, 5, 223, 4927, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 4933, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 4943, 10, 223, 5, 223, 4945, 10, 223, 3, 224, 3, 224, 3, 224, 3, 224, 5, 224, 4951, 10, 224, 3, 224, 5, 224, 4954, 10, 224, 3, 224, 5, 224, 4957, 10, 224, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 5, 225, 4969, 10, 225, 3, 225, 5, 225, 4972, 10, 225, 3, 226, 3, 226, 3, 226, 3, 226, 5, 226, 4978, 10, 226, 3, 227, 5, 227, 4981, 10, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 5, 227, 4989, 10, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 5, 227, 4997, 10, 227, 3, 228, 3, 228, 3, 228, 3, 228, 5, 228, 5003, 10, 228, 3, 228, 3, 228, 5, 228, 5007, 10, 228, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 5, 229, 5021, 10, 229, 3, 230, 3, 230, 3, 230, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 7, 231, 5031, 10, 231, 12, 231, 14, 231, 5034, 11, 231, 3, 231, 3, 231, 3, 231, 3, 231, 5, 231, 5040, 10, 231, 3, 231, 5, 231, 5043, 10, 231, 3, 231, 3, 231, 3, 231, 3, 232, 3, 232, 5, 232, 5050, 10, 232, 3, 232, 3, 232, 3, 232, 7, 232, 5055, 10, 232, 12, 232, 14, 232, 5058, 11, 232, 3, 233, 3, 233, 5, 233, 5062, 10, 233, 3, 233, 6, 233, 5065, 10, 233, 13, 233, 14, 233, 5066, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 7, 234, 5076, 10, 234, 12, 234, 14, 234, 5079, 11, 234, 3, 235, 3, 235, 3, 235, 3, 235, 3, 236, 3, 236, 3, 237, 3, 237, 5, 237, 5089, 10, 237, 3, 237, 3, 237, 3, 237, 3, 237, 5, 237, 5095, 10, 237, 3, 238, 3, 238, 3, 238, 5, 238, 5100, 10, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 5, 238, 5113, 10, 238, 5, 238, 5115, 10, 238, 3, 238, 3, 238, 3, 238, 5, 238, 5120, 10, 238, 3, 238, 3, 238, 3, 238, 5, 238, 5125, 10, 238, 5, 238, 5127, 10, 238, 3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 5, 239, 5134, 10, 239, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 5, 240, 5141, 10, 240, 3, 240, 5, 240, 5144, 10, 240, 3, 240, 5, 240, 5147, 10, 240, 3, 240, 3, 240, 3, 240, 3, 240, 5, 240, 5153, 10, 240, 3, 240, 3, 240, 5, 240, 5157, 10, 240, 3, 241, 3, 241, 3, 241, 3, 241, 5, 241, 5163, 10, 241, 3, 242, 3, 242, 3, 242, 3, 242, 5, 242, 5169, 10, 242, 3, 242, 3, 242, 3, 243, 3, 243, 3, 243, 3, 244, 3, 244, 3, 244, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 5, 245, 5184, 10, 245, 3, 245, 3, 245, 3, 245, 5, 245, 5189, 10, 245, 3, 246, 3, 246, 3, 246, 3, 246, 5, 246, 5195, 10, 246, 3, 247, 3, 247, 3, 248, 3, 248, 3, 248, 5, 248, 5202, 10, 248, 5, 248, 5204, 10, 248, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 5, 249, 5211, 10, 249, 3, 249, 5, 249, 5214, 10, 249, 3, 250, 3, 250, 3, 251, 3, 251, 3, 252, 3, 252, 3, 252, 3, 252, 5, 252, 5224, 10, 252, 3, 253, 3, 253, 5, 253, 5228, 10, 253, 3, 254, 3, 254, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 6, 255, 5246, 10, 255, 13, 255, 14, 255, 5247, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 5, 256, 5255, 10, 256, 5, 256, 5257, 10, 256, 3, 257, 3, 257, 3, 257, 6, 257, 5262, 10, 257, 13, 257, 14, 257, 5263, 5, 257, 5266, 10, 257, 3, 258, 3, 258, 5, 258, 5270, 10, 258, 3, 259, 3, 259, 3, 259, 5, 259, 5275, 10, 259, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 5, 260, 5286, 10, 260, 3, 261, 3, 261, 3, 261, 5, 261, 5291, 10, 261, 3, 262, 3, 262, 3, 263, 3, 263, 5, 263, 5297, 10, 263, 3, 264, 5, 264, 5300, 10, 264, 3, 264, 3, 264, 5, 264, 5304, 10, 264, 3, 264, 6, 264, 5307, 10, 264, 13, 264, 14, 264, 5308, 3, 264, 5, 264, 5312, 10, 264, 3, 264, 3, 264, 5, 264, 5316, 10, 264, 3, 264, 3, 264, 5, 264, 5320, 10, 264, 5, 264, 5322, 10, 264, 3, 265, 3, 265, 3, 266, 5, 266, 5327, 10, 266, 3, 266, 3, 266, 3, 267, 5, 267, 5332, 10, 267, 3, 267, 3, 267, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 5, 268, 5345, 10, 268, 3, 268, 5, 268, 5348, 10, 268, 3, 269, 3, 269, 5, 269, 5352, 10, 269, 3, 269, 5, 269, 5355, 10, 269, 3, 269, 3, 269, 3, 269, 5, 269, 5360, 10, 269, 3, 269, 3, 269, 5, 269, 5364, 10, 269, 3, 269, 3, 269, 5, 269, 5368, 10, 269, 3, 269, 5, 269, 5371, 10, 269, 3, 269, 5, 269, 5374, 10, 269, 3, 269, 3, 269, 5, 269, 5378, 10, 269, 3, 269, 5, 269, 5381, 10, 269, 3, 269, 5, 269, 5384, 10, 269, 3, 269, 3, 269, 5, 269, 5388, 10, 269, 3, 269, 5, 269, 5391, 10, 269, 3, 269, 5, 269, 5394, 10, 269, 3, 269, 3, 269, 3, 269, 5, 269, 5399, 10, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 7, 269, 5406, 10, 269, 12, 269, 14, 269, 5409, 11, 269, 3, 269, 3, 269, 5, 269, 5413, 10, 269, 3, 269, 3, 269, 3, 269, 5, 269, 5418, 10, 269, 3, 269, 3, 269, 5, 269, 5422, 10, 269, 3, 269, 5, 269, 5425, 10, 269, 3, 270, 3, 270, 5, 270, 5429, 10, 270, 3, 270, 3, 270, 5, 270, 5433, 10, 270, 3, 270, 3, 270, 3, 270, 5, 270, 5438, 10, 270, 3, 270, 3, 270, 3, 270, 5, 270, 5443, 10, 270, 3, 270, 3, 270, 5, 270, 5447, 10, 270, 5, 270, 5449, 10, 270, 3, 271, 3, 271, 3, 271, 3, 271, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 273, 3, 273, 3, 273, 3, 273, 5, 273, 5465, 10, 273, 3, 273, 3, 273, 3, 274, 3, 274, 3, 274, 7, 274, 5472, 10, 274, 12, 274, 14, 274, 5475, 11, 274, 3, 275, 3, 275, 3, 275, 7, 275, 5480, 10, 275, 12, 275, 14, 275, 5483, 11, 275, 3, 276, 3, 276, 3, 276, 3, 276, 7, 276, 5489, 10, 276, 12, 276, 14, 276, 5492, 11, 276, 3, 276, 3, 276, 3, 277, 3, 277, 3, 277, 7, 277, 5499, 10, 277, 12, 277, 14, 277, 5502, 11, 277, 3, 278, 3, 278, 3, 278, 7, 278, 5507, 10, 278, 12, 278, 14, 278, 5510, 11, 278, 3, 279, 3, 279, 3, 279, 7, 279, 5515, 10, 279, 12, 279, 14, 279, 5518, 11, 279, 3, 280, 3, 280, 3, 280, 7, 280, 5523, 10, 280, 12, 280, 14, 280, 5526, 11, 280, 3, 281, 3, 281, 3, 281, 7, 281, 5531, 10, 281, 12, 281, 14, 281, 5534, 11, 281, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 5, 282, 5542, 10, 282, 5, 282, 5544, 10, 282, 3, 283, 3, 283, 3, 283, 5, 283, 5549, 10, 283, 3, 283, 5, 283, 5552, 10, 283, 3, 283, 3, 283, 3, 283, 5, 283, 5557, 10, 283, 3, 283, 5, 283, 5560, 10, 283, 3, 284, 3, 284, 5, 284, 5564, 10, 284, 3, 285, 3, 285, 3, 285, 3, 286, 3, 286, 3, 286, 3, 286, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 5, 287, 5578, 10, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 5, 287, 5585, 10, 287, 3, 287, 3, 287, 3, 287, 5, 287, 5590, 10, 287, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 6, 288, 5622, 10, 288, 13, 288, 14, 288, 5623, 3, 288, 3, 288, 5, 288, 5628, 10, 288, 3, 288, 3, 288, 3, 288, 3, 288, 6, 288, 5634, 10, 288, 13, 288, 14, 288, 5635, 3, 288, 3, 288, 5, 288, 5640, 10, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 5, 288, 5649, 10, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 5, 288, 5657, 10, 288, 3, 288, 3, 288, 3, 288, 5, 288, 5662, 10, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 5, 288, 5670, 10, 288, 3, 288, 3, 288, 3, 288, 5, 288, 5675, 10, 288, 3, 288, 3, 288, 3, 288, 5, 288, 5680, 10, 288, 5, 288, 5682, 10, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 5, 288, 5691, 10, 288, 3, 288, 3, 288, 3, 288, 5, 288, 5696, 10, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 5, 288, 5704, 10, 288, 3, 288, 3, 288, 3, 288, 5, 288, 5709, 10, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 5, 288, 5717, 10, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 5, 288, 5725, 10, 288, 3, 288, 5, 288, 5728, 10, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 5, 288, 5738, 10, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 5, 288, 5749, 10, 288, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 290, 3, 290, 3, 290, 3, 290, 7, 290, 5760, 10, 290, 12, 290, 14, 290, 5763, 11, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 5, 290, 5770, 10, 290, 3, 291, 3, 291, 5, 291, 5774, 10, 291, 3, 292, 3, 292, 3, 292, 5, 292, 5779, 10, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 5, 292, 5788, 10, 292, 3, 292, 5, 292, 5791, 10, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 5, 292, 5807, 10, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 5, 292, 5815, 10, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 7, 292, 5823, 10, 292, 12, 292, 14, 292, 5826, 11, 292, 5, 292, 5828, 10, 292, 3, 292, 3, 292, 5, 292, 5832, 10, 292, 3, 292, 3, 292, 5, 292, 5836, 10, 292, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 5, 293, 5861, 10, 293, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 295, 3, 295, 3, 295, 3, 295, 5, 295, 5872, 10, 295, 3, 295, 3, 295, 3, 295, 3, 295, 3, 295, 5, 295, 5879, 10, 295, 7, 295, 5881, 10, 295, 12, 295, 14, 295, 5884, 11, 295, 3, 296, 3, 296, 3, 296, 3, 296, 5, 296, 5890, 10, 296, 3, 297, 3, 297, 3, 297, 3, 297, 3, 297, 3, 297, 5, 297, 5898, 10, 297, 3, 297, 3, 297, 3, 297, 5, 297, 5903, 10, 297, 3, 297, 3, 297, 3, 297, 3, 297, 7, 297, 5909, 10, 297, 12, 297, 14, 297, 5912, 11, 297, 3, 298, 3, 298, 3, 298, 5, 298, 5917, 10, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 5, 298, 5927, 10, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 5, 298, 5940, 10, 298, 3, 298, 3, 298, 3, 298, 3, 298, 5, 298, 5946, 10, 298, 3, 298, 3, 298, 3, 298, 3, 298, 5, 298, 5952, 10, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 5, 298, 5968, 10, 298, 3, 298, 3, 298, 3, 298, 3, 298, 5, 298, 5974, 10, 298, 7, 298, 5976, 10, 298, 12, 298, 14, 298, 5979, 11, 298, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 7, 299, 5995, 10, 299, 12, 299, 14, 299, 5998, 11, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 6, 299, 6007, 10, 299, 13, 299, 14, 299, 6008, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 5, 299, 6026, 10, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 7, 299, 6039, 10, 299, 12, 299, 14, 299, 6042, 11, 299, 3, 300, 3, 300, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 5, 301, 6060, 10, 301, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 5, 302, 6069, 10, 302, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 5, 303, 6078, 10, 303, 3, 304, 3, 304, 3, 305, 3, 305, 3, 306, 3, 306, 3, 307, 3, 307, 3, 308, 3, 308, 3, 309, 3, 309, 3, 310, 3, 310, 3, 311, 3, 311, 3, 311, 2, 5, 592, 594, 596, 312, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276, 278, 280, 282, 284, 286, 288, 290, 292, 294, 296, 298, 300, 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326, 328, 330, 332, 334, 336, 338, 340, 342, 344, 346, 348, 350, 352, 354, 356, 358, 360, 362, 364, 366, 368, 370, 372, 374, 376, 378, 380, 382, 384, 386, 388, 390, 392, 394, 396, 398, 400, 402, 404, 406, 408, 410, 412, 414, 416, 418, 420, 422, 424, 426, 428, 430, 432, 434, 436, 438, 440, 442, 444, 446, 448, 450, 452, 454, 456, 458, 460, 462, 464, 466, 468, 470, 472, 474, 476, 478, 480, 482, 484, 486, 488, 490, 492, 494, 496, 498, 500, 502, 504, 506, 508, 510, 512, 514, 516, 518, 520, 522, 524, 526, 528, 530, 532, 534, 536, 538, 540, 542, 544, 546, 548, 550, 552, 554, 556, 558, 560, 562, 564, 566, 568, 570, 572, 574, 576, 578, 580, 582, 584, 586, 588, 590, 592, 594, 596, 598, 600, 602, 604, 606, 608, 610, 612, 614, 616, 618, 620, 2, 117, 4, 2, 38, 38, 134, 134, 4, 2, 423, 423, 428, 428, 5, 2, 64, 64, 140, 140, 160, 160, 5, 2, 41, 41, 296, 296, 358, 358, 6, 2, 41, 41, 327, 327, 422, 422, 490, 490, 4, 2, 414, 414, 970, 970, 4, 2, 71, 71, 127, 127, 4, 2, 17, 17, 254, 254, 5, 2, 43, 43, 77, 77, 163, 163, 4, 2, 340, 340, 446, 446, 5, 2, 407, 407, 526, 526, 532, 532, 4, 2, 302, 302, 362, 362, 4, 2, 272, 272, 376, 376, 4, 2, 270, 270, 349, 349, 5, 2, 72, 72, 76, 76, 112, 112, 5, 2, 41, 41, 312, 312, 338, 338, 5, 2, 41, 41, 308, 308, 622, 622, 4, 2, 516, 516, 546, 546, 4, 2, 73, 73, 83, 83, 5, 2, 342, 342, 437, 437, 492, 492, 4, 2, 64, 64, 140, 140, 3, 2, 960, 961, 5, 2, 337, 337, 371, 371, 420, 420, 4, 2, 41, 41, 960, 961, 8, 2, 41, 41, 286, 286, 288, 288, 312, 312, 338, 338, 459, 459, 3, 2, 961, 962, 4, 2, 9, 9, 49, 49, 4, 2, 15, 15, 154, 154, 4, 2, 171, 171, 549, 549, 4, 2, 22, 22, 129, 129, 5, 2, 42, 42, 69, 69, 96, 96, 4, 2, 96, 96, 290, 290, 4, 2, 282, 282, 334, 334, 4, 2, 92, 92, 482, 482, 4, 2, 42, 42, 96, 96, 4, 2, 10, 10, 47, 47, 4, 2, 167, 167, 543, 543, 6, 2, 337, 337, 371, 371, 419, 419, 449, 449, 4, 2, 337, 337, 419, 419, 4, 2, 16, 16, 44, 44, 5, 2, 61, 61, 71, 71, 165, 165, 4, 2, 35, 35, 75, 75, 4, 2, 88, 88, 132, 132, 4, 2, 10, 10, 47, 48, 3, 2, 505, 506, 4, 2, 345, 345, 488, 488, 4, 2, 193, 193, 379, 379, 7, 2, 97, 97, 384, 385, 387, 387, 391, 399, 461, 461, 6, 2, 381, 382, 386, 386, 388, 389, 462, 462, 5, 2, 98, 98, 380, 380, 390, 390, 4, 2, 364, 364, 507, 507, 4, 2, 501, 501, 503, 503, 4, 2, 264, 264, 508, 508, 4, 2, 82, 82, 476, 476, 4, 2, 49, 49, 300, 300, 5, 2, 32, 32, 56, 56, 158, 158, 5, 2, 117, 117, 151, 151, 343, 343, 4, 2, 94, 94, 161, 161, 4, 2, 278, 278, 493, 493, 4, 2, 39, 39, 545, 545, 4, 2, 104, 104, 376, 376, 4, 2, 330, 330, 455, 455, 6, 2, 179, 179, 181, 181, 184, 184, 517, 517, 4, 2, 265, 265, 463, 463, 4, 2, 63, 63, 72, 72, 8, 2, 117, 117, 151, 151, 156, 156, 323, 323, 343, 343, 545, 545, 4, 2, 413, 413, 513, 513, 4, 2, 320, 320, 548, 548, 4, 2, 117, 117, 343, 343, 5, 2, 73, 73, 84, 84, 356, 356, 4, 2, 513, 513, 544, 544, 4, 2, 291, 291, 454, 454, 8, 2, 193, 193, 317, 317, 319, 319, 344, 344, 460, 460, 494, 494, 4, 2, 44, 45, 57, 57, 5, 2, 330, 330, 439, 439, 710, 710, 4, 2, 368, 368, 528, 528, 4, 2, 978, 978, 980, 980, 3, 2, 981, 982, 5, 2, 617, 627, 970, 970, 979, 979, 4, 2, 960, 962, 971, 971, 4, 2, 58, 58, 157, 157, 4, 2, 105, 105, 974, 974, 4, 2, 191, 192, 199, 202, 3, 2, 175, 180, 3, 2, 181, 183, 3, 2, 184, 185, 6, 2, 186, 186, 195, 198, 204, 204, 268, 269, 5, 2, 187, 190, 193, 194, 266, 266, 4, 2, 137, 137, 203, 203, 3, 2, 632, 638, 4, 2, 193, 193, 417, 417, 4, 2, 186, 187, 189, 189, 4, 2, 162, 162, 491, 491, 4, 2, 235, 236, 242, 242, 4, 2, 36, 36, 233, 236, 3, 2, 245, 246, 5, 2, 19, 19, 86, 86, 155, 155, 4, 2, 191, 191, 193, 193, 5, 2, 16, 16, 44, 44, 818, 818, 5, 2, 216, 216, 222, 223, 228, 228, 5, 2, 217, 219, 224, 227, 229, 231, 4, 2, 426, 426, 440, 440, 4, 2, 103, 103, 949, 949, 5, 2, 58, 58, 157, 157, 536, 536, 4, 2, 123, 123, 133, 133, 5, 2, 10, 10, 257, 257, 497, 497, 6, 2, 103, 103, 941, 941, 943, 943, 949, 950, 3, 2, 938, 945, 3, 2, 577, 616, 3, 2, 628, 631, 3, 2, 568, 576, 3, 2, 560, 567, 5, 2, 186, 190, 200, 200, 203, 203, 33, 2, 204, 204, 252, 270, 272, 278, 280, 303, 305, 314, 316, 328, 330, 338, 340, 340, 342, 343, 345, 347, 349, 349, 351, 351, 353, 359, 361, 367, 369, 410, 412, 418, 420, 429, 431, 441, 443, 459, 461, 474, 476, 493, 495, 497, 499, 515, 517, 527, 529, 529, 531, 534, 536, 536, 538, 539, 542, 545, 547, 554, 622, 622, 11, 2, 38, 38, 88, 88, 132, 132, 186, 188, 190, 190, 220, 220, 244, 244, 560, 567, 632, 928, 2, 7126, 2, 623, 3, 2, 2, 2, 4, 639, 3, 2, 2, 2, 6, 659, 3, 2, 2, 2, 8, 661, 3, 2, 2, 2, 10, 698, 3, 2, 2, 2, 12, 710, 3, 2, 2, 2, 14, 721, 3, 2, 2, 2, 16, 738, 3, 2, 2, 2, 18, 743, 3, 2, 2, 2, 20, 755, 3, 2, 2, 2, 22, 782, 3, 2, 2, 2, 24, 788, 3, 2, 2, 2, 26, 790, 3, 2, 2, 2, 28, 802, 3, 2, 2, 2, 30, 832, 3, 2, 2, 2, 32, 865, 3, 2, 2, 2, 34, 916, 3, 2, 2, 2, 36, 942, 3, 2, 2, 2, 38, 970, 3, 2, 2, 2, 40, 1067, 3, 2, 2, 2, 42, 1069, 3, 2, 2, 2, 44, 1087, 3, 2, 2, 2, 46, 1148, 3, 2, 2, 2, 48, 1167, 3, 2, 2, 2, 50, 1223, 3, 2, 2, 2, 52, 1225, 3, 2, 2, 2, 54, 1269, 3, 2, 2, 2, 56, 1275, 3, 2, 2, 2, 58, 1277, 3, 2, 2, 2, 60, 1298, 3, 2, 2, 2, 62, 1305, 3, 2, 2, 2, 64, 1307, 3, 2, 2, 2, 66, 1321, 3, 2, 2, 2, 68, 1323, 3, 2, 2, 2, 70, 1327, 3, 2, 2, 2, 72, 1353, 3, 2, 2, 2, 74, 1369, 3, 2, 2, 2, 76, 1371, 3, 2, 2, 2, 78, 1387, 3, 2, 2, 2, 80, 1389, 3, 2, 2, 2, 82, 1429, 3, 2, 2, 2, 84, 1497, 3, 2, 2, 2, 86, 1499, 3, 2, 2, 2, 88, 1525, 3, 2, 2, 2, 90, 1533, 3, 2, 2, 2, 92, 1563, 3, 2, 2, 2, 94, 1705, 3, 2, 2, 2, 96, 1707, 3, 2, 2, 2, 98, 1710, 3, 2, 2, 2, 100, 1784, 3, 2, 2, 2, 102, 1807, 3, 2, 2, 2, 104, 1918, 3, 2, 2, 2, 106, 1923, 3, 2, 2, 2, 108, 1925, 3, 2, 2, 2, 110, 1935, 3, 2, 2, 2, 112, 1988, 3, 2, 2, 2, 114, 2008, 3, 2, 2, 2, 116, 2010, 3, 2, 2, 2, 118, 2045, 3, 2, 2, 2, 120, 2054, 3, 2, 2, 2, 122, 2061, 3, 2, 2, 2, 124, 2084, 3, 2, 2, 2, 126, 2093, 3, 2, 2, 2, 128, 2108, 3, 2, 2, 2, 130, 2128, 3, 2, 2, 2, 132, 2148, 3, 2, 2, 2, 134, 2526, 3, 2, 2, 2, 136, 2528, 3, 2, 2, 2, 138, 2535, 3, 2, 2, 2, 140, 2542, 3, 2, 2, 2, 142, 2564, 3, 2, 2, 2, 144, 2572, 3, 2, 2, 2, 146, 2579, 3, 2, 2, 2, 148, 2586, 3, 2, 2, 2, 150, 2593, 3, 2, 2, 2, 152, 2605, 3, 2, 2, 2, 154, 2615, 3, 2, 2, 2, 156, 2622, 3, 2, 2, 2, 158, 2638, 3, 2, 2, 2, 160, 2648, 3, 2, 2, 2, 162, 2652, 3, 2, 2, 2, 164, 2658, 3, 2, 2, 2, 166, 2670, 3, 2, 2, 2, 168, 2672, 3, 2, 2, 2, 170, 2679, 3, 2, 2, 2, 172, 2681, 3, 2, 2, 2, 174, 2731, 3, 2, 2, 2, 176, 2805, 3, 2, 2, 2, 178, 2864, 3, 2, 2, 2, 180, 2952, 3, 2, 2, 2, 182, 2956, 3, 2, 2, 2, 184, 2973, 3, 2, 2, 2, 186, 2975, 3, 2, 2, 2, 188, 2983, 3, 2, 2, 2, 190, 2991, 3, 2, 2, 2, 192, 2993, 3, 2, 2, 2, 194, 3023, 3, 2, 2, 2, 196, 3078, 3, 2, 2, 2, 198, 3087, 3, 2, 2, 2, 200, 3107, 3, 2, 2, 2, 202, 3119, 3, 2, 2, 2, 204, 3123, 3, 2, 2, 2, 206, 3156, 3, 2, 2, 2, 208, 3177, 3, 2, 2, 2, 210, 3187, 3, 2, 2, 2, 212, 3191, 3, 2, 2, 2, 214, 3216, 3, 2, 2, 2, 216, 3258, 3, 2, 2, 2, 218, 3260, 3, 2, 2, 2, 220, 3275, 3, 2, 2, 2, 222, 3321, 3, 2, 2, 2, 224, 3331, 3, 2, 2, 2, 226, 3341, 3, 2, 2, 2, 228, 3400, 3, 2, 2, 2, 230, 3402, 3, 2, 2, 2, 232, 3419, 3, 2, 2, 2, 234, 3425, 3, 2, 2, 2, 236, 3441, 3, 2, 2, 2, 238, 3445, 3, 2, 2, 2, 240, 3483, 3, 2, 2, 2, 242, 3485, 3, 2, 2, 2, 244, 3488, 3, 2, 2, 2, 246, 3527, 3, 2, 2, 2, 248, 3541, 3, 2, 2, 2, 250, 3549, 3, 2, 2, 2, 252, 3551, 3, 2, 2, 2, 254, 3577, 3, 2, 2, 2, 256, 3581, 3, 2, 2, 2, 258, 3594, 3, 2, 2, 2, 260, 3606, 3, 2, 2, 2, 262, 3610, 3, 2, 2, 2, 264, 3627, 3, 2, 2, 2, 266, 3644, 3, 2, 2, 2, 268, 3647, 3, 2, 2, 2, 270, 3657, 3, 2, 2, 2, 272, 3661, 3, 2, 2, 2, 274, 3671, 3, 2, 2, 2, 276, 3674, 3, 2, 2, 2, 278, 3679, 3, 2, 2, 2, 280, 3699, 3, 2, 2, 2, 282, 3701, 3, 2, 2, 2, 284, 3718, 3, 2, 2, 2, 286, 3727, 3, 2, 2, 2, 288, 3736, 3, 2, 2, 2, 290, 3738, 3, 2, 2, 2, 292, 3752, 3, 2, 2, 2, 294, 3763, 3, 2, 2, 2, 296, 3772, 3, 2, 2, 2, 298, 3775, 3, 2, 2, 2, 300, 3783, 3, 2, 2, 2, 302, 3808, 3, 2, 2, 2, 304, 3820, 3, 2, 2, 2, 306, 3823, 3, 2, 2, 2, 308, 3855, 3, 2, 2, 2, 310, 3857, 3, 2, 2, 2, 312, 3859, 3, 2, 2, 2, 314, 3861, 3, 2, 2, 2, 316, 3863, 3, 2, 2, 2, 318, 3916, 3, 2, 2, 2, 320, 3918, 3, 2, 2, 2, 322, 3924, 3, 2, 2, 2, 324, 3944, 3, 2, 2, 2, 326, 3958, 3, 2, 2, 2, 328, 3969, 3, 2, 2, 2, 330, 3971, 3, 2, 2, 2, 332, 3977, 3, 2, 2, 2, 334, 3987, 3, 2, 2, 2, 336, 3991, 3, 2, 2, 2, 338, 3998, 3, 2, 2, 2, 340, 4002, 3, 2, 2, 2, 342, 4008, 3, 2, 2, 2, 344, 4015, 3, 2, 2, 2, 346, 4021, 3, 2, 2, 2, 348, 4027, 3, 2, 2, 2, 350, 4032, 3, 2, 2, 2, 352, 4078, 3, 2, 2, 2, 354, 4099, 3, 2, 2, 2, 356, 4124, 3, 2, 2, 2, 358, 4127, 3, 2, 2, 2, 360, 4133, 3, 2, 2, 2, 362, 4149, 3, 2, 2, 2, 364, 4164, 3, 2, 2, 2, 366, 4170, 3, 2, 2, 2, 368, 4200, 3, 2, 2, 2, 370, 4202, 3, 2, 2, 2, 372, 4209, 3, 2, 2, 2, 374, 4221, 3, 2, 2, 2, 376, 4227, 3, 2, 2, 2, 378, 4252, 3, 2, 2, 2, 380, 4256, 3, 2, 2, 2, 382, 4260, 3, 2, 2, 2, 384, 4271, 3, 2, 2, 2, 386, 4333, 3, 2, 2, 2, 388, 4389, 3, 2, 2, 2, 390, 4391, 3, 2, 2, 2, 392, 4404, 3, 2, 2, 2, 394, 4454, 3, 2, 2, 2, 396, 4472, 3, 2, 2, 2, 398, 4522, 3, 2, 2, 2, 400, 4524, 3, 2, 2, 2, 402, 4537, 3, 2, 2, 2, 404, 4548, 3, 2, 2, 2, 406, 4575, 3, 2, 2, 2, 408, 4585, 3, 2, 2, 2, 410, 4595, 3, 2, 2, 2, 412, 4597, 3, 2, 2, 2, 414, 4607, 3, 2, 2, 2, 416, 4610, 3, 2, 2, 2, 418, 4659, 3, 2, 2, 2, 420, 4674, 3, 2, 2, 2, 422, 4676, 3, 2, 2, 2, 424, 4680, 3, 2, 2, 2, 426, 4687, 3, 2, 2, 2, 428, 4696, 3, 2, 2, 2, 430, 4702, 3, 2, 2, 2, 432, 4709, 3, 2, 2, 2, 434, 4731, 3, 2, 2, 2, 436, 4733, 3, 2, 2, 2, 438, 4744, 3, 2, 2, 2, 440, 4750, 3, 2, 2, 2, 442, 4791, 3, 2, 2, 2, 444, 4944, 3, 2, 2, 2, 446, 4956, 3, 2, 2, 2, 448, 4971, 3, 2, 2, 2, 450, 4977, 3, 2, 2, 2, 452, 4996, 3, 2, 2, 2, 454, 5006, 3, 2, 2, 2, 456, 5020, 3, 2, 2, 2, 458, 5022, 3, 2, 2, 2, 460, 5025, 3, 2, 2, 2, 462, 5047, 3, 2, 2, 2, 464, 5059, 3, 2, 2, 2, 466, 5068, 3, 2, 2, 2, 468, 5080, 3, 2, 2, 2, 470, 5084, 3, 2, 2, 2, 472, 5086, 3, 2, 2, 2, 474, 5126, 3, 2, 2, 2, 476, 5133, 3, 2, 2, 2, 478, 5135, 3, 2, 2, 2, 480, 5158, 3, 2, 2, 2, 482, 5164, 3, 2, 2, 2, 484, 5172, 3, 2, 2, 2, 486, 5175, 3, 2, 2, 2, 488, 5188, 3, 2, 2, 2, 490, 5190, 3, 2, 2, 2, 492, 5196, 3, 2, 2, 2, 494, 5198, 3, 2, 2, 2, 496, 5205, 3, 2, 2, 2, 498, 5215, 3, 2, 2, 2, 500, 5217, 3, 2, 2, 2, 502, 5223, 3, 2, 2, 2, 504, 5227, 3, 2, 2, 2, 506, 5229, 3, 2, 2, 2, 508, 5231, 3, 2, 2, 2, 510, 5249, 3, 2, 2, 2, 512, 5265, 3, 2, 2, 2, 514, 5269, 3, 2, 2, 2, 516, 5274, 3, 2, 2, 2, 518, 5285, 3, 2, 2, 2, 520, 5290, 3, 2, 2, 2, 522, 5292, 3, 2, 2, 2, 524, 5296, 3, 2, 2, 2, 526, 5321, 3, 2, 2, 2, 528, 5323, 3, 2, 2, 2, 530, 5326, 3, 2, 2, 2, 532, 5331, 3, 2, 2, 2, 534, 5347, 3, 2, 2, 2, 536, 5424, 3, 2, 2, 2, 538, 5448, 3, 2, 2, 2, 540, 5450, 3, 2, 2, 2, 542, 5454, 3, 2, 2, 2, 544, 5460, 3, 2, 2, 2, 546, 5468, 3, 2, 2, 2, 548, 5476, 3, 2, 2, 2, 550, 5484, 3, 2, 2, 2, 552, 5495, 3, 2, 2, 2, 554, 5503, 3, 2, 2, 2, 556, 5511, 3, 2, 2, 2, 558, 5519, 3, 2, 2, 2, 560, 5527, 3, 2, 2, 2, 562, 5543, 3, 2, 2, 2, 564, 5559, 3, 2, 2, 2, 566, 5563, 3, 2, 2, 2, 568, 5565, 3, 2, 2, 2, 570, 5568, 3, 2, 2, 2, 572, 5589, 3, 2, 2, 2, 574, 5748, 3, 2, 2, 2, 576, 5750, 3, 2, 2, 2, 578, 5769, 3, 2, 2, 2, 580, 5771, 3, 2, 2, 2, 582, 5835, 3, 2, 2, 2, 584, 5860, 3, 2, 2, 2, 586, 5862, 3, 2, 2, 2, 588, 5871, 3, 2, 2, 2, 590, 5889, 3, 2, 2, 2, 592, 5902, 3, 2, 2, 2, 594, 5913, 3, 2, 2, 2, 596, 6025, 3, 2, 2, 2, 598, 6043, 3, 2, 2, 2, 600, 6059, 3, 2, 2, 2, 602, 6068, 3, 2, 2, 2, 604, 6077, 3, 2, 2, 2, 606, 6079, 3, 2, 2, 2, 608, 6081, 3, 2, 2, 2, 610, 6083, 3, 2, 2, 2, 612, 6085, 3, 2, 2, 2, 614, 6087, 3, 2, 2, 2, 616, 6089, 3, 2, 2, 2, 618, 6091, 3, 2, 2, 2, 620, 6093, 3, 2, 2, 2, 622, 624, 5, 4, 3, 2, 623, 622, 3, 2, 2, 2, 623, 624, 3, 2, 2, 2, 624, 626, 3, 2, 2, 2, 625, 627, 7, 942, 2, 2, 626, 625, 3, 2, 2, 2, 626, 627, 3, 2, 2, 2, 627, 628, 3, 2, 2, 2, 628, 629, 7, 2, 2, 3, 629, 3, 3, 2, 2, 2, 630, 632, 5, 6, 4, 2, 631, 633, 7, 942, 2, 2, 632, 631, 3, 2, 2, 2, 632, 633, 3, 2, 2, 2, 633, 634, 3, 2, 2, 2, 634, 635, 7, 958, 2, 2, 635, 638, 3, 2, 2, 2, 636, 638, 5, 8, 5, 2, 637, 630, 3, 2, 2, 2, 637, 636, 3, 2, 2, 2, 638, 641, 3, 2, 2, 2, 639, 637, 3, 2, 2, 2, 639, 640, 3, 2, 2, 2, 640, 650, 3, 2, 2, 2, 641, 639, 3, 2, 2, 2, 642, 647, 5, 6, 4, 2, 643, 645, 7, 942, 2, 2, 644, 643, 3, 2, 2, 2, 644, 645, 3, 2, 2, 2, 645, 646, 3, 2, 2, 2, 646, 648, 7, 958, 2, 2, 647, 644, 3, 2, 2, 2, 647, 648, 3, 2, 2, 2, 648, 651, 3, 2, 2, 2, 649, 651, 5, 8, 5, 2, 650, 642, 3, 2, 2, 2, 650, 649, 3, 2, 2, 2, 651, 5, 3, 2, 2, 2, 652, 660, 5, 10, 6, 2, 653, 660, 5, 12, 7, 2, 654, 660, 5, 14, 8, 2, 655, 660, 5, 16, 9, 2, 656, 660, 5, 18, 10, 2, 657, 660, 5, 22, 12, 2, 658, 660, 5, 24, 13, 2, 659, 652, 3, 2, 2, 2, 659, 653, 3, 2, 2, 2, 659, 654, 3, 2, 2, 2, 659, 655, 3, 2, 2, 2, 659, 656, 3, 2, 2, 2, 659, 657, 3, 2, 2, 2, 659, 658, 3, 2, 2, 2, 660, 7, 3, 2, 2, 2, 661, 662, 7, 958, 2, 2, 662, 9, 3, 2, 2, 2, 663, 699, 5, 26, 14, 2, 664, 699, 5, 28, 15, 2, 665, 699, 5, 30, 16, 2, 666, 699, 5, 32, 17, 2, 667, 699, 5, 34, 18, 2, 668, 699, 5, 36, 19, 2, 669, 699, 5, 38, 20, 2, 670, 699, 5, 40, 21, 2, 671, 699, 5, 42, 22, 2, 672, 699, 5, 44, 23, 2, 673, 699, 5, 46, 24, 2, 674, 699, 5, 48, 25, 2, 675, 699, 5, 114, 58, 2, 676, 699, 5, 116, 59, 2, 677, 699, 5, 118, 60, 2, 678, 699, 5, 120, 61, 2, 679, 699, 5, 122, 62, 2, 680, 699, 5, 124, 63, 2, 681, 699, 5, 126, 64, 2, 682, 699, 5, 128, 65, 2, 683, 699, 5, 130, 66, 2, 684, 699, 5, 132, 67, 2, 685, 699, 5, 136, 69, 2, 686, 699, 5, 138, 70, 2, 687, 699, 5, 140, 71, 2, 688, 699, 5, 142, 72, 2, 689, 699, 5, 144, 73, 2, 690, 699, 5, 146, 74, 2, 691, 699, 5, 148, 75, 2, 692, 699, 5, 150, 76, 2, 693, 699, 5, 152, 77, 2, 694, 699, 5, 154, 78, 2, 695, 699, 5, 156, 79, 2, 696, 699, 5, 158, 80, 2, 697, 699, 5, 162, 82, 2, 698, 663, 3, 2, 2, 2, 698, 664, 3, 2, 2, 2, 698, 665, 3, 2, 2, 2, 698, 666, 3, 2, 2, 2, 698, 667, 3, 2, 2, 2, 698, 668, 3, 2, 2, 2, 698, 669, 3, 2, 2, 2, 698, 670, 3, 2, 2, 2, 698, 671, 3, 2, 2, 2, 698, 672, 3, 2, 2, 2, 698, 673, 3, 2, 2, 2, 698, 674, 3, 2, 2, 2, 698, 675, 3, 2, 2, 2, 698, 676, 3, 2, 2, 2, 698, 677, 3, 2, 2, 2, 698, 678, 3, 2, 2, 2, 698, 679, 3, 2, 2, 2, 698, 680, 3, 2, 2, 2, 698, 681, 3, 2, 2, 2, 698, 682, 3, 2, 2, 2, 698, 683, 3, 2, 2, 2, 698, 684, 3, 2, 2, 2, 698, 685, 3, 2, 2, 2, 698, 686, 3, 2, 2, 2, 698, 687, 3, 2, 2, 2, 698, 688, 3, 2, 2, 2, 698, 689, 3, 2, 2, 2, 698, 690, 3, 2, 2, 2, 698, 691, 3, 2, 2, 2, 698, 692, 3, 2, 2, 2, 698, 693, 3, 2, 2, 2, 698, 694, 3, 2, 2, 2, 698, 695, 3, 2, 2, 2, 698, 696, 3, 2, 2, 2, 698, 697, 3, 2, 2, 2, 699, 11, 3, 2, 2, 2, 700, 711, 5, 180, 91, 2, 701, 711, 5, 172, 87, 2, 702, 711, 5, 182, 92, 2, 703, 711, 5, 166, 84, 2, 704, 711, 5, 178, 90, 2, 705, 711, 5, 164, 83, 2, 706, 711, 5, 174, 88, 2, 707, 711, 5, 176, 89, 2, 708, 711, 5, 168, 85, 2, 709, 711, 5, 170, 86, 2, 710, 700, 3, 2, 2, 2, 710, 701, 3, 2, 2, 2, 710, 702, 3, 2, 2, 2, 710, 703, 3, 2, 2, 2, 710, 704, 3, 2, 2, 2, 710, 705, 3, 2, 2, 2, 710, 706, 3, 2, 2, 2, 710, 707, 3, 2, 2, 2, 710, 708, 3, 2, 2, 2, 710, 709, 3, 2, 2, 2, 711, 13, 3, 2, 2, 2, 712, 722, 5, 258, 130, 2, 713, 722, 5, 260, 131, 2, 714, 722, 5, 262, 132, 2, 715, 722, 5, 264, 133, 2, 716, 722, 5, 266, 134, 2, 717, 722, 5, 268, 135, 2, 718, 722, 5, 270, 136, 2, 719, 722, 5, 272, 137, 2, 720, 722, 5, 274, 138, 2, 721, 712, 3, 2, 2, 2, 721, 713, 3, 2, 2, 2, 721, 714, 3, 2, 2, 2, 721, 715, 3, 2, 2, 2, 721, 716, 3, 2, 2, 2, 721, 717, 3, 2, 2, 2, 721, 718, 3, 2, 2, 2, 721, 719, 3, 2, 2, 2, 721, 720, 3, 2, 2, 2, 722, 15, 3, 2, 2, 2, 723, 739, 5, 290, 146, 2, 724, 739, 5, 292, 147, 2, 725, 739, 5, 294, 148, 2, 726, 739, 5, 296, 149, 2, 727, 739, 5, 298, 150, 2, 728, 739, 5, 300, 151, 2, 729, 739, 5, 302, 152, 2, 730, 739, 5, 304, 153, 2, 731, 739, 5, 306, 154, 2, 732, 739, 5, 330, 166, 2, 733, 739, 5, 332, 167, 2, 734, 739, 5, 334, 168, 2, 735, 739, 5, 336, 169, 2, 736, 739, 5, 338, 170, 2, 737, 739, 5, 340, 171, 2, 738, 723, 3, 2, 2, 2, 738, 724, 3, 2, 2, 2, 738, 725, 3, 2, 2, 2, 738, 726, 3, 2, 2, 2, 738, 727, 3, 2, 2, 2, 738, 728, 3, 2, 2, 2, 738, 729, 3, 2, 2, 2, 738, 730, 3, 2, 2, 2, 738, 731, 3, 2, 2, 2, 738, 732, 3, 2, 2, 2, 738, 733, 3, 2, 2, 2, 738, 734, 3, 2, 2, 2, 738, 735, 3, 2, 2, 2, 738, 736, 3, 2, 2, 2, 738, 737, 3, 2, 2, 2, 739, 17, 3, 2, 2, 2, 740, 744, 5, 342, 172, 2, 741, 744, 5, 344, 173, 2, 742, 744, 5, 346, 174, 2, 743, 740, 3, 2, 2, 2, 743, 741, 3, 2, 2, 2, 743, 742, 3, 2, 2, 2, 744, 19, 3, 2, 2, 2, 745, 756, 5, 350, 176, 2, 746, 756, 5, 352, 177, 2, 747, 756, 5, 354, 178, 2, 748, 756, 5, 358, 180, 2, 749, 756, 5, 360, 181, 2, 750, 756, 5, 362, 182, 2, 751, 756, 5, 366, 184, 2, 752, 756, 5, 356, 179, 2, 753, 756, 5, 364, 183, 2, 754, 756, 5, 368, 185, 2, 755, 745, 3, 2, 2, 2, 755, 746, 3, 2, 2, 2, 755, 747, 3, 2, 2, 2, 755, 748, 3, 2, 2, 2, 755, 749, 3, 2, 2, 2, 755, 750, 3, 2, 2, 2, 755, 751, 3, 2, 2, 2, 755, 752, 3, 2, 2, 2, 755, 753, 3, 2, 2, 2, 755, 754, 3, 2, 2, 2, 756, 21, 3, 2, 2, 2, 757, 783, 5, 386, 194, 2, 758, 783, 5, 388, 195, 2, 759, 783, 5, 390, 196, 2, 760, 783, 5, 392, 197, 2, 761, 783, 5, 394, 198, 2, 762, 783, 5, 396, 199, 2, 763, 783, 5, 398, 200, 2, 764, 783, 5, 400, 201, 2, 765, 783, 5, 424, 213, 2, 766, 783, 5, 426, 214, 2, 767, 783, 5, 428, 215, 2, 768, 783, 5, 430, 216, 2, 769, 783, 5, 432, 217, 2, 770, 783, 5, 436, 219, 2, 771, 783, 5, 438, 220, 2, 772, 783, 5, 440, 221, 2, 773, 783, 5, 442, 222, 2, 774, 783, 5, 444, 223, 2, 775, 783, 5, 458, 230, 2, 776, 783, 5, 460, 231, 2, 777, 783, 5, 462, 232, 2, 778, 783, 5, 464, 233, 2, 779, 783, 5, 466, 234, 2, 780, 783, 5, 468, 235, 2, 781, 783, 5, 470, 236, 2, 782, 757, 3, 2, 2, 2, 782, 758, 3, 2, 2, 2, 782, 759, 3, 2, 2, 2, 782, 760, 3, 2, 2, 2, 782, 761, 3, 2, 2, 2, 782, 762, 3, 2, 2, 2, 782, 763, 3, 2, 2, 2, 782, 764, 3, 2, 2, 2, 782, 765, 3, 2, 2, 2, 782, 766, 3, 2, 2, 2, 782, 767, 3, 2, 2, 2, 782, 768, 3, 2, 2, 2, 782, 769, 3, 2, 2, 2, 782, 770, 3, 2, 2, 2, 782, 771, 3, 2, 2, 2, 782, 772, 3, 2, 2, 2, 782, 773, 3, 2, 2, 2, 782, 774, 3, 2, 2, 2, 782, 775, 3, 2, 2, 2, 782, 776, 3, 2, 2, 2, 782, 777, 3, 2, 2, 2, 782, 778, 3, 2, 2, 2, 782, 779, 3, 2, 2, 2, 782, 780, 3, 2, 2, 2, 782, 781, 3, 2, 2, 2, 783, 23, 3, 2, 2, 2, 784, 789, 5, 480, 241, 2, 785, 789, 5, 482, 242, 2, 786, 789, 5, 484, 243, 2, 787, 789, 5, 486, 244, 2, 788, 784, 3, 2, 2, 2, 788, 785, 3, 2, 2, 2, 788, 786, 3, 2, 2, 2, 788, 787, 3, 2, 2, 2, 789, 25, 3, 2, 2, 2, 790, 791, 7, 34, 2, 2, 791, 793, 9, 2, 2, 2, 792, 794, 5, 570, 286, 2, 793, 792, 3, 2, 2, 2, 793, 794, 3, 2, 2, 2, 794, 795, 3, 2, 2, 2, 795, 799, 5, 516, 259, 2, 796, 798, 5, 50, 26, 2, 797, 796, 3, 2, 2, 2, 798, 801, 3, 2, 2, 2, 799, 797, 3, 2, 2, 2, 799, 800, 3, 2, 2, 2, 800, 27, 3, 2, 2, 2, 801, 799, 3, 2, 2, 2, 802, 804, 7, 34, 2, 2, 803, 805, 5, 52, 27, 2, 804, 803, 3, 2, 2, 2, 804, 805, 3, 2, 2, 2, 805, 806, 3, 2, 2, 2, 806, 808, 7, 323, 2, 2, 807, 809, 5, 570, 286, 2, 808, 807, 3, 2, 2, 2, 808, 809, 3, 2, 2, 2, 809, 810, 3, 2, 2, 2, 810, 811, 5, 490, 246, 2, 811, 812, 7, 106, 2, 2, 812, 813, 7, 485, 2, 2, 813, 820, 5, 54, 28, 2, 814, 815, 7, 106, 2, 2, 815, 817, 7, 287, 2, 2, 816, 818, 7, 103, 2, 2, 817, 816, 3, 2, 2, 2, 817, 818, 3, 2, 2, 2, 818, 819, 3, 2, 2, 2, 819, 821, 7, 448, 2, 2, 820, 814, 3, 2, 2, 2, 820, 821, 3, 2, 2, 2, 821, 823, 3, 2, 2, 2, 822, 824, 5, 62, 32, 2, 823, 822, 3, 2, 2, 2, 823, 824, 3, 2, 2, 2, 824, 827, 3, 2, 2, 2, 825, 826, 7, 284, 2, 2, 826, 828, 7, 970, 2, 2, 827, 825, 3, 2, 2, 2, 827, 828, 3, 2, 2, 2, 828, 829, 3, 2, 2, 2, 829, 830, 7, 309, 2, 2, 830, 831, 5, 348, 175, 2, 831, 29, 3, 2, 2, 2, 832, 834, 7, 34, 2, 2, 833, 835, 9, 3, 2, 2, 834, 833, 3, 2, 2, 2, 834, 835, 3, 2, 2, 2, 835, 837, 3, 2, 2, 2, 836, 838, 9, 4, 2, 2, 837, 836, 3, 2, 2, 2, 837, 838, 3, 2, 2, 2, 838, 839, 3, 2, 2, 2, 839, 840, 7, 73, 2, 2, 840, 842, 5, 516, 259, 2, 841, 843, 5, 64, 33, 2, 842, 841, 3, 2, 2, 2, 842, 843, 3, 2, 2, 2, 843, 844, 3, 2, 2, 2, 844, 845, 7, 106, 2, 2, 845, 846, 5, 492, 247, 2, 846, 850, 5, 550, 276, 2, 847, 849, 5, 66, 34, 2, 848, 847, 3, 2, 2, 2, 849, 852, 3, 2, 2, 2, 850, 848, 3, 2, 2, 2, 850, 851, 3, 2, 2, 2, 851, 863, 3, 2, 2, 2, 852, 850, 3, 2, 2, 2, 853, 855, 7, 256, 2, 2, 854, 856, 7, 946, 2, 2, 855, 854, 3, 2, 2, 2, 855, 856, 3, 2, 2, 2, 856, 857, 3, 2, 2, 2, 857, 864, 9, 5, 2, 2, 858, 860, 7, 94, 2, 2, 859, 861, 7, 946, 2, 2, 860, 859, 3, 2, 2, 2, 860, 861, 3, 2, 2, 2, 861, 862, 3, 2, 2, 2, 862, 864, 9, 6, 2, 2, 863, 853, 3, 2, 2, 2, 863, 858, 3, 2, 2, 2, 863, 864, 3, 2, 2, 2, 864, 31, 3, 2, 2, 2, 865, 866, 7, 34, 2, 2, 866, 867, 7, 377, 2, 2, 867, 868, 7, 67, 2, 2, 868, 869, 5, 516, 259, 2, 869, 870, 7, 9, 2, 2, 870, 871, 7, 533, 2, 2, 871, 877, 7, 970, 2, 2, 872, 874, 7, 357, 2, 2, 873, 875, 7, 946, 2, 2, 874, 873, 3, 2, 2, 2, 874, 875, 3, 2, 2, 2, 875, 876, 3, 2, 2, 2, 876, 878, 5, 524, 263, 2, 877, 872, 3, 2, 2, 2, 877, 878, 3, 2, 2, 2, 878, 884, 3, 2, 2, 2, 879, 881, 7, 534, 2, 2, 880, 882, 7, 946, 2, 2, 881, 880, 3, 2, 2, 2, 881, 882, 3, 2, 2, 2, 882, 883, 3, 2, 2, 2, 883, 885, 5, 524, 263, 2, 884, 879, 3, 2, 2, 2, 884, 885, 3, 2, 2, 2, 885, 891, 3, 2, 2, 2, 886, 888, 7, 458, 2, 2, 887, 889, 7, 946, 2, 2, 888, 887, 3, 2, 2, 2, 888, 889, 3, 2, 2, 2, 889, 890, 3, 2, 2, 2, 890, 892, 5, 524, 263, 2, 891, 886, 3, 2, 2, 2, 891, 892, 3, 2, 2, 2, 892, 898, 3, 2, 2, 2, 893, 895, 7, 421, 2, 2, 894, 896, 7, 946, 2, 2, 895, 894, 3, 2, 2, 2, 895, 896, 3, 2, 2, 2, 896, 897, 3, 2, 2, 2, 897, 899, 5, 516, 259, 2, 898, 893, 3, 2, 2, 2, 898, 899, 3, 2, 2, 2, 899, 901, 3, 2, 2, 2, 900, 902, 7, 547, 2, 2, 901, 900, 3, 2, 2, 2, 901, 902, 3, 2, 2, 2, 902, 908, 3, 2, 2, 2, 903, 905, 7, 284, 2, 2, 904, 906, 7, 946, 2, 2, 905, 904, 3, 2, 2, 2, 905, 906, 3, 2, 2, 2, 906, 907, 3, 2, 2, 2, 907, 909, 7, 970, 2, 2, 908, 903, 3, 2, 2, 2, 908, 909, 3, 2, 2, 2, 909, 910, 3, 2, 2, 2, 910, 912, 7, 317, 2, 2, 911, 913, 7, 946, 2, 2, 912, 911, 3, 2, 2, 2, 912, 913, 3, 2, 2, 2, 913, 914, 3, 2, 2, 2, 914, 915, 5, 506, 254, 2, 915, 33, 3, 2, 2, 2, 916, 918, 7, 34, 2, 2, 917, 919, 5, 52, 27, 2, 918, 917, 3, 2, 2, 2, 918, 919, 3, 2, 2, 2, 919, 920, 3, 2, 2, 2, 920, 921, 7, 117, 2, 2, 921, 922, 5, 490, 246, 2, 922, 924, 7, 955, 2, 2, 923, 925, 5, 68, 35, 2, 924, 923, 3, 2, 2, 2, 924, 925, 3, 2, 2, 2, 925, 930, 3, 2, 2, 2, 926, 927, 7, 957, 2, 2, 927, 929, 5, 68, 35, 2, 928, 926, 3, 2, 2, 2, 929, 932, 3, 2, 2, 2, 930, 928, 3, 2, 2, 2, 930, 931, 3, 2, 2, 2, 931, 933, 3, 2, 2, 2, 932, 930, 3, 2, 2, 2, 933, 937, 7, 956, 2, 2, 934, 936, 5, 72, 37, 2, 935, 934, 3, 2, 2, 2, 936, 939, 3, 2, 2, 2, 937, 935, 3, 2, 2, 2, 937, 938, 3, 2, 2, 2, 938, 940, 3, 2, 2, 2, 939, 937, 3, 2, 2, 2, 940, 941, 5, 348, 175, 2, 941, 35, 3, 2, 2, 2, 942, 944, 7, 34, 2, 2, 943, 945, 5, 52, 27, 2, 944, 943, 3, 2, 2, 2, 944, 945, 3, 2, 2, 2, 945, 946, 3, 2, 2, 2, 946, 947, 7, 343, 2, 2, 947, 948, 5, 490, 246, 2, 948, 950, 7, 955, 2, 2, 949, 951, 5, 70, 36, 2, 950, 949, 3, 2, 2, 2, 950, 951, 3, 2, 2, 2, 951, 956, 3, 2, 2, 2, 952, 953, 7, 957, 2, 2, 953, 955, 5, 70, 36, 2, 954, 952, 3, 2, 2, 2, 955, 958, 3, 2, 2, 2, 956, 954, 3, 2, 2, 2, 956, 957, 3, 2, 2, 2, 957, 959, 3, 2, 2, 2, 958, 956, 3, 2, 2, 2, 959, 960, 7, 956, 2, 2, 960, 961, 7, 477, 2, 2, 961, 965, 5, 536, 269, 2, 962, 964, 5, 72, 37, 2, 963, 962, 3, 2, 2, 2, 964, 967, 3, 2, 2, 2, 965, 963, 3, 2, 2, 2, 965, 966, 3, 2, 2, 2, 966, 968, 3, 2, 2, 2, 967, 965, 3, 2, 2, 2, 968, 969, 5, 348, 175, 2, 969, 37, 3, 2, 2, 2, 970, 971, 7, 34, 2, 2, 971, 972, 7, 487, 2, 2, 972, 973, 5, 516, 259, 2, 973, 974, 7, 62, 2, 2, 974, 975, 7, 298, 2, 2, 975, 976, 7, 551, 2, 2, 976, 977, 9, 7, 2, 2, 977, 978, 7, 432, 2, 2, 978, 979, 7, 955, 2, 2, 979, 984, 5, 74, 38, 2, 980, 981, 7, 957, 2, 2, 981, 983, 5, 74, 38, 2, 982, 980, 3, 2, 2, 2, 983, 986, 3, 2, 2, 2, 984, 982, 3, 2, 2, 2, 984, 985, 3, 2, 2, 2, 985, 987, 3, 2, 2, 2, 986, 984, 3, 2, 2, 2, 987, 988, 7, 956, 2, 2, 988, 39, 3, 2, 2, 2, 989, 991, 7, 34, 2, 2, 990, 992, 7, 525, 2, 2, 991, 990, 3, 2, 2, 2, 991, 992, 3, 2, 2, 2, 992, 993, 3, 2, 2, 2, 993, 995, 7, 151, 2, 2, 994, 996, 5, 570, 286, 2, 995, 994, 3, 2, 2, 2, 995, 996, 3, 2, 2, 2, 996, 997, 3, 2, 2, 2, 997, 1005, 5, 492, 247, 2, 998, 999, 7, 89, 2, 2, 999, 1006, 5, 492, 247, 2, 1000, 1001, 7, 955, 2, 2, 1001, 1002, 7, 89, 2, 2, 1002, 1003, 5, 492, 247, 2, 1003, 1004, 7, 956, 2, 2, 1004, 1006, 3, 2, 2, 2, 1005, 998, 3, 2, 2, 2, 1005, 1000, 3, 2, 2, 2, 1006, 1068, 3, 2, 2, 2, 1007, 1009, 7, 34, 2, 2, 1008, 1010, 7, 525, 2, 2, 1009, 1008, 3, 2, 2, 2, 1009, 1010, 3, 2, 2, 2, 1010, 1011, 3, 2, 2, 2, 1011, 1013, 7, 151, 2, 2, 1012, 1014, 5, 570, 286, 2, 1013, 1012, 3, 2, 2, 2, 1013, 1014, 3, 2, 2, 2, 1014, 1015, 3, 2, 2, 2, 1015, 1017, 5, 492, 247, 2, 1016, 1018, 5, 76, 39, 2, 1017, 1016, 3, 2, 2, 2, 1017, 1018, 3, 2, 2, 2, 1018, 1029, 3, 2, 2, 2, 1019, 1026, 5, 94, 48, 2, 1020, 1022, 7, 957, 2, 2, 1021, 1020, 3, 2, 2, 2, 1021, 1022, 3, 2, 2, 2, 1022, 1023, 3, 2, 2, 2, 1023, 1025, 5, 94, 48, 2, 1024, 1021, 3, 2, 2, 2, 1025, 1028, 3, 2, 2, 2, 1026, 1024, 3, 2, 2, 2, 1026, 1027, 3, 2, 2, 2, 1027, 1030, 3, 2, 2, 2, 1028, 1026, 3, 2, 2, 2, 1029, 1019, 3, 2, 2, 2, 1029, 1030, 3, 2, 2, 2, 1030, 1032, 3, 2, 2, 2, 1031, 1033, 5, 98, 50, 2, 1032, 1031, 3, 2, 2, 2, 1032, 1033, 3, 2, 2, 2, 1033, 1035, 3, 2, 2, 2, 1034, 1036, 9, 8, 2, 2, 1035, 1034, 3, 2, 2, 2, 1035, 1036, 3, 2, 2, 2, 1036, 1038, 3, 2, 2, 2, 1037, 1039, 7, 15, 2, 2, 1038, 1037, 3, 2, 2, 2, 1038, 1039, 3, 2, 2, 2, 1039, 1040, 3, 2, 2, 2, 1040, 1041, 5, 180, 91, 2, 1041, 1068, 3, 2, 2, 2, 1042, 1044, 7, 34, 2, 2, 1043, 1045, 7, 525, 2, 2, 1044, 1043, 3, 2, 2, 2, 1044, 1045, 3, 2, 2, 2, 1045, 1046, 3, 2, 2, 2, 1046, 1048, 7, 151, 2, 2, 1047, 1049, 5, 570, 286, 2, 1048, 1047, 3, 2, 2, 2, 1048, 1049, 3, 2, 2, 2, 1049, 1050, 3, 2, 2, 2, 1050, 1051, 5, 492, 247, 2, 1051, 1062, 5, 76, 39, 2, 1052, 1059, 5, 94, 48, 2, 1053, 1055, 7, 957, 2, 2, 1054, 1053, 3, 2, 2, 2, 1054, 1055, 3, 2, 2, 2, 1055, 1056, 3, 2, 2, 2, 1056, 1058, 5, 94, 48, 2, 1057, 1054, 3, 2, 2, 2, 1058, 1061, 3, 2, 2, 2, 1059, 1057, 3, 2, 2, 2, 1059, 1060, 3, 2, 2, 2, 1060, 1063, 3, 2, 2, 2, 1061, 1059, 3, 2, 2, 2, 1062, 1052, 3, 2, 2, 2, 1062, 1063, 3, 2, 2, 2, 1063, 1065, 3, 2, 2, 2, 1064, 1066, 5, 98, 50, 2, 1065, 1064, 3, 2, 2, 2, 1065, 1066, 3, 2, 2, 2, 1066, 1068, 3, 2, 2, 2, 1067, 989, 3, 2, 2, 2, 1067, 1007, 3, 2, 2, 2, 1067, 1042, 3, 2, 2, 2, 1068, 41, 3, 2, 2, 2, 1069, 1070, 7, 34, 2, 2, 1070, 1071, 7, 524, 2, 2, 1071, 1072, 5, 516, 259, 2, 1072, 1073, 7, 9, 2, 2, 1073, 1074, 7, 299, 2, 2, 1074, 1078, 7, 970, 2, 2, 1075, 1076, 7, 335, 2, 2, 1076, 1077, 7, 946, 2, 2, 1077, 1079, 5, 524, 263, 2, 1078, 1075, 3, 2, 2, 2, 1078, 1079, 3, 2, 2, 2, 1079, 1085, 3, 2, 2, 2, 1080, 1082, 7, 317, 2, 2, 1081, 1083, 7, 946, 2, 2, 1082, 1081, 3, 2, 2, 2, 1082, 1083, 3, 2, 2, 2, 1083, 1084, 3, 2, 2, 2, 1084, 1086, 5, 506, 254, 2, 1085, 1080, 3, 2, 2, 2, 1085, 1086, 3, 2, 2, 2, 1086, 43, 3, 2, 2, 2, 1087, 1088, 7, 34, 2, 2, 1088, 1089, 7, 524, 2, 2, 1089, 1090, 5, 516, 259, 2, 1090, 1091, 7, 9, 2, 2, 1091, 1092, 7, 299, 2, 2, 1092, 1093, 7, 970, 2, 2, 1093, 1094, 7, 165, 2, 2, 1094, 1095, 7, 377, 2, 2, 1095, 1096, 7, 67, 2, 2, 1096, 1102, 5, 516, 259, 2, 1097, 1099, 7, 331, 2, 2, 1098, 1100, 7, 946, 2, 2, 1099, 1098, 3, 2, 2, 2, 1099, 1100, 3, 2, 2, 2, 1100, 1101, 3, 2, 2, 2, 1101, 1103, 5, 524, 263, 2, 1102, 1097, 3, 2, 2, 2, 1102, 1103, 3, 2, 2, 2, 1103, 1109, 3, 2, 2, 2, 1104, 1106, 7, 357, 2, 2, 1105, 1107, 7, 946, 2, 2, 1106, 1105, 3, 2, 2, 2, 1106, 1107, 3, 2, 2, 2, 1107, 1108, 3, 2, 2, 2, 1108, 1110, 5, 524, 263, 2, 1109, 1104, 3, 2, 2, 2, 1109, 1110, 3, 2, 2, 2, 1110, 1116, 3, 2, 2, 2, 1111, 1113, 7, 261, 2, 2, 1112, 1114, 7, 946, 2, 2, 1113, 1112, 3, 2, 2, 2, 1113, 1114, 3, 2, 2, 2, 1114, 1115, 3, 2, 2, 2, 1115, 1117, 5, 524, 263, 2, 1116, 1111, 3, 2, 2, 2, 1116, 1117, 3, 2, 2, 2, 1117, 1123, 3, 2, 2, 2, 1118, 1120, 7, 403, 2, 2, 1119, 1121, 7, 946, 2, 2, 1120, 1119, 3, 2, 2, 2, 1120, 1121, 3, 2, 2, 2, 1121, 1122, 3, 2, 2, 2, 1122, 1124, 5, 524, 263, 2, 1123, 1118, 3, 2, 2, 2, 1123, 1124, 3, 2, 2, 2, 1124, 1130, 3, 2, 2, 2, 1125, 1127, 7, 421, 2, 2, 1126, 1128, 7, 946, 2, 2, 1127, 1126, 3, 2, 2, 2, 1127, 1128, 3, 2, 2, 2, 1128, 1129, 3, 2, 2, 2, 1129, 1131, 5, 516, 259, 2, 1130, 1125, 3, 2, 2, 2, 1130, 1131, 3, 2, 2, 2, 1131, 1133, 3, 2, 2, 2, 1132, 1134, 7, 547, 2, 2, 1133, 1132, 3, 2, 2, 2, 1133, 1134, 3, 2, 2, 2, 1134, 1140, 3, 2, 2, 2, 1135, 1137, 7, 284, 2, 2, 1136, 1138, 7, 946, 2, 2, 1137, 1136, 3, 2, 2, 2, 1137, 1138, 3, 2, 2, 2, 1138, 1139, 3, 2, 2, 2, 1139, 1141, 7, 970, 2, 2, 1140, 1135, 3, 2, 2, 2, 1140, 1141, 3, 2, 2, 2, 1141, 1142, 3, 2, 2, 2, 1142, 1144, 7, 317, 2, 2, 1143, 1145, 7, 946, 2, 2, 1144, 1143, 3, 2, 2, 2, 1144, 1145, 3, 2, 2, 2, 1145, 1146, 3, 2, 2, 2, 1146, 1147, 5, 506, 254, 2, 1147, 45, 3, 2, 2, 2, 1148, 1150, 7, 34, 2, 2, 1149, 1151, 5, 52, 27, 2, 1150, 1149, 3, 2, 2, 2, 1150, 1151, 3, 2, 2, 2, 1151, 1152, 3, 2, 2, 2, 1152, 1153, 7, 156, 2, 2, 1153, 1154, 5, 490, 246, 2, 1154, 1155, 9, 9, 2, 2, 1155, 1156, 9, 10, 2, 2, 1156, 1157, 7, 106, 2, 2, 1157, 1158, 5, 492, 247, 2, 1158, 1159, 7, 60, 2, 2, 1159, 1160, 7, 50, 2, 2, 1160, 1163, 7, 481, 2, 2, 1161, 1162, 9, 11, 2, 2, 1162, 1164, 5, 490, 246, 2, 1163, 1161, 3, 2, 2, 2, 1163, 1164, 3, 2, 2, 2, 1164, 1165, 3, 2, 2, 2, 1165, 1166, 5, 348, 175, 2, 1166, 47, 3, 2, 2, 2, 1167, 1170, 7, 34, 2, 2, 1168, 1169, 7, 110, 2, 2, 1169, 1171, 7, 127, 2, 2, 1170, 1168, 3, 2, 2, 2, 1170, 1171, 3, 2, 2, 2, 1171, 1175, 3, 2, 2, 2, 1172, 1173, 7, 256, 2, 2, 1173, 1174, 7, 946, 2, 2, 1174, 1176, 9, 12, 2, 2, 1175, 1172, 3, 2, 2, 2, 1175, 1176, 3, 2, 2, 2, 1176, 1178, 3, 2, 2, 2, 1177, 1179, 5, 52, 27, 2, 1178, 1177, 3, 2, 2, 2, 1178, 1179, 3, 2, 2, 2, 1179, 1183, 3, 2, 2, 2, 1180, 1181, 7, 141, 2, 2, 1181, 1182, 7, 486, 2, 2, 1182, 1184, 9, 13, 2, 2, 1183, 1180, 3, 2, 2, 2, 1183, 1184, 3, 2, 2, 2, 1184, 1185, 3, 2, 2, 2, 1185, 1186, 7, 545, 2, 2, 1186, 1191, 5, 490, 246, 2, 1187, 1188, 7, 955, 2, 2, 1188, 1189, 5, 546, 274, 2, 1189, 1190, 7, 956, 2, 2, 1190, 1192, 3, 2, 2, 2, 1191, 1187, 3, 2, 2, 2, 1191, 1192, 3, 2, 2, 2, 1192, 1193, 3, 2, 2, 2, 1193, 1194, 7, 15, 2, 2, 1194, 1201, 5, 180, 91, 2, 1195, 1197, 7, 171, 2, 2, 1196, 1198, 9, 14, 2, 2, 1197, 1196, 3, 2, 2, 2, 1197, 1198, 3, 2, 2, 2, 1198, 1199, 3, 2, 2, 2, 1199, 1200, 7, 27, 2, 2, 1200, 1202, 7, 108, 2, 2, 1201, 1195, 3, 2, 2, 2, 1201, 1202, 3, 2, 2, 2, 1202, 49, 3, 2, 2, 2, 1203, 1205, 7, 41, 2, 2, 1204, 1203, 3, 2, 2, 2, 1204, 1205, 3, 2, 2, 2, 1205, 1209, 3, 2, 2, 2, 1206, 1207, 7, 26, 2, 2, 1207, 1210, 7, 137, 2, 2, 1208, 1210, 7, 667, 2, 2, 1209, 1206, 3, 2, 2, 2, 1209, 1208, 3, 2, 2, 2, 1210, 1212, 3, 2, 2, 2, 1211, 1213, 7, 946, 2, 2, 1212, 1211, 3, 2, 2, 2, 1212, 1213, 3, 2, 2, 2, 1213, 1214, 3, 2, 2, 2, 1214, 1224, 5, 502, 252, 2, 1215, 1217, 7, 41, 2, 2, 1216, 1215, 3, 2, 2, 2, 1216, 1217, 3, 2, 2, 2, 1217, 1218, 3, 2, 2, 2, 1218, 1220, 7, 28, 2, 2, 1219, 1221, 7, 946, 2, 2, 1220, 1219, 3, 2, 2, 2, 1220, 1221, 3, 2, 2, 2, 1221, 1222, 3, 2, 2, 2, 1222, 1224, 5, 504, 253, 2, 1223, 1204, 3, 2, 2, 2, 1223, 1216, 3, 2, 2, 2, 1224, 51, 3, 2, 2, 2, 1225, 1226, 7, 302, 2, 2, 1226, 1233, 7, 946, 2, 2, 1227, 1234, 5, 498, 250, 2, 1228, 1231, 7, 36, 2, 2, 1229, 1230, 7, 955, 2, 2, 1230, 1232, 7, 956, 2, 2, 1231, 1229, 3, 2, 2, 2, 1231, 1232, 3, 2, 2, 2, 1232, 1234, 3, 2, 2, 2, 1233, 1227, 3, 2, 2, 2, 1233, 1228, 3, 2, 2, 2, 1234, 53, 3, 2, 2, 2, 1235, 1236, 7, 258, 2, 2, 1236, 1240, 5, 56, 29, 2, 1237, 1239, 5, 58, 30, 2, 1238, 1237, 3, 2, 2, 2, 1239, 1242, 3, 2, 2, 2, 1240, 1238, 3, 2, 2, 2, 1240, 1241, 3, 2, 2, 2, 1241, 1270, 3, 2, 2, 2, 1242, 1240, 3, 2, 2, 2, 1243, 1246, 7, 325, 2, 2, 1244, 1247, 5, 522, 262, 2, 1245, 1247, 5, 592, 297, 2, 1246, 1244, 3, 2, 2, 2, 1246, 1245, 3, 2, 2, 2, 1247, 1248, 3, 2, 2, 2, 1248, 1257, 5, 60, 31, 2, 1249, 1250, 7, 509, 2, 2, 1250, 1254, 5, 56, 29, 2, 1251, 1253, 5, 58, 30, 2, 1252, 1251, 3, 2, 2, 2, 1253, 1256, 3, 2, 2, 2, 1254, 1252, 3, 2, 2, 2, 1254, 1255, 3, 2, 2, 2, 1255, 1258, 3, 2, 2, 2, 1256, 1254, 3, 2, 2, 2, 1257, 1249, 3, 2, 2, 2, 1257, 1258, 3, 2, 2, 2, 1258, 1267, 3, 2, 2, 2, 1259, 1260, 7, 316, 2, 2, 1260, 1264, 5, 56, 29, 2, 1261, 1263, 5, 58, 30, 2, 1262, 1261, 3, 2, 2, 2, 1263, 1266, 3, 2, 2, 2, 1264, 1262, 3, 2, 2, 2, 1264, 1265, 3, 2, 2, 2, 1265, 1268, 3, 2, 2, 2, 1266, 1264, 3, 2, 2, 2, 1267, 1259, 3, 2, 2, 2, 1267, 1268, 3, 2, 2, 2, 1268, 1270, 3, 2, 2, 2, 1269, 1235, 3, 2, 2, 2, 1269, 1243, 3, 2, 2, 2, 1270, 55, 3, 2, 2, 2, 1271, 1276, 7, 235, 2, 2, 1272, 1276, 5, 526, 264, 2, 1273, 1276, 5, 522, 262, 2, 1274, 1276, 5, 592, 297, 2, 1275, 1271, 3, 2, 2, 2, 1275, 1272, 3, 2, 2, 2, 1275, 1273, 3, 2, 2, 2, 1275, 1274, 3, 2, 2, 2, 1276, 57, 3, 2, 2, 2, 1277, 1278, 7, 941, 2, 2, 1278, 1281, 7, 78, 2, 2, 1279, 1282, 5, 522, 262, 2, 1280, 1282, 5, 592, 297, 2, 1281, 1279, 3, 2, 2, 2, 1281, 1280, 3, 2, 2, 2, 1282, 1283, 3, 2, 2, 2, 1283, 1284, 5, 60, 31, 2, 1284, 59, 3, 2, 2, 2, 1285, 1299, 5, 614, 308, 2, 1286, 1299, 7, 190, 2, 2, 1287, 1299, 7, 205, 2, 2, 1288, 1299, 7, 206, 2, 2, 1289, 1299, 7, 207, 2, 2, 1290, 1299, 7, 208, 2, 2, 1291, 1299, 7, 209, 2, 2, 1292, 1299, 7, 210, 2, 2, 1293, 1299, 7, 211, 2, 2, 1294, 1299, 7, 212, 2, 2, 1295, 1299, 7, 213, 2, 2, 1296, 1299, 7, 214, 2, 2, 1297, 1299, 7, 215, 2, 2, 1298, 1285, 3, 2, 2, 2, 1298, 1286, 3, 2, 2, 2, 1298, 1287, 3, 2, 2, 2, 1298, 1288, 3, 2, 2, 2, 1298, 1289, 3, 2, 2, 2, 1298, 1290, 3, 2, 2, 2, 1298, 1291, 3, 2, 2, 2, 1298, 1292, 3, 2, 2, 2, 1298, 1293, 3, 2, 2, 2, 1298, 1294, 3, 2, 2, 2, 1298, 1295, 3, 2, 2, 2, 1298, 1296, 3, 2, 2, 2, 1298, 1297, 3, 2, 2, 2, 1299, 61, 3, 2, 2, 2, 1300, 1306, 7, 313, 2, 2, 1301, 1306, 7, 306, 2, 2, 1302, 1303, 7, 306, 2, 2, 1303, 1304, 7, 106, 2, 2, 1304, 1306, 7, 493, 2, 2, 1305, 1300, 3, 2, 2, 2, 1305, 1301, 3, 2, 2, 2, 1305, 1302, 3, 2, 2, 2, 1306, 63, 3, 2, 2, 2, 1307, 1308, 7, 166, 2, 2, 1308, 1309, 9, 15, 2, 2, 1309, 65, 3, 2, 2, 2, 1310, 1312, 7, 369, 2, 2, 1311, 1313, 7, 946, 2, 2, 1312, 1311, 3, 2, 2, 2, 1312, 1313, 3, 2, 2, 2, 1313, 1314, 3, 2, 2, 2, 1314, 1322, 5, 524, 263, 2, 1315, 1322, 5, 64, 33, 2, 1316, 1317, 7, 171, 2, 2, 1317, 1318, 7, 436, 2, 2, 1318, 1322, 5, 516, 259, 2, 1319, 1320, 7, 284, 2, 2, 1320, 1322, 7, 970, 2, 2, 1321, 1310, 3, 2, 2, 2, 1321, 1315, 3, 2, 2, 2, 1321, 1316, 3, 2, 2, 2, 1321, 1319, 3, 2, 2, 2, 1322, 67, 3, 2, 2, 2, 1323, 1324, 9, 16, 2, 2, 1324, 1325, 5, 516, 259, 2, 1325, 1326, 5, 536, 269, 2, 1326, 69, 3, 2, 2, 2, 1327, 1328, 5, 516, 259, 2, 1328, 1329, 5, 536, 269, 2, 1329, 71, 3, 2, 2, 2, 1330, 1331, 7, 284, 2, 2, 1331, 1354, 7, 970, 2, 2, 1332, 1333, 7, 370, 2, 2, 1333, 1354, 7, 141, 2, 2, 1334, 1336, 7, 103, 2, 2, 1335, 1334, 3, 2, 2, 2, 1335, 1336, 3, 2, 2, 2, 1336, 1337, 3, 2, 2, 2, 1337, 1354, 7, 46, 2, 2, 1338, 1339, 7, 293, 2, 2, 1339, 1349, 7, 141, 2, 2, 1340, 1341, 7, 420, 2, 2, 1341, 1349, 7, 141, 2, 2, 1342, 1343, 7, 121, 2, 2, 1343, 1344, 7, 141, 2, 2, 1344, 1349, 7, 298, 2, 2, 1345, 1346, 7, 101, 2, 2, 1346, 1347, 7, 141, 2, 2, 1347, 1349, 7, 298, 2, 2, 1348, 1338, 3, 2, 2, 2, 1348, 1340, 3, 2, 2, 2, 1348, 1342, 3, 2, 2, 2, 1348, 1345, 3, 2, 2, 2, 1349, 1354, 3, 2, 2, 2, 1350, 1351, 7, 141, 2, 2, 1351, 1352, 7, 486, 2, 2, 1352, 1354, 9, 13, 2, 2, 1353, 1330, 3, 2, 2, 2, 1353, 1332, 3, 2, 2, 2, 1353, 1335, 3, 2, 2, 2, 1353, 1348, 3, 2, 2, 2, 1353, 1350, 3, 2, 2, 2, 1354, 73, 3, 2, 2, 2, 1355, 1356, 7, 351, 2, 2, 1356, 1370, 7, 970, 2, 2, 1357, 1358, 7, 38, 2, 2, 1358, 1370, 7, 970, 2, 2, 1359, 1360, 7, 539, 2, 2, 1360, 1370, 7, 970, 2, 2, 1361, 1362, 7, 440, 2, 2, 1362, 1370, 7, 970, 2, 2, 1363, 1364, 7, 496, 2, 2, 1364, 1370, 7, 970, 2, 2, 1365, 1366, 7, 433, 2, 2, 1366, 1370, 7, 970, 2, 2, 1367, 1368, 7, 445, 2, 2, 1368, 1370, 5, 522, 262, 2, 1369, 1355, 3, 2, 2, 2, 1369, 1357, 3, 2, 2, 2, 1369, 1359, 3, 2, 2, 2, 1369, 1361, 3, 2, 2, 2, 1369, 1363, 3, 2, 2, 2, 1369, 1365, 3, 2, 2, 2, 1369, 1367, 3, 2, 2, 2, 1370, 75, 3, 2, 2, 2, 1371, 1372, 7, 955, 2, 2, 1372, 1377, 5, 78, 40, 2, 1373, 1374, 7, 957, 2, 2, 1374, 1376, 5, 78, 40, 2, 1375, 1373, 3, 2, 2, 2, 1376, 1379, 3, 2, 2, 2, 1377, 1375, 3, 2, 2, 2, 1377, 1378, 3, 2, 2, 2, 1378, 1380, 3, 2, 2, 2, 1379, 1377, 3, 2, 2, 2, 1380, 1381, 7, 956, 2, 2, 1381, 77, 3, 2, 2, 2, 1382, 1383, 5, 516, 259, 2, 1383, 1384, 5, 80, 41, 2, 1384, 1388, 3, 2, 2, 2, 1385, 1388, 5, 84, 43, 2, 1386, 1388, 5, 92, 47, 2, 1387, 1382, 3, 2, 2, 2, 1387, 1385, 3, 2, 2, 2, 1387, 1386, 3, 2, 2, 2, 1388, 79, 3, 2, 2, 2, 1389, 1393, 5, 536, 269, 2, 1390, 1392, 5, 82, 42, 2, 1391, 1390, 3, 2, 2, 2, 1392, 1395, 3, 2, 2, 2, 1393, 1391, 3, 2, 2, 2, 1393, 1394, 3, 2, 2, 2, 1394, 81, 3, 2, 2, 2, 1395, 1393, 3, 2, 2, 2, 1396, 1430, 5, 532, 267, 2, 1397, 1398, 7, 41, 2, 2, 1398, 1430, 5, 562, 282, 2, 1399, 1430, 7, 262, 2, 2, 1400, 1402, 7, 116, 2, 2, 1401, 1400, 3, 2, 2, 2, 1401, 1402, 3, 2, 2, 2, 1402, 1403, 3, 2, 2, 2, 1403, 1430, 7, 83, 2, 2, 1404, 1406, 7, 160, 2, 2, 1405, 1407, 7, 83, 2, 2, 1406, 1405, 3, 2, 2, 2, 1406, 1407, 3, 2, 2, 2, 1407, 1430, 3, 2, 2, 2, 1408, 1409, 7, 284, 2, 2, 1409, 1430, 7, 970, 2, 2, 1410, 1411, 7, 283, 2, 2, 1411, 1430, 9, 17, 2, 2, 1412, 1413, 7, 515, 2, 2, 1413, 1430, 9, 18, 2, 2, 1414, 1430, 5, 86, 44, 2, 1415, 1416, 7, 65, 2, 2, 1416, 1418, 7, 12, 2, 2, 1417, 1415, 3, 2, 2, 2, 1417, 1418, 3, 2, 2, 2, 1418, 1419, 3, 2, 2, 2, 1419, 1420, 7, 15, 2, 2, 1420, 1421, 7, 955, 2, 2, 1421, 1422, 5, 592, 297, 2, 1422, 1424, 7, 956, 2, 2, 1423, 1425, 9, 19, 2, 2, 1424, 1423, 3, 2, 2, 2, 1424, 1425, 3, 2, 2, 2, 1425, 1430, 3, 2, 2, 2, 1426, 1427, 7, 204, 2, 2, 1427, 1428, 7, 41, 2, 2, 1428, 1430, 7, 543, 2, 2, 1429, 1396, 3, 2, 2, 2, 1429, 1397, 3, 2, 2, 2, 1429, 1399, 3, 2, 2, 2, 1429, 1401, 3, 2, 2, 2, 1429, 1404, 3, 2, 2, 2, 1429, 1408, 3, 2, 2, 2, 1429, 1410, 3, 2, 2, 2, 1429, 1412, 3, 2, 2, 2, 1429, 1414, 3, 2, 2, 2, 1429, 1417, 3, 2, 2, 2, 1429, 1426, 3, 2, 2, 2, 1430, 83, 3, 2, 2, 2, 1431, 1433, 7, 31, 2, 2, 1432, 1434, 5, 516, 259, 2, 1433, 1432, 3, 2, 2, 2, 1433, 1434, 3, 2, 2, 2, 1434, 1436, 3, 2, 2, 2, 1435, 1431, 3, 2, 2, 2, 1435, 1436, 3, 2, 2, 2, 1436, 1437, 3, 2, 2, 2, 1437, 1438, 7, 116, 2, 2, 1438, 1440, 7, 83, 2, 2, 1439, 1441, 5, 64, 33, 2, 1440, 1439, 3, 2, 2, 2, 1440, 1441, 3, 2, 2, 2, 1441, 1442, 3, 2, 2, 2, 1442, 1446, 5, 550, 276, 2, 1443, 1445, 5, 66, 34, 2, 1444, 1443, 3, 2, 2, 2, 1445, 1448, 3, 2, 2, 2, 1446, 1444, 3, 2, 2, 2, 1446, 1447, 3, 2, 2, 2, 1447, 1498, 3, 2, 2, 2, 1448, 1446, 3, 2, 2, 2, 1449, 1451, 7, 31, 2, 2, 1450, 1452, 5, 516, 259, 2, 1451, 1450, 3, 2, 2, 2, 1451, 1452, 3, 2, 2, 2, 1452, 1454, 3, 2, 2, 2, 1453, 1449, 3, 2, 2, 2, 1453, 1454, 3, 2, 2, 2, 1454, 1455, 3, 2, 2, 2, 1455, 1457, 7, 160, 2, 2, 1456, 1458, 9, 20, 2, 2, 1457, 1456, 3, 2, 2, 2, 1457, 1458, 3, 2, 2, 2, 1458, 1460, 3, 2, 2, 2, 1459, 1461, 5, 516, 259, 2, 1460, 1459, 3, 2, 2, 2, 1460, 1461, 3, 2, 2, 2, 1461, 1463, 3, 2, 2, 2, 1462, 1464, 5, 64, 33, 2, 1463, 1462, 3, 2, 2, 2, 1463, 1464, 3, 2, 2, 2, 1464, 1465, 3, 2, 2, 2, 1465, 1469, 5, 550, 276, 2, 1466, 1468, 5, 66, 34, 2, 1467, 1466, 3, 2, 2, 2, 1468, 1471, 3, 2, 2, 2, 1469, 1467, 3, 2, 2, 2, 1469, 1470, 3, 2, 2, 2, 1470, 1498, 3, 2, 2, 2, 1471, 1469, 3, 2, 2, 2, 1472, 1474, 7, 31, 2, 2, 1473, 1475, 5, 516, 259, 2, 1474, 1473, 3, 2, 2, 2, 1474, 1475, 3, 2, 2, 2, 1475, 1477, 3, 2, 2, 2, 1476, 1472, 3, 2, 2, 2, 1476, 1477, 3, 2, 2, 2, 1477, 1478, 3, 2, 2, 2, 1478, 1479, 7, 62, 2, 2, 1479, 1481, 7, 83, 2, 2, 1480, 1482, 5, 516, 259, 2, 1481, 1480, 3, 2, 2, 2, 1481, 1482, 3, 2, 2, 2, 1482, 1483, 3, 2, 2, 2, 1483, 1484, 5, 550, 276, 2, 1484, 1485, 5, 86, 44, 2, 1485, 1498, 3, 2, 2, 2, 1486, 1488, 7, 31, 2, 2, 1487, 1489, 5, 516, 259, 2, 1488, 1487, 3, 2, 2, 2, 1488, 1489, 3, 2, 2, 2, 1489, 1491, 3, 2, 2, 2, 1490, 1486, 3, 2, 2, 2, 1490, 1491, 3, 2, 2, 2, 1491, 1492, 3, 2, 2, 2, 1492, 1493, 7, 27, 2, 2, 1493, 1494, 7, 955, 2, 2, 1494, 1495, 5, 592, 297, 2, 1495, 1496, 7, 956, 2, 2, 1496, 1498, 3, 2, 2, 2, 1497, 1435, 3, 2, 2, 2, 1497, 1453, 3, 2, 2, 2, 1497, 1476, 3, 2, 2, 2, 1497, 1490, 3, 2, 2, 2, 1498, 85, 3, 2, 2, 2, 1499, 1500, 7, 122, 2, 2, 1500, 1501, 5, 492, 247, 2, 1501, 1504, 5, 550, 276, 2, 1502, 1503, 7, 99, 2, 2, 1503, 1505, 9, 21, 2, 2, 1504, 1502, 3, 2, 2, 2, 1504, 1505, 3, 2, 2, 2, 1505, 1507, 3, 2, 2, 2, 1506, 1508, 5, 88, 45, 2, 1507, 1506, 3, 2, 2, 2, 1507, 1508, 3, 2, 2, 2, 1508, 87, 3, 2, 2, 2, 1509, 1510, 7, 106, 2, 2, 1510, 1511, 7, 43, 2, 2, 1511, 1515, 5, 90, 46, 2, 1512, 1513, 7, 106, 2, 2, 1513, 1514, 7, 163, 2, 2, 1514, 1516, 5, 90, 46, 2, 1515, 1512, 3, 2, 2, 2, 1515, 1516, 3, 2, 2, 2, 1516, 1526, 3, 2, 2, 2, 1517, 1518, 7, 106, 2, 2, 1518, 1519, 7, 163, 2, 2, 1519, 1523, 5, 90, 46, 2, 1520, 1521, 7, 106, 2, 2, 1521, 1522, 7, 43, 2, 2, 1522, 1524, 5, 90, 46, 2, 1523, 1520, 3, 2, 2, 2, 1523, 1524, 3, 2, 2, 2, 1524, 1526, 3, 2, 2, 2, 1525, 1509, 3, 2, 2, 2, 1525, 1517, 3, 2, 2, 2, 1526, 89, 3, 2, 2, 2, 1527, 1534, 7, 129, 2, 2, 1528, 1534, 7, 22, 2, 2, 1529, 1530, 7, 137, 2, 2, 1530, 1534, 7, 105, 2, 2, 1531, 1532, 7, 420, 2, 2, 1532, 1534, 7, 253, 2, 2, 1533, 1527, 3, 2, 2, 2, 1533, 1528, 3, 2, 2, 2, 1533, 1529, 3, 2, 2, 2, 1533, 1531, 3, 2, 2, 2, 1534, 91, 3, 2, 2, 2, 1535, 1537, 9, 20, 2, 2, 1536, 1538, 5, 516, 259, 2, 1537, 1536, 3, 2, 2, 2, 1537, 1538, 3, 2, 2, 2, 1538, 1540, 3, 2, 2, 2, 1539, 1541, 5, 64, 33, 2, 1540, 1539, 3, 2, 2, 2, 1540, 1541, 3, 2, 2, 2, 1541, 1542, 3, 2, 2, 2, 1542, 1546, 5, 550, 276, 2, 1543, 1545, 5, 66, 34, 2, 1544, 1543, 3, 2, 2, 2, 1545, 1548, 3, 2, 2, 2, 1546, 1544, 3, 2, 2, 2, 1546, 1547, 3, 2, 2, 2, 1547, 1564, 3, 2, 2, 2, 1548, 1546, 3, 2, 2, 2, 1549, 1551, 9, 22, 2, 2, 1550, 1552, 9, 20, 2, 2, 1551, 1550, 3, 2, 2, 2, 1551, 1552, 3, 2, 2, 2, 1552, 1554, 3, 2, 2, 2, 1553, 1555, 5, 516, 259, 2, 1554, 1553, 3, 2, 2, 2, 1554, 1555, 3, 2, 2, 2, 1555, 1556, 3, 2, 2, 2, 1556, 1560, 5, 550, 276, 2, 1557, 1559, 5, 66, 34, 2, 1558, 1557, 3, 2, 2, 2, 1559, 1562, 3, 2, 2, 2, 1560, 1558, 3, 2, 2, 2, 1560, 1561, 3, 2, 2, 2, 1561, 1564, 3, 2, 2, 2, 1562, 1560, 3, 2, 2, 2, 1563, 1535, 3, 2, 2, 2, 1563, 1549, 3, 2, 2, 2, 1564, 93, 3, 2, 2, 2, 1565, 1567, 7, 317, 2, 2, 1566, 1568, 7, 946, 2, 2, 1567, 1566, 3, 2, 2, 2, 1567, 1568, 3, 2, 2, 2, 1568, 1569, 3, 2, 2, 2, 1569, 1706, 5, 506, 254, 2, 1570, 1572, 7, 262, 2, 2, 1571, 1573, 7, 946, 2, 2, 1572, 1571, 3, 2, 2, 2, 1572, 1573, 3, 2, 2, 2, 1573, 1574, 3, 2, 2, 2, 1574, 1706, 5, 522, 262, 2, 1575, 1577, 7, 263, 2, 2, 1576, 1578, 7, 946, 2, 2, 1577, 1576, 3, 2, 2, 2, 1577, 1578, 3, 2, 2, 2, 1578, 1579, 3, 2, 2, 2, 1579, 1706, 5, 522, 262, 2, 1580, 1582, 7, 41, 2, 2, 1581, 1580, 3, 2, 2, 2, 1581, 1582, 3, 2, 2, 2, 1582, 1586, 3, 2, 2, 2, 1583, 1584, 7, 26, 2, 2, 1584, 1587, 7, 137, 2, 2, 1585, 1587, 7, 667, 2, 2, 1586, 1583, 3, 2, 2, 2, 1586, 1585, 3, 2, 2, 2, 1587, 1589, 3, 2, 2, 2, 1588, 1590, 7, 946, 2, 2, 1589, 1588, 3, 2, 2, 2, 1589, 1590, 3, 2, 2, 2, 1590, 1591, 3, 2, 2, 2, 1591, 1706, 5, 502, 252, 2, 1592, 1594, 7, 276, 2, 2, 1593, 1595, 7, 946, 2, 2, 1594, 1593, 3, 2, 2, 2, 1594, 1595, 3, 2, 2, 2, 1595, 1596, 3, 2, 2, 2, 1596, 1706, 9, 23, 2, 2, 1597, 1599, 7, 41, 2, 2, 1598, 1597, 3, 2, 2, 2, 1598, 1599, 3, 2, 2, 2, 1599, 1600, 3, 2, 2, 2, 1600, 1602, 7, 28, 2, 2, 1601, 1603, 7, 946, 2, 2, 1602, 1601, 3, 2, 2, 2, 1602, 1603, 3, 2, 2, 2, 1603, 1604, 3, 2, 2, 2, 1604, 1706, 5, 504, 253, 2, 1605, 1607, 7, 284, 2, 2, 1606, 1608, 7, 946, 2, 2, 1607, 1606, 3, 2, 2, 2, 1607, 1608, 3, 2, 2, 2, 1608, 1609, 3, 2, 2, 2, 1609, 1706, 7, 970, 2, 2, 1610, 1612, 7, 289, 2, 2, 1611, 1613, 7, 946, 2, 2, 1612, 1611, 3, 2, 2, 2, 1612, 1613, 3, 2, 2, 2, 1613, 1614, 3, 2, 2, 2, 1614, 1706, 7, 970, 2, 2, 1615, 1617, 7, 291, 2, 2, 1616, 1618, 7, 946, 2, 2, 1617, 1616, 3, 2, 2, 2, 1617, 1618, 3, 2, 2, 2, 1618, 1619, 3, 2, 2, 2, 1619, 1706, 7, 970, 2, 2, 1620, 1621, 7, 298, 2, 2, 1621, 1623, 7, 305, 2, 2, 1622, 1624, 7, 946, 2, 2, 1623, 1622, 3, 2, 2, 2, 1623, 1624, 3, 2, 2, 2, 1624, 1625, 3, 2, 2, 2, 1625, 1706, 7, 970, 2, 2, 1626, 1628, 7, 303, 2, 2, 1627, 1629, 7, 946, 2, 2, 1628, 1627, 3, 2, 2, 2, 1628, 1629, 3, 2, 2, 2, 1629, 1630, 3, 2, 2, 2, 1630, 1706, 9, 23, 2, 2, 1631, 1633, 7, 314, 2, 2, 1632, 1634, 7, 946, 2, 2, 1633, 1632, 3, 2, 2, 2, 1633, 1634, 3, 2, 2, 2, 1634, 1635, 3, 2, 2, 2, 1635, 1706, 7, 970, 2, 2, 1636, 1637, 7, 73, 2, 2, 1637, 1639, 7, 305, 2, 2, 1638, 1640, 7, 946, 2, 2, 1639, 1638, 3, 2, 2, 2, 1639, 1640, 3, 2, 2, 2, 1640, 1641, 3, 2, 2, 2, 1641, 1706, 7, 970, 2, 2, 1642, 1644, 7, 359, 2, 2, 1643, 1645, 7, 946, 2, 2, 1644, 1643, 3, 2, 2, 2, 1644, 1645, 3, 2, 2, 2, 1645, 1646, 3, 2, 2, 2, 1646, 1706, 9, 24, 2, 2, 1647, 1649, 7, 369, 2, 2, 1648, 1650, 7, 946, 2, 2, 1649, 1648, 3, 2, 2, 2, 1649, 1650, 3, 2, 2, 2, 1650, 1651, 3, 2, 2, 2, 1651, 1706, 5, 524, 263, 2, 1652, 1654, 7, 402, 2, 2, 1653, 1655, 7, 946, 2, 2, 1654, 1653, 3, 2, 2, 2, 1654, 1655, 3, 2, 2, 2, 1655, 1656, 3, 2, 2, 2, 1656, 1706, 5, 522, 262, 2, 1657, 1659, 7, 410, 2, 2, 1658, 1660, 7, 946, 2, 2, 1659, 1658, 3, 2, 2, 2, 1659, 1660, 3, 2, 2, 2, 1660, 1661, 3, 2, 2, 2, 1661, 1706, 5, 522, 262, 2, 1662, 1664, 7, 434, 2, 2, 1663, 1665, 7, 946, 2, 2, 1664, 1663, 3, 2, 2, 2, 1664, 1665, 3, 2, 2, 2, 1665, 1666, 3, 2, 2, 2, 1666, 1706, 9, 25, 2, 2, 1667, 1669, 7, 440, 2, 2, 1668, 1670, 7, 946, 2, 2, 1669, 1668, 3, 2, 2, 2, 1669, 1670, 3, 2, 2, 2, 1670, 1671, 3, 2, 2, 2, 1671, 1706, 7, 970, 2, 2, 1672, 1674, 7, 483, 2, 2, 1673, 1675, 7, 946, 2, 2, 1674, 1673, 3, 2, 2, 2, 1674, 1675, 3, 2, 2, 2, 1675, 1676, 3, 2, 2, 2, 1676, 1706, 9, 26, 2, 2, 1677, 1679, 7, 510, 2, 2, 1678, 1680, 7, 946, 2, 2, 1679, 1678, 3, 2, 2, 2, 1679, 1680, 3, 2, 2, 2, 1680, 1681, 3, 2, 2, 2, 1681, 1706, 9, 25, 2, 2, 1682, 1684, 7, 511, 2, 2, 1683, 1685, 7, 946, 2, 2, 1684, 1683, 3, 2, 2, 2, 1684, 1685, 3, 2, 2, 2, 1685, 1686, 3, 2, 2, 2, 1686, 1706, 9, 25, 2, 2, 1687, 1689, 7, 512, 2, 2, 1688, 1690, 7, 946, 2, 2, 1689, 1688, 3, 2, 2, 2, 1689, 1690, 3, 2, 2, 2, 1690, 1691, 3, 2, 2, 2, 1691, 1706, 5, 522, 262, 2, 1692, 1693, 7, 524, 2, 2, 1693, 1695, 5, 516, 259, 2, 1694, 1696, 5, 96, 49, 2, 1695, 1694, 3, 2, 2, 2, 1695, 1696, 3, 2, 2, 2, 1696, 1706, 3, 2, 2, 2, 1697, 1699, 7, 159, 2, 2, 1698, 1700, 7, 946, 2, 2, 1699, 1698, 3, 2, 2, 2, 1699, 1700, 3, 2, 2, 2, 1700, 1701, 3, 2, 2, 2, 1701, 1702, 7, 955, 2, 2, 1702, 1703, 5, 548, 275, 2, 1703, 1704, 7, 956, 2, 2, 1704, 1706, 3, 2, 2, 2, 1705, 1565, 3, 2, 2, 2, 1705, 1570, 3, 2, 2, 2, 1705, 1575, 3, 2, 2, 2, 1705, 1581, 3, 2, 2, 2, 1705, 1592, 3, 2, 2, 2, 1705, 1598, 3, 2, 2, 2, 1705, 1605, 3, 2, 2, 2, 1705, 1610, 3, 2, 2, 2, 1705, 1615, 3, 2, 2, 2, 1705, 1620, 3, 2, 2, 2, 1705, 1626, 3, 2, 2, 2, 1705, 1631, 3, 2, 2, 2, 1705, 1636, 3, 2, 2, 2, 1705, 1642, 3, 2, 2, 2, 1705, 1647, 3, 2, 2, 2, 1705, 1652, 3, 2, 2, 2, 1705, 1657, 3, 2, 2, 2, 1705, 1662, 3, 2, 2, 2, 1705, 1667, 3, 2, 2, 2, 1705, 1672, 3, 2, 2, 2, 1705, 1677, 3, 2, 2, 2, 1705, 1682, 3, 2, 2, 2, 1705, 1687, 3, 2, 2, 2, 1705, 1692, 3, 2, 2, 2, 1705, 1697, 3, 2, 2, 2, 1706, 95, 3, 2, 2, 2, 1707, 1708, 7, 515, 2, 2, 1708, 1709, 9, 18, 2, 2, 1709, 97, 3, 2, 2, 2, 1710, 1711, 7, 115, 2, 2, 1711, 1712, 7, 20, 2, 2, 1712, 1715, 5, 100, 51, 2, 1713, 1714, 7, 439, 2, 2, 1714, 1716, 5, 522, 262, 2, 1715, 1713, 3, 2, 2, 2, 1715, 1716, 3, 2, 2, 2, 1716, 1724, 3, 2, 2, 2, 1717, 1718, 7, 519, 2, 2, 1718, 1719, 7, 20, 2, 2, 1719, 1722, 5, 102, 52, 2, 1720, 1721, 7, 520, 2, 2, 1721, 1723, 5, 522, 262, 2, 1722, 1720, 3, 2, 2, 2, 1722, 1723, 3, 2, 2, 2, 1723, 1725, 3, 2, 2, 2, 1724, 1717, 3, 2, 2, 2, 1724, 1725, 3, 2, 2, 2, 1725, 1737, 3, 2, 2, 2, 1726, 1727, 7, 955, 2, 2, 1727, 1732, 5, 104, 53, 2, 1728, 1729, 7, 957, 2, 2, 1729, 1731, 5, 104, 53, 2, 1730, 1728, 3, 2, 2, 2, 1731, 1734, 3, 2, 2, 2, 1732, 1730, 3, 2, 2, 2, 1732, 1733, 3, 2, 2, 2, 1733, 1735, 3, 2, 2, 2, 1734, 1732, 3, 2, 2, 2, 1735, 1736, 7, 956, 2, 2, 1736, 1738, 3, 2, 2, 2, 1737, 1726, 3, 2, 2, 2, 1737, 1738, 3, 2, 2, 2, 1738, 99, 3, 2, 2, 2, 1739, 1741, 7, 91, 2, 2, 1740, 1739, 3, 2, 2, 2, 1740, 1741, 3, 2, 2, 2, 1741, 1742, 3, 2, 2, 2, 1742, 1743, 7, 349, 2, 2, 1743, 1744, 7, 955, 2, 2, 1744, 1745, 5, 592, 297, 2, 1745, 1746, 7, 956, 2, 2, 1746, 1785, 3, 2, 2, 2, 1747, 1749, 7, 91, 2, 2, 1748, 1747, 3, 2, 2, 2, 1748, 1749, 3, 2, 2, 2, 1749, 1750, 3, 2, 2, 2, 1750, 1754, 7, 83, 2, 2, 1751, 1752, 7, 256, 2, 2, 1752, 1753, 7, 946, 2, 2, 1753, 1755, 9, 27, 2, 2, 1754, 1751, 3, 2, 2, 2, 1754, 1755, 3, 2, 2, 2, 1755, 1756, 3, 2, 2, 2, 1756, 1757, 7, 955, 2, 2, 1757, 1758, 5, 546, 274, 2, 1758, 1759, 7, 956, 2, 2, 1759, 1785, 3, 2, 2, 2, 1760, 1770, 7, 119, 2, 2, 1761, 1762, 7, 955, 2, 2, 1762, 1763, 5, 592, 297, 2, 1763, 1764, 7, 956, 2, 2, 1764, 1771, 3, 2, 2, 2, 1765, 1766, 7, 282, 2, 2, 1766, 1767, 7, 955, 2, 2, 1767, 1768, 5, 546, 274, 2, 1768, 1769, 7, 956, 2, 2, 1769, 1771, 3, 2, 2, 2, 1770, 1761, 3, 2, 2, 2, 1770, 1765, 3, 2, 2, 2, 1771, 1785, 3, 2, 2, 2, 1772, 1782, 7, 375, 2, 2, 1773, 1774, 7, 955, 2, 2, 1774, 1775, 5, 592, 297, 2, 1775, 1776, 7, 956, 2, 2, 1776, 1783, 3, 2, 2, 2, 1777, 1778, 7, 282, 2, 2, 1778, 1779, 7, 955, 2, 2, 1779, 1780, 5, 546, 274, 2, 1780, 1781, 7, 956, 2, 2, 1781, 1783, 3, 2, 2, 2, 1782, 1773, 3, 2, 2, 2, 1782, 1777, 3, 2, 2, 2, 1783, 1785, 3, 2, 2, 2, 1784, 1740, 3, 2, 2, 2, 1784, 1748, 3, 2, 2, 2, 1784, 1760, 3, 2, 2, 2, 1784, 1772, 3, 2, 2, 2, 1785, 101, 3, 2, 2, 2, 1786, 1788, 7, 91, 2, 2, 1787, 1786, 3, 2, 2, 2, 1787, 1788, 3, 2, 2, 2, 1788, 1789, 3, 2, 2, 2, 1789, 1790, 7, 349, 2, 2, 1790, 1791, 7, 955, 2, 2, 1791, 1792, 5, 592, 297, 2, 1792, 1793, 7, 956, 2, 2, 1793, 1808, 3, 2, 2, 2, 1794, 1796, 7, 91, 2, 2, 1795, 1794, 3, 2, 2, 2, 1795, 1796, 3, 2, 2, 2, 1796, 1797, 3, 2, 2, 2, 1797, 1801, 7, 83, 2, 2, 1798, 1799, 7, 256, 2, 2, 1799, 1800, 7, 946, 2, 2, 1800, 1802, 9, 27, 2, 2, 1801, 1798, 3, 2, 2, 2, 1801, 1802, 3, 2, 2, 2, 1802, 1803, 3, 2, 2, 2, 1803, 1804, 7, 955, 2, 2, 1804, 1805, 5, 546, 274, 2, 1805, 1806, 7, 956, 2, 2, 1806, 1808, 3, 2, 2, 2, 1807, 1787, 3, 2, 2, 2, 1807, 1795, 3, 2, 2, 2, 1808, 103, 3, 2, 2, 2, 1809, 1810, 7, 115, 2, 2, 1810, 1811, 5, 516, 259, 2, 1811, 1812, 7, 167, 2, 2, 1812, 1813, 7, 373, 2, 2, 1813, 1814, 7, 527, 2, 2, 1814, 1815, 7, 955, 2, 2, 1815, 1820, 5, 106, 54, 2, 1816, 1817, 7, 957, 2, 2, 1817, 1819, 5, 106, 54, 2, 1818, 1816, 3, 2, 2, 2, 1819, 1822, 3, 2, 2, 2, 1820, 1818, 3, 2, 2, 2, 1820, 1821, 3, 2, 2, 2, 1821, 1823, 3, 2, 2, 2, 1822, 1820, 3, 2, 2, 2, 1823, 1827, 7, 956, 2, 2, 1824, 1826, 5, 112, 57, 2, 1825, 1824, 3, 2, 2, 2, 1826, 1829, 3, 2, 2, 2, 1827, 1825, 3, 2, 2, 2, 1827, 1828, 3, 2, 2, 2, 1828, 1838, 3, 2, 2, 2, 1829, 1827, 3, 2, 2, 2, 1830, 1835, 5, 110, 56, 2, 1831, 1832, 7, 957, 2, 2, 1832, 1834, 5, 110, 56, 2, 1833, 1831, 3, 2, 2, 2, 1834, 1837, 3, 2, 2, 2, 1835, 1833, 3, 2, 2, 2, 1835, 1836, 3, 2, 2, 2, 1836, 1839, 3, 2, 2, 2, 1837, 1835, 3, 2, 2, 2, 1838, 1830, 3, 2, 2, 2, 1838, 1839, 3, 2, 2, 2, 1839, 1919, 3, 2, 2, 2, 1840, 1841, 7, 115, 2, 2, 1841, 1842, 5, 516, 259, 2, 1842, 1843, 7, 167, 2, 2, 1843, 1844, 7, 72, 2, 2, 1844, 1845, 7, 955, 2, 2, 1845, 1850, 5, 106, 54, 2, 1846, 1847, 7, 957, 2, 2, 1847, 1849, 5, 106, 54, 2, 1848, 1846, 3, 2, 2, 2, 1849, 1852, 3, 2, 2, 2, 1850, 1848, 3, 2, 2, 2, 1850, 1851, 3, 2, 2, 2, 1851, 1853, 3, 2, 2, 2, 1852, 1850, 3, 2, 2, 2, 1853, 1857, 7, 956, 2, 2, 1854, 1856, 5, 112, 57, 2, 1855, 1854, 3, 2, 2, 2, 1856, 1859, 3, 2, 2, 2, 1857, 1855, 3, 2, 2, 2, 1857, 1858, 3, 2, 2, 2, 1858, 1868, 3, 2, 2, 2, 1859, 1857, 3, 2, 2, 2, 1860, 1865, 5, 110, 56, 2, 1861, 1862, 7, 957, 2, 2, 1862, 1864, 5, 110, 56, 2, 1863, 1861, 3, 2, 2, 2, 1864, 1867, 3, 2, 2, 2, 1865, 1863, 3, 2, 2, 2, 1865, 1866, 3, 2, 2, 2, 1866, 1869, 3, 2, 2, 2, 1867, 1865, 3, 2, 2, 2, 1868, 1860, 3, 2, 2, 2, 1868, 1869, 3, 2, 2, 2, 1869, 1919, 3, 2, 2, 2, 1870, 1871, 7, 115, 2, 2, 1871, 1872, 5, 516, 259, 2, 1872, 1873, 7, 167, 2, 2, 1873, 1874, 7, 72, 2, 2, 1874, 1875, 7, 955, 2, 2, 1875, 1880, 5, 108, 55, 2, 1876, 1877, 7, 957, 2, 2, 1877, 1879, 5, 108, 55, 2, 1878, 1876, 3, 2, 2, 2, 1879, 1882, 3, 2, 2, 2, 1880, 1878, 3, 2, 2, 2, 1880, 1881, 3, 2, 2, 2, 1881, 1883, 3, 2, 2, 2, 1882, 1880, 3, 2, 2, 2, 1883, 1887, 7, 956, 2, 2, 1884, 1886, 5, 112, 57, 2, 1885, 1884, 3, 2, 2, 2, 1886, 1889, 3, 2, 2, 2, 1887, 1885, 3, 2, 2, 2, 1887, 1888, 3, 2, 2, 2, 1888, 1898, 3, 2, 2, 2, 1889, 1887, 3, 2, 2, 2, 1890, 1895, 5, 110, 56, 2, 1891, 1892, 7, 957, 2, 2, 1892, 1894, 5, 110, 56, 2, 1893, 1891, 3, 2, 2, 2, 1894, 1897, 3, 2, 2, 2, 1895, 1893, 3, 2, 2, 2, 1895, 1896, 3, 2, 2, 2, 1896, 1899, 3, 2, 2, 2, 1897, 1895, 3, 2, 2, 2, 1898, 1890, 3, 2, 2, 2, 1898, 1899, 3, 2, 2, 2, 1899, 1919, 3, 2, 2, 2, 1900, 1901, 7, 115, 2, 2, 1901, 1905, 5, 516, 259, 2, 1902, 1904, 5, 112, 57, 2, 1903, 1902, 3, 2, 2, 2, 1904, 1907, 3, 2, 2, 2, 1905, 1903, 3, 2, 2, 2, 1905, 1906, 3, 2, 2, 2, 1906, 1916, 3, 2, 2, 2, 1907, 1905, 3, 2, 2, 2, 1908, 1913, 5, 110, 56, 2, 1909, 1910, 7, 957, 2, 2, 1910, 1912, 5, 110, 56, 2, 1911, 1909, 3, 2, 2, 2, 1912, 1915, 3, 2, 2, 2, 1913, 1911, 3, 2, 2, 2, 1913, 1914, 3, 2, 2, 2, 1914, 1917, 3, 2, 2, 2, 1915, 1913, 3, 2, 2, 2, 1916, 1908, 3, 2, 2, 2, 1916, 1917, 3, 2, 2, 2, 1917, 1919, 3, 2, 2, 2, 1918, 1809, 3, 2, 2, 2, 1918, 1840, 3, 2, 2, 2, 1918, 1870, 3, 2, 2, 2, 1918, 1900, 3, 2, 2, 2, 1919, 105, 3, 2, 2, 2, 1920, 1924, 5, 534, 268, 2, 1921, 1924, 7, 100, 2, 2, 1922, 1924, 5, 592, 297, 2, 1923, 1920, 3, 2, 2, 2, 1923, 1921, 3, 2, 2, 2, 1923, 1922, 3, 2, 2, 2, 1924, 107, 3, 2, 2, 2, 1925, 1926, 7, 955, 2, 2, 1926, 1929, 5, 106, 54, 2, 1927, 1928, 7, 957, 2, 2, 1928, 1930, 5, 106, 54, 2, 1929, 1927, 3, 2, 2, 2, 1930, 1931, 3, 2, 2, 2, 1931, 1929, 3, 2, 2, 2, 1931, 1932, 3, 2, 2, 2, 1932, 1933, 3, 2, 2, 2, 1933, 1934, 7, 956, 2, 2, 1934, 109, 3, 2, 2, 2, 1935, 1936, 7, 519, 2, 2, 1936, 1940, 5, 516, 259, 2, 1937, 1939, 5, 112, 57, 2, 1938, 1937, 3, 2, 2, 2, 1939, 1942, 3, 2, 2, 2, 1940, 1938, 3, 2, 2, 2, 1940, 1941, 3, 2, 2, 2, 1941, 111, 3, 2, 2, 2, 1942, 1940, 3, 2, 2, 2, 1943, 1945, 7, 515, 2, 2, 1944, 1943, 3, 2, 2, 2, 1944, 1945, 3, 2, 2, 2, 1945, 1946, 3, 2, 2, 2, 1946, 1948, 7, 317, 2, 2, 1947, 1949, 7, 946, 2, 2, 1948, 1947, 3, 2, 2, 2, 1948, 1949, 3, 2, 2, 2, 1949, 1950, 3, 2, 2, 2, 1950, 1989, 5, 506, 254, 2, 1951, 1953, 7, 284, 2, 2, 1952, 1954, 7, 946, 2, 2, 1953, 1952, 3, 2, 2, 2, 1953, 1954, 3, 2, 2, 2, 1954, 1955, 3, 2, 2, 2, 1955, 1989, 7, 970, 2, 2, 1956, 1957, 7, 298, 2, 2, 1957, 1959, 7, 305, 2, 2, 1958, 1960, 7, 946, 2, 2, 1959, 1958, 3, 2, 2, 2, 1959, 1960, 3, 2, 2, 2, 1960, 1961, 3, 2, 2, 2, 1961, 1989, 7, 970, 2, 2, 1962, 1963, 7, 73, 2, 2, 1963, 1965, 7, 305, 2, 2, 1964, 1966, 7, 946, 2, 2, 1965, 1964, 3, 2, 2, 2, 1965, 1966, 3, 2, 2, 2, 1966, 1967, 3, 2, 2, 2, 1967, 1989, 7, 970, 2, 2, 1968, 1970, 7, 402, 2, 2, 1969, 1971, 7, 946, 2, 2, 1970, 1969, 3, 2, 2, 2, 1970, 1971, 3, 2, 2, 2, 1971, 1972, 3, 2, 2, 2, 1972, 1989, 5, 522, 262, 2, 1973, 1975, 7, 410, 2, 2, 1974, 1976, 7, 946, 2, 2, 1975, 1974, 3, 2, 2, 2, 1975, 1976, 3, 2, 2, 2, 1976, 1977, 3, 2, 2, 2, 1977, 1989, 5, 522, 262, 2, 1978, 1980, 7, 524, 2, 2, 1979, 1981, 7, 946, 2, 2, 1980, 1979, 3, 2, 2, 2, 1980, 1981, 3, 2, 2, 2, 1981, 1982, 3, 2, 2, 2, 1982, 1989, 5, 516, 259, 2, 1983, 1985, 7, 421, 2, 2, 1984, 1986, 7, 946, 2, 2, 1985, 1984, 3, 2, 2, 2, 1985, 1986, 3, 2, 2, 2, 1986, 1987, 3, 2, 2, 2, 1987, 1989, 5, 516, 259, 2, 1988, 1944, 3, 2, 2, 2, 1988, 1951, 3, 2, 2, 2, 1988, 1956, 3, 2, 2, 2, 1988, 1962, 3, 2, 2, 2, 1988, 1968, 3, 2, 2, 2, 1988, 1973, 3, 2, 2, 2, 1988, 1978, 3, 2, 2, 2, 1988, 1983, 3, 2, 2, 2, 1989, 113, 3, 2, 2, 2, 1990, 1991, 7, 11, 2, 2, 1991, 1993, 9, 2, 2, 2, 1992, 1994, 5, 516, 259, 2, 1993, 1992, 3, 2, 2, 2, 1993, 1994, 3, 2, 2, 2, 1994, 1996, 3, 2, 2, 2, 1995, 1997, 5, 50, 26, 2, 1996, 1995, 3, 2, 2, 2, 1997, 1998, 3, 2, 2, 2, 1998, 1996, 3, 2, 2, 2, 1998, 1999, 3, 2, 2, 2, 1999, 2009, 3, 2, 2, 2, 2000, 2001, 7, 11, 2, 2, 2001, 2002, 9, 2, 2, 2, 2002, 2003, 5, 516, 259, 2, 2003, 2004, 7, 538, 2, 2, 2004, 2005, 7, 298, 2, 2, 2005, 2006, 7, 305, 2, 2, 2006, 2007, 7, 415, 2, 2, 2007, 2009, 3, 2, 2, 2, 2008, 1990, 3, 2, 2, 2, 2008, 2000, 3, 2, 2, 2, 2009, 115, 3, 2, 2, 2, 2010, 2012, 7, 11, 2, 2, 2011, 2013, 5, 52, 27, 2, 2012, 2011, 3, 2, 2, 2, 2012, 2013, 3, 2, 2, 2, 2013, 2014, 3, 2, 2, 2, 2014, 2015, 7, 323, 2, 2, 2015, 2019, 5, 490, 246, 2, 2016, 2017, 7, 106, 2, 2, 2017, 2018, 7, 485, 2, 2, 2018, 2020, 5, 54, 28, 2, 2019, 2016, 3, 2, 2, 2, 2019, 2020, 3, 2, 2, 2, 2020, 2027, 3, 2, 2, 2, 2021, 2022, 7, 106, 2, 2, 2022, 2024, 7, 287, 2, 2, 2023, 2025, 7, 103, 2, 2, 2024, 2023, 3, 2, 2, 2, 2024, 2025, 3, 2, 2, 2, 2025, 2026, 3, 2, 2, 2, 2026, 2028, 7, 448, 2, 2, 2027, 2021, 3, 2, 2, 2, 2027, 2028, 3, 2, 2, 2, 2028, 2032, 3, 2, 2, 2, 2029, 2030, 7, 125, 2, 2, 2030, 2031, 7, 154, 2, 2, 2031, 2033, 5, 490, 246, 2, 2032, 2029, 3, 2, 2, 2, 2032, 2033, 3, 2, 2, 2, 2033, 2035, 3, 2, 2, 2, 2034, 2036, 5, 62, 32, 2, 2035, 2034, 3, 2, 2, 2, 2035, 2036, 3, 2, 2, 2, 2036, 2039, 3, 2, 2, 2, 2037, 2038, 7, 284, 2, 2, 2038, 2040, 7, 970, 2, 2, 2039, 2037, 3, 2, 2, 2, 2039, 2040, 3, 2, 2, 2, 2040, 2043, 3, 2, 2, 2, 2041, 2042, 7, 309, 2, 2, 2042, 2044, 5, 348, 175, 2, 2043, 2041, 3, 2, 2, 2, 2043, 2044, 3, 2, 2, 2, 2044, 117, 3, 2, 2, 2, 2045, 2046, 7, 11, 2, 2, 2046, 2047, 7, 343, 2, 2, 2047, 2051, 5, 490, 246, 2, 2048, 2050, 5, 72, 37, 2, 2049, 2048, 3, 2, 2, 2, 2050, 2053, 3, 2, 2, 2, 2051, 2049, 3, 2, 2, 2, 2051, 2052, 3, 2, 2, 2, 2052, 119, 3, 2, 2, 2, 2053, 2051, 3, 2, 2, 2, 2054, 2055, 7, 11, 2, 2, 2055, 2056, 7, 361, 2, 2, 2056, 2057, 7, 480, 2, 2, 2057, 2058, 7, 621, 2, 2, 2058, 2059, 7, 379, 2, 2, 2059, 2060, 7, 83, 2, 2, 2060, 121, 3, 2, 2, 2, 2061, 2062, 7, 11, 2, 2, 2062, 2063, 7, 377, 2, 2, 2063, 2064, 7, 67, 2, 2, 2064, 2065, 5, 516, 259, 2, 2065, 2066, 7, 9, 2, 2, 2066, 2067, 7, 533, 2, 2, 2067, 2073, 7, 970, 2, 2, 2068, 2070, 7, 357, 2, 2, 2069, 2071, 7, 946, 2, 2, 2070, 2069, 3, 2, 2, 2, 2070, 2071, 3, 2, 2, 2, 2071, 2072, 3, 2, 2, 2, 2072, 2074, 5, 524, 263, 2, 2073, 2068, 3, 2, 2, 2, 2073, 2074, 3, 2, 2, 2, 2074, 2076, 3, 2, 2, 2, 2075, 2077, 7, 547, 2, 2, 2076, 2075, 3, 2, 2, 2, 2076, 2077, 3, 2, 2, 2, 2077, 2078, 3, 2, 2, 2, 2078, 2080, 7, 317, 2, 2, 2079, 2081, 7, 946, 2, 2, 2080, 2079, 3, 2, 2, 2, 2080, 2081, 3, 2, 2, 2, 2081, 2082, 3, 2, 2, 2, 2082, 2083, 5, 506, 254, 2, 2083, 123, 3, 2, 2, 2, 2084, 2085, 7, 11, 2, 2, 2085, 2086, 7, 117, 2, 2, 2086, 2090, 5, 490, 246, 2, 2087, 2089, 5, 72, 37, 2, 2088, 2087, 3, 2, 2, 2, 2089, 2092, 3, 2, 2, 2, 2090, 2088, 3, 2, 2, 2, 2090, 2091, 3, 2, 2, 2, 2091, 125, 3, 2, 2, 2, 2092, 2090, 3, 2, 2, 2, 2093, 2094, 7, 11, 2, 2, 2094, 2095, 7, 487, 2, 2, 2095, 2096, 5, 516, 259, 2, 2096, 2097, 7, 432, 2, 2, 2097, 2098, 7, 955, 2, 2, 2098, 2103, 5, 74, 38, 2, 2099, 2100, 7, 957, 2, 2, 2100, 2102, 5, 74, 38, 2, 2101, 2099, 3, 2, 2, 2, 2102, 2105, 3, 2, 2, 2, 2103, 2101, 3, 2, 2, 2, 2103, 2104, 3, 2, 2, 2, 2104, 2106, 3, 2, 2, 2, 2105, 2103, 3, 2, 2, 2, 2106, 2107, 7, 956, 2, 2, 2107, 127, 3, 2, 2, 2, 2108, 2110, 7, 11, 2, 2, 2109, 2111, 9, 3, 2, 2, 2110, 2109, 3, 2, 2, 2, 2110, 2111, 3, 2, 2, 2, 2111, 2113, 3, 2, 2, 2, 2112, 2114, 7, 71, 2, 2, 2113, 2112, 3, 2, 2, 2, 2113, 2114, 3, 2, 2, 2, 2114, 2115, 3, 2, 2, 2, 2115, 2116, 7, 151, 2, 2, 2116, 2117, 5, 492, 247, 2, 2117, 2122, 5, 134, 68, 2, 2118, 2119, 7, 957, 2, 2, 2119, 2121, 5, 134, 68, 2, 2120, 2118, 3, 2, 2, 2, 2121, 2124, 3, 2, 2, 2, 2122, 2120, 3, 2, 2, 2, 2122, 2123, 3, 2, 2, 2, 2123, 2126, 3, 2, 2, 2, 2124, 2122, 3, 2, 2, 2, 2125, 2127, 5, 98, 50, 2, 2126, 2125, 3, 2, 2, 2, 2126, 2127, 3, 2, 2, 2, 2127, 129, 3, 2, 2, 2, 2128, 2129, 7, 11, 2, 2, 2129, 2130, 7, 524, 2, 2, 2130, 2131, 5, 516, 259, 2, 2131, 2132, 9, 28, 2, 2, 2132, 2133, 7, 299, 2, 2, 2133, 2137, 7, 970, 2, 2, 2134, 2135, 7, 357, 2, 2, 2135, 2136, 7, 946, 2, 2, 2136, 2138, 5, 524, 263, 2, 2137, 2134, 3, 2, 2, 2, 2137, 2138, 3, 2, 2, 2, 2138, 2140, 3, 2, 2, 2, 2139, 2141, 7, 547, 2, 2, 2140, 2139, 3, 2, 2, 2, 2140, 2141, 3, 2, 2, 2, 2141, 2142, 3, 2, 2, 2, 2142, 2144, 7, 317, 2, 2, 2143, 2145, 7, 946, 2, 2, 2144, 2143, 3, 2, 2, 2, 2144, 2145, 3, 2, 2, 2, 2145, 2146, 3, 2, 2, 2, 2146, 2147, 5, 506, 254, 2, 2147, 131, 3, 2, 2, 2, 2148, 2152, 7, 11, 2, 2, 2149, 2150, 7, 256, 2, 2, 2150, 2151, 7, 946, 2, 2, 2151, 2153, 9, 12, 2, 2, 2152, 2149, 3, 2, 2, 2, 2152, 2153, 3, 2, 2, 2, 2153, 2155, 3, 2, 2, 2, 2154, 2156, 5, 52, 27, 2, 2155, 2154, 3, 2, 2, 2, 2155, 2156, 3, 2, 2, 2, 2156, 2160, 3, 2, 2, 2, 2157, 2158, 7, 141, 2, 2, 2158, 2159, 7, 486, 2, 2, 2159, 2161, 9, 13, 2, 2, 2160, 2157, 3, 2, 2, 2, 2160, 2161, 3, 2, 2, 2, 2161, 2162, 3, 2, 2, 2, 2162, 2163, 7, 545, 2, 2, 2163, 2168, 5, 490, 246, 2, 2164, 2165, 7, 955, 2, 2, 2165, 2166, 5, 546, 274, 2, 2166, 2167, 7, 956, 2, 2, 2167, 2169, 3, 2, 2, 2, 2168, 2164, 3, 2, 2, 2, 2168, 2169, 3, 2, 2, 2, 2169, 2170, 3, 2, 2, 2, 2170, 2171, 7, 15, 2, 2, 2171, 2178, 5, 180, 91, 2, 2172, 2174, 7, 171, 2, 2, 2173, 2175, 9, 14, 2, 2, 2174, 2173, 3, 2, 2, 2, 2174, 2175, 3, 2, 2, 2, 2175, 2176, 3, 2, 2, 2, 2176, 2177, 7, 27, 2, 2, 2177, 2179, 7, 108, 2, 2, 2178, 2172, 3, 2, 2, 2, 2178, 2179, 3, 2, 2, 2, 2179, 133, 3, 2, 2, 2, 2180, 2187, 5, 94, 48, 2, 2181, 2183, 7, 957, 2, 2, 2182, 2181, 3, 2, 2, 2, 2182, 2183, 3, 2, 2, 2, 2183, 2184, 3, 2, 2, 2, 2184, 2186, 5, 94, 48, 2, 2185, 2182, 3, 2, 2, 2, 2186, 2189, 3, 2, 2, 2, 2187, 2185, 3, 2, 2, 2, 2187, 2188, 3, 2, 2, 2, 2188, 2527, 3, 2, 2, 2, 2189, 2187, 3, 2, 2, 2, 2190, 2192, 7, 9, 2, 2, 2191, 2193, 7, 29, 2, 2, 2192, 2191, 3, 2, 2, 2, 2192, 2193, 3, 2, 2, 2, 2193, 2194, 3, 2, 2, 2, 2194, 2195, 5, 516, 259, 2, 2195, 2199, 5, 80, 41, 2, 2196, 2200, 7, 337, 2, 2, 2197, 2198, 7, 254, 2, 2, 2198, 2200, 5, 516, 259, 2, 2199, 2196, 3, 2, 2, 2, 2199, 2197, 3, 2, 2, 2, 2199, 2200, 3, 2, 2, 2, 2200, 2527, 3, 2, 2, 2, 2201, 2203, 7, 9, 2, 2, 2202, 2204, 7, 29, 2, 2, 2203, 2202, 3, 2, 2, 2, 2203, 2204, 3, 2, 2, 2, 2204, 2205, 3, 2, 2, 2, 2205, 2206, 7, 955, 2, 2, 2206, 2207, 5, 516, 259, 2, 2207, 2214, 5, 80, 41, 2, 2208, 2209, 7, 957, 2, 2, 2209, 2210, 5, 516, 259, 2, 2210, 2211, 5, 80, 41, 2, 2211, 2213, 3, 2, 2, 2, 2212, 2208, 3, 2, 2, 2, 2213, 2216, 3, 2, 2, 2, 2214, 2212, 3, 2, 2, 2, 2214, 2215, 3, 2, 2, 2, 2215, 2217, 3, 2, 2, 2, 2216, 2214, 3, 2, 2, 2, 2217, 2218, 7, 956, 2, 2, 2218, 2527, 3, 2, 2, 2, 2219, 2220, 7, 9, 2, 2, 2220, 2222, 9, 20, 2, 2, 2221, 2223, 5, 516, 259, 2, 2222, 2221, 3, 2, 2, 2, 2222, 2223, 3, 2, 2, 2, 2223, 2225, 3, 2, 2, 2, 2224, 2226, 5, 64, 33, 2, 2225, 2224, 3, 2, 2, 2, 2225, 2226, 3, 2, 2, 2, 2226, 2227, 3, 2, 2, 2, 2227, 2231, 5, 550, 276, 2, 2228, 2230, 5, 66, 34, 2, 2229, 2228, 3, 2, 2, 2, 2230, 2233, 3, 2, 2, 2, 2231, 2229, 3, 2, 2, 2, 2231, 2232, 3, 2, 2, 2, 2232, 2527, 3, 2, 2, 2, 2233, 2231, 3, 2, 2, 2, 2234, 2239, 7, 9, 2, 2, 2235, 2237, 7, 31, 2, 2, 2236, 2238, 5, 516, 259, 2, 2237, 2236, 3, 2, 2, 2, 2237, 2238, 3, 2, 2, 2, 2238, 2240, 3, 2, 2, 2, 2239, 2235, 3, 2, 2, 2, 2239, 2240, 3, 2, 2, 2, 2240, 2241, 3, 2, 2, 2, 2241, 2242, 7, 116, 2, 2, 2242, 2244, 7, 83, 2, 2, 2243, 2245, 5, 64, 33, 2, 2244, 2243, 3, 2, 2, 2, 2244, 2245, 3, 2, 2, 2, 2245, 2246, 3, 2, 2, 2, 2246, 2250, 5, 550, 276, 2, 2247, 2249, 5, 66, 34, 2, 2248, 2247, 3, 2, 2, 2, 2249, 2252, 3, 2, 2, 2, 2250, 2248, 3, 2, 2, 2, 2250, 2251, 3, 2, 2, 2, 2251, 2527, 3, 2, 2, 2, 2252, 2250, 3, 2, 2, 2, 2253, 2258, 7, 9, 2, 2, 2254, 2256, 7, 31, 2, 2, 2255, 2257, 5, 516, 259, 2, 2256, 2255, 3, 2, 2, 2, 2256, 2257, 3, 2, 2, 2, 2257, 2259, 3, 2, 2, 2, 2258, 2254, 3, 2, 2, 2, 2258, 2259, 3, 2, 2, 2, 2259, 2260, 3, 2, 2, 2, 2260, 2262, 7, 160, 2, 2, 2261, 2263, 9, 20, 2, 2, 2262, 2261, 3, 2, 2, 2, 2262, 2263, 3, 2, 2, 2, 2263, 2265, 3, 2, 2, 2, 2264, 2266, 5, 516, 259, 2, 2265, 2264, 3, 2, 2, 2, 2265, 2266, 3, 2, 2, 2, 2266, 2268, 3, 2, 2, 2, 2267, 2269, 5, 64, 33, 2, 2268, 2267, 3, 2, 2, 2, 2268, 2269, 3, 2, 2, 2, 2269, 2270, 3, 2, 2, 2, 2270, 2274, 5, 550, 276, 2, 2271, 2273, 5, 66, 34, 2, 2272, 2271, 3, 2, 2, 2, 2273, 2276, 3, 2, 2, 2, 2274, 2272, 3, 2, 2, 2, 2274, 2275, 3, 2, 2, 2, 2275, 2527, 3, 2, 2, 2, 2276, 2274, 3, 2, 2, 2, 2277, 2278, 7, 9, 2, 2, 2278, 2280, 9, 22, 2, 2, 2279, 2281, 9, 20, 2, 2, 2280, 2279, 3, 2, 2, 2, 2280, 2281, 3, 2, 2, 2, 2281, 2283, 3, 2, 2, 2, 2282, 2284, 5, 516, 259, 2, 2283, 2282, 3, 2, 2, 2, 2283, 2284, 3, 2, 2, 2, 2284, 2285, 3, 2, 2, 2, 2285, 2289, 5, 550, 276, 2, 2286, 2288, 5, 66, 34, 2, 2287, 2286, 3, 2, 2, 2, 2288, 2291, 3, 2, 2, 2, 2289, 2287, 3, 2, 2, 2, 2289, 2290, 3, 2, 2, 2, 2290, 2527, 3, 2, 2, 2, 2291, 2289, 3, 2, 2, 2, 2292, 2297, 7, 9, 2, 2, 2293, 2295, 7, 31, 2, 2, 2294, 2296, 5, 516, 259, 2, 2295, 2294, 3, 2, 2, 2, 2295, 2296, 3, 2, 2, 2, 2296, 2298, 3, 2, 2, 2, 2297, 2293, 3, 2, 2, 2, 2297, 2298, 3, 2, 2, 2, 2298, 2299, 3, 2, 2, 2, 2299, 2300, 7, 62, 2, 2, 2300, 2302, 7, 83, 2, 2, 2301, 2303, 5, 516, 259, 2, 2302, 2301, 3, 2, 2, 2, 2302, 2303, 3, 2, 2, 2, 2303, 2304, 3, 2, 2, 2, 2304, 2305, 5, 550, 276, 2, 2305, 2306, 5, 86, 44, 2, 2306, 2527, 3, 2, 2, 2, 2307, 2312, 7, 9, 2, 2, 2308, 2310, 7, 31, 2, 2, 2309, 2311, 5, 516, 259, 2, 2310, 2309, 3, 2, 2, 2, 2310, 2311, 3, 2, 2, 2, 2311, 2313, 3, 2, 2, 2, 2312, 2308, 3, 2, 2, 2, 2312, 2313, 3, 2, 2, 2, 2313, 2314, 3, 2, 2, 2, 2314, 2315, 7, 27, 2, 2, 2315, 2316, 7, 955, 2, 2, 2316, 2317, 5, 592, 297, 2, 2317, 2318, 7, 956, 2, 2, 2318, 2527, 3, 2, 2, 2, 2319, 2321, 7, 256, 2, 2, 2320, 2322, 7, 946, 2, 2, 2321, 2320, 3, 2, 2, 2, 2321, 2322, 3, 2, 2, 2, 2322, 2323, 3, 2, 2, 2, 2323, 2527, 9, 5, 2, 2, 2324, 2326, 7, 11, 2, 2, 2325, 2327, 7, 29, 2, 2, 2326, 2325, 3, 2, 2, 2, 2326, 2327, 3, 2, 2, 2, 2327, 2328, 3, 2, 2, 2, 2328, 2334, 5, 516, 259, 2, 2329, 2330, 7, 137, 2, 2, 2330, 2331, 7, 41, 2, 2, 2331, 2335, 5, 562, 282, 2, 2332, 2333, 7, 49, 2, 2, 2333, 2335, 7, 41, 2, 2, 2334, 2329, 3, 2, 2, 2, 2334, 2332, 3, 2, 2, 2, 2335, 2527, 3, 2, 2, 2, 2336, 2338, 7, 25, 2, 2, 2337, 2339, 7, 29, 2, 2, 2338, 2337, 3, 2, 2, 2, 2338, 2339, 3, 2, 2, 2, 2339, 2340, 3, 2, 2, 2, 2340, 2341, 5, 516, 259, 2, 2341, 2342, 5, 516, 259, 2, 2342, 2346, 5, 80, 41, 2, 2343, 2347, 7, 337, 2, 2, 2344, 2345, 7, 254, 2, 2, 2345, 2347, 5, 516, 259, 2, 2346, 2343, 3, 2, 2, 2, 2346, 2344, 3, 2, 2, 2, 2346, 2347, 3, 2, 2, 2, 2347, 2527, 3, 2, 2, 2, 2348, 2349, 7, 125, 2, 2, 2349, 2350, 7, 29, 2, 2, 2350, 2351, 5, 516, 259, 2, 2351, 2352, 7, 154, 2, 2, 2352, 2353, 5, 516, 259, 2, 2353, 2527, 3, 2, 2, 2, 2354, 2356, 7, 94, 2, 2, 2355, 2357, 7, 946, 2, 2, 2356, 2355, 3, 2, 2, 2, 2356, 2357, 3, 2, 2, 2, 2357, 2358, 3, 2, 2, 2, 2358, 2527, 9, 6, 2, 2, 2359, 2361, 7, 412, 2, 2, 2360, 2362, 7, 29, 2, 2, 2361, 2360, 3, 2, 2, 2, 2361, 2362, 3, 2, 2, 2, 2362, 2363, 3, 2, 2, 2, 2363, 2364, 5, 516, 259, 2, 2364, 2368, 5, 80, 41, 2, 2365, 2369, 7, 337, 2, 2, 2366, 2367, 7, 254, 2, 2, 2367, 2369, 5, 516, 259, 2, 2368, 2365, 3, 2, 2, 2, 2368, 2366, 3, 2, 2, 2, 2368, 2369, 3, 2, 2, 2, 2369, 2527, 3, 2, 2, 2, 2370, 2372, 7, 49, 2, 2, 2371, 2373, 7, 29, 2, 2, 2372, 2371, 3, 2, 2, 2, 2372, 2373, 3, 2, 2, 2, 2373, 2374, 3, 2, 2, 2, 2374, 2527, 5, 516, 259, 2, 2375, 2376, 7, 49, 2, 2, 2376, 2377, 7, 116, 2, 2, 2377, 2527, 7, 83, 2, 2, 2378, 2379, 7, 49, 2, 2, 2379, 2380, 9, 20, 2, 2, 2380, 2527, 5, 516, 259, 2, 2381, 2382, 7, 49, 2, 2, 2382, 2383, 7, 62, 2, 2, 2383, 2384, 7, 83, 2, 2, 2384, 2527, 5, 516, 259, 2, 2385, 2386, 7, 306, 2, 2, 2386, 2527, 7, 84, 2, 2, 2387, 2388, 7, 313, 2, 2, 2388, 2527, 7, 84, 2, 2, 2389, 2391, 7, 125, 2, 2, 2390, 2392, 9, 29, 2, 2, 2391, 2390, 3, 2, 2, 2, 2391, 2392, 3, 2, 2, 2, 2392, 2395, 3, 2, 2, 2, 2393, 2396, 5, 516, 259, 2, 2394, 2396, 5, 490, 246, 2, 2395, 2393, 3, 2, 2, 2, 2395, 2394, 3, 2, 2, 2, 2396, 2527, 3, 2, 2, 2, 2397, 2398, 7, 111, 2, 2, 2398, 2399, 7, 20, 2, 2, 2399, 2527, 5, 546, 274, 2, 2400, 2401, 7, 33, 2, 2, 2401, 2402, 7, 154, 2, 2, 2402, 2403, 7, 26, 2, 2, 2403, 2404, 7, 137, 2, 2, 2404, 2407, 5, 502, 252, 2, 2405, 2406, 7, 28, 2, 2, 2406, 2408, 5, 504, 253, 2, 2407, 2405, 3, 2, 2, 2, 2407, 2408, 3, 2, 2, 2, 2408, 2527, 3, 2, 2, 2, 2409, 2411, 7, 41, 2, 2, 2410, 2409, 3, 2, 2, 2, 2410, 2411, 3, 2, 2, 2, 2411, 2412, 3, 2, 2, 2, 2412, 2413, 7, 26, 2, 2, 2413, 2414, 7, 137, 2, 2, 2414, 2415, 7, 946, 2, 2, 2415, 2419, 5, 502, 252, 2, 2416, 2417, 7, 28, 2, 2, 2417, 2418, 7, 946, 2, 2, 2418, 2420, 5, 504, 253, 2, 2419, 2416, 3, 2, 2, 2, 2419, 2420, 3, 2, 2, 2, 2420, 2527, 3, 2, 2, 2, 2421, 2422, 7, 307, 2, 2, 2422, 2527, 7, 524, 2, 2, 2423, 2424, 7, 355, 2, 2, 2424, 2527, 7, 524, 2, 2, 2425, 2527, 7, 61, 2, 2, 2426, 2427, 9, 30, 2, 2, 2427, 2527, 7, 542, 2, 2, 2428, 2429, 7, 9, 2, 2, 2429, 2430, 7, 115, 2, 2, 2430, 2431, 7, 955, 2, 2, 2431, 2436, 5, 104, 53, 2, 2432, 2433, 7, 957, 2, 2, 2433, 2435, 5, 104, 53, 2, 2434, 2432, 3, 2, 2, 2, 2435, 2438, 3, 2, 2, 2, 2436, 2434, 3, 2, 2, 2, 2436, 2437, 3, 2, 2, 2, 2437, 2439, 3, 2, 2, 2, 2438, 2436, 3, 2, 2, 2, 2439, 2440, 7, 956, 2, 2, 2440, 2527, 3, 2, 2, 2, 2441, 2442, 7, 49, 2, 2, 2442, 2443, 7, 115, 2, 2, 2443, 2527, 5, 546, 274, 2, 2444, 2445, 7, 307, 2, 2, 2445, 2448, 7, 115, 2, 2, 2446, 2449, 5, 546, 274, 2, 2447, 2449, 7, 10, 2, 2, 2448, 2446, 3, 2, 2, 2, 2448, 2447, 3, 2, 2, 2, 2449, 2450, 3, 2, 2, 2, 2450, 2527, 7, 524, 2, 2, 2451, 2452, 7, 355, 2, 2, 2452, 2455, 7, 115, 2, 2, 2453, 2456, 5, 546, 274, 2, 2454, 2456, 7, 10, 2, 2, 2455, 2453, 3, 2, 2, 2, 2455, 2454, 3, 2, 2, 2, 2456, 2457, 3, 2, 2, 2, 2457, 2527, 7, 524, 2, 2, 2458, 2459, 7, 531, 2, 2, 2459, 2462, 7, 115, 2, 2, 2460, 2463, 5, 546, 274, 2, 2461, 2463, 7, 10, 2, 2, 2462, 2460, 3, 2, 2, 2, 2462, 2461, 3, 2, 2, 2, 2463, 2527, 3, 2, 2, 2, 2464, 2465, 7, 280, 2, 2, 2465, 2466, 7, 115, 2, 2, 2466, 2527, 5, 522, 262, 2, 2467, 2468, 7, 465, 2, 2, 2468, 2469, 7, 115, 2, 2, 2469, 2470, 5, 546, 274, 2, 2470, 2471, 7, 79, 2, 2, 2471, 2472, 7, 955, 2, 2, 2472, 2477, 5, 104, 53, 2, 2473, 2474, 7, 957, 2, 2, 2474, 2476, 5, 104, 53, 2, 2475, 2473, 3, 2, 2, 2, 2476, 2479, 3, 2, 2, 2, 2477, 2475, 3, 2, 2, 2, 2477, 2478, 3, 2, 2, 2, 2478, 2480, 3, 2, 2, 2, 2479, 2477, 3, 2, 2, 2, 2480, 2481, 7, 956, 2, 2, 2481, 2527, 3, 2, 2, 2, 2482, 2483, 7, 326, 2, 2, 2483, 2484, 7, 115, 2, 2, 2484, 2485, 5, 516, 259, 2, 2485, 2486, 7, 171, 2, 2, 2486, 2487, 7, 151, 2, 2, 2487, 2490, 5, 492, 247, 2, 2488, 2489, 9, 30, 2, 2, 2489, 2491, 7, 542, 2, 2, 2490, 2488, 3, 2, 2, 2, 2490, 2491, 3, 2, 2, 2, 2491, 2527, 3, 2, 2, 2, 2492, 2493, 7, 13, 2, 2, 2493, 2496, 7, 115, 2, 2, 2494, 2497, 5, 546, 274, 2, 2495, 2497, 7, 10, 2, 2, 2496, 2494, 3, 2, 2, 2, 2496, 2495, 3, 2, 2, 2, 2497, 2527, 3, 2, 2, 2, 2498, 2499, 7, 27, 2, 2, 2499, 2502, 7, 115, 2, 2, 2500, 2503, 5, 546, 274, 2, 2501, 2503, 7, 10, 2, 2, 2502, 2500, 3, 2, 2, 2, 2502, 2501, 3, 2, 2, 2, 2503, 2527, 3, 2, 2, 2, 2504, 2505, 7, 107, 2, 2, 2505, 2508, 7, 115, 2, 2, 2506, 2509, 5, 546, 274, 2, 2507, 2509, 7, 10, 2, 2, 2508, 2506, 3, 2, 2, 2, 2508, 2507, 3, 2, 2, 2, 2509, 2527, 3, 2, 2, 2, 2510, 2511, 7, 456, 2, 2, 2511, 2514, 7, 115, 2, 2, 2512, 2515, 5, 546, 274, 2, 2513, 2515, 7, 10, 2, 2, 2514, 2512, 3, 2, 2, 2, 2514, 2513, 3, 2, 2, 2, 2515, 2527, 3, 2, 2, 2, 2516, 2517, 7, 466, 2, 2, 2517, 2520, 7, 115, 2, 2, 2518, 2521, 5, 546, 274, 2, 2519, 2521, 7, 10, 2, 2, 2520, 2518, 3, 2, 2, 2, 2520, 2519, 3, 2, 2, 2, 2521, 2527, 3, 2, 2, 2, 2522, 2523, 7, 464, 2, 2, 2523, 2527, 7, 438, 2, 2, 2524, 2525, 7, 538, 2, 2, 2525, 2527, 7, 438, 2, 2, 2526, 2180, 3, 2, 2, 2, 2526, 2190, 3, 2, 2, 2, 2526, 2201, 3, 2, 2, 2, 2526, 2219, 3, 2, 2, 2, 2526, 2234, 3, 2, 2, 2, 2526, 2253, 3, 2, 2, 2, 2526, 2277, 3, 2, 2, 2, 2526, 2292, 3, 2, 2, 2, 2526, 2307, 3, 2, 2, 2, 2526, 2319, 3, 2, 2, 2, 2526, 2324, 3, 2, 2, 2, 2526, 2336, 3, 2, 2, 2, 2526, 2348, 3, 2, 2, 2, 2526, 2354, 3, 2, 2, 2, 2526, 2359, 3, 2, 2, 2, 2526, 2370, 3, 2, 2, 2, 2526, 2375, 3, 2, 2, 2, 2526, 2378, 3, 2, 2, 2, 2526, 2381, 3, 2, 2, 2, 2526, 2385, 3, 2, 2, 2, 2526, 2387, 3, 2, 2, 2, 2526, 2389, 3, 2, 2, 2, 2526, 2397, 3, 2, 2, 2, 2526, 2400, 3, 2, 2, 2, 2526, 2410, 3, 2, 2, 2, 2526, 2421, 3, 2, 2, 2, 2526, 2423, 3, 2, 2, 2, 2526, 2425, 3, 2, 2, 2, 2526, 2426, 3, 2, 2, 2, 2526, 2428, 3, 2, 2, 2, 2526, 2441, 3, 2, 2, 2, 2526, 2444, 3, 2, 2, 2, 2526, 2451, 3, 2, 2, 2, 2526, 2458, 3, 2, 2, 2, 2526, 2464, 3, 2, 2, 2, 2526, 2467, 3, 2, 2, 2, 2526, 2482, 3, 2, 2, 2, 2526, 2492, 3, 2, 2, 2, 2526, 2498, 3, 2, 2, 2, 2526, 2504, 3, 2, 2, 2, 2526, 2510, 3, 2, 2, 2, 2526, 2516, 3, 2, 2, 2, 2526, 2522, 3, 2, 2, 2, 2526, 2524, 3, 2, 2, 2, 2527, 135, 3, 2, 2, 2, 2528, 2529, 7, 49, 2, 2, 2529, 2531, 9, 2, 2, 2, 2530, 2532, 5, 568, 285, 2, 2531, 2530, 3, 2, 2, 2, 2531, 2532, 3, 2, 2, 2, 2532, 2533, 3, 2, 2, 2, 2533, 2534, 5, 516, 259, 2, 2534, 137, 3, 2, 2, 2, 2535, 2536, 7, 49, 2, 2, 2536, 2538, 7, 323, 2, 2, 2537, 2539, 5, 568, 285, 2, 2538, 2537, 3, 2, 2, 2, 2538, 2539, 3, 2, 2, 2, 2539, 2540, 3, 2, 2, 2, 2540, 2541, 5, 490, 246, 2, 2541, 139, 3, 2, 2, 2, 2542, 2543, 7, 49, 2, 2, 2543, 2545, 7, 73, 2, 2, 2544, 2546, 9, 3, 2, 2, 2545, 2544, 3, 2, 2, 2, 2545, 2546, 3, 2, 2, 2, 2546, 2547, 3, 2, 2, 2, 2547, 2548, 5, 516, 259, 2, 2548, 2549, 7, 106, 2, 2, 2549, 2555, 5, 492, 247, 2, 2550, 2552, 7, 256, 2, 2, 2551, 2553, 7, 946, 2, 2, 2552, 2551, 3, 2, 2, 2, 2552, 2553, 3, 2, 2, 2, 2553, 2554, 3, 2, 2, 2, 2554, 2556, 9, 5, 2, 2, 2555, 2550, 3, 2, 2, 2, 2555, 2556, 3, 2, 2, 2, 2556, 2562, 3, 2, 2, 2, 2557, 2559, 7, 94, 2, 2, 2558, 2560, 7, 946, 2, 2, 2559, 2558, 3, 2, 2, 2, 2559, 2560, 3, 2, 2, 2, 2560, 2561, 3, 2, 2, 2, 2561, 2563, 9, 6, 2, 2, 2562, 2557, 3, 2, 2, 2, 2562, 2563, 3, 2, 2, 2, 2563, 141, 3, 2, 2, 2, 2564, 2565, 7, 49, 2, 2, 2565, 2566, 7, 377, 2, 2, 2566, 2567, 7, 67, 2, 2, 2567, 2568, 5, 516, 259, 2, 2568, 2569, 7, 317, 2, 2, 2569, 2570, 7, 946, 2, 2, 2570, 2571, 5, 506, 254, 2, 2571, 143, 3, 2, 2, 2, 2572, 2573, 7, 49, 2, 2, 2573, 2575, 7, 117, 2, 2, 2574, 2576, 5, 568, 285, 2, 2575, 2574, 3, 2, 2, 2, 2575, 2576, 3, 2, 2, 2, 2576, 2577, 3, 2, 2, 2, 2577, 2578, 5, 490, 246, 2, 2578, 145, 3, 2, 2, 2, 2579, 2580, 7, 49, 2, 2, 2580, 2582, 7, 343, 2, 2, 2581, 2583, 5, 568, 285, 2, 2582, 2581, 3, 2, 2, 2, 2582, 2583, 3, 2, 2, 2, 2583, 2584, 3, 2, 2, 2, 2584, 2585, 5, 490, 246, 2, 2585, 147, 3, 2, 2, 2, 2586, 2587, 7, 49, 2, 2, 2587, 2589, 7, 487, 2, 2, 2588, 2590, 5, 568, 285, 2, 2589, 2588, 3, 2, 2, 2, 2589, 2590, 3, 2, 2, 2, 2590, 2591, 3, 2, 2, 2, 2591, 2592, 5, 516, 259, 2, 2592, 149, 3, 2, 2, 2, 2593, 2595, 7, 49, 2, 2, 2594, 2596, 7, 525, 2, 2, 2595, 2594, 3, 2, 2, 2, 2595, 2596, 3, 2, 2, 2, 2596, 2597, 3, 2, 2, 2, 2597, 2599, 7, 151, 2, 2, 2598, 2600, 5, 568, 285, 2, 2599, 2598, 3, 2, 2, 2, 2599, 2600, 3, 2, 2, 2, 2600, 2601, 3, 2, 2, 2, 2601, 2603, 5, 548, 275, 2, 2602, 2604, 9, 31, 2, 2, 2603, 2602, 3, 2, 2, 2, 2603, 2604, 3, 2, 2, 2, 2604, 151, 3, 2, 2, 2, 2605, 2606, 7, 49, 2, 2, 2606, 2607, 7, 524, 2, 2, 2607, 2613, 5, 516, 259, 2, 2608, 2610, 7, 317, 2, 2, 2609, 2611, 7, 946, 2, 2, 2610, 2609, 3, 2, 2, 2, 2610, 2611, 3, 2, 2, 2, 2611, 2612, 3, 2, 2, 2, 2612, 2614, 5, 506, 254, 2, 2613, 2608, 3, 2, 2, 2, 2613, 2614, 3, 2, 2, 2, 2614, 153, 3, 2, 2, 2, 2615, 2616, 7, 49, 2, 2, 2616, 2618, 7, 156, 2, 2, 2617, 2619, 5, 568, 285, 2, 2618, 2617, 3, 2, 2, 2, 2618, 2619, 3, 2, 2, 2, 2619, 2620, 3, 2, 2, 2, 2620, 2621, 5, 490, 246, 2, 2621, 155, 3, 2, 2, 2, 2622, 2623, 7, 49, 2, 2, 2623, 2625, 7, 545, 2, 2, 2624, 2626, 5, 568, 285, 2, 2625, 2624, 3, 2, 2, 2, 2625, 2626, 3, 2, 2, 2, 2626, 2627, 3, 2, 2, 2, 2627, 2632, 5, 490, 246, 2, 2628, 2629, 7, 957, 2, 2, 2629, 2631, 5, 490, 246, 2, 2630, 2628, 3, 2, 2, 2, 2631, 2634, 3, 2, 2, 2, 2632, 2630, 3, 2, 2, 2, 2632, 2633, 3, 2, 2, 2, 2633, 2636, 3, 2, 2, 2, 2634, 2632, 3, 2, 2, 2, 2635, 2637, 9, 31, 2, 2, 2636, 2635, 3, 2, 2, 2, 2636, 2637, 3, 2, 2, 2, 2637, 157, 3, 2, 2, 2, 2638, 2639, 7, 125, 2, 2, 2639, 2640, 7, 151, 2, 2, 2640, 2645, 5, 160, 81, 2, 2641, 2642, 7, 957, 2, 2, 2642, 2644, 5, 160, 81, 2, 2643, 2641, 3, 2, 2, 2, 2644, 2647, 3, 2, 2, 2, 2645, 2643, 3, 2, 2, 2, 2645, 2646, 3, 2, 2, 2, 2646, 159, 3, 2, 2, 2, 2647, 2645, 3, 2, 2, 2, 2648, 2649, 5, 492, 247, 2, 2649, 2650, 7, 154, 2, 2, 2650, 2651, 5, 492, 247, 2, 2651, 161, 3, 2, 2, 2, 2652, 2654, 7, 531, 2, 2, 2653, 2655, 7, 151, 2, 2, 2654, 2653, 3, 2, 2, 2, 2654, 2655, 3, 2, 2, 2, 2655, 2656, 3, 2, 2, 2, 2656, 2657, 5, 492, 247, 2, 2657, 163, 3, 2, 2, 2, 2658, 2659, 7, 21, 2, 2, 2659, 2666, 5, 490, 246, 2, 2660, 2663, 7, 955, 2, 2, 2661, 2664, 5, 556, 279, 2, 2662, 2664, 5, 552, 277, 2, 2663, 2661, 3, 2, 2, 2, 2663, 2662, 3, 2, 2, 2, 2663, 2664, 3, 2, 2, 2, 2664, 2665, 3, 2, 2, 2, 2665, 2667, 7, 956, 2, 2, 2666, 2660, 3, 2, 2, 2, 2666, 2667, 3, 2, 2, 2, 2667, 165, 3, 2, 2, 2, 2668, 2671, 5, 192, 97, 2, 2669, 2671, 5, 194, 98, 2, 2670, 2668, 3, 2, 2, 2, 2670, 2669, 3, 2, 2, 2, 2671, 167, 3, 2, 2, 2, 2672, 2673, 7, 309, 2, 2, 2673, 2674, 5, 552, 277, 2, 2674, 169, 3, 2, 2, 2, 2675, 2680, 5, 196, 99, 2, 2676, 2680, 5, 198, 100, 2, 2677, 2680, 5, 200, 101, 2, 2678, 2680, 5, 202, 102, 2, 2679, 2675, 3, 2, 2, 2, 2679, 2676, 3, 2, 2, 2, 2679, 2677, 3, 2, 2, 2, 2679, 2678, 3, 2, 2, 2, 2680, 171, 3, 2, 2, 2, 2681, 2683, 7, 77, 2, 2, 2682, 2684, 9, 32, 2, 2, 2683, 2682, 3, 2, 2, 2, 2683, 2684, 3, 2, 2, 2, 2684, 2686, 3, 2, 2, 2, 2685, 2687, 7, 71, 2, 2, 2686, 2685, 3, 2, 2, 2, 2686, 2687, 3, 2, 2, 2, 2687, 2689, 3, 2, 2, 2, 2688, 2690, 7, 79, 2, 2, 2689, 2688, 3, 2, 2, 2, 2689, 2690, 3, 2, 2, 2, 2690, 2691, 3, 2, 2, 2, 2691, 2697, 5, 492, 247, 2, 2692, 2693, 7, 115, 2, 2, 2693, 2694, 7, 955, 2, 2, 2694, 2695, 5, 546, 274, 2, 2695, 2696, 7, 956, 2, 2, 2696, 2698, 3, 2, 2, 2, 2697, 2692, 3, 2, 2, 2, 2697, 2698, 3, 2, 2, 2, 2698, 2715, 3, 2, 2, 2, 2699, 2700, 7, 955, 2, 2, 2700, 2701, 5, 546, 274, 2, 2701, 2702, 7, 956, 2, 2, 2702, 2704, 3, 2, 2, 2, 2703, 2699, 3, 2, 2, 2, 2703, 2704, 3, 2, 2, 2, 2704, 2705, 3, 2, 2, 2, 2705, 2716, 5, 184, 93, 2, 2706, 2707, 7, 137, 2, 2, 2707, 2712, 5, 186, 94, 2, 2708, 2709, 7, 957, 2, 2, 2709, 2711, 5, 186, 94, 2, 2710, 2708, 3, 2, 2, 2, 2711, 2714, 3, 2, 2, 2, 2712, 2710, 3, 2, 2, 2, 2712, 2713, 3, 2, 2, 2, 2713, 2716, 3, 2, 2, 2, 2714, 2712, 3, 2, 2, 2, 2715, 2703, 3, 2, 2, 2, 2715, 2706, 3, 2, 2, 2, 2716, 2729, 3, 2, 2, 2, 2717, 2718, 7, 106, 2, 2, 2718, 2719, 7, 311, 2, 2, 2719, 2720, 7, 83, 2, 2, 2720, 2721, 7, 163, 2, 2, 2721, 2726, 5, 186, 94, 2, 2722, 2723, 7, 957, 2, 2, 2723, 2725, 5, 186, 94, 2, 2724, 2722, 3, 2, 2, 2, 2725, 2728, 3, 2, 2, 2, 2726, 2724, 3, 2, 2, 2, 2726, 2727, 3, 2, 2, 2, 2727, 2730, 3, 2, 2, 2, 2728, 2726, 3, 2, 2, 2, 2729, 2717, 3, 2, 2, 2, 2729, 2730, 3, 2, 2, 2, 2730, 173, 3, 2, 2, 2, 2731, 2732, 7, 93, 2, 2, 2732, 2734, 7, 298, 2, 2, 2733, 2735, 9, 33, 2, 2, 2734, 2733, 3, 2, 2, 2, 2734, 2735, 3, 2, 2, 2, 2735, 2737, 3, 2, 2, 2, 2736, 2738, 7, 376, 2, 2, 2737, 2736, 3, 2, 2, 2, 2737, 2738, 3, 2, 2, 2, 2738, 2739, 3, 2, 2, 2, 2739, 2740, 7, 74, 2, 2, 2740, 2742, 7, 970, 2, 2, 2741, 2743, 9, 8, 2, 2, 2742, 2741, 3, 2, 2, 2, 2742, 2743, 3, 2, 2, 2, 2743, 2744, 3, 2, 2, 2, 2744, 2745, 7, 79, 2, 2, 2745, 2746, 7, 151, 2, 2, 2746, 2752, 5, 492, 247, 2, 2747, 2748, 7, 115, 2, 2, 2748, 2749, 7, 955, 2, 2, 2749, 2750, 5, 546, 274, 2, 2750, 2751, 7, 956, 2, 2, 2751, 2753, 3, 2, 2, 2, 2752, 2747, 3, 2, 2, 2, 2752, 2753, 3, 2, 2, 2, 2753, 2757, 3, 2, 2, 2, 2754, 2755, 7, 26, 2, 2, 2755, 2756, 7, 137, 2, 2, 2756, 2758, 5, 502, 252, 2, 2757, 2754, 3, 2, 2, 2, 2757, 2758, 3, 2, 2, 2, 2758, 2765, 3, 2, 2, 2, 2759, 2761, 9, 34, 2, 2, 2760, 2762, 5, 248, 125, 2, 2761, 2760, 3, 2, 2, 2, 2762, 2763, 3, 2, 2, 2, 2763, 2761, 3, 2, 2, 2, 2763, 2764, 3, 2, 2, 2, 2764, 2766, 3, 2, 2, 2, 2765, 2759, 3, 2, 2, 2, 2765, 2766, 3, 2, 2, 2, 2766, 2773, 3, 2, 2, 2, 2767, 2769, 7, 92, 2, 2, 2768, 2770, 5, 250, 126, 2, 2769, 2768, 3, 2, 2, 2, 2770, 2771, 3, 2, 2, 2, 2771, 2769, 3, 2, 2, 2, 2771, 2772, 3, 2, 2, 2, 2772, 2774, 3, 2, 2, 2, 2773, 2767, 3, 2, 2, 2, 2773, 2774, 3, 2, 2, 2, 2774, 2779, 3, 2, 2, 2, 2775, 2776, 7, 71, 2, 2, 2776, 2777, 5, 522, 262, 2, 2777, 2778, 9, 35, 2, 2, 2778, 2780, 3, 2, 2, 2, 2779, 2775, 3, 2, 2, 2, 2779, 2780, 3, 2, 2, 2, 2780, 2792, 3, 2, 2, 2, 2781, 2782, 7, 955, 2, 2, 2782, 2787, 5, 188, 95, 2, 2783, 2784, 7, 957, 2, 2, 2784, 2786, 5, 188, 95, 2, 2785, 2783, 3, 2, 2, 2, 2786, 2789, 3, 2, 2, 2, 2787, 2785, 3, 2, 2, 2, 2787, 2788, 3, 2, 2, 2, 2788, 2790, 3, 2, 2, 2, 2789, 2787, 3, 2, 2, 2, 2790, 2791, 7, 956, 2, 2, 2791, 2793, 3, 2, 2, 2, 2792, 2781, 3, 2, 2, 2, 2792, 2793, 3, 2, 2, 2, 2793, 2803, 3, 2, 2, 2, 2794, 2795, 7, 137, 2, 2, 2795, 2800, 5, 186, 94, 2, 2796, 2797, 7, 957, 2, 2, 2797, 2799, 5, 186, 94, 2, 2798, 2796, 3, 2, 2, 2, 2799, 2802, 3, 2, 2, 2, 2800, 2798, 3, 2, 2, 2, 2800, 2801, 3, 2, 2, 2, 2801, 2804, 3, 2, 2, 2, 2802, 2800, 3, 2, 2, 2, 2803, 2794, 3, 2, 2, 2, 2803, 2804, 3, 2, 2, 2, 2804, 175, 3, 2, 2, 2, 2805, 2806, 7, 93, 2, 2, 2806, 2808, 7, 554, 2, 2, 2807, 2809, 9, 33, 2, 2, 2808, 2807, 3, 2, 2, 2, 2808, 2809, 3, 2, 2, 2, 2809, 2811, 3, 2, 2, 2, 2810, 2812, 7, 376, 2, 2, 2811, 2810, 3, 2, 2, 2, 2811, 2812, 3, 2, 2, 2, 2812, 2813, 3, 2, 2, 2, 2813, 2814, 7, 74, 2, 2, 2814, 2816, 7, 970, 2, 2, 2815, 2817, 9, 8, 2, 2, 2816, 2815, 3, 2, 2, 2, 2816, 2817, 3, 2, 2, 2, 2817, 2818, 3, 2, 2, 2, 2818, 2819, 7, 79, 2, 2, 2819, 2820, 7, 151, 2, 2, 2820, 2824, 5, 492, 247, 2, 2821, 2822, 7, 26, 2, 2, 2822, 2823, 7, 137, 2, 2, 2823, 2825, 5, 502, 252, 2, 2824, 2821, 3, 2, 2, 2, 2824, 2825, 3, 2, 2, 2, 2825, 2832, 3, 2, 2, 2, 2826, 2827, 7, 482, 2, 2, 2827, 2828, 7, 353, 2, 2, 2828, 2829, 7, 20, 2, 2, 2829, 2830, 7, 948, 2, 2, 2830, 2831, 7, 970, 2, 2, 2831, 2833, 7, 947, 2, 2, 2832, 2826, 3, 2, 2, 2, 2832, 2833, 3, 2, 2, 2, 2833, 2838, 3, 2, 2, 2, 2834, 2835, 7, 71, 2, 2, 2835, 2836, 5, 522, 262, 2, 2836, 2837, 9, 35, 2, 2, 2837, 2839, 3, 2, 2, 2, 2838, 2834, 3, 2, 2, 2, 2838, 2839, 3, 2, 2, 2, 2839, 2851, 3, 2, 2, 2, 2840, 2841, 7, 955, 2, 2, 2841, 2846, 5, 188, 95, 2, 2842, 2843, 7, 957, 2, 2, 2843, 2845, 5, 188, 95, 2, 2844, 2842, 3, 2, 2, 2, 2845, 2848, 3, 2, 2, 2, 2846, 2844, 3, 2, 2, 2, 2846, 2847, 3, 2, 2, 2, 2847, 2849, 3, 2, 2, 2, 2848, 2846, 3, 2, 2, 2, 2849, 2850, 7, 956, 2, 2, 2850, 2852, 3, 2, 2, 2, 2851, 2840, 3, 2, 2, 2, 2851, 2852, 3, 2, 2, 2, 2852, 2862, 3, 2, 2, 2, 2853, 2854, 7, 137, 2, 2, 2854, 2859, 5, 186, 94, 2, 2855, 2856, 7, 957, 2, 2, 2856, 2858, 5, 186, 94, 2, 2857, 2855, 3, 2, 2, 2, 2858, 2861, 3, 2, 2, 2, 2859, 2857, 3, 2, 2, 2, 2859, 2860, 3, 2, 2, 2, 2860, 2863, 3, 2, 2, 2, 2861, 2859, 3, 2, 2, 2, 2862, 2853, 3, 2, 2, 2, 2862, 2863, 3, 2, 2, 2, 2863, 177, 3, 2, 2, 2, 2864, 2866, 7, 127, 2, 2, 2865, 2867, 9, 36, 2, 2, 2866, 2865, 3, 2, 2, 2, 2866, 2867, 3, 2, 2, 2, 2867, 2869, 3, 2, 2, 2, 2868, 2870, 7, 79, 2, 2, 2869, 2868, 3, 2, 2, 2, 2869, 2870, 3, 2, 2, 2, 2870, 2871, 3, 2, 2, 2, 2871, 2877, 5, 492, 247, 2, 2872, 2873, 7, 115, 2, 2, 2873, 2874, 7, 955, 2, 2, 2874, 2875, 5, 546, 274, 2, 2875, 2876, 7, 956, 2, 2, 2876, 2878, 3, 2, 2, 2, 2877, 2872, 3, 2, 2, 2, 2877, 2878, 3, 2, 2, 2, 2878, 2895, 3, 2, 2, 2, 2879, 2880, 7, 955, 2, 2, 2880, 2881, 5, 546, 274, 2, 2881, 2882, 7, 956, 2, 2, 2882, 2884, 3, 2, 2, 2, 2883, 2879, 3, 2, 2, 2, 2883, 2884, 3, 2, 2, 2, 2884, 2885, 3, 2, 2, 2, 2885, 2896, 5, 184, 93, 2, 2886, 2887, 7, 137, 2, 2, 2887, 2892, 5, 186, 94, 2, 2888, 2889, 7, 957, 2, 2, 2889, 2891, 5, 186, 94, 2, 2890, 2888, 3, 2, 2, 2, 2891, 2894, 3, 2, 2, 2, 2892, 2890, 3, 2, 2, 2, 2892, 2893, 3, 2, 2, 2, 2893, 2896, 3, 2, 2, 2, 2894, 2892, 3, 2, 2, 2, 2895, 2883, 3, 2, 2, 2, 2895, 2886, 3, 2, 2, 2, 2896, 179, 3, 2, 2, 2, 2897, 2899, 5, 228, 115, 2, 2898, 2900, 5, 190, 96, 2, 2899, 2898, 3, 2, 2, 2, 2899, 2900, 3, 2, 2, 2, 2900, 2953, 3, 2, 2, 2, 2901, 2903, 5, 224, 113, 2, 2902, 2904, 5, 190, 96, 2, 2903, 2902, 3, 2, 2, 2, 2903, 2904, 3, 2, 2, 2, 2904, 2953, 3, 2, 2, 2, 2905, 2907, 5, 230, 116, 2, 2906, 2908, 5, 234, 118, 2, 2907, 2906, 3, 2, 2, 2, 2908, 2909, 3, 2, 2, 2, 2909, 2907, 3, 2, 2, 2, 2909, 2910, 3, 2, 2, 2, 2910, 2919, 3, 2, 2, 2, 2911, 2913, 7, 159, 2, 2, 2912, 2914, 9, 37, 2, 2, 2913, 2912, 3, 2, 2, 2, 2913, 2914, 3, 2, 2, 2, 2914, 2917, 3, 2, 2, 2, 2915, 2918, 5, 228, 115, 2, 2916, 2918, 5, 224, 113, 2, 2917, 2915, 3, 2, 2, 2, 2917, 2916, 3, 2, 2, 2, 2918, 2920, 3, 2, 2, 2, 2919, 2911, 3, 2, 2, 2, 2919, 2920, 3, 2, 2, 2, 2920, 2922, 3, 2, 2, 2, 2921, 2923, 5, 208, 105, 2, 2922, 2921, 3, 2, 2, 2, 2922, 2923, 3, 2, 2, 2, 2923, 2925, 3, 2, 2, 2, 2924, 2926, 5, 256, 129, 2, 2925, 2924, 3, 2, 2, 2, 2925, 2926, 3, 2, 2, 2, 2926, 2928, 3, 2, 2, 2, 2927, 2929, 5, 190, 96, 2, 2928, 2927, 3, 2, 2, 2, 2928, 2929, 3, 2, 2, 2, 2929, 2953, 3, 2, 2, 2, 2930, 2932, 5, 226, 114, 2, 2931, 2933, 5, 232, 117, 2, 2932, 2931, 3, 2, 2, 2, 2933, 2934, 3, 2, 2, 2, 2934, 2932, 3, 2, 2, 2, 2934, 2935, 3, 2, 2, 2, 2935, 2941, 3, 2, 2, 2, 2936, 2938, 7, 159, 2, 2, 2937, 2939, 9, 37, 2, 2, 2938, 2937, 3, 2, 2, 2, 2938, 2939, 3, 2, 2, 2, 2939, 2940, 3, 2, 2, 2, 2940, 2942, 5, 224, 113, 2, 2941, 2936, 3, 2, 2, 2, 2941, 2942, 3, 2, 2, 2, 2942, 2944, 3, 2, 2, 2, 2943, 2945, 5, 208, 105, 2, 2944, 2943, 3, 2, 2, 2, 2944, 2945, 3, 2, 2, 2, 2945, 2947, 3, 2, 2, 2, 2946, 2948, 5, 256, 129, 2, 2947, 2946, 3, 2, 2, 2, 2947, 2948, 3, 2, 2, 2, 2948, 2950, 3, 2, 2, 2, 2949, 2951, 5, 190, 96, 2, 2950, 2949, 3, 2, 2, 2, 2950, 2951, 3, 2, 2, 2, 2951, 2953, 3, 2, 2, 2, 2952, 2897, 3, 2, 2, 2, 2952, 2901, 3, 2, 2, 2, 2952, 2905, 3, 2, 2, 2, 2952, 2930, 3, 2, 2, 2, 2953, 181, 3, 2, 2, 2, 2954, 2957, 5, 204, 103, 2, 2955, 2957, 5, 206, 104, 2, 2956, 2954, 3, 2, 2, 2, 2956, 2955, 3, 2, 2, 2, 2957, 183, 3, 2, 2, 2, 2958, 2974, 5, 180, 91, 2, 2959, 2960, 9, 38, 2, 2, 2960, 2961, 7, 955, 2, 2, 2961, 2962, 5, 554, 278, 2, 2962, 2970, 7, 956, 2, 2, 2963, 2964, 7, 957, 2, 2, 2964, 2965, 7, 955, 2, 2, 2965, 2966, 5, 554, 278, 2, 2966, 2967, 7, 956, 2, 2, 2967, 2969, 3, 2, 2, 2, 2968, 2963, 3, 2, 2, 2, 2969, 2972, 3, 2, 2, 2, 2970, 2968, 3, 2, 2, 2, 2970, 2971, 3, 2, 2, 2, 2971, 2974, 3, 2, 2, 2, 2972, 2970, 3, 2, 2, 2, 2973, 2958, 3, 2, 2, 2, 2973, 2959, 3, 2, 2, 2, 2974, 185, 3, 2, 2, 2, 2975, 2976, 5, 494, 248, 2, 2976, 2979, 7, 946, 2, 2, 2977, 2980, 5, 592, 297, 2, 2978, 2980, 7, 41, 2, 2, 2979, 2977, 3, 2, 2, 2, 2979, 2978, 3, 2, 2, 2, 2980, 187, 3, 2, 2, 2, 2981, 2984, 5, 516, 259, 2, 2982, 2984, 7, 981, 2, 2, 2983, 2981, 3, 2, 2, 2, 2983, 2982, 3, 2, 2, 2, 2984, 189, 3, 2, 2, 2, 2985, 2986, 7, 60, 2, 2, 2986, 2992, 7, 163, 2, 2, 2987, 2988, 7, 94, 2, 2, 2988, 2989, 7, 72, 2, 2, 2989, 2990, 7, 489, 2, 2, 2990, 2992, 7, 411, 2, 2, 2991, 2985, 3, 2, 2, 2, 2991, 2987, 3, 2, 2, 2, 2992, 191, 3, 2, 2, 2, 2993, 2995, 7, 43, 2, 2, 2994, 2996, 7, 96, 2, 2, 2995, 2994, 3, 2, 2, 2, 2995, 2996, 3, 2, 2, 2, 2996, 2998, 3, 2, 2, 2, 2997, 2999, 7, 455, 2, 2, 2998, 2997, 3, 2, 2, 2, 2998, 2999, 3, 2, 2, 2, 2999, 3001, 3, 2, 2, 2, 3000, 3002, 7, 71, 2, 2, 3001, 3000, 3, 2, 2, 2, 3001, 3002, 3, 2, 2, 2, 3002, 3003, 3, 2, 2, 2, 3003, 3004, 7, 63, 2, 2, 3004, 3010, 5, 492, 247, 2, 3005, 3006, 7, 115, 2, 2, 3006, 3007, 7, 955, 2, 2, 3007, 3008, 5, 546, 274, 2, 3008, 3009, 7, 956, 2, 2, 3009, 3011, 3, 2, 2, 2, 3010, 3005, 3, 2, 2, 2, 3010, 3011, 3, 2, 2, 2, 3011, 3014, 3, 2, 2, 2, 3012, 3013, 7, 169, 2, 2, 3013, 3015, 5, 592, 297, 2, 3014, 3012, 3, 2, 2, 2, 3014, 3015, 3, 2, 2, 2, 3015, 3017, 3, 2, 2, 2, 3016, 3018, 5, 208, 105, 2, 3017, 3016, 3, 2, 2, 2, 3017, 3018, 3, 2, 2, 2, 3018, 3021, 3, 2, 2, 2, 3019, 3020, 7, 90, 2, 2, 3020, 3022, 5, 522, 262, 2, 3021, 3019, 3, 2, 2, 2, 3021, 3022, 3, 2, 2, 2, 3022, 193, 3, 2, 2, 2, 3023, 3025, 7, 43, 2, 2, 3024, 3026, 7, 96, 2, 2, 3025, 3024, 3, 2, 2, 2, 3025, 3026, 3, 2, 2, 2, 3026, 3028, 3, 2, 2, 2, 3027, 3029, 7, 455, 2, 2, 3028, 3027, 3, 2, 2, 2, 3028, 3029, 3, 2, 2, 2, 3029, 3031, 3, 2, 2, 2, 3030, 3032, 7, 71, 2, 2, 3031, 3030, 3, 2, 2, 2, 3031, 3032, 3, 2, 2, 2, 3032, 3072, 3, 2, 2, 2, 3033, 3036, 5, 492, 247, 2, 3034, 3035, 7, 954, 2, 2, 3035, 3037, 7, 938, 2, 2, 3036, 3034, 3, 2, 2, 2, 3036, 3037, 3, 2, 2, 2, 3037, 3046, 3, 2, 2, 2, 3038, 3039, 7, 957, 2, 2, 3039, 3042, 5, 492, 247, 2, 3040, 3041, 7, 954, 2, 2, 3041, 3043, 7, 938, 2, 2, 3042, 3040, 3, 2, 2, 2, 3042, 3043, 3, 2, 2, 2, 3043, 3045, 3, 2, 2, 2, 3044, 3038, 3, 2, 2, 2, 3045, 3048, 3, 2, 2, 2, 3046, 3044, 3, 2, 2, 2, 3046, 3047, 3, 2, 2, 2, 3047, 3049, 3, 2, 2, 2, 3048, 3046, 3, 2, 2, 2, 3049, 3050, 7, 63, 2, 2, 3050, 3051, 5, 212, 107, 2, 3051, 3073, 3, 2, 2, 2, 3052, 3053, 7, 63, 2, 2, 3053, 3056, 5, 492, 247, 2, 3054, 3055, 7, 954, 2, 2, 3055, 3057, 7, 938, 2, 2, 3056, 3054, 3, 2, 2, 2, 3056, 3057, 3, 2, 2, 2, 3057, 3066, 3, 2, 2, 2, 3058, 3059, 7, 957, 2, 2, 3059, 3062, 5, 492, 247, 2, 3060, 3061, 7, 954, 2, 2, 3061, 3063, 7, 938, 2, 2, 3062, 3060, 3, 2, 2, 2, 3062, 3063, 3, 2, 2, 2, 3063, 3065, 3, 2, 2, 2, 3064, 3058, 3, 2, 2, 2, 3065, 3068, 3, 2, 2, 2, 3066, 3064, 3, 2, 2, 2, 3066, 3067, 3, 2, 2, 2, 3067, 3069, 3, 2, 2, 2, 3068, 3066, 3, 2, 2, 2, 3069, 3070, 7, 166, 2, 2, 3070, 3071, 5, 212, 107, 2, 3071, 3073, 3, 2, 2, 2, 3072, 3033, 3, 2, 2, 2, 3072, 3052, 3, 2, 2, 2, 3073, 3076, 3, 2, 2, 2, 3074, 3075, 7, 169, 2, 2, 3075, 3077, 5, 592, 297, 2, 3076, 3074, 3, 2, 2, 2, 3076, 3077, 3, 2, 2, 2, 3077, 195, 3, 2, 2, 2, 3078, 3079, 7, 348, 2, 2, 3079, 3080, 5, 492, 247, 2, 3080, 3085, 7, 430, 2, 2, 3081, 3083, 7, 15, 2, 2, 3082, 3081, 3, 2, 2, 2, 3082, 3083, 3, 2, 2, 2, 3083, 3084, 3, 2, 2, 2, 3084, 3086, 5, 516, 259, 2, 3085, 3082, 3, 2, 2, 2, 3085, 3086, 3, 2, 2, 2, 3086, 197, 3, 2, 2, 2, 3087, 3088, 7, 348, 2, 2, 3088, 3089, 5, 492, 247, 2, 3089, 3090, 7, 120, 2, 2, 3090, 3097, 5, 516, 259, 2, 3091, 3092, 5, 600, 301, 2, 3092, 3093, 7, 955, 2, 2, 3093, 3094, 5, 556, 279, 2, 3094, 3095, 7, 956, 2, 2, 3095, 3098, 3, 2, 2, 2, 3096, 3098, 9, 39, 2, 2, 3097, 3091, 3, 2, 2, 2, 3097, 3096, 3, 2, 2, 2, 3098, 3101, 3, 2, 2, 2, 3099, 3100, 7, 169, 2, 2, 3100, 3102, 5, 592, 297, 2, 3101, 3099, 3, 2, 2, 2, 3101, 3102, 3, 2, 2, 2, 3102, 3105, 3, 2, 2, 2, 3103, 3104, 7, 90, 2, 2, 3104, 3106, 5, 522, 262, 2, 3105, 3103, 3, 2, 2, 2, 3105, 3106, 3, 2, 2, 2, 3106, 199, 3, 2, 2, 2, 3107, 3108, 7, 348, 2, 2, 3108, 3109, 5, 492, 247, 2, 3109, 3110, 7, 120, 2, 2, 3110, 3113, 9, 40, 2, 2, 3111, 3112, 7, 169, 2, 2, 3112, 3114, 5, 592, 297, 2, 3113, 3111, 3, 2, 2, 2, 3113, 3114, 3, 2, 2, 2, 3114, 3117, 3, 2, 2, 2, 3115, 3116, 7, 90, 2, 2, 3116, 3118, 5, 522, 262, 2, 3117, 3115, 3, 2, 2, 2, 3117, 3118, 3, 2, 2, 2, 3118, 201, 3, 2, 2, 2, 3119, 3120, 7, 348, 2, 2, 3120, 3121, 5, 492, 247, 2, 3121, 3122, 7, 279, 2, 2, 3122, 203, 3, 2, 2, 2, 3123, 3125, 7, 163, 2, 2, 3124, 3126, 7, 96, 2, 2, 3125, 3124, 3, 2, 2, 2, 3125, 3126, 3, 2, 2, 2, 3126, 3128, 3, 2, 2, 2, 3127, 3129, 7, 71, 2, 2, 3128, 3127, 3, 2, 2, 2, 3128, 3129, 3, 2, 2, 2, 3129, 3130, 3, 2, 2, 2, 3130, 3135, 5, 492, 247, 2, 3131, 3133, 7, 15, 2, 2, 3132, 3131, 3, 2, 2, 2, 3132, 3133, 3, 2, 2, 2, 3133, 3134, 3, 2, 2, 2, 3134, 3136, 5, 516, 259, 2, 3135, 3132, 3, 2, 2, 2, 3135, 3136, 3, 2, 2, 2, 3136, 3137, 3, 2, 2, 2, 3137, 3138, 7, 137, 2, 2, 3138, 3143, 5, 186, 94, 2, 3139, 3140, 7, 957, 2, 2, 3140, 3142, 5, 186, 94, 2, 3141, 3139, 3, 2, 2, 2, 3142, 3145, 3, 2, 2, 2, 3143, 3141, 3, 2, 2, 2, 3143, 3144, 3, 2, 2, 2, 3144, 3148, 3, 2, 2, 2, 3145, 3143, 3, 2, 2, 2, 3146, 3147, 7, 169, 2, 2, 3147, 3149, 5, 592, 297, 2, 3148, 3146, 3, 2, 2, 2, 3148, 3149, 3, 2, 2, 2, 3149, 3151, 3, 2, 2, 2, 3150, 3152, 5, 208, 105, 2, 3151, 3150, 3, 2, 2, 2, 3151, 3152, 3, 2, 2, 2, 3152, 3154, 3, 2, 2, 2, 3153, 3155, 5, 256, 129, 2, 3154, 3153, 3, 2, 2, 2, 3154, 3155, 3, 2, 2, 2, 3155, 205, 3, 2, 2, 2, 3156, 3158, 7, 163, 2, 2, 3157, 3159, 7, 96, 2, 2, 3158, 3157, 3, 2, 2, 2, 3158, 3159, 3, 2, 2, 2, 3159, 3161, 3, 2, 2, 2, 3160, 3162, 7, 71, 2, 2, 3161, 3160, 3, 2, 2, 2, 3161, 3162, 3, 2, 2, 2, 3162, 3163, 3, 2, 2, 2, 3163, 3164, 5, 212, 107, 2, 3164, 3165, 7, 137, 2, 2, 3165, 3170, 5, 186, 94, 2, 3166, 3167, 7, 957, 2, 2, 3167, 3169, 5, 186, 94, 2, 3168, 3166, 3, 2, 2, 2, 3169, 3172, 3, 2, 2, 2, 3170, 3168, 3, 2, 2, 2, 3170, 3171, 3, 2, 2, 2, 3171, 3175, 3, 2, 2, 2, 3172, 3170, 3, 2, 2, 2, 3173, 3174, 7, 169, 2, 2, 3174, 3176, 5, 592, 297, 2, 3175, 3173, 3, 2, 2, 2, 3175, 3176, 3, 2, 2, 2, 3176, 207, 3, 2, 2, 2, 3177, 3178, 7, 111, 2, 2, 3178, 3179, 7, 20, 2, 2, 3179, 3184, 5, 210, 106, 2, 3180, 3181, 7, 957, 2, 2, 3181, 3183, 5, 210, 106, 2, 3182, 3180, 3, 2, 2, 2, 3183, 3186, 3, 2, 2, 2, 3184, 3182, 3, 2, 2, 2, 3184, 3185, 3, 2, 2, 2, 3185, 209, 3, 2, 2, 2, 3186, 3184, 3, 2, 2, 2, 3187, 3189, 5, 592, 297, 2, 3188, 3190, 9, 41, 2, 2, 3189, 3188, 3, 2, 2, 2, 3189, 3190, 3, 2, 2, 2, 3190, 211, 3, 2, 2, 2, 3191, 3196, 5, 214, 108, 2, 3192, 3193, 7, 957, 2, 2, 3193, 3195, 5, 214, 108, 2, 3194, 3192, 3, 2, 2, 2, 3195, 3198, 3, 2, 2, 2, 3196, 3194, 3, 2, 2, 2, 3196, 3197, 3, 2, 2, 2, 3197, 213, 3, 2, 2, 2, 3198, 3196, 3, 2, 2, 2, 3199, 3203, 5, 216, 109, 2, 3200, 3202, 5, 222, 112, 2, 3201, 3200, 3, 2, 2, 2, 3202, 3205, 3, 2, 2, 2, 3203, 3201, 3, 2, 2, 2, 3203, 3204, 3, 2, 2, 2, 3204, 3217, 3, 2, 2, 2, 3205, 3203, 3, 2, 2, 2, 3206, 3207, 7, 955, 2, 2, 3207, 3211, 5, 216, 109, 2, 3208, 3210, 5, 222, 112, 2, 3209, 3208, 3, 2, 2, 2, 3210, 3213, 3, 2, 2, 2, 3211, 3209, 3, 2, 2, 2, 3211, 3212, 3, 2, 2, 2, 3212, 3214, 3, 2, 2, 2, 3213, 3211, 3, 2, 2, 2, 3214, 3215, 7, 956, 2, 2, 3215, 3217, 3, 2, 2, 2, 3216, 3199, 3, 2, 2, 2, 3216, 3206, 3, 2, 2, 2, 3217, 215, 3, 2, 2, 2, 3218, 3224, 5, 492, 247, 2, 3219, 3220, 7, 115, 2, 2, 3220, 3221, 7, 955, 2, 2, 3221, 3222, 5, 546, 274, 2, 3222, 3223, 7, 956, 2, 2, 3223, 3225, 3, 2, 2, 2, 3224, 3219, 3, 2, 2, 2, 3224, 3225, 3, 2, 2, 2, 3225, 3230, 3, 2, 2, 2, 3226, 3228, 7, 15, 2, 2, 3227, 3226, 3, 2, 2, 2, 3227, 3228, 3, 2, 2, 2, 3228, 3229, 3, 2, 2, 2, 3229, 3231, 5, 516, 259, 2, 3230, 3227, 3, 2, 2, 2, 3230, 3231, 3, 2, 2, 2, 3231, 3240, 3, 2, 2, 2, 3232, 3237, 5, 218, 110, 2, 3233, 3234, 7, 957, 2, 2, 3234, 3236, 5, 218, 110, 2, 3235, 3233, 3, 2, 2, 2, 3236, 3239, 3, 2, 2, 2, 3237, 3235, 3, 2, 2, 2, 3237, 3238, 3, 2, 2, 2, 3238, 3241, 3, 2, 2, 2, 3239, 3237, 3, 2, 2, 2, 3240, 3232, 3, 2, 2, 2, 3240, 3241, 3, 2, 2, 2, 3241, 3259, 3, 2, 2, 2, 3242, 3248, 5, 180, 91, 2, 3243, 3244, 7, 955, 2, 2, 3244, 3245, 5, 180, 91, 2, 3245, 3246, 7, 956, 2, 2, 3246, 3248, 3, 2, 2, 2, 3247, 3242, 3, 2, 2, 2, 3247, 3243, 3, 2, 2, 2, 3248, 3250, 3, 2, 2, 2, 3249, 3251, 7, 15, 2, 2, 3250, 3249, 3, 2, 2, 2, 3250, 3251, 3, 2, 2, 2, 3251, 3252, 3, 2, 2, 2, 3252, 3253, 5, 516, 259, 2, 3253, 3259, 3, 2, 2, 2, 3254, 3255, 7, 955, 2, 2, 3255, 3256, 5, 212, 107, 2, 3256, 3257, 7, 956, 2, 2, 3257, 3259, 3, 2, 2, 2, 3258, 3218, 3, 2, 2, 2, 3258, 3247, 3, 2, 2, 2, 3258, 3254, 3, 2, 2, 2, 3259, 217, 3, 2, 2, 2, 3260, 3261, 9, 42, 2, 2, 3261, 3264, 9, 20, 2, 2, 3262, 3263, 7, 60, 2, 2, 3263, 3265, 5, 220, 111, 2, 3264, 3262, 3, 2, 2, 2, 3264, 3265, 3, 2, 2, 2, 3265, 3266, 3, 2, 2, 2, 3266, 3267, 7, 955, 2, 2, 3267, 3268, 5, 546, 274, 2, 3268, 3269, 7, 956, 2, 2, 3269, 219, 3, 2, 2, 2, 3270, 3276, 7, 82, 2, 2, 3271, 3272, 7, 111, 2, 2, 3272, 3276, 7, 20, 2, 2, 3273, 3274, 7, 67, 2, 2, 3274, 3276, 7, 20, 2, 2, 3275, 3270, 3, 2, 2, 2, 3275, 3271, 3, 2, 2, 2, 3275, 3273, 3, 2, 2, 2, 3276, 221, 3, 2, 2, 2, 3277, 3279, 9, 43, 2, 2, 3278, 3277, 3, 2, 2, 2, 3278, 3279, 3, 2, 2, 2, 3279, 3280, 3, 2, 2, 2, 3280, 3281, 7, 82, 2, 2, 3281, 3289, 5, 216, 109, 2, 3282, 3283, 7, 106, 2, 2, 3283, 3290, 5, 592, 297, 2, 3284, 3285, 7, 166, 2, 2, 3285, 3286, 7, 955, 2, 2, 3286, 3287, 5, 546, 274, 2, 3287, 3288, 7, 956, 2, 2, 3288, 3290, 3, 2, 2, 2, 3289, 3282, 3, 2, 2, 2, 3289, 3284, 3, 2, 2, 2, 3289, 3290, 3, 2, 2, 2, 3290, 3322, 3, 2, 2, 2, 3291, 3292, 7, 150, 2, 2, 3292, 3295, 5, 216, 109, 2, 3293, 3294, 7, 106, 2, 2, 3294, 3296, 5, 592, 297, 2, 3295, 3293, 3, 2, 2, 2, 3295, 3296, 3, 2, 2, 2, 3296, 3322, 3, 2, 2, 2, 3297, 3299, 9, 44, 2, 2, 3298, 3300, 7, 113, 2, 2, 3299, 3298, 3, 2, 2, 2, 3299, 3300, 3, 2, 2, 2, 3300, 3301, 3, 2, 2, 2, 3301, 3302, 7, 82, 2, 2, 3302, 3310, 5, 216, 109, 2, 3303, 3304, 7, 106, 2, 2, 3304, 3311, 5, 592, 297, 2, 3305, 3306, 7, 166, 2, 2, 3306, 3307, 7, 955, 2, 2, 3307, 3308, 5, 546, 274, 2, 3308, 3309, 7, 956, 2, 2, 3309, 3311, 3, 2, 2, 2, 3310, 3303, 3, 2, 2, 2, 3310, 3305, 3, 2, 2, 2, 3311, 3322, 3, 2, 2, 2, 3312, 3317, 7, 102, 2, 2, 3313, 3315, 9, 44, 2, 2, 3314, 3316, 7, 113, 2, 2, 3315, 3314, 3, 2, 2, 2, 3315, 3316, 3, 2, 2, 2, 3316, 3318, 3, 2, 2, 2, 3317, 3313, 3, 2, 2, 2, 3317, 3318, 3, 2, 2, 2, 3318, 3319, 3, 2, 2, 2, 3319, 3320, 7, 82, 2, 2, 3320, 3322, 5, 216, 109, 2, 3321, 3278, 3, 2, 2, 2, 3321, 3291, 3, 2, 2, 2, 3321, 3297, 3, 2, 2, 2, 3321, 3312, 3, 2, 2, 2, 3322, 223, 3, 2, 2, 2, 3323, 3324, 7, 955, 2, 2, 3324, 3325, 5, 228, 115, 2, 3325, 3326, 7, 956, 2, 2, 3326, 3332, 3, 2, 2, 2, 3327, 3328, 7, 955, 2, 2, 3328, 3329, 5, 224, 113, 2, 3329, 3330, 7, 956, 2, 2, 3330, 3332, 3, 2, 2, 2, 3331, 3323, 3, 2, 2, 2, 3331, 3327, 3, 2, 2, 2, 3332, 225, 3, 2, 2, 2, 3333, 3334, 7, 955, 2, 2, 3334, 3335, 5, 230, 116, 2, 3335, 3336, 7, 956, 2, 2, 3336, 3342, 3, 2, 2, 2, 3337, 3338, 7, 955, 2, 2, 3338, 3339, 5, 226, 114, 2, 3339, 3340, 7, 956, 2, 2, 3340, 3342, 3, 2, 2, 2, 3341, 3333, 3, 2, 2, 2, 3341, 3337, 3, 2, 2, 2, 3342, 227, 3, 2, 2, 2, 3343, 3347, 7, 136, 2, 2, 3344, 3346, 5, 236, 119, 2, 3345, 3344, 3, 2, 2, 2, 3346, 3349, 3, 2, 2, 2, 3347, 3345, 3, 2, 2, 2, 3347, 3348, 3, 2, 2, 2, 3348, 3350, 3, 2, 2, 2, 3349, 3347, 3, 2, 2, 2, 3350, 3352, 5, 238, 120, 2, 3351, 3353, 5, 246, 124, 2, 3352, 3351, 3, 2, 2, 2, 3352, 3353, 3, 2, 2, 2, 3353, 3355, 3, 2, 2, 2, 3354, 3356, 5, 252, 127, 2, 3355, 3354, 3, 2, 2, 2, 3355, 3356, 3, 2, 2, 2, 3356, 3358, 3, 2, 2, 2, 3357, 3359, 5, 208, 105, 2, 3358, 3357, 3, 2, 2, 2, 3358, 3359, 3, 2, 2, 2, 3359, 3361, 3, 2, 2, 2, 3360, 3362, 5, 256, 129, 2, 3361, 3360, 3, 2, 2, 2, 3361, 3362, 3, 2, 2, 2, 3362, 3401, 3, 2, 2, 2, 3363, 3367, 7, 136, 2, 2, 3364, 3366, 5, 236, 119, 2, 3365, 3364, 3, 2, 2, 2, 3366, 3369, 3, 2, 2, 2, 3367, 3365, 3, 2, 2, 2, 3367, 3368, 3, 2, 2, 2, 3368, 3370, 3, 2, 2, 2, 3369, 3367, 3, 2, 2, 2, 3370, 3372, 5, 238, 120, 2, 3371, 3373, 5, 252, 127, 2, 3372, 3371, 3, 2, 2, 2, 3372, 3373, 3, 2, 2, 2, 3373, 3375, 3, 2, 2, 2, 3374, 3376, 5, 208, 105, 2, 3375, 3374, 3, 2, 2, 2, 3375, 3376, 3, 2, 2, 2, 3376, 3378, 3, 2, 2, 2, 3377, 3379, 5, 256, 129, 2, 3378, 3377, 3, 2, 2, 2, 3378, 3379, 3, 2, 2, 2, 3379, 3381, 3, 2, 2, 2, 3380, 3382, 5, 246, 124, 2, 3381, 3380, 3, 2, 2, 2, 3381, 3382, 3, 2, 2, 2, 3382, 3401, 3, 2, 2, 2, 3383, 3387, 7, 136, 2, 2, 3384, 3386, 5, 236, 119, 2, 3385, 3384, 3, 2, 2, 2, 3386, 3389, 3, 2, 2, 2, 3387, 3385, 3, 2, 2, 2, 3387, 3388, 3, 2, 2, 2, 3388, 3390, 3, 2, 2, 2, 3389, 3387, 3, 2, 2, 2, 3390, 3392, 5, 238, 120, 2, 3391, 3393, 5, 252, 127, 2, 3392, 3391, 3, 2, 2, 2, 3392, 3393, 3, 2, 2, 2, 3393, 3395, 3, 2, 2, 2, 3394, 3396, 5, 242, 122, 2, 3395, 3394, 3, 2, 2, 2, 3395, 3396, 3, 2, 2, 2, 3396, 3398, 3, 2, 2, 2, 3397, 3399, 5, 244, 123, 2, 3398, 3397, 3, 2, 2, 2, 3398, 3399, 3, 2, 2, 2, 3399, 3401, 3, 2, 2, 2, 3400, 3343, 3, 2, 2, 2, 3400, 3363, 3, 2, 2, 2, 3400, 3383, 3, 2, 2, 2, 3401, 229, 3, 2, 2, 2, 3402, 3406, 7, 136, 2, 2, 3403, 3405, 5, 236, 119, 2, 3404, 3403, 3, 2, 2, 2, 3405, 3408, 3, 2, 2, 2, 3406, 3404, 3, 2, 2, 2, 3406, 3407, 3, 2, 2, 2, 3407, 3409, 3, 2, 2, 2, 3408, 3406, 3, 2, 2, 2, 3409, 3411, 5, 238, 120, 2, 3410, 3412, 5, 252, 127, 2, 3411, 3410, 3, 2, 2, 2, 3411, 3412, 3, 2, 2, 2, 3412, 3414, 3, 2, 2, 2, 3413, 3415, 5, 208, 105, 2, 3414, 3413, 3, 2, 2, 2, 3414, 3415, 3, 2, 2, 2, 3415, 3417, 3, 2, 2, 2, 3416, 3418, 5, 256, 129, 2, 3417, 3416, 3, 2, 2, 2, 3417, 3418, 3, 2, 2, 2, 3418, 231, 3, 2, 2, 2, 3419, 3421, 7, 159, 2, 2, 3420, 3422, 9, 37, 2, 2, 3421, 3420, 3, 2, 2, 2, 3421, 3422, 3, 2, 2, 2, 3422, 3423, 3, 2, 2, 2, 3423, 3424, 5, 226, 114, 2, 3424, 233, 3, 2, 2, 2, 3425, 3427, 7, 159, 2, 2, 3426, 3428, 9, 37, 2, 2, 3427, 3426, 3, 2, 2, 2, 3427, 3428, 3, 2, 2, 2, 3428, 3431, 3, 2, 2, 2, 3429, 3432, 5, 230, 116, 2, 3430, 3432, 5, 226, 114, 2, 3431, 3429, 3, 2, 2, 2, 3431, 3430, 3, 2, 2, 2, 3432, 235, 3, 2, 2, 2, 3433, 3442, 9, 45, 2, 2, 3434, 3442, 7, 69, 2, 2, 3435, 3442, 7, 150, 2, 2, 3436, 3442, 7, 147, 2, 2, 3437, 3442, 7, 145, 2, 2, 3438, 3442, 7, 504, 2, 2, 3439, 3442, 9, 46, 2, 2, 3440, 3442, 7, 146, 2, 2, 3441, 3433, 3, 2, 2, 2, 3441, 3434, 3, 2, 2, 2, 3441, 3435, 3, 2, 2, 2, 3441, 3436, 3, 2, 2, 2, 3441, 3437, 3, 2, 2, 2, 3441, 3438, 3, 2, 2, 2, 3441, 3439, 3, 2, 2, 2, 3441, 3440, 3, 2, 2, 2, 3442, 237, 3, 2, 2, 2, 3443, 3446, 7, 938, 2, 2, 3444, 3446, 5, 240, 121, 2, 3445, 3443, 3, 2, 2, 2, 3445, 3444, 3, 2, 2, 2, 3446, 3451, 3, 2, 2, 2, 3447, 3448, 7, 957, 2, 2, 3448, 3450, 5, 240, 121, 2, 3449, 3447, 3, 2, 2, 2, 3450, 3453, 3, 2, 2, 2, 3451, 3449, 3, 2, 2, 2, 3451, 3452, 3, 2, 2, 2, 3452, 239, 3, 2, 2, 2, 3453, 3451, 3, 2, 2, 2, 3454, 3455, 5, 490, 246, 2, 3455, 3456, 7, 954, 2, 2, 3456, 3457, 7, 938, 2, 2, 3457, 3484, 3, 2, 2, 2, 3458, 3463, 5, 494, 248, 2, 3459, 3461, 7, 15, 2, 2, 3460, 3459, 3, 2, 2, 2, 3460, 3461, 3, 2, 2, 2, 3461, 3462, 3, 2, 2, 2, 3462, 3464, 5, 516, 259, 2, 3463, 3460, 3, 2, 2, 2, 3463, 3464, 3, 2, 2, 2, 3464, 3484, 3, 2, 2, 2, 3465, 3470, 5, 572, 287, 2, 3466, 3468, 7, 15, 2, 2, 3467, 3466, 3, 2, 2, 2, 3467, 3468, 3, 2, 2, 2, 3468, 3469, 3, 2, 2, 2, 3469, 3471, 5, 516, 259, 2, 3470, 3467, 3, 2, 2, 2, 3470, 3471, 3, 2, 2, 2, 3471, 3484, 3, 2, 2, 2, 3472, 3473, 7, 981, 2, 2, 3473, 3475, 7, 929, 2, 2, 3474, 3472, 3, 2, 2, 2, 3474, 3475, 3, 2, 2, 2, 3475, 3476, 3, 2, 2, 2, 3476, 3481, 5, 592, 297, 2, 3477, 3479, 7, 15, 2, 2, 3478, 3477, 3, 2, 2, 2, 3478, 3479, 3, 2, 2, 2, 3479, 3480, 3, 2, 2, 2, 3480, 3482, 5, 516, 259, 2, 3481, 3478, 3, 2, 2, 2, 3481, 3482, 3, 2, 2, 2, 3482, 3484, 3, 2, 2, 2, 3483, 3454, 3, 2, 2, 2, 3483, 3458, 3, 2, 2, 2, 3483, 3465, 3, 2, 2, 2, 3483, 3474, 3, 2, 2, 2, 3484, 241, 3, 2, 2, 2, 3485, 3486, 7, 7, 2, 2, 3486, 3487, 7, 973, 2, 2, 3487, 243, 3, 2, 2, 2, 3488, 3489, 7, 8, 2, 2, 3489, 3490, 7, 973, 2, 2, 3490, 245, 3, 2, 2, 2, 3491, 3492, 7, 79, 2, 2, 3492, 3497, 5, 188, 95, 2, 3493, 3494, 7, 957, 2, 2, 3494, 3496, 5, 188, 95, 2, 3495, 3493, 3, 2, 2, 2, 3496, 3499, 3, 2, 2, 2, 3497, 3495, 3, 2, 2, 2, 3497, 3498, 3, 2, 2, 2, 3498, 3528, 3, 2, 2, 2, 3499, 3497, 3, 2, 2, 2, 3500, 3501, 7, 79, 2, 2, 3501, 3502, 7, 310, 2, 2, 3502, 3528, 7, 970, 2, 2, 3503, 3504, 7, 79, 2, 2, 3504, 3505, 7, 114, 2, 2, 3505, 3509, 7, 970, 2, 2, 3506, 3507, 7, 26, 2, 2, 3507, 3508, 7, 137, 2, 2, 3508, 3510, 5, 502, 252, 2, 3509, 3506, 3, 2, 2, 2, 3509, 3510, 3, 2, 2, 2, 3510, 3517, 3, 2, 2, 2, 3511, 3513, 9, 34, 2, 2, 3512, 3514, 5, 248, 125, 2, 3513, 3512, 3, 2, 2, 2, 3514, 3515, 3, 2, 2, 2, 3515, 3513, 3, 2, 2, 2, 3515, 3516, 3, 2, 2, 2, 3516, 3518, 3, 2, 2, 2, 3517, 3511, 3, 2, 2, 2, 3517, 3518, 3, 2, 2, 2, 3518, 3525, 3, 2, 2, 2, 3519, 3521, 7, 92, 2, 2, 3520, 3522, 5, 250, 126, 2, 3521, 3520, 3, 2, 2, 2, 3522, 3523, 3, 2, 2, 2, 3523, 3521, 3, 2, 2, 2, 3523, 3524, 3, 2, 2, 2, 3524, 3526, 3, 2, 2, 2, 3525, 3519, 3, 2, 2, 2, 3525, 3526, 3, 2, 2, 2, 3526, 3528, 3, 2, 2, 2, 3527, 3491, 3, 2, 2, 2, 3527, 3500, 3, 2, 2, 2, 3527, 3503, 3, 2, 2, 2, 3528, 247, 3, 2, 2, 2, 3529, 3530, 7, 152, 2, 2, 3530, 3531, 7, 20, 2, 2, 3531, 3542, 7, 970, 2, 2, 3532, 3534, 7, 109, 2, 2, 3533, 3532, 3, 2, 2, 2, 3533, 3534, 3, 2, 2, 2, 3534, 3535, 3, 2, 2, 2, 3535, 3536, 7, 53, 2, 2, 3536, 3537, 7, 20, 2, 2, 3537, 3542, 7, 970, 2, 2, 3538, 3539, 7, 54, 2, 2, 3539, 3540, 7, 20, 2, 2, 3540, 3542, 7, 970, 2, 2, 3541, 3529, 3, 2, 2, 2, 3541, 3533, 3, 2, 2, 2, 3541, 3538, 3, 2, 2, 2, 3542, 249, 3, 2, 2, 2, 3543, 3544, 7, 149, 2, 2, 3544, 3545, 7, 20, 2, 2, 3545, 3550, 7, 970, 2, 2, 3546, 3547, 7, 152, 2, 2, 3547, 3548, 7, 20, 2, 2, 3548, 3550, 7, 970, 2, 2, 3549, 3543, 3, 2, 2, 2, 3549, 3546, 3, 2, 2, 2, 3550, 251, 3, 2, 2, 2, 3551, 3552, 7, 63, 2, 2, 3552, 3555, 5, 212, 107, 2, 3553, 3554, 7, 169, 2, 2, 3554, 3556, 5, 592, 297, 2, 3555, 3553, 3, 2, 2, 2, 3555, 3556, 3, 2, 2, 2, 3556, 3571, 3, 2, 2, 2, 3557, 3558, 7, 67, 2, 2, 3558, 3559, 7, 20, 2, 2, 3559, 3564, 5, 254, 128, 2, 3560, 3561, 7, 957, 2, 2, 3561, 3563, 5, 254, 128, 2, 3562, 3560, 3, 2, 2, 2, 3563, 3566, 3, 2, 2, 2, 3564, 3562, 3, 2, 2, 2, 3564, 3565, 3, 2, 2, 2, 3565, 3569, 3, 2, 2, 2, 3566, 3564, 3, 2, 2, 2, 3567, 3568, 7, 171, 2, 2, 3568, 3570, 7, 479, 2, 2, 3569, 3567, 3, 2, 2, 2, 3569, 3570, 3, 2, 2, 2, 3570, 3572, 3, 2, 2, 2, 3571, 3557, 3, 2, 2, 2, 3571, 3572, 3, 2, 2, 2, 3572, 3575, 3, 2, 2, 2, 3573, 3574, 7, 68, 2, 2, 3574, 3576, 5, 592, 297, 2, 3575, 3573, 3, 2, 2, 2, 3575, 3576, 3, 2, 2, 2, 3576, 253, 3, 2, 2, 2, 3577, 3579, 5, 592, 297, 2, 3578, 3580, 9, 41, 2, 2, 3579, 3578, 3, 2, 2, 2, 3579, 3580, 3, 2, 2, 2, 3580, 255, 3, 2, 2, 2, 3581, 3592, 7, 90, 2, 2, 3582, 3583, 5, 522, 262, 2, 3583, 3584, 7, 957, 2, 2, 3584, 3586, 3, 2, 2, 2, 3585, 3582, 3, 2, 2, 2, 3585, 3586, 3, 2, 2, 2, 3586, 3587, 3, 2, 2, 2, 3587, 3593, 5, 522, 262, 2, 3588, 3589, 5, 522, 262, 2, 3589, 3590, 7, 424, 2, 2, 3590, 3591, 5, 522, 262, 2, 3591, 3593, 3, 2, 2, 2, 3592, 3585, 3, 2, 2, 2, 3592, 3588, 3, 2, 2, 2, 3593, 257, 3, 2, 2, 2, 3594, 3595, 7, 508, 2, 2, 3595, 3604, 7, 529, 2, 2, 3596, 3601, 5, 280, 141, 2, 3597, 3598, 7, 957, 2, 2, 3598, 3600, 5, 280, 141, 2, 3599, 3597, 3, 2, 2, 2, 3600, 3603, 3, 2, 2, 2, 3601, 3599, 3, 2, 2, 2, 3601, 3602, 3, 2, 2, 2, 3602, 3605, 3, 2, 2, 2, 3603, 3601, 3, 2, 2, 2, 3604, 3596, 3, 2, 2, 2, 3604, 3605, 3, 2, 2, 2, 3605, 259, 3, 2, 2, 2, 3606, 3608, 7, 264, 2, 2, 3607, 3609, 7, 550, 2, 2, 3608, 3607, 3, 2, 2, 2, 3608, 3609, 3, 2, 2, 2, 3609, 261, 3, 2, 2, 2, 3610, 3612, 7, 285, 2, 2, 3611, 3613, 7, 550, 2, 2, 3612, 3611, 3, 2, 2, 2, 3612, 3613, 3, 2, 2, 2, 3613, 3619, 3, 2, 2, 2, 3614, 3616, 7, 14, 2, 2, 3615, 3617, 7, 420, 2, 2, 3616, 3615, 3, 2, 2, 2, 3616, 3617, 3, 2, 2, 2, 3617, 3618, 3, 2, 2, 2, 3618, 3620, 7, 273, 2, 2, 3619, 3614, 3, 2, 2, 2, 3619, 3620, 3, 2, 2, 2, 3620, 3625, 3, 2, 2, 2, 3621, 3623, 7, 420, 2, 2, 3622, 3621, 3, 2, 2, 2, 3622, 3623, 3, 2, 2, 2, 3623, 3624, 3, 2, 2, 2, 3624, 3626, 7, 124, 2, 2, 3625, 3622, 3, 2, 2, 2, 3625, 3626, 3, 2, 2, 2, 3626, 263, 3, 2, 2, 2, 3627, 3629, 7, 478, 2, 2, 3628, 3630, 7, 550, 2, 2, 3629, 3628, 3, 2, 2, 2, 3629, 3630, 3, 2, 2, 2, 3630, 3636, 3, 2, 2, 2, 3631, 3633, 7, 14, 2, 2, 3632, 3634, 7, 420, 2, 2, 3633, 3632, 3, 2, 2, 2, 3633, 3634, 3, 2, 2, 2, 3634, 3635, 3, 2, 2, 2, 3635, 3637, 7, 273, 2, 2, 3636, 3631, 3, 2, 2, 2, 3636, 3637, 3, 2, 2, 2, 3637, 3642, 3, 2, 2, 2, 3638, 3640, 7, 420, 2, 2, 3639, 3638, 3, 2, 2, 2, 3639, 3640, 3, 2, 2, 2, 3640, 3641, 3, 2, 2, 2, 3641, 3643, 7, 124, 2, 2, 3642, 3639, 3, 2, 2, 2, 3642, 3643, 3, 2, 2, 2, 3643, 265, 3, 2, 2, 2, 3644, 3645, 7, 484, 2, 2, 3645, 3646, 5, 516, 259, 2, 3646, 267, 3, 2, 2, 2, 3647, 3649, 7, 478, 2, 2, 3648, 3650, 7, 550, 2, 2, 3649, 3648, 3, 2, 2, 2, 3649, 3650, 3, 2, 2, 2, 3650, 3651, 3, 2, 2, 2, 3651, 3653, 7, 154, 2, 2, 3652, 3654, 7, 484, 2, 2, 3653, 3652, 3, 2, 2, 2, 3653, 3654, 3, 2, 2, 2, 3654, 3655, 3, 2, 2, 2, 3655, 3656, 5, 516, 259, 2, 3656, 269, 3, 2, 2, 2, 3657, 3658, 7, 124, 2, 2, 3658, 3659, 7, 484, 2, 2, 3659, 3660, 5, 516, 259, 2, 3660, 271, 3, 2, 2, 2, 3661, 3662, 7, 94, 2, 2, 3662, 3663, 7, 568, 2, 2, 3663, 3668, 5, 282, 142, 2, 3664, 3665, 7, 957, 2, 2, 3665, 3667, 5, 282, 142, 2, 3666, 3664, 3, 2, 2, 2, 3667, 3670, 3, 2, 2, 2, 3668, 3666, 3, 2, 2, 2, 3668, 3669, 3, 2, 2, 2, 3669, 273, 3, 2, 2, 2, 3670, 3668, 3, 2, 2, 2, 3671, 3672, 7, 161, 2, 2, 3672, 3673, 7, 568, 2, 2, 3673, 275, 3, 2, 2, 2, 3674, 3675, 7, 137, 2, 2, 3675, 3676, 7, 260, 2, 2, 3676, 3677, 7, 946, 2, 2, 3677, 3678, 9, 23, 2, 2, 3678, 277, 3, 2, 2, 2, 3679, 3681, 7, 137, 2, 2, 3680, 3682, 9, 47, 2, 2, 3681, 3680, 3, 2, 2, 2, 3681, 3682, 3, 2, 2, 2, 3682, 3683, 3, 2, 2, 2, 3683, 3684, 7, 529, 2, 2, 3684, 3689, 5, 286, 144, 2, 3685, 3686, 7, 957, 2, 2, 3686, 3688, 5, 286, 144, 2, 3687, 3685, 3, 2, 2, 2, 3688, 3691, 3, 2, 2, 2, 3689, 3687, 3, 2, 2, 2, 3689, 3690, 3, 2, 2, 2, 3690, 279, 3, 2, 2, 2, 3691, 3689, 3, 2, 2, 2, 3692, 3693, 7, 171, 2, 2, 3693, 3694, 7, 292, 2, 2, 3694, 3700, 7, 495, 2, 2, 3695, 3696, 7, 120, 2, 2, 3696, 3700, 7, 172, 2, 2, 3697, 3698, 7, 120, 2, 2, 3698, 3700, 7, 429, 2, 2, 3699, 3692, 3, 2, 2, 2, 3699, 3695, 3, 2, 2, 2, 3699, 3697, 3, 2, 2, 2, 3700, 281, 3, 2, 2, 2, 3701, 3706, 5, 492, 247, 2, 3702, 3704, 7, 15, 2, 2, 3703, 3702, 3, 2, 2, 2, 3703, 3704, 3, 2, 2, 2, 3704, 3705, 3, 2, 2, 2, 3705, 3707, 5, 516, 259, 2, 3706, 3703, 3, 2, 2, 2, 3706, 3707, 3, 2, 2, 2, 3707, 3708, 3, 2, 2, 2, 3708, 3709, 5, 284, 143, 2, 3709, 283, 3, 2, 2, 2, 3710, 3712, 7, 120, 2, 2, 3711, 3713, 7, 376, 2, 2, 3712, 3711, 3, 2, 2, 2, 3712, 3713, 3, 2, 2, 2, 3713, 3719, 3, 2, 2, 2, 3714, 3716, 7, 96, 2, 2, 3715, 3714, 3, 2, 2, 2, 3715, 3716, 3, 2, 2, 2, 3716, 3717, 3, 2, 2, 2, 3717, 3719, 7, 172, 2, 2, 3718, 3710, 3, 2, 2, 2, 3718, 3715, 3, 2, 2, 2, 3719, 285, 3, 2, 2, 2, 3720, 3721, 7, 366, 2, 2, 3721, 3722, 7, 374, 2, 2, 3722, 3728, 5, 288, 145, 2, 3723, 3724, 7, 120, 2, 2, 3724, 3728, 7, 172, 2, 2, 3725, 3726, 7, 120, 2, 2, 3726, 3728, 7, 429, 2, 2, 3727, 3720, 3, 2, 2, 2, 3727, 3723, 3, 2, 2, 2, 3727, 3725, 3, 2, 2, 2, 3728, 287, 3, 2, 2, 2, 3729, 3730, 7, 628, 2, 2, 3730, 3737, 7, 120, 2, 2, 3731, 3732, 7, 120, 2, 2, 3732, 3737, 7, 629, 2, 2, 3733, 3734, 7, 120, 2, 2, 3734, 3737, 7, 630, 2, 2, 3735, 3737, 7, 631, 2, 2, 3736, 3729, 3, 2, 2, 2, 3736, 3731, 3, 2, 2, 2, 3736, 3733, 3, 2, 2, 2, 3736, 3735, 3, 2, 2, 2, 3737, 289, 3, 2, 2, 2, 3738, 3739, 7, 25, 2, 2, 3739, 3740, 7, 379, 2, 2, 3740, 3741, 7, 154, 2, 2, 3741, 3746, 5, 308, 155, 2, 3742, 3743, 7, 957, 2, 2, 3743, 3745, 5, 308, 155, 2, 3744, 3742, 3, 2, 2, 2, 3745, 3748, 3, 2, 2, 2, 3746, 3744, 3, 2, 2, 2, 3746, 3747, 3, 2, 2, 2, 3747, 3750, 3, 2, 2, 2, 3748, 3746, 3, 2, 2, 2, 3749, 3751, 5, 316, 159, 2, 3750, 3749, 3, 2, 2, 2, 3750, 3751, 3, 2, 2, 2, 3751, 291, 3, 2, 2, 2, 3752, 3753, 7, 25, 2, 2, 3753, 3754, 7, 474, 2, 2, 3754, 3755, 7, 336, 2, 2, 3755, 3760, 5, 318, 160, 2, 3756, 3757, 7, 957, 2, 2, 3757, 3759, 5, 318, 160, 2, 3758, 3756, 3, 2, 2, 2, 3759, 3762, 3, 2, 2, 2, 3760, 3758, 3, 2, 2, 2, 3760, 3761, 3, 2, 2, 2, 3761, 293, 3, 2, 2, 2, 3762, 3760, 3, 2, 2, 2, 3763, 3764, 7, 118, 2, 2, 3764, 3765, 9, 48, 2, 2, 3765, 3770, 7, 378, 2, 2, 3766, 3767, 7, 154, 2, 2, 3767, 3771, 7, 970, 2, 2, 3768, 3769, 7, 17, 2, 2, 3769, 3771, 7, 970, 2, 2, 3770, 3766, 3, 2, 2, 2, 3770, 3768, 3, 2, 2, 2, 3771, 295, 3, 2, 2, 2, 3772, 3773, 7, 475, 2, 2, 3773, 3774, 7, 379, 2, 2, 3774, 297, 3, 2, 2, 2, 3775, 3776, 7, 475, 2, 2, 3776, 3778, 7, 493, 2, 2, 3777, 3779, 7, 10, 2, 2, 3778, 3777, 3, 2, 2, 2, 3778, 3779, 3, 2, 2, 2, 3779, 3781, 3, 2, 2, 2, 3780, 3782, 5, 316, 159, 2, 3781, 3780, 3, 2, 2, 2, 3781, 3782, 3, 2, 2, 2, 3782, 299, 3, 2, 2, 2, 3783, 3784, 7, 508, 2, 2, 3784, 3793, 7, 493, 2, 2, 3785, 3790, 5, 322, 162, 2, 3786, 3787, 7, 957, 2, 2, 3787, 3789, 5, 322, 162, 2, 3788, 3786, 3, 2, 2, 2, 3789, 3792, 3, 2, 2, 2, 3790, 3788, 3, 2, 2, 2, 3790, 3791, 3, 2, 2, 2, 3791, 3794, 3, 2, 2, 2, 3792, 3790, 3, 2, 2, 2, 3793, 3785, 3, 2, 2, 2, 3793, 3794, 3, 2, 2, 2, 3794, 3797, 3, 2, 2, 2, 3795, 3796, 7, 537, 2, 2, 3796, 3798, 5, 324, 163, 2, 3797, 3795, 3, 2, 2, 2, 3797, 3798, 3, 2, 2, 2, 3798, 3802, 3, 2, 2, 2, 3799, 3801, 5, 326, 164, 2, 3800, 3799, 3, 2, 2, 2, 3801, 3804, 3, 2, 2, 2, 3802, 3800, 3, 2, 2, 2, 3802, 3803, 3, 2, 2, 2, 3803, 3806, 3, 2, 2, 2, 3804, 3802, 3, 2, 2, 2, 3805, 3807, 5, 316, 159, 2, 3806, 3805, 3, 2, 2, 2, 3806, 3807, 3, 2, 2, 2, 3807, 301, 3, 2, 2, 2, 3808, 3809, 7, 514, 2, 2, 3809, 3818, 7, 493, 2, 2, 3810, 3815, 5, 322, 162, 2, 3811, 3812, 7, 957, 2, 2, 3812, 3814, 5, 322, 162, 2, 3813, 3811, 3, 2, 2, 2, 3814, 3817, 3, 2, 2, 2, 3815, 3813, 3, 2, 2, 2, 3815, 3816, 3, 2, 2, 2, 3816, 3819, 3, 2, 2, 2, 3817, 3815, 3, 2, 2, 2, 3818, 3810, 3, 2, 2, 2, 3818, 3819, 3, 2, 2, 2, 3819, 303, 3, 2, 2, 2, 3820, 3821, 7, 508, 2, 2, 3821, 3822, 7, 347, 2, 2, 3822, 305, 3, 2, 2, 2, 3823, 3824, 7, 514, 2, 2, 3824, 3825, 7, 347, 2, 2, 3825, 307, 3, 2, 2, 2, 3826, 3827, 5, 310, 156, 2, 3827, 3828, 7, 946, 2, 2, 3828, 3829, 7, 970, 2, 2, 3829, 3856, 3, 2, 2, 2, 3830, 3831, 5, 312, 157, 2, 3831, 3832, 7, 946, 2, 2, 3832, 3833, 5, 522, 262, 2, 3833, 3856, 3, 2, 2, 2, 3834, 3835, 5, 314, 158, 2, 3835, 3836, 7, 946, 2, 2, 3836, 3837, 9, 23, 2, 2, 3837, 3856, 3, 2, 2, 2, 3838, 3839, 7, 383, 2, 2, 3839, 3840, 7, 946, 2, 2, 3840, 3856, 7, 973, 2, 2, 3841, 3842, 7, 354, 2, 2, 3842, 3843, 7, 946, 2, 2, 3843, 3852, 7, 955, 2, 2, 3844, 3849, 5, 516, 259, 2, 3845, 3846, 7, 957, 2, 2, 3846, 3848, 5, 516, 259, 2, 3847, 3845, 3, 2, 2, 2, 3848, 3851, 3, 2, 2, 2, 3849, 3847, 3, 2, 2, 2, 3849, 3850, 3, 2, 2, 2, 3850, 3853, 3, 2, 2, 2, 3851, 3849, 3, 2, 2, 2, 3852, 3844, 3, 2, 2, 2, 3852, 3853, 3, 2, 2, 2, 3853, 3854, 3, 2, 2, 2, 3854, 3856, 7, 956, 2, 2, 3855, 3826, 3, 2, 2, 2, 3855, 3830, 3, 2, 2, 2, 3855, 3834, 3, 2, 2, 2, 3855, 3838, 3, 2, 2, 2, 3855, 3841, 3, 2, 2, 2, 3856, 309, 3, 2, 2, 2, 3857, 3858, 9, 49, 2, 2, 3858, 311, 3, 2, 2, 2, 3859, 3860, 9, 50, 2, 2, 3860, 313, 3, 2, 2, 2, 3861, 3862, 9, 51, 2, 2, 3862, 315, 3, 2, 2, 2, 3863, 3864, 7, 60, 2, 2, 3864, 3865, 7, 275, 2, 2, 3865, 3866, 7, 970, 2, 2, 3866, 317, 3, 2, 2, 2, 3867, 3868, 7, 467, 2, 2, 3868, 3869, 7, 946, 2, 2, 3869, 3870, 7, 955, 2, 2, 3870, 3871, 5, 546, 274, 2, 3871, 3872, 7, 956, 2, 2, 3872, 3917, 3, 2, 2, 2, 3873, 3874, 7, 469, 2, 2, 3874, 3875, 7, 946, 2, 2, 3875, 3876, 7, 955, 2, 2, 3876, 3877, 5, 546, 274, 2, 3877, 3878, 7, 956, 2, 2, 3878, 3917, 3, 2, 2, 2, 3879, 3880, 7, 468, 2, 2, 3880, 3881, 7, 946, 2, 2, 3881, 3882, 7, 955, 2, 2, 3882, 3883, 5, 548, 275, 2, 3883, 3884, 7, 956, 2, 2, 3884, 3917, 3, 2, 2, 2, 3885, 3886, 7, 470, 2, 2, 3886, 3887, 7, 946, 2, 2, 3887, 3888, 7, 955, 2, 2, 3888, 3889, 5, 548, 275, 2, 3889, 3890, 7, 956, 2, 2, 3890, 3917, 3, 2, 2, 2, 3891, 3892, 7, 472, 2, 2, 3892, 3893, 7, 946, 2, 2, 3893, 3894, 7, 955, 2, 2, 3894, 3895, 5, 558, 280, 2, 3895, 3896, 7, 956, 2, 2, 3896, 3917, 3, 2, 2, 2, 3897, 3898, 7, 473, 2, 2, 3898, 3899, 7, 946, 2, 2, 3899, 3900, 7, 955, 2, 2, 3900, 3901, 5, 558, 280, 2, 3901, 3902, 7, 956, 2, 2, 3902, 3917, 3, 2, 2, 2, 3903, 3904, 7, 471, 2, 2, 3904, 3905, 7, 946, 2, 2, 3905, 3906, 7, 955, 2, 2, 3906, 3911, 5, 320, 161, 2, 3907, 3908, 7, 957, 2, 2, 3908, 3910, 5, 320, 161, 2, 3909, 3907, 3, 2, 2, 2, 3910, 3913, 3, 2, 2, 2, 3911, 3909, 3, 2, 2, 2, 3911, 3912, 3, 2, 2, 2, 3912, 3914, 3, 2, 2, 2, 3913, 3911, 3, 2, 2, 2, 3914, 3915, 7, 956, 2, 2, 3915, 3917, 3, 2, 2, 2, 3916, 3867, 3, 2, 2, 2, 3916, 3873, 3, 2, 2, 2, 3916, 3879, 3, 2, 2, 2, 3916, 3885, 3, 2, 2, 2, 3916, 3891, 3, 2, 2, 2, 3916, 3897, 3, 2, 2, 2, 3916, 3903, 3, 2, 2, 2, 3917, 319, 3, 2, 2, 2, 3918, 3919, 7, 955, 2, 2, 3919, 3920, 5, 492, 247, 2, 3920, 3921, 7, 957, 2, 2, 3921, 3922, 5, 492, 247, 2, 3922, 3923, 7, 956, 2, 2, 3923, 321, 3, 2, 2, 2, 3924, 3925, 9, 52, 2, 2, 3925, 323, 3, 2, 2, 2, 3926, 3927, 9, 53, 2, 2, 3927, 3928, 7, 946, 2, 2, 3928, 3945, 5, 328, 165, 2, 3929, 3930, 7, 385, 2, 2, 3930, 3931, 7, 946, 2, 2, 3931, 3932, 7, 970, 2, 2, 3932, 3933, 7, 957, 2, 2, 3933, 3934, 7, 386, 2, 2, 3934, 3935, 7, 946, 2, 2, 3935, 3945, 5, 522, 262, 2, 3936, 3937, 7, 461, 2, 2, 3937, 3938, 7, 946, 2, 2, 3938, 3939, 7, 970, 2, 2, 3939, 3940, 7, 957, 2, 2, 3940, 3941, 7, 462, 2, 2, 3941, 3942, 7, 946, 2, 2, 3942, 3945, 5, 522, 262, 2, 3943, 3945, 7, 502, 2, 2, 3944, 3926, 3, 2, 2, 2, 3944, 3929, 3, 2, 2, 2, 3944, 3936, 3, 2, 2, 2, 3944, 3943, 3, 2, 2, 2, 3945, 325, 3, 2, 2, 2, 3946, 3947, 7, 539, 2, 2, 3947, 3948, 7, 946, 2, 2, 3948, 3959, 7, 970, 2, 2, 3949, 3950, 7, 440, 2, 2, 3950, 3951, 7, 946, 2, 2, 3951, 3959, 7, 970, 2, 2, 3952, 3953, 7, 301, 2, 2, 3953, 3954, 7, 946, 2, 2, 3954, 3959, 7, 970, 2, 2, 3955, 3956, 7, 443, 2, 2, 3956, 3957, 7, 946, 2, 2, 3957, 3959, 7, 970, 2, 2, 3958, 3946, 3, 2, 2, 2, 3958, 3949, 3, 2, 2, 2, 3958, 3952, 3, 2, 2, 2, 3958, 3955, 3, 2, 2, 2, 3959, 327, 3, 2, 2, 2, 3960, 3965, 5, 508, 255, 2, 3961, 3962, 7, 957, 2, 2, 3962, 3964, 5, 508, 255, 2, 3963, 3961, 3, 2, 2, 2, 3964, 3967, 3, 2, 2, 2, 3965, 3963, 3, 2, 2, 2, 3965, 3966, 3, 2, 2, 2, 3966, 3970, 3, 2, 2, 2, 3967, 3965, 3, 2, 2, 2, 3968, 3970, 7, 970, 2, 2, 3969, 3960, 3, 2, 2, 2, 3969, 3968, 3, 2, 2, 2, 3970, 329, 3, 2, 2, 2, 3971, 3972, 7, 553, 2, 2, 3972, 3973, 9, 54, 2, 2, 3973, 3975, 5, 510, 256, 2, 3974, 3976, 9, 55, 2, 2, 3975, 3974, 3, 2, 2, 2, 3975, 3976, 3, 2, 2, 2, 3976, 331, 3, 2, 2, 2, 3977, 3978, 7, 553, 2, 2, 3978, 3979, 7, 315, 2, 2, 3979, 3985, 5, 510, 256, 2, 3980, 3983, 7, 521, 2, 2, 3981, 3982, 7, 60, 2, 2, 3982, 3984, 7, 409, 2, 2, 3983, 3981, 3, 2, 2, 2, 3983, 3984, 3, 2, 2, 2, 3984, 3986, 3, 2, 2, 2, 3985, 3980, 3, 2, 2, 2, 3985, 3986, 3, 2, 2, 2, 3986, 333, 3, 2, 2, 2, 3987, 3988, 7, 553, 2, 2, 3988, 3989, 7, 447, 2, 2, 3989, 3990, 5, 510, 256, 2, 3990, 335, 3, 2, 2, 2, 3991, 3992, 7, 553, 2, 2, 3992, 3993, 7, 285, 2, 2, 3993, 3996, 5, 510, 256, 2, 3994, 3995, 7, 427, 2, 2, 3995, 3997, 7, 441, 2, 2, 3996, 3994, 3, 2, 2, 2, 3996, 3997, 3, 2, 2, 2, 3997, 337, 3, 2, 2, 2, 3998, 3999, 7, 553, 2, 2, 3999, 4000, 7, 478, 2, 2, 4000, 4001, 5, 510, 256, 2, 4001, 339, 3, 2, 2, 2, 4002, 4003, 7, 553, 2, 2, 4003, 4006, 7, 457, 2, 2, 4004, 4005, 7, 33, 2, 2, 4005, 4007, 5, 510, 256, 2, 4006, 4004, 3, 2, 2, 2, 4006, 4007, 3, 2, 2, 2, 4007, 341, 3, 2, 2, 2, 4008, 4009, 7, 447, 2, 2, 4009, 4010, 5, 516, 259, 2, 4010, 4013, 7, 63, 2, 2, 4011, 4014, 7, 970, 2, 2, 4012, 4014, 7, 981, 2, 2, 4013, 4011, 3, 2, 2, 2, 4013, 4012, 3, 2, 2, 2, 4014, 343, 3, 2, 2, 2, 4015, 4016, 7, 570, 2, 2, 4016, 4019, 5, 516, 259, 2, 4017, 4018, 7, 166, 2, 2, 4018, 4020, 5, 560, 281, 2, 4019, 4017, 3, 2, 2, 2, 4019, 4020, 3, 2, 2, 2, 4020, 345, 3, 2, 2, 2, 4021, 4022, 9, 56, 2, 2, 4022, 4023, 7, 447, 2, 2, 4023, 4024, 5, 516, 259, 2, 4024, 347, 3, 2, 2, 2, 4025, 4028, 5, 350, 176, 2, 4026, 4028, 5, 6, 4, 2, 4027, 4025, 3, 2, 2, 2, 4027, 4026, 3, 2, 2, 2, 4028, 349, 3, 2, 2, 2, 4029, 4030, 5, 516, 259, 2, 4030, 4031, 7, 966, 2, 2, 4031, 4033, 3, 2, 2, 2, 4032, 4029, 3, 2, 2, 2, 4032, 4033, 3, 2, 2, 2, 4033, 4034, 3, 2, 2, 2, 4034, 4072, 7, 264, 2, 2, 4035, 4036, 5, 370, 186, 2, 4036, 4037, 7, 958, 2, 2, 4037, 4039, 3, 2, 2, 2, 4038, 4035, 3, 2, 2, 2, 4039, 4042, 3, 2, 2, 2, 4040, 4038, 3, 2, 2, 2, 4040, 4041, 3, 2, 2, 2, 4041, 4048, 3, 2, 2, 2, 4042, 4040, 3, 2, 2, 2, 4043, 4044, 5, 372, 187, 2, 4044, 4045, 7, 958, 2, 2, 4045, 4047, 3, 2, 2, 2, 4046, 4043, 3, 2, 2, 2, 4047, 4050, 3, 2, 2, 2, 4048, 4046, 3, 2, 2, 2, 4048, 4049, 3, 2, 2, 2, 4049, 4056, 3, 2, 2, 2, 4050, 4048, 3, 2, 2, 2, 4051, 4052, 5, 374, 188, 2, 4052, 4053, 7, 958, 2, 2, 4053, 4055, 3, 2, 2, 2, 4054, 4051, 3, 2, 2, 2, 4055, 4058, 3, 2, 2, 2, 4056, 4054, 3, 2, 2, 2, 4056, 4057, 3, 2, 2, 2, 4057, 4064, 3, 2, 2, 2, 4058, 4056, 3, 2, 2, 2, 4059, 4060, 5, 376, 189, 2, 4060, 4061, 7, 958, 2, 2, 4061, 4063, 3, 2, 2, 2, 4062, 4059, 3, 2, 2, 2, 4063, 4066, 3, 2, 2, 2, 4064, 4062, 3, 2, 2, 2, 4064, 4065, 3, 2, 2, 2, 4065, 4068, 3, 2, 2, 2, 4066, 4064, 3, 2, 2, 2, 4067, 4069, 5, 380, 191, 2, 4068, 4067, 3, 2, 2, 2, 4069, 4070, 3, 2, 2, 2, 4070, 4068, 3, 2, 2, 2, 4070, 4071, 3, 2, 2, 2, 4071, 4073, 3, 2, 2, 2, 4072, 4040, 3, 2, 2, 2, 4072, 4073, 3, 2, 2, 2, 4073, 4074, 3, 2, 2, 2, 4074, 4076, 7, 315, 2, 2, 4075, 4077, 5, 516, 259, 2, 4076, 4075, 3, 2, 2, 2, 4076, 4077, 3, 2, 2, 2, 4077, 351, 3, 2, 2, 2, 4078, 4081, 7, 23, 2, 2, 4079, 4082, 5, 516, 259, 2, 4080, 4082, 5, 592, 297, 2, 4081, 4079, 3, 2, 2, 2, 4081, 4080, 3, 2, 2, 2, 4081, 4082, 3, 2, 2, 2, 4082, 4084, 3, 2, 2, 2, 4083, 4085, 5, 382, 192, 2, 4084, 4083, 3, 2, 2, 2, 4085, 4086, 3, 2, 2, 2, 4086, 4084, 3, 2, 2, 2, 4086, 4087, 3, 2, 2, 2, 4087, 4094, 3, 2, 2, 2, 4088, 4090, 7, 51, 2, 2, 4089, 4091, 5, 380, 191, 2, 4090, 4089, 3, 2, 2, 2, 4091, 4092, 3, 2, 2, 2, 4092, 4090, 3, 2, 2, 2, 4092, 4093, 3, 2, 2, 2, 4093, 4095, 3, 2, 2, 2, 4094, 4088, 3, 2, 2, 2, 4094, 4095, 3, 2, 2, 2, 4095, 4096, 3, 2, 2, 2, 4096, 4097, 7, 315, 2, 2, 4097, 4098, 7, 23, 2, 2, 4098, 353, 3, 2, 2, 2, 4099, 4100, 7, 70, 2, 2, 4100, 4101, 5, 592, 297, 2, 4101, 4103, 7, 153, 2, 2, 4102, 4104, 5, 380, 191, 2, 4103, 4102, 3, 2, 2, 2, 4104, 4105, 3, 2, 2, 2, 4105, 4103, 3, 2, 2, 2, 4105, 4106, 3, 2, 2, 2, 4106, 4110, 3, 2, 2, 2, 4107, 4109, 5, 384, 193, 2, 4108, 4107, 3, 2, 2, 2, 4109, 4112, 3, 2, 2, 2, 4110, 4108, 3, 2, 2, 2, 4110, 4111, 3, 2, 2, 2, 4111, 4119, 3, 2, 2, 2, 4112, 4110, 3, 2, 2, 2, 4113, 4115, 7, 51, 2, 2, 4114, 4116, 5, 380, 191, 2, 4115, 4114, 3, 2, 2, 2, 4116, 4117, 3, 2, 2, 2, 4117, 4115, 3, 2, 2, 2, 4117, 4118, 3, 2, 2, 2, 4118, 4120, 3, 2, 2, 2, 4119, 4113, 3, 2, 2, 2, 4119, 4120, 3, 2, 2, 2, 4120, 4121, 3, 2, 2, 2, 4121, 4122, 7, 315, 2, 2, 4122, 4123, 7, 70, 2, 2, 4123, 355, 3, 2, 2, 2, 4124, 4125, 7, 81, 2, 2, 4125, 4126, 5, 516, 259, 2, 4126, 357, 3, 2, 2, 2, 4127, 4128, 7, 87, 2, 2, 4128, 4129, 5, 516, 259, 2, 4129, 359, 3, 2, 2, 2, 4130, 4131, 5, 516, 259, 2, 4131, 4132, 7, 966, 2, 2, 4132, 4134, 3, 2, 2, 2, 4133, 4130, 3, 2, 2, 2, 4133, 4134, 3, 2, 2, 2, 4134, 4135, 3, 2, 2, 2, 4135, 4137, 7, 95, 2, 2, 4136, 4138, 5, 380, 191, 2, 4137, 4136, 3, 2, 2, 2, 4138, 4139, 3, 2, 2, 2, 4139, 4137, 3, 2, 2, 2, 4139, 4140, 3, 2, 2, 2, 4140, 4141, 3, 2, 2, 2, 4141, 4142, 7, 315, 2, 2, 4142, 4144, 7, 95, 2, 2, 4143, 4145, 5, 516, 259, 2, 4144, 4143, 3, 2, 2, 2, 4144, 4145, 3, 2, 2, 2, 4145, 361, 3, 2, 2, 2, 4146, 4147, 5, 516, 259, 2, 4147, 4148, 7, 966, 2, 2, 4148, 4150, 3, 2, 2, 2, 4149, 4146, 3, 2, 2, 2, 4149, 4150, 3, 2, 2, 2, 4150, 4151, 3, 2, 2, 2, 4151, 4153, 7, 126, 2, 2, 4152, 4154, 5, 380, 191, 2, 4153, 4152, 3, 2, 2, 2, 4154, 4155, 3, 2, 2, 2, 4155, 4153, 3, 2, 2, 2, 4155, 4156, 3, 2, 2, 2, 4156, 4157, 3, 2, 2, 2, 4157, 4158, 7, 537, 2, 2, 4158, 4159, 5, 592, 297, 2, 4159, 4160, 7, 315, 2, 2, 4160, 4162, 7, 126, 2, 2, 4161, 4163, 5, 516, 259, 2, 4162, 4161, 3, 2, 2, 2, 4162, 4163, 3, 2, 2, 2, 4163, 363, 3, 2, 2, 2, 4164, 4165, 7, 130, 2, 2, 4165, 4166, 5, 592, 297, 2, 4166, 365, 3, 2, 2, 2, 4167, 4168, 5, 516, 259, 2, 4168, 4169, 7, 966, 2, 2, 4169, 4171, 3, 2, 2, 2, 4170, 4167, 3, 2, 2, 2, 4170, 4171, 3, 2, 2, 2, 4171, 4172, 3, 2, 2, 2, 4172, 4173, 7, 170, 2, 2, 4173, 4174, 5, 592, 297, 2, 4174, 4176, 7, 309, 2, 2, 4175, 4177, 5, 380, 191, 2, 4176, 4175, 3, 2, 2, 2, 4177, 4178, 3, 2, 2, 2, 4178, 4176, 3, 2, 2, 2, 4178, 4179, 3, 2, 2, 2, 4179, 4180, 3, 2, 2, 2, 4180, 4181, 7, 315, 2, 2, 4181, 4183, 7, 170, 2, 2, 4182, 4184, 5, 516, 259, 2, 4183, 4182, 3, 2, 2, 2, 4183, 4184, 3, 2, 2, 2, 4184, 367, 3, 2, 2, 2, 4185, 4186, 7, 279, 2, 2, 4186, 4201, 5, 516, 259, 2, 4187, 4192, 7, 59, 2, 2, 4188, 4190, 7, 419, 2, 2, 4189, 4188, 3, 2, 2, 2, 4189, 4190, 3, 2, 2, 2, 4190, 4191, 3, 2, 2, 2, 4191, 4193, 7, 63, 2, 2, 4192, 4189, 3, 2, 2, 2, 4192, 4193, 3, 2, 2, 2, 4193, 4194, 3, 2, 2, 2, 4194, 4195, 5, 516, 259, 2, 4195, 4196, 7, 79, 2, 2, 4196, 4197, 5, 546, 274, 2, 4197, 4201, 3, 2, 2, 2, 4198, 4199, 7, 430, 2, 2, 4199, 4201, 5, 516, 259, 2, 4200, 4185, 3, 2, 2, 2, 4200, 4187, 3, 2, 2, 2, 4200, 4198, 3, 2, 2, 2, 4201, 369, 3, 2, 2, 2, 4202, 4203, 7, 40, 2, 2, 4203, 4204, 5, 546, 274, 2, 4204, 4207, 5, 536, 269, 2, 4205, 4206, 7, 41, 2, 2, 4206, 4208, 5, 562, 282, 2, 4207, 4205, 3, 2, 2, 2, 4207, 4208, 3, 2, 2, 2, 4208, 371, 3, 2, 2, 2, 4209, 4210, 7, 40, 2, 2, 4210, 4211, 5, 516, 259, 2, 4211, 4212, 7, 30, 2, 2, 4212, 4219, 7, 60, 2, 2, 4213, 4220, 5, 522, 262, 2, 4214, 4216, 7, 143, 2, 2, 4215, 4217, 7, 543, 2, 2, 4216, 4215, 3, 2, 2, 2, 4216, 4217, 3, 2, 2, 2, 4217, 4218, 3, 2, 2, 2, 4218, 4220, 7, 970, 2, 2, 4219, 4213, 3, 2, 2, 2, 4219, 4214, 3, 2, 2, 2, 4220, 373, 3, 2, 2, 2, 4221, 4222, 7, 40, 2, 2, 4222, 4223, 5, 516, 259, 2, 4223, 4224, 7, 37, 2, 2, 4224, 4225, 7, 60, 2, 2, 4225, 4226, 5, 180, 91, 2, 4226, 375, 3, 2, 2, 2, 4227, 4228, 7, 40, 2, 2, 4228, 4229, 9, 57, 2, 2, 4229, 4230, 7, 348, 2, 2, 4230, 4231, 7, 60, 2, 2, 4231, 4236, 5, 378, 190, 2, 4232, 4233, 7, 957, 2, 2, 4233, 4235, 5, 378, 190, 2, 4234, 4232, 3, 2, 2, 2, 4235, 4238, 3, 2, 2, 2, 4236, 4234, 3, 2, 2, 2, 4236, 4237, 3, 2, 2, 2, 4237, 4239, 3, 2, 2, 2, 4238, 4236, 3, 2, 2, 2, 4239, 4240, 5, 348, 175, 2, 4240, 377, 3, 2, 2, 2, 4241, 4253, 5, 522, 262, 2, 4242, 4244, 7, 143, 2, 2, 4243, 4245, 7, 543, 2, 2, 4244, 4243, 3, 2, 2, 2, 4244, 4245, 3, 2, 2, 2, 4245, 4246, 3, 2, 2, 2, 4246, 4253, 7, 970, 2, 2, 4247, 4253, 5, 516, 259, 2, 4248, 4253, 7, 144, 2, 2, 4249, 4250, 7, 103, 2, 2, 4250, 4253, 7, 341, 2, 2, 4251, 4253, 7, 142, 2, 2, 4252, 4241, 3, 2, 2, 2, 4252, 4242, 3, 2, 2, 2, 4252, 4247, 3, 2, 2, 2, 4252, 4248, 3, 2, 2, 2, 4252, 4249, 3, 2, 2, 2, 4252, 4251, 3, 2, 2, 2, 4253, 379, 3, 2, 2, 2, 4254, 4257, 5, 20, 11, 2, 4255, 4257, 5, 6, 4, 2, 4256, 4254, 3, 2, 2, 2, 4256, 4255, 3, 2, 2, 2, 4257, 4258, 3, 2, 2, 2, 4258, 4259, 7, 958, 2, 2, 4259, 381, 3, 2, 2, 2, 4260, 4263, 7, 168, 2, 2, 4261, 4264, 5, 534, 268, 2, 4262, 4264, 5, 592, 297, 2, 4263, 4261, 3, 2, 2, 2, 4263, 4262, 3, 2, 2, 2, 4264, 4265, 3, 2, 2, 2, 4265, 4267, 7, 153, 2, 2, 4266, 4268, 5, 380, 191, 2, 4267, 4266, 3, 2, 2, 2, 4268, 4269, 3, 2, 2, 2, 4269, 4267, 3, 2, 2, 2, 4269, 4270, 3, 2, 2, 2, 4270, 383, 3, 2, 2, 2, 4271, 4272, 7, 52, 2, 2, 4272, 4273, 5, 592, 297, 2, 4273, 4275, 7, 153, 2, 2, 4274, 4276, 5, 380, 191, 2, 4275, 4274, 3, 2, 2, 2, 4276, 4277, 3, 2, 2, 2, 4277, 4275, 3, 2, 2, 2, 4277, 4278, 3, 2, 2, 2, 4278, 385, 3, 2, 2, 2, 4279, 4280, 7, 11, 2, 2, 4280, 4281, 7, 539, 2, 2, 4281, 4286, 5, 404, 203, 2, 4282, 4283, 7, 957, 2, 2, 4283, 4285, 5, 404, 203, 2, 4284, 4282, 3, 2, 2, 2, 4285, 4288, 3, 2, 2, 2, 4286, 4284, 3, 2, 2, 2, 4286, 4287, 3, 2, 2, 2, 4287, 4334, 3, 2, 2, 2, 4288, 4286, 3, 2, 2, 2, 4289, 4290, 7, 11, 2, 2, 4290, 4292, 7, 539, 2, 2, 4291, 4293, 5, 568, 285, 2, 4292, 4291, 3, 2, 2, 2, 4292, 4293, 3, 2, 2, 2, 4293, 4294, 3, 2, 2, 2, 4294, 4299, 5, 406, 204, 2, 4295, 4296, 7, 957, 2, 2, 4296, 4298, 5, 406, 204, 2, 4297, 4295, 3, 2, 2, 2, 4298, 4301, 3, 2, 2, 2, 4299, 4297, 3, 2, 2, 2, 4299, 4300, 3, 2, 2, 2, 4300, 4316, 3, 2, 2, 2, 4301, 4299, 3, 2, 2, 2, 4302, 4314, 7, 128, 2, 2, 4303, 4315, 7, 422, 2, 2, 4304, 4311, 5, 408, 205, 2, 4305, 4307, 7, 14, 2, 2, 4306, 4305, 3, 2, 2, 2, 4306, 4307, 3, 2, 2, 2, 4307, 4308, 3, 2, 2, 2, 4308, 4310, 5, 408, 205, 2, 4309, 4306, 3, 2, 2, 2, 4310, 4313, 3, 2, 2, 2, 4311, 4309, 3, 2, 2, 2, 4311, 4312, 3, 2, 2, 2, 4312, 4315, 3, 2, 2, 2, 4313, 4311, 3, 2, 2, 2, 4314, 4303, 3, 2, 2, 2, 4314, 4304, 3, 2, 2, 2, 4315, 4317, 3, 2, 2, 2, 4316, 4302, 3, 2, 2, 2, 4316, 4317, 3, 2, 2, 2, 4317, 4324, 3, 2, 2, 2, 4318, 4320, 7, 171, 2, 2, 4319, 4321, 5, 410, 206, 2, 4320, 4319, 3, 2, 2, 2, 4321, 4322, 3, 2, 2, 2, 4322, 4320, 3, 2, 2, 2, 4322, 4323, 3, 2, 2, 2, 4323, 4325, 3, 2, 2, 2, 4324, 4318, 3, 2, 2, 2, 4324, 4325, 3, 2, 2, 2, 4325, 4330, 3, 2, 2, 2, 4326, 4329, 5, 412, 207, 2, 4327, 4329, 5, 414, 208, 2, 4328, 4326, 3, 2, 2, 2, 4328, 4327, 3, 2, 2, 2, 4329, 4332, 3, 2, 2, 2, 4330, 4328, 3, 2, 2, 2, 4330, 4331, 3, 2, 2, 2, 4331, 4334, 3, 2, 2, 2, 4332, 4330, 3, 2, 2, 2, 4333, 4279, 3, 2, 2, 2, 4333, 4289, 3, 2, 2, 2, 4334, 387, 3, 2, 2, 2, 4335, 4336, 7, 34, 2, 2, 4336, 4337, 7, 539, 2, 2, 4337, 4342, 5, 406, 204, 2, 4338, 4339, 7, 957, 2, 2, 4339, 4341, 5, 406, 204, 2, 4340, 4338, 3, 2, 2, 2, 4341, 4344, 3, 2, 2, 2, 4342, 4340, 3, 2, 2, 2, 4342, 4343, 3, 2, 2, 2, 4343, 4390, 3, 2, 2, 2, 4344, 4342, 3, 2, 2, 2, 4345, 4346, 7, 34, 2, 2, 4346, 4348, 7, 539, 2, 2, 4347, 4349, 5, 570, 286, 2, 4348, 4347, 3, 2, 2, 2, 4348, 4349, 3, 2, 2, 2, 4349, 4350, 3, 2, 2, 2, 4350, 4355, 5, 406, 204, 2, 4351, 4352, 7, 957, 2, 2, 4352, 4354, 5, 406, 204, 2, 4353, 4351, 3, 2, 2, 2, 4354, 4357, 3, 2, 2, 2, 4355, 4353, 3, 2, 2, 2, 4355, 4356, 3, 2, 2, 2, 4356, 4372, 3, 2, 2, 2, 4357, 4355, 3, 2, 2, 2, 4358, 4370, 7, 128, 2, 2, 4359, 4371, 7, 422, 2, 2, 4360, 4367, 5, 408, 205, 2, 4361, 4363, 7, 14, 2, 2, 4362, 4361, 3, 2, 2, 2, 4362, 4363, 3, 2, 2, 2, 4363, 4364, 3, 2, 2, 2, 4364, 4366, 5, 408, 205, 2, 4365, 4362, 3, 2, 2, 2, 4366, 4369, 3, 2, 2, 2, 4367, 4365, 3, 2, 2, 2, 4367, 4368, 3, 2, 2, 2, 4368, 4371, 3, 2, 2, 2, 4369, 4367, 3, 2, 2, 2, 4370, 4359, 3, 2, 2, 2, 4370, 4360, 3, 2, 2, 2, 4371, 4373, 3, 2, 2, 2, 4372, 4358, 3, 2, 2, 2, 4372, 4373, 3, 2, 2, 2, 4373, 4380, 3, 2, 2, 2, 4374, 4376, 7, 171, 2, 2, 4375, 4377, 5, 410, 206, 2, 4376, 4375, 3, 2, 2, 2, 4377, 4378, 3, 2, 2, 2, 4378, 4376, 3, 2, 2, 2, 4378, 4379, 3, 2, 2, 2, 4379, 4381, 3, 2, 2, 2, 4380, 4374, 3, 2, 2, 2, 4380, 4381, 3, 2, 2, 2, 4381, 4386, 3, 2, 2, 2, 4382, 4385, 5, 412, 207, 2, 4383, 4385, 5, 414, 208, 2, 4384, 4382, 3, 2, 2, 2, 4384, 4383, 3, 2, 2, 2, 4385, 4388, 3, 2, 2, 2, 4386, 4384, 3, 2, 2, 2, 4386, 4387, 3, 2, 2, 2, 4387, 4390, 3, 2, 2, 2, 4388, 4386, 3, 2, 2, 2, 4389, 4335, 3, 2, 2, 2, 4389, 4345, 3, 2, 2, 2, 4390, 389, 3, 2, 2, 2, 4391, 4392, 7, 49, 2, 2, 4392, 4394, 7, 539, 2, 2, 4393, 4395, 5, 568, 285, 2, 4394, 4393, 3, 2, 2, 2, 4394, 4395, 3, 2, 2, 2, 4395, 4396, 3, 2, 2, 2, 4396, 4401, 5, 498, 250, 2, 4397, 4398, 7, 957, 2, 2, 4398, 4400, 5, 498, 250, 2, 4399, 4397, 3, 2, 2, 2, 4400, 4403, 3, 2, 2, 2, 4401, 4399, 3, 2, 2, 2, 4401, 4402, 3, 2, 2, 2, 4402, 391, 3, 2, 2, 2, 4403, 4401, 3, 2, 2, 2, 4404, 4405, 7, 66, 2, 2, 4405, 4410, 5, 416, 209, 2, 4406, 4407, 7, 957, 2, 2, 4407, 4409, 5, 416, 209, 2, 4408, 4406, 3, 2, 2, 2, 4409, 4412, 3, 2, 2, 2, 4410, 4408, 3, 2, 2, 2, 4410, 4411, 3, 2, 2, 2, 4411, 4413, 3, 2, 2, 2, 4412, 4410, 3, 2, 2, 2, 4413, 4415, 7, 106, 2, 2, 4414, 4416, 9, 58, 2, 2, 4415, 4414, 3, 2, 2, 2, 4415, 4416, 3, 2, 2, 2, 4416, 4417, 3, 2, 2, 2, 4417, 4418, 5, 420, 211, 2, 4418, 4419, 7, 154, 2, 2, 4419, 4424, 5, 406, 204, 2, 4420, 4421, 7, 957, 2, 2, 4421, 4423, 5, 406, 204, 2, 4422, 4420, 3, 2, 2, 2, 4423, 4426, 3, 2, 2, 2, 4424, 4422, 3, 2, 2, 2, 4424, 4425, 3, 2, 2, 2, 4425, 4441, 3, 2, 2, 2, 4426, 4424, 3, 2, 2, 2, 4427, 4439, 7, 128, 2, 2, 4428, 4440, 7, 422, 2, 2, 4429, 4436, 5, 408, 205, 2, 4430, 4432, 7, 14, 2, 2, 4431, 4430, 3, 2, 2, 2, 4431, 4432, 3, 2, 2, 2, 4432, 4433, 3, 2, 2, 2, 4433, 4435, 5, 408, 205, 2, 4434, 4431, 3, 2, 2, 2, 4435, 4438, 3, 2, 2, 2, 4436, 4434, 3, 2, 2, 2, 4436, 4437, 3, 2, 2, 2, 4437, 4440, 3, 2, 2, 2, 4438, 4436, 3, 2, 2, 2, 4439, 4428, 3, 2, 2, 2, 4439, 4429, 3, 2, 2, 2, 4440, 4442, 3, 2, 2, 2, 4441, 4427, 3, 2, 2, 2, 4441, 4442, 3, 2, 2, 2, 4442, 4452, 3, 2, 2, 2, 4443, 4449, 7, 171, 2, 2, 4444, 4445, 7, 66, 2, 2, 4445, 4448, 7, 108, 2, 2, 4446, 4448, 5, 410, 206, 2, 4447, 4444, 3, 2, 2, 2, 4447, 4446, 3, 2, 2, 2, 4448, 4451, 3, 2, 2, 2, 4449, 4447, 3, 2, 2, 2, 4449, 4450, 3, 2, 2, 2, 4450, 4453, 3, 2, 2, 2, 4451, 4449, 3, 2, 2, 2, 4452, 4443, 3, 2, 2, 2, 4452, 4453, 3, 2, 2, 2, 4453, 393, 3, 2, 2, 2, 4454, 4455, 7, 66, 2, 2, 4455, 4456, 7, 453, 2, 2, 4456, 4457, 7, 106, 2, 2, 4457, 4458, 5, 498, 250, 2, 4458, 4459, 7, 154, 2, 2, 4459, 4464, 5, 498, 250, 2, 4460, 4461, 7, 957, 2, 2, 4461, 4463, 5, 498, 250, 2, 4462, 4460, 3, 2, 2, 2, 4463, 4466, 3, 2, 2, 2, 4464, 4462, 3, 2, 2, 2, 4464, 4465, 3, 2, 2, 2, 4465, 4470, 3, 2, 2, 2, 4466, 4464, 3, 2, 2, 2, 4467, 4468, 7, 171, 2, 2, 4468, 4469, 7, 66, 2, 2, 4469, 4471, 7, 108, 2, 2, 4470, 4467, 3, 2, 2, 2, 4470, 4471, 3, 2, 2, 2, 4471, 395, 3, 2, 2, 2, 4472, 4473, 7, 125, 2, 2, 4473, 4474, 7, 539, 2, 2, 4474, 4479, 5, 422, 212, 2, 4475, 4476, 7, 957, 2, 2, 4476, 4478, 5, 422, 212, 2, 4477, 4475, 3, 2, 2, 2, 4478, 4481, 3, 2, 2, 2, 4479, 4477, 3, 2, 2, 2, 4479, 4480, 3, 2, 2, 2, 4480, 397, 3, 2, 2, 2, 4481, 4479, 3, 2, 2, 2, 4482, 4483, 7, 131, 2, 2, 4483, 4488, 5, 416, 209, 2, 4484, 4485, 7, 957, 2, 2, 4485, 4487, 5, 416, 209, 2, 4486, 4484, 3, 2, 2, 2, 4487, 4490, 3, 2, 2, 2, 4488, 4486, 3, 2, 2, 2, 4488, 4489, 3, 2, 2, 2, 4489, 4491, 3, 2, 2, 2, 4490, 4488, 3, 2, 2, 2, 4491, 4493, 7, 106, 2, 2, 4492, 4494, 9, 58, 2, 2, 4493, 4492, 3, 2, 2, 2, 4493, 4494, 3, 2, 2, 2, 4494, 4495, 3, 2, 2, 2, 4495, 4496, 5, 420, 211, 2, 4496, 4497, 7, 63, 2, 2, 4497, 4502, 5, 498, 250, 2, 4498, 4499, 7, 957, 2, 2, 4499, 4501, 5, 498, 250, 2, 4500, 4498, 3, 2, 2, 2, 4501, 4504, 3, 2, 2, 2, 4502, 4500, 3, 2, 2, 2, 4502, 4503, 3, 2, 2, 2, 4503, 4523, 3, 2, 2, 2, 4504, 4502, 3, 2, 2, 2, 4505, 4506, 7, 131, 2, 2, 4506, 4508, 7, 10, 2, 2, 4507, 4509, 7, 576, 2, 2, 4508, 4507, 3, 2, 2, 2, 4508, 4509, 3, 2, 2, 2, 4509, 4510, 3, 2, 2, 2, 4510, 4511, 7, 957, 2, 2, 4511, 4512, 7, 66, 2, 2, 4512, 4513, 7, 108, 2, 2, 4513, 4514, 7, 63, 2, 2, 4514, 4519, 5, 498, 250, 2, 4515, 4516, 7, 957, 2, 2, 4516, 4518, 5, 498, 250, 2, 4517, 4515, 3, 2, 2, 2, 4518, 4521, 3, 2, 2, 2, 4519, 4517, 3, 2, 2, 2, 4519, 4520, 3, 2, 2, 2, 4520, 4523, 3, 2, 2, 2, 4521, 4519, 3, 2, 2, 2, 4522, 4482, 3, 2, 2, 2, 4522, 4505, 3, 2, 2, 2, 4523, 399, 3, 2, 2, 2, 4524, 4525, 7, 131, 2, 2, 4525, 4526, 7, 453, 2, 2, 4526, 4527, 7, 106, 2, 2, 4527, 4528, 5, 498, 250, 2, 4528, 4529, 7, 63, 2, 2, 4529, 4534, 5, 498, 250, 2, 4530, 4531, 7, 957, 2, 2, 4531, 4533, 5, 498, 250, 2, 4532, 4530, 3, 2, 2, 2, 4533, 4536, 3, 2, 2, 2, 4534, 4532, 3, 2, 2, 2, 4534, 4535, 3, 2, 2, 2, 4535, 401, 3, 2, 2, 2, 4536, 4534, 3, 2, 2, 2, 4537, 4538, 7, 137, 2, 2, 4538, 4541, 7, 440, 2, 2, 4539, 4540, 7, 60, 2, 2, 4540, 4542, 5, 498, 250, 2, 4541, 4539, 3, 2, 2, 2, 4541, 4542, 3, 2, 2, 2, 4542, 4543, 3, 2, 2, 2, 4543, 4546, 7, 946, 2, 2, 4544, 4547, 5, 586, 294, 2, 4545, 4547, 7, 970, 2, 2, 4546, 4544, 3, 2, 2, 2, 4546, 4545, 3, 2, 2, 2, 4547, 403, 3, 2, 2, 2, 4548, 4549, 5, 498, 250, 2, 4549, 4550, 5, 412, 207, 2, 4550, 405, 3, 2, 2, 2, 4551, 4552, 5, 498, 250, 2, 4552, 4553, 7, 353, 2, 2, 4553, 4554, 7, 20, 2, 2, 4554, 4555, 7, 440, 2, 2, 4555, 4556, 7, 970, 2, 2, 4556, 4576, 3, 2, 2, 2, 4557, 4558, 5, 498, 250, 2, 4558, 4561, 7, 353, 2, 2, 4559, 4560, 7, 171, 2, 2, 4560, 4562, 5, 514, 258, 2, 4561, 4559, 3, 2, 2, 2, 4561, 4562, 3, 2, 2, 2, 4562, 4563, 3, 2, 2, 2, 4563, 4564, 7, 20, 2, 2, 4564, 4565, 7, 970, 2, 2, 4565, 4576, 3, 2, 2, 2, 4566, 4567, 5, 498, 250, 2, 4567, 4568, 7, 353, 2, 2, 4568, 4569, 7, 171, 2, 2, 4569, 4572, 5, 514, 258, 2, 4570, 4571, 7, 15, 2, 2, 4571, 4573, 7, 970, 2, 2, 4572, 4570, 3, 2, 2, 2, 4572, 4573, 3, 2, 2, 2, 4573, 4576, 3, 2, 2, 2, 4574, 4576, 5, 498, 250, 2, 4575, 4551, 3, 2, 2, 2, 4575, 4557, 3, 2, 2, 2, 4575, 4566, 3, 2, 2, 2, 4575, 4574, 3, 2, 2, 2, 4576, 407, 3, 2, 2, 2, 4577, 4586, 7, 148, 2, 2, 4578, 4586, 7, 552, 2, 2, 4579, 4580, 7, 277, 2, 2, 4580, 4586, 7, 970, 2, 2, 4581, 4582, 7, 367, 2, 2, 4582, 4586, 7, 970, 2, 2, 4583, 4584, 7, 518, 2, 2, 4584, 4586, 7, 970, 2, 2, 4585, 4577, 3, 2, 2, 2, 4585, 4578, 3, 2, 2, 2, 4585, 4579, 3, 2, 2, 2, 4585, 4581, 3, 2, 2, 2, 4585, 4583, 3, 2, 2, 2, 4586, 409, 3, 2, 2, 2, 4587, 4588, 7, 401, 2, 2, 4588, 4596, 5, 522, 262, 2, 4589, 4590, 7, 404, 2, 2, 4590, 4596, 5, 522, 262, 2, 4591, 4592, 7, 400, 2, 2, 4592, 4596, 5, 522, 262, 2, 4593, 4594, 7, 405, 2, 2, 4594, 4596, 5, 522, 262, 2, 4595, 4587, 3, 2, 2, 2, 4595, 4589, 3, 2, 2, 2, 4595, 4591, 3, 2, 2, 2, 4595, 4593, 3, 2, 2, 2, 4596, 411, 3, 2, 2, 2, 4597, 4598, 7, 440, 2, 2, 4598, 4605, 7, 328, 2, 2, 4599, 4606, 7, 41, 2, 2, 4600, 4606, 7, 418, 2, 2, 4601, 4602, 7, 78, 2, 2, 4602, 4603, 5, 522, 262, 2, 4603, 4604, 7, 562, 2, 2, 4604, 4606, 3, 2, 2, 2, 4605, 4599, 3, 2, 2, 2, 4605, 4600, 3, 2, 2, 2, 4605, 4601, 3, 2, 2, 2, 4605, 4606, 3, 2, 2, 2, 4606, 413, 3, 2, 2, 2, 4607, 4608, 7, 252, 2, 2, 4608, 4609, 9, 59, 2, 2, 4609, 415, 3, 2, 2, 2, 4610, 4615, 5, 418, 210, 2, 4611, 4612, 7, 955, 2, 2, 4612, 4613, 5, 546, 274, 2, 4613, 4614, 7, 956, 2, 2, 4614, 4616, 3, 2, 2, 2, 4615, 4611, 3, 2, 2, 2, 4615, 4616, 3, 2, 2, 2, 4616, 417, 3, 2, 2, 2, 4617, 4619, 7, 10, 2, 2, 4618, 4620, 7, 576, 2, 2, 4619, 4618, 3, 2, 2, 2, 4619, 4620, 3, 2, 2, 2, 4620, 4660, 3, 2, 2, 2, 4621, 4623, 7, 11, 2, 2, 4622, 4624, 7, 569, 2, 2, 4623, 4622, 3, 2, 2, 2, 4623, 4624, 3, 2, 2, 2, 4624, 4660, 3, 2, 2, 2, 4625, 4632, 7, 34, 2, 2, 4626, 4627, 7, 525, 2, 2, 4627, 4633, 7, 568, 2, 2, 4628, 4633, 7, 569, 2, 2, 4629, 4633, 7, 545, 2, 2, 4630, 4633, 7, 539, 2, 2, 4631, 4633, 7, 524, 2, 2, 4632, 4626, 3, 2, 2, 2, 4632, 4628, 3, 2, 2, 2, 4632, 4629, 3, 2, 2, 2, 4632, 4630, 3, 2, 2, 2, 4632, 4631, 3, 2, 2, 2, 4632, 4633, 3, 2, 2, 2, 4633, 4660, 3, 2, 2, 2, 4634, 4660, 7, 43, 2, 2, 4635, 4660, 7, 49, 2, 2, 4636, 4660, 7, 323, 2, 2, 4637, 4660, 7, 570, 2, 2, 4638, 4660, 7, 571, 2, 2, 4639, 4640, 7, 66, 2, 2, 4640, 4660, 7, 108, 2, 2, 4641, 4660, 7, 73, 2, 2, 4642, 4660, 7, 77, 2, 2, 4643, 4644, 7, 94, 2, 2, 4644, 4660, 7, 568, 2, 2, 4645, 4660, 7, 572, 2, 2, 4646, 4660, 7, 453, 2, 2, 4647, 4660, 7, 122, 2, 2, 4648, 4660, 7, 573, 2, 2, 4649, 4650, 7, 474, 2, 2, 4650, 4660, 9, 60, 2, 2, 4651, 4660, 7, 136, 2, 2, 4652, 4653, 7, 139, 2, 2, 4653, 4660, 9, 61, 2, 2, 4654, 4660, 7, 574, 2, 2, 4655, 4660, 7, 575, 2, 2, 4656, 4660, 7, 156, 2, 2, 4657, 4660, 7, 163, 2, 2, 4658, 4660, 7, 164, 2, 2, 4659, 4617, 3, 2, 2, 2, 4659, 4621, 3, 2, 2, 2, 4659, 4625, 3, 2, 2, 2, 4659, 4634, 3, 2, 2, 2, 4659, 4635, 3, 2, 2, 2, 4659, 4636, 3, 2, 2, 2, 4659, 4637, 3, 2, 2, 2, 4659, 4638, 3, 2, 2, 2, 4659, 4639, 3, 2, 2, 2, 4659, 4641, 3, 2, 2, 2, 4659, 4642, 3, 2, 2, 2, 4659, 4643, 3, 2, 2, 2, 4659, 4645, 3, 2, 2, 2, 4659, 4646, 3, 2, 2, 2, 4659, 4647, 3, 2, 2, 2, 4659, 4648, 3, 2, 2, 2, 4659, 4649, 3, 2, 2, 2, 4659, 4651, 3, 2, 2, 2, 4659, 4652, 3, 2, 2, 2, 4659, 4654, 3, 2, 2, 2, 4659, 4655, 3, 2, 2, 2, 4659, 4656, 3, 2, 2, 2, 4659, 4657, 3, 2, 2, 2, 4659, 4658, 3, 2, 2, 2, 4660, 419, 3, 2, 2, 2, 4661, 4675, 7, 938, 2, 2, 4662, 4663, 7, 938, 2, 2, 4663, 4664, 7, 954, 2, 2, 4664, 4675, 7, 938, 2, 2, 4665, 4666, 5, 516, 259, 2, 4666, 4667, 7, 954, 2, 2, 4667, 4668, 7, 938, 2, 2, 4668, 4675, 3, 2, 2, 2, 4669, 4670, 5, 516, 259, 2, 4670, 4671, 7, 954, 2, 2, 4671, 4672, 5, 516, 259, 2, 4672, 4675, 3, 2, 2, 2, 4673, 4675, 5, 516, 259, 2, 4674, 4661, 3, 2, 2, 2, 4674, 4662, 3, 2, 2, 2, 4674, 4665, 3, 2, 2, 2, 4674, 4669, 3, 2, 2, 2, 4674, 4673, 3, 2, 2, 2, 4675, 421, 3, 2, 2, 2, 4676, 4677, 5, 498, 250, 2, 4677, 4678, 7, 154, 2, 2, 4678, 4679, 5, 498, 250, 2, 4679, 423, 3, 2, 2, 2, 4680, 4682, 7, 13, 2, 2, 4681, 4683, 9, 62, 2, 2, 4682, 4681, 3, 2, 2, 2, 4682, 4683, 3, 2, 2, 2, 4683, 4684, 3, 2, 2, 2, 4684, 4685, 7, 151, 2, 2, 4685, 4686, 5, 548, 275, 2, 4686, 425, 3, 2, 2, 2, 4687, 4688, 7, 27, 2, 2, 4688, 4689, 7, 151, 2, 2, 4689, 4693, 5, 548, 275, 2, 4690, 4692, 5, 434, 218, 2, 4691, 4690, 3, 2, 2, 2, 4692, 4695, 3, 2, 2, 2, 4693, 4691, 3, 2, 2, 2, 4693, 4694, 3, 2, 2, 2, 4694, 427, 3, 2, 2, 2, 4695, 4693, 3, 2, 2, 2, 4696, 4697, 7, 276, 2, 2, 4697, 4698, 7, 151, 2, 2, 4698, 4700, 5, 548, 275, 2, 4699, 4701, 9, 63, 2, 2, 4700, 4699, 3, 2, 2, 2, 4700, 4701, 3, 2, 2, 2, 4701, 429, 3, 2, 2, 2, 4702, 4704, 7, 107, 2, 2, 4703, 4705, 9, 62, 2, 2, 4704, 4703, 3, 2, 2, 2, 4704, 4705, 3, 2, 2, 2, 4705, 4706, 3, 2, 2, 2, 4706, 4707, 7, 151, 2, 2, 4707, 4708, 5, 548, 275, 2, 4708, 431, 3, 2, 2, 2, 4709, 4711, 7, 466, 2, 2, 4710, 4712, 9, 62, 2, 2, 4711, 4710, 3, 2, 2, 2, 4711, 4712, 3, 2, 2, 2, 4712, 4713, 3, 2, 2, 2, 4713, 4714, 7, 151, 2, 2, 4714, 4716, 5, 548, 275, 2, 4715, 4717, 7, 455, 2, 2, 4716, 4715, 3, 2, 2, 2, 4716, 4717, 3, 2, 2, 2, 4717, 4719, 3, 2, 2, 2, 4718, 4720, 7, 330, 2, 2, 4719, 4718, 3, 2, 2, 2, 4719, 4720, 3, 2, 2, 2, 4720, 4722, 3, 2, 2, 2, 4721, 4723, 7, 540, 2, 2, 4722, 4721, 3, 2, 2, 2, 4722, 4723, 3, 2, 2, 2, 4723, 433, 3, 2, 2, 2, 4724, 4725, 7, 60, 2, 2, 4725, 4732, 7, 538, 2, 2, 4726, 4732, 7, 455, 2, 2, 4727, 4732, 7, 332, 2, 2, 4728, 4732, 7, 406, 2, 2, 4729, 4732, 7, 330, 2, 2, 4730, 4732, 7, 274, 2, 2, 4731, 4724, 3, 2, 2, 2, 4731, 4726, 3, 2, 2, 2, 4731, 4727, 3, 2, 2, 2, 4731, 4728, 3, 2, 2, 2, 4731, 4729, 3, 2, 2, 2, 4731, 4730, 3, 2, 2, 2, 4732, 435, 3, 2, 2, 2, 4733, 4735, 7, 34, 2, 2, 4734, 4736, 7, 255, 2, 2, 4735, 4734, 3, 2, 2, 2, 4735, 4736, 3, 2, 2, 2, 4736, 4737, 3, 2, 2, 2, 4737, 4738, 7, 343, 2, 2, 4738, 4739, 5, 516, 259, 2, 4739, 4740, 7, 477, 2, 2, 4740, 4741, 9, 64, 2, 2, 4741, 4742, 7, 498, 2, 2, 4742, 4743, 7, 970, 2, 2, 4743, 437, 3, 2, 2, 2, 4744, 4745, 7, 360, 2, 2, 4745, 4746, 7, 442, 2, 2, 4746, 4747, 5, 516, 259, 2, 4747, 4748, 7, 498, 2, 2, 4748, 4749, 7, 970, 2, 2, 4749, 439, 3, 2, 2, 2, 4750, 4751, 7, 535, 2, 2, 4751, 4752, 7, 442, 2, 2, 4752, 4753, 5, 516, 259, 2, 4753, 441, 3, 2, 2, 2, 4754, 4755, 7, 137, 2, 2, 4755, 4756, 5, 446, 224, 2, 4756, 4757, 7, 946, 2, 2, 4757, 4765, 5, 592, 297, 2, 4758, 4759, 7, 957, 2, 2, 4759, 4760, 5, 446, 224, 2, 4760, 4761, 7, 946, 2, 2, 4761, 4762, 5, 592, 297, 2, 4762, 4764, 3, 2, 2, 2, 4763, 4758, 3, 2, 2, 2, 4764, 4767, 3, 2, 2, 2, 4765, 4763, 3, 2, 2, 2, 4765, 4766, 3, 2, 2, 2, 4766, 4792, 3, 2, 2, 2, 4767, 4765, 3, 2, 2, 2, 4768, 4772, 7, 137, 2, 2, 4769, 4770, 7, 26, 2, 2, 4770, 4773, 7, 137, 2, 2, 4771, 4773, 7, 667, 2, 2, 4772, 4769, 3, 2, 2, 2, 4772, 4771, 3, 2, 2, 2, 4773, 4776, 3, 2, 2, 2, 4774, 4777, 5, 502, 252, 2, 4775, 4777, 7, 41, 2, 2, 4776, 4774, 3, 2, 2, 2, 4776, 4775, 3, 2, 2, 2, 4777, 4792, 3, 2, 2, 2, 4778, 4779, 7, 137, 2, 2, 4779, 4786, 7, 416, 2, 2, 4780, 4783, 5, 502, 252, 2, 4781, 4782, 7, 28, 2, 2, 4782, 4784, 5, 504, 253, 2, 4783, 4781, 3, 2, 2, 2, 4783, 4784, 3, 2, 2, 2, 4784, 4787, 3, 2, 2, 2, 4785, 4787, 7, 41, 2, 2, 4786, 4780, 3, 2, 2, 2, 4786, 4785, 3, 2, 2, 2, 4787, 4792, 3, 2, 2, 2, 4788, 4792, 5, 402, 202, 2, 4789, 4792, 5, 278, 140, 2, 4790, 4792, 5, 276, 139, 2, 4791, 4754, 3, 2, 2, 2, 4791, 4768, 3, 2, 2, 2, 4791, 4778, 3, 2, 2, 2, 4791, 4788, 3, 2, 2, 2, 4791, 4789, 3, 2, 2, 2, 4791, 4790, 3, 2, 2, 2, 4792, 443, 3, 2, 2, 2, 4793, 4794, 7, 139, 2, 2, 4794, 4795, 9, 48, 2, 2, 4795, 4945, 7, 378, 2, 2, 4796, 4797, 7, 139, 2, 2, 4797, 4798, 9, 65, 2, 2, 4798, 4801, 7, 324, 2, 2, 4799, 4800, 7, 72, 2, 2, 4800, 4802, 7, 970, 2, 2, 4801, 4799, 3, 2, 2, 2, 4801, 4802, 3, 2, 2, 2, 4802, 4805, 3, 2, 2, 2, 4803, 4804, 7, 63, 2, 2, 4804, 4806, 5, 522, 262, 2, 4805, 4803, 3, 2, 2, 2, 4805, 4806, 3, 2, 2, 2, 4806, 4814, 3, 2, 2, 2, 4807, 4811, 7, 90, 2, 2, 4808, 4809, 5, 522, 262, 2, 4809, 4810, 7, 957, 2, 2, 4810, 4812, 3, 2, 2, 2, 4811, 4808, 3, 2, 2, 2, 4811, 4812, 3, 2, 2, 2, 4812, 4813, 3, 2, 2, 2, 4813, 4815, 5, 522, 262, 2, 4814, 4807, 3, 2, 2, 2, 4814, 4815, 3, 2, 2, 2, 4815, 4945, 3, 2, 2, 2, 4816, 4817, 7, 139, 2, 2, 4817, 4819, 5, 448, 225, 2, 4818, 4820, 5, 450, 226, 2, 4819, 4818, 3, 2, 2, 2, 4819, 4820, 3, 2, 2, 2, 4820, 4945, 3, 2, 2, 2, 4821, 4823, 7, 139, 2, 2, 4822, 4824, 7, 342, 2, 2, 4823, 4822, 3, 2, 2, 2, 4823, 4824, 3, 2, 2, 2, 4824, 4825, 3, 2, 2, 2, 4825, 4826, 9, 34, 2, 2, 4826, 4827, 9, 66, 2, 2, 4827, 4830, 5, 492, 247, 2, 4828, 4829, 9, 66, 2, 2, 4829, 4831, 5, 516, 259, 2, 4830, 4828, 3, 2, 2, 2, 4830, 4831, 3, 2, 2, 2, 4831, 4833, 3, 2, 2, 2, 4832, 4834, 5, 450, 226, 2, 4833, 4832, 3, 2, 2, 2, 4833, 4834, 3, 2, 2, 2, 4834, 4945, 3, 2, 2, 2, 4835, 4836, 7, 139, 2, 2, 4836, 4837, 7, 34, 2, 2, 4837, 4839, 9, 2, 2, 2, 4838, 4840, 5, 570, 286, 2, 4839, 4838, 3, 2, 2, 2, 4839, 4840, 3, 2, 2, 2, 4840, 4841, 3, 2, 2, 2, 4841, 4945, 5, 516, 259, 2, 4842, 4843, 7, 139, 2, 2, 4843, 4844, 7, 34, 2, 2, 4844, 4845, 9, 67, 2, 2, 4845, 4945, 5, 490, 246, 2, 4846, 4847, 7, 139, 2, 2, 4847, 4848, 7, 34, 2, 2, 4848, 4849, 7, 539, 2, 2, 4849, 4945, 5, 498, 250, 2, 4850, 4851, 7, 139, 2, 2, 4851, 4852, 7, 317, 2, 2, 4852, 4853, 5, 506, 254, 2, 4853, 4854, 9, 68, 2, 2, 4854, 4945, 3, 2, 2, 2, 4855, 4856, 7, 139, 2, 2, 4856, 4945, 5, 452, 227, 2, 4857, 4858, 7, 139, 2, 2, 4858, 4859, 9, 69, 2, 2, 4859, 4863, 7, 90, 2, 2, 4860, 4861, 5, 522, 262, 2, 4861, 4862, 7, 957, 2, 2, 4862, 4864, 3, 2, 2, 2, 4863, 4860, 3, 2, 2, 2, 4863, 4864, 3, 2, 2, 2, 4864, 4865, 3, 2, 2, 2, 4865, 4945, 5, 522, 262, 2, 4866, 4867, 7, 139, 2, 2, 4867, 4868, 7, 220, 2, 2, 4868, 4869, 7, 955, 2, 2, 4869, 4870, 7, 938, 2, 2, 4870, 4871, 7, 956, 2, 2, 4871, 4945, 9, 69, 2, 2, 4872, 4873, 7, 139, 2, 2, 4873, 4876, 5, 454, 228, 2, 4874, 4875, 9, 66, 2, 2, 4875, 4877, 5, 516, 259, 2, 4876, 4874, 3, 2, 2, 2, 4876, 4877, 3, 2, 2, 2, 4877, 4879, 3, 2, 2, 2, 4878, 4880, 5, 450, 226, 2, 4879, 4878, 3, 2, 2, 2, 4879, 4880, 3, 2, 2, 2, 4880, 4945, 3, 2, 2, 2, 4881, 4882, 7, 139, 2, 2, 4882, 4883, 9, 70, 2, 2, 4883, 4884, 7, 281, 2, 2, 4884, 4945, 5, 490, 246, 2, 4885, 4886, 7, 139, 2, 2, 4886, 4889, 7, 346, 2, 2, 4887, 4888, 7, 60, 2, 2, 4888, 4890, 5, 498, 250, 2, 4889, 4887, 3, 2, 2, 2, 4889, 4890, 3, 2, 2, 2, 4890, 4945, 3, 2, 2, 2, 4891, 4892, 7, 139, 2, 2, 4892, 4893, 9, 71, 2, 2, 4893, 4894, 9, 66, 2, 2, 4894, 4897, 5, 492, 247, 2, 4895, 4896, 9, 66, 2, 2, 4896, 4898, 5, 516, 259, 2, 4897, 4895, 3, 2, 2, 2, 4897, 4898, 3, 2, 2, 2, 4898, 4901, 3, 2, 2, 2, 4899, 4900, 7, 169, 2, 2, 4900, 4902, 5, 592, 297, 2, 4901, 4899, 3, 2, 2, 2, 4901, 4902, 3, 2, 2, 2, 4902, 4945, 3, 2, 2, 2, 4903, 4904, 7, 139, 2, 2, 4904, 4905, 7, 430, 2, 2, 4905, 4908, 7, 568, 2, 2, 4906, 4907, 9, 66, 2, 2, 4907, 4909, 5, 516, 259, 2, 4908, 4906, 3, 2, 2, 2, 4908, 4909, 3, 2, 2, 2, 4909, 4911, 3, 2, 2, 2, 4910, 4912, 5, 450, 226, 2, 4911, 4910, 3, 2, 2, 2, 4911, 4912, 3, 2, 2, 2, 4912, 4945, 3, 2, 2, 2, 4913, 4914, 7, 139, 2, 2, 4914, 4915, 7, 451, 2, 2, 4915, 4920, 5, 456, 229, 2, 4916, 4917, 7, 957, 2, 2, 4917, 4919, 5, 456, 229, 2, 4918, 4916, 3, 2, 2, 2, 4919, 4922, 3, 2, 2, 2, 4920, 4918, 3, 2, 2, 2, 4920, 4921, 3, 2, 2, 2, 4921, 4926, 3, 2, 2, 2, 4922, 4920, 3, 2, 2, 2, 4923, 4924, 7, 60, 2, 2, 4924, 4925, 7, 454, 2, 2, 4925, 4927, 5, 522, 262, 2, 4926, 4923, 3, 2, 2, 2, 4926, 4927, 3, 2, 2, 2, 4927, 4928, 3, 2, 2, 2, 4928, 4932, 7, 90, 2, 2, 4929, 4930, 5, 522, 262, 2, 4930, 4931, 7, 957, 2, 2, 4931, 4933, 3, 2, 2, 2, 4932, 4929, 3, 2, 2, 2, 4932, 4933, 3, 2, 2, 2, 4933, 4934, 3, 2, 2, 2, 4934, 4935, 5, 522, 262, 2, 4935, 4945, 3, 2, 2, 2, 4936, 4937, 7, 139, 2, 2, 4937, 4938, 7, 493, 2, 2, 4938, 4942, 7, 513, 2, 2, 4939, 4940, 7, 60, 2, 2, 4940, 4941, 7, 275, 2, 2, 4941, 4943, 7, 970, 2, 2, 4942, 4939, 3, 2, 2, 2, 4942, 4943, 3, 2, 2, 2, 4943, 4945, 3, 2, 2, 2, 4944, 4793, 3, 2, 2, 2, 4944, 4796, 3, 2, 2, 2, 4944, 4816, 3, 2, 2, 2, 4944, 4821, 3, 2, 2, 2, 4944, 4835, 3, 2, 2, 2, 4944, 4842, 3, 2, 2, 2, 4944, 4846, 3, 2, 2, 2, 4944, 4850, 3, 2, 2, 2, 4944, 4855, 3, 2, 2, 2, 4944, 4857, 3, 2, 2, 2, 4944, 4866, 3, 2, 2, 2, 4944, 4872, 3, 2, 2, 2, 4944, 4881, 3, 2, 2, 2, 4944, 4885, 3, 2, 2, 2, 4944, 4891, 3, 2, 2, 2, 4944, 4903, 3, 2, 2, 2, 4944, 4913, 3, 2, 2, 2, 4944, 4936, 3, 2, 2, 2, 4945, 445, 3, 2, 2, 2, 4946, 4957, 7, 981, 2, 2, 4947, 4957, 7, 982, 2, 2, 4948, 4949, 7, 959, 2, 2, 4949, 4951, 7, 959, 2, 2, 4950, 4948, 3, 2, 2, 2, 4950, 4951, 3, 2, 2, 2, 4951, 4952, 3, 2, 2, 2, 4952, 4954, 9, 47, 2, 2, 4953, 4950, 3, 2, 2, 2, 4953, 4954, 3, 2, 2, 2, 4954, 4955, 3, 2, 2, 2, 4955, 4957, 5, 516, 259, 2, 4956, 4946, 3, 2, 2, 2, 4956, 4947, 3, 2, 2, 2, 4956, 4953, 3, 2, 2, 2, 4957, 447, 3, 2, 2, 2, 4958, 4959, 7, 26, 2, 2, 4959, 4972, 7, 137, 2, 2, 4960, 4972, 7, 670, 2, 2, 4961, 4972, 7, 39, 2, 2, 4962, 4972, 7, 135, 2, 2, 4963, 4964, 7, 343, 2, 2, 4964, 4972, 7, 513, 2, 2, 4965, 4966, 7, 117, 2, 2, 4966, 4972, 7, 513, 2, 2, 4967, 4969, 9, 47, 2, 2, 4968, 4967, 3, 2, 2, 2, 4968, 4969, 3, 2, 2, 2, 4969, 4970, 3, 2, 2, 2, 4970, 4972, 9, 72, 2, 2, 4971, 4958, 3, 2, 2, 2, 4971, 4960, 3, 2, 2, 2, 4971, 4961, 3, 2, 2, 2, 4971, 4962, 3, 2, 2, 2, 4971, 4963, 3, 2, 2, 2, 4971, 4965, 3, 2, 2, 2, 4971, 4968, 3, 2, 2, 2, 4972, 449, 3, 2, 2, 2, 4973, 4974, 7, 89, 2, 2, 4974, 4978, 7, 970, 2, 2, 4975, 4976, 7, 169, 2, 2, 4976, 4978, 5, 592, 297, 2, 4977, 4973, 3, 2, 2, 2, 4977, 4975, 3, 2, 2, 2, 4978, 451, 3, 2, 2, 2, 4979, 4981, 7, 515, 2, 2, 4980, 4979, 3, 2, 2, 2, 4980, 4981, 3, 2, 2, 2, 4981, 4982, 3, 2, 2, 2, 4982, 4997, 7, 318, 2, 2, 4983, 4984, 7, 379, 2, 2, 4984, 4997, 7, 513, 2, 2, 4985, 4997, 7, 444, 2, 2, 4986, 4997, 7, 576, 2, 2, 4987, 4989, 7, 342, 2, 2, 4988, 4987, 3, 2, 2, 2, 4988, 4989, 3, 2, 2, 2, 4989, 4990, 3, 2, 2, 2, 4990, 4997, 7, 450, 2, 2, 4991, 4997, 7, 452, 2, 2, 4992, 4993, 7, 493, 2, 2, 4993, 4997, 7, 352, 2, 2, 4994, 4997, 7, 259, 2, 2, 4995, 4997, 7, 295, 2, 2, 4996, 4980, 3, 2, 2, 2, 4996, 4983, 3, 2, 2, 2, 4996, 4985, 3, 2, 2, 2, 4996, 4986, 3, 2, 2, 2, 4996, 4988, 3, 2, 2, 2, 4996, 4991, 3, 2, 2, 2, 4996, 4992, 3, 2, 2, 2, 4996, 4994, 3, 2, 2, 2, 4996, 4995, 3, 2, 2, 2, 4997, 453, 3, 2, 2, 2, 4998, 5007, 7, 324, 2, 2, 4999, 5000, 7, 151, 2, 2, 5000, 5007, 7, 513, 2, 2, 5001, 5003, 7, 342, 2, 2, 5002, 5001, 3, 2, 2, 2, 5002, 5003, 3, 2, 2, 2, 5003, 5004, 3, 2, 2, 2, 5004, 5007, 7, 568, 2, 2, 5005, 5007, 7, 530, 2, 2, 5006, 4998, 3, 2, 2, 2, 5006, 4999, 3, 2, 2, 2, 5006, 5002, 3, 2, 2, 2, 5006, 5005, 3, 2, 2, 2, 5007, 455, 3, 2, 2, 2, 5008, 5021, 7, 10, 2, 2, 5009, 5010, 7, 267, 2, 2, 5010, 5021, 7, 363, 2, 2, 5011, 5012, 7, 294, 2, 2, 5012, 5021, 7, 523, 2, 2, 5013, 5021, 7, 297, 2, 2, 5014, 5021, 7, 365, 2, 2, 5015, 5021, 7, 622, 2, 2, 5016, 5017, 7, 435, 2, 2, 5017, 5021, 7, 333, 2, 2, 5018, 5021, 7, 500, 2, 2, 5019, 5021, 7, 522, 2, 2, 5020, 5008, 3, 2, 2, 2, 5020, 5009, 3, 2, 2, 2, 5020, 5011, 3, 2, 2, 2, 5020, 5013, 3, 2, 2, 2, 5020, 5014, 3, 2, 2, 2, 5020, 5015, 3, 2, 2, 2, 5020, 5016, 3, 2, 2, 2, 5020, 5018, 3, 2, 2, 2, 5020, 5019, 3, 2, 2, 2, 5021, 457, 3, 2, 2, 2, 5022, 5023, 7, 265, 2, 2, 5023, 5024, 7, 970, 2, 2, 5024, 459, 3, 2, 2, 2, 5025, 5026, 7, 271, 2, 2, 5026, 5027, 7, 73, 2, 2, 5027, 5032, 5, 472, 237, 2, 5028, 5029, 7, 957, 2, 2, 5029, 5031, 5, 472, 237, 2, 5030, 5028, 3, 2, 2, 2, 5031, 5034, 3, 2, 2, 2, 5032, 5030, 3, 2, 2, 2, 5032, 5033, 3, 2, 2, 2, 5033, 5042, 3, 2, 2, 2, 5034, 5032, 3, 2, 2, 2, 5035, 5036, 7, 115, 2, 2, 5036, 5039, 7, 955, 2, 2, 5037, 5040, 5, 546, 274, 2, 5038, 5040, 7, 10, 2, 2, 5039, 5037, 3, 2, 2, 2, 5039, 5038, 3, 2, 2, 2, 5040, 5041, 3, 2, 2, 2, 5041, 5043, 7, 956, 2, 2, 5042, 5035, 3, 2, 2, 2, 5042, 5043, 3, 2, 2, 2, 5043, 5044, 3, 2, 2, 2, 5044, 5045, 7, 72, 2, 2, 5045, 5046, 5, 516, 259, 2, 5046, 461, 3, 2, 2, 2, 5047, 5049, 7, 339, 2, 2, 5048, 5050, 9, 62, 2, 2, 5049, 5048, 3, 2, 2, 2, 5049, 5050, 3, 2, 2, 2, 5050, 5051, 3, 2, 2, 2, 5051, 5056, 5, 474, 238, 2, 5052, 5053, 7, 957, 2, 2, 5053, 5055, 5, 474, 238, 2, 5054, 5052, 3, 2, 2, 2, 5055, 5058, 3, 2, 2, 2, 5056, 5054, 3, 2, 2, 2, 5056, 5057, 3, 2, 2, 2, 5057, 463, 3, 2, 2, 2, 5058, 5056, 3, 2, 2, 2, 5059, 5061, 7, 85, 2, 2, 5060, 5062, 9, 73, 2, 2, 5061, 5060, 3, 2, 2, 2, 5061, 5062, 3, 2, 2, 2, 5062, 5064, 3, 2, 2, 2, 5063, 5065, 5, 522, 262, 2, 5064, 5063, 3, 2, 2, 2, 5065, 5066, 3, 2, 2, 2, 5066, 5064, 3, 2, 2, 2, 5066, 5067, 3, 2, 2, 2, 5067, 465, 3, 2, 2, 2, 5068, 5069, 7, 93, 2, 2, 5069, 5070, 7, 73, 2, 2, 5070, 5071, 7, 79, 2, 2, 5071, 5072, 7, 271, 2, 2, 5072, 5077, 5, 478, 240, 2, 5073, 5074, 7, 957, 2, 2, 5074, 5076, 5, 478, 240, 2, 5075, 5073, 3, 2, 2, 2, 5076, 5079, 3, 2, 2, 2, 5077, 5075, 3, 2, 2, 2, 5077, 5078, 3, 2, 2, 2, 5078, 467, 3, 2, 2, 2, 5079, 5077, 3, 2, 2, 2, 5080, 5081, 7, 475, 2, 2, 5081, 5082, 7, 454, 2, 2, 5082, 5083, 7, 271, 2, 2, 5083, 469, 3, 2, 2, 2, 5084, 5085, 7, 574, 2, 2, 5085, 471, 3, 2, 2, 2, 5086, 5094, 5, 492, 247, 2, 5087, 5089, 9, 20, 2, 2, 5088, 5087, 3, 2, 2, 2, 5088, 5089, 3, 2, 2, 2, 5089, 5090, 3, 2, 2, 2, 5090, 5091, 7, 955, 2, 2, 5091, 5092, 5, 546, 274, 2, 5092, 5093, 7, 956, 2, 2, 5093, 5095, 3, 2, 2, 2, 5094, 5088, 3, 2, 2, 2, 5094, 5095, 3, 2, 2, 2, 5095, 473, 3, 2, 2, 2, 5096, 5115, 7, 304, 2, 2, 5097, 5115, 7, 352, 2, 2, 5098, 5100, 9, 74, 2, 2, 5099, 5098, 3, 2, 2, 2, 5099, 5100, 3, 2, 2, 2, 5100, 5101, 3, 2, 2, 2, 5101, 5115, 7, 378, 2, 2, 5102, 5115, 7, 431, 2, 2, 5103, 5115, 7, 576, 2, 2, 5104, 5105, 7, 454, 2, 2, 5105, 5115, 7, 271, 2, 2, 5106, 5115, 7, 513, 2, 2, 5107, 5115, 7, 541, 2, 2, 5108, 5112, 7, 568, 2, 2, 5109, 5110, 7, 171, 2, 2, 5110, 5111, 7, 120, 2, 2, 5111, 5113, 7, 94, 2, 2, 5112, 5109, 3, 2, 2, 2, 5112, 5113, 3, 2, 2, 2, 5113, 5115, 3, 2, 2, 2, 5114, 5096, 3, 2, 2, 2, 5114, 5097, 3, 2, 2, 2, 5114, 5099, 3, 2, 2, 2, 5114, 5102, 3, 2, 2, 2, 5114, 5103, 3, 2, 2, 2, 5114, 5104, 3, 2, 2, 2, 5114, 5106, 3, 2, 2, 2, 5114, 5107, 3, 2, 2, 2, 5114, 5108, 3, 2, 2, 2, 5115, 5127, 3, 2, 2, 2, 5116, 5117, 7, 460, 2, 2, 5117, 5119, 7, 378, 2, 2, 5118, 5120, 5, 316, 159, 2, 5119, 5118, 3, 2, 2, 2, 5119, 5120, 3, 2, 2, 2, 5120, 5127, 3, 2, 2, 2, 5121, 5122, 7, 568, 2, 2, 5122, 5124, 5, 548, 275, 2, 5123, 5125, 5, 476, 239, 2, 5124, 5123, 3, 2, 2, 2, 5124, 5125, 3, 2, 2, 2, 5125, 5127, 3, 2, 2, 2, 5126, 5114, 3, 2, 2, 2, 5126, 5116, 3, 2, 2, 2, 5126, 5121, 3, 2, 2, 2, 5127, 475, 3, 2, 2, 2, 5128, 5129, 7, 171, 2, 2, 5129, 5130, 7, 120, 2, 2, 5130, 5134, 7, 94, 2, 2, 5131, 5132, 7, 60, 2, 2, 5132, 5134, 7, 329, 2, 2, 5133, 5128, 3, 2, 2, 2, 5133, 5131, 3, 2, 2, 2, 5134, 477, 3, 2, 2, 2, 5135, 5143, 5, 492, 247, 2, 5136, 5137, 7, 115, 2, 2, 5137, 5140, 7, 955, 2, 2, 5138, 5141, 5, 546, 274, 2, 5139, 5141, 7, 10, 2, 2, 5140, 5138, 3, 2, 2, 2, 5140, 5139, 3, 2, 2, 2, 5141, 5142, 3, 2, 2, 2, 5142, 5144, 7, 956, 2, 2, 5143, 5136, 3, 2, 2, 2, 5143, 5144, 3, 2, 2, 2, 5144, 5152, 3, 2, 2, 2, 5145, 5147, 9, 20, 2, 2, 5146, 5145, 3, 2, 2, 2, 5146, 5147, 3, 2, 2, 2, 5147, 5148, 3, 2, 2, 2, 5148, 5149, 7, 955, 2, 2, 5149, 5150, 5, 546, 274, 2, 5150, 5151, 7, 956, 2, 2, 5151, 5153, 3, 2, 2, 2, 5152, 5146, 3, 2, 2, 2, 5152, 5153, 3, 2, 2, 2, 5153, 5156, 3, 2, 2, 2, 5154, 5155, 7, 71, 2, 2, 5155, 5157, 7, 372, 2, 2, 5156, 5154, 3, 2, 2, 2, 5156, 5157, 3, 2, 2, 2, 5157, 479, 3, 2, 2, 2, 5158, 5159, 9, 75, 2, 2, 5159, 5162, 5, 492, 247, 2, 5160, 5163, 5, 516, 259, 2, 5161, 5163, 7, 970, 2, 2, 5162, 5160, 3, 2, 2, 2, 5162, 5161, 3, 2, 2, 2, 5162, 5163, 3, 2, 2, 2, 5163, 481, 3, 2, 2, 2, 5164, 5168, 9, 75, 2, 2, 5165, 5166, 9, 76, 2, 2, 5166, 5167, 7, 946, 2, 2, 5167, 5169, 9, 77, 2, 2, 5168, 5165, 3, 2, 2, 2, 5168, 5169, 3, 2, 2, 2, 5169, 5170, 3, 2, 2, 2, 5170, 5171, 5, 488, 245, 2, 5171, 483, 3, 2, 2, 2, 5172, 5173, 7, 350, 2, 2, 5173, 5174, 7, 970, 2, 2, 5174, 485, 3, 2, 2, 2, 5175, 5176, 7, 165, 2, 2, 5176, 5177, 5, 516, 259, 2, 5177, 487, 3, 2, 2, 2, 5178, 5184, 5, 180, 91, 2, 5179, 5184, 5, 166, 84, 2, 5180, 5184, 5, 172, 87, 2, 5181, 5184, 5, 178, 90, 2, 5182, 5184, 5, 182, 92, 2, 5183, 5178, 3, 2, 2, 2, 5183, 5179, 3, 2, 2, 2, 5183, 5180, 3, 2, 2, 2, 5183, 5181, 3, 2, 2, 2, 5183, 5182, 3, 2, 2, 2, 5184, 5189, 3, 2, 2, 2, 5185, 5186, 7, 60, 2, 2, 5186, 5187, 7, 291, 2, 2, 5187, 5189, 5, 516, 259, 2, 5188, 5183, 3, 2, 2, 2, 5188, 5185, 3, 2, 2, 2, 5189, 489, 3, 2, 2, 2, 5190, 5194, 5, 516, 259, 2, 5191, 5195, 7, 977, 2, 2, 5192, 5193, 7, 954, 2, 2, 5193, 5195, 5, 516, 259, 2, 5194, 5191, 3, 2, 2, 2, 5194, 5192, 3, 2, 2, 2, 5194, 5195, 3, 2, 2, 2, 5195, 491, 3, 2, 2, 2, 5196, 5197, 5, 490, 246, 2, 5197, 493, 3, 2, 2, 2, 5198, 5203, 5, 516, 259, 2, 5199, 5201, 5, 520, 261, 2, 5200, 5202, 5, 520, 261, 2, 5201, 5200, 3, 2, 2, 2, 5201, 5202, 3, 2, 2, 2, 5202, 5204, 3, 2, 2, 2, 5203, 5199, 3, 2, 2, 2, 5203, 5204, 3, 2, 2, 2, 5204, 495, 3, 2, 2, 2, 5205, 5210, 5, 516, 259, 2, 5206, 5207, 7, 955, 2, 2, 5207, 5208, 5, 522, 262, 2, 5208, 5209, 7, 956, 2, 2, 5209, 5211, 3, 2, 2, 2, 5210, 5206, 3, 2, 2, 2, 5210, 5211, 3, 2, 2, 2, 5211, 5213, 3, 2, 2, 2, 5212, 5214, 9, 41, 2, 2, 5213, 5212, 3, 2, 2, 2, 5213, 5214, 3, 2, 2, 2, 5214, 497, 3, 2, 2, 2, 5215, 5216, 9, 78, 2, 2, 5216, 499, 3, 2, 2, 2, 5217, 5218, 9, 79, 2, 2, 5218, 501, 3, 2, 2, 2, 5219, 5224, 7, 193, 2, 2, 5220, 5224, 5, 608, 305, 2, 5221, 5224, 7, 970, 2, 2, 5222, 5224, 7, 967, 2, 2, 5223, 5219, 3, 2, 2, 2, 5223, 5220, 3, 2, 2, 2, 5223, 5221, 3, 2, 2, 2, 5223, 5222, 3, 2, 2, 2, 5224, 503, 3, 2, 2, 2, 5225, 5228, 5, 516, 259, 2, 5226, 5228, 7, 970, 2, 2, 5227, 5225, 3, 2, 2, 2, 5227, 5226, 3, 2, 2, 2, 5228, 505, 3, 2, 2, 2, 5229, 5230, 9, 80, 2, 2, 5230, 507, 3, 2, 2, 2, 5231, 5232, 5, 522, 262, 2, 5232, 5233, 7, 943, 2, 2, 5233, 5234, 5, 522, 262, 2, 5234, 5235, 7, 943, 2, 2, 5235, 5236, 5, 522, 262, 2, 5236, 5237, 7, 943, 2, 2, 5237, 5238, 5, 522, 262, 2, 5238, 5239, 7, 943, 2, 2, 5239, 5245, 5, 522, 262, 2, 5240, 5241, 7, 966, 2, 2, 5241, 5242, 5, 522, 262, 2, 5242, 5243, 7, 943, 2, 2, 5243, 5244, 5, 522, 262, 2, 5244, 5246, 3, 2, 2, 2, 5245, 5240, 3, 2, 2, 2, 5246, 5247, 3, 2, 2, 2, 5247, 5245, 3, 2, 2, 2, 5247, 5248, 3, 2, 2, 2, 5248, 509, 3, 2, 2, 2, 5249, 5256, 5, 512, 257, 2, 5250, 5251, 7, 957, 2, 2, 5251, 5254, 5, 512, 257, 2, 5252, 5253, 7, 957, 2, 2, 5253, 5255, 5, 522, 262, 2, 5254, 5252, 3, 2, 2, 2, 5254, 5255, 3, 2, 2, 2, 5255, 5257, 3, 2, 2, 2, 5256, 5250, 3, 2, 2, 2, 5256, 5257, 3, 2, 2, 2, 5257, 511, 3, 2, 2, 2, 5258, 5266, 7, 970, 2, 2, 5259, 5266, 7, 975, 2, 2, 5260, 5262, 7, 972, 2, 2, 5261, 5260, 3, 2, 2, 2, 5262, 5263, 3, 2, 2, 2, 5263, 5261, 3, 2, 2, 2, 5263, 5264, 3, 2, 2, 2, 5264, 5266, 3, 2, 2, 2, 5265, 5258, 3, 2, 2, 2, 5265, 5259, 3, 2, 2, 2, 5265, 5261, 3, 2, 2, 2, 5266, 513, 3, 2, 2, 2, 5267, 5270, 5, 516, 259, 2, 5268, 5270, 7, 970, 2, 2, 5269, 5267, 3, 2, 2, 2, 5269, 5268, 3, 2, 2, 2, 5270, 515, 3, 2, 2, 2, 5271, 5275, 5, 518, 260, 2, 5272, 5275, 7, 979, 2, 2, 5273, 5275, 7, 967, 2, 2, 5274, 5271, 3, 2, 2, 2, 5274, 5272, 3, 2, 2, 2, 5274, 5273, 3, 2, 2, 2, 5275, 517, 3, 2, 2, 2, 5276, 5286, 7, 978, 2, 2, 5277, 5286, 5, 608, 305, 2, 5278, 5286, 5, 610, 306, 2, 5279, 5286, 5, 506, 254, 2, 5280, 5286, 5, 612, 307, 2, 5281, 5286, 5, 614, 308, 2, 5282, 5286, 5, 616, 309, 2, 5283, 5286, 5, 618, 310, 2, 5284, 5286, 5, 620, 311, 2, 5285, 5276, 3, 2, 2, 2, 5285, 5277, 3, 2, 2, 2, 5285, 5278, 3, 2, 2, 2, 5285, 5279, 3, 2, 2, 2, 5285, 5280, 3, 2, 2, 2, 5285, 5281, 3, 2, 2, 2, 5285, 5282, 3, 2, 2, 2, 5285, 5283, 3, 2, 2, 2, 5285, 5284, 3, 2, 2, 2, 5286, 519, 3, 2, 2, 2, 5287, 5291, 7, 977, 2, 2, 5288, 5289, 7, 954, 2, 2, 5289, 5291, 5, 516, 259, 2, 5290, 5287, 3, 2, 2, 2, 5290, 5288, 3, 2, 2, 2, 5291, 521, 3, 2, 2, 2, 5292, 5293, 9, 81, 2, 2, 5293, 523, 3, 2, 2, 2, 5294, 5297, 7, 968, 2, 2, 5295, 5297, 5, 522, 262, 2, 5296, 5294, 3, 2, 2, 2, 5296, 5295, 3, 2, 2, 2, 5297, 525, 3, 2, 2, 2, 5298, 5300, 7, 976, 2, 2, 5299, 5298, 3, 2, 2, 2, 5299, 5300, 3, 2, 2, 2, 5300, 5301, 3, 2, 2, 2, 5301, 5304, 7, 970, 2, 2, 5302, 5304, 7, 969, 2, 2, 5303, 5299, 3, 2, 2, 2, 5303, 5302, 3, 2, 2, 2, 5304, 5306, 3, 2, 2, 2, 5305, 5307, 7, 970, 2, 2, 5306, 5305, 3, 2, 2, 2, 5307, 5308, 3, 2, 2, 2, 5308, 5306, 3, 2, 2, 2, 5308, 5309, 3, 2, 2, 2, 5309, 5322, 3, 2, 2, 2, 5310, 5312, 7, 976, 2, 2, 5311, 5310, 3, 2, 2, 2, 5311, 5312, 3, 2, 2, 2, 5312, 5313, 3, 2, 2, 2, 5313, 5316, 7, 970, 2, 2, 5314, 5316, 7, 969, 2, 2, 5315, 5311, 3, 2, 2, 2, 5315, 5314, 3, 2, 2, 2, 5316, 5319, 3, 2, 2, 2, 5317, 5318, 7, 28, 2, 2, 5318, 5320, 5, 504, 253, 2, 5319, 5317, 3, 2, 2, 2, 5319, 5320, 3, 2, 2, 2, 5320, 5322, 3, 2, 2, 2, 5321, 5303, 3, 2, 2, 2, 5321, 5315, 3, 2, 2, 2, 5322, 527, 3, 2, 2, 2, 5323, 5324, 9, 82, 2, 2, 5324, 529, 3, 2, 2, 2, 5325, 5327, 7, 976, 2, 2, 5326, 5325, 3, 2, 2, 2, 5326, 5327, 3, 2, 2, 2, 5327, 5328, 3, 2, 2, 2, 5328, 5329, 7, 972, 2, 2, 5329, 531, 3, 2, 2, 2, 5330, 5332, 7, 103, 2, 2, 5331, 5330, 3, 2, 2, 2, 5331, 5332, 3, 2, 2, 2, 5332, 5333, 3, 2, 2, 2, 5333, 5334, 9, 83, 2, 2, 5334, 533, 3, 2, 2, 2, 5335, 5348, 5, 526, 264, 2, 5336, 5348, 5, 522, 262, 2, 5337, 5338, 7, 943, 2, 2, 5338, 5348, 5, 522, 262, 2, 5339, 5348, 5, 530, 266, 2, 5340, 5348, 5, 528, 265, 2, 5341, 5348, 7, 973, 2, 2, 5342, 5348, 7, 975, 2, 2, 5343, 5345, 7, 103, 2, 2, 5344, 5343, 3, 2, 2, 2, 5344, 5345, 3, 2, 2, 2, 5345, 5346, 3, 2, 2, 2, 5346, 5348, 9, 83, 2, 2, 5347, 5335, 3, 2, 2, 2, 5347, 5336, 3, 2, 2, 2, 5347, 5337, 3, 2, 2, 2, 5347, 5339, 3, 2, 2, 2, 5347, 5340, 3, 2, 2, 2, 5347, 5341, 3, 2, 2, 2, 5347, 5342, 3, 2, 2, 2, 5347, 5344, 3, 2, 2, 2, 5348, 535, 3, 2, 2, 2, 5349, 5351, 9, 84, 2, 2, 5350, 5352, 5, 540, 271, 2, 5351, 5350, 3, 2, 2, 2, 5351, 5352, 3, 2, 2, 2, 5352, 5354, 3, 2, 2, 2, 5353, 5355, 7, 193, 2, 2, 5354, 5353, 3, 2, 2, 2, 5354, 5355, 3, 2, 2, 2, 5355, 5359, 3, 2, 2, 2, 5356, 5357, 7, 26, 2, 2, 5357, 5358, 7, 137, 2, 2, 5358, 5360, 5, 502, 252, 2, 5359, 5356, 3, 2, 2, 2, 5359, 5360, 3, 2, 2, 2, 5360, 5363, 3, 2, 2, 2, 5361, 5362, 7, 28, 2, 2, 5362, 5364, 5, 504, 253, 2, 5363, 5361, 3, 2, 2, 2, 5363, 5364, 3, 2, 2, 2, 5364, 5425, 3, 2, 2, 2, 5365, 5367, 9, 85, 2, 2, 5366, 5368, 5, 540, 271, 2, 5367, 5366, 3, 2, 2, 2, 5367, 5368, 3, 2, 2, 2, 5368, 5370, 3, 2, 2, 2, 5369, 5371, 7, 162, 2, 2, 5370, 5369, 3, 2, 2, 2, 5370, 5371, 3, 2, 2, 2, 5371, 5373, 3, 2, 2, 2, 5372, 5374, 7, 174, 2, 2, 5373, 5372, 3, 2, 2, 2, 5373, 5374, 3, 2, 2, 2, 5374, 5425, 3, 2, 2, 2, 5375, 5377, 9, 86, 2, 2, 5376, 5378, 5, 542, 272, 2, 5377, 5376, 3, 2, 2, 2, 5377, 5378, 3, 2, 2, 2, 5378, 5380, 3, 2, 2, 2, 5379, 5381, 7, 162, 2, 2, 5380, 5379, 3, 2, 2, 2, 5380, 5381, 3, 2, 2, 2, 5381, 5383, 3, 2, 2, 2, 5382, 5384, 7, 174, 2, 2, 5383, 5382, 3, 2, 2, 2, 5383, 5384, 3, 2, 2, 2, 5384, 5425, 3, 2, 2, 2, 5385, 5387, 9, 87, 2, 2, 5386, 5388, 5, 544, 273, 2, 5387, 5386, 3, 2, 2, 2, 5387, 5388, 3, 2, 2, 2, 5388, 5390, 3, 2, 2, 2, 5389, 5391, 7, 162, 2, 2, 5390, 5389, 3, 2, 2, 2, 5390, 5391, 3, 2, 2, 2, 5391, 5393, 3, 2, 2, 2, 5392, 5394, 7, 174, 2, 2, 5393, 5392, 3, 2, 2, 2, 5393, 5394, 3, 2, 2, 2, 5394, 5425, 3, 2, 2, 2, 5395, 5425, 9, 88, 2, 2, 5396, 5398, 9, 89, 2, 2, 5397, 5399, 5, 540, 271, 2, 5398, 5397, 3, 2, 2, 2, 5398, 5399, 3, 2, 2, 2, 5399, 5425, 3, 2, 2, 2, 5400, 5401, 9, 90, 2, 2, 5401, 5402, 7, 955, 2, 2, 5402, 5407, 7, 970, 2, 2, 5403, 5404, 7, 957, 2, 2, 5404, 5406, 7, 970, 2, 2, 5405, 5403, 3, 2, 2, 2, 5406, 5409, 3, 2, 2, 2, 5407, 5405, 3, 2, 2, 2, 5407, 5408, 3, 2, 2, 2, 5408, 5410, 3, 2, 2, 2, 5409, 5407, 3, 2, 2, 2, 5410, 5412, 7, 956, 2, 2, 5411, 5413, 7, 193, 2, 2, 5412, 5411, 3, 2, 2, 2, 5412, 5413, 3, 2, 2, 2, 5413, 5417, 3, 2, 2, 2, 5414, 5415, 7, 26, 2, 2, 5415, 5416, 7, 137, 2, 2, 5416, 5418, 5, 502, 252, 2, 5417, 5414, 3, 2, 2, 2, 5417, 5418, 3, 2, 2, 2, 5418, 5421, 3, 2, 2, 2, 5419, 5420, 7, 28, 2, 2, 5420, 5422, 5, 504, 253, 2, 5421, 5419, 3, 2, 2, 2, 5421, 5422, 3, 2, 2, 2, 5422, 5425, 3, 2, 2, 2, 5423, 5425, 9, 91, 2, 2, 5424, 5349, 3, 2, 2, 2, 5424, 5365, 3, 2, 2, 2, 5424, 5375, 3, 2, 2, 2, 5424, 5385, 3, 2, 2, 2, 5424, 5395, 3, 2, 2, 2, 5424, 5396, 3, 2, 2, 2, 5424, 5400, 3, 2, 2, 2, 5424, 5423, 3, 2, 2, 2, 5425, 537, 3, 2, 2, 2, 5426, 5428, 9, 92, 2, 2, 5427, 5429, 5, 540, 271, 2, 5428, 5427, 3, 2, 2, 2, 5428, 5429, 3, 2, 2, 2, 5429, 5449, 3, 2, 2, 2, 5430, 5432, 7, 191, 2, 2, 5431, 5433, 5, 540, 271, 2, 5432, 5431, 3, 2, 2, 2, 5432, 5433, 3, 2, 2, 2, 5433, 5437, 3, 2, 2, 2, 5434, 5435, 7, 26, 2, 2, 5435, 5436, 7, 137, 2, 2, 5436, 5438, 5, 502, 252, 2, 5437, 5434, 3, 2, 2, 2, 5437, 5438, 3, 2, 2, 2, 5438, 5449, 3, 2, 2, 2, 5439, 5449, 9, 93, 2, 2, 5440, 5442, 7, 184, 2, 2, 5441, 5443, 5, 542, 272, 2, 5442, 5441, 3, 2, 2, 2, 5442, 5443, 3, 2, 2, 2, 5443, 5449, 3, 2, 2, 2, 5444, 5446, 9, 94, 2, 2, 5445, 5447, 7, 179, 2, 2, 5446, 5445, 3, 2, 2, 2, 5446, 5447, 3, 2, 2, 2, 5447, 5449, 3, 2, 2, 2, 5448, 5426, 3, 2, 2, 2, 5448, 5430, 3, 2, 2, 2, 5448, 5439, 3, 2, 2, 2, 5448, 5440, 3, 2, 2, 2, 5448, 5444, 3, 2, 2, 2, 5449, 539, 3, 2, 2, 2, 5450, 5451, 7, 955, 2, 2, 5451, 5452, 5, 522, 262, 2, 5452, 5453, 7, 956, 2, 2, 5453, 541, 3, 2, 2, 2, 5454, 5455, 7, 955, 2, 2, 5455, 5456, 5, 522, 262, 2, 5456, 5457, 7, 957, 2, 2, 5457, 5458, 5, 522, 262, 2, 5458, 5459, 7, 956, 2, 2, 5459, 543, 3, 2, 2, 2, 5460, 5461, 7, 955, 2, 2, 5461, 5464, 5, 522, 262, 2, 5462, 5463, 7, 957, 2, 2, 5463, 5465, 5, 522, 262, 2, 5464, 5462, 3, 2, 2, 2, 5464, 5465, 3, 2, 2, 2, 5465, 5466, 3, 2, 2, 2, 5466, 5467, 7, 956, 2, 2, 5467, 545, 3, 2, 2, 2, 5468, 5473, 5, 516, 259, 2, 5469, 5470, 7, 957, 2, 2, 5470, 5472, 5, 516, 259, 2, 5471, 5469, 3, 2, 2, 2, 5472, 5475, 3, 2, 2, 2, 5473, 5471, 3, 2, 2, 2, 5473, 5474, 3, 2, 2, 2, 5474, 547, 3, 2, 2, 2, 5475, 5473, 3, 2, 2, 2, 5476, 5481, 5, 492, 247, 2, 5477, 5478, 7, 957, 2, 2, 5478, 5480, 5, 492, 247, 2, 5479, 5477, 3, 2, 2, 2, 5480, 5483, 3, 2, 2, 2, 5481, 5479, 3, 2, 2, 2, 5481, 5482, 3, 2, 2, 2, 5482, 549, 3, 2, 2, 2, 5483, 5481, 3, 2, 2, 2, 5484, 5485, 7, 955, 2, 2, 5485, 5490, 5, 496, 249, 2, 5486, 5487, 7, 957, 2, 2, 5487, 5489, 5, 496, 249, 2, 5488, 5486, 3, 2, 2, 2, 5489, 5492, 3, 2, 2, 2, 5490, 5488, 3, 2, 2, 2, 5490, 5491, 3, 2, 2, 2, 5491, 5493, 3, 2, 2, 2, 5492, 5490, 3, 2, 2, 2, 5493, 5494, 7, 956, 2, 2, 5494, 551, 3, 2, 2, 2, 5495, 5500, 5, 592, 297, 2, 5496, 5497, 7, 957, 2, 2, 5497, 5499, 5, 592, 297, 2, 5498, 5496, 3, 2, 2, 2, 5499, 5502, 3, 2, 2, 2, 5500, 5498, 3, 2, 2, 2, 5500, 5501, 3, 2, 2, 2, 5501, 553, 3, 2, 2, 2, 5502, 5500, 3, 2, 2, 2, 5503, 5508, 5, 566, 284, 2, 5504, 5505, 7, 957, 2, 2, 5505, 5507, 5, 566, 284, 2, 5506, 5504, 3, 2, 2, 2, 5507, 5510, 3, 2, 2, 2, 5508, 5506, 3, 2, 2, 2, 5508, 5509, 3, 2, 2, 2, 5509, 555, 3, 2, 2, 2, 5510, 5508, 3, 2, 2, 2, 5511, 5516, 5, 534, 268, 2, 5512, 5513, 7, 957, 2, 2, 5513, 5515, 5, 534, 268, 2, 5514, 5512, 3, 2, 2, 2, 5515, 5518, 3, 2, 2, 2, 5516, 5514, 3, 2, 2, 2, 5516, 5517, 3, 2, 2, 2, 5517, 557, 3, 2, 2, 2, 5518, 5516, 3, 2, 2, 2, 5519, 5524, 7, 970, 2, 2, 5520, 5521, 7, 957, 2, 2, 5521, 5523, 7, 970, 2, 2, 5522, 5520, 3, 2, 2, 2, 5523, 5526, 3, 2, 2, 2, 5524, 5522, 3, 2, 2, 2, 5524, 5525, 3, 2, 2, 2, 5525, 559, 3, 2, 2, 2, 5526, 5524, 3, 2, 2, 2, 5527, 5532, 7, 981, 2, 2, 5528, 5529, 7, 957, 2, 2, 5529, 5531, 7, 981, 2, 2, 5530, 5528, 3, 2, 2, 2, 5531, 5534, 3, 2, 2, 2, 5532, 5530, 3, 2, 2, 2, 5532, 5533, 3, 2, 2, 2, 5533, 561, 3, 2, 2, 2, 5534, 5532, 3, 2, 2, 2, 5535, 5544, 7, 105, 2, 2, 5536, 5544, 5, 534, 268, 2, 5537, 5541, 5, 564, 283, 2, 5538, 5539, 7, 106, 2, 2, 5539, 5540, 7, 163, 2, 2, 5540, 5542, 5, 564, 283, 2, 5541, 5538, 3, 2, 2, 2, 5541, 5542, 3, 2, 2, 2, 5542, 5544, 3, 2, 2, 2, 5543, 5535, 3, 2, 2, 2, 5543, 5536, 3, 2, 2, 2, 5543, 5537, 3, 2, 2, 2, 5544, 563, 3, 2, 2, 2, 5545, 5551, 9, 95, 2, 2, 5546, 5548, 7, 955, 2, 2, 5547, 5549, 5, 522, 262, 2, 5548, 5547, 3, 2, 2, 2, 5548, 5549, 3, 2, 2, 2, 5549, 5550, 3, 2, 2, 2, 5550, 5552, 7, 956, 2, 2, 5551, 5546, 3, 2, 2, 2, 5551, 5552, 3, 2, 2, 2, 5552, 5560, 3, 2, 2, 2, 5553, 5554, 7, 243, 2, 2, 5554, 5556, 7, 955, 2, 2, 5555, 5557, 5, 522, 262, 2, 5556, 5555, 3, 2, 2, 2, 5556, 5557, 3, 2, 2, 2, 5557, 5558, 3, 2, 2, 2, 5558, 5560, 7, 956, 2, 2, 5559, 5545, 3, 2, 2, 2, 5559, 5553, 3, 2, 2, 2, 5560, 565, 3, 2, 2, 2, 5561, 5564, 5, 592, 297, 2, 5562, 5564, 7, 41, 2, 2, 5563, 5561, 3, 2, 2, 2, 5563, 5562, 3, 2, 2, 2, 5564, 567, 3, 2, 2, 2, 5565, 5566, 7, 70, 2, 2, 5566, 5567, 7, 55, 2, 2, 5567, 569, 3, 2, 2, 2, 5568, 5569, 7, 70, 2, 2, 5569, 5570, 7, 103, 2, 2, 5570, 5571, 7, 55, 2, 2, 5571, 571, 3, 2, 2, 2, 5572, 5590, 5, 574, 288, 2, 5573, 5590, 5, 582, 292, 2, 5574, 5575, 5, 584, 293, 2, 5575, 5577, 7, 955, 2, 2, 5576, 5578, 5, 588, 295, 2, 5577, 5576, 3, 2, 2, 2, 5577, 5578, 3, 2, 2, 2, 5578, 5579, 3, 2, 2, 2, 5579, 5580, 7, 956, 2, 2, 5580, 5590, 3, 2, 2, 2, 5581, 5582, 5, 490, 246, 2, 5582, 5584, 7, 955, 2, 2, 5583, 5585, 5, 588, 295, 2, 5584, 5583, 3, 2, 2, 2, 5584, 5585, 3, 2, 2, 2, 5585, 5586, 3, 2, 2, 2, 5586, 5587, 7, 956, 2, 2, 5587, 5590, 3, 2, 2, 2, 5588, 5590, 5, 586, 294, 2, 5589, 5572, 3, 2, 2, 2, 5589, 5573, 3, 2, 2, 2, 5589, 5574, 3, 2, 2, 2, 5589, 5581, 3, 2, 2, 2, 5589, 5588, 3, 2, 2, 2, 5590, 573, 3, 2, 2, 2, 5591, 5749, 9, 96, 2, 2, 5592, 5593, 7, 33, 2, 2, 5593, 5594, 7, 955, 2, 2, 5594, 5595, 5, 592, 297, 2, 5595, 5596, 7, 957, 2, 2, 5596, 5597, 5, 538, 270, 2, 5597, 5598, 7, 956, 2, 2, 5598, 5749, 3, 2, 2, 2, 5599, 5600, 7, 33, 2, 2, 5600, 5601, 7, 955, 2, 2, 5601, 5602, 5, 592, 297, 2, 5602, 5603, 7, 166, 2, 2, 5603, 5604, 5, 502, 252, 2, 5604, 5605, 7, 956, 2, 2, 5605, 5749, 3, 2, 2, 2, 5606, 5607, 7, 24, 2, 2, 5607, 5608, 7, 955, 2, 2, 5608, 5609, 5, 592, 297, 2, 5609, 5610, 7, 15, 2, 2, 5610, 5611, 5, 538, 270, 2, 5611, 5612, 7, 956, 2, 2, 5612, 5749, 3, 2, 2, 2, 5613, 5614, 7, 167, 2, 2, 5614, 5615, 7, 955, 2, 2, 5615, 5616, 5, 494, 248, 2, 5616, 5617, 7, 956, 2, 2, 5617, 5749, 3, 2, 2, 2, 5618, 5619, 7, 23, 2, 2, 5619, 5621, 5, 592, 297, 2, 5620, 5622, 5, 576, 289, 2, 5621, 5620, 3, 2, 2, 2, 5622, 5623, 3, 2, 2, 2, 5623, 5621, 3, 2, 2, 2, 5623, 5624, 3, 2, 2, 2, 5624, 5627, 3, 2, 2, 2, 5625, 5626, 7, 51, 2, 2, 5626, 5628, 5, 590, 296, 2, 5627, 5625, 3, 2, 2, 2, 5627, 5628, 3, 2, 2, 2, 5628, 5629, 3, 2, 2, 2, 5629, 5630, 7, 315, 2, 2, 5630, 5749, 3, 2, 2, 2, 5631, 5633, 7, 23, 2, 2, 5632, 5634, 5, 576, 289, 2, 5633, 5632, 3, 2, 2, 2, 5634, 5635, 3, 2, 2, 2, 5635, 5633, 3, 2, 2, 2, 5635, 5636, 3, 2, 2, 2, 5636, 5639, 3, 2, 2, 2, 5637, 5638, 7, 51, 2, 2, 5638, 5640, 5, 590, 296, 2, 5639, 5637, 3, 2, 2, 2, 5639, 5640, 3, 2, 2, 2, 5640, 5641, 3, 2, 2, 2, 5641, 5642, 7, 315, 2, 2, 5642, 5749, 3, 2, 2, 2, 5643, 5644, 7, 191, 2, 2, 5644, 5645, 7, 955, 2, 2, 5645, 5648, 5, 588, 295, 2, 5646, 5647, 7, 166, 2, 2, 5647, 5649, 5, 502, 252, 2, 5648, 5646, 3, 2, 2, 2, 5648, 5649, 3, 2, 2, 2, 5649, 5650, 3, 2, 2, 2, 5650, 5651, 7, 956, 2, 2, 5651, 5749, 3, 2, 2, 2, 5652, 5653, 7, 244, 2, 2, 5653, 5656, 7, 955, 2, 2, 5654, 5657, 5, 526, 264, 2, 5655, 5657, 5, 592, 297, 2, 5656, 5654, 3, 2, 2, 2, 5656, 5655, 3, 2, 2, 2, 5657, 5658, 3, 2, 2, 2, 5658, 5661, 7, 72, 2, 2, 5659, 5662, 5, 526, 264, 2, 5660, 5662, 5, 592, 297, 2, 5661, 5659, 3, 2, 2, 2, 5661, 5660, 3, 2, 2, 2, 5662, 5663, 3, 2, 2, 2, 5663, 5664, 7, 956, 2, 2, 5664, 5749, 3, 2, 2, 2, 5665, 5666, 9, 97, 2, 2, 5666, 5669, 7, 955, 2, 2, 5667, 5670, 5, 526, 264, 2, 5668, 5670, 5, 592, 297, 2, 5669, 5667, 3, 2, 2, 2, 5669, 5668, 3, 2, 2, 2, 5670, 5671, 3, 2, 2, 2, 5671, 5674, 7, 63, 2, 2, 5672, 5675, 5, 522, 262, 2, 5673, 5675, 5, 592, 297, 2, 5674, 5672, 3, 2, 2, 2, 5674, 5673, 3, 2, 2, 2, 5675, 5681, 3, 2, 2, 2, 5676, 5679, 7, 60, 2, 2, 5677, 5680, 5, 522, 262, 2, 5678, 5680, 5, 592, 297, 2, 5679, 5677, 3, 2, 2, 2, 5679, 5678, 3, 2, 2, 2, 5680, 5682, 3, 2, 2, 2, 5681, 5676, 3, 2, 2, 2, 5681, 5682, 3, 2, 2, 2, 5682, 5683, 3, 2, 2, 2, 5683, 5684, 7, 956, 2, 2, 5684, 5749, 3, 2, 2, 2, 5685, 5686, 7, 248, 2, 2, 5686, 5687, 7, 955, 2, 2, 5687, 5690, 9, 98, 2, 2, 5688, 5691, 5, 526, 264, 2, 5689, 5691, 5, 592, 297, 2, 5690, 5688, 3, 2, 2, 2, 5690, 5689, 3, 2, 2, 2, 5690, 5691, 3, 2, 2, 2, 5691, 5692, 3, 2, 2, 2, 5692, 5695, 7, 63, 2, 2, 5693, 5696, 5, 526, 264, 2, 5694, 5696, 5, 592, 297, 2, 5695, 5693, 3, 2, 2, 2, 5695, 5694, 3, 2, 2, 2, 5696, 5697, 3, 2, 2, 2, 5697, 5698, 7, 956, 2, 2, 5698, 5749, 3, 2, 2, 2, 5699, 5700, 7, 248, 2, 2, 5700, 5703, 7, 955, 2, 2, 5701, 5704, 5, 526, 264, 2, 5702, 5704, 5, 592, 297, 2, 5703, 5701, 3, 2, 2, 2, 5703, 5702, 3, 2, 2, 2, 5704, 5705, 3, 2, 2, 2, 5705, 5708, 7, 63, 2, 2, 5706, 5709, 5, 526, 264, 2, 5707, 5709, 5, 592, 297, 2, 5708, 5706, 3, 2, 2, 2, 5708, 5707, 3, 2, 2, 2, 5709, 5710, 3, 2, 2, 2, 5710, 5711, 7, 956, 2, 2, 5711, 5749, 3, 2, 2, 2, 5712, 5713, 7, 924, 2, 2, 5713, 5716, 7, 955, 2, 2, 5714, 5717, 5, 526, 264, 2, 5715, 5717, 5, 592, 297, 2, 5716, 5714, 3, 2, 2, 2, 5716, 5715, 3, 2, 2, 2, 5717, 5724, 3, 2, 2, 2, 5718, 5719, 7, 15, 2, 2, 5719, 5720, 9, 99, 2, 2, 5720, 5721, 7, 955, 2, 2, 5721, 5722, 5, 522, 262, 2, 5722, 5723, 7, 956, 2, 2, 5723, 5725, 3, 2, 2, 2, 5724, 5718, 3, 2, 2, 2, 5724, 5725, 3, 2, 2, 2, 5725, 5727, 3, 2, 2, 2, 5726, 5728, 5, 578, 290, 2, 5727, 5726, 3, 2, 2, 2, 5727, 5728, 3, 2, 2, 2, 5728, 5729, 3, 2, 2, 2, 5729, 5730, 7, 956, 2, 2, 5730, 5749, 3, 2, 2, 2, 5731, 5732, 7, 241, 2, 2, 5732, 5733, 7, 955, 2, 2, 5733, 5734, 5, 60, 31, 2, 5734, 5737, 7, 63, 2, 2, 5735, 5738, 5, 526, 264, 2, 5736, 5738, 5, 592, 297, 2, 5737, 5735, 3, 2, 2, 2, 5737, 5736, 3, 2, 2, 2, 5738, 5739, 3, 2, 2, 2, 5739, 5740, 7, 956, 2, 2, 5740, 5749, 3, 2, 2, 2, 5741, 5742, 7, 725, 2, 2, 5742, 5743, 7, 955, 2, 2, 5743, 5744, 9, 93, 2, 2, 5744, 5745, 7, 957, 2, 2, 5745, 5746, 5, 526, 264, 2, 5746, 5747, 7, 956, 2, 2, 5747, 5749, 3, 2, 2, 2, 5748, 5591, 3, 2, 2, 2, 5748, 5592, 3, 2, 2, 2, 5748, 5599, 3, 2, 2, 2, 5748, 5606, 3, 2, 2, 2, 5748, 5613, 3, 2, 2, 2, 5748, 5618, 3, 2, 2, 2, 5748, 5631, 3, 2, 2, 2, 5748, 5643, 3, 2, 2, 2, 5748, 5652, 3, 2, 2, 2, 5748, 5665, 3, 2, 2, 2, 5748, 5685, 3, 2, 2, 2, 5748, 5699, 3, 2, 2, 2, 5748, 5712, 3, 2, 2, 2, 5748, 5731, 3, 2, 2, 2, 5748, 5741, 3, 2, 2, 2, 5749, 575, 3, 2, 2, 2, 5750, 5751, 7, 168, 2, 2, 5751, 5752, 5, 590, 296, 2, 5752, 5753, 7, 153, 2, 2, 5753, 5754, 5, 590, 296, 2, 5754, 577, 3, 2, 2, 2, 5755, 5756, 7, 374, 2, 2, 5756, 5761, 5, 580, 291, 2, 5757, 5758, 7, 957, 2, 2, 5758, 5760, 5, 580, 291, 2, 5759, 5757, 3, 2, 2, 2, 5760, 5763, 3, 2, 2, 2, 5761, 5759, 3, 2, 2, 2, 5761, 5762, 3, 2, 2, 2, 5762, 5770, 3, 2, 2, 2, 5763, 5761, 3, 2, 2, 2, 5764, 5765, 7, 374, 2, 2, 5765, 5766, 5, 522, 262, 2, 5766, 5767, 7, 943, 2, 2, 5767, 5768, 5, 522, 262, 2, 5768, 5770, 3, 2, 2, 2, 5769, 5755, 3, 2, 2, 2, 5769, 5764, 3, 2, 2, 2, 5770, 579, 3, 2, 2, 2, 5771, 5773, 5, 522, 262, 2, 5772, 5774, 9, 100, 2, 2, 5773, 5772, 3, 2, 2, 2, 5773, 5774, 3, 2, 2, 2, 5774, 581, 3, 2, 2, 2, 5775, 5776, 9, 101, 2, 2, 5776, 5778, 7, 955, 2, 2, 5777, 5779, 9, 37, 2, 2, 5778, 5777, 3, 2, 2, 2, 5778, 5779, 3, 2, 2, 2, 5779, 5780, 3, 2, 2, 2, 5780, 5781, 5, 590, 296, 2, 5781, 5782, 7, 956, 2, 2, 5782, 5836, 3, 2, 2, 2, 5783, 5784, 7, 220, 2, 2, 5784, 5790, 7, 955, 2, 2, 5785, 5791, 7, 938, 2, 2, 5786, 5788, 7, 10, 2, 2, 5787, 5786, 3, 2, 2, 2, 5787, 5788, 3, 2, 2, 2, 5788, 5789, 3, 2, 2, 2, 5789, 5791, 5, 590, 296, 2, 5790, 5785, 3, 2, 2, 2, 5790, 5787, 3, 2, 2, 2, 5791, 5792, 3, 2, 2, 2, 5792, 5836, 7, 956, 2, 2, 5793, 5794, 7, 220, 2, 2, 5794, 5795, 7, 955, 2, 2, 5795, 5796, 7, 47, 2, 2, 5796, 5797, 5, 588, 295, 2, 5797, 5798, 7, 956, 2, 2, 5798, 5836, 3, 2, 2, 2, 5799, 5800, 7, 232, 2, 2, 5800, 5801, 7, 955, 2, 2, 5801, 5802, 7, 938, 2, 2, 5802, 5836, 7, 956, 2, 2, 5803, 5804, 9, 102, 2, 2, 5804, 5806, 7, 955, 2, 2, 5805, 5807, 7, 10, 2, 2, 5806, 5805, 3, 2, 2, 2, 5806, 5807, 3, 2, 2, 2, 5807, 5808, 3, 2, 2, 2, 5808, 5809, 5, 590, 296, 2, 5809, 5810, 7, 956, 2, 2, 5810, 5836, 3, 2, 2, 2, 5811, 5812, 7, 221, 2, 2, 5812, 5814, 7, 955, 2, 2, 5813, 5815, 7, 47, 2, 2, 5814, 5813, 3, 2, 2, 2, 5814, 5815, 3, 2, 2, 2, 5815, 5816, 3, 2, 2, 2, 5816, 5827, 5, 588, 295, 2, 5817, 5818, 7, 111, 2, 2, 5818, 5819, 7, 20, 2, 2, 5819, 5824, 5, 210, 106, 2, 5820, 5821, 7, 957, 2, 2, 5821, 5823, 5, 210, 106, 2, 5822, 5820, 3, 2, 2, 2, 5823, 5826, 3, 2, 2, 2, 5824, 5822, 3, 2, 2, 2, 5824, 5825, 3, 2, 2, 2, 5825, 5828, 3, 2, 2, 2, 5826, 5824, 3, 2, 2, 2, 5827, 5817, 3, 2, 2, 2, 5827, 5828, 3, 2, 2, 2, 5828, 5831, 3, 2, 2, 2, 5829, 5830, 7, 138, 2, 2, 5830, 5832, 7, 970, 2, 2, 5831, 5829, 3, 2, 2, 2, 5831, 5832, 3, 2, 2, 2, 5832, 5833, 3, 2, 2, 2, 5833, 5834, 7, 956, 2, 2, 5834, 5836, 3, 2, 2, 2, 5835, 5775, 3, 2, 2, 2, 5835, 5783, 3, 2, 2, 2, 5835, 5793, 3, 2, 2, 2, 5835, 5799, 3, 2, 2, 2, 5835, 5803, 3, 2, 2, 2, 5835, 5811, 3, 2, 2, 2, 5836, 583, 3, 2, 2, 2, 5837, 5861, 5, 620, 311, 2, 5838, 5861, 7, 578, 2, 2, 5839, 5861, 7, 237, 2, 2, 5840, 5861, 7, 233, 2, 2, 5841, 5861, 7, 234, 2, 2, 5842, 5861, 7, 235, 2, 2, 5843, 5861, 7, 238, 2, 2, 5844, 5861, 7, 239, 2, 2, 5845, 5861, 7, 240, 2, 2, 5846, 5861, 7, 70, 2, 2, 5847, 5861, 7, 77, 2, 2, 5848, 5861, 7, 236, 2, 2, 5849, 5861, 7, 242, 2, 2, 5850, 5861, 7, 408, 2, 2, 5851, 5861, 7, 243, 2, 2, 5852, 5861, 7, 127, 2, 2, 5853, 5861, 7, 245, 2, 2, 5854, 5861, 7, 246, 2, 2, 5855, 5861, 7, 247, 2, 2, 5856, 5861, 7, 248, 2, 2, 5857, 5861, 7, 249, 2, 2, 5858, 5861, 7, 250, 2, 2, 5859, 5861, 7, 251, 2, 2, 5860, 5837, 3, 2, 2, 2, 5860, 5838, 3, 2, 2, 2, 5860, 5839, 3, 2, 2, 2, 5860, 5840, 3, 2, 2, 2, 5860, 5841, 3, 2, 2, 2, 5860, 5842, 3, 2, 2, 2, 5860, 5843, 3, 2, 2, 2, 5860, 5844, 3, 2, 2, 2, 5860, 5845, 3, 2, 2, 2, 5860, 5846, 3, 2, 2, 2, 5860, 5847, 3, 2, 2, 2, 5860, 5848, 3, 2, 2, 2, 5860, 5849, 3, 2, 2, 2, 5860, 5850, 3, 2, 2, 2, 5860, 5851, 3, 2, 2, 2, 5860, 5852, 3, 2, 2, 2, 5860, 5853, 3, 2, 2, 2, 5860, 5854, 3, 2, 2, 2, 5860, 5855, 3, 2, 2, 2, 5860, 5856, 3, 2, 2, 2, 5860, 5857, 3, 2, 2, 2, 5860, 5858, 3, 2, 2, 2, 5860, 5859, 3, 2, 2, 2, 5861, 585, 3, 2, 2, 2, 5862, 5863, 9, 103, 2, 2, 5863, 5864, 7, 955, 2, 2, 5864, 5865, 5, 590, 296, 2, 5865, 5866, 7, 956, 2, 2, 5866, 587, 3, 2, 2, 2, 5867, 5872, 5, 534, 268, 2, 5868, 5872, 5, 494, 248, 2, 5869, 5872, 5, 572, 287, 2, 5870, 5872, 5, 592, 297, 2, 5871, 5867, 3, 2, 2, 2, 5871, 5868, 3, 2, 2, 2, 5871, 5869, 3, 2, 2, 2, 5871, 5870, 3, 2, 2, 2, 5872, 5882, 3, 2, 2, 2, 5873, 5878, 7, 957, 2, 2, 5874, 5879, 5, 534, 268, 2, 5875, 5879, 5, 494, 248, 2, 5876, 5879, 5, 572, 287, 2, 5877, 5879, 5, 592, 297, 2, 5878, 5874, 3, 2, 2, 2, 5878, 5875, 3, 2, 2, 2, 5878, 5876, 3, 2, 2, 2, 5878, 5877, 3, 2, 2, 2, 5879, 5881, 3, 2, 2, 2, 5880, 5873, 3, 2, 2, 2, 5881, 5884, 3, 2, 2, 2, 5882, 5880, 3, 2, 2, 2, 5882, 5883, 3, 2, 2, 2, 5883, 589, 3, 2, 2, 2, 5884, 5882, 3, 2, 2, 2, 5885, 5890, 5, 534, 268, 2, 5886, 5890, 5, 494, 248, 2, 5887, 5890, 5, 572, 287, 2, 5888, 5890, 5, 592, 297, 2, 5889, 5885, 3, 2, 2, 2, 5889, 5886, 3, 2, 2, 2, 5889, 5887, 3, 2, 2, 2, 5889, 5888, 3, 2, 2, 2, 5890, 591, 3, 2, 2, 2, 5891, 5892, 8, 297, 1, 2, 5892, 5893, 9, 104, 2, 2, 5893, 5903, 5, 592, 297, 6, 5894, 5895, 5, 594, 298, 2, 5895, 5897, 7, 80, 2, 2, 5896, 5898, 7, 103, 2, 2, 5897, 5896, 3, 2, 2, 2, 5897, 5898, 3, 2, 2, 2, 5898, 5899, 3, 2, 2, 2, 5899, 5900, 9, 105, 2, 2, 5900, 5903, 3, 2, 2, 2, 5901, 5903, 5, 594, 298, 2, 5902, 5891, 3, 2, 2, 2, 5902, 5894, 3, 2, 2, 2, 5902, 5901, 3, 2, 2, 2, 5903, 5910, 3, 2, 2, 2, 5904, 5905, 12, 5, 2, 2, 5905, 5906, 5, 602, 302, 2, 5906, 5907, 5, 592, 297, 6, 5907, 5909, 3, 2, 2, 2, 5908, 5904, 3, 2, 2, 2, 5909, 5912, 3, 2, 2, 2, 5910, 5908, 3, 2, 2, 2, 5910, 5911, 3, 2, 2, 2, 5911, 593, 3, 2, 2, 2, 5912, 5910, 3, 2, 2, 2, 5913, 5916, 8, 298, 1, 2, 5914, 5915, 7, 981, 2, 2, 5915, 5917, 7, 929, 2, 2, 5916, 5914, 3, 2, 2, 2, 5916, 5917, 3, 2, 2, 2, 5917, 5918, 3, 2, 2, 2, 5918, 5919, 5, 596, 299, 2, 5919, 5977, 3, 2, 2, 2, 5920, 5921, 12, 9, 2, 2, 5921, 5922, 5, 600, 301, 2, 5922, 5923, 5, 594, 298, 10, 5923, 5976, 3, 2, 2, 2, 5924, 5926, 12, 7, 2, 2, 5925, 5927, 7, 103, 2, 2, 5926, 5925, 3, 2, 2, 2, 5926, 5927, 3, 2, 2, 2, 5927, 5928, 3, 2, 2, 2, 5928, 5929, 7, 18, 2, 2, 5929, 5930, 5, 594, 298, 2, 5930, 5931, 7, 14, 2, 2, 5931, 5932, 5, 594, 298, 8, 5932, 5976, 3, 2, 2, 2, 5933, 5934, 12, 6, 2, 2, 5934, 5935, 7, 499, 2, 2, 5935, 5936, 7, 89, 2, 2, 5936, 5976, 5, 594, 298, 7, 5937, 5939, 12, 4, 2, 2, 5938, 5940, 7, 103, 2, 2, 5939, 5938, 3, 2, 2, 2, 5939, 5940, 3, 2, 2, 2, 5940, 5941, 3, 2, 2, 2, 5941, 5942, 9, 106, 2, 2, 5942, 5976, 5, 594, 298, 5, 5943, 5945, 12, 11, 2, 2, 5944, 5946, 7, 103, 2, 2, 5945, 5944, 3, 2, 2, 2, 5945, 5946, 3, 2, 2, 2, 5946, 5947, 3, 2, 2, 2, 5947, 5948, 7, 72, 2, 2, 5948, 5951, 7, 955, 2, 2, 5949, 5952, 5, 180, 91, 2, 5950, 5952, 5, 552, 277, 2, 5951, 5949, 3, 2, 2, 2, 5951, 5950, 3, 2, 2, 2, 5952, 5953, 3, 2, 2, 2, 5953, 5954, 7, 956, 2, 2, 5954, 5976, 3, 2, 2, 2, 5955, 5956, 12, 10, 2, 2, 5956, 5957, 7, 80, 2, 2, 5957, 5976, 5, 532, 267, 2, 5958, 5959, 12, 8, 2, 2, 5959, 5960, 5, 600, 301, 2, 5960, 5961, 9, 107, 2, 2, 5961, 5962, 7, 955, 2, 2, 5962, 5963, 5, 180, 91, 2, 5963, 5964, 7, 956, 2, 2, 5964, 5976, 3, 2, 2, 2, 5965, 5967, 12, 5, 2, 2, 5966, 5968, 7, 103, 2, 2, 5967, 5966, 3, 2, 2, 2, 5967, 5968, 3, 2, 2, 2, 5968, 5969, 3, 2, 2, 2, 5969, 5970, 7, 89, 2, 2, 5970, 5973, 5, 594, 298, 2, 5971, 5972, 7, 321, 2, 2, 5972, 5974, 7, 970, 2, 2, 5973, 5971, 3, 2, 2, 2, 5973, 5974, 3, 2, 2, 2, 5974, 5976, 3, 2, 2, 2, 5975, 5920, 3, 2, 2, 2, 5975, 5924, 3, 2, 2, 2, 5975, 5933, 3, 2, 2, 2, 5975, 5937, 3, 2, 2, 2, 5975, 5943, 3, 2, 2, 2, 5975, 5955, 3, 2, 2, 2, 5975, 5958, 3, 2, 2, 2, 5975, 5965, 3, 2, 2, 2, 5976, 5979, 3, 2, 2, 2, 5977, 5975, 3, 2, 2, 2, 5977, 5978, 3, 2, 2, 2, 5978, 595, 3, 2, 2, 2, 5979, 5977, 3, 2, 2, 2, 5980, 5981, 8, 299, 1, 2, 5981, 6026, 5, 534, 268, 2, 5982, 6026, 5, 494, 248, 2, 5983, 6026, 5, 572, 287, 2, 5984, 6026, 5, 500, 251, 2, 5985, 5986, 5, 598, 300, 2, 5986, 5987, 5, 596, 299, 11, 5987, 6026, 3, 2, 2, 2, 5988, 5989, 7, 193, 2, 2, 5989, 6026, 5, 596, 299, 10, 5990, 5991, 7, 955, 2, 2, 5991, 5996, 5, 592, 297, 2, 5992, 5993, 7, 957, 2, 2, 5993, 5995, 5, 592, 297, 2, 5994, 5992, 3, 2, 2, 2, 5995, 5998, 3, 2, 2, 2, 5996, 5994, 3, 2, 2, 2, 5996, 5997, 3, 2, 2, 2, 5997, 5999, 3, 2, 2, 2, 5998, 5996, 3, 2, 2, 2, 5999, 6000, 7, 956, 2, 2, 6000, 6026, 3, 2, 2, 2, 6001, 6002, 7, 481, 2, 2, 6002, 6003, 7, 955, 2, 2, 6003, 6006, 5, 592, 297, 2, 6004, 6005, 7, 957, 2, 2, 6005, 6007, 5, 592, 297, 2, 6006, 6004, 3, 2, 2, 2, 6007, 6008, 3, 2, 2, 2, 6008, 6006, 3, 2, 2, 2, 6008, 6009, 3, 2, 2, 2, 6009, 6010, 3, 2, 2, 2, 6010, 6011, 7, 956, 2, 2, 6011, 6026, 3, 2, 2, 2, 6012, 6013, 7, 55, 2, 2, 6013, 6014, 7, 955, 2, 2, 6014, 6015, 5, 180, 91, 2, 6015, 6016, 7, 956, 2, 2, 6016, 6026, 3, 2, 2, 2, 6017, 6018, 7, 955, 2, 2, 6018, 6019, 5, 180, 91, 2, 6019, 6020, 7, 956, 2, 2, 6020, 6026, 3, 2, 2, 2, 6021, 6022, 7, 78, 2, 2, 6022, 6023, 5, 592, 297, 2, 6023, 6024, 5, 60, 31, 2, 6024, 6026, 3, 2, 2, 2, 6025, 5980, 3, 2, 2, 2, 6025, 5982, 3, 2, 2, 2, 6025, 5983, 3, 2, 2, 2, 6025, 5984, 3, 2, 2, 2, 6025, 5985, 3, 2, 2, 2, 6025, 5988, 3, 2, 2, 2, 6025, 5990, 3, 2, 2, 2, 6025, 6001, 3, 2, 2, 2, 6025, 6012, 3, 2, 2, 2, 6025, 6017, 3, 2, 2, 2, 6025, 6021, 3, 2, 2, 2, 6026, 6040, 3, 2, 2, 2, 6027, 6028, 12, 4, 2, 2, 6028, 6029, 5, 604, 303, 2, 6029, 6030, 5, 596, 299, 5, 6030, 6039, 3, 2, 2, 2, 6031, 6032, 12, 3, 2, 2, 6032, 6033, 5, 606, 304, 2, 6033, 6034, 5, 596, 299, 4, 6034, 6039, 3, 2, 2, 2, 6035, 6036, 12, 13, 2, 2, 6036, 6037, 7, 28, 2, 2, 6037, 6039, 5, 504, 253, 2, 6038, 6027, 3, 2, 2, 2, 6038, 6031, 3, 2, 2, 2, 6038, 6035, 3, 2, 2, 2, 6039, 6042, 3, 2, 2, 2, 6040, 6038, 3, 2, 2, 2, 6040, 6041, 3, 2, 2, 2, 6041, 597, 3, 2, 2, 2, 6042, 6040, 3, 2, 2, 2, 6043, 6044, 9, 108, 2, 2, 6044, 599, 3, 2, 2, 2, 6045, 6060, 7, 946, 2, 2, 6046, 6060, 7, 947, 2, 2, 6047, 6060, 7, 948, 2, 2, 6048, 6049, 7, 948, 2, 2, 6049, 6060, 7, 946, 2, 2, 6050, 6051, 7, 947, 2, 2, 6051, 6060, 7, 946, 2, 2, 6052, 6053, 7, 948, 2, 2, 6053, 6060, 7, 947, 2, 2, 6054, 6055, 7, 949, 2, 2, 6055, 6060, 7, 946, 2, 2, 6056, 6057, 7, 948, 2, 2, 6057, 6058, 7, 946, 2, 2, 6058, 6060, 7, 947, 2, 2, 6059, 6045, 3, 2, 2, 2, 6059, 6046, 3, 2, 2, 2, 6059, 6047, 3, 2, 2, 2, 6059, 6048, 3, 2, 2, 2, 6059, 6050, 3, 2, 2, 2, 6059, 6052, 3, 2, 2, 2, 6059, 6054, 3, 2, 2, 2, 6059, 6056, 3, 2, 2, 2, 6060, 601, 3, 2, 2, 2, 6061, 6069, 7, 14, 2, 2, 6062, 6063, 7, 952, 2, 2, 6063, 6069, 7, 952, 2, 2, 6064, 6069, 7, 173, 2, 2, 6065, 6069, 7, 110, 2, 2, 6066, 6067, 7, 951, 2, 2, 6067, 6069, 7, 951, 2, 2, 6068, 6061, 3, 2, 2, 2, 6068, 6062, 3, 2, 2, 2, 6068, 6064, 3, 2, 2, 2, 6068, 6065, 3, 2, 2, 2, 6068, 6066, 3, 2, 2, 2, 6069, 603, 3, 2, 2, 2, 6070, 6071, 7, 948, 2, 2, 6071, 6078, 7, 948, 2, 2, 6072, 6073, 7, 947, 2, 2, 6073, 6078, 7, 947, 2, 2, 6074, 6078, 7, 952, 2, 2, 6075, 6078, 7, 953, 2, 2, 6076, 6078, 7, 951, 2, 2, 6077, 6070, 3, 2, 2, 2, 6077, 6072, 3, 2, 2, 2, 6077, 6074, 3, 2, 2, 2, 6077, 6075, 3, 2, 2, 2, 6077, 6076, 3, 2, 2, 2, 6078, 605, 3, 2, 2, 2, 6079, 6080, 9, 109, 2, 2, 6080, 607, 3, 2, 2, 2, 6081, 6082, 9, 110, 2, 2, 6082, 609, 3, 2, 2, 2, 6083, 6084, 9, 111, 2, 2, 6084, 611, 3, 2, 2, 2, 6085, 6086, 9, 112, 2, 2, 6086, 613, 3, 2, 2, 2, 6087, 6088, 9, 113, 2, 2, 6088, 615, 3, 2, 2, 2, 6089, 6090, 9, 114, 2, 2, 6090, 617, 3, 2, 2, 2, 6091, 6092, 9, 115, 2, 2, 6092, 619, 3, 2, 2, 2, 6093, 6094, 9, 116, 2, 2, 6094, 621, 3, 2, 2, 2, 878, 623, 626, 632, 637, 639, 644, 647, 650, 659, 698, 710, 721, 738, 743, 755, 782, 788, 793, 799, 804, 808, 817, 820, 823, 827, 834, 837, 842, 850, 855, 860, 863, 874, 877, 881, 884, 888, 891, 895, 898, 901, 905, 908, 912, 918, 924, 930, 937, 944, 950, 956, 965, 984, 991, 995, 1005, 1009, 1013, 1017, 1021, 1026, 1029, 1032, 1035, 1038, 1044, 1048, 1054, 1059, 1062, 1065, 1067, 1078, 1082, 1085, 1099, 1102, 1106, 1109, 1113, 1116, 1120, 1123, 1127, 1130, 1133, 1137, 1140, 1144, 1150, 1163, 1170, 1175, 1178, 1183, 1191, 1197, 1201, 1204, 1209, 1212, 1216, 1220, 1223, 1231, 1233, 1240, 1246, 1254, 1257, 1264, 1267, 1269, 1275, 1281, 1298, 1305, 1312, 1321, 1335, 1348, 1353, 1369, 1377, 1387, 1393, 1401, 1406, 1417, 1424, 1429, 1433, 1435, 1440, 1446, 1451, 1453, 1457, 1460, 1463, 1469, 1474, 1476, 1481, 1488, 1490, 1497, 1504, 1507, 1515, 1523, 1525, 1533, 1537, 1540, 1546, 1551, 1554, 1560, 1563, 1567, 1572, 1577, 1581, 1586, 1589, 1594, 1598, 1602, 1607, 1612, 1617, 1623, 1628, 1633, 1639, 1644, 1649, 1654, 1659, 1664, 1669, 1674, 1679, 1684, 1689, 1695, 1699, 1705, 1715, 1722, 1724, 1732, 1737, 1740, 1748, 1754, 1770, 1782, 1784, 1787, 1795, 1801, 1807, 1820, 1827, 1835, 1838, 1850, 1857, 1865, 1868, 1880, 1887, 1895, 1898, 1905, 1913, 1916, 1918, 1923, 1931, 1940, 1944, 1948, 1953, 1959, 1965, 1970, 1975, 1980, 1985, 1988, 1993, 1998, 2008, 2012, 2019, 2024, 2027, 2032, 2035, 2039, 2043, 2051, 2070, 2073, 2076, 2080, 2090, 2103, 2110, 2113, 2122, 2126, 2137, 2140, 2144, 2152, 2155, 2160, 2168, 2174, 2178, 2182, 2187, 2192, 2199, 2203, 2214, 2222, 2225, 2231, 2237, 2239, 2244, 2250, 2256, 2258, 2262, 2265, 2268, 2274, 2280, 2283, 2289, 2295, 2297, 2302, 2310, 2312, 2321, 2326, 2334, 2338, 2346, 2356, 2361, 2368, 2372, 2391, 2395, 2407, 2410, 2419, 2436, 2448, 2455, 2462, 2477, 2490, 2496, 2502, 2508, 2514, 2520, 2526, 2531, 2538, 2545, 2552, 2555, 2559, 2562, 2575, 2582, 2589, 2595, 2599, 2603, 2610, 2613, 2618, 2625, 2632, 2636, 2645, 2654, 2663, 2666, 2670, 2679, 2683, 2686, 2689, 2697, 2703, 2712, 2715, 2726, 2729, 2734, 2737, 2742, 2752, 2757, 2763, 2765, 2771, 2773, 2779, 2787, 2792, 2800, 2803, 2808, 2811, 2816, 2824, 2832, 2838, 2846, 2851, 2859, 2862, 2866, 2869, 2877, 2883, 2892, 2895, 2899, 2903, 2909, 2913, 2917, 2919, 2922, 2925, 2928, 2934, 2938, 2941, 2944, 2947, 2950, 2952, 2956, 2970, 2973, 2979, 2983, 2991, 2995, 2998, 3001, 3010, 3014, 3017, 3021, 3025, 3028, 3031, 3036, 3042, 3046, 3056, 3062, 3066, 3072, 3076, 3082, 3085, 3097, 3101, 3105, 3113, 3117, 3125, 3128, 3132, 3135, 3143, 3148, 3151, 3154, 3158, 3161, 3170, 3175, 3184, 3189, 3196, 3203, 3211, 3216, 3224, 3227, 3230, 3237, 3240, 3247, 3250, 3258, 3264, 3275, 3278, 3289, 3295, 3299, 3310, 3315, 3317, 3321, 3331, 3341, 3347, 3352, 3355, 3358, 3361, 3367, 3372, 3375, 3378, 3381, 3387, 3392, 3395, 3398, 3400, 3406, 3411, 3414, 3417, 3421, 3427, 3431, 3441, 3445, 3451, 3460, 3463, 3467, 3470, 3474, 3478, 3481, 3483, 3497, 3509, 3515, 3517, 3523, 3525, 3527, 3533, 3541, 3549, 3555, 3564, 3569, 3571, 3575, 3579, 3585, 3592, 3601, 3604, 3608, 3612, 3616, 3619, 3622, 3625, 3629, 3633, 3636, 3639, 3642, 3649, 3653, 3668, 3681, 3689, 3699, 3703, 3706, 3712, 3715, 3718, 3727, 3736, 3746, 3750, 3760, 3770, 3778, 3781, 3790, 3793, 3797, 3802, 3806, 3815, 3818, 3849, 3852, 3855, 3911, 3916, 3944, 3958, 3965, 3969, 3975, 3983, 3985, 3996, 4006, 4013, 4019, 4027, 4032, 4040, 4048, 4056, 4064, 4070, 4072, 4076, 4081, 4086, 4092, 4094, 4105, 4110, 4117, 4119, 4133, 4139, 4144, 4149, 4155, 4162, 4170, 4178, 4183, 4189, 4192, 4200, 4207, 4216, 4219, 4236, 4244, 4252, 4256, 4263, 4269, 4277, 4286, 4292, 4299, 4306, 4311, 4314, 4316, 4322, 4324, 4328, 4330, 4333, 4342, 4348, 4355, 4362, 4367, 4370, 4372, 4378, 4380, 4384, 4386, 4389, 4394, 4401, 4410, 4415, 4424, 4431, 4436, 4439, 4441, 4447, 4449, 4452, 4464, 4470, 4479, 4488, 4493, 4502, 4508, 4519, 4522, 4534, 4541, 4546, 4561, 4572, 4575, 4585, 4595, 4605, 4615, 4619, 4623, 4632, 4659, 4674, 4682, 4693, 4700, 4704, 4711, 4716, 4719, 4722, 4731, 4735, 4765, 4772, 4776, 4783, 4786, 4791, 4801, 4805, 4811, 4814, 4819, 4823, 4830, 4833, 4839, 4863, 4876, 4879, 4889, 4897, 4901, 4908, 4911, 4920, 4926, 4932, 4942, 4944, 4950, 4953, 4956, 4968, 4971, 4977, 4980, 4988, 4996, 5002, 5006, 5020, 5032, 5039, 5042, 5049, 5056, 5061, 5066, 5077, 5088, 5094, 5099, 5112, 5114, 5119, 5124, 5126, 5133, 5140, 5143, 5146, 5152, 5156, 5162, 5168, 5183, 5188, 5194, 5201, 5203, 5210, 5213, 5223, 5227, 5247, 5254, 5256, 5263, 5265, 5269, 5274, 5285, 5290, 5296, 5299, 5303, 5308, 5311, 5315, 5319, 5321, 5326, 5331, 5344, 5347, 5351, 5354, 5359, 5363, 5367, 5370, 5373, 5377, 5380, 5383, 5387, 5390, 5393, 5398, 5407, 5412, 5417, 5421, 5424, 5428, 5432, 5437, 5442, 5446, 5448, 5464, 5473, 5481, 5490, 5500, 5508, 5516, 5524, 5532, 5541, 5543, 5548, 5551, 5556, 5559, 5563, 5577, 5584, 5589, 5623, 5627, 5635, 5639, 5648, 5656, 5661, 5669, 5674, 5679, 5681, 5690, 5695, 5703, 5708, 5716, 5724, 5727, 5737, 5748, 5761, 5769, 5773, 5778, 5787, 5790, 5806, 5814, 5824, 5827, 5831, 5835, 5860, 5871, 5878, 5882, 5889, 5897, 5902, 5910, 5916, 5926, 5939, 5945, 5951, 5967, 5973, 5975, 5977, 5996, 6008, 6025, 6038, 6040, 6059, 6068, 6077] \ No newline at end of file diff --git a/Grammar/frameQL/grammar/test/frameQLParser.py b/Grammar/frameQL/grammar/test/frameQLParser.py deleted file mode 100644 index 622d006f7d..0000000000 --- a/Grammar/frameQL/grammar/test/frameQLParser.py +++ /dev/null @@ -1,48303 +0,0 @@ -# Generated from frameQLParser.g4 by ANTLR 4.7.2 -# encoding: utf-8 -from antlr4 import * -from io import StringIO -from typing.io import TextIO -import sys - - -def serializedATN(): - with StringIO() as buf: - buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3\u03d7") - buf.write("\u17d0\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7") - buf.write("\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r\4\16") - buf.write("\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22\4\23\t\23") - buf.write("\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31") - buf.write("\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36") - buf.write("\4\37\t\37\4 \t \4!\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t") - buf.write("&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4,\t,\4-\t-\4.\t.\4") - buf.write("/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t\64") - buf.write("\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t") - buf.write(";\4<\t<\4=\t=\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\t") - buf.write("D\4E\tE\4F\tF\4G\tG\4H\tH\4I\tI\4J\tJ\4K\tK\4L\tL\4M\t") - buf.write("M\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT\4U\tU\4V\t") - buf.write("V\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4") - buf.write("_\t_\4`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4") - buf.write("h\th\4i\ti\4j\tj\4k\tk\4l\tl\4m\tm\4n\tn\4o\to\4p\tp\4") - buf.write("q\tq\4r\tr\4s\ts\4t\tt\4u\tu\4v\tv\4w\tw\4x\tx\4y\ty\4") - buf.write("z\tz\4{\t{\4|\t|\4}\t}\4~\t~\4\177\t\177\4\u0080\t\u0080") - buf.write("\4\u0081\t\u0081\4\u0082\t\u0082\4\u0083\t\u0083\4\u0084") - buf.write("\t\u0084\4\u0085\t\u0085\4\u0086\t\u0086\4\u0087\t\u0087") - buf.write("\4\u0088\t\u0088\4\u0089\t\u0089\4\u008a\t\u008a\4\u008b") - buf.write("\t\u008b\4\u008c\t\u008c\4\u008d\t\u008d\4\u008e\t\u008e") - buf.write("\4\u008f\t\u008f\4\u0090\t\u0090\4\u0091\t\u0091\4\u0092") - buf.write("\t\u0092\4\u0093\t\u0093\4\u0094\t\u0094\4\u0095\t\u0095") - buf.write("\4\u0096\t\u0096\4\u0097\t\u0097\4\u0098\t\u0098\4\u0099") - buf.write("\t\u0099\4\u009a\t\u009a\4\u009b\t\u009b\4\u009c\t\u009c") - buf.write("\4\u009d\t\u009d\4\u009e\t\u009e\4\u009f\t\u009f\4\u00a0") - buf.write("\t\u00a0\4\u00a1\t\u00a1\4\u00a2\t\u00a2\4\u00a3\t\u00a3") - buf.write("\4\u00a4\t\u00a4\4\u00a5\t\u00a5\4\u00a6\t\u00a6\4\u00a7") - buf.write("\t\u00a7\4\u00a8\t\u00a8\4\u00a9\t\u00a9\4\u00aa\t\u00aa") - buf.write("\4\u00ab\t\u00ab\4\u00ac\t\u00ac\4\u00ad\t\u00ad\4\u00ae") - buf.write("\t\u00ae\4\u00af\t\u00af\4\u00b0\t\u00b0\4\u00b1\t\u00b1") - buf.write("\4\u00b2\t\u00b2\4\u00b3\t\u00b3\4\u00b4\t\u00b4\4\u00b5") - buf.write("\t\u00b5\4\u00b6\t\u00b6\4\u00b7\t\u00b7\4\u00b8\t\u00b8") - buf.write("\4\u00b9\t\u00b9\4\u00ba\t\u00ba\4\u00bb\t\u00bb\4\u00bc") - buf.write("\t\u00bc\4\u00bd\t\u00bd\4\u00be\t\u00be\4\u00bf\t\u00bf") - buf.write("\4\u00c0\t\u00c0\4\u00c1\t\u00c1\4\u00c2\t\u00c2\4\u00c3") - buf.write("\t\u00c3\4\u00c4\t\u00c4\4\u00c5\t\u00c5\4\u00c6\t\u00c6") - buf.write("\4\u00c7\t\u00c7\4\u00c8\t\u00c8\4\u00c9\t\u00c9\4\u00ca") - buf.write("\t\u00ca\4\u00cb\t\u00cb\4\u00cc\t\u00cc\4\u00cd\t\u00cd") - buf.write("\4\u00ce\t\u00ce\4\u00cf\t\u00cf\4\u00d0\t\u00d0\4\u00d1") - buf.write("\t\u00d1\4\u00d2\t\u00d2\4\u00d3\t\u00d3\4\u00d4\t\u00d4") - buf.write("\4\u00d5\t\u00d5\4\u00d6\t\u00d6\4\u00d7\t\u00d7\4\u00d8") - buf.write("\t\u00d8\4\u00d9\t\u00d9\4\u00da\t\u00da\4\u00db\t\u00db") - buf.write("\4\u00dc\t\u00dc\4\u00dd\t\u00dd\4\u00de\t\u00de\4\u00df") - buf.write("\t\u00df\4\u00e0\t\u00e0\4\u00e1\t\u00e1\4\u00e2\t\u00e2") - buf.write("\4\u00e3\t\u00e3\4\u00e4\t\u00e4\4\u00e5\t\u00e5\4\u00e6") - buf.write("\t\u00e6\4\u00e7\t\u00e7\4\u00e8\t\u00e8\4\u00e9\t\u00e9") - buf.write("\4\u00ea\t\u00ea\4\u00eb\t\u00eb\4\u00ec\t\u00ec\4\u00ed") - buf.write("\t\u00ed\4\u00ee\t\u00ee\4\u00ef\t\u00ef\4\u00f0\t\u00f0") - buf.write("\4\u00f1\t\u00f1\4\u00f2\t\u00f2\4\u00f3\t\u00f3\4\u00f4") - buf.write("\t\u00f4\4\u00f5\t\u00f5\4\u00f6\t\u00f6\4\u00f7\t\u00f7") - buf.write("\4\u00f8\t\u00f8\4\u00f9\t\u00f9\4\u00fa\t\u00fa\4\u00fb") - buf.write("\t\u00fb\4\u00fc\t\u00fc\4\u00fd\t\u00fd\4\u00fe\t\u00fe") - buf.write("\4\u00ff\t\u00ff\4\u0100\t\u0100\4\u0101\t\u0101\4\u0102") - buf.write("\t\u0102\4\u0103\t\u0103\4\u0104\t\u0104\4\u0105\t\u0105") - buf.write("\4\u0106\t\u0106\4\u0107\t\u0107\4\u0108\t\u0108\4\u0109") - buf.write("\t\u0109\4\u010a\t\u010a\4\u010b\t\u010b\4\u010c\t\u010c") - buf.write("\4\u010d\t\u010d\4\u010e\t\u010e\4\u010f\t\u010f\4\u0110") - buf.write("\t\u0110\4\u0111\t\u0111\4\u0112\t\u0112\4\u0113\t\u0113") - buf.write("\4\u0114\t\u0114\4\u0115\t\u0115\4\u0116\t\u0116\4\u0117") - buf.write("\t\u0117\4\u0118\t\u0118\4\u0119\t\u0119\4\u011a\t\u011a") - buf.write("\4\u011b\t\u011b\4\u011c\t\u011c\4\u011d\t\u011d\4\u011e") - buf.write("\t\u011e\4\u011f\t\u011f\4\u0120\t\u0120\4\u0121\t\u0121") - buf.write("\4\u0122\t\u0122\4\u0123\t\u0123\4\u0124\t\u0124\4\u0125") - buf.write("\t\u0125\4\u0126\t\u0126\4\u0127\t\u0127\4\u0128\t\u0128") - buf.write("\4\u0129\t\u0129\4\u012a\t\u012a\4\u012b\t\u012b\4\u012c") - buf.write("\t\u012c\4\u012d\t\u012d\4\u012e\t\u012e\4\u012f\t\u012f") - buf.write("\4\u0130\t\u0130\4\u0131\t\u0131\4\u0132\t\u0132\4\u0133") - buf.write("\t\u0133\4\u0134\t\u0134\4\u0135\t\u0135\4\u0136\t\u0136") - buf.write("\4\u0137\t\u0137\3\2\5\2\u0270\n\2\3\2\5\2\u0273\n\2\3") - buf.write("\2\3\2\3\3\3\3\5\3\u0279\n\3\3\3\3\3\3\3\7\3\u027e\n\3") - buf.write("\f\3\16\3\u0281\13\3\3\3\3\3\5\3\u0285\n\3\3\3\5\3\u0288") - buf.write("\n\3\3\3\5\3\u028b\n\3\3\4\3\4\3\4\3\4\3\4\3\4\3\4\5\4") - buf.write("\u0294\n\4\3\5\3\5\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6") - buf.write("\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3") - buf.write("\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\5\6") - buf.write("\u02bb\n\6\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\5\7") - buf.write("\u02c7\n\7\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\5\b\u02d2") - buf.write("\n\b\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3") - buf.write("\t\3\t\3\t\5\t\u02e3\n\t\3\n\3\n\3\n\5\n\u02e8\n\n\3\13") - buf.write("\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\5\13\u02f4") - buf.write("\n\13\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f") - buf.write("\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\5") - buf.write("\f\u030f\n\f\3\r\3\r\3\r\3\r\5\r\u0315\n\r\3\16\3\16\3") - buf.write("\16\5\16\u031a\n\16\3\16\3\16\7\16\u031e\n\16\f\16\16") - buf.write("\16\u0321\13\16\3\17\3\17\5\17\u0325\n\17\3\17\3\17\5") - buf.write("\17\u0329\n\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\5\17") - buf.write("\u0332\n\17\3\17\5\17\u0335\n\17\3\17\5\17\u0338\n\17") - buf.write("\3\17\3\17\5\17\u033c\n\17\3\17\3\17\3\17\3\20\3\20\5") - buf.write("\20\u0343\n\20\3\20\5\20\u0346\n\20\3\20\3\20\3\20\5\20") - buf.write("\u034b\n\20\3\20\3\20\3\20\3\20\7\20\u0351\n\20\f\20\16") - buf.write("\20\u0354\13\20\3\20\3\20\5\20\u0358\n\20\3\20\3\20\3") - buf.write("\20\5\20\u035d\n\20\3\20\5\20\u0360\n\20\3\21\3\21\3\21") - buf.write("\3\21\3\21\3\21\3\21\3\21\3\21\5\21\u036b\n\21\3\21\5") - buf.write("\21\u036e\n\21\3\21\3\21\5\21\u0372\n\21\3\21\5\21\u0375") - buf.write("\n\21\3\21\3\21\5\21\u0379\n\21\3\21\5\21\u037c\n\21\3") - buf.write("\21\3\21\5\21\u0380\n\21\3\21\5\21\u0383\n\21\3\21\5\21") - buf.write("\u0386\n\21\3\21\3\21\5\21\u038a\n\21\3\21\5\21\u038d") - buf.write("\n\21\3\21\3\21\5\21\u0391\n\21\3\21\3\21\3\22\3\22\5") - buf.write("\22\u0397\n\22\3\22\3\22\3\22\3\22\5\22\u039d\n\22\3\22") - buf.write("\3\22\7\22\u03a1\n\22\f\22\16\22\u03a4\13\22\3\22\3\22") - buf.write("\7\22\u03a8\n\22\f\22\16\22\u03ab\13\22\3\22\3\22\3\23") - buf.write("\3\23\5\23\u03b1\n\23\3\23\3\23\3\23\3\23\5\23\u03b7\n") - buf.write("\23\3\23\3\23\7\23\u03bb\n\23\f\23\16\23\u03be\13\23\3") - buf.write("\23\3\23\3\23\3\23\7\23\u03c4\n\23\f\23\16\23\u03c7\13") - buf.write("\23\3\23\3\23\3\24\3\24\3\24\3\24\3\24\3\24\3\24\3\24") - buf.write("\3\24\3\24\3\24\3\24\7\24\u03d7\n\24\f\24\16\24\u03da") - buf.write("\13\24\3\24\3\24\3\25\3\25\5\25\u03e0\n\25\3\25\3\25\5") - buf.write("\25\u03e4\n\25\3\25\3\25\3\25\3\25\3\25\3\25\3\25\3\25") - buf.write("\5\25\u03ee\n\25\3\25\3\25\5\25\u03f2\n\25\3\25\3\25\5") - buf.write("\25\u03f6\n\25\3\25\3\25\5\25\u03fa\n\25\3\25\3\25\5\25") - buf.write("\u03fe\n\25\3\25\7\25\u0401\n\25\f\25\16\25\u0404\13\25") - buf.write("\5\25\u0406\n\25\3\25\5\25\u0409\n\25\3\25\5\25\u040c") - buf.write("\n\25\3\25\5\25\u040f\n\25\3\25\3\25\3\25\3\25\5\25\u0415") - buf.write("\n\25\3\25\3\25\5\25\u0419\n\25\3\25\3\25\3\25\3\25\5") - buf.write("\25\u041f\n\25\3\25\7\25\u0422\n\25\f\25\16\25\u0425\13") - buf.write("\25\5\25\u0427\n\25\3\25\5\25\u042a\n\25\5\25\u042c\n") - buf.write("\25\3\26\3\26\3\26\3\26\3\26\3\26\3\26\3\26\3\26\5\26") - buf.write("\u0437\n\26\3\26\3\26\5\26\u043b\n\26\3\26\5\26\u043e") - buf.write("\n\26\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27") - buf.write("\3\27\3\27\5\27\u044c\n\27\3\27\5\27\u044f\n\27\3\27\3") - buf.write("\27\5\27\u0453\n\27\3\27\5\27\u0456\n\27\3\27\3\27\5\27") - buf.write("\u045a\n\27\3\27\5\27\u045d\n\27\3\27\3\27\5\27\u0461") - buf.write("\n\27\3\27\5\27\u0464\n\27\3\27\3\27\5\27\u0468\n\27\3") - buf.write("\27\5\27\u046b\n\27\3\27\5\27\u046e\n\27\3\27\3\27\5\27") - buf.write("\u0472\n\27\3\27\5\27\u0475\n\27\3\27\3\27\5\27\u0479") - buf.write("\n\27\3\27\3\27\3\30\3\30\5\30\u047f\n\30\3\30\3\30\3") - buf.write("\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\5\30\u048c") - buf.write("\n\30\3\30\3\30\3\31\3\31\3\31\5\31\u0493\n\31\3\31\3") - buf.write("\31\3\31\5\31\u0498\n\31\3\31\5\31\u049b\n\31\3\31\3\31") - buf.write("\3\31\5\31\u04a0\n\31\3\31\3\31\3\31\3\31\3\31\3\31\5") - buf.write("\31\u04a8\n\31\3\31\3\31\3\31\3\31\5\31\u04ae\n\31\3\31") - buf.write("\3\31\5\31\u04b2\n\31\3\32\5\32\u04b5\n\32\3\32\3\32\3") - buf.write("\32\5\32\u04ba\n\32\3\32\5\32\u04bd\n\32\3\32\3\32\5\32") - buf.write("\u04c1\n\32\3\32\3\32\5\32\u04c5\n\32\3\32\5\32\u04c8") - buf.write("\n\32\3\33\3\33\3\33\3\33\3\33\3\33\5\33\u04d0\n\33\5") - buf.write("\33\u04d2\n\33\3\34\3\34\3\34\7\34\u04d7\n\34\f\34\16") - buf.write("\34\u04da\13\34\3\34\3\34\3\34\5\34\u04df\n\34\3\34\3") - buf.write("\34\3\34\3\34\7\34\u04e5\n\34\f\34\16\34\u04e8\13\34\5") - buf.write("\34\u04ea\n\34\3\34\3\34\3\34\7\34\u04ef\n\34\f\34\16") - buf.write("\34\u04f2\13\34\5\34\u04f4\n\34\5\34\u04f6\n\34\3\35\3") - buf.write("\35\3\35\3\35\5\35\u04fc\n\35\3\36\3\36\3\36\3\36\5\36") - buf.write("\u0502\n\36\3\36\3\36\3\37\3\37\3\37\3\37\3\37\3\37\3") - buf.write("\37\3\37\3\37\3\37\3\37\3\37\3\37\5\37\u0513\n\37\3 \3") - buf.write(" \3 \3 \3 \5 \u051a\n \3!\3!\3!\3\"\3\"\5\"\u0521\n\"") - buf.write("\3\"\3\"\3\"\3\"\3\"\3\"\3\"\5\"\u052a\n\"\3#\3#\3#\3") - buf.write("#\3$\3$\3$\3%\3%\3%\3%\3%\5%\u0538\n%\3%\3%\3%\3%\3%\3") - buf.write("%\3%\3%\3%\3%\3%\5%\u0545\n%\3%\3%\3%\5%\u054a\n%\3&\3") - buf.write("&\3&\3&\3&\3&\3&\3&\3&\3&\3&\3&\3&\3&\5&\u055a\n&\3\'") - buf.write("\3\'\3\'\3\'\7\'\u0560\n\'\f\'\16\'\u0563\13\'\3\'\3\'") - buf.write("\3(\3(\3(\3(\3(\5(\u056c\n(\3)\3)\7)\u0570\n)\f)\16)\u0573") - buf.write("\13)\3*\3*\3*\3*\3*\5*\u057a\n*\3*\3*\3*\5*\u057f\n*\3") - buf.write("*\3*\3*\3*\3*\3*\3*\3*\3*\5*\u058a\n*\3*\3*\3*\3*\3*\5") - buf.write("*\u0591\n*\3*\3*\3*\5*\u0596\n*\3+\3+\5+\u059a\n+\5+\u059c") - buf.write("\n+\3+\3+\3+\5+\u05a1\n+\3+\3+\7+\u05a5\n+\f+\16+\u05a8") - buf.write("\13+\3+\3+\5+\u05ac\n+\5+\u05ae\n+\3+\3+\5+\u05b2\n+\3") - buf.write("+\5+\u05b5\n+\3+\5+\u05b8\n+\3+\3+\7+\u05bc\n+\f+\16+") - buf.write("\u05bf\13+\3+\3+\5+\u05c3\n+\5+\u05c5\n+\3+\3+\3+\5+\u05ca") - buf.write("\n+\3+\3+\3+\3+\3+\5+\u05d1\n+\5+\u05d3\n+\3+\3+\3+\3") - buf.write("+\3+\5+\u05da\n+\3,\3,\3,\3,\3,\5,\u05e1\n,\3,\5,\u05e4") - buf.write("\n,\3-\3-\3-\3-\3-\3-\5-\u05ec\n-\3-\3-\3-\3-\3-\3-\5") - buf.write("-\u05f4\n-\5-\u05f6\n-\3.\3.\3.\3.\3.\3.\5.\u05fe\n.\3") - buf.write("/\3/\5/\u0602\n/\3/\5/\u0605\n/\3/\3/\7/\u0609\n/\f/\16") - buf.write("/\u060c\13/\3/\3/\5/\u0610\n/\3/\5/\u0613\n/\3/\3/\7/") - buf.write("\u0617\n/\f/\16/\u061a\13/\5/\u061c\n/\3\60\3\60\5\60") - buf.write("\u0620\n\60\3\60\3\60\3\60\5\60\u0625\n\60\3\60\3\60\3") - buf.write("\60\5\60\u062a\n\60\3\60\3\60\5\60\u062e\n\60\3\60\3\60") - buf.write("\3\60\5\60\u0633\n\60\3\60\5\60\u0636\n\60\3\60\3\60\3") - buf.write("\60\5\60\u063b\n\60\3\60\3\60\5\60\u063f\n\60\3\60\3\60") - buf.write("\5\60\u0643\n\60\3\60\3\60\3\60\5\60\u0648\n\60\3\60\3") - buf.write("\60\3\60\5\60\u064d\n\60\3\60\3\60\3\60\5\60\u0652\n\60") - buf.write("\3\60\3\60\3\60\3\60\5\60\u0658\n\60\3\60\3\60\3\60\5") - buf.write("\60\u065d\n\60\3\60\3\60\3\60\5\60\u0662\n\60\3\60\3\60") - buf.write("\3\60\3\60\5\60\u0668\n\60\3\60\3\60\3\60\5\60\u066d\n") - buf.write("\60\3\60\3\60\3\60\5\60\u0672\n\60\3\60\3\60\3\60\5\60") - buf.write("\u0677\n\60\3\60\3\60\3\60\5\60\u067c\n\60\3\60\3\60\3") - buf.write("\60\5\60\u0681\n\60\3\60\3\60\3\60\5\60\u0686\n\60\3\60") - buf.write("\3\60\3\60\5\60\u068b\n\60\3\60\3\60\3\60\5\60\u0690\n") - buf.write("\60\3\60\3\60\3\60\5\60\u0695\n\60\3\60\3\60\3\60\5\60") - buf.write("\u069a\n\60\3\60\3\60\3\60\3\60\5\60\u06a0\n\60\3\60\3") - buf.write("\60\5\60\u06a4\n\60\3\60\3\60\3\60\3\60\5\60\u06aa\n\60") - buf.write("\3\61\3\61\3\61\3\62\3\62\3\62\3\62\3\62\5\62\u06b4\n") - buf.write("\62\3\62\3\62\3\62\3\62\3\62\5\62\u06bb\n\62\5\62\u06bd") - buf.write("\n\62\3\62\3\62\3\62\3\62\7\62\u06c3\n\62\f\62\16\62\u06c6") - buf.write("\13\62\3\62\3\62\5\62\u06ca\n\62\3\63\5\63\u06cd\n\63") - buf.write("\3\63\3\63\3\63\3\63\3\63\3\63\5\63\u06d5\n\63\3\63\3") - buf.write("\63\3\63\3\63\5\63\u06db\n\63\3\63\3\63\3\63\3\63\3\63") - buf.write("\3\63\3\63\3\63\3\63\3\63\3\63\3\63\3\63\3\63\5\63\u06eb") - buf.write("\n\63\3\63\3\63\3\63\3\63\3\63\3\63\3\63\3\63\3\63\3\63") - buf.write("\5\63\u06f7\n\63\5\63\u06f9\n\63\3\64\5\64\u06fc\n\64") - buf.write("\3\64\3\64\3\64\3\64\3\64\3\64\5\64\u0704\n\64\3\64\3") - buf.write("\64\3\64\3\64\5\64\u070a\n\64\3\64\3\64\3\64\3\64\5\64") - buf.write("\u0710\n\64\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3") - buf.write("\65\7\65\u071b\n\65\f\65\16\65\u071e\13\65\3\65\3\65\7") - buf.write("\65\u0722\n\65\f\65\16\65\u0725\13\65\3\65\3\65\3\65\7") - buf.write("\65\u072a\n\65\f\65\16\65\u072d\13\65\5\65\u072f\n\65") - buf.write("\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\7\65\u0739\n") - buf.write("\65\f\65\16\65\u073c\13\65\3\65\3\65\7\65\u0740\n\65\f") - buf.write("\65\16\65\u0743\13\65\3\65\3\65\3\65\7\65\u0748\n\65\f") - buf.write("\65\16\65\u074b\13\65\5\65\u074d\n\65\3\65\3\65\3\65\3") - buf.write("\65\3\65\3\65\3\65\3\65\7\65\u0757\n\65\f\65\16\65\u075a") - buf.write("\13\65\3\65\3\65\7\65\u075e\n\65\f\65\16\65\u0761\13\65") - buf.write("\3\65\3\65\3\65\7\65\u0766\n\65\f\65\16\65\u0769\13\65") - buf.write("\5\65\u076b\n\65\3\65\3\65\3\65\7\65\u0770\n\65\f\65\16") - buf.write("\65\u0773\13\65\3\65\3\65\3\65\7\65\u0778\n\65\f\65\16") - buf.write("\65\u077b\13\65\5\65\u077d\n\65\5\65\u077f\n\65\3\66\3") - buf.write("\66\3\66\5\66\u0784\n\66\3\67\3\67\3\67\3\67\6\67\u078a") - buf.write("\n\67\r\67\16\67\u078b\3\67\3\67\38\38\38\78\u0793\n8") - buf.write("\f8\168\u0796\138\39\59\u0799\n9\39\39\59\u079d\n9\39") - buf.write("\39\39\59\u07a2\n9\39\39\39\39\59\u07a8\n9\39\39\39\3") - buf.write("9\59\u07ae\n9\39\39\39\59\u07b3\n9\39\39\39\59\u07b8\n") - buf.write("9\39\39\39\59\u07bd\n9\39\39\39\59\u07c2\n9\39\59\u07c5") - buf.write("\n9\3:\3:\3:\5:\u07ca\n:\3:\6:\u07cd\n:\r:\16:\u07ce\3") - buf.write(":\3:\3:\3:\3:\3:\3:\3:\5:\u07d9\n:\3;\3;\5;\u07dd\n;\3") - buf.write(";\3;\3;\3;\3;\5;\u07e4\n;\3;\3;\3;\5;\u07e9\n;\3;\5;\u07ec") - buf.write("\n;\3;\3;\3;\5;\u07f1\n;\3;\5;\u07f4\n;\3;\3;\5;\u07f8") - buf.write("\n;\3;\3;\5;\u07fc\n;\3<\3<\3<\3<\7<\u0802\n<\f<\16<\u0805") - buf.write("\13<\3=\3=\3=\3=\3=\3=\3=\3>\3>\3>\3>\3>\3>\3>\3>\3>\5") - buf.write(">\u0817\n>\3>\5>\u081a\n>\3>\5>\u081d\n>\3>\3>\5>\u0821") - buf.write("\n>\3>\3>\3?\3?\3?\3?\7?\u0829\n?\f?\16?\u082c\13?\3@") - buf.write("\3@\3@\3@\3@\3@\3@\3@\7@\u0836\n@\f@\16@\u0839\13@\3@") - buf.write("\3@\3A\3A\5A\u083f\nA\3A\5A\u0842\nA\3A\3A\3A\3A\3A\7") - buf.write("A\u0849\nA\fA\16A\u084c\13A\3A\5A\u084f\nA\3B\3B\3B\3") - buf.write("B\3B\3B\3B\3B\3B\5B\u085a\nB\3B\5B\u085d\nB\3B\3B\5B\u0861") - buf.write("\nB\3B\3B\3C\3C\3C\3C\5C\u0869\nC\3C\5C\u086c\nC\3C\3") - buf.write("C\3C\5C\u0871\nC\3C\3C\3C\3C\3C\3C\5C\u0879\nC\3C\3C\3") - buf.write("C\3C\5C\u087f\nC\3C\3C\5C\u0883\nC\3D\3D\5D\u0887\nD\3") - buf.write("D\7D\u088a\nD\fD\16D\u088d\13D\3D\3D\5D\u0891\nD\3D\3") - buf.write("D\3D\3D\3D\5D\u0898\nD\3D\3D\5D\u089c\nD\3D\3D\3D\3D\3") - buf.write("D\3D\3D\7D\u08a5\nD\fD\16D\u08a8\13D\3D\3D\3D\3D\3D\5") - buf.write("D\u08af\nD\3D\5D\u08b2\nD\3D\3D\7D\u08b6\nD\fD\16D\u08b9") - buf.write("\13D\3D\3D\3D\5D\u08be\nD\5D\u08c0\nD\3D\3D\3D\5D\u08c5") - buf.write("\nD\3D\3D\7D\u08c9\nD\fD\16D\u08cc\13D\3D\3D\3D\5D\u08d1") - buf.write("\nD\5D\u08d3\nD\3D\3D\5D\u08d7\nD\3D\5D\u08da\nD\3D\5") - buf.write("D\u08dd\nD\3D\3D\7D\u08e1\nD\fD\16D\u08e4\13D\3D\3D\3") - buf.write("D\5D\u08e9\nD\3D\5D\u08ec\nD\3D\3D\7D\u08f0\nD\fD\16D") - buf.write("\u08f3\13D\3D\3D\3D\5D\u08f8\nD\5D\u08fa\nD\3D\3D\3D\5") - buf.write("D\u08ff\nD\3D\3D\3D\3D\3D\3D\5D\u0907\nD\5D\u0909\nD\3") - buf.write("D\3D\3D\3D\3D\3D\3D\5D\u0912\nD\3D\3D\3D\5D\u0917\nD\3") - buf.write("D\3D\3D\3D\3D\3D\5D\u091f\nD\3D\3D\5D\u0923\nD\3D\3D\3") - buf.write("D\3D\3D\3D\5D\u092b\nD\3D\3D\3D\3D\3D\3D\3D\3D\5D\u0935") - buf.write("\nD\3D\3D\3D\5D\u093a\nD\3D\3D\3D\3D\3D\5D\u0941\nD\3") - buf.write("D\3D\5D\u0945\nD\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3") - buf.write("D\3D\3D\3D\3D\5D\u0958\nD\3D\3D\5D\u095c\nD\3D\3D\3D\3") - buf.write("D\3D\3D\3D\3D\3D\3D\5D\u0968\nD\3D\5D\u096b\nD\3D\3D\3") - buf.write("D\3D\3D\3D\3D\5D\u0974\nD\3D\3D\3D\3D\3D\3D\3D\3D\3D\3") - buf.write("D\3D\3D\3D\7D\u0983\nD\fD\16D\u0986\13D\3D\3D\3D\3D\3") - buf.write("D\3D\3D\3D\3D\5D\u0991\nD\3D\3D\3D\3D\3D\5D\u0998\nD\3") - buf.write("D\3D\3D\3D\3D\5D\u099f\nD\3D\3D\3D\3D\3D\3D\3D\3D\3D\3") - buf.write("D\3D\7D\u09ac\nD\fD\16D\u09af\13D\3D\3D\3D\3D\3D\3D\3") - buf.write("D\3D\3D\3D\5D\u09bb\nD\3D\3D\3D\3D\5D\u09c1\nD\3D\3D\3") - buf.write("D\3D\5D\u09c7\nD\3D\3D\3D\3D\5D\u09cd\nD\3D\3D\3D\3D\5") - buf.write("D\u09d3\nD\3D\3D\3D\3D\5D\u09d9\nD\3D\3D\3D\3D\5D\u09df") - buf.write("\nD\3E\3E\3E\5E\u09e4\nE\3E\3E\3F\3F\3F\5F\u09eb\nF\3") - buf.write("F\3F\3G\3G\3G\5G\u09f2\nG\3G\3G\3G\3G\3G\5G\u09f9\nG\3") - buf.write("G\5G\u09fc\nG\3G\3G\5G\u0a00\nG\3G\5G\u0a03\nG\3H\3H\3") - buf.write("H\3H\3H\3H\3H\3H\3I\3I\3I\5I\u0a10\nI\3I\3I\3J\3J\3J\5") - buf.write("J\u0a17\nJ\3J\3J\3K\3K\3K\5K\u0a1e\nK\3K\3K\3L\3L\5L\u0a24") - buf.write("\nL\3L\3L\5L\u0a28\nL\3L\3L\5L\u0a2c\nL\3M\3M\3M\3M\3") - buf.write("M\5M\u0a33\nM\3M\5M\u0a36\nM\3N\3N\3N\5N\u0a3b\nN\3N\3") - buf.write("N\3O\3O\3O\5O\u0a42\nO\3O\3O\3O\7O\u0a47\nO\fO\16O\u0a4a") - buf.write("\13O\3O\5O\u0a4d\nO\3P\3P\3P\3P\3P\7P\u0a54\nP\fP\16P") - buf.write("\u0a57\13P\3Q\3Q\3Q\3Q\3R\3R\5R\u0a5f\nR\3R\3R\3S\3S\3") - buf.write("S\3S\3S\5S\u0a68\nS\3S\5S\u0a6b\nS\3T\3T\5T\u0a6f\nT\3") - buf.write("U\3U\3U\3V\3V\3V\3V\5V\u0a78\nV\3W\3W\5W\u0a7c\nW\3W\5") - buf.write("W\u0a7f\nW\3W\5W\u0a82\nW\3W\3W\3W\3W\3W\3W\5W\u0a8a\n") - buf.write("W\3W\3W\3W\3W\5W\u0a90\nW\3W\3W\3W\3W\3W\7W\u0a97\nW\f") - buf.write("W\16W\u0a9a\13W\5W\u0a9c\nW\3W\3W\3W\3W\3W\3W\3W\7W\u0aa5") - buf.write("\nW\fW\16W\u0aa8\13W\5W\u0aaa\nW\3X\3X\3X\5X\u0aaf\nX") - buf.write("\3X\5X\u0ab2\nX\3X\3X\3X\5X\u0ab7\nX\3X\3X\3X\3X\3X\3") - buf.write("X\3X\3X\5X\u0ac1\nX\3X\3X\3X\5X\u0ac6\nX\3X\3X\6X\u0aca") - buf.write("\nX\rX\16X\u0acb\5X\u0ace\nX\3X\3X\6X\u0ad2\nX\rX\16X") - buf.write("\u0ad3\5X\u0ad6\nX\3X\3X\3X\3X\5X\u0adc\nX\3X\3X\3X\3") - buf.write("X\7X\u0ae2\nX\fX\16X\u0ae5\13X\3X\3X\5X\u0ae9\nX\3X\3") - buf.write("X\3X\3X\7X\u0aef\nX\fX\16X\u0af2\13X\5X\u0af4\nX\3Y\3") - buf.write("Y\3Y\5Y\u0af9\nY\3Y\5Y\u0afc\nY\3Y\3Y\3Y\5Y\u0b01\nY\3") - buf.write("Y\3Y\3Y\3Y\3Y\3Y\5Y\u0b09\nY\3Y\3Y\3Y\3Y\3Y\3Y\5Y\u0b11") - buf.write("\nY\3Y\3Y\3Y\3Y\5Y\u0b17\nY\3Y\3Y\3Y\3Y\7Y\u0b1d\nY\f") - buf.write("Y\16Y\u0b20\13Y\3Y\3Y\5Y\u0b24\nY\3Y\3Y\3Y\3Y\7Y\u0b2a") - buf.write("\nY\fY\16Y\u0b2d\13Y\5Y\u0b2f\nY\3Z\3Z\5Z\u0b33\nZ\3Z") - buf.write("\5Z\u0b36\nZ\3Z\3Z\3Z\3Z\3Z\3Z\5Z\u0b3e\nZ\3Z\3Z\3Z\3") - buf.write("Z\5Z\u0b44\nZ\3Z\3Z\3Z\3Z\3Z\7Z\u0b4b\nZ\fZ\16Z\u0b4e") - buf.write("\13Z\5Z\u0b50\nZ\3[\3[\5[\u0b54\n[\3[\3[\5[\u0b58\n[\3") - buf.write("[\3[\6[\u0b5c\n[\r[\16[\u0b5d\3[\3[\5[\u0b62\n[\3[\3[") - buf.write("\5[\u0b66\n[\5[\u0b68\n[\3[\5[\u0b6b\n[\3[\5[\u0b6e\n") - buf.write("[\3[\5[\u0b71\n[\3[\3[\6[\u0b75\n[\r[\16[\u0b76\3[\3[") - buf.write("\5[\u0b7b\n[\3[\5[\u0b7e\n[\3[\5[\u0b81\n[\3[\5[\u0b84") - buf.write("\n[\3[\5[\u0b87\n[\5[\u0b89\n[\3\\\3\\\5\\\u0b8d\n\\\3") - buf.write("]\3]\3]\3]\3]\3]\3]\3]\3]\3]\7]\u0b99\n]\f]\16]\u0b9c") - buf.write("\13]\5]\u0b9e\n]\3^\3^\3^\3^\5^\u0ba4\n^\3_\3_\5_\u0ba8") - buf.write("\n_\3`\3`\3`\3`\3`\3`\5`\u0bb0\n`\3a\3a\5a\u0bb4\na\3") - buf.write("a\5a\u0bb7\na\3a\5a\u0bba\na\3a\3a\3a\3a\3a\3a\3a\5a\u0bc3") - buf.write("\na\3a\3a\5a\u0bc7\na\3a\5a\u0bca\na\3a\3a\5a\u0bce\n") - buf.write("a\3b\3b\5b\u0bd2\nb\3b\5b\u0bd5\nb\3b\5b\u0bd8\nb\3b\3") - buf.write("b\3b\5b\u0bdd\nb\3b\3b\3b\3b\5b\u0be3\nb\7b\u0be5\nb\f") - buf.write("b\16b\u0be8\13b\3b\3b\3b\3b\3b\3b\3b\5b\u0bf1\nb\3b\3") - buf.write("b\3b\3b\5b\u0bf7\nb\7b\u0bf9\nb\fb\16b\u0bfc\13b\3b\3") - buf.write("b\3b\5b\u0c01\nb\3b\3b\5b\u0c05\nb\3c\3c\3c\3c\5c\u0c0b") - buf.write("\nc\3c\5c\u0c0e\nc\3d\3d\3d\3d\3d\3d\3d\3d\3d\3d\5d\u0c1a") - buf.write("\nd\3d\3d\5d\u0c1e\nd\3d\3d\5d\u0c22\nd\3e\3e\3e\3e\3") - buf.write("e\3e\5e\u0c2a\ne\3e\3e\5e\u0c2e\ne\3f\3f\3f\3f\3g\3g\5") - buf.write("g\u0c36\ng\3g\5g\u0c39\ng\3g\3g\5g\u0c3d\ng\3g\5g\u0c40") - buf.write("\ng\3g\3g\3g\3g\7g\u0c46\ng\fg\16g\u0c49\13g\3g\3g\5g") - buf.write("\u0c4d\ng\3g\5g\u0c50\ng\3g\5g\u0c53\ng\3h\3h\5h\u0c57") - buf.write("\nh\3h\5h\u0c5a\nh\3h\3h\3h\3h\3h\7h\u0c61\nh\fh\16h\u0c64") - buf.write("\13h\3h\3h\5h\u0c68\nh\3i\3i\3i\3i\3i\7i\u0c6f\ni\fi\16") - buf.write("i\u0c72\13i\3j\3j\5j\u0c76\nj\3k\3k\3k\7k\u0c7b\nk\fk") - buf.write("\16k\u0c7e\13k\3l\3l\7l\u0c82\nl\fl\16l\u0c85\13l\3l\3") - buf.write("l\3l\7l\u0c8a\nl\fl\16l\u0c8d\13l\3l\3l\5l\u0c91\nl\3") - buf.write("m\3m\3m\3m\3m\3m\5m\u0c99\nm\3m\5m\u0c9c\nm\3m\5m\u0c9f") - buf.write("\nm\3m\3m\3m\7m\u0ca4\nm\fm\16m\u0ca7\13m\5m\u0ca9\nm") - buf.write("\3m\3m\3m\3m\3m\5m\u0cb0\nm\3m\5m\u0cb3\nm\3m\3m\3m\3") - buf.write("m\3m\3m\5m\u0cbb\nm\3n\3n\3n\3n\5n\u0cc1\nn\3n\3n\3n\3") - buf.write("n\3o\3o\3o\3o\3o\5o\u0ccc\no\3p\5p\u0ccf\np\3p\3p\3p\3") - buf.write("p\3p\3p\3p\3p\3p\5p\u0cda\np\3p\3p\3p\3p\5p\u0ce0\np\3") - buf.write("p\3p\5p\u0ce4\np\3p\3p\3p\3p\3p\3p\3p\3p\3p\5p\u0cef\n") - buf.write("p\3p\3p\3p\5p\u0cf4\np\5p\u0cf6\np\3p\3p\5p\u0cfa\np\3") - buf.write("q\3q\3q\3q\3q\3q\3q\3q\5q\u0d04\nq\3r\3r\3r\3r\3r\3r\3") - buf.write("r\3r\5r\u0d0e\nr\3s\3s\7s\u0d12\ns\fs\16s\u0d15\13s\3") - buf.write("s\3s\5s\u0d19\ns\3s\5s\u0d1c\ns\3s\5s\u0d1f\ns\3s\5s\u0d22") - buf.write("\ns\3s\3s\7s\u0d26\ns\fs\16s\u0d29\13s\3s\3s\5s\u0d2d") - buf.write("\ns\3s\5s\u0d30\ns\3s\5s\u0d33\ns\3s\5s\u0d36\ns\3s\3") - buf.write("s\7s\u0d3a\ns\fs\16s\u0d3d\13s\3s\3s\5s\u0d41\ns\3s\5") - buf.write("s\u0d44\ns\3s\5s\u0d47\ns\5s\u0d49\ns\3t\3t\7t\u0d4d\n") - buf.write("t\ft\16t\u0d50\13t\3t\3t\5t\u0d54\nt\3t\5t\u0d57\nt\3") - buf.write("t\5t\u0d5a\nt\3u\3u\5u\u0d5e\nu\3u\3u\3v\3v\5v\u0d64\n") - buf.write("v\3v\3v\5v\u0d68\nv\3w\3w\3w\3w\3w\3w\3w\3w\5w\u0d72\n") - buf.write("w\3x\3x\5x\u0d76\nx\3x\3x\7x\u0d7a\nx\fx\16x\u0d7d\13") - buf.write("x\3y\3y\3y\3y\3y\3y\5y\u0d85\ny\3y\5y\u0d88\ny\3y\3y\5") - buf.write("y\u0d8c\ny\3y\5y\u0d8f\ny\3y\3y\5y\u0d93\ny\3y\3y\5y\u0d97") - buf.write("\ny\3y\5y\u0d9a\ny\5y\u0d9c\ny\3z\3z\3z\3{\3{\3{\3|\3") - buf.write("|\3|\3|\7|\u0da8\n|\f|\16|\u0dab\13|\3|\3|\3|\3|\3|\3") - buf.write("|\3|\3|\3|\5|\u0db6\n|\3|\3|\6|\u0dba\n|\r|\16|\u0dbb") - buf.write("\5|\u0dbe\n|\3|\3|\6|\u0dc2\n|\r|\16|\u0dc3\5|\u0dc6\n") - buf.write("|\5|\u0dc8\n|\3}\3}\3}\3}\5}\u0dce\n}\3}\3}\3}\3}\3}\3") - buf.write("}\5}\u0dd6\n}\3~\3~\3~\3~\3~\3~\5~\u0dde\n~\3\177\3\177") - buf.write("\3\177\3\177\5\177\u0de4\n\177\3\177\3\177\3\177\3\177") - buf.write("\3\177\7\177\u0deb\n\177\f\177\16\177\u0dee\13\177\3\177") - buf.write("\3\177\5\177\u0df2\n\177\5\177\u0df4\n\177\3\177\3\177") - buf.write("\5\177\u0df8\n\177\3\u0080\3\u0080\5\u0080\u0dfc\n\u0080") - buf.write("\3\u0081\3\u0081\3\u0081\3\u0081\5\u0081\u0e02\n\u0081") - buf.write("\3\u0081\3\u0081\3\u0081\3\u0081\3\u0081\5\u0081\u0e09") - buf.write("\n\u0081\3\u0082\3\u0082\3\u0082\3\u0082\3\u0082\7\u0082") - buf.write("\u0e10\n\u0082\f\u0082\16\u0082\u0e13\13\u0082\5\u0082") - buf.write("\u0e15\n\u0082\3\u0083\3\u0083\5\u0083\u0e19\n\u0083\3") - buf.write("\u0084\3\u0084\5\u0084\u0e1d\n\u0084\3\u0084\3\u0084\5") - buf.write("\u0084\u0e21\n\u0084\3\u0084\5\u0084\u0e24\n\u0084\3\u0084") - buf.write("\5\u0084\u0e27\n\u0084\3\u0084\5\u0084\u0e2a\n\u0084\3") - buf.write("\u0085\3\u0085\5\u0085\u0e2e\n\u0085\3\u0085\3\u0085\5") - buf.write("\u0085\u0e32\n\u0085\3\u0085\5\u0085\u0e35\n\u0085\3\u0085") - buf.write("\5\u0085\u0e38\n\u0085\3\u0085\5\u0085\u0e3b\n\u0085\3") - buf.write("\u0086\3\u0086\3\u0086\3\u0087\3\u0087\5\u0087\u0e42\n") - buf.write("\u0087\3\u0087\3\u0087\5\u0087\u0e46\n\u0087\3\u0087\3") - buf.write("\u0087\3\u0088\3\u0088\3\u0088\3\u0088\3\u0089\3\u0089") - buf.write("\3\u0089\3\u0089\3\u0089\7\u0089\u0e53\n\u0089\f\u0089") - buf.write("\16\u0089\u0e56\13\u0089\3\u008a\3\u008a\3\u008a\3\u008b") - buf.write("\3\u008b\3\u008b\3\u008b\3\u008b\3\u008c\3\u008c\5\u008c") - buf.write("\u0e62\n\u008c\3\u008c\3\u008c\3\u008c\3\u008c\7\u008c") - buf.write("\u0e68\n\u008c\f\u008c\16\u008c\u0e6b\13\u008c\3\u008d") - buf.write("\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d\5\u008d") - buf.write("\u0e74\n\u008d\3\u008e\3\u008e\5\u008e\u0e78\n\u008e\3") - buf.write("\u008e\5\u008e\u0e7b\n\u008e\3\u008e\3\u008e\3\u008f\3") - buf.write("\u008f\5\u008f\u0e81\n\u008f\3\u008f\5\u008f\u0e84\n\u008f") - buf.write("\3\u008f\5\u008f\u0e87\n\u008f\3\u0090\3\u0090\3\u0090") - buf.write("\3\u0090\3\u0090\3\u0090\3\u0090\5\u0090\u0e90\n\u0090") - buf.write("\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091") - buf.write("\5\u0091\u0e99\n\u0091\3\u0092\3\u0092\3\u0092\3\u0092") - buf.write("\3\u0092\3\u0092\7\u0092\u0ea1\n\u0092\f\u0092\16\u0092") - buf.write("\u0ea4\13\u0092\3\u0092\5\u0092\u0ea7\n\u0092\3\u0093") - buf.write("\3\u0093\3\u0093\3\u0093\3\u0093\3\u0093\7\u0093\u0eaf") - buf.write("\n\u0093\f\u0093\16\u0093\u0eb2\13\u0093\3\u0094\3\u0094") - buf.write("\3\u0094\3\u0094\3\u0094\3\u0094\3\u0094\5\u0094\u0ebb") - buf.write("\n\u0094\3\u0095\3\u0095\3\u0095\3\u0096\3\u0096\3\u0096") - buf.write("\5\u0096\u0ec3\n\u0096\3\u0096\5\u0096\u0ec6\n\u0096\3") - buf.write("\u0097\3\u0097\3\u0097\3\u0097\3\u0097\7\u0097\u0ecd\n") - buf.write("\u0097\f\u0097\16\u0097\u0ed0\13\u0097\5\u0097\u0ed2\n") - buf.write("\u0097\3\u0097\3\u0097\5\u0097\u0ed6\n\u0097\3\u0097\7") - buf.write("\u0097\u0ed9\n\u0097\f\u0097\16\u0097\u0edc\13\u0097\3") - buf.write("\u0097\5\u0097\u0edf\n\u0097\3\u0098\3\u0098\3\u0098\3") - buf.write("\u0098\3\u0098\7\u0098\u0ee6\n\u0098\f\u0098\16\u0098") - buf.write("\u0ee9\13\u0098\5\u0098\u0eeb\n\u0098\3\u0099\3\u0099") - buf.write("\3\u0099\3\u009a\3\u009a\3\u009a\3\u009b\3\u009b\3\u009b") - buf.write("\3\u009b\3\u009b\3\u009b\3\u009b\3\u009b\3\u009b\3\u009b") - buf.write("\3\u009b\3\u009b\3\u009b\3\u009b\3\u009b\3\u009b\3\u009b") - buf.write("\3\u009b\3\u009b\3\u009b\3\u009b\7\u009b\u0f08\n\u009b") - buf.write("\f\u009b\16\u009b\u0f0b\13\u009b\5\u009b\u0f0d\n\u009b") - buf.write("\3\u009b\5\u009b\u0f10\n\u009b\3\u009c\3\u009c\3\u009d") - buf.write("\3\u009d\3\u009e\3\u009e\3\u009f\3\u009f\3\u009f\3\u009f") - buf.write("\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0") - buf.write("\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0") - buf.write("\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0") - buf.write("\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0") - buf.write("\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0") - buf.write("\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0") - buf.write("\7\u00a0\u0f46\n\u00a0\f\u00a0\16\u00a0\u0f49\13\u00a0") - buf.write("\3\u00a0\3\u00a0\5\u00a0\u0f4d\n\u00a0\3\u00a1\3\u00a1") - buf.write("\3\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a2\3\u00a2\3\u00a3") - buf.write("\3\u00a3\3\u00a3\3\u00a3\3\u00a3\3\u00a3\3\u00a3\3\u00a3") - buf.write("\3\u00a3\3\u00a3\3\u00a3\3\u00a3\3\u00a3\3\u00a3\3\u00a3") - buf.write("\3\u00a3\3\u00a3\3\u00a3\5\u00a3\u0f69\n\u00a3\3\u00a4") - buf.write("\3\u00a4\3\u00a4\3\u00a4\3\u00a4\3\u00a4\3\u00a4\3\u00a4") - buf.write("\3\u00a4\3\u00a4\3\u00a4\3\u00a4\5\u00a4\u0f77\n\u00a4") - buf.write("\3\u00a5\3\u00a5\3\u00a5\7\u00a5\u0f7c\n\u00a5\f\u00a5") - buf.write("\16\u00a5\u0f7f\13\u00a5\3\u00a5\5\u00a5\u0f82\n\u00a5") - buf.write("\3\u00a6\3\u00a6\3\u00a6\3\u00a6\5\u00a6\u0f88\n\u00a6") - buf.write("\3\u00a7\3\u00a7\3\u00a7\3\u00a7\3\u00a7\3\u00a7\5\u00a7") - buf.write("\u0f90\n\u00a7\5\u00a7\u0f92\n\u00a7\3\u00a8\3\u00a8\3") - buf.write("\u00a8\3\u00a8\3\u00a9\3\u00a9\3\u00a9\3\u00a9\3\u00a9") - buf.write("\5\u00a9\u0f9d\n\u00a9\3\u00aa\3\u00aa\3\u00aa\3\u00aa") - buf.write("\3\u00ab\3\u00ab\3\u00ab\3\u00ab\5\u00ab\u0fa7\n\u00ab") - buf.write("\3\u00ac\3\u00ac\3\u00ac\3\u00ac\3\u00ac\5\u00ac\u0fae") - buf.write("\n\u00ac\3\u00ad\3\u00ad\3\u00ad\3\u00ad\5\u00ad\u0fb4") - buf.write("\n\u00ad\3\u00ae\3\u00ae\3\u00ae\3\u00ae\3\u00af\3\u00af") - buf.write("\5\u00af\u0fbc\n\u00af\3\u00b0\3\u00b0\3\u00b0\5\u00b0") - buf.write("\u0fc1\n\u00b0\3\u00b0\3\u00b0\3\u00b0\3\u00b0\7\u00b0") - buf.write("\u0fc7\n\u00b0\f\u00b0\16\u00b0\u0fca\13\u00b0\3\u00b0") - buf.write("\3\u00b0\3\u00b0\7\u00b0\u0fcf\n\u00b0\f\u00b0\16\u00b0") - buf.write("\u0fd2\13\u00b0\3\u00b0\3\u00b0\3\u00b0\7\u00b0\u0fd7") - buf.write("\n\u00b0\f\u00b0\16\u00b0\u0fda\13\u00b0\3\u00b0\3\u00b0") - buf.write("\3\u00b0\7\u00b0\u0fdf\n\u00b0\f\u00b0\16\u00b0\u0fe2") - buf.write("\13\u00b0\3\u00b0\6\u00b0\u0fe5\n\u00b0\r\u00b0\16\u00b0") - buf.write("\u0fe6\5\u00b0\u0fe9\n\u00b0\3\u00b0\3\u00b0\5\u00b0\u0fed") - buf.write("\n\u00b0\3\u00b1\3\u00b1\3\u00b1\5\u00b1\u0ff2\n\u00b1") - buf.write("\3\u00b1\6\u00b1\u0ff5\n\u00b1\r\u00b1\16\u00b1\u0ff6") - buf.write("\3\u00b1\3\u00b1\6\u00b1\u0ffb\n\u00b1\r\u00b1\16\u00b1") - buf.write("\u0ffc\5\u00b1\u0fff\n\u00b1\3\u00b1\3\u00b1\3\u00b1\3") - buf.write("\u00b2\3\u00b2\3\u00b2\3\u00b2\6\u00b2\u1008\n\u00b2\r") - buf.write("\u00b2\16\u00b2\u1009\3\u00b2\7\u00b2\u100d\n\u00b2\f") - buf.write("\u00b2\16\u00b2\u1010\13\u00b2\3\u00b2\3\u00b2\6\u00b2") - buf.write("\u1014\n\u00b2\r\u00b2\16\u00b2\u1015\5\u00b2\u1018\n") - buf.write("\u00b2\3\u00b2\3\u00b2\3\u00b2\3\u00b3\3\u00b3\3\u00b3") - buf.write("\3\u00b4\3\u00b4\3\u00b4\3\u00b5\3\u00b5\3\u00b5\5\u00b5") - buf.write("\u1026\n\u00b5\3\u00b5\3\u00b5\6\u00b5\u102a\n\u00b5\r") - buf.write("\u00b5\16\u00b5\u102b\3\u00b5\3\u00b5\3\u00b5\5\u00b5") - buf.write("\u1031\n\u00b5\3\u00b6\3\u00b6\3\u00b6\5\u00b6\u1036\n") - buf.write("\u00b6\3\u00b6\3\u00b6\6\u00b6\u103a\n\u00b6\r\u00b6\16") - buf.write("\u00b6\u103b\3\u00b6\3\u00b6\3\u00b6\3\u00b6\3\u00b6\5") - buf.write("\u00b6\u1043\n\u00b6\3\u00b7\3\u00b7\3\u00b7\3\u00b8\3") - buf.write("\u00b8\3\u00b8\5\u00b8\u104b\n\u00b8\3\u00b8\3\u00b8\3") - buf.write("\u00b8\3\u00b8\6\u00b8\u1051\n\u00b8\r\u00b8\16\u00b8") - buf.write("\u1052\3\u00b8\3\u00b8\3\u00b8\5\u00b8\u1058\n\u00b8\3") - buf.write("\u00b9\3\u00b9\3\u00b9\3\u00b9\5\u00b9\u105e\n\u00b9\3") - buf.write("\u00b9\5\u00b9\u1061\n\u00b9\3\u00b9\3\u00b9\3\u00b9\3") - buf.write("\u00b9\3\u00b9\3\u00b9\5\u00b9\u1069\n\u00b9\3\u00ba\3") - buf.write("\u00ba\3\u00ba\3\u00ba\3\u00ba\5\u00ba\u1070\n\u00ba\3") - buf.write("\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb") - buf.write("\5\u00bb\u1079\n\u00bb\3\u00bb\5\u00bb\u107c\n\u00bb\3") - buf.write("\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bd") - buf.write("\3\u00bd\3\u00bd\3\u00bd\3\u00bd\3\u00bd\3\u00bd\7\u00bd") - buf.write("\u108b\n\u00bd\f\u00bd\16\u00bd\u108e\13\u00bd\3\u00bd") - buf.write("\3\u00bd\3\u00be\3\u00be\3\u00be\5\u00be\u1095\n\u00be") - buf.write("\3\u00be\3\u00be\3\u00be\3\u00be\3\u00be\3\u00be\5\u00be") - buf.write("\u109d\n\u00be\3\u00bf\3\u00bf\5\u00bf\u10a1\n\u00bf\3") - buf.write("\u00bf\3\u00bf\3\u00c0\3\u00c0\3\u00c0\5\u00c0\u10a8\n") - buf.write("\u00c0\3\u00c0\3\u00c0\6\u00c0\u10ac\n\u00c0\r\u00c0\16") - buf.write("\u00c0\u10ad\3\u00c1\3\u00c1\3\u00c1\3\u00c1\6\u00c1\u10b4") - buf.write("\n\u00c1\r\u00c1\16\u00c1\u10b5\3\u00c2\3\u00c2\3\u00c2") - buf.write("\3\u00c2\3\u00c2\7\u00c2\u10bd\n\u00c2\f\u00c2\16\u00c2") - buf.write("\u10c0\13\u00c2\3\u00c2\3\u00c2\3\u00c2\5\u00c2\u10c5") - buf.write("\n\u00c2\3\u00c2\3\u00c2\3\u00c2\7\u00c2\u10ca\n\u00c2") - buf.write("\f\u00c2\16\u00c2\u10cd\13\u00c2\3\u00c2\3\u00c2\3\u00c2") - buf.write("\3\u00c2\5\u00c2\u10d3\n\u00c2\3\u00c2\7\u00c2\u10d6\n") - buf.write("\u00c2\f\u00c2\16\u00c2\u10d9\13\u00c2\5\u00c2\u10db\n") - buf.write("\u00c2\5\u00c2\u10dd\n\u00c2\3\u00c2\3\u00c2\6\u00c2\u10e1") - buf.write("\n\u00c2\r\u00c2\16\u00c2\u10e2\5\u00c2\u10e5\n\u00c2") - buf.write("\3\u00c2\3\u00c2\7\u00c2\u10e9\n\u00c2\f\u00c2\16\u00c2") - buf.write("\u10ec\13\u00c2\5\u00c2\u10ee\n\u00c2\3\u00c3\3\u00c3") - buf.write("\3\u00c3\3\u00c3\3\u00c3\7\u00c3\u10f5\n\u00c3\f\u00c3") - buf.write("\16\u00c3\u10f8\13\u00c3\3\u00c3\3\u00c3\3\u00c3\5\u00c3") - buf.write("\u10fd\n\u00c3\3\u00c3\3\u00c3\3\u00c3\7\u00c3\u1102\n") - buf.write("\u00c3\f\u00c3\16\u00c3\u1105\13\u00c3\3\u00c3\3\u00c3") - buf.write("\3\u00c3\3\u00c3\5\u00c3\u110b\n\u00c3\3\u00c3\7\u00c3") - buf.write("\u110e\n\u00c3\f\u00c3\16\u00c3\u1111\13\u00c3\5\u00c3") - buf.write("\u1113\n\u00c3\5\u00c3\u1115\n\u00c3\3\u00c3\3\u00c3\6") - buf.write("\u00c3\u1119\n\u00c3\r\u00c3\16\u00c3\u111a\5\u00c3\u111d") - buf.write("\n\u00c3\3\u00c3\3\u00c3\7\u00c3\u1121\n\u00c3\f\u00c3") - buf.write("\16\u00c3\u1124\13\u00c3\5\u00c3\u1126\n\u00c3\3\u00c4") - buf.write("\3\u00c4\3\u00c4\5\u00c4\u112b\n\u00c4\3\u00c4\3\u00c4") - buf.write("\3\u00c4\7\u00c4\u1130\n\u00c4\f\u00c4\16\u00c4\u1133") - buf.write("\13\u00c4\3\u00c5\3\u00c5\3\u00c5\3\u00c5\7\u00c5\u1139") - buf.write("\n\u00c5\f\u00c5\16\u00c5\u113c\13\u00c5\3\u00c5\3\u00c5") - buf.write("\5\u00c5\u1140\n\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5") - buf.write("\3\u00c5\7\u00c5\u1147\n\u00c5\f\u00c5\16\u00c5\u114a") - buf.write("\13\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\5\u00c5\u1150") - buf.write("\n\u00c5\3\u00c5\7\u00c5\u1153\n\u00c5\f\u00c5\16\u00c5") - buf.write("\u1156\13\u00c5\5\u00c5\u1158\n\u00c5\5\u00c5\u115a\n") - buf.write("\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\7\u00c5\u1160\n") - buf.write("\u00c5\f\u00c5\16\u00c5\u1163\13\u00c5\5\u00c5\u1165\n") - buf.write("\u00c5\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6") - buf.write("\3\u00c6\3\u00c6\7\u00c6\u116f\n\u00c6\f\u00c6\16\u00c6") - buf.write("\u1172\13\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u1177") - buf.write("\n\u00c6\3\u00c7\3\u00c7\3\u00c7\3\u00c7\3\u00c7\7\u00c7") - buf.write("\u117e\n\u00c7\f\u00c7\16\u00c7\u1181\13\u00c7\3\u00c8") - buf.write("\3\u00c8\3\u00c8\3\u00c8\7\u00c8\u1187\n\u00c8\f\u00c8") - buf.write("\16\u00c8\u118a\13\u00c8\3\u00c8\3\u00c8\5\u00c8\u118e") - buf.write("\n\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\7\u00c8") - buf.write("\u1195\n\u00c8\f\u00c8\16\u00c8\u1198\13\u00c8\3\u00c8") - buf.write("\3\u00c8\3\u00c8\5\u00c8\u119d\n\u00c8\3\u00c8\3\u00c8") - buf.write("\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\7\u00c8\u11a6") - buf.write("\n\u00c8\f\u00c8\16\u00c8\u11a9\13\u00c8\5\u00c8\u11ab") - buf.write("\n\u00c8\3\u00c9\3\u00c9\3\u00c9\3\u00c9\3\u00c9\3\u00c9") - buf.write("\3\u00c9\3\u00c9\7\u00c9\u11b5\n\u00c9\f\u00c9\16\u00c9") - buf.write("\u11b8\13\u00c9\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca") - buf.write("\u11be\n\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u11c3\n") - buf.write("\u00ca\3\u00cb\3\u00cb\3\u00cb\3\u00cc\3\u00cc\3\u00cc") - buf.write("\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc") - buf.write("\5\u00cc\u11d2\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc") - buf.write("\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u11dd") - buf.write("\n\u00cc\3\u00cc\5\u00cc\u11e0\n\u00cc\3\u00cd\3\u00cd") - buf.write("\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\5\u00cd") - buf.write("\u11ea\n\u00cd\3\u00ce\3\u00ce\3\u00ce\3\u00ce\3\u00ce") - buf.write("\3\u00ce\3\u00ce\3\u00ce\5\u00ce\u11f4\n\u00ce\3\u00cf") - buf.write("\3\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00cf") - buf.write("\5\u00cf\u11fe\n\u00cf\3\u00d0\3\u00d0\3\u00d0\3\u00d1") - buf.write("\3\u00d1\3\u00d1\3\u00d1\3\u00d1\5\u00d1\u1208\n\u00d1") - buf.write("\3\u00d2\3\u00d2\5\u00d2\u120c\n\u00d2\3\u00d2\3\u00d2") - buf.write("\5\u00d2\u1210\n\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2") - buf.write("\3\u00d2\3\u00d2\3\u00d2\5\u00d2\u1219\n\u00d2\3\u00d2") - buf.write("\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2") - buf.write("\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2") - buf.write("\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2") - buf.write("\3\u00d2\3\u00d2\3\u00d2\5\u00d2\u1234\n\u00d2\3\u00d3") - buf.write("\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3") - buf.write("\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\5\u00d3\u1243") - buf.write("\n\u00d3\3\u00d4\3\u00d4\3\u00d4\3\u00d4\3\u00d5\3\u00d5") - buf.write("\5\u00d5\u124b\n\u00d5\3\u00d5\3\u00d5\3\u00d5\3\u00d6") - buf.write("\3\u00d6\3\u00d6\3\u00d6\7\u00d6\u1254\n\u00d6\f\u00d6") - buf.write("\16\u00d6\u1257\13\u00d6\3\u00d7\3\u00d7\3\u00d7\3\u00d7") - buf.write("\5\u00d7\u125d\n\u00d7\3\u00d8\3\u00d8\5\u00d8\u1261\n") - buf.write("\u00d8\3\u00d8\3\u00d8\3\u00d8\3\u00d9\3\u00d9\5\u00d9") - buf.write("\u1268\n\u00d9\3\u00d9\3\u00d9\3\u00d9\5\u00d9\u126d\n") - buf.write("\u00d9\3\u00d9\5\u00d9\u1270\n\u00d9\3\u00d9\5\u00d9\u1273") - buf.write("\n\u00d9\3\u00da\3\u00da\3\u00da\3\u00da\3\u00da\3\u00da") - buf.write("\3\u00da\5\u00da\u127c\n\u00da\3\u00db\3\u00db\5\u00db") - buf.write("\u1280\n\u00db\3\u00db\3\u00db\3\u00db\3\u00db\3\u00db") - buf.write("\3\u00db\3\u00db\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc") - buf.write("\3\u00dc\3\u00dd\3\u00dd\3\u00dd\3\u00dd\3\u00de\3\u00de") - buf.write("\3\u00de\3\u00de\3\u00de\3\u00de\3\u00de\3\u00de\3\u00de") - buf.write("\7\u00de\u129c\n\u00de\f\u00de\16\u00de\u129f\13\u00de") - buf.write("\3\u00de\3\u00de\3\u00de\3\u00de\5\u00de\u12a5\n\u00de") - buf.write("\3\u00de\3\u00de\5\u00de\u12a9\n\u00de\3\u00de\3\u00de") - buf.write("\3\u00de\3\u00de\3\u00de\5\u00de\u12b0\n\u00de\3\u00de") - buf.write("\5\u00de\u12b3\n\u00de\3\u00de\3\u00de\3\u00de\5\u00de") - buf.write("\u12b8\n\u00de\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df") - buf.write("\3\u00df\3\u00df\3\u00df\5\u00df\u12c2\n\u00df\3\u00df") - buf.write("\3\u00df\5\u00df\u12c6\n\u00df\3\u00df\3\u00df\3\u00df") - buf.write("\3\u00df\5\u00df\u12cc\n\u00df\3\u00df\5\u00df\u12cf\n") - buf.write("\u00df\3\u00df\3\u00df\3\u00df\5\u00df\u12d4\n\u00df\3") - buf.write("\u00df\3\u00df\5\u00df\u12d8\n\u00df\3\u00df\3\u00df\3") - buf.write("\u00df\3\u00df\3\u00df\5\u00df\u12df\n\u00df\3\u00df\5") - buf.write("\u00df\u12e2\n\u00df\3\u00df\3\u00df\3\u00df\3\u00df\5") - buf.write("\u00df\u12e8\n\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3") - buf.write("\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df") - buf.write("\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df") - buf.write("\3\u00df\3\u00df\3\u00df\3\u00df\5\u00df\u1300\n\u00df") - buf.write("\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df") - buf.write("\3\u00df\3\u00df\3\u00df\3\u00df\5\u00df\u130d\n\u00df") - buf.write("\3\u00df\5\u00df\u1310\n\u00df\3\u00df\3\u00df\3\u00df") - buf.write("\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\5\u00df\u131a") - buf.write("\n\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df") - buf.write("\5\u00df\u1322\n\u00df\3\u00df\3\u00df\5\u00df\u1326\n") - buf.write("\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\5\u00df") - buf.write("\u132d\n\u00df\3\u00df\5\u00df\u1330\n\u00df\3\u00df\3") - buf.write("\u00df\3\u00df\3\u00df\3\u00df\7\u00df\u1337\n\u00df\f") - buf.write("\u00df\16\u00df\u133a\13\u00df\3\u00df\3\u00df\3\u00df") - buf.write("\5\u00df\u133f\n\u00df\3\u00df\3\u00df\3\u00df\3\u00df") - buf.write("\5\u00df\u1345\n\u00df\3\u00df\3\u00df\3\u00df\3\u00df") - buf.write("\3\u00df\3\u00df\3\u00df\3\u00df\5\u00df\u134f\n\u00df") - buf.write("\5\u00df\u1351\n\u00df\3\u00e0\3\u00e0\3\u00e0\3\u00e0") - buf.write("\5\u00e0\u1357\n\u00e0\3\u00e0\5\u00e0\u135a\n\u00e0\3") - buf.write("\u00e0\5\u00e0\u135d\n\u00e0\3\u00e1\3\u00e1\3\u00e1\3") - buf.write("\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1") - buf.write("\5\u00e1\u1369\n\u00e1\3\u00e1\5\u00e1\u136c\n\u00e1\3") - buf.write("\u00e2\3\u00e2\3\u00e2\3\u00e2\5\u00e2\u1372\n\u00e2\3") - buf.write("\u00e3\5\u00e3\u1375\n\u00e3\3\u00e3\3\u00e3\3\u00e3\3") - buf.write("\u00e3\3\u00e3\3\u00e3\5\u00e3\u137d\n\u00e3\3\u00e3\3") - buf.write("\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\5\u00e3\u1385\n") - buf.write("\u00e3\3\u00e4\3\u00e4\3\u00e4\3\u00e4\5\u00e4\u138b\n") - buf.write("\u00e4\3\u00e4\3\u00e4\5\u00e4\u138f\n\u00e4\3\u00e5\3") - buf.write("\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5") - buf.write("\3\u00e5\3\u00e5\3\u00e5\3\u00e5\5\u00e5\u139d\n\u00e5") - buf.write("\3\u00e6\3\u00e6\3\u00e6\3\u00e7\3\u00e7\3\u00e7\3\u00e7") - buf.write("\3\u00e7\7\u00e7\u13a7\n\u00e7\f\u00e7\16\u00e7\u13aa") - buf.write("\13\u00e7\3\u00e7\3\u00e7\3\u00e7\3\u00e7\5\u00e7\u13b0") - buf.write("\n\u00e7\3\u00e7\5\u00e7\u13b3\n\u00e7\3\u00e7\3\u00e7") - buf.write("\3\u00e7\3\u00e8\3\u00e8\5\u00e8\u13ba\n\u00e8\3\u00e8") - buf.write("\3\u00e8\3\u00e8\7\u00e8\u13bf\n\u00e8\f\u00e8\16\u00e8") - buf.write("\u13c2\13\u00e8\3\u00e9\3\u00e9\5\u00e9\u13c6\n\u00e9") - buf.write("\3\u00e9\6\u00e9\u13c9\n\u00e9\r\u00e9\16\u00e9\u13ca") - buf.write("\3\u00ea\3\u00ea\3\u00ea\3\u00ea\3\u00ea\3\u00ea\3\u00ea") - buf.write("\7\u00ea\u13d4\n\u00ea\f\u00ea\16\u00ea\u13d7\13\u00ea") - buf.write("\3\u00eb\3\u00eb\3\u00eb\3\u00eb\3\u00ec\3\u00ec\3\u00ed") - buf.write("\3\u00ed\5\u00ed\u13e1\n\u00ed\3\u00ed\3\u00ed\3\u00ed") - buf.write("\3\u00ed\5\u00ed\u13e7\n\u00ed\3\u00ee\3\u00ee\3\u00ee") - buf.write("\5\u00ee\u13ec\n\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee") - buf.write("\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee") - buf.write("\5\u00ee\u13f9\n\u00ee\5\u00ee\u13fb\n\u00ee\3\u00ee\3") - buf.write("\u00ee\3\u00ee\5\u00ee\u1400\n\u00ee\3\u00ee\3\u00ee\3") - buf.write("\u00ee\5\u00ee\u1405\n\u00ee\5\u00ee\u1407\n\u00ee\3\u00ef") - buf.write("\3\u00ef\3\u00ef\3\u00ef\3\u00ef\5\u00ef\u140e\n\u00ef") - buf.write("\3\u00f0\3\u00f0\3\u00f0\3\u00f0\3\u00f0\5\u00f0\u1415") - buf.write("\n\u00f0\3\u00f0\5\u00f0\u1418\n\u00f0\3\u00f0\5\u00f0") - buf.write("\u141b\n\u00f0\3\u00f0\3\u00f0\3\u00f0\3\u00f0\5\u00f0") - buf.write("\u1421\n\u00f0\3\u00f0\3\u00f0\5\u00f0\u1425\n\u00f0\3") - buf.write("\u00f1\3\u00f1\3\u00f1\3\u00f1\5\u00f1\u142b\n\u00f1\3") - buf.write("\u00f2\3\u00f2\3\u00f2\3\u00f2\5\u00f2\u1431\n\u00f2\3") - buf.write("\u00f2\3\u00f2\3\u00f3\3\u00f3\3\u00f3\3\u00f4\3\u00f4") - buf.write("\3\u00f4\3\u00f5\3\u00f5\3\u00f5\3\u00f5\3\u00f5\5\u00f5") - buf.write("\u1440\n\u00f5\3\u00f5\3\u00f5\3\u00f5\5\u00f5\u1445\n") - buf.write("\u00f5\3\u00f6\3\u00f6\3\u00f6\3\u00f6\5\u00f6\u144b\n") - buf.write("\u00f6\3\u00f7\3\u00f7\3\u00f8\3\u00f8\3\u00f8\5\u00f8") - buf.write("\u1452\n\u00f8\5\u00f8\u1454\n\u00f8\3\u00f9\3\u00f9\3") - buf.write("\u00f9\3\u00f9\3\u00f9\5\u00f9\u145b\n\u00f9\3\u00f9\5") - buf.write("\u00f9\u145e\n\u00f9\3\u00fa\3\u00fa\3\u00fb\3\u00fb\3") - buf.write("\u00fc\3\u00fc\3\u00fc\3\u00fc\5\u00fc\u1468\n\u00fc\3") - buf.write("\u00fd\3\u00fd\5\u00fd\u146c\n\u00fd\3\u00fe\3\u00fe\3") - buf.write("\u00ff\3\u00ff\3\u00ff\3\u00ff\3\u00ff\3\u00ff\3\u00ff") - buf.write("\3\u00ff\3\u00ff\3\u00ff\3\u00ff\3\u00ff\3\u00ff\3\u00ff") - buf.write("\6\u00ff\u147e\n\u00ff\r\u00ff\16\u00ff\u147f\3\u0100") - buf.write("\3\u0100\3\u0100\3\u0100\3\u0100\5\u0100\u1487\n\u0100") - buf.write("\5\u0100\u1489\n\u0100\3\u0101\3\u0101\3\u0101\6\u0101") - buf.write("\u148e\n\u0101\r\u0101\16\u0101\u148f\5\u0101\u1492\n") - buf.write("\u0101\3\u0102\3\u0102\5\u0102\u1496\n\u0102\3\u0103\3") - buf.write("\u0103\3\u0103\5\u0103\u149b\n\u0103\3\u0104\3\u0104\3") - buf.write("\u0104\3\u0104\3\u0104\3\u0104\3\u0104\3\u0104\3\u0104") - buf.write("\5\u0104\u14a6\n\u0104\3\u0105\3\u0105\3\u0105\5\u0105") - buf.write("\u14ab\n\u0105\3\u0106\3\u0106\3\u0107\3\u0107\5\u0107") - buf.write("\u14b1\n\u0107\3\u0108\5\u0108\u14b4\n\u0108\3\u0108\3") - buf.write("\u0108\5\u0108\u14b8\n\u0108\3\u0108\6\u0108\u14bb\n\u0108") - buf.write("\r\u0108\16\u0108\u14bc\3\u0108\5\u0108\u14c0\n\u0108") - buf.write("\3\u0108\3\u0108\5\u0108\u14c4\n\u0108\3\u0108\3\u0108") - buf.write("\5\u0108\u14c8\n\u0108\5\u0108\u14ca\n\u0108\3\u0109\3") - buf.write("\u0109\3\u010a\5\u010a\u14cf\n\u010a\3\u010a\3\u010a\3") - buf.write("\u010b\5\u010b\u14d4\n\u010b\3\u010b\3\u010b\3\u010c\3") - buf.write("\u010c\3\u010c\3\u010c\3\u010c\3\u010c\3\u010c\3\u010c") - buf.write("\3\u010c\5\u010c\u14e1\n\u010c\3\u010c\5\u010c\u14e4\n") - buf.write("\u010c\3\u010d\3\u010d\5\u010d\u14e8\n\u010d\3\u010d\5") - buf.write("\u010d\u14eb\n\u010d\3\u010d\3\u010d\3\u010d\5\u010d\u14f0") - buf.write("\n\u010d\3\u010d\3\u010d\5\u010d\u14f4\n\u010d\3\u010d") - buf.write("\3\u010d\5\u010d\u14f8\n\u010d\3\u010d\5\u010d\u14fb\n") - buf.write("\u010d\3\u010d\5\u010d\u14fe\n\u010d\3\u010d\3\u010d\5") - buf.write("\u010d\u1502\n\u010d\3\u010d\5\u010d\u1505\n\u010d\3\u010d") - buf.write("\5\u010d\u1508\n\u010d\3\u010d\3\u010d\5\u010d\u150c\n") - buf.write("\u010d\3\u010d\5\u010d\u150f\n\u010d\3\u010d\5\u010d\u1512") - buf.write("\n\u010d\3\u010d\3\u010d\3\u010d\5\u010d\u1517\n\u010d") - buf.write("\3\u010d\3\u010d\3\u010d\3\u010d\3\u010d\7\u010d\u151e") - buf.write("\n\u010d\f\u010d\16\u010d\u1521\13\u010d\3\u010d\3\u010d") - buf.write("\5\u010d\u1525\n\u010d\3\u010d\3\u010d\3\u010d\5\u010d") - buf.write("\u152a\n\u010d\3\u010d\3\u010d\5\u010d\u152e\n\u010d\3") - buf.write("\u010d\5\u010d\u1531\n\u010d\3\u010e\3\u010e\5\u010e\u1535") - buf.write("\n\u010e\3\u010e\3\u010e\5\u010e\u1539\n\u010e\3\u010e") - buf.write("\3\u010e\3\u010e\5\u010e\u153e\n\u010e\3\u010e\3\u010e") - buf.write("\3\u010e\5\u010e\u1543\n\u010e\3\u010e\3\u010e\5\u010e") - buf.write("\u1547\n\u010e\5\u010e\u1549\n\u010e\3\u010f\3\u010f\3") - buf.write("\u010f\3\u010f\3\u0110\3\u0110\3\u0110\3\u0110\3\u0110") - buf.write("\3\u0110\3\u0111\3\u0111\3\u0111\3\u0111\5\u0111\u1559") - buf.write("\n\u0111\3\u0111\3\u0111\3\u0112\3\u0112\3\u0112\7\u0112") - buf.write("\u1560\n\u0112\f\u0112\16\u0112\u1563\13\u0112\3\u0113") - buf.write("\3\u0113\3\u0113\7\u0113\u1568\n\u0113\f\u0113\16\u0113") - buf.write("\u156b\13\u0113\3\u0114\3\u0114\3\u0114\3\u0114\7\u0114") - buf.write("\u1571\n\u0114\f\u0114\16\u0114\u1574\13\u0114\3\u0114") - buf.write("\3\u0114\3\u0115\3\u0115\3\u0115\7\u0115\u157b\n\u0115") - buf.write("\f\u0115\16\u0115\u157e\13\u0115\3\u0116\3\u0116\3\u0116") - buf.write("\7\u0116\u1583\n\u0116\f\u0116\16\u0116\u1586\13\u0116") - buf.write("\3\u0117\3\u0117\3\u0117\7\u0117\u158b\n\u0117\f\u0117") - buf.write("\16\u0117\u158e\13\u0117\3\u0118\3\u0118\3\u0118\7\u0118") - buf.write("\u1593\n\u0118\f\u0118\16\u0118\u1596\13\u0118\3\u0119") - buf.write("\3\u0119\3\u0119\7\u0119\u159b\n\u0119\f\u0119\16\u0119") - buf.write("\u159e\13\u0119\3\u011a\3\u011a\3\u011a\3\u011a\3\u011a") - buf.write("\3\u011a\5\u011a\u15a6\n\u011a\5\u011a\u15a8\n\u011a\3") - buf.write("\u011b\3\u011b\3\u011b\5\u011b\u15ad\n\u011b\3\u011b\5") - buf.write("\u011b\u15b0\n\u011b\3\u011b\3\u011b\3\u011b\5\u011b\u15b5") - buf.write("\n\u011b\3\u011b\5\u011b\u15b8\n\u011b\3\u011c\3\u011c") - buf.write("\5\u011c\u15bc\n\u011c\3\u011d\3\u011d\3\u011d\3\u011e") - buf.write("\3\u011e\3\u011e\3\u011e\3\u011f\3\u011f\3\u011f\3\u011f") - buf.write("\3\u011f\5\u011f\u15ca\n\u011f\3\u011f\3\u011f\3\u011f") - buf.write("\3\u011f\3\u011f\5\u011f\u15d1\n\u011f\3\u011f\3\u011f") - buf.write("\3\u011f\5\u011f\u15d6\n\u011f\3\u0120\3\u0120\3\u0120") - buf.write("\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120") - buf.write("\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120") - buf.write("\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120") - buf.write("\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\6\u0120") - buf.write("\u15f6\n\u0120\r\u0120\16\u0120\u15f7\3\u0120\3\u0120") - buf.write("\5\u0120\u15fc\n\u0120\3\u0120\3\u0120\3\u0120\3\u0120") - buf.write("\6\u0120\u1602\n\u0120\r\u0120\16\u0120\u1603\3\u0120") - buf.write("\3\u0120\5\u0120\u1608\n\u0120\3\u0120\3\u0120\3\u0120") - buf.write("\3\u0120\3\u0120\3\u0120\3\u0120\5\u0120\u1611\n\u0120") - buf.write("\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\5\u0120") - buf.write("\u1619\n\u0120\3\u0120\3\u0120\3\u0120\5\u0120\u161e\n") - buf.write("\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120") - buf.write("\5\u0120\u1626\n\u0120\3\u0120\3\u0120\3\u0120\5\u0120") - buf.write("\u162b\n\u0120\3\u0120\3\u0120\3\u0120\5\u0120\u1630\n") - buf.write("\u0120\5\u0120\u1632\n\u0120\3\u0120\3\u0120\3\u0120\3") - buf.write("\u0120\3\u0120\3\u0120\3\u0120\5\u0120\u163b\n\u0120\3") - buf.write("\u0120\3\u0120\3\u0120\5\u0120\u1640\n\u0120\3\u0120\3") - buf.write("\u0120\3\u0120\3\u0120\3\u0120\3\u0120\5\u0120\u1648\n") - buf.write("\u0120\3\u0120\3\u0120\3\u0120\5\u0120\u164d\n\u0120\3") - buf.write("\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\5\u0120") - buf.write("\u1655\n\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120") - buf.write("\3\u0120\5\u0120\u165d\n\u0120\3\u0120\5\u0120\u1660\n") - buf.write("\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120") - buf.write("\3\u0120\3\u0120\5\u0120\u166a\n\u0120\3\u0120\3\u0120") - buf.write("\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120") - buf.write("\5\u0120\u1675\n\u0120\3\u0121\3\u0121\3\u0121\3\u0121") - buf.write("\3\u0121\3\u0122\3\u0122\3\u0122\3\u0122\7\u0122\u1680") - buf.write("\n\u0122\f\u0122\16\u0122\u1683\13\u0122\3\u0122\3\u0122") - buf.write("\3\u0122\3\u0122\3\u0122\5\u0122\u168a\n\u0122\3\u0123") - buf.write("\3\u0123\5\u0123\u168e\n\u0123\3\u0124\3\u0124\3\u0124") - buf.write("\5\u0124\u1693\n\u0124\3\u0124\3\u0124\3\u0124\3\u0124") - buf.write("\3\u0124\3\u0124\3\u0124\5\u0124\u169c\n\u0124\3\u0124") - buf.write("\5\u0124\u169f\n\u0124\3\u0124\3\u0124\3\u0124\3\u0124") - buf.write("\3\u0124\3\u0124\3\u0124\3\u0124\3\u0124\3\u0124\3\u0124") - buf.write("\3\u0124\3\u0124\3\u0124\5\u0124\u16af\n\u0124\3\u0124") - buf.write("\3\u0124\3\u0124\3\u0124\3\u0124\3\u0124\5\u0124\u16b7") - buf.write("\n\u0124\3\u0124\3\u0124\3\u0124\3\u0124\3\u0124\3\u0124") - buf.write("\7\u0124\u16bf\n\u0124\f\u0124\16\u0124\u16c2\13\u0124") - buf.write("\5\u0124\u16c4\n\u0124\3\u0124\3\u0124\5\u0124\u16c8\n") - buf.write("\u0124\3\u0124\3\u0124\5\u0124\u16cc\n\u0124\3\u0125\3") - buf.write("\u0125\3\u0125\3\u0125\3\u0125\3\u0125\3\u0125\3\u0125") - buf.write("\3\u0125\3\u0125\3\u0125\3\u0125\3\u0125\3\u0125\3\u0125") - buf.write("\3\u0125\3\u0125\3\u0125\3\u0125\3\u0125\3\u0125\3\u0125") - buf.write("\3\u0125\5\u0125\u16e5\n\u0125\3\u0126\3\u0126\3\u0126") - buf.write("\3\u0126\3\u0126\3\u0127\3\u0127\3\u0127\3\u0127\5\u0127") - buf.write("\u16f0\n\u0127\3\u0127\3\u0127\3\u0127\3\u0127\3\u0127") - buf.write("\5\u0127\u16f7\n\u0127\7\u0127\u16f9\n\u0127\f\u0127\16") - buf.write("\u0127\u16fc\13\u0127\3\u0128\3\u0128\3\u0128\3\u0128") - buf.write("\5\u0128\u1702\n\u0128\3\u0129\3\u0129\3\u0129\3\u0129") - buf.write("\3\u0129\3\u0129\5\u0129\u170a\n\u0129\3\u0129\3\u0129") - buf.write("\3\u0129\5\u0129\u170f\n\u0129\3\u0129\3\u0129\3\u0129") - buf.write("\3\u0129\7\u0129\u1715\n\u0129\f\u0129\16\u0129\u1718") - buf.write("\13\u0129\3\u012a\3\u012a\3\u012a\5\u012a\u171d\n\u012a") - buf.write("\3\u012a\3\u012a\3\u012a\3\u012a\3\u012a\3\u012a\3\u012a") - buf.write("\3\u012a\5\u012a\u1727\n\u012a\3\u012a\3\u012a\3\u012a") - buf.write("\3\u012a\3\u012a\3\u012a\3\u012a\3\u012a\3\u012a\3\u012a") - buf.write("\3\u012a\5\u012a\u1734\n\u012a\3\u012a\3\u012a\3\u012a") - buf.write("\3\u012a\5\u012a\u173a\n\u012a\3\u012a\3\u012a\3\u012a") - buf.write("\3\u012a\5\u012a\u1740\n\u012a\3\u012a\3\u012a\3\u012a") - buf.write("\3\u012a\3\u012a\3\u012a\3\u012a\3\u012a\3\u012a\3\u012a") - buf.write("\3\u012a\3\u012a\3\u012a\3\u012a\5\u012a\u1750\n\u012a") - buf.write("\3\u012a\3\u012a\3\u012a\3\u012a\5\u012a\u1756\n\u012a") - buf.write("\7\u012a\u1758\n\u012a\f\u012a\16\u012a\u175b\13\u012a") - buf.write("\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b") - buf.write("\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b") - buf.write("\7\u012b\u176b\n\u012b\f\u012b\16\u012b\u176e\13\u012b") - buf.write("\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b") - buf.write("\6\u012b\u1777\n\u012b\r\u012b\16\u012b\u1778\3\u012b") - buf.write("\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b") - buf.write("\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b") - buf.write("\5\u012b\u178a\n\u012b\3\u012b\3\u012b\3\u012b\3\u012b") - buf.write("\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b") - buf.write("\7\u012b\u1797\n\u012b\f\u012b\16\u012b\u179a\13\u012b") - buf.write("\3\u012c\3\u012c\3\u012d\3\u012d\3\u012d\3\u012d\3\u012d") - buf.write("\3\u012d\3\u012d\3\u012d\3\u012d\3\u012d\3\u012d\3\u012d") - buf.write("\3\u012d\3\u012d\5\u012d\u17ac\n\u012d\3\u012e\3\u012e") - buf.write("\3\u012e\3\u012e\3\u012e\3\u012e\3\u012e\5\u012e\u17b5") - buf.write("\n\u012e\3\u012f\3\u012f\3\u012f\3\u012f\3\u012f\3\u012f") - buf.write("\3\u012f\5\u012f\u17be\n\u012f\3\u0130\3\u0130\3\u0131") - buf.write("\3\u0131\3\u0132\3\u0132\3\u0133\3\u0133\3\u0134\3\u0134") - buf.write("\3\u0135\3\u0135\3\u0136\3\u0136\3\u0137\3\u0137\3\u0137") - buf.write("\2\5\u0250\u0252\u0254\u0138\2\4\6\b\n\f\16\20\22\24\26") - buf.write("\30\32\34\36 \"$&(*,.\60\62\64\668:<>@BDFHJLNPRTVXZ\\") - buf.write("^`bdfhjlnprtvxz|~\u0080\u0082\u0084\u0086\u0088\u008a") - buf.write("\u008c\u008e\u0090\u0092\u0094\u0096\u0098\u009a\u009c") - buf.write("\u009e\u00a0\u00a2\u00a4\u00a6\u00a8\u00aa\u00ac\u00ae") - buf.write("\u00b0\u00b2\u00b4\u00b6\u00b8\u00ba\u00bc\u00be\u00c0") - buf.write("\u00c2\u00c4\u00c6\u00c8\u00ca\u00cc\u00ce\u00d0\u00d2") - buf.write("\u00d4\u00d6\u00d8\u00da\u00dc\u00de\u00e0\u00e2\u00e4") - buf.write("\u00e6\u00e8\u00ea\u00ec\u00ee\u00f0\u00f2\u00f4\u00f6") - buf.write("\u00f8\u00fa\u00fc\u00fe\u0100\u0102\u0104\u0106\u0108") - buf.write("\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a") - buf.write("\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c") - buf.write("\u012e\u0130\u0132\u0134\u0136\u0138\u013a\u013c\u013e") - buf.write("\u0140\u0142\u0144\u0146\u0148\u014a\u014c\u014e\u0150") - buf.write("\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162") - buf.write("\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174") - buf.write("\u0176\u0178\u017a\u017c\u017e\u0180\u0182\u0184\u0186") - buf.write("\u0188\u018a\u018c\u018e\u0190\u0192\u0194\u0196\u0198") - buf.write("\u019a\u019c\u019e\u01a0\u01a2\u01a4\u01a6\u01a8\u01aa") - buf.write("\u01ac\u01ae\u01b0\u01b2\u01b4\u01b6\u01b8\u01ba\u01bc") - buf.write("\u01be\u01c0\u01c2\u01c4\u01c6\u01c8\u01ca\u01cc\u01ce") - buf.write("\u01d0\u01d2\u01d4\u01d6\u01d8\u01da\u01dc\u01de\u01e0") - buf.write("\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec\u01ee\u01f0\u01f2") - buf.write("\u01f4\u01f6\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204") - buf.write("\u0206\u0208\u020a\u020c\u020e\u0210\u0212\u0214\u0216") - buf.write("\u0218\u021a\u021c\u021e\u0220\u0222\u0224\u0226\u0228") - buf.write("\u022a\u022c\u022e\u0230\u0232\u0234\u0236\u0238\u023a") - buf.write("\u023c\u023e\u0240\u0242\u0244\u0246\u0248\u024a\u024c") - buf.write("\u024e\u0250\u0252\u0254\u0256\u0258\u025a\u025c\u025e") - buf.write("\u0260\u0262\u0264\u0266\u0268\u026a\u026c\2u\4\2&&\u0086") - buf.write("\u0086\4\2\u01a7\u01a7\u01ac\u01ac\5\2@@\u008c\u008c\u00a0") - buf.write("\u00a0\5\2))\u0128\u0128\u0166\u0166\6\2))\u0147\u0147") - buf.write("\u01a6\u01a6\u01ea\u01ea\4\2\u019e\u019e\u03ca\u03ca\4") - buf.write("\2GG\177\177\4\2\21\21\u00fe\u00fe\5\2++MM\u00a3\u00a3") - buf.write("\4\2\u0154\u0154\u01be\u01be\5\2\u0197\u0197\u020e\u020e") - buf.write("\u0214\u0214\4\2\u012e\u012e\u016a\u016a\4\2\u0110\u0110") - buf.write("\u0178\u0178\4\2\u010e\u010e\u015d\u015d\5\2HHLLpp\5\2") - buf.write("))\u0138\u0138\u0152\u0152\5\2))\u0134\u0134\u026e\u026e") - buf.write("\4\2\u0204\u0204\u0222\u0222\4\2IISS\5\2\u0156\u0156\u01b5") - buf.write("\u01b5\u01ec\u01ec\4\2@@\u008c\u008c\3\2\u03c0\u03c1\5") - buf.write("\2\u0151\u0151\u0173\u0173\u01a4\u01a4\4\2))\u03c0\u03c1") - buf.write("\b\2))\u011e\u011e\u0120\u0120\u0138\u0138\u0152\u0152") - buf.write("\u01cb\u01cb\3\2\u03c1\u03c2\4\2\t\t\61\61\4\2\17\17\u009a") - buf.write("\u009a\4\2\u00ab\u00ab\u0225\u0225\4\2\26\26\u0081\u0081") - buf.write("\5\2**EE``\4\2``\u0122\u0122\4\2\u011a\u011a\u014e\u014e") - buf.write("\4\2\\\\\u01e2\u01e2\4\2**``\4\2\n\n//\4\2\u00a7\u00a7") - buf.write("\u021f\u021f\6\2\u0151\u0151\u0173\u0173\u01a3\u01a3\u01c1") - buf.write("\u01c1\4\2\u0151\u0151\u01a3\u01a3\4\2\20\20,,\5\2==G") - buf.write("G\u00a5\u00a5\4\2##KK\4\2XX\u0084\u0084\4\2\n\n/\60\3") - buf.write("\2\u01f9\u01fa\4\2\u0159\u0159\u01e8\u01e8\4\2\u00c1\u00c1") - buf.write("\u017b\u017b\7\2aa\u0180\u0181\u0183\u0183\u0187\u018f") - buf.write("\u01cd\u01cd\6\2\u017d\u017e\u0182\u0182\u0184\u0185\u01ce") - buf.write("\u01ce\5\2bb\u017c\u017c\u0186\u0186\4\2\u016c\u016c\u01fb") - buf.write("\u01fb\4\2\u01f5\u01f5\u01f7\u01f7\4\2\u0108\u0108\u01fc") - buf.write("\u01fc\4\2RR\u01dc\u01dc\4\2\61\61\u012c\u012c\5\2 8") - buf.write("8\u009e\u009e\5\2uu\u0097\u0097\u0157\u0157\4\2^^\u00a1") - buf.write("\u00a1\4\2\u0116\u0116\u01ed\u01ed\4\2\'\'\u0221\u0221") - buf.write("\4\2hh\u0178\u0178\4\2\u014a\u014a\u01c7\u01c7\6\2\u00b3") - buf.write("\u00b3\u00b5\u00b5\u00b8\u00b8\u0205\u0205\4\2\u0109\u0109") - buf.write("\u01cf\u01cf\4\2??HH\b\2uu\u0097\u0097\u009c\u009c\u0143") - buf.write("\u0143\u0157\u0157\u0221\u0221\4\2\u019d\u019d\u0201\u0201") - buf.write("\4\2\u0140\u0140\u0224\u0224\4\2uu\u0157\u0157\5\2IIT") - buf.write("T\u0164\u0164\4\2\u0201\u0201\u0220\u0220\4\2\u0123\u0123") - buf.write("\u01c6\u01c6\b\2\u00c1\u00c1\u013d\u013d\u013f\u013f\u0158") - buf.write("\u0158\u01cc\u01cc\u01ee\u01ee\4\2,-99\5\2\u014a\u014a") - buf.write("\u01b7\u01b7\u02c6\u02c6\4\2\u0170\u0170\u0210\u0210\4") - buf.write("\2\u03d2\u03d2\u03d4\u03d4\3\2\u03d5\u03d6\5\2\u0269\u0273") - buf.write("\u03ca\u03ca\u03d3\u03d3\4\2\u03c0\u03c2\u03cb\u03cb\4") - buf.write("\2::\u009d\u009d\4\2ii\u03ce\u03ce\4\2\u00bf\u00c0\u00c7") - buf.write("\u00ca\3\2\u00af\u00b4\3\2\u00b5\u00b7\3\2\u00b8\u00b9") - buf.write("\6\2\u00ba\u00ba\u00c3\u00c6\u00cc\u00cc\u010c\u010d\5") - buf.write("\2\u00bb\u00be\u00c1\u00c2\u010a\u010a\4\2\u0089\u0089") - buf.write("\u00cb\u00cb\3\2\u0278\u027e\4\2\u00c1\u00c1\u01a1\u01a1") - buf.write("\4\2\u00ba\u00bb\u00bd\u00bd\4\2\u00a2\u00a2\u01eb\u01eb") - buf.write("\4\2\u00eb\u00ec\u00f2\u00f2\4\2$$\u00e9\u00ec\3\2\u00f5") - buf.write("\u00f6\5\2\23\23VV\u009b\u009b\4\2\u00bf\u00bf\u00c1\u00c1") - buf.write("\5\2\20\20,,\u0332\u0332\5\2\u00d8\u00d8\u00de\u00df\u00e4") - buf.write("\u00e4\5\2\u00d9\u00db\u00e0\u00e3\u00e5\u00e7\4\2\u01aa") - buf.write("\u01aa\u01b8\u01b8\4\2gg\u03b5\u03b5\5\2::\u009d\u009d") - buf.write("\u0218\u0218\4\2{{\u0085\u0085\5\2\n\n\u0101\u0101\u01f1") - buf.write("\u01f1\6\2gg\u03ad\u03ad\u03af\u03af\u03b5\u03b6\3\2\u03aa") - buf.write("\u03b1\3\2\u0241\u0268\3\2\u0274\u0277\3\2\u0238\u0240") - buf.write("\3\2\u0230\u0237\5\2\u00ba\u00be\u00c8\u00c8\u00cb\u00cb") - buf.write("!\2\u00cc\u00cc\u00fc\u010e\u0110\u0116\u0118\u012f\u0131") - buf.write("\u013a\u013c\u0148\u014a\u0152\u0154\u0154\u0156\u0157") - buf.write("\u0159\u015b\u015d\u015d\u015f\u015f\u0161\u0167\u0169") - buf.write("\u016f\u0171\u019a\u019c\u01a2\u01a4\u01ad\u01af\u01b9") - buf.write("\u01bb\u01cb\u01cd\u01da\u01dc\u01ed\u01ef\u01f1\u01f3") - buf.write("\u0203\u0205\u020f\u0211\u0211\u0213\u0216\u0218\u0218") - buf.write("\u021a\u021b\u021e\u0221\u0223\u022a\u026e\u026e\13\2") - buf.write("&&XX\u0084\u0084\u00ba\u00bc\u00be\u00be\u00dc\u00dc\u00f4") - buf.write("\u00f4\u0230\u0237\u0278\u03a0\2\u1bd6\2\u026f\3\2\2\2") - buf.write("\4\u027f\3\2\2\2\6\u0293\3\2\2\2\b\u0295\3\2\2\2\n\u02ba") - buf.write("\3\2\2\2\f\u02c6\3\2\2\2\16\u02d1\3\2\2\2\20\u02e2\3\2") - buf.write("\2\2\22\u02e7\3\2\2\2\24\u02f3\3\2\2\2\26\u030e\3\2\2") - buf.write("\2\30\u0314\3\2\2\2\32\u0316\3\2\2\2\34\u0322\3\2\2\2") - buf.write("\36\u0340\3\2\2\2 \u0361\3\2\2\2\"\u0394\3\2\2\2$\u03ae") - buf.write("\3\2\2\2&\u03ca\3\2\2\2(\u042b\3\2\2\2*\u042d\3\2\2\2") - buf.write(",\u043f\3\2\2\2.\u047c\3\2\2\2\60\u048f\3\2\2\2\62\u04c7") - buf.write("\3\2\2\2\64\u04c9\3\2\2\2\66\u04f5\3\2\2\28\u04fb\3\2") - buf.write("\2\2:\u04fd\3\2\2\2<\u0512\3\2\2\2>\u0519\3\2\2\2@\u051b") - buf.write("\3\2\2\2B\u0529\3\2\2\2D\u052b\3\2\2\2F\u052f\3\2\2\2") - buf.write("H\u0549\3\2\2\2J\u0559\3\2\2\2L\u055b\3\2\2\2N\u056b\3") - buf.write("\2\2\2P\u056d\3\2\2\2R\u0595\3\2\2\2T\u05d9\3\2\2\2V\u05db") - buf.write("\3\2\2\2X\u05f5\3\2\2\2Z\u05fd\3\2\2\2\\\u061b\3\2\2\2") - buf.write("^\u06a9\3\2\2\2`\u06ab\3\2\2\2b\u06ae\3\2\2\2d\u06f8\3") - buf.write("\2\2\2f\u070f\3\2\2\2h\u077e\3\2\2\2j\u0783\3\2\2\2l\u0785") - buf.write("\3\2\2\2n\u078f\3\2\2\2p\u07c4\3\2\2\2r\u07d8\3\2\2\2") - buf.write("t\u07da\3\2\2\2v\u07fd\3\2\2\2x\u0806\3\2\2\2z\u080d\3") - buf.write("\2\2\2|\u0824\3\2\2\2~\u082d\3\2\2\2\u0080\u083c\3\2\2") - buf.write("\2\u0082\u0850\3\2\2\2\u0084\u0864\3\2\2\2\u0086\u09de") - buf.write("\3\2\2\2\u0088\u09e0\3\2\2\2\u008a\u09e7\3\2\2\2\u008c") - buf.write("\u09ee\3\2\2\2\u008e\u0a04\3\2\2\2\u0090\u0a0c\3\2\2\2") - buf.write("\u0092\u0a13\3\2\2\2\u0094\u0a1a\3\2\2\2\u0096\u0a21\3") - buf.write("\2\2\2\u0098\u0a2d\3\2\2\2\u009a\u0a37\3\2\2\2\u009c\u0a3e") - buf.write("\3\2\2\2\u009e\u0a4e\3\2\2\2\u00a0\u0a58\3\2\2\2\u00a2") - buf.write("\u0a5c\3\2\2\2\u00a4\u0a62\3\2\2\2\u00a6\u0a6e\3\2\2\2") - buf.write("\u00a8\u0a70\3\2\2\2\u00aa\u0a77\3\2\2\2\u00ac\u0a79\3") - buf.write("\2\2\2\u00ae\u0aab\3\2\2\2\u00b0\u0af5\3\2\2\2\u00b2\u0b30") - buf.write("\3\2\2\2\u00b4\u0b88\3\2\2\2\u00b6\u0b8c\3\2\2\2\u00b8") - buf.write("\u0b9d\3\2\2\2\u00ba\u0b9f\3\2\2\2\u00bc\u0ba7\3\2\2\2") - buf.write("\u00be\u0baf\3\2\2\2\u00c0\u0bb1\3\2\2\2\u00c2\u0bcf\3") - buf.write("\2\2\2\u00c4\u0c06\3\2\2\2\u00c6\u0c0f\3\2\2\2\u00c8\u0c23") - buf.write("\3\2\2\2\u00ca\u0c2f\3\2\2\2\u00cc\u0c33\3\2\2\2\u00ce") - buf.write("\u0c54\3\2\2\2\u00d0\u0c69\3\2\2\2\u00d2\u0c73\3\2\2\2") - buf.write("\u00d4\u0c77\3\2\2\2\u00d6\u0c90\3\2\2\2\u00d8\u0cba\3") - buf.write("\2\2\2\u00da\u0cbc\3\2\2\2\u00dc\u0ccb\3\2\2\2\u00de\u0cf9") - buf.write("\3\2\2\2\u00e0\u0d03\3\2\2\2\u00e2\u0d0d\3\2\2\2\u00e4") - buf.write("\u0d48\3\2\2\2\u00e6\u0d4a\3\2\2\2\u00e8\u0d5b\3\2\2\2") - buf.write("\u00ea\u0d61\3\2\2\2\u00ec\u0d71\3\2\2\2\u00ee\u0d75\3") - buf.write("\2\2\2\u00f0\u0d9b\3\2\2\2\u00f2\u0d9d\3\2\2\2\u00f4\u0da0") - buf.write("\3\2\2\2\u00f6\u0dc7\3\2\2\2\u00f8\u0dd5\3\2\2\2\u00fa") - buf.write("\u0ddd\3\2\2\2\u00fc\u0ddf\3\2\2\2\u00fe\u0df9\3\2\2\2") - buf.write("\u0100\u0dfd\3\2\2\2\u0102\u0e0a\3\2\2\2\u0104\u0e16\3") - buf.write("\2\2\2\u0106\u0e1a\3\2\2\2\u0108\u0e2b\3\2\2\2\u010a\u0e3c") - buf.write("\3\2\2\2\u010c\u0e3f\3\2\2\2\u010e\u0e49\3\2\2\2\u0110") - buf.write("\u0e4d\3\2\2\2\u0112\u0e57\3\2\2\2\u0114\u0e5a\3\2\2\2") - buf.write("\u0116\u0e5f\3\2\2\2\u0118\u0e73\3\2\2\2\u011a\u0e75\3") - buf.write("\2\2\2\u011c\u0e86\3\2\2\2\u011e\u0e8f\3\2\2\2\u0120\u0e98") - buf.write("\3\2\2\2\u0122\u0e9a\3\2\2\2\u0124\u0ea8\3\2\2\2\u0126") - buf.write("\u0eb3\3\2\2\2\u0128\u0ebc\3\2\2\2\u012a\u0ebf\3\2\2\2") - buf.write("\u012c\u0ec7\3\2\2\2\u012e\u0ee0\3\2\2\2\u0130\u0eec\3") - buf.write("\2\2\2\u0132\u0eef\3\2\2\2\u0134\u0f0f\3\2\2\2\u0136\u0f11") - buf.write("\3\2\2\2\u0138\u0f13\3\2\2\2\u013a\u0f15\3\2\2\2\u013c") - buf.write("\u0f17\3\2\2\2\u013e\u0f4c\3\2\2\2\u0140\u0f4e\3\2\2\2") - buf.write("\u0142\u0f54\3\2\2\2\u0144\u0f68\3\2\2\2\u0146\u0f76\3") - buf.write("\2\2\2\u0148\u0f81\3\2\2\2\u014a\u0f83\3\2\2\2\u014c\u0f89") - buf.write("\3\2\2\2\u014e\u0f93\3\2\2\2\u0150\u0f97\3\2\2\2\u0152") - buf.write("\u0f9e\3\2\2\2\u0154\u0fa2\3\2\2\2\u0156\u0fa8\3\2\2\2") - buf.write("\u0158\u0faf\3\2\2\2\u015a\u0fb5\3\2\2\2\u015c\u0fbb\3") - buf.write("\2\2\2\u015e\u0fc0\3\2\2\2\u0160\u0fee\3\2\2\2\u0162\u1003") - buf.write("\3\2\2\2\u0164\u101c\3\2\2\2\u0166\u101f\3\2\2\2\u0168") - buf.write("\u1025\3\2\2\2\u016a\u1035\3\2\2\2\u016c\u1044\3\2\2\2") - buf.write("\u016e\u104a\3\2\2\2\u0170\u1068\3\2\2\2\u0172\u106a\3") - buf.write("\2\2\2\u0174\u1071\3\2\2\2\u0176\u107d\3\2\2\2\u0178\u1083") - buf.write("\3\2\2\2\u017a\u109c\3\2\2\2\u017c\u10a0\3\2\2\2\u017e") - buf.write("\u10a4\3\2\2\2\u0180\u10af\3\2\2\2\u0182\u10ed\3\2\2\2") - buf.write("\u0184\u1125\3\2\2\2\u0186\u1127\3\2\2\2\u0188\u1134\3") - buf.write("\2\2\2\u018a\u1166\3\2\2\2\u018c\u1178\3\2\2\2\u018e\u11aa") - buf.write("\3\2\2\2\u0190\u11ac\3\2\2\2\u0192\u11b9\3\2\2\2\u0194") - buf.write("\u11c4\3\2\2\2\u0196\u11df\3\2\2\2\u0198\u11e9\3\2\2\2") - buf.write("\u019a\u11f3\3\2\2\2\u019c\u11f5\3\2\2\2\u019e\u11ff\3") - buf.write("\2\2\2\u01a0\u1202\3\2\2\2\u01a2\u1233\3\2\2\2\u01a4\u1242") - buf.write("\3\2\2\2\u01a6\u1244\3\2\2\2\u01a8\u1248\3\2\2\2\u01aa") - buf.write("\u124f\3\2\2\2\u01ac\u1258\3\2\2\2\u01ae\u125e\3\2\2\2") - buf.write("\u01b0\u1265\3\2\2\2\u01b2\u127b\3\2\2\2\u01b4\u127d\3") - buf.write("\2\2\2\u01b6\u1288\3\2\2\2\u01b8\u128e\3\2\2\2\u01ba\u12b7") - buf.write("\3\2\2\2\u01bc\u1350\3\2\2\2\u01be\u135c\3\2\2\2\u01c0") - buf.write("\u136b\3\2\2\2\u01c2\u1371\3\2\2\2\u01c4\u1384\3\2\2\2") - buf.write("\u01c6\u138e\3\2\2\2\u01c8\u139c\3\2\2\2\u01ca\u139e\3") - buf.write("\2\2\2\u01cc\u13a1\3\2\2\2\u01ce\u13b7\3\2\2\2\u01d0\u13c3") - buf.write("\3\2\2\2\u01d2\u13cc\3\2\2\2\u01d4\u13d8\3\2\2\2\u01d6") - buf.write("\u13dc\3\2\2\2\u01d8\u13de\3\2\2\2\u01da\u1406\3\2\2\2") - buf.write("\u01dc\u140d\3\2\2\2\u01de\u140f\3\2\2\2\u01e0\u1426\3") - buf.write("\2\2\2\u01e2\u142c\3\2\2\2\u01e4\u1434\3\2\2\2\u01e6\u1437") - buf.write("\3\2\2\2\u01e8\u1444\3\2\2\2\u01ea\u1446\3\2\2\2\u01ec") - buf.write("\u144c\3\2\2\2\u01ee\u144e\3\2\2\2\u01f0\u1455\3\2\2\2") - buf.write("\u01f2\u145f\3\2\2\2\u01f4\u1461\3\2\2\2\u01f6\u1467\3") - buf.write("\2\2\2\u01f8\u146b\3\2\2\2\u01fa\u146d\3\2\2\2\u01fc\u146f") - buf.write("\3\2\2\2\u01fe\u1481\3\2\2\2\u0200\u1491\3\2\2\2\u0202") - buf.write("\u1495\3\2\2\2\u0204\u149a\3\2\2\2\u0206\u14a5\3\2\2\2") - buf.write("\u0208\u14aa\3\2\2\2\u020a\u14ac\3\2\2\2\u020c\u14b0\3") - buf.write("\2\2\2\u020e\u14c9\3\2\2\2\u0210\u14cb\3\2\2\2\u0212\u14ce") - buf.write("\3\2\2\2\u0214\u14d3\3\2\2\2\u0216\u14e3\3\2\2\2\u0218") - buf.write("\u1530\3\2\2\2\u021a\u1548\3\2\2\2\u021c\u154a\3\2\2\2") - buf.write("\u021e\u154e\3\2\2\2\u0220\u1554\3\2\2\2\u0222\u155c\3") - buf.write("\2\2\2\u0224\u1564\3\2\2\2\u0226\u156c\3\2\2\2\u0228\u1577") - buf.write("\3\2\2\2\u022a\u157f\3\2\2\2\u022c\u1587\3\2\2\2\u022e") - buf.write("\u158f\3\2\2\2\u0230\u1597\3\2\2\2\u0232\u15a7\3\2\2\2") - buf.write("\u0234\u15b7\3\2\2\2\u0236\u15bb\3\2\2\2\u0238\u15bd\3") - buf.write("\2\2\2\u023a\u15c0\3\2\2\2\u023c\u15d5\3\2\2\2\u023e\u1674") - buf.write("\3\2\2\2\u0240\u1676\3\2\2\2\u0242\u1689\3\2\2\2\u0244") - buf.write("\u168b\3\2\2\2\u0246\u16cb\3\2\2\2\u0248\u16e4\3\2\2\2") - buf.write("\u024a\u16e6\3\2\2\2\u024c\u16ef\3\2\2\2\u024e\u1701\3") - buf.write("\2\2\2\u0250\u170e\3\2\2\2\u0252\u1719\3\2\2\2\u0254\u1789") - buf.write("\3\2\2\2\u0256\u179b\3\2\2\2\u0258\u17ab\3\2\2\2\u025a") - buf.write("\u17b4\3\2\2\2\u025c\u17bd\3\2\2\2\u025e\u17bf\3\2\2\2") - buf.write("\u0260\u17c1\3\2\2\2\u0262\u17c3\3\2\2\2\u0264\u17c5\3") - buf.write("\2\2\2\u0266\u17c7\3\2\2\2\u0268\u17c9\3\2\2\2\u026a\u17cb") - buf.write("\3\2\2\2\u026c\u17cd\3\2\2\2\u026e\u0270\5\4\3\2\u026f") - buf.write("\u026e\3\2\2\2\u026f\u0270\3\2\2\2\u0270\u0272\3\2\2\2") - buf.write("\u0271\u0273\7\u03ae\2\2\u0272\u0271\3\2\2\2\u0272\u0273") - buf.write("\3\2\2\2\u0273\u0274\3\2\2\2\u0274\u0275\7\2\2\3\u0275") - buf.write("\3\3\2\2\2\u0276\u0278\5\6\4\2\u0277\u0279\7\u03ae\2\2") - buf.write("\u0278\u0277\3\2\2\2\u0278\u0279\3\2\2\2\u0279\u027a\3") - buf.write("\2\2\2\u027a\u027b\7\u03be\2\2\u027b\u027e\3\2\2\2\u027c") - buf.write("\u027e\5\b\5\2\u027d\u0276\3\2\2\2\u027d\u027c\3\2\2\2") - buf.write("\u027e\u0281\3\2\2\2\u027f\u027d\3\2\2\2\u027f\u0280\3") - buf.write("\2\2\2\u0280\u028a\3\2\2\2\u0281\u027f\3\2\2\2\u0282\u0287") - buf.write("\5\6\4\2\u0283\u0285\7\u03ae\2\2\u0284\u0283\3\2\2\2\u0284") - buf.write("\u0285\3\2\2\2\u0285\u0286\3\2\2\2\u0286\u0288\7\u03be") - buf.write("\2\2\u0287\u0284\3\2\2\2\u0287\u0288\3\2\2\2\u0288\u028b") - buf.write("\3\2\2\2\u0289\u028b\5\b\5\2\u028a\u0282\3\2\2\2\u028a") - buf.write("\u0289\3\2\2\2\u028b\5\3\2\2\2\u028c\u0294\5\n\6\2\u028d") - buf.write("\u0294\5\f\7\2\u028e\u0294\5\16\b\2\u028f\u0294\5\20\t") - buf.write("\2\u0290\u0294\5\22\n\2\u0291\u0294\5\26\f\2\u0292\u0294") - buf.write("\5\30\r\2\u0293\u028c\3\2\2\2\u0293\u028d\3\2\2\2\u0293") - buf.write("\u028e\3\2\2\2\u0293\u028f\3\2\2\2\u0293\u0290\3\2\2\2") - buf.write("\u0293\u0291\3\2\2\2\u0293\u0292\3\2\2\2\u0294\7\3\2\2") - buf.write("\2\u0295\u0296\7\u03be\2\2\u0296\t\3\2\2\2\u0297\u02bb") - buf.write("\5\32\16\2\u0298\u02bb\5\34\17\2\u0299\u02bb\5\36\20\2") - buf.write("\u029a\u02bb\5 \21\2\u029b\u02bb\5\"\22\2\u029c\u02bb") - buf.write("\5$\23\2\u029d\u02bb\5&\24\2\u029e\u02bb\5(\25\2\u029f") - buf.write("\u02bb\5*\26\2\u02a0\u02bb\5,\27\2\u02a1\u02bb\5.\30\2") - buf.write("\u02a2\u02bb\5\60\31\2\u02a3\u02bb\5r:\2\u02a4\u02bb\5") - buf.write("t;\2\u02a5\u02bb\5v<\2\u02a6\u02bb\5x=\2\u02a7\u02bb\5") - buf.write("z>\2\u02a8\u02bb\5|?\2\u02a9\u02bb\5~@\2\u02aa\u02bb\5") - buf.write("\u0080A\2\u02ab\u02bb\5\u0082B\2\u02ac\u02bb\5\u0084C") - buf.write("\2\u02ad\u02bb\5\u0088E\2\u02ae\u02bb\5\u008aF\2\u02af") - buf.write("\u02bb\5\u008cG\2\u02b0\u02bb\5\u008eH\2\u02b1\u02bb\5") - buf.write("\u0090I\2\u02b2\u02bb\5\u0092J\2\u02b3\u02bb\5\u0094K") - buf.write("\2\u02b4\u02bb\5\u0096L\2\u02b5\u02bb\5\u0098M\2\u02b6") - buf.write("\u02bb\5\u009aN\2\u02b7\u02bb\5\u009cO\2\u02b8\u02bb\5") - buf.write("\u009eP\2\u02b9\u02bb\5\u00a2R\2\u02ba\u0297\3\2\2\2\u02ba") - buf.write("\u0298\3\2\2\2\u02ba\u0299\3\2\2\2\u02ba\u029a\3\2\2\2") - buf.write("\u02ba\u029b\3\2\2\2\u02ba\u029c\3\2\2\2\u02ba\u029d\3") - buf.write("\2\2\2\u02ba\u029e\3\2\2\2\u02ba\u029f\3\2\2\2\u02ba\u02a0") - buf.write("\3\2\2\2\u02ba\u02a1\3\2\2\2\u02ba\u02a2\3\2\2\2\u02ba") - buf.write("\u02a3\3\2\2\2\u02ba\u02a4\3\2\2\2\u02ba\u02a5\3\2\2\2") - buf.write("\u02ba\u02a6\3\2\2\2\u02ba\u02a7\3\2\2\2\u02ba\u02a8\3") - buf.write("\2\2\2\u02ba\u02a9\3\2\2\2\u02ba\u02aa\3\2\2\2\u02ba\u02ab") - buf.write("\3\2\2\2\u02ba\u02ac\3\2\2\2\u02ba\u02ad\3\2\2\2\u02ba") - buf.write("\u02ae\3\2\2\2\u02ba\u02af\3\2\2\2\u02ba\u02b0\3\2\2\2") - buf.write("\u02ba\u02b1\3\2\2\2\u02ba\u02b2\3\2\2\2\u02ba\u02b3\3") - buf.write("\2\2\2\u02ba\u02b4\3\2\2\2\u02ba\u02b5\3\2\2\2\u02ba\u02b6") - buf.write("\3\2\2\2\u02ba\u02b7\3\2\2\2\u02ba\u02b8\3\2\2\2\u02ba") - buf.write("\u02b9\3\2\2\2\u02bb\13\3\2\2\2\u02bc\u02c7\5\u00b4[\2") - buf.write("\u02bd\u02c7\5\u00acW\2\u02be\u02c7\5\u00b6\\\2\u02bf") - buf.write("\u02c7\5\u00a6T\2\u02c0\u02c7\5\u00b2Z\2\u02c1\u02c7\5") - buf.write("\u00a4S\2\u02c2\u02c7\5\u00aeX\2\u02c3\u02c7\5\u00b0Y") - buf.write("\2\u02c4\u02c7\5\u00a8U\2\u02c5\u02c7\5\u00aaV\2\u02c6") - buf.write("\u02bc\3\2\2\2\u02c6\u02bd\3\2\2\2\u02c6\u02be\3\2\2\2") - buf.write("\u02c6\u02bf\3\2\2\2\u02c6\u02c0\3\2\2\2\u02c6\u02c1\3") - buf.write("\2\2\2\u02c6\u02c2\3\2\2\2\u02c6\u02c3\3\2\2\2\u02c6\u02c4") - buf.write("\3\2\2\2\u02c6\u02c5\3\2\2\2\u02c7\r\3\2\2\2\u02c8\u02d2") - buf.write("\5\u0102\u0082\2\u02c9\u02d2\5\u0104\u0083\2\u02ca\u02d2") - buf.write("\5\u0106\u0084\2\u02cb\u02d2\5\u0108\u0085\2\u02cc\u02d2") - buf.write("\5\u010a\u0086\2\u02cd\u02d2\5\u010c\u0087\2\u02ce\u02d2") - buf.write("\5\u010e\u0088\2\u02cf\u02d2\5\u0110\u0089\2\u02d0\u02d2") - buf.write("\5\u0112\u008a\2\u02d1\u02c8\3\2\2\2\u02d1\u02c9\3\2\2") - buf.write("\2\u02d1\u02ca\3\2\2\2\u02d1\u02cb\3\2\2\2\u02d1\u02cc") - buf.write("\3\2\2\2\u02d1\u02cd\3\2\2\2\u02d1\u02ce\3\2\2\2\u02d1") - buf.write("\u02cf\3\2\2\2\u02d1\u02d0\3\2\2\2\u02d2\17\3\2\2\2\u02d3") - buf.write("\u02e3\5\u0122\u0092\2\u02d4\u02e3\5\u0124\u0093\2\u02d5") - buf.write("\u02e3\5\u0126\u0094\2\u02d6\u02e3\5\u0128\u0095\2\u02d7") - buf.write("\u02e3\5\u012a\u0096\2\u02d8\u02e3\5\u012c\u0097\2\u02d9") - buf.write("\u02e3\5\u012e\u0098\2\u02da\u02e3\5\u0130\u0099\2\u02db") - buf.write("\u02e3\5\u0132\u009a\2\u02dc\u02e3\5\u014a\u00a6\2\u02dd") - buf.write("\u02e3\5\u014c\u00a7\2\u02de\u02e3\5\u014e\u00a8\2\u02df") - buf.write("\u02e3\5\u0150\u00a9\2\u02e0\u02e3\5\u0152\u00aa\2\u02e1") - buf.write("\u02e3\5\u0154\u00ab\2\u02e2\u02d3\3\2\2\2\u02e2\u02d4") - buf.write("\3\2\2\2\u02e2\u02d5\3\2\2\2\u02e2\u02d6\3\2\2\2\u02e2") - buf.write("\u02d7\3\2\2\2\u02e2\u02d8\3\2\2\2\u02e2\u02d9\3\2\2\2") - buf.write("\u02e2\u02da\3\2\2\2\u02e2\u02db\3\2\2\2\u02e2\u02dc\3") - buf.write("\2\2\2\u02e2\u02dd\3\2\2\2\u02e2\u02de\3\2\2\2\u02e2\u02df") - buf.write("\3\2\2\2\u02e2\u02e0\3\2\2\2\u02e2\u02e1\3\2\2\2\u02e3") - buf.write("\21\3\2\2\2\u02e4\u02e8\5\u0156\u00ac\2\u02e5\u02e8\5") - buf.write("\u0158\u00ad\2\u02e6\u02e8\5\u015a\u00ae\2\u02e7\u02e4") - buf.write("\3\2\2\2\u02e7\u02e5\3\2\2\2\u02e7\u02e6\3\2\2\2\u02e8") - buf.write("\23\3\2\2\2\u02e9\u02f4\5\u015e\u00b0\2\u02ea\u02f4\5") - buf.write("\u0160\u00b1\2\u02eb\u02f4\5\u0162\u00b2\2\u02ec\u02f4") - buf.write("\5\u0166\u00b4\2\u02ed\u02f4\5\u0168\u00b5\2\u02ee\u02f4") - buf.write("\5\u016a\u00b6\2\u02ef\u02f4\5\u016e\u00b8\2\u02f0\u02f4") - buf.write("\5\u0164\u00b3\2\u02f1\u02f4\5\u016c\u00b7\2\u02f2\u02f4") - buf.write("\5\u0170\u00b9\2\u02f3\u02e9\3\2\2\2\u02f3\u02ea\3\2\2") - buf.write("\2\u02f3\u02eb\3\2\2\2\u02f3\u02ec\3\2\2\2\u02f3\u02ed") - buf.write("\3\2\2\2\u02f3\u02ee\3\2\2\2\u02f3\u02ef\3\2\2\2\u02f3") - buf.write("\u02f0\3\2\2\2\u02f3\u02f1\3\2\2\2\u02f3\u02f2\3\2\2\2") - buf.write("\u02f4\25\3\2\2\2\u02f5\u030f\5\u0182\u00c2\2\u02f6\u030f") - buf.write("\5\u0184\u00c3\2\u02f7\u030f\5\u0186\u00c4\2\u02f8\u030f") - buf.write("\5\u0188\u00c5\2\u02f9\u030f\5\u018a\u00c6\2\u02fa\u030f") - buf.write("\5\u018c\u00c7\2\u02fb\u030f\5\u018e\u00c8\2\u02fc\u030f") - buf.write("\5\u0190\u00c9\2\u02fd\u030f\5\u01a8\u00d5\2\u02fe\u030f") - buf.write("\5\u01aa\u00d6\2\u02ff\u030f\5\u01ac\u00d7\2\u0300\u030f") - buf.write("\5\u01ae\u00d8\2\u0301\u030f\5\u01b0\u00d9\2\u0302\u030f") - buf.write("\5\u01b4\u00db\2\u0303\u030f\5\u01b6\u00dc\2\u0304\u030f") - buf.write("\5\u01b8\u00dd\2\u0305\u030f\5\u01ba\u00de\2\u0306\u030f") - buf.write("\5\u01bc\u00df\2\u0307\u030f\5\u01ca\u00e6\2\u0308\u030f") - buf.write("\5\u01cc\u00e7\2\u0309\u030f\5\u01ce\u00e8\2\u030a\u030f") - buf.write("\5\u01d0\u00e9\2\u030b\u030f\5\u01d2\u00ea\2\u030c\u030f") - buf.write("\5\u01d4\u00eb\2\u030d\u030f\5\u01d6\u00ec\2\u030e\u02f5") - buf.write("\3\2\2\2\u030e\u02f6\3\2\2\2\u030e\u02f7\3\2\2\2\u030e") - buf.write("\u02f8\3\2\2\2\u030e\u02f9\3\2\2\2\u030e\u02fa\3\2\2\2") - buf.write("\u030e\u02fb\3\2\2\2\u030e\u02fc\3\2\2\2\u030e\u02fd\3") - buf.write("\2\2\2\u030e\u02fe\3\2\2\2\u030e\u02ff\3\2\2\2\u030e\u0300") - buf.write("\3\2\2\2\u030e\u0301\3\2\2\2\u030e\u0302\3\2\2\2\u030e") - buf.write("\u0303\3\2\2\2\u030e\u0304\3\2\2\2\u030e\u0305\3\2\2\2") - buf.write("\u030e\u0306\3\2\2\2\u030e\u0307\3\2\2\2\u030e\u0308\3") - buf.write("\2\2\2\u030e\u0309\3\2\2\2\u030e\u030a\3\2\2\2\u030e\u030b") - buf.write("\3\2\2\2\u030e\u030c\3\2\2\2\u030e\u030d\3\2\2\2\u030f") - buf.write("\27\3\2\2\2\u0310\u0315\5\u01e0\u00f1\2\u0311\u0315\5") - buf.write("\u01e2\u00f2\2\u0312\u0315\5\u01e4\u00f3\2\u0313\u0315") - buf.write("\5\u01e6\u00f4\2\u0314\u0310\3\2\2\2\u0314\u0311\3\2\2") - buf.write("\2\u0314\u0312\3\2\2\2\u0314\u0313\3\2\2\2\u0315\31\3") - buf.write("\2\2\2\u0316\u0317\7\"\2\2\u0317\u0319\t\2\2\2\u0318\u031a") - buf.write("\5\u023a\u011e\2\u0319\u0318\3\2\2\2\u0319\u031a\3\2\2") - buf.write("\2\u031a\u031b\3\2\2\2\u031b\u031f\5\u0204\u0103\2\u031c") - buf.write("\u031e\5\62\32\2\u031d\u031c\3\2\2\2\u031e\u0321\3\2\2") - buf.write("\2\u031f\u031d\3\2\2\2\u031f\u0320\3\2\2\2\u0320\33\3") - buf.write("\2\2\2\u0321\u031f\3\2\2\2\u0322\u0324\7\"\2\2\u0323\u0325") - buf.write("\5\64\33\2\u0324\u0323\3\2\2\2\u0324\u0325\3\2\2\2\u0325") - buf.write("\u0326\3\2\2\2\u0326\u0328\7\u0143\2\2\u0327\u0329\5\u023a") - buf.write("\u011e\2\u0328\u0327\3\2\2\2\u0328\u0329\3\2\2\2\u0329") - buf.write("\u032a\3\2\2\2\u032a\u032b\5\u01ea\u00f6\2\u032b\u032c") - buf.write("\7j\2\2\u032c\u032d\7\u01e5\2\2\u032d\u0334\5\66\34\2") - buf.write("\u032e\u032f\7j\2\2\u032f\u0331\7\u011f\2\2\u0330\u0332") - buf.write("\7g\2\2\u0331\u0330\3\2\2\2\u0331\u0332\3\2\2\2\u0332") - buf.write("\u0333\3\2\2\2\u0333\u0335\7\u01c0\2\2\u0334\u032e\3\2") - buf.write("\2\2\u0334\u0335\3\2\2\2\u0335\u0337\3\2\2\2\u0336\u0338") - buf.write("\5> \2\u0337\u0336\3\2\2\2\u0337\u0338\3\2\2\2\u0338\u033b") - buf.write("\3\2\2\2\u0339\u033a\7\u011c\2\2\u033a\u033c\7\u03ca\2") - buf.write("\2\u033b\u0339\3\2\2\2\u033b\u033c\3\2\2\2\u033c\u033d") - buf.write("\3\2\2\2\u033d\u033e\7\u0135\2\2\u033e\u033f\5\u015c\u00af") - buf.write("\2\u033f\35\3\2\2\2\u0340\u0342\7\"\2\2\u0341\u0343\t") - buf.write("\3\2\2\u0342\u0341\3\2\2\2\u0342\u0343\3\2\2\2\u0343\u0345") - buf.write("\3\2\2\2\u0344\u0346\t\4\2\2\u0345\u0344\3\2\2\2\u0345") - buf.write("\u0346\3\2\2\2\u0346\u0347\3\2\2\2\u0347\u0348\7I\2\2") - buf.write("\u0348\u034a\5\u0204\u0103\2\u0349\u034b\5@!\2\u034a\u0349") - buf.write("\3\2\2\2\u034a\u034b\3\2\2\2\u034b\u034c\3\2\2\2\u034c") - buf.write("\u034d\7j\2\2\u034d\u034e\5\u01ec\u00f7\2\u034e\u0352") - buf.write("\5\u0226\u0114\2\u034f\u0351\5B\"\2\u0350\u034f\3\2\2") - buf.write("\2\u0351\u0354\3\2\2\2\u0352\u0350\3\2\2\2\u0352\u0353") - buf.write("\3\2\2\2\u0353\u035f\3\2\2\2\u0354\u0352\3\2\2\2\u0355") - buf.write("\u0357\7\u0100\2\2\u0356\u0358\7\u03b2\2\2\u0357\u0356") - buf.write("\3\2\2\2\u0357\u0358\3\2\2\2\u0358\u0359\3\2\2\2\u0359") - buf.write("\u0360\t\5\2\2\u035a\u035c\7^\2\2\u035b\u035d\7\u03b2") - buf.write("\2\2\u035c\u035b\3\2\2\2\u035c\u035d\3\2\2\2\u035d\u035e") - buf.write("\3\2\2\2\u035e\u0360\t\6\2\2\u035f\u0355\3\2\2\2\u035f") - buf.write("\u035a\3\2\2\2\u035f\u0360\3\2\2\2\u0360\37\3\2\2\2\u0361") - buf.write("\u0362\7\"\2\2\u0362\u0363\7\u0179\2\2\u0363\u0364\7C") - buf.write("\2\2\u0364\u0365\5\u0204\u0103\2\u0365\u0366\7\t\2\2\u0366") - buf.write("\u0367\7\u0215\2\2\u0367\u036d\7\u03ca\2\2\u0368\u036a") - buf.write("\7\u0165\2\2\u0369\u036b\7\u03b2\2\2\u036a\u0369\3\2\2") - buf.write("\2\u036a\u036b\3\2\2\2\u036b\u036c\3\2\2\2\u036c\u036e") - buf.write("\5\u020c\u0107\2\u036d\u0368\3\2\2\2\u036d\u036e\3\2\2") - buf.write("\2\u036e\u0374\3\2\2\2\u036f\u0371\7\u0216\2\2\u0370\u0372") - buf.write("\7\u03b2\2\2\u0371\u0370\3\2\2\2\u0371\u0372\3\2\2\2\u0372") - buf.write("\u0373\3\2\2\2\u0373\u0375\5\u020c\u0107\2\u0374\u036f") - buf.write("\3\2\2\2\u0374\u0375\3\2\2\2\u0375\u037b\3\2\2\2\u0376") - buf.write("\u0378\7\u01ca\2\2\u0377\u0379\7\u03b2\2\2\u0378\u0377") - buf.write("\3\2\2\2\u0378\u0379\3\2\2\2\u0379\u037a\3\2\2\2\u037a") - buf.write("\u037c\5\u020c\u0107\2\u037b\u0376\3\2\2\2\u037b\u037c") - buf.write("\3\2\2\2\u037c\u0382\3\2\2\2\u037d\u037f\7\u01a5\2\2\u037e") - buf.write("\u0380\7\u03b2\2\2\u037f\u037e\3\2\2\2\u037f\u0380\3\2") - buf.write("\2\2\u0380\u0381\3\2\2\2\u0381\u0383\5\u0204\u0103\2\u0382") - buf.write("\u037d\3\2\2\2\u0382\u0383\3\2\2\2\u0383\u0385\3\2\2\2") - buf.write("\u0384\u0386\7\u0223\2\2\u0385\u0384\3\2\2\2\u0385\u0386") - buf.write("\3\2\2\2\u0386\u038c\3\2\2\2\u0387\u0389\7\u011c\2\2\u0388") - buf.write("\u038a\7\u03b2\2\2\u0389\u0388\3\2\2\2\u0389\u038a\3\2") - buf.write("\2\2\u038a\u038b\3\2\2\2\u038b\u038d\7\u03ca\2\2\u038c") - buf.write("\u0387\3\2\2\2\u038c\u038d\3\2\2\2\u038d\u038e\3\2\2\2") - buf.write("\u038e\u0390\7\u013d\2\2\u038f\u0391\7\u03b2\2\2\u0390") - buf.write("\u038f\3\2\2\2\u0390\u0391\3\2\2\2\u0391\u0392\3\2\2\2") - buf.write("\u0392\u0393\5\u01fa\u00fe\2\u0393!\3\2\2\2\u0394\u0396") - buf.write("\7\"\2\2\u0395\u0397\5\64\33\2\u0396\u0395\3\2\2\2\u0396") - buf.write("\u0397\3\2\2\2\u0397\u0398\3\2\2\2\u0398\u0399\7u\2\2") - buf.write("\u0399\u039a\5\u01ea\u00f6\2\u039a\u039c\7\u03bb\2\2\u039b") - buf.write("\u039d\5D#\2\u039c\u039b\3\2\2\2\u039c\u039d\3\2\2\2\u039d") - buf.write("\u03a2\3\2\2\2\u039e\u039f\7\u03bd\2\2\u039f\u03a1\5D") - buf.write("#\2\u03a0\u039e\3\2\2\2\u03a1\u03a4\3\2\2\2\u03a2\u03a0") - buf.write("\3\2\2\2\u03a2\u03a3\3\2\2\2\u03a3\u03a5\3\2\2\2\u03a4") - buf.write("\u03a2\3\2\2\2\u03a5\u03a9\7\u03bc\2\2\u03a6\u03a8\5H") - buf.write("%\2\u03a7\u03a6\3\2\2\2\u03a8\u03ab\3\2\2\2\u03a9\u03a7") - buf.write("\3\2\2\2\u03a9\u03aa\3\2\2\2\u03aa\u03ac\3\2\2\2\u03ab") - buf.write("\u03a9\3\2\2\2\u03ac\u03ad\5\u015c\u00af\2\u03ad#\3\2") - buf.write("\2\2\u03ae\u03b0\7\"\2\2\u03af\u03b1\5\64\33\2\u03b0\u03af") - buf.write("\3\2\2\2\u03b0\u03b1\3\2\2\2\u03b1\u03b2\3\2\2\2\u03b2") - buf.write("\u03b3\7\u0157\2\2\u03b3\u03b4\5\u01ea\u00f6\2\u03b4\u03b6") - buf.write("\7\u03bb\2\2\u03b5\u03b7\5F$\2\u03b6\u03b5\3\2\2\2\u03b6") - buf.write("\u03b7\3\2\2\2\u03b7\u03bc\3\2\2\2\u03b8\u03b9\7\u03bd") - buf.write("\2\2\u03b9\u03bb\5F$\2\u03ba\u03b8\3\2\2\2\u03bb\u03be") - buf.write("\3\2\2\2\u03bc\u03ba\3\2\2\2\u03bc\u03bd\3\2\2\2\u03bd") - buf.write("\u03bf\3\2\2\2\u03be\u03bc\3\2\2\2\u03bf\u03c0\7\u03bc") - buf.write("\2\2\u03c0\u03c1\7\u01dd\2\2\u03c1\u03c5\5\u0218\u010d") - buf.write("\2\u03c2\u03c4\5H%\2\u03c3\u03c2\3\2\2\2\u03c4\u03c7\3") - buf.write("\2\2\2\u03c5\u03c3\3\2\2\2\u03c5\u03c6\3\2\2\2\u03c6\u03c8") - buf.write("\3\2\2\2\u03c7\u03c5\3\2\2\2\u03c8\u03c9\5\u015c\u00af") - buf.write("\2\u03c9%\3\2\2\2\u03ca\u03cb\7\"\2\2\u03cb\u03cc\7\u01e7") - buf.write("\2\2\u03cc\u03cd\5\u0204\u0103\2\u03cd\u03ce\7>\2\2\u03ce") - buf.write("\u03cf\7\u012a\2\2\u03cf\u03d0\7\u0227\2\2\u03d0\u03d1") - buf.write("\t\7\2\2\u03d1\u03d2\7\u01b0\2\2\u03d2\u03d3\7\u03bb\2") - buf.write("\2\u03d3\u03d8\5J&\2\u03d4\u03d5\7\u03bd\2\2\u03d5\u03d7") - buf.write("\5J&\2\u03d6\u03d4\3\2\2\2\u03d7\u03da\3\2\2\2\u03d8\u03d6") - buf.write("\3\2\2\2\u03d8\u03d9\3\2\2\2\u03d9\u03db\3\2\2\2\u03da") - buf.write("\u03d8\3\2\2\2\u03db\u03dc\7\u03bc\2\2\u03dc\'\3\2\2\2") - buf.write("\u03dd\u03df\7\"\2\2\u03de\u03e0\7\u020d\2\2\u03df\u03de") - buf.write("\3\2\2\2\u03df\u03e0\3\2\2\2\u03e0\u03e1\3\2\2\2\u03e1") - buf.write("\u03e3\7\u0097\2\2\u03e2\u03e4\5\u023a\u011e\2\u03e3\u03e2") - buf.write("\3\2\2\2\u03e3\u03e4\3\2\2\2\u03e4\u03e5\3\2\2\2\u03e5") - buf.write("\u03ed\5\u01ec\u00f7\2\u03e6\u03e7\7Y\2\2\u03e7\u03ee") - buf.write("\5\u01ec\u00f7\2\u03e8\u03e9\7\u03bb\2\2\u03e9\u03ea\7") - buf.write("Y\2\2\u03ea\u03eb\5\u01ec\u00f7\2\u03eb\u03ec\7\u03bc") - buf.write("\2\2\u03ec\u03ee\3\2\2\2\u03ed\u03e6\3\2\2\2\u03ed\u03e8") - buf.write("\3\2\2\2\u03ee\u042c\3\2\2\2\u03ef\u03f1\7\"\2\2\u03f0") - buf.write("\u03f2\7\u020d\2\2\u03f1\u03f0\3\2\2\2\u03f1\u03f2\3\2") - buf.write("\2\2\u03f2\u03f3\3\2\2\2\u03f3\u03f5\7\u0097\2\2\u03f4") - buf.write("\u03f6\5\u023a\u011e\2\u03f5\u03f4\3\2\2\2\u03f5\u03f6") - buf.write("\3\2\2\2\u03f6\u03f7\3\2\2\2\u03f7\u03f9\5\u01ec\u00f7") - buf.write("\2\u03f8\u03fa\5L\'\2\u03f9\u03f8\3\2\2\2\u03f9\u03fa") - buf.write("\3\2\2\2\u03fa\u0405\3\2\2\2\u03fb\u0402\5^\60\2\u03fc") - buf.write("\u03fe\7\u03bd\2\2\u03fd\u03fc\3\2\2\2\u03fd\u03fe\3\2") - buf.write("\2\2\u03fe\u03ff\3\2\2\2\u03ff\u0401\5^\60\2\u0400\u03fd") - buf.write("\3\2\2\2\u0401\u0404\3\2\2\2\u0402\u0400\3\2\2\2\u0402") - buf.write("\u0403\3\2\2\2\u0403\u0406\3\2\2\2\u0404\u0402\3\2\2\2") - buf.write("\u0405\u03fb\3\2\2\2\u0405\u0406\3\2\2\2\u0406\u0408\3") - buf.write("\2\2\2\u0407\u0409\5b\62\2\u0408\u0407\3\2\2\2\u0408\u0409") - buf.write("\3\2\2\2\u0409\u040b\3\2\2\2\u040a\u040c\t\b\2\2\u040b") - buf.write("\u040a\3\2\2\2\u040b\u040c\3\2\2\2\u040c\u040e\3\2\2\2") - buf.write("\u040d\u040f\7\17\2\2\u040e\u040d\3\2\2\2\u040e\u040f") - buf.write("\3\2\2\2\u040f\u0410\3\2\2\2\u0410\u0411\5\u00b4[\2\u0411") - buf.write("\u042c\3\2\2\2\u0412\u0414\7\"\2\2\u0413\u0415\7\u020d") - buf.write("\2\2\u0414\u0413\3\2\2\2\u0414\u0415\3\2\2\2\u0415\u0416") - buf.write("\3\2\2\2\u0416\u0418\7\u0097\2\2\u0417\u0419\5\u023a\u011e") - buf.write("\2\u0418\u0417\3\2\2\2\u0418\u0419\3\2\2\2\u0419\u041a") - buf.write("\3\2\2\2\u041a\u041b\5\u01ec\u00f7\2\u041b\u0426\5L\'") - buf.write("\2\u041c\u0423\5^\60\2\u041d\u041f\7\u03bd\2\2\u041e\u041d") - buf.write("\3\2\2\2\u041e\u041f\3\2\2\2\u041f\u0420\3\2\2\2\u0420") - buf.write("\u0422\5^\60\2\u0421\u041e\3\2\2\2\u0422\u0425\3\2\2\2") - buf.write("\u0423\u0421\3\2\2\2\u0423\u0424\3\2\2\2\u0424\u0427\3") - buf.write("\2\2\2\u0425\u0423\3\2\2\2\u0426\u041c\3\2\2\2\u0426\u0427") - buf.write("\3\2\2\2\u0427\u0429\3\2\2\2\u0428\u042a\5b\62\2\u0429") - buf.write("\u0428\3\2\2\2\u0429\u042a\3\2\2\2\u042a\u042c\3\2\2\2") - buf.write("\u042b\u03dd\3\2\2\2\u042b\u03ef\3\2\2\2\u042b\u0412\3") - buf.write("\2\2\2\u042c)\3\2\2\2\u042d\u042e\7\"\2\2\u042e\u042f") - buf.write("\7\u020c\2\2\u042f\u0430\5\u0204\u0103\2\u0430\u0431\7") - buf.write("\t\2\2\u0431\u0432\7\u012b\2\2\u0432\u0436\7\u03ca\2\2") - buf.write("\u0433\u0434\7\u014f\2\2\u0434\u0435\7\u03b2\2\2\u0435") - buf.write("\u0437\5\u020c\u0107\2\u0436\u0433\3\2\2\2\u0436\u0437") - buf.write("\3\2\2\2\u0437\u043d\3\2\2\2\u0438\u043a\7\u013d\2\2\u0439") - buf.write("\u043b\7\u03b2\2\2\u043a\u0439\3\2\2\2\u043a\u043b\3\2") - buf.write("\2\2\u043b\u043c\3\2\2\2\u043c\u043e\5\u01fa\u00fe\2\u043d") - buf.write("\u0438\3\2\2\2\u043d\u043e\3\2\2\2\u043e+\3\2\2\2\u043f") - buf.write("\u0440\7\"\2\2\u0440\u0441\7\u020c\2\2\u0441\u0442\5\u0204") - buf.write("\u0103\2\u0442\u0443\7\t\2\2\u0443\u0444\7\u012b\2\2\u0444") - buf.write("\u0445\7\u03ca\2\2\u0445\u0446\7\u00a5\2\2\u0446\u0447") - buf.write("\7\u0179\2\2\u0447\u0448\7C\2\2\u0448\u044e\5\u0204\u0103") - buf.write("\2\u0449\u044b\7\u014b\2\2\u044a\u044c\7\u03b2\2\2\u044b") - buf.write("\u044a\3\2\2\2\u044b\u044c\3\2\2\2\u044c\u044d\3\2\2\2") - buf.write("\u044d\u044f\5\u020c\u0107\2\u044e\u0449\3\2\2\2\u044e") - buf.write("\u044f\3\2\2\2\u044f\u0455\3\2\2\2\u0450\u0452\7\u0165") - buf.write("\2\2\u0451\u0453\7\u03b2\2\2\u0452\u0451\3\2\2\2\u0452") - buf.write("\u0453\3\2\2\2\u0453\u0454\3\2\2\2\u0454\u0456\5\u020c") - buf.write("\u0107\2\u0455\u0450\3\2\2\2\u0455\u0456\3\2\2\2\u0456") - buf.write("\u045c\3\2\2\2\u0457\u0459\7\u0105\2\2\u0458\u045a\7\u03b2") - buf.write("\2\2\u0459\u0458\3\2\2\2\u0459\u045a\3\2\2\2\u045a\u045b") - buf.write("\3\2\2\2\u045b\u045d\5\u020c\u0107\2\u045c\u0457\3\2\2") - buf.write("\2\u045c\u045d\3\2\2\2\u045d\u0463\3\2\2\2\u045e\u0460") - buf.write("\7\u0193\2\2\u045f\u0461\7\u03b2\2\2\u0460\u045f\3\2\2") - buf.write("\2\u0460\u0461\3\2\2\2\u0461\u0462\3\2\2\2\u0462\u0464") - buf.write("\5\u020c\u0107\2\u0463\u045e\3\2\2\2\u0463\u0464\3\2\2") - buf.write("\2\u0464\u046a\3\2\2\2\u0465\u0467\7\u01a5\2\2\u0466\u0468") - buf.write("\7\u03b2\2\2\u0467\u0466\3\2\2\2\u0467\u0468\3\2\2\2\u0468") - buf.write("\u0469\3\2\2\2\u0469\u046b\5\u0204\u0103\2\u046a\u0465") - buf.write("\3\2\2\2\u046a\u046b\3\2\2\2\u046b\u046d\3\2\2\2\u046c") - buf.write("\u046e\7\u0223\2\2\u046d\u046c\3\2\2\2\u046d\u046e\3\2") - buf.write("\2\2\u046e\u0474\3\2\2\2\u046f\u0471\7\u011c\2\2\u0470") - buf.write("\u0472\7\u03b2\2\2\u0471\u0470\3\2\2\2\u0471\u0472\3\2") - buf.write("\2\2\u0472\u0473\3\2\2\2\u0473\u0475\7\u03ca\2\2\u0474") - buf.write("\u046f\3\2\2\2\u0474\u0475\3\2\2\2\u0475\u0476\3\2\2\2") - buf.write("\u0476\u0478\7\u013d\2\2\u0477\u0479\7\u03b2\2\2\u0478") - buf.write("\u0477\3\2\2\2\u0478\u0479\3\2\2\2\u0479\u047a\3\2\2\2") - buf.write("\u047a\u047b\5\u01fa\u00fe\2\u047b-\3\2\2\2\u047c\u047e") - buf.write("\7\"\2\2\u047d\u047f\5\64\33\2\u047e\u047d\3\2\2\2\u047e") - buf.write("\u047f\3\2\2\2\u047f\u0480\3\2\2\2\u0480\u0481\7\u009c") - buf.write("\2\2\u0481\u0482\5\u01ea\u00f6\2\u0482\u0483\t\t\2\2\u0483") - buf.write("\u0484\t\n\2\2\u0484\u0485\7j\2\2\u0485\u0486\5\u01ec") - buf.write("\u00f7\2\u0486\u0487\7<\2\2\u0487\u0488\7\62\2\2\u0488") - buf.write("\u048b\7\u01e1\2\2\u0489\u048a\t\13\2\2\u048a\u048c\5") - buf.write("\u01ea\u00f6\2\u048b\u0489\3\2\2\2\u048b\u048c\3\2\2\2") - buf.write("\u048c\u048d\3\2\2\2\u048d\u048e\5\u015c\u00af\2\u048e") - buf.write("/\3\2\2\2\u048f\u0492\7\"\2\2\u0490\u0491\7n\2\2\u0491") - buf.write("\u0493\7\177\2\2\u0492\u0490\3\2\2\2\u0492\u0493\3\2\2") - buf.write("\2\u0493\u0497\3\2\2\2\u0494\u0495\7\u0100\2\2\u0495\u0496") - buf.write("\7\u03b2\2\2\u0496\u0498\t\f\2\2\u0497\u0494\3\2\2\2\u0497") - buf.write("\u0498\3\2\2\2\u0498\u049a\3\2\2\2\u0499\u049b\5\64\33") - buf.write("\2\u049a\u0499\3\2\2\2\u049a\u049b\3\2\2\2\u049b\u049f") - buf.write("\3\2\2\2\u049c\u049d\7\u008d\2\2\u049d\u049e\7\u01e6\2") - buf.write("\2\u049e\u04a0\t\r\2\2\u049f\u049c\3\2\2\2\u049f\u04a0") - buf.write("\3\2\2\2\u04a0\u04a1\3\2\2\2\u04a1\u04a2\7\u0221\2\2\u04a2") - buf.write("\u04a7\5\u01ea\u00f6\2\u04a3\u04a4\7\u03bb\2\2\u04a4\u04a5") - buf.write("\5\u0222\u0112\2\u04a5\u04a6\7\u03bc\2\2\u04a6\u04a8\3") - buf.write("\2\2\2\u04a7\u04a3\3\2\2\2\u04a7\u04a8\3\2\2\2\u04a8\u04a9") - buf.write("\3\2\2\2\u04a9\u04aa\7\17\2\2\u04aa\u04b1\5\u00b4[\2\u04ab") - buf.write("\u04ad\7\u00ab\2\2\u04ac\u04ae\t\16\2\2\u04ad\u04ac\3") - buf.write("\2\2\2\u04ad\u04ae\3\2\2\2\u04ae\u04af\3\2\2\2\u04af\u04b0") - buf.write("\7\33\2\2\u04b0\u04b2\7l\2\2\u04b1\u04ab\3\2\2\2\u04b1") - buf.write("\u04b2\3\2\2\2\u04b2\61\3\2\2\2\u04b3\u04b5\7)\2\2\u04b4") - buf.write("\u04b3\3\2\2\2\u04b4\u04b5\3\2\2\2\u04b5\u04b9\3\2\2\2") - buf.write("\u04b6\u04b7\7\32\2\2\u04b7\u04ba\7\u0089\2\2\u04b8\u04ba") - buf.write("\7\u029b\2\2\u04b9\u04b6\3\2\2\2\u04b9\u04b8\3\2\2\2\u04ba") - buf.write("\u04bc\3\2\2\2\u04bb\u04bd\7\u03b2\2\2\u04bc\u04bb\3\2") - buf.write("\2\2\u04bc\u04bd\3\2\2\2\u04bd\u04be\3\2\2\2\u04be\u04c8") - buf.write("\5\u01f6\u00fc\2\u04bf\u04c1\7)\2\2\u04c0\u04bf\3\2\2") - buf.write("\2\u04c0\u04c1\3\2\2\2\u04c1\u04c2\3\2\2\2\u04c2\u04c4") - buf.write("\7\34\2\2\u04c3\u04c5\7\u03b2\2\2\u04c4\u04c3\3\2\2\2") - buf.write("\u04c4\u04c5\3\2\2\2\u04c5\u04c6\3\2\2\2\u04c6\u04c8\5") - buf.write("\u01f8\u00fd\2\u04c7\u04b4\3\2\2\2\u04c7\u04c0\3\2\2\2") - buf.write("\u04c8\63\3\2\2\2\u04c9\u04ca\7\u012e\2\2\u04ca\u04d1") - buf.write("\7\u03b2\2\2\u04cb\u04d2\5\u01f2\u00fa\2\u04cc\u04cf\7") - buf.write("$\2\2\u04cd\u04ce\7\u03bb\2\2\u04ce\u04d0\7\u03bc\2\2") - buf.write("\u04cf\u04cd\3\2\2\2\u04cf\u04d0\3\2\2\2\u04d0\u04d2\3") - buf.write("\2\2\2\u04d1\u04cb\3\2\2\2\u04d1\u04cc\3\2\2\2\u04d2\65") - buf.write("\3\2\2\2\u04d3\u04d4\7\u0102\2\2\u04d4\u04d8\58\35\2\u04d5") - buf.write("\u04d7\5:\36\2\u04d6\u04d5\3\2\2\2\u04d7\u04da\3\2\2\2") - buf.write("\u04d8\u04d6\3\2\2\2\u04d8\u04d9\3\2\2\2\u04d9\u04f6\3") - buf.write("\2\2\2\u04da\u04d8\3\2\2\2\u04db\u04de\7\u0145\2\2\u04dc") - buf.write("\u04df\5\u020a\u0106\2\u04dd\u04df\5\u0250\u0129\2\u04de") - buf.write("\u04dc\3\2\2\2\u04de\u04dd\3\2\2\2\u04df\u04e0\3\2\2\2") - buf.write("\u04e0\u04e9\5<\37\2\u04e1\u04e2\7\u01fd\2\2\u04e2\u04e6") - buf.write("\58\35\2\u04e3\u04e5\5:\36\2\u04e4\u04e3\3\2\2\2\u04e5") - buf.write("\u04e8\3\2\2\2\u04e6\u04e4\3\2\2\2\u04e6\u04e7\3\2\2\2") - buf.write("\u04e7\u04ea\3\2\2\2\u04e8\u04e6\3\2\2\2\u04e9\u04e1\3") - buf.write("\2\2\2\u04e9\u04ea\3\2\2\2\u04ea\u04f3\3\2\2\2\u04eb\u04ec") - buf.write("\7\u013c\2\2\u04ec\u04f0\58\35\2\u04ed\u04ef\5:\36\2\u04ee") - buf.write("\u04ed\3\2\2\2\u04ef\u04f2\3\2\2\2\u04f0\u04ee\3\2\2\2") - buf.write("\u04f0\u04f1\3\2\2\2\u04f1\u04f4\3\2\2\2\u04f2\u04f0\3") - buf.write("\2\2\2\u04f3\u04eb\3\2\2\2\u04f3\u04f4\3\2\2\2\u04f4\u04f6") - buf.write("\3\2\2\2\u04f5\u04d3\3\2\2\2\u04f5\u04db\3\2\2\2\u04f6") - buf.write("\67\3\2\2\2\u04f7\u04fc\7\u00eb\2\2\u04f8\u04fc\5\u020e") - buf.write("\u0108\2\u04f9\u04fc\5\u020a\u0106\2\u04fa\u04fc\5\u0250") - buf.write("\u0129\2\u04fb\u04f7\3\2\2\2\u04fb\u04f8\3\2\2\2\u04fb") - buf.write("\u04f9\3\2\2\2\u04fb\u04fa\3\2\2\2\u04fc9\3\2\2\2\u04fd") - buf.write("\u04fe\7\u03ad\2\2\u04fe\u0501\7N\2\2\u04ff\u0502\5\u020a") - buf.write("\u0106\2\u0500\u0502\5\u0250\u0129\2\u0501\u04ff\3\2\2") - buf.write("\2\u0501\u0500\3\2\2\2\u0502\u0503\3\2\2\2\u0503\u0504") - buf.write("\5<\37\2\u0504;\3\2\2\2\u0505\u0513\5\u0266\u0134\2\u0506") - buf.write("\u0513\7\u00be\2\2\u0507\u0513\7\u00cd\2\2\u0508\u0513") - buf.write("\7\u00ce\2\2\u0509\u0513\7\u00cf\2\2\u050a\u0513\7\u00d0") - buf.write("\2\2\u050b\u0513\7\u00d1\2\2\u050c\u0513\7\u00d2\2\2\u050d") - buf.write("\u0513\7\u00d3\2\2\u050e\u0513\7\u00d4\2\2\u050f\u0513") - buf.write("\7\u00d5\2\2\u0510\u0513\7\u00d6\2\2\u0511\u0513\7\u00d7") - buf.write("\2\2\u0512\u0505\3\2\2\2\u0512\u0506\3\2\2\2\u0512\u0507") - buf.write("\3\2\2\2\u0512\u0508\3\2\2\2\u0512\u0509\3\2\2\2\u0512") - buf.write("\u050a\3\2\2\2\u0512\u050b\3\2\2\2\u0512\u050c\3\2\2\2") - buf.write("\u0512\u050d\3\2\2\2\u0512\u050e\3\2\2\2\u0512\u050f\3") - buf.write("\2\2\2\u0512\u0510\3\2\2\2\u0512\u0511\3\2\2\2\u0513=") - buf.write("\3\2\2\2\u0514\u051a\7\u0139\2\2\u0515\u051a\7\u0132\2") - buf.write("\2\u0516\u0517\7\u0132\2\2\u0517\u0518\7j\2\2\u0518\u051a") - buf.write("\7\u01ed\2\2\u0519\u0514\3\2\2\2\u0519\u0515\3\2\2\2\u0519") - buf.write("\u0516\3\2\2\2\u051a?\3\2\2\2\u051b\u051c\7\u00a6\2\2") - buf.write("\u051c\u051d\t\17\2\2\u051dA\3\2\2\2\u051e\u0520\7\u0171") - buf.write("\2\2\u051f\u0521\7\u03b2\2\2\u0520\u051f\3\2\2\2\u0520") - buf.write("\u0521\3\2\2\2\u0521\u0522\3\2\2\2\u0522\u052a\5\u020c") - buf.write("\u0107\2\u0523\u052a\5@!\2\u0524\u0525\7\u00ab\2\2\u0525") - buf.write("\u0526\7\u01b4\2\2\u0526\u052a\5\u0204\u0103\2\u0527\u0528") - buf.write("\7\u011c\2\2\u0528\u052a\7\u03ca\2\2\u0529\u051e\3\2\2") - buf.write("\2\u0529\u0523\3\2\2\2\u0529\u0524\3\2\2\2\u0529\u0527") - buf.write("\3\2\2\2\u052aC\3\2\2\2\u052b\u052c\t\20\2\2\u052c\u052d") - buf.write("\5\u0204\u0103\2\u052d\u052e\5\u0218\u010d\2\u052eE\3") - buf.write("\2\2\2\u052f\u0530\5\u0204\u0103\2\u0530\u0531\5\u0218") - buf.write("\u010d\2\u0531G\3\2\2\2\u0532\u0533\7\u011c\2\2\u0533") - buf.write("\u054a\7\u03ca\2\2\u0534\u0535\7\u0172\2\2\u0535\u054a") - buf.write("\7\u008d\2\2\u0536\u0538\7g\2\2\u0537\u0536\3\2\2\2\u0537") - buf.write("\u0538\3\2\2\2\u0538\u0539\3\2\2\2\u0539\u054a\7.\2\2") - buf.write("\u053a\u053b\7\u0125\2\2\u053b\u0545\7\u008d\2\2\u053c") - buf.write("\u053d\7\u01a4\2\2\u053d\u0545\7\u008d\2\2\u053e\u053f") - buf.write("\7y\2\2\u053f\u0540\7\u008d\2\2\u0540\u0545\7\u012a\2") - buf.write("\2\u0541\u0542\7e\2\2\u0542\u0543\7\u008d\2\2\u0543\u0545") - buf.write("\7\u012a\2\2\u0544\u053a\3\2\2\2\u0544\u053c\3\2\2\2\u0544") - buf.write("\u053e\3\2\2\2\u0544\u0541\3\2\2\2\u0545\u054a\3\2\2\2") - buf.write("\u0546\u0547\7\u008d\2\2\u0547\u0548\7\u01e6\2\2\u0548") - buf.write("\u054a\t\r\2\2\u0549\u0532\3\2\2\2\u0549\u0534\3\2\2\2") - buf.write("\u0549\u0537\3\2\2\2\u0549\u0544\3\2\2\2\u0549\u0546\3") - buf.write("\2\2\2\u054aI\3\2\2\2\u054b\u054c\7\u015f\2\2\u054c\u055a") - buf.write("\7\u03ca\2\2\u054d\u054e\7&\2\2\u054e\u055a\7\u03ca\2") - buf.write("\2\u054f\u0550\7\u021b\2\2\u0550\u055a\7\u03ca\2\2\u0551") - buf.write("\u0552\7\u01b8\2\2\u0552\u055a\7\u03ca\2\2\u0553\u0554") - buf.write("\7\u01f0\2\2\u0554\u055a\7\u03ca\2\2\u0555\u0556\7\u01b1") - buf.write("\2\2\u0556\u055a\7\u03ca\2\2\u0557\u0558\7\u01bd\2\2\u0558") - buf.write("\u055a\5\u020a\u0106\2\u0559\u054b\3\2\2\2\u0559\u054d") - buf.write("\3\2\2\2\u0559\u054f\3\2\2\2\u0559\u0551\3\2\2\2\u0559") - buf.write("\u0553\3\2\2\2\u0559\u0555\3\2\2\2\u0559\u0557\3\2\2\2") - buf.write("\u055aK\3\2\2\2\u055b\u055c\7\u03bb\2\2\u055c\u0561\5") - buf.write("N(\2\u055d\u055e\7\u03bd\2\2\u055e\u0560\5N(\2\u055f\u055d") - buf.write("\3\2\2\2\u0560\u0563\3\2\2\2\u0561\u055f\3\2\2\2\u0561") - buf.write("\u0562\3\2\2\2\u0562\u0564\3\2\2\2\u0563\u0561\3\2\2\2") - buf.write("\u0564\u0565\7\u03bc\2\2\u0565M\3\2\2\2\u0566\u0567\5") - buf.write("\u0204\u0103\2\u0567\u0568\5P)\2\u0568\u056c\3\2\2\2\u0569") - buf.write("\u056c\5T+\2\u056a\u056c\5\\/\2\u056b\u0566\3\2\2\2\u056b") - buf.write("\u0569\3\2\2\2\u056b\u056a\3\2\2\2\u056cO\3\2\2\2\u056d") - buf.write("\u0571\5\u0218\u010d\2\u056e\u0570\5R*\2\u056f\u056e\3") - buf.write("\2\2\2\u0570\u0573\3\2\2\2\u0571\u056f\3\2\2\2\u0571\u0572") - buf.write("\3\2\2\2\u0572Q\3\2\2\2\u0573\u0571\3\2\2\2\u0574\u0596") - buf.write("\5\u0214\u010b\2\u0575\u0576\7)\2\2\u0576\u0596\5\u0232") - buf.write("\u011a\2\u0577\u0596\7\u0106\2\2\u0578\u057a\7t\2\2\u0579") - buf.write("\u0578\3\2\2\2\u0579\u057a\3\2\2\2\u057a\u057b\3\2\2\2") - buf.write("\u057b\u0596\7S\2\2\u057c\u057e\7\u00a0\2\2\u057d\u057f") - buf.write("\7S\2\2\u057e\u057d\3\2\2\2\u057e\u057f\3\2\2\2\u057f") - buf.write("\u0596\3\2\2\2\u0580\u0581\7\u011c\2\2\u0581\u0596\7\u03ca") - buf.write("\2\2\u0582\u0583\7\u011b\2\2\u0583\u0596\t\21\2\2\u0584") - buf.write("\u0585\7\u0203\2\2\u0585\u0596\t\22\2\2\u0586\u0596\5") - buf.write("V,\2\u0587\u0588\7A\2\2\u0588\u058a\7\f\2\2\u0589\u0587") - buf.write("\3\2\2\2\u0589\u058a\3\2\2\2\u058a\u058b\3\2\2\2\u058b") - buf.write("\u058c\7\17\2\2\u058c\u058d\7\u03bb\2\2\u058d\u058e\5") - buf.write("\u0250\u0129\2\u058e\u0590\7\u03bc\2\2\u058f\u0591\t\23") - buf.write("\2\2\u0590\u058f\3\2\2\2\u0590\u0591\3\2\2\2\u0591\u0596") - buf.write("\3\2\2\2\u0592\u0593\7\u00cc\2\2\u0593\u0594\7)\2\2\u0594") - buf.write("\u0596\7\u021f\2\2\u0595\u0574\3\2\2\2\u0595\u0575\3\2") - buf.write("\2\2\u0595\u0577\3\2\2\2\u0595\u0579\3\2\2\2\u0595\u057c") - buf.write("\3\2\2\2\u0595\u0580\3\2\2\2\u0595\u0582\3\2\2\2\u0595") - buf.write("\u0584\3\2\2\2\u0595\u0586\3\2\2\2\u0595\u0589\3\2\2\2") - buf.write("\u0595\u0592\3\2\2\2\u0596S\3\2\2\2\u0597\u0599\7\37\2") - buf.write("\2\u0598\u059a\5\u0204\u0103\2\u0599\u0598\3\2\2\2\u0599") - buf.write("\u059a\3\2\2\2\u059a\u059c\3\2\2\2\u059b\u0597\3\2\2\2") - buf.write("\u059b\u059c\3\2\2\2\u059c\u059d\3\2\2\2\u059d\u059e\7") - buf.write("t\2\2\u059e\u05a0\7S\2\2\u059f\u05a1\5@!\2\u05a0\u059f") - buf.write("\3\2\2\2\u05a0\u05a1\3\2\2\2\u05a1\u05a2\3\2\2\2\u05a2") - buf.write("\u05a6\5\u0226\u0114\2\u05a3\u05a5\5B\"\2\u05a4\u05a3") - buf.write("\3\2\2\2\u05a5\u05a8\3\2\2\2\u05a6\u05a4\3\2\2\2\u05a6") - buf.write("\u05a7\3\2\2\2\u05a7\u05da\3\2\2\2\u05a8\u05a6\3\2\2\2") - buf.write("\u05a9\u05ab\7\37\2\2\u05aa\u05ac\5\u0204\u0103\2\u05ab") - buf.write("\u05aa\3\2\2\2\u05ab\u05ac\3\2\2\2\u05ac\u05ae\3\2\2\2") - buf.write("\u05ad\u05a9\3\2\2\2\u05ad\u05ae\3\2\2\2\u05ae\u05af\3") - buf.write("\2\2\2\u05af\u05b1\7\u00a0\2\2\u05b0\u05b2\t\24\2\2\u05b1") - buf.write("\u05b0\3\2\2\2\u05b1\u05b2\3\2\2\2\u05b2\u05b4\3\2\2\2") - buf.write("\u05b3\u05b5\5\u0204\u0103\2\u05b4\u05b3\3\2\2\2\u05b4") - buf.write("\u05b5\3\2\2\2\u05b5\u05b7\3\2\2\2\u05b6\u05b8\5@!\2\u05b7") - buf.write("\u05b6\3\2\2\2\u05b7\u05b8\3\2\2\2\u05b8\u05b9\3\2\2\2") - buf.write("\u05b9\u05bd\5\u0226\u0114\2\u05ba\u05bc\5B\"\2\u05bb") - buf.write("\u05ba\3\2\2\2\u05bc\u05bf\3\2\2\2\u05bd\u05bb\3\2\2\2") - buf.write("\u05bd\u05be\3\2\2\2\u05be\u05da\3\2\2\2\u05bf\u05bd\3") - buf.write("\2\2\2\u05c0\u05c2\7\37\2\2\u05c1\u05c3\5\u0204\u0103") - buf.write("\2\u05c2\u05c1\3\2\2\2\u05c2\u05c3\3\2\2\2\u05c3\u05c5") - buf.write("\3\2\2\2\u05c4\u05c0\3\2\2\2\u05c4\u05c5\3\2\2\2\u05c5") - buf.write("\u05c6\3\2\2\2\u05c6\u05c7\7>\2\2\u05c7\u05c9\7S\2\2\u05c8") - buf.write("\u05ca\5\u0204\u0103\2\u05c9\u05c8\3\2\2\2\u05c9\u05ca") - buf.write("\3\2\2\2\u05ca\u05cb\3\2\2\2\u05cb\u05cc\5\u0226\u0114") - buf.write("\2\u05cc\u05cd\5V,\2\u05cd\u05da\3\2\2\2\u05ce\u05d0\7") - buf.write("\37\2\2\u05cf\u05d1\5\u0204\u0103\2\u05d0\u05cf\3\2\2") - buf.write("\2\u05d0\u05d1\3\2\2\2\u05d1\u05d3\3\2\2\2\u05d2\u05ce") - buf.write("\3\2\2\2\u05d2\u05d3\3\2\2\2\u05d3\u05d4\3\2\2\2\u05d4") - buf.write("\u05d5\7\33\2\2\u05d5\u05d6\7\u03bb\2\2\u05d6\u05d7\5") - buf.write("\u0250\u0129\2\u05d7\u05d8\7\u03bc\2\2\u05d8\u05da\3\2") - buf.write("\2\2\u05d9\u059b\3\2\2\2\u05d9\u05ad\3\2\2\2\u05d9\u05c4") - buf.write("\3\2\2\2\u05d9\u05d2\3\2\2\2\u05daU\3\2\2\2\u05db\u05dc") - buf.write("\7z\2\2\u05dc\u05dd\5\u01ec\u00f7\2\u05dd\u05e0\5\u0226") - buf.write("\u0114\2\u05de\u05df\7c\2\2\u05df\u05e1\t\25\2\2\u05e0") - buf.write("\u05de\3\2\2\2\u05e0\u05e1\3\2\2\2\u05e1\u05e3\3\2\2\2") - buf.write("\u05e2\u05e4\5X-\2\u05e3\u05e2\3\2\2\2\u05e3\u05e4\3\2") - buf.write("\2\2\u05e4W\3\2\2\2\u05e5\u05e6\7j\2\2\u05e6\u05e7\7+") - buf.write("\2\2\u05e7\u05eb\5Z.\2\u05e8\u05e9\7j\2\2\u05e9\u05ea") - buf.write("\7\u00a3\2\2\u05ea\u05ec\5Z.\2\u05eb\u05e8\3\2\2\2\u05eb") - buf.write("\u05ec\3\2\2\2\u05ec\u05f6\3\2\2\2\u05ed\u05ee\7j\2\2") - buf.write("\u05ee\u05ef\7\u00a3\2\2\u05ef\u05f3\5Z.\2\u05f0\u05f1") - buf.write("\7j\2\2\u05f1\u05f2\7+\2\2\u05f2\u05f4\5Z.\2\u05f3\u05f0") - buf.write("\3\2\2\2\u05f3\u05f4\3\2\2\2\u05f4\u05f6\3\2\2\2\u05f5") - buf.write("\u05e5\3\2\2\2\u05f5\u05ed\3\2\2\2\u05f6Y\3\2\2\2\u05f7") - buf.write("\u05fe\7\u0081\2\2\u05f8\u05fe\7\26\2\2\u05f9\u05fa\7") - buf.write("\u0089\2\2\u05fa\u05fe\7i\2\2\u05fb\u05fc\7\u01a4\2\2") - buf.write("\u05fc\u05fe\7\u00fd\2\2\u05fd\u05f7\3\2\2\2\u05fd\u05f8") - buf.write("\3\2\2\2\u05fd\u05f9\3\2\2\2\u05fd\u05fb\3\2\2\2\u05fe") - buf.write("[\3\2\2\2\u05ff\u0601\t\24\2\2\u0600\u0602\5\u0204\u0103") - buf.write("\2\u0601\u0600\3\2\2\2\u0601\u0602\3\2\2\2\u0602\u0604") - buf.write("\3\2\2\2\u0603\u0605\5@!\2\u0604\u0603\3\2\2\2\u0604\u0605") - buf.write("\3\2\2\2\u0605\u0606\3\2\2\2\u0606\u060a\5\u0226\u0114") - buf.write("\2\u0607\u0609\5B\"\2\u0608\u0607\3\2\2\2\u0609\u060c") - buf.write("\3\2\2\2\u060a\u0608\3\2\2\2\u060a\u060b\3\2\2\2\u060b") - buf.write("\u061c\3\2\2\2\u060c\u060a\3\2\2\2\u060d\u060f\t\26\2") - buf.write("\2\u060e\u0610\t\24\2\2\u060f\u060e\3\2\2\2\u060f\u0610") - buf.write("\3\2\2\2\u0610\u0612\3\2\2\2\u0611\u0613\5\u0204\u0103") - buf.write("\2\u0612\u0611\3\2\2\2\u0612\u0613\3\2\2\2\u0613\u0614") - buf.write("\3\2\2\2\u0614\u0618\5\u0226\u0114\2\u0615\u0617\5B\"") - buf.write("\2\u0616\u0615\3\2\2\2\u0617\u061a\3\2\2\2\u0618\u0616") - buf.write("\3\2\2\2\u0618\u0619\3\2\2\2\u0619\u061c\3\2\2\2\u061a") - buf.write("\u0618\3\2\2\2\u061b\u05ff\3\2\2\2\u061b\u060d\3\2\2\2") - buf.write("\u061c]\3\2\2\2\u061d\u061f\7\u013d\2\2\u061e\u0620\7") - buf.write("\u03b2\2\2\u061f\u061e\3\2\2\2\u061f\u0620\3\2\2\2\u0620") - buf.write("\u0621\3\2\2\2\u0621\u06aa\5\u01fa\u00fe\2\u0622\u0624") - buf.write("\7\u0106\2\2\u0623\u0625\7\u03b2\2\2\u0624\u0623\3\2\2") - buf.write("\2\u0624\u0625\3\2\2\2\u0625\u0626\3\2\2\2\u0626\u06aa") - buf.write("\5\u020a\u0106\2\u0627\u0629\7\u0107\2\2\u0628\u062a\7") - buf.write("\u03b2\2\2\u0629\u0628\3\2\2\2\u0629\u062a\3\2\2\2\u062a") - buf.write("\u062b\3\2\2\2\u062b\u06aa\5\u020a\u0106\2\u062c\u062e") - buf.write("\7)\2\2\u062d\u062c\3\2\2\2\u062d\u062e\3\2\2\2\u062e") - buf.write("\u0632\3\2\2\2\u062f\u0630\7\32\2\2\u0630\u0633\7\u0089") - buf.write("\2\2\u0631\u0633\7\u029b\2\2\u0632\u062f\3\2\2\2\u0632") - buf.write("\u0631\3\2\2\2\u0633\u0635\3\2\2\2\u0634\u0636\7\u03b2") - buf.write("\2\2\u0635\u0634\3\2\2\2\u0635\u0636\3\2\2\2\u0636\u0637") - buf.write("\3\2\2\2\u0637\u06aa\5\u01f6\u00fc\2\u0638\u063a\7\u0114") - buf.write("\2\2\u0639\u063b\7\u03b2\2\2\u063a\u0639\3\2\2\2\u063a") - buf.write("\u063b\3\2\2\2\u063b\u063c\3\2\2\2\u063c\u06aa\t\27\2") - buf.write("\2\u063d\u063f\7)\2\2\u063e\u063d\3\2\2\2\u063e\u063f") - buf.write("\3\2\2\2\u063f\u0640\3\2\2\2\u0640\u0642\7\34\2\2\u0641") - buf.write("\u0643\7\u03b2\2\2\u0642\u0641\3\2\2\2\u0642\u0643\3\2") - buf.write("\2\2\u0643\u0644\3\2\2\2\u0644\u06aa\5\u01f8\u00fd\2\u0645") - buf.write("\u0647\7\u011c\2\2\u0646\u0648\7\u03b2\2\2\u0647\u0646") - buf.write("\3\2\2\2\u0647\u0648\3\2\2\2\u0648\u0649\3\2\2\2\u0649") - buf.write("\u06aa\7\u03ca\2\2\u064a\u064c\7\u0121\2\2\u064b\u064d") - buf.write("\7\u03b2\2\2\u064c\u064b\3\2\2\2\u064c\u064d\3\2\2\2\u064d") - buf.write("\u064e\3\2\2\2\u064e\u06aa\7\u03ca\2\2\u064f\u0651\7\u0123") - buf.write("\2\2\u0650\u0652\7\u03b2\2\2\u0651\u0650\3\2\2\2\u0651") - buf.write("\u0652\3\2\2\2\u0652\u0653\3\2\2\2\u0653\u06aa\7\u03ca") - buf.write("\2\2\u0654\u0655\7\u012a\2\2\u0655\u0657\7\u0131\2\2\u0656") - buf.write("\u0658\7\u03b2\2\2\u0657\u0656\3\2\2\2\u0657\u0658\3\2") - buf.write("\2\2\u0658\u0659\3\2\2\2\u0659\u06aa\7\u03ca\2\2\u065a") - buf.write("\u065c\7\u012f\2\2\u065b\u065d\7\u03b2\2\2\u065c\u065b") - buf.write("\3\2\2\2\u065c\u065d\3\2\2\2\u065d\u065e\3\2\2\2\u065e") - buf.write("\u06aa\t\27\2\2\u065f\u0661\7\u013a\2\2\u0660\u0662\7") - buf.write("\u03b2\2\2\u0661\u0660\3\2\2\2\u0661\u0662\3\2\2\2\u0662") - buf.write("\u0663\3\2\2\2\u0663\u06aa\7\u03ca\2\2\u0664\u0665\7I") - buf.write("\2\2\u0665\u0667\7\u0131\2\2\u0666\u0668\7\u03b2\2\2\u0667") - buf.write("\u0666\3\2\2\2\u0667\u0668\3\2\2\2\u0668\u0669\3\2\2\2") - buf.write("\u0669\u06aa\7\u03ca\2\2\u066a\u066c\7\u0167\2\2\u066b") - buf.write("\u066d\7\u03b2\2\2\u066c\u066b\3\2\2\2\u066c\u066d\3\2") - buf.write("\2\2\u066d\u066e\3\2\2\2\u066e\u06aa\t\30\2\2\u066f\u0671") - buf.write("\7\u0171\2\2\u0670\u0672\7\u03b2\2\2\u0671\u0670\3\2\2") - buf.write("\2\u0671\u0672\3\2\2\2\u0672\u0673\3\2\2\2\u0673\u06aa") - buf.write("\5\u020c\u0107\2\u0674\u0676\7\u0192\2\2\u0675\u0677\7") - buf.write("\u03b2\2\2\u0676\u0675\3\2\2\2\u0676\u0677\3\2\2\2\u0677") - buf.write("\u0678\3\2\2\2\u0678\u06aa\5\u020a\u0106\2\u0679\u067b") - buf.write("\7\u019a\2\2\u067a\u067c\7\u03b2\2\2\u067b\u067a\3\2\2") - buf.write("\2\u067b\u067c\3\2\2\2\u067c\u067d\3\2\2\2\u067d\u06aa") - buf.write("\5\u020a\u0106\2\u067e\u0680\7\u01b2\2\2\u067f\u0681\7") - buf.write("\u03b2\2\2\u0680\u067f\3\2\2\2\u0680\u0681\3\2\2\2\u0681") - buf.write("\u0682\3\2\2\2\u0682\u06aa\t\31\2\2\u0683\u0685\7\u01b8") - buf.write("\2\2\u0684\u0686\7\u03b2\2\2\u0685\u0684\3\2\2\2\u0685") - buf.write("\u0686\3\2\2\2\u0686\u0687\3\2\2\2\u0687\u06aa\7\u03ca") - buf.write("\2\2\u0688\u068a\7\u01e3\2\2\u0689\u068b\7\u03b2\2\2\u068a") - buf.write("\u0689\3\2\2\2\u068a\u068b\3\2\2\2\u068b\u068c\3\2\2\2") - buf.write("\u068c\u06aa\t\32\2\2\u068d\u068f\7\u01fe\2\2\u068e\u0690") - buf.write("\7\u03b2\2\2\u068f\u068e\3\2\2\2\u068f\u0690\3\2\2\2\u0690") - buf.write("\u0691\3\2\2\2\u0691\u06aa\t\31\2\2\u0692\u0694\7\u01ff") - buf.write("\2\2\u0693\u0695\7\u03b2\2\2\u0694\u0693\3\2\2\2\u0694") - buf.write("\u0695\3\2\2\2\u0695\u0696\3\2\2\2\u0696\u06aa\t\31\2") - buf.write("\2\u0697\u0699\7\u0200\2\2\u0698\u069a\7\u03b2\2\2\u0699") - buf.write("\u0698\3\2\2\2\u0699\u069a\3\2\2\2\u069a\u069b\3\2\2\2") - buf.write("\u069b\u06aa\5\u020a\u0106\2\u069c\u069d\7\u020c\2\2\u069d") - buf.write("\u069f\5\u0204\u0103\2\u069e\u06a0\5`\61\2\u069f\u069e") - buf.write("\3\2\2\2\u069f\u06a0\3\2\2\2\u06a0\u06aa\3\2\2\2\u06a1") - buf.write("\u06a3\7\u009f\2\2\u06a2\u06a4\7\u03b2\2\2\u06a3\u06a2") - buf.write("\3\2\2\2\u06a3\u06a4\3\2\2\2\u06a4\u06a5\3\2\2\2\u06a5") - buf.write("\u06a6\7\u03bb\2\2\u06a6\u06a7\5\u0224\u0113\2\u06a7\u06a8") - buf.write("\7\u03bc\2\2\u06a8\u06aa\3\2\2\2\u06a9\u061d\3\2\2\2\u06a9") - buf.write("\u0622\3\2\2\2\u06a9\u0627\3\2\2\2\u06a9\u062d\3\2\2\2") - buf.write("\u06a9\u0638\3\2\2\2\u06a9\u063e\3\2\2\2\u06a9\u0645\3") - buf.write("\2\2\2\u06a9\u064a\3\2\2\2\u06a9\u064f\3\2\2\2\u06a9\u0654") - buf.write("\3\2\2\2\u06a9\u065a\3\2\2\2\u06a9\u065f\3\2\2\2\u06a9") - buf.write("\u0664\3\2\2\2\u06a9\u066a\3\2\2\2\u06a9\u066f\3\2\2\2") - buf.write("\u06a9\u0674\3\2\2\2\u06a9\u0679\3\2\2\2\u06a9\u067e\3") - buf.write("\2\2\2\u06a9\u0683\3\2\2\2\u06a9\u0688\3\2\2\2\u06a9\u068d") - buf.write("\3\2\2\2\u06a9\u0692\3\2\2\2\u06a9\u0697\3\2\2\2\u06a9") - buf.write("\u069c\3\2\2\2\u06a9\u06a1\3\2\2\2\u06aa_\3\2\2\2\u06ab") - buf.write("\u06ac\7\u0203\2\2\u06ac\u06ad\t\22\2\2\u06ada\3\2\2\2") - buf.write("\u06ae\u06af\7s\2\2\u06af\u06b0\7\24\2\2\u06b0\u06b3\5") - buf.write("d\63\2\u06b1\u06b2\7\u01b7\2\2\u06b2\u06b4\5\u020a\u0106") - buf.write("\2\u06b3\u06b1\3\2\2\2\u06b3\u06b4\3\2\2\2\u06b4\u06bc") - buf.write("\3\2\2\2\u06b5\u06b6\7\u0207\2\2\u06b6\u06b7\7\24\2\2") - buf.write("\u06b7\u06ba\5f\64\2\u06b8\u06b9\7\u0208\2\2\u06b9\u06bb") - buf.write("\5\u020a\u0106\2\u06ba\u06b8\3\2\2\2\u06ba\u06bb\3\2\2") - buf.write("\2\u06bb\u06bd\3\2\2\2\u06bc\u06b5\3\2\2\2\u06bc\u06bd") - buf.write("\3\2\2\2\u06bd\u06c9\3\2\2\2\u06be\u06bf\7\u03bb\2\2\u06bf") - buf.write("\u06c4\5h\65\2\u06c0\u06c1\7\u03bd\2\2\u06c1\u06c3\5h") - buf.write("\65\2\u06c2\u06c0\3\2\2\2\u06c3\u06c6\3\2\2\2\u06c4\u06c2") - buf.write("\3\2\2\2\u06c4\u06c5\3\2\2\2\u06c5\u06c7\3\2\2\2\u06c6") - buf.write("\u06c4\3\2\2\2\u06c7\u06c8\7\u03bc\2\2\u06c8\u06ca\3\2") - buf.write("\2\2\u06c9\u06be\3\2\2\2\u06c9\u06ca\3\2\2\2\u06cac\3") - buf.write("\2\2\2\u06cb\u06cd\7[\2\2\u06cc\u06cb\3\2\2\2\u06cc\u06cd") - buf.write("\3\2\2\2\u06cd\u06ce\3\2\2\2\u06ce\u06cf\7\u015d\2\2\u06cf") - buf.write("\u06d0\7\u03bb\2\2\u06d0\u06d1\5\u0250\u0129\2\u06d1\u06d2") - buf.write("\7\u03bc\2\2\u06d2\u06f9\3\2\2\2\u06d3\u06d5\7[\2\2\u06d4") - buf.write("\u06d3\3\2\2\2\u06d4\u06d5\3\2\2\2\u06d5\u06d6\3\2\2\2") - buf.write("\u06d6\u06da\7S\2\2\u06d7\u06d8\7\u0100\2\2\u06d8\u06d9") - buf.write("\7\u03b2\2\2\u06d9\u06db\t\33\2\2\u06da\u06d7\3\2\2\2") - buf.write("\u06da\u06db\3\2\2\2\u06db\u06dc\3\2\2\2\u06dc\u06dd\7") - buf.write("\u03bb\2\2\u06dd\u06de\5\u0222\u0112\2\u06de\u06df\7\u03bc") - buf.write("\2\2\u06df\u06f9\3\2\2\2\u06e0\u06ea\7w\2\2\u06e1\u06e2") - buf.write("\7\u03bb\2\2\u06e2\u06e3\5\u0250\u0129\2\u06e3\u06e4\7") - buf.write("\u03bc\2\2\u06e4\u06eb\3\2\2\2\u06e5\u06e6\7\u011a\2\2") - buf.write("\u06e6\u06e7\7\u03bb\2\2\u06e7\u06e8\5\u0222\u0112\2\u06e8") - buf.write("\u06e9\7\u03bc\2\2\u06e9\u06eb\3\2\2\2\u06ea\u06e1\3\2") - buf.write("\2\2\u06ea\u06e5\3\2\2\2\u06eb\u06f9\3\2\2\2\u06ec\u06f6") - buf.write("\7\u0177\2\2\u06ed\u06ee\7\u03bb\2\2\u06ee\u06ef\5\u0250") - buf.write("\u0129\2\u06ef\u06f0\7\u03bc\2\2\u06f0\u06f7\3\2\2\2\u06f1") - buf.write("\u06f2\7\u011a\2\2\u06f2\u06f3\7\u03bb\2\2\u06f3\u06f4") - buf.write("\5\u0222\u0112\2\u06f4\u06f5\7\u03bc\2\2\u06f5\u06f7\3") - buf.write("\2\2\2\u06f6\u06ed\3\2\2\2\u06f6\u06f1\3\2\2\2\u06f7\u06f9") - buf.write("\3\2\2\2\u06f8\u06cc\3\2\2\2\u06f8\u06d4\3\2\2\2\u06f8") - buf.write("\u06e0\3\2\2\2\u06f8\u06ec\3\2\2\2\u06f9e\3\2\2\2\u06fa") - buf.write("\u06fc\7[\2\2\u06fb\u06fa\3\2\2\2\u06fb\u06fc\3\2\2\2") - buf.write("\u06fc\u06fd\3\2\2\2\u06fd\u06fe\7\u015d\2\2\u06fe\u06ff") - buf.write("\7\u03bb\2\2\u06ff\u0700\5\u0250\u0129\2\u0700\u0701\7") - buf.write("\u03bc\2\2\u0701\u0710\3\2\2\2\u0702\u0704\7[\2\2\u0703") - buf.write("\u0702\3\2\2\2\u0703\u0704\3\2\2\2\u0704\u0705\3\2\2\2") - buf.write("\u0705\u0709\7S\2\2\u0706\u0707\7\u0100\2\2\u0707\u0708") - buf.write("\7\u03b2\2\2\u0708\u070a\t\33\2\2\u0709\u0706\3\2\2\2") - buf.write("\u0709\u070a\3\2\2\2\u070a\u070b\3\2\2\2\u070b\u070c\7") - buf.write("\u03bb\2\2\u070c\u070d\5\u0222\u0112\2\u070d\u070e\7\u03bc") - buf.write("\2\2\u070e\u0710\3\2\2\2\u070f\u06fb\3\2\2\2\u070f\u0703") - buf.write("\3\2\2\2\u0710g\3\2\2\2\u0711\u0712\7s\2\2\u0712\u0713") - buf.write("\5\u0204\u0103\2\u0713\u0714\7\u00a7\2\2\u0714\u0715\7") - buf.write("\u0175\2\2\u0715\u0716\7\u020f\2\2\u0716\u0717\7\u03bb") - buf.write("\2\2\u0717\u071c\5j\66\2\u0718\u0719\7\u03bd\2\2\u0719") - buf.write("\u071b\5j\66\2\u071a\u0718\3\2\2\2\u071b\u071e\3\2\2\2") - buf.write("\u071c\u071a\3\2\2\2\u071c\u071d\3\2\2\2\u071d\u071f\3") - buf.write("\2\2\2\u071e\u071c\3\2\2\2\u071f\u0723\7\u03bc\2\2\u0720") - buf.write("\u0722\5p9\2\u0721\u0720\3\2\2\2\u0722\u0725\3\2\2\2\u0723") - buf.write("\u0721\3\2\2\2\u0723\u0724\3\2\2\2\u0724\u072e\3\2\2\2") - buf.write("\u0725\u0723\3\2\2\2\u0726\u072b\5n8\2\u0727\u0728\7\u03bd") - buf.write("\2\2\u0728\u072a\5n8\2\u0729\u0727\3\2\2\2\u072a\u072d") - buf.write("\3\2\2\2\u072b\u0729\3\2\2\2\u072b\u072c\3\2\2\2\u072c") - buf.write("\u072f\3\2\2\2\u072d\u072b\3\2\2\2\u072e\u0726\3\2\2\2") - buf.write("\u072e\u072f\3\2\2\2\u072f\u077f\3\2\2\2\u0730\u0731\7") - buf.write("s\2\2\u0731\u0732\5\u0204\u0103\2\u0732\u0733\7\u00a7") - buf.write("\2\2\u0733\u0734\7H\2\2\u0734\u0735\7\u03bb\2\2\u0735") - buf.write("\u073a\5j\66\2\u0736\u0737\7\u03bd\2\2\u0737\u0739\5j") - buf.write("\66\2\u0738\u0736\3\2\2\2\u0739\u073c\3\2\2\2\u073a\u0738") - buf.write("\3\2\2\2\u073a\u073b\3\2\2\2\u073b\u073d\3\2\2\2\u073c") - buf.write("\u073a\3\2\2\2\u073d\u0741\7\u03bc\2\2\u073e\u0740\5p") - buf.write("9\2\u073f\u073e\3\2\2\2\u0740\u0743\3\2\2\2\u0741\u073f") - buf.write("\3\2\2\2\u0741\u0742\3\2\2\2\u0742\u074c\3\2\2\2\u0743") - buf.write("\u0741\3\2\2\2\u0744\u0749\5n8\2\u0745\u0746\7\u03bd\2") - buf.write("\2\u0746\u0748\5n8\2\u0747\u0745\3\2\2\2\u0748\u074b\3") - buf.write("\2\2\2\u0749\u0747\3\2\2\2\u0749\u074a\3\2\2\2\u074a\u074d") - buf.write("\3\2\2\2\u074b\u0749\3\2\2\2\u074c\u0744\3\2\2\2\u074c") - buf.write("\u074d\3\2\2\2\u074d\u077f\3\2\2\2\u074e\u074f\7s\2\2") - buf.write("\u074f\u0750\5\u0204\u0103\2\u0750\u0751\7\u00a7\2\2\u0751") - buf.write("\u0752\7H\2\2\u0752\u0753\7\u03bb\2\2\u0753\u0758\5l\67") - buf.write("\2\u0754\u0755\7\u03bd\2\2\u0755\u0757\5l\67\2\u0756\u0754") - buf.write("\3\2\2\2\u0757\u075a\3\2\2\2\u0758\u0756\3\2\2\2\u0758") - buf.write("\u0759\3\2\2\2\u0759\u075b\3\2\2\2\u075a\u0758\3\2\2\2") - buf.write("\u075b\u075f\7\u03bc\2\2\u075c\u075e\5p9\2\u075d\u075c") - buf.write("\3\2\2\2\u075e\u0761\3\2\2\2\u075f\u075d\3\2\2\2\u075f") - buf.write("\u0760\3\2\2\2\u0760\u076a\3\2\2\2\u0761\u075f\3\2\2\2") - buf.write("\u0762\u0767\5n8\2\u0763\u0764\7\u03bd\2\2\u0764\u0766") - buf.write("\5n8\2\u0765\u0763\3\2\2\2\u0766\u0769\3\2\2\2\u0767\u0765") - buf.write("\3\2\2\2\u0767\u0768\3\2\2\2\u0768\u076b\3\2\2\2\u0769") - buf.write("\u0767\3\2\2\2\u076a\u0762\3\2\2\2\u076a\u076b\3\2\2\2") - buf.write("\u076b\u077f\3\2\2\2\u076c\u076d\7s\2\2\u076d\u0771\5") - buf.write("\u0204\u0103\2\u076e\u0770\5p9\2\u076f\u076e\3\2\2\2\u0770") - buf.write("\u0773\3\2\2\2\u0771\u076f\3\2\2\2\u0771\u0772\3\2\2\2") - buf.write("\u0772\u077c\3\2\2\2\u0773\u0771\3\2\2\2\u0774\u0779\5") - buf.write("n8\2\u0775\u0776\7\u03bd\2\2\u0776\u0778\5n8\2\u0777\u0775") - buf.write("\3\2\2\2\u0778\u077b\3\2\2\2\u0779\u0777\3\2\2\2\u0779") - buf.write("\u077a\3\2\2\2\u077a\u077d\3\2\2\2\u077b\u0779\3\2\2\2") - buf.write("\u077c\u0774\3\2\2\2\u077c\u077d\3\2\2\2\u077d\u077f\3") - buf.write("\2\2\2\u077e\u0711\3\2\2\2\u077e\u0730\3\2\2\2\u077e\u074e") - buf.write("\3\2\2\2\u077e\u076c\3\2\2\2\u077fi\3\2\2\2\u0780\u0784") - buf.write("\5\u0216\u010c\2\u0781\u0784\7d\2\2\u0782\u0784\5\u0250") - buf.write("\u0129\2\u0783\u0780\3\2\2\2\u0783\u0781\3\2\2\2\u0783") - buf.write("\u0782\3\2\2\2\u0784k\3\2\2\2\u0785\u0786\7\u03bb\2\2") - buf.write("\u0786\u0789\5j\66\2\u0787\u0788\7\u03bd\2\2\u0788\u078a") - buf.write("\5j\66\2\u0789\u0787\3\2\2\2\u078a\u078b\3\2\2\2\u078b") - buf.write("\u0789\3\2\2\2\u078b\u078c\3\2\2\2\u078c\u078d\3\2\2\2") - buf.write("\u078d\u078e\7\u03bc\2\2\u078em\3\2\2\2\u078f\u0790\7") - buf.write("\u0207\2\2\u0790\u0794\5\u0204\u0103\2\u0791\u0793\5p") - buf.write("9\2\u0792\u0791\3\2\2\2\u0793\u0796\3\2\2\2\u0794\u0792") - buf.write("\3\2\2\2\u0794\u0795\3\2\2\2\u0795o\3\2\2\2\u0796\u0794") - buf.write("\3\2\2\2\u0797\u0799\7\u0203\2\2\u0798\u0797\3\2\2\2\u0798") - buf.write("\u0799\3\2\2\2\u0799\u079a\3\2\2\2\u079a\u079c\7\u013d") - buf.write("\2\2\u079b\u079d\7\u03b2\2\2\u079c\u079b\3\2\2\2\u079c") - buf.write("\u079d\3\2\2\2\u079d\u079e\3\2\2\2\u079e\u07c5\5\u01fa") - buf.write("\u00fe\2\u079f\u07a1\7\u011c\2\2\u07a0\u07a2\7\u03b2\2") - buf.write("\2\u07a1\u07a0\3\2\2\2\u07a1\u07a2\3\2\2\2\u07a2\u07a3") - buf.write("\3\2\2\2\u07a3\u07c5\7\u03ca\2\2\u07a4\u07a5\7\u012a\2") - buf.write("\2\u07a5\u07a7\7\u0131\2\2\u07a6\u07a8\7\u03b2\2\2\u07a7") - buf.write("\u07a6\3\2\2\2\u07a7\u07a8\3\2\2\2\u07a8\u07a9\3\2\2\2") - buf.write("\u07a9\u07c5\7\u03ca\2\2\u07aa\u07ab\7I\2\2\u07ab\u07ad") - buf.write("\7\u0131\2\2\u07ac\u07ae\7\u03b2\2\2\u07ad\u07ac\3\2\2") - buf.write("\2\u07ad\u07ae\3\2\2\2\u07ae\u07af\3\2\2\2\u07af\u07c5") - buf.write("\7\u03ca\2\2\u07b0\u07b2\7\u0192\2\2\u07b1\u07b3\7\u03b2") - buf.write("\2\2\u07b2\u07b1\3\2\2\2\u07b2\u07b3\3\2\2\2\u07b3\u07b4") - buf.write("\3\2\2\2\u07b4\u07c5\5\u020a\u0106\2\u07b5\u07b7\7\u019a") - buf.write("\2\2\u07b6\u07b8\7\u03b2\2\2\u07b7\u07b6\3\2\2\2\u07b7") - buf.write("\u07b8\3\2\2\2\u07b8\u07b9\3\2\2\2\u07b9\u07c5\5\u020a") - buf.write("\u0106\2\u07ba\u07bc\7\u020c\2\2\u07bb\u07bd\7\u03b2\2") - buf.write("\2\u07bc\u07bb\3\2\2\2\u07bc\u07bd\3\2\2\2\u07bd\u07be") - buf.write("\3\2\2\2\u07be\u07c5\5\u0204\u0103\2\u07bf\u07c1\7\u01a5") - buf.write("\2\2\u07c0\u07c2\7\u03b2\2\2\u07c1\u07c0\3\2\2\2\u07c1") - buf.write("\u07c2\3\2\2\2\u07c2\u07c3\3\2\2\2\u07c3\u07c5\5\u0204") - buf.write("\u0103\2\u07c4\u0798\3\2\2\2\u07c4\u079f\3\2\2\2\u07c4") - buf.write("\u07a4\3\2\2\2\u07c4\u07aa\3\2\2\2\u07c4\u07b0\3\2\2\2") - buf.write("\u07c4\u07b5\3\2\2\2\u07c4\u07ba\3\2\2\2\u07c4\u07bf\3") - buf.write("\2\2\2\u07c5q\3\2\2\2\u07c6\u07c7\7\13\2\2\u07c7\u07c9") - buf.write("\t\2\2\2\u07c8\u07ca\5\u0204\u0103\2\u07c9\u07c8\3\2\2") - buf.write("\2\u07c9\u07ca\3\2\2\2\u07ca\u07cc\3\2\2\2\u07cb\u07cd") - buf.write("\5\62\32\2\u07cc\u07cb\3\2\2\2\u07cd\u07ce\3\2\2\2\u07ce") - buf.write("\u07cc\3\2\2\2\u07ce\u07cf\3\2\2\2\u07cf\u07d9\3\2\2\2") - buf.write("\u07d0\u07d1\7\13\2\2\u07d1\u07d2\t\2\2\2\u07d2\u07d3") - buf.write("\5\u0204\u0103\2\u07d3\u07d4\7\u021a\2\2\u07d4\u07d5\7") - buf.write("\u012a\2\2\u07d5\u07d6\7\u0131\2\2\u07d6\u07d7\7\u019f") - buf.write("\2\2\u07d7\u07d9\3\2\2\2\u07d8\u07c6\3\2\2\2\u07d8\u07d0") - buf.write("\3\2\2\2\u07d9s\3\2\2\2\u07da\u07dc\7\13\2\2\u07db\u07dd") - buf.write("\5\64\33\2\u07dc\u07db\3\2\2\2\u07dc\u07dd\3\2\2\2\u07dd") - buf.write("\u07de\3\2\2\2\u07de\u07df\7\u0143\2\2\u07df\u07e3\5\u01ea") - buf.write("\u00f6\2\u07e0\u07e1\7j\2\2\u07e1\u07e2\7\u01e5\2\2\u07e2") - buf.write("\u07e4\5\66\34\2\u07e3\u07e0\3\2\2\2\u07e3\u07e4\3\2\2") - buf.write("\2\u07e4\u07eb\3\2\2\2\u07e5\u07e6\7j\2\2\u07e6\u07e8") - buf.write("\7\u011f\2\2\u07e7\u07e9\7g\2\2\u07e8\u07e7\3\2\2\2\u07e8") - buf.write("\u07e9\3\2\2\2\u07e9\u07ea\3\2\2\2\u07ea\u07ec\7\u01c0") - buf.write("\2\2\u07eb\u07e5\3\2\2\2\u07eb\u07ec\3\2\2\2\u07ec\u07f0") - buf.write("\3\2\2\2\u07ed\u07ee\7}\2\2\u07ee\u07ef\7\u009a\2\2\u07ef") - buf.write("\u07f1\5\u01ea\u00f6\2\u07f0\u07ed\3\2\2\2\u07f0\u07f1") - buf.write("\3\2\2\2\u07f1\u07f3\3\2\2\2\u07f2\u07f4\5> \2\u07f3\u07f2") - buf.write("\3\2\2\2\u07f3\u07f4\3\2\2\2\u07f4\u07f7\3\2\2\2\u07f5") - buf.write("\u07f6\7\u011c\2\2\u07f6\u07f8\7\u03ca\2\2\u07f7\u07f5") - buf.write("\3\2\2\2\u07f7\u07f8\3\2\2\2\u07f8\u07fb\3\2\2\2\u07f9") - buf.write("\u07fa\7\u0135\2\2\u07fa\u07fc\5\u015c\u00af\2\u07fb\u07f9") - buf.write("\3\2\2\2\u07fb\u07fc\3\2\2\2\u07fcu\3\2\2\2\u07fd\u07fe") - buf.write("\7\13\2\2\u07fe\u07ff\7\u0157\2\2\u07ff\u0803\5\u01ea") - buf.write("\u00f6\2\u0800\u0802\5H%\2\u0801\u0800\3\2\2\2\u0802\u0805") - buf.write("\3\2\2\2\u0803\u0801\3\2\2\2\u0803\u0804\3\2\2\2\u0804") - buf.write("w\3\2\2\2\u0805\u0803\3\2\2\2\u0806\u0807\7\13\2\2\u0807") - buf.write("\u0808\7\u0169\2\2\u0808\u0809\7\u01e0\2\2\u0809\u080a") - buf.write("\7\u026d\2\2\u080a\u080b\7\u017b\2\2\u080b\u080c\7S\2") - buf.write("\2\u080cy\3\2\2\2\u080d\u080e\7\13\2\2\u080e\u080f\7\u0179") - buf.write("\2\2\u080f\u0810\7C\2\2\u0810\u0811\5\u0204\u0103\2\u0811") - buf.write("\u0812\7\t\2\2\u0812\u0813\7\u0215\2\2\u0813\u0819\7\u03ca") - buf.write("\2\2\u0814\u0816\7\u0165\2\2\u0815\u0817\7\u03b2\2\2\u0816") - buf.write("\u0815\3\2\2\2\u0816\u0817\3\2\2\2\u0817\u0818\3\2\2\2") - buf.write("\u0818\u081a\5\u020c\u0107\2\u0819\u0814\3\2\2\2\u0819") - buf.write("\u081a\3\2\2\2\u081a\u081c\3\2\2\2\u081b\u081d\7\u0223") - buf.write("\2\2\u081c\u081b\3\2\2\2\u081c\u081d\3\2\2\2\u081d\u081e") - buf.write("\3\2\2\2\u081e\u0820\7\u013d\2\2\u081f\u0821\7\u03b2\2") - buf.write("\2\u0820\u081f\3\2\2\2\u0820\u0821\3\2\2\2\u0821\u0822") - buf.write("\3\2\2\2\u0822\u0823\5\u01fa\u00fe\2\u0823{\3\2\2\2\u0824") - buf.write("\u0825\7\13\2\2\u0825\u0826\7u\2\2\u0826\u082a\5\u01ea") - buf.write("\u00f6\2\u0827\u0829\5H%\2\u0828\u0827\3\2\2\2\u0829\u082c") - buf.write("\3\2\2\2\u082a\u0828\3\2\2\2\u082a\u082b\3\2\2\2\u082b") - buf.write("}\3\2\2\2\u082c\u082a\3\2\2\2\u082d\u082e\7\13\2\2\u082e") - buf.write("\u082f\7\u01e7\2\2\u082f\u0830\5\u0204\u0103\2\u0830\u0831") - buf.write("\7\u01b0\2\2\u0831\u0832\7\u03bb\2\2\u0832\u0837\5J&\2") - buf.write("\u0833\u0834\7\u03bd\2\2\u0834\u0836\5J&\2\u0835\u0833") - buf.write("\3\2\2\2\u0836\u0839\3\2\2\2\u0837\u0835\3\2\2\2\u0837") - buf.write("\u0838\3\2\2\2\u0838\u083a\3\2\2\2\u0839\u0837\3\2\2\2") - buf.write("\u083a\u083b\7\u03bc\2\2\u083b\177\3\2\2\2\u083c\u083e") - buf.write("\7\13\2\2\u083d\u083f\t\3\2\2\u083e\u083d\3\2\2\2\u083e") - buf.write("\u083f\3\2\2\2\u083f\u0841\3\2\2\2\u0840\u0842\7G\2\2") - buf.write("\u0841\u0840\3\2\2\2\u0841\u0842\3\2\2\2\u0842\u0843\3") - buf.write("\2\2\2\u0843\u0844\7\u0097\2\2\u0844\u0845\5\u01ec\u00f7") - buf.write("\2\u0845\u084a\5\u0086D\2\u0846\u0847\7\u03bd\2\2\u0847") - buf.write("\u0849\5\u0086D\2\u0848\u0846\3\2\2\2\u0849\u084c\3\2") - buf.write("\2\2\u084a\u0848\3\2\2\2\u084a\u084b\3\2\2\2\u084b\u084e") - buf.write("\3\2\2\2\u084c\u084a\3\2\2\2\u084d\u084f\5b\62\2\u084e") - buf.write("\u084d\3\2\2\2\u084e\u084f\3\2\2\2\u084f\u0081\3\2\2\2") - buf.write("\u0850\u0851\7\13\2\2\u0851\u0852\7\u020c\2\2\u0852\u0853") - buf.write("\5\u0204\u0103\2\u0853\u0854\t\34\2\2\u0854\u0855\7\u012b") - buf.write("\2\2\u0855\u0859\7\u03ca\2\2\u0856\u0857\7\u0165\2\2\u0857") - buf.write("\u0858\7\u03b2\2\2\u0858\u085a\5\u020c\u0107\2\u0859\u0856") - buf.write("\3\2\2\2\u0859\u085a\3\2\2\2\u085a\u085c\3\2\2\2\u085b") - buf.write("\u085d\7\u0223\2\2\u085c\u085b\3\2\2\2\u085c\u085d\3\2") - buf.write("\2\2\u085d\u085e\3\2\2\2\u085e\u0860\7\u013d\2\2\u085f") - buf.write("\u0861\7\u03b2\2\2\u0860\u085f\3\2\2\2\u0860\u0861\3\2") - buf.write("\2\2\u0861\u0862\3\2\2\2\u0862\u0863\5\u01fa\u00fe\2\u0863") - buf.write("\u0083\3\2\2\2\u0864\u0868\7\13\2\2\u0865\u0866\7\u0100") - buf.write("\2\2\u0866\u0867\7\u03b2\2\2\u0867\u0869\t\f\2\2\u0868") - buf.write("\u0865\3\2\2\2\u0868\u0869\3\2\2\2\u0869\u086b\3\2\2\2") - buf.write("\u086a\u086c\5\64\33\2\u086b\u086a\3\2\2\2\u086b\u086c") - buf.write("\3\2\2\2\u086c\u0870\3\2\2\2\u086d\u086e\7\u008d\2\2\u086e") - buf.write("\u086f\7\u01e6\2\2\u086f\u0871\t\r\2\2\u0870\u086d\3\2") - buf.write("\2\2\u0870\u0871\3\2\2\2\u0871\u0872\3\2\2\2\u0872\u0873") - buf.write("\7\u0221\2\2\u0873\u0878\5\u01ea\u00f6\2\u0874\u0875\7") - buf.write("\u03bb\2\2\u0875\u0876\5\u0222\u0112\2\u0876\u0877\7\u03bc") - buf.write("\2\2\u0877\u0879\3\2\2\2\u0878\u0874\3\2\2\2\u0878\u0879") - buf.write("\3\2\2\2\u0879\u087a\3\2\2\2\u087a\u087b\7\17\2\2\u087b") - buf.write("\u0882\5\u00b4[\2\u087c\u087e\7\u00ab\2\2\u087d\u087f") - buf.write("\t\16\2\2\u087e\u087d\3\2\2\2\u087e\u087f\3\2\2\2\u087f") - buf.write("\u0880\3\2\2\2\u0880\u0881\7\33\2\2\u0881\u0883\7l\2\2") - buf.write("\u0882\u087c\3\2\2\2\u0882\u0883\3\2\2\2\u0883\u0085\3") - buf.write("\2\2\2\u0884\u088b\5^\60\2\u0885\u0887\7\u03bd\2\2\u0886") - buf.write("\u0885\3\2\2\2\u0886\u0887\3\2\2\2\u0887\u0888\3\2\2\2") - buf.write("\u0888\u088a\5^\60\2\u0889\u0886\3\2\2\2\u088a\u088d\3") - buf.write("\2\2\2\u088b\u0889\3\2\2\2\u088b\u088c\3\2\2\2\u088c\u09df") - buf.write("\3\2\2\2\u088d\u088b\3\2\2\2\u088e\u0890\7\t\2\2\u088f") - buf.write("\u0891\7\35\2\2\u0890\u088f\3\2\2\2\u0890\u0891\3\2\2") - buf.write("\2\u0891\u0892\3\2\2\2\u0892\u0893\5\u0204\u0103\2\u0893") - buf.write("\u0897\5P)\2\u0894\u0898\7\u0151\2\2\u0895\u0896\7\u00fe") - buf.write("\2\2\u0896\u0898\5\u0204\u0103\2\u0897\u0894\3\2\2\2\u0897") - buf.write("\u0895\3\2\2\2\u0897\u0898\3\2\2\2\u0898\u09df\3\2\2\2") - buf.write("\u0899\u089b\7\t\2\2\u089a\u089c\7\35\2\2\u089b\u089a") - buf.write("\3\2\2\2\u089b\u089c\3\2\2\2\u089c\u089d\3\2\2\2\u089d") - buf.write("\u089e\7\u03bb\2\2\u089e\u089f\5\u0204\u0103\2\u089f\u08a6") - buf.write("\5P)\2\u08a0\u08a1\7\u03bd\2\2\u08a1\u08a2\5\u0204\u0103") - buf.write("\2\u08a2\u08a3\5P)\2\u08a3\u08a5\3\2\2\2\u08a4\u08a0\3") - buf.write("\2\2\2\u08a5\u08a8\3\2\2\2\u08a6\u08a4\3\2\2\2\u08a6\u08a7") - buf.write("\3\2\2\2\u08a7\u08a9\3\2\2\2\u08a8\u08a6\3\2\2\2\u08a9") - buf.write("\u08aa\7\u03bc\2\2\u08aa\u09df\3\2\2\2\u08ab\u08ac\7\t") - buf.write("\2\2\u08ac\u08ae\t\24\2\2\u08ad\u08af\5\u0204\u0103\2") - buf.write("\u08ae\u08ad\3\2\2\2\u08ae\u08af\3\2\2\2\u08af\u08b1\3") - buf.write("\2\2\2\u08b0\u08b2\5@!\2\u08b1\u08b0\3\2\2\2\u08b1\u08b2") - buf.write("\3\2\2\2\u08b2\u08b3\3\2\2\2\u08b3\u08b7\5\u0226\u0114") - buf.write("\2\u08b4\u08b6\5B\"\2\u08b5\u08b4\3\2\2\2\u08b6\u08b9") - buf.write("\3\2\2\2\u08b7\u08b5\3\2\2\2\u08b7\u08b8\3\2\2\2\u08b8") - buf.write("\u09df\3\2\2\2\u08b9\u08b7\3\2\2\2\u08ba\u08bf\7\t\2\2") - buf.write("\u08bb\u08bd\7\37\2\2\u08bc\u08be\5\u0204\u0103\2\u08bd") - buf.write("\u08bc\3\2\2\2\u08bd\u08be\3\2\2\2\u08be\u08c0\3\2\2\2") - buf.write("\u08bf\u08bb\3\2\2\2\u08bf\u08c0\3\2\2\2\u08c0\u08c1\3") - buf.write("\2\2\2\u08c1\u08c2\7t\2\2\u08c2\u08c4\7S\2\2\u08c3\u08c5") - buf.write("\5@!\2\u08c4\u08c3\3\2\2\2\u08c4\u08c5\3\2\2\2\u08c5\u08c6") - buf.write("\3\2\2\2\u08c6\u08ca\5\u0226\u0114\2\u08c7\u08c9\5B\"") - buf.write("\2\u08c8\u08c7\3\2\2\2\u08c9\u08cc\3\2\2\2\u08ca\u08c8") - buf.write("\3\2\2\2\u08ca\u08cb\3\2\2\2\u08cb\u09df\3\2\2\2\u08cc") - buf.write("\u08ca\3\2\2\2\u08cd\u08d2\7\t\2\2\u08ce\u08d0\7\37\2") - buf.write("\2\u08cf\u08d1\5\u0204\u0103\2\u08d0\u08cf\3\2\2\2\u08d0") - buf.write("\u08d1\3\2\2\2\u08d1\u08d3\3\2\2\2\u08d2\u08ce\3\2\2\2") - buf.write("\u08d2\u08d3\3\2\2\2\u08d3\u08d4\3\2\2\2\u08d4\u08d6\7") - buf.write("\u00a0\2\2\u08d5\u08d7\t\24\2\2\u08d6\u08d5\3\2\2\2\u08d6") - buf.write("\u08d7\3\2\2\2\u08d7\u08d9\3\2\2\2\u08d8\u08da\5\u0204") - buf.write("\u0103\2\u08d9\u08d8\3\2\2\2\u08d9\u08da\3\2\2\2\u08da") - buf.write("\u08dc\3\2\2\2\u08db\u08dd\5@!\2\u08dc\u08db\3\2\2\2\u08dc") - buf.write("\u08dd\3\2\2\2\u08dd\u08de\3\2\2\2\u08de\u08e2\5\u0226") - buf.write("\u0114\2\u08df\u08e1\5B\"\2\u08e0\u08df\3\2\2\2\u08e1") - buf.write("\u08e4\3\2\2\2\u08e2\u08e0\3\2\2\2\u08e2\u08e3\3\2\2\2") - buf.write("\u08e3\u09df\3\2\2\2\u08e4\u08e2\3\2\2\2\u08e5\u08e6\7") - buf.write("\t\2\2\u08e6\u08e8\t\26\2\2\u08e7\u08e9\t\24\2\2\u08e8") - buf.write("\u08e7\3\2\2\2\u08e8\u08e9\3\2\2\2\u08e9\u08eb\3\2\2\2") - buf.write("\u08ea\u08ec\5\u0204\u0103\2\u08eb\u08ea\3\2\2\2\u08eb") - buf.write("\u08ec\3\2\2\2\u08ec\u08ed\3\2\2\2\u08ed\u08f1\5\u0226") - buf.write("\u0114\2\u08ee\u08f0\5B\"\2\u08ef\u08ee\3\2\2\2\u08f0") - buf.write("\u08f3\3\2\2\2\u08f1\u08ef\3\2\2\2\u08f1\u08f2\3\2\2\2") - buf.write("\u08f2\u09df\3\2\2\2\u08f3\u08f1\3\2\2\2\u08f4\u08f9\7") - buf.write("\t\2\2\u08f5\u08f7\7\37\2\2\u08f6\u08f8\5\u0204\u0103") - buf.write("\2\u08f7\u08f6\3\2\2\2\u08f7\u08f8\3\2\2\2\u08f8\u08fa") - buf.write("\3\2\2\2\u08f9\u08f5\3\2\2\2\u08f9\u08fa\3\2\2\2\u08fa") - buf.write("\u08fb\3\2\2\2\u08fb\u08fc\7>\2\2\u08fc\u08fe\7S\2\2\u08fd") - buf.write("\u08ff\5\u0204\u0103\2\u08fe\u08fd\3\2\2\2\u08fe\u08ff") - buf.write("\3\2\2\2\u08ff\u0900\3\2\2\2\u0900\u0901\5\u0226\u0114") - buf.write("\2\u0901\u0902\5V,\2\u0902\u09df\3\2\2\2\u0903\u0908\7") - buf.write("\t\2\2\u0904\u0906\7\37\2\2\u0905\u0907\5\u0204\u0103") - buf.write("\2\u0906\u0905\3\2\2\2\u0906\u0907\3\2\2\2\u0907\u0909") - buf.write("\3\2\2\2\u0908\u0904\3\2\2\2\u0908\u0909\3\2\2\2\u0909") - buf.write("\u090a\3\2\2\2\u090a\u090b\7\33\2\2\u090b\u090c\7\u03bb") - buf.write("\2\2\u090c\u090d\5\u0250\u0129\2\u090d\u090e\7\u03bc\2") - buf.write("\2\u090e\u09df\3\2\2\2\u090f\u0911\7\u0100\2\2\u0910\u0912") - buf.write("\7\u03b2\2\2\u0911\u0910\3\2\2\2\u0911\u0912\3\2\2\2\u0912") - buf.write("\u0913\3\2\2\2\u0913\u09df\t\5\2\2\u0914\u0916\7\13\2") - buf.write("\2\u0915\u0917\7\35\2\2\u0916\u0915\3\2\2\2\u0916\u0917") - buf.write("\3\2\2\2\u0917\u0918\3\2\2\2\u0918\u091e\5\u0204\u0103") - buf.write("\2\u0919\u091a\7\u0089\2\2\u091a\u091b\7)\2\2\u091b\u091f") - buf.write("\5\u0232\u011a\2\u091c\u091d\7\61\2\2\u091d\u091f\7)\2") - buf.write("\2\u091e\u0919\3\2\2\2\u091e\u091c\3\2\2\2\u091f\u09df") - buf.write("\3\2\2\2\u0920\u0922\7\31\2\2\u0921\u0923\7\35\2\2\u0922") - buf.write("\u0921\3\2\2\2\u0922\u0923\3\2\2\2\u0923\u0924\3\2\2\2") - buf.write("\u0924\u0925\5\u0204\u0103\2\u0925\u0926\5\u0204\u0103") - buf.write("\2\u0926\u092a\5P)\2\u0927\u092b\7\u0151\2\2\u0928\u0929") - buf.write("\7\u00fe\2\2\u0929\u092b\5\u0204\u0103\2\u092a\u0927\3") - buf.write("\2\2\2\u092a\u0928\3\2\2\2\u092a\u092b\3\2\2\2\u092b\u09df") - buf.write("\3\2\2\2\u092c\u092d\7}\2\2\u092d\u092e\7\35\2\2\u092e") - buf.write("\u092f\5\u0204\u0103\2\u092f\u0930\7\u009a\2\2\u0930\u0931") - buf.write("\5\u0204\u0103\2\u0931\u09df\3\2\2\2\u0932\u0934\7^\2") - buf.write("\2\u0933\u0935\7\u03b2\2\2\u0934\u0933\3\2\2\2\u0934\u0935") - buf.write("\3\2\2\2\u0935\u0936\3\2\2\2\u0936\u09df\t\6\2\2\u0937") - buf.write("\u0939\7\u019c\2\2\u0938\u093a\7\35\2\2\u0939\u0938\3") - buf.write("\2\2\2\u0939\u093a\3\2\2\2\u093a\u093b\3\2\2\2\u093b\u093c") - buf.write("\5\u0204\u0103\2\u093c\u0940\5P)\2\u093d\u0941\7\u0151") - buf.write("\2\2\u093e\u093f\7\u00fe\2\2\u093f\u0941\5\u0204\u0103") - buf.write("\2\u0940\u093d\3\2\2\2\u0940\u093e\3\2\2\2\u0940\u0941") - buf.write("\3\2\2\2\u0941\u09df\3\2\2\2\u0942\u0944\7\61\2\2\u0943") - buf.write("\u0945\7\35\2\2\u0944\u0943\3\2\2\2\u0944\u0945\3\2\2") - buf.write("\2\u0945\u0946\3\2\2\2\u0946\u09df\5\u0204\u0103\2\u0947") - buf.write("\u0948\7\61\2\2\u0948\u0949\7t\2\2\u0949\u09df\7S\2\2") - buf.write("\u094a\u094b\7\61\2\2\u094b\u094c\t\24\2\2\u094c\u09df") - buf.write("\5\u0204\u0103\2\u094d\u094e\7\61\2\2\u094e\u094f\7>\2") - buf.write("\2\u094f\u0950\7S\2\2\u0950\u09df\5\u0204\u0103\2\u0951") - buf.write("\u0952\7\u0132\2\2\u0952\u09df\7T\2\2\u0953\u0954\7\u0139") - buf.write("\2\2\u0954\u09df\7T\2\2\u0955\u0957\7}\2\2\u0956\u0958") - buf.write("\t\35\2\2\u0957\u0956\3\2\2\2\u0957\u0958\3\2\2\2\u0958") - buf.write("\u095b\3\2\2\2\u0959\u095c\5\u0204\u0103\2\u095a\u095c") - buf.write("\5\u01ea\u00f6\2\u095b\u0959\3\2\2\2\u095b\u095a\3\2\2") - buf.write("\2\u095c\u09df\3\2\2\2\u095d\u095e\7o\2\2\u095e\u095f") - buf.write("\7\24\2\2\u095f\u09df\5\u0222\u0112\2\u0960\u0961\7!\2") - buf.write("\2\u0961\u0962\7\u009a\2\2\u0962\u0963\7\32\2\2\u0963") - buf.write("\u0964\7\u0089\2\2\u0964\u0967\5\u01f6\u00fc\2\u0965\u0966") - buf.write("\7\34\2\2\u0966\u0968\5\u01f8\u00fd\2\u0967\u0965\3\2") - buf.write("\2\2\u0967\u0968\3\2\2\2\u0968\u09df\3\2\2\2\u0969\u096b") - buf.write("\7)\2\2\u096a\u0969\3\2\2\2\u096a\u096b\3\2\2\2\u096b") - buf.write("\u096c\3\2\2\2\u096c\u096d\7\32\2\2\u096d\u096e\7\u0089") - buf.write("\2\2\u096e\u096f\7\u03b2\2\2\u096f\u0973\5\u01f6\u00fc") - buf.write("\2\u0970\u0971\7\34\2\2\u0971\u0972\7\u03b2\2\2\u0972") - buf.write("\u0974\5\u01f8\u00fd\2\u0973\u0970\3\2\2\2\u0973\u0974") - buf.write("\3\2\2\2\u0974\u09df\3\2\2\2\u0975\u0976\7\u0133\2\2\u0976") - buf.write("\u09df\7\u020c\2\2\u0977\u0978\7\u0163\2\2\u0978\u09df") - buf.write("\7\u020c\2\2\u0979\u09df\7=\2\2\u097a\u097b\t\36\2\2\u097b") - buf.write("\u09df\7\u021e\2\2\u097c\u097d\7\t\2\2\u097d\u097e\7s") - buf.write("\2\2\u097e\u097f\7\u03bb\2\2\u097f\u0984\5h\65\2\u0980") - buf.write("\u0981\7\u03bd\2\2\u0981\u0983\5h\65\2\u0982\u0980\3\2") - buf.write("\2\2\u0983\u0986\3\2\2\2\u0984\u0982\3\2\2\2\u0984\u0985") - buf.write("\3\2\2\2\u0985\u0987\3\2\2\2\u0986\u0984\3\2\2\2\u0987") - buf.write("\u0988\7\u03bc\2\2\u0988\u09df\3\2\2\2\u0989\u098a\7\61") - buf.write("\2\2\u098a\u098b\7s\2\2\u098b\u09df\5\u0222\u0112\2\u098c") - buf.write("\u098d\7\u0133\2\2\u098d\u0990\7s\2\2\u098e\u0991\5\u0222") - buf.write("\u0112\2\u098f\u0991\7\n\2\2\u0990\u098e\3\2\2\2\u0990") - buf.write("\u098f\3\2\2\2\u0991\u0992\3\2\2\2\u0992\u09df\7\u020c") - buf.write("\2\2\u0993\u0994\7\u0163\2\2\u0994\u0997\7s\2\2\u0995") - buf.write("\u0998\5\u0222\u0112\2\u0996\u0998\7\n\2\2\u0997\u0995") - buf.write("\3\2\2\2\u0997\u0996\3\2\2\2\u0998\u0999\3\2\2\2\u0999") - buf.write("\u09df\7\u020c\2\2\u099a\u099b\7\u0213\2\2\u099b\u099e") - buf.write("\7s\2\2\u099c\u099f\5\u0222\u0112\2\u099d\u099f\7\n\2") - buf.write("\2\u099e\u099c\3\2\2\2\u099e\u099d\3\2\2\2\u099f\u09df") - buf.write("\3\2\2\2\u09a0\u09a1\7\u0118\2\2\u09a1\u09a2\7s\2\2\u09a2") - buf.write("\u09df\5\u020a\u0106\2\u09a3\u09a4\7\u01d1\2\2\u09a4\u09a5") - buf.write("\7s\2\2\u09a5\u09a6\5\u0222\u0112\2\u09a6\u09a7\7O\2\2") - buf.write("\u09a7\u09a8\7\u03bb\2\2\u09a8\u09ad\5h\65\2\u09a9\u09aa") - buf.write("\7\u03bd\2\2\u09aa\u09ac\5h\65\2\u09ab\u09a9\3\2\2\2\u09ac") - buf.write("\u09af\3\2\2\2\u09ad\u09ab\3\2\2\2\u09ad\u09ae\3\2\2\2") - buf.write("\u09ae\u09b0\3\2\2\2\u09af\u09ad\3\2\2\2\u09b0\u09b1\7") - buf.write("\u03bc\2\2\u09b1\u09df\3\2\2\2\u09b2\u09b3\7\u0146\2\2") - buf.write("\u09b3\u09b4\7s\2\2\u09b4\u09b5\5\u0204\u0103\2\u09b5") - buf.write("\u09b6\7\u00ab\2\2\u09b6\u09b7\7\u0097\2\2\u09b7\u09ba") - buf.write("\5\u01ec\u00f7\2\u09b8\u09b9\t\36\2\2\u09b9\u09bb\7\u021e") - buf.write("\2\2\u09ba\u09b8\3\2\2\2\u09ba\u09bb\3\2\2\2\u09bb\u09df") - buf.write("\3\2\2\2\u09bc\u09bd\7\r\2\2\u09bd\u09c0\7s\2\2\u09be") - buf.write("\u09c1\5\u0222\u0112\2\u09bf\u09c1\7\n\2\2\u09c0\u09be") - buf.write("\3\2\2\2\u09c0\u09bf\3\2\2\2\u09c1\u09df\3\2\2\2\u09c2") - buf.write("\u09c3\7\33\2\2\u09c3\u09c6\7s\2\2\u09c4\u09c7\5\u0222") - buf.write("\u0112\2\u09c5\u09c7\7\n\2\2\u09c6\u09c4\3\2\2\2\u09c6") - buf.write("\u09c5\3\2\2\2\u09c7\u09df\3\2\2\2\u09c8\u09c9\7k\2\2") - buf.write("\u09c9\u09cc\7s\2\2\u09ca\u09cd\5\u0222\u0112\2\u09cb") - buf.write("\u09cd\7\n\2\2\u09cc\u09ca\3\2\2\2\u09cc\u09cb\3\2\2\2") - buf.write("\u09cd\u09df\3\2\2\2\u09ce\u09cf\7\u01c8\2\2\u09cf\u09d2") - buf.write("\7s\2\2\u09d0\u09d3\5\u0222\u0112\2\u09d1\u09d3\7\n\2") - buf.write("\2\u09d2\u09d0\3\2\2\2\u09d2\u09d1\3\2\2\2\u09d3\u09df") - buf.write("\3\2\2\2\u09d4\u09d5\7\u01d2\2\2\u09d5\u09d8\7s\2\2\u09d6") - buf.write("\u09d9\5\u0222\u0112\2\u09d7\u09d9\7\n\2\2\u09d8\u09d6") - buf.write("\3\2\2\2\u09d8\u09d7\3\2\2\2\u09d9\u09df\3\2\2\2\u09da") - buf.write("\u09db\7\u01d0\2\2\u09db\u09df\7\u01b6\2\2\u09dc\u09dd") - buf.write("\7\u021a\2\2\u09dd\u09df\7\u01b6\2\2\u09de\u0884\3\2\2") - buf.write("\2\u09de\u088e\3\2\2\2\u09de\u0899\3\2\2\2\u09de\u08ab") - buf.write("\3\2\2\2\u09de\u08ba\3\2\2\2\u09de\u08cd\3\2\2\2\u09de") - buf.write("\u08e5\3\2\2\2\u09de\u08f4\3\2\2\2\u09de\u0903\3\2\2\2") - buf.write("\u09de\u090f\3\2\2\2\u09de\u0914\3\2\2\2\u09de\u0920\3") - buf.write("\2\2\2\u09de\u092c\3\2\2\2\u09de\u0932\3\2\2\2\u09de\u0937") - buf.write("\3\2\2\2\u09de\u0942\3\2\2\2\u09de\u0947\3\2\2\2\u09de") - buf.write("\u094a\3\2\2\2\u09de\u094d\3\2\2\2\u09de\u0951\3\2\2\2") - buf.write("\u09de\u0953\3\2\2\2\u09de\u0955\3\2\2\2\u09de\u095d\3") - buf.write("\2\2\2\u09de\u0960\3\2\2\2\u09de\u096a\3\2\2\2\u09de\u0975") - buf.write("\3\2\2\2\u09de\u0977\3\2\2\2\u09de\u0979\3\2\2\2\u09de") - buf.write("\u097a\3\2\2\2\u09de\u097c\3\2\2\2\u09de\u0989\3\2\2\2") - buf.write("\u09de\u098c\3\2\2\2\u09de\u0993\3\2\2\2\u09de\u099a\3") - buf.write("\2\2\2\u09de\u09a0\3\2\2\2\u09de\u09a3\3\2\2\2\u09de\u09b2") - buf.write("\3\2\2\2\u09de\u09bc\3\2\2\2\u09de\u09c2\3\2\2\2\u09de") - buf.write("\u09c8\3\2\2\2\u09de\u09ce\3\2\2\2\u09de\u09d4\3\2\2\2") - buf.write("\u09de\u09da\3\2\2\2\u09de\u09dc\3\2\2\2\u09df\u0087\3") - buf.write("\2\2\2\u09e0\u09e1\7\61\2\2\u09e1\u09e3\t\2\2\2\u09e2") - buf.write("\u09e4\5\u0238\u011d\2\u09e3\u09e2\3\2\2\2\u09e3\u09e4") - buf.write("\3\2\2\2\u09e4\u09e5\3\2\2\2\u09e5\u09e6\5\u0204\u0103") - buf.write("\2\u09e6\u0089\3\2\2\2\u09e7\u09e8\7\61\2\2\u09e8\u09ea") - buf.write("\7\u0143\2\2\u09e9\u09eb\5\u0238\u011d\2\u09ea\u09e9\3") - buf.write("\2\2\2\u09ea\u09eb\3\2\2\2\u09eb\u09ec\3\2\2\2\u09ec\u09ed") - buf.write("\5\u01ea\u00f6\2\u09ed\u008b\3\2\2\2\u09ee\u09ef\7\61") - buf.write("\2\2\u09ef\u09f1\7I\2\2\u09f0\u09f2\t\3\2\2\u09f1\u09f0") - buf.write("\3\2\2\2\u09f1\u09f2\3\2\2\2\u09f2\u09f3\3\2\2\2\u09f3") - buf.write("\u09f4\5\u0204\u0103\2\u09f4\u09f5\7j\2\2\u09f5\u09fb") - buf.write("\5\u01ec\u00f7\2\u09f6\u09f8\7\u0100\2\2\u09f7\u09f9\7") - buf.write("\u03b2\2\2\u09f8\u09f7\3\2\2\2\u09f8\u09f9\3\2\2\2\u09f9") - buf.write("\u09fa\3\2\2\2\u09fa\u09fc\t\5\2\2\u09fb\u09f6\3\2\2\2") - buf.write("\u09fb\u09fc\3\2\2\2\u09fc\u0a02\3\2\2\2\u09fd\u09ff\7") - buf.write("^\2\2\u09fe\u0a00\7\u03b2\2\2\u09ff\u09fe\3\2\2\2\u09ff") - buf.write("\u0a00\3\2\2\2\u0a00\u0a01\3\2\2\2\u0a01\u0a03\t\6\2\2") - buf.write("\u0a02\u09fd\3\2\2\2\u0a02\u0a03\3\2\2\2\u0a03\u008d\3") - buf.write("\2\2\2\u0a04\u0a05\7\61\2\2\u0a05\u0a06\7\u0179\2\2\u0a06") - buf.write("\u0a07\7C\2\2\u0a07\u0a08\5\u0204\u0103\2\u0a08\u0a09") - buf.write("\7\u013d\2\2\u0a09\u0a0a\7\u03b2\2\2\u0a0a\u0a0b\5\u01fa") - buf.write("\u00fe\2\u0a0b\u008f\3\2\2\2\u0a0c\u0a0d\7\61\2\2\u0a0d") - buf.write("\u0a0f\7u\2\2\u0a0e\u0a10\5\u0238\u011d\2\u0a0f\u0a0e") - buf.write("\3\2\2\2\u0a0f\u0a10\3\2\2\2\u0a10\u0a11\3\2\2\2\u0a11") - buf.write("\u0a12\5\u01ea\u00f6\2\u0a12\u0091\3\2\2\2\u0a13\u0a14") - buf.write("\7\61\2\2\u0a14\u0a16\7\u0157\2\2\u0a15\u0a17\5\u0238") - buf.write("\u011d\2\u0a16\u0a15\3\2\2\2\u0a16\u0a17\3\2\2\2\u0a17") - buf.write("\u0a18\3\2\2\2\u0a18\u0a19\5\u01ea\u00f6\2\u0a19\u0093") - buf.write("\3\2\2\2\u0a1a\u0a1b\7\61\2\2\u0a1b\u0a1d\7\u01e7\2\2") - buf.write("\u0a1c\u0a1e\5\u0238\u011d\2\u0a1d\u0a1c\3\2\2\2\u0a1d") - buf.write("\u0a1e\3\2\2\2\u0a1e\u0a1f\3\2\2\2\u0a1f\u0a20\5\u0204") - buf.write("\u0103\2\u0a20\u0095\3\2\2\2\u0a21\u0a23\7\61\2\2\u0a22") - buf.write("\u0a24\7\u020d\2\2\u0a23\u0a22\3\2\2\2\u0a23\u0a24\3\2") - buf.write("\2\2\u0a24\u0a25\3\2\2\2\u0a25\u0a27\7\u0097\2\2\u0a26") - buf.write("\u0a28\5\u0238\u011d\2\u0a27\u0a26\3\2\2\2\u0a27\u0a28") - buf.write("\3\2\2\2\u0a28\u0a29\3\2\2\2\u0a29\u0a2b\5\u0224\u0113") - buf.write("\2\u0a2a\u0a2c\t\37\2\2\u0a2b\u0a2a\3\2\2\2\u0a2b\u0a2c") - buf.write("\3\2\2\2\u0a2c\u0097\3\2\2\2\u0a2d\u0a2e\7\61\2\2\u0a2e") - buf.write("\u0a2f\7\u020c\2\2\u0a2f\u0a35\5\u0204\u0103\2\u0a30\u0a32") - buf.write("\7\u013d\2\2\u0a31\u0a33\7\u03b2\2\2\u0a32\u0a31\3\2\2") - buf.write("\2\u0a32\u0a33\3\2\2\2\u0a33\u0a34\3\2\2\2\u0a34\u0a36") - buf.write("\5\u01fa\u00fe\2\u0a35\u0a30\3\2\2\2\u0a35\u0a36\3\2\2") - buf.write("\2\u0a36\u0099\3\2\2\2\u0a37\u0a38\7\61\2\2\u0a38\u0a3a") - buf.write("\7\u009c\2\2\u0a39\u0a3b\5\u0238\u011d\2\u0a3a\u0a39\3") - buf.write("\2\2\2\u0a3a\u0a3b\3\2\2\2\u0a3b\u0a3c\3\2\2\2\u0a3c\u0a3d") - buf.write("\5\u01ea\u00f6\2\u0a3d\u009b\3\2\2\2\u0a3e\u0a3f\7\61") - buf.write("\2\2\u0a3f\u0a41\7\u0221\2\2\u0a40\u0a42\5\u0238\u011d") - buf.write("\2\u0a41\u0a40\3\2\2\2\u0a41\u0a42\3\2\2\2\u0a42\u0a43") - buf.write("\3\2\2\2\u0a43\u0a48\5\u01ea\u00f6\2\u0a44\u0a45\7\u03bd") - buf.write("\2\2\u0a45\u0a47\5\u01ea\u00f6\2\u0a46\u0a44\3\2\2\2\u0a47") - buf.write("\u0a4a\3\2\2\2\u0a48\u0a46\3\2\2\2\u0a48\u0a49\3\2\2\2") - buf.write("\u0a49\u0a4c\3\2\2\2\u0a4a\u0a48\3\2\2\2\u0a4b\u0a4d\t") - buf.write("\37\2\2\u0a4c\u0a4b\3\2\2\2\u0a4c\u0a4d\3\2\2\2\u0a4d") - buf.write("\u009d\3\2\2\2\u0a4e\u0a4f\7}\2\2\u0a4f\u0a50\7\u0097") - buf.write("\2\2\u0a50\u0a55\5\u00a0Q\2\u0a51\u0a52\7\u03bd\2\2\u0a52") - buf.write("\u0a54\5\u00a0Q\2\u0a53\u0a51\3\2\2\2\u0a54\u0a57\3\2") - buf.write("\2\2\u0a55\u0a53\3\2\2\2\u0a55\u0a56\3\2\2\2\u0a56\u009f") - buf.write("\3\2\2\2\u0a57\u0a55\3\2\2\2\u0a58\u0a59\5\u01ec\u00f7") - buf.write("\2\u0a59\u0a5a\7\u009a\2\2\u0a5a\u0a5b\5\u01ec\u00f7\2") - buf.write("\u0a5b\u00a1\3\2\2\2\u0a5c\u0a5e\7\u0213\2\2\u0a5d\u0a5f") - buf.write("\7\u0097\2\2\u0a5e\u0a5d\3\2\2\2\u0a5e\u0a5f\3\2\2\2\u0a5f") - buf.write("\u0a60\3\2\2\2\u0a60\u0a61\5\u01ec\u00f7\2\u0a61\u00a3") - buf.write("\3\2\2\2\u0a62\u0a63\7\25\2\2\u0a63\u0a6a\5\u01ea\u00f6") - buf.write("\2\u0a64\u0a67\7\u03bb\2\2\u0a65\u0a68\5\u022c\u0117\2") - buf.write("\u0a66\u0a68\5\u0228\u0115\2\u0a67\u0a65\3\2\2\2\u0a67") - buf.write("\u0a66\3\2\2\2\u0a67\u0a68\3\2\2\2\u0a68\u0a69\3\2\2\2") - buf.write("\u0a69\u0a6b\7\u03bc\2\2\u0a6a\u0a64\3\2\2\2\u0a6a\u0a6b") - buf.write("\3\2\2\2\u0a6b\u00a5\3\2\2\2\u0a6c\u0a6f\5\u00c0a\2\u0a6d") - buf.write("\u0a6f\5\u00c2b\2\u0a6e\u0a6c\3\2\2\2\u0a6e\u0a6d\3\2") - buf.write("\2\2\u0a6f\u00a7\3\2\2\2\u0a70\u0a71\7\u0135\2\2\u0a71") - buf.write("\u0a72\5\u0228\u0115\2\u0a72\u00a9\3\2\2\2\u0a73\u0a78") - buf.write("\5\u00c4c\2\u0a74\u0a78\5\u00c6d\2\u0a75\u0a78\5\u00c8") - buf.write("e\2\u0a76\u0a78\5\u00caf\2\u0a77\u0a73\3\2\2\2\u0a77\u0a74") - buf.write("\3\2\2\2\u0a77\u0a75\3\2\2\2\u0a77\u0a76\3\2\2\2\u0a78") - buf.write("\u00ab\3\2\2\2\u0a79\u0a7b\7M\2\2\u0a7a\u0a7c\t \2\2\u0a7b") - buf.write("\u0a7a\3\2\2\2\u0a7b\u0a7c\3\2\2\2\u0a7c\u0a7e\3\2\2\2") - buf.write("\u0a7d\u0a7f\7G\2\2\u0a7e\u0a7d\3\2\2\2\u0a7e\u0a7f\3") - buf.write("\2\2\2\u0a7f\u0a81\3\2\2\2\u0a80\u0a82\7O\2\2\u0a81\u0a80") - buf.write("\3\2\2\2\u0a81\u0a82\3\2\2\2\u0a82\u0a83\3\2\2\2\u0a83") - buf.write("\u0a89\5\u01ec\u00f7\2\u0a84\u0a85\7s\2\2\u0a85\u0a86") - buf.write("\7\u03bb\2\2\u0a86\u0a87\5\u0222\u0112\2\u0a87\u0a88\7") - buf.write("\u03bc\2\2\u0a88\u0a8a\3\2\2\2\u0a89\u0a84\3\2\2\2\u0a89") - buf.write("\u0a8a\3\2\2\2\u0a8a\u0a9b\3\2\2\2\u0a8b\u0a8c\7\u03bb") - buf.write("\2\2\u0a8c\u0a8d\5\u0222\u0112\2\u0a8d\u0a8e\7\u03bc\2") - buf.write("\2\u0a8e\u0a90\3\2\2\2\u0a8f\u0a8b\3\2\2\2\u0a8f\u0a90") - buf.write("\3\2\2\2\u0a90\u0a91\3\2\2\2\u0a91\u0a9c\5\u00b8]\2\u0a92") - buf.write("\u0a93\7\u0089\2\2\u0a93\u0a98\5\u00ba^\2\u0a94\u0a95") - buf.write("\7\u03bd\2\2\u0a95\u0a97\5\u00ba^\2\u0a96\u0a94\3\2\2") - buf.write("\2\u0a97\u0a9a\3\2\2\2\u0a98\u0a96\3\2\2\2\u0a98\u0a99") - buf.write("\3\2\2\2\u0a99\u0a9c\3\2\2\2\u0a9a\u0a98\3\2\2\2\u0a9b") - buf.write("\u0a8f\3\2\2\2\u0a9b\u0a92\3\2\2\2\u0a9c\u0aa9\3\2\2\2") - buf.write("\u0a9d\u0a9e\7j\2\2\u0a9e\u0a9f\7\u0137\2\2\u0a9f\u0aa0") - buf.write("\7S\2\2\u0aa0\u0aa1\7\u00a3\2\2\u0aa1\u0aa6\5\u00ba^\2") - buf.write("\u0aa2\u0aa3\7\u03bd\2\2\u0aa3\u0aa5\5\u00ba^\2\u0aa4") - buf.write("\u0aa2\3\2\2\2\u0aa5\u0aa8\3\2\2\2\u0aa6\u0aa4\3\2\2\2") - buf.write("\u0aa6\u0aa7\3\2\2\2\u0aa7\u0aaa\3\2\2\2\u0aa8\u0aa6\3") - buf.write("\2\2\2\u0aa9\u0a9d\3\2\2\2\u0aa9\u0aaa\3\2\2\2\u0aaa\u00ad") - buf.write("\3\2\2\2\u0aab\u0aac\7]\2\2\u0aac\u0aae\7\u012a\2\2\u0aad") - buf.write("\u0aaf\t!\2\2\u0aae\u0aad\3\2\2\2\u0aae\u0aaf\3\2\2\2") - buf.write("\u0aaf\u0ab1\3\2\2\2\u0ab0\u0ab2\7\u0178\2\2\u0ab1\u0ab0") - buf.write("\3\2\2\2\u0ab1\u0ab2\3\2\2\2\u0ab2\u0ab3\3\2\2\2\u0ab3") - buf.write("\u0ab4\7J\2\2\u0ab4\u0ab6\7\u03ca\2\2\u0ab5\u0ab7\t\b") - buf.write("\2\2\u0ab6\u0ab5\3\2\2\2\u0ab6\u0ab7\3\2\2\2\u0ab7\u0ab8") - buf.write("\3\2\2\2\u0ab8\u0ab9\7O\2\2\u0ab9\u0aba\7\u0097\2\2\u0aba") - buf.write("\u0ac0\5\u01ec\u00f7\2\u0abb\u0abc\7s\2\2\u0abc\u0abd") - buf.write("\7\u03bb\2\2\u0abd\u0abe\5\u0222\u0112\2\u0abe\u0abf\7") - buf.write("\u03bc\2\2\u0abf\u0ac1\3\2\2\2\u0ac0\u0abb\3\2\2\2\u0ac0") - buf.write("\u0ac1\3\2\2\2\u0ac1\u0ac5\3\2\2\2\u0ac2\u0ac3\7\32\2") - buf.write("\2\u0ac3\u0ac4\7\u0089\2\2\u0ac4\u0ac6\5\u01f6\u00fc\2") - buf.write("\u0ac5\u0ac2\3\2\2\2\u0ac5\u0ac6\3\2\2\2\u0ac6\u0acd\3") - buf.write("\2\2\2\u0ac7\u0ac9\t\"\2\2\u0ac8\u0aca\5\u00f8}\2\u0ac9") - buf.write("\u0ac8\3\2\2\2\u0aca\u0acb\3\2\2\2\u0acb\u0ac9\3\2\2\2") - buf.write("\u0acb\u0acc\3\2\2\2\u0acc\u0ace\3\2\2\2\u0acd\u0ac7\3") - buf.write("\2\2\2\u0acd\u0ace\3\2\2\2\u0ace\u0ad5\3\2\2\2\u0acf\u0ad1") - buf.write("\7\\\2\2\u0ad0\u0ad2\5\u00fa~\2\u0ad1\u0ad0\3\2\2\2\u0ad2") - buf.write("\u0ad3\3\2\2\2\u0ad3\u0ad1\3\2\2\2\u0ad3\u0ad4\3\2\2\2") - buf.write("\u0ad4\u0ad6\3\2\2\2\u0ad5\u0acf\3\2\2\2\u0ad5\u0ad6\3") - buf.write("\2\2\2\u0ad6\u0adb\3\2\2\2\u0ad7\u0ad8\7G\2\2\u0ad8\u0ad9") - buf.write("\5\u020a\u0106\2\u0ad9\u0ada\t#\2\2\u0ada\u0adc\3\2\2") - buf.write("\2\u0adb\u0ad7\3\2\2\2\u0adb\u0adc\3\2\2\2\u0adc\u0ae8") - buf.write("\3\2\2\2\u0add\u0ade\7\u03bb\2\2\u0ade\u0ae3\5\u00bc_") - buf.write("\2\u0adf\u0ae0\7\u03bd\2\2\u0ae0\u0ae2\5\u00bc_\2\u0ae1") - buf.write("\u0adf\3\2\2\2\u0ae2\u0ae5\3\2\2\2\u0ae3\u0ae1\3\2\2\2") - buf.write("\u0ae3\u0ae4\3\2\2\2\u0ae4\u0ae6\3\2\2\2\u0ae5\u0ae3\3") - buf.write("\2\2\2\u0ae6\u0ae7\7\u03bc\2\2\u0ae7\u0ae9\3\2\2\2\u0ae8") - buf.write("\u0add\3\2\2\2\u0ae8\u0ae9\3\2\2\2\u0ae9\u0af3\3\2\2\2") - buf.write("\u0aea\u0aeb\7\u0089\2\2\u0aeb\u0af0\5\u00ba^\2\u0aec") - buf.write("\u0aed\7\u03bd\2\2\u0aed\u0aef\5\u00ba^\2\u0aee\u0aec") - buf.write("\3\2\2\2\u0aef\u0af2\3\2\2\2\u0af0\u0aee\3\2\2\2\u0af0") - buf.write("\u0af1\3\2\2\2\u0af1\u0af4\3\2\2\2\u0af2\u0af0\3\2\2\2") - buf.write("\u0af3\u0aea\3\2\2\2\u0af3\u0af4\3\2\2\2\u0af4\u00af\3") - buf.write("\2\2\2\u0af5\u0af6\7]\2\2\u0af6\u0af8\7\u022a\2\2\u0af7") - buf.write("\u0af9\t!\2\2\u0af8\u0af7\3\2\2\2\u0af8\u0af9\3\2\2\2") - buf.write("\u0af9\u0afb\3\2\2\2\u0afa\u0afc\7\u0178\2\2\u0afb\u0afa") - buf.write("\3\2\2\2\u0afb\u0afc\3\2\2\2\u0afc\u0afd\3\2\2\2\u0afd") - buf.write("\u0afe\7J\2\2\u0afe\u0b00\7\u03ca\2\2\u0aff\u0b01\t\b") - buf.write("\2\2\u0b00\u0aff\3\2\2\2\u0b00\u0b01\3\2\2\2\u0b01\u0b02") - buf.write("\3\2\2\2\u0b02\u0b03\7O\2\2\u0b03\u0b04\7\u0097\2\2\u0b04") - buf.write("\u0b08\5\u01ec\u00f7\2\u0b05\u0b06\7\32\2\2\u0b06\u0b07") - buf.write("\7\u0089\2\2\u0b07\u0b09\5\u01f6\u00fc\2\u0b08\u0b05\3") - buf.write("\2\2\2\u0b08\u0b09\3\2\2\2\u0b09\u0b10\3\2\2\2\u0b0a\u0b0b") - buf.write("\7\u01e2\2\2\u0b0b\u0b0c\7\u0161\2\2\u0b0c\u0b0d\7\24") - buf.write("\2\2\u0b0d\u0b0e\7\u03b4\2\2\u0b0e\u0b0f\7\u03ca\2\2\u0b0f") - buf.write("\u0b11\7\u03b3\2\2\u0b10\u0b0a\3\2\2\2\u0b10\u0b11\3\2") - buf.write("\2\2\u0b11\u0b16\3\2\2\2\u0b12\u0b13\7G\2\2\u0b13\u0b14") - buf.write("\5\u020a\u0106\2\u0b14\u0b15\t#\2\2\u0b15\u0b17\3\2\2") - buf.write("\2\u0b16\u0b12\3\2\2\2\u0b16\u0b17\3\2\2\2\u0b17\u0b23") - buf.write("\3\2\2\2\u0b18\u0b19\7\u03bb\2\2\u0b19\u0b1e\5\u00bc_") - buf.write("\2\u0b1a\u0b1b\7\u03bd\2\2\u0b1b\u0b1d\5\u00bc_\2\u0b1c") - buf.write("\u0b1a\3\2\2\2\u0b1d\u0b20\3\2\2\2\u0b1e\u0b1c\3\2\2\2") - buf.write("\u0b1e\u0b1f\3\2\2\2\u0b1f\u0b21\3\2\2\2\u0b20\u0b1e\3") - buf.write("\2\2\2\u0b21\u0b22\7\u03bc\2\2\u0b22\u0b24\3\2\2\2\u0b23") - buf.write("\u0b18\3\2\2\2\u0b23\u0b24\3\2\2\2\u0b24\u0b2e\3\2\2\2") - buf.write("\u0b25\u0b26\7\u0089\2\2\u0b26\u0b2b\5\u00ba^\2\u0b27") - buf.write("\u0b28\7\u03bd\2\2\u0b28\u0b2a\5\u00ba^\2\u0b29\u0b27") - buf.write("\3\2\2\2\u0b2a\u0b2d\3\2\2\2\u0b2b\u0b29\3\2\2\2\u0b2b") - buf.write("\u0b2c\3\2\2\2\u0b2c\u0b2f\3\2\2\2\u0b2d\u0b2b\3\2\2\2") - buf.write("\u0b2e\u0b25\3\2\2\2\u0b2e\u0b2f\3\2\2\2\u0b2f\u00b1\3") - buf.write("\2\2\2\u0b30\u0b32\7\177\2\2\u0b31\u0b33\t$\2\2\u0b32") - buf.write("\u0b31\3\2\2\2\u0b32\u0b33\3\2\2\2\u0b33\u0b35\3\2\2\2") - buf.write("\u0b34\u0b36\7O\2\2\u0b35\u0b34\3\2\2\2\u0b35\u0b36\3") - buf.write("\2\2\2\u0b36\u0b37\3\2\2\2\u0b37\u0b3d\5\u01ec\u00f7\2") - buf.write("\u0b38\u0b39\7s\2\2\u0b39\u0b3a\7\u03bb\2\2\u0b3a\u0b3b") - buf.write("\5\u0222\u0112\2\u0b3b\u0b3c\7\u03bc\2\2\u0b3c\u0b3e\3") - buf.write("\2\2\2\u0b3d\u0b38\3\2\2\2\u0b3d\u0b3e\3\2\2\2\u0b3e\u0b4f") - buf.write("\3\2\2\2\u0b3f\u0b40\7\u03bb\2\2\u0b40\u0b41\5\u0222\u0112") - buf.write("\2\u0b41\u0b42\7\u03bc\2\2\u0b42\u0b44\3\2\2\2\u0b43\u0b3f") - buf.write("\3\2\2\2\u0b43\u0b44\3\2\2\2\u0b44\u0b45\3\2\2\2\u0b45") - buf.write("\u0b50\5\u00b8]\2\u0b46\u0b47\7\u0089\2\2\u0b47\u0b4c") - buf.write("\5\u00ba^\2\u0b48\u0b49\7\u03bd\2\2\u0b49\u0b4b\5\u00ba") - buf.write("^\2\u0b4a\u0b48\3\2\2\2\u0b4b\u0b4e\3\2\2\2\u0b4c\u0b4a") - buf.write("\3\2\2\2\u0b4c\u0b4d\3\2\2\2\u0b4d\u0b50\3\2\2\2\u0b4e") - buf.write("\u0b4c\3\2\2\2\u0b4f\u0b43\3\2\2\2\u0b4f\u0b46\3\2\2\2") - buf.write("\u0b50\u00b3\3\2\2\2\u0b51\u0b53\5\u00e4s\2\u0b52\u0b54") - buf.write("\5\u00be`\2\u0b53\u0b52\3\2\2\2\u0b53\u0b54\3\2\2\2\u0b54") - buf.write("\u0b89\3\2\2\2\u0b55\u0b57\5\u00e0q\2\u0b56\u0b58\5\u00be") - buf.write("`\2\u0b57\u0b56\3\2\2\2\u0b57\u0b58\3\2\2\2\u0b58\u0b89") - buf.write("\3\2\2\2\u0b59\u0b5b\5\u00e6t\2\u0b5a\u0b5c\5\u00eav\2") - buf.write("\u0b5b\u0b5a\3\2\2\2\u0b5c\u0b5d\3\2\2\2\u0b5d\u0b5b\3") - buf.write("\2\2\2\u0b5d\u0b5e\3\2\2\2\u0b5e\u0b67\3\2\2\2\u0b5f\u0b61") - buf.write("\7\u009f\2\2\u0b60\u0b62\t%\2\2\u0b61\u0b60\3\2\2\2\u0b61") - buf.write("\u0b62\3\2\2\2\u0b62\u0b65\3\2\2\2\u0b63\u0b66\5\u00e4") - buf.write("s\2\u0b64\u0b66\5\u00e0q\2\u0b65\u0b63\3\2\2\2\u0b65\u0b64") - buf.write("\3\2\2\2\u0b66\u0b68\3\2\2\2\u0b67\u0b5f\3\2\2\2\u0b67") - buf.write("\u0b68\3\2\2\2\u0b68\u0b6a\3\2\2\2\u0b69\u0b6b\5\u00d0") - buf.write("i\2\u0b6a\u0b69\3\2\2\2\u0b6a\u0b6b\3\2\2\2\u0b6b\u0b6d") - buf.write("\3\2\2\2\u0b6c\u0b6e\5\u0100\u0081\2\u0b6d\u0b6c\3\2\2") - buf.write("\2\u0b6d\u0b6e\3\2\2\2\u0b6e\u0b70\3\2\2\2\u0b6f\u0b71") - buf.write("\5\u00be`\2\u0b70\u0b6f\3\2\2\2\u0b70\u0b71\3\2\2\2\u0b71") - buf.write("\u0b89\3\2\2\2\u0b72\u0b74\5\u00e2r\2\u0b73\u0b75\5\u00e8") - buf.write("u\2\u0b74\u0b73\3\2\2\2\u0b75\u0b76\3\2\2\2\u0b76\u0b74") - buf.write("\3\2\2\2\u0b76\u0b77\3\2\2\2\u0b77\u0b7d\3\2\2\2\u0b78") - buf.write("\u0b7a\7\u009f\2\2\u0b79\u0b7b\t%\2\2\u0b7a\u0b79\3\2") - buf.write("\2\2\u0b7a\u0b7b\3\2\2\2\u0b7b\u0b7c\3\2\2\2\u0b7c\u0b7e") - buf.write("\5\u00e0q\2\u0b7d\u0b78\3\2\2\2\u0b7d\u0b7e\3\2\2\2\u0b7e") - buf.write("\u0b80\3\2\2\2\u0b7f\u0b81\5\u00d0i\2\u0b80\u0b7f\3\2") - buf.write("\2\2\u0b80\u0b81\3\2\2\2\u0b81\u0b83\3\2\2\2\u0b82\u0b84") - buf.write("\5\u0100\u0081\2\u0b83\u0b82\3\2\2\2\u0b83\u0b84\3\2\2") - buf.write("\2\u0b84\u0b86\3\2\2\2\u0b85\u0b87\5\u00be`\2\u0b86\u0b85") - buf.write("\3\2\2\2\u0b86\u0b87\3\2\2\2\u0b87\u0b89\3\2\2\2\u0b88") - buf.write("\u0b51\3\2\2\2\u0b88\u0b55\3\2\2\2\u0b88\u0b59\3\2\2\2") - buf.write("\u0b88\u0b72\3\2\2\2\u0b89\u00b5\3\2\2\2\u0b8a\u0b8d\5") - buf.write("\u00ccg\2\u0b8b\u0b8d\5\u00ceh\2\u0b8c\u0b8a\3\2\2\2\u0b8c") - buf.write("\u0b8b\3\2\2\2\u0b8d\u00b7\3\2\2\2\u0b8e\u0b9e\5\u00b4") - buf.write("[\2\u0b8f\u0b90\t&\2\2\u0b90\u0b91\7\u03bb\2\2\u0b91\u0b92") - buf.write("\5\u022a\u0116\2\u0b92\u0b9a\7\u03bc\2\2\u0b93\u0b94\7") - buf.write("\u03bd\2\2\u0b94\u0b95\7\u03bb\2\2\u0b95\u0b96\5\u022a") - buf.write("\u0116\2\u0b96\u0b97\7\u03bc\2\2\u0b97\u0b99\3\2\2\2\u0b98") - buf.write("\u0b93\3\2\2\2\u0b99\u0b9c\3\2\2\2\u0b9a\u0b98\3\2\2\2") - buf.write("\u0b9a\u0b9b\3\2\2\2\u0b9b\u0b9e\3\2\2\2\u0b9c\u0b9a\3") - buf.write("\2\2\2\u0b9d\u0b8e\3\2\2\2\u0b9d\u0b8f\3\2\2\2\u0b9e\u00b9") - buf.write("\3\2\2\2\u0b9f\u0ba0\5\u01ee\u00f8\2\u0ba0\u0ba3\7\u03b2") - buf.write("\2\2\u0ba1\u0ba4\5\u0250\u0129\2\u0ba2\u0ba4\7)\2\2\u0ba3") - buf.write("\u0ba1\3\2\2\2\u0ba3\u0ba2\3\2\2\2\u0ba4\u00bb\3\2\2\2") - buf.write("\u0ba5\u0ba8\5\u0204\u0103\2\u0ba6\u0ba8\7\u03d5\2\2\u0ba7") - buf.write("\u0ba5\3\2\2\2\u0ba7\u0ba6\3\2\2\2\u0ba8\u00bd\3\2\2\2") - buf.write("\u0ba9\u0baa\7<\2\2\u0baa\u0bb0\7\u00a3\2\2\u0bab\u0bac") - buf.write("\7^\2\2\u0bac\u0bad\7H\2\2\u0bad\u0bae\7\u01e9\2\2\u0bae") - buf.write("\u0bb0\7\u019b\2\2\u0baf\u0ba9\3\2\2\2\u0baf\u0bab\3\2") - buf.write("\2\2\u0bb0\u00bf\3\2\2\2\u0bb1\u0bb3\7+\2\2\u0bb2\u0bb4") - buf.write("\7`\2\2\u0bb3\u0bb2\3\2\2\2\u0bb3\u0bb4\3\2\2\2\u0bb4") - buf.write("\u0bb6\3\2\2\2\u0bb5\u0bb7\7\u01c7\2\2\u0bb6\u0bb5\3\2") - buf.write("\2\2\u0bb6\u0bb7\3\2\2\2\u0bb7\u0bb9\3\2\2\2\u0bb8\u0bba") - buf.write("\7G\2\2\u0bb9\u0bb8\3\2\2\2\u0bb9\u0bba\3\2\2\2\u0bba") - buf.write("\u0bbb\3\2\2\2\u0bbb\u0bbc\7?\2\2\u0bbc\u0bc2\5\u01ec") - buf.write("\u00f7\2\u0bbd\u0bbe\7s\2\2\u0bbe\u0bbf\7\u03bb\2\2\u0bbf") - buf.write("\u0bc0\5\u0222\u0112\2\u0bc0\u0bc1\7\u03bc\2\2\u0bc1\u0bc3") - buf.write("\3\2\2\2\u0bc2\u0bbd\3\2\2\2\u0bc2\u0bc3\3\2\2\2\u0bc3") - buf.write("\u0bc6\3\2\2\2\u0bc4\u0bc5\7\u00a9\2\2\u0bc5\u0bc7\5\u0250") - buf.write("\u0129\2\u0bc6\u0bc4\3\2\2\2\u0bc6\u0bc7\3\2\2\2\u0bc7") - buf.write("\u0bc9\3\2\2\2\u0bc8\u0bca\5\u00d0i\2\u0bc9\u0bc8\3\2") - buf.write("\2\2\u0bc9\u0bca\3\2\2\2\u0bca\u0bcd\3\2\2\2\u0bcb\u0bcc") - buf.write("\7Z\2\2\u0bcc\u0bce\5\u020a\u0106\2\u0bcd\u0bcb\3\2\2") - buf.write("\2\u0bcd\u0bce\3\2\2\2\u0bce\u00c1\3\2\2\2\u0bcf\u0bd1") - buf.write("\7+\2\2\u0bd0\u0bd2\7`\2\2\u0bd1\u0bd0\3\2\2\2\u0bd1\u0bd2") - buf.write("\3\2\2\2\u0bd2\u0bd4\3\2\2\2\u0bd3\u0bd5\7\u01c7\2\2\u0bd4") - buf.write("\u0bd3\3\2\2\2\u0bd4\u0bd5\3\2\2\2\u0bd5\u0bd7\3\2\2\2") - buf.write("\u0bd6\u0bd8\7G\2\2\u0bd7\u0bd6\3\2\2\2\u0bd7\u0bd8\3") - buf.write("\2\2\2\u0bd8\u0c00\3\2\2\2\u0bd9\u0bdc\5\u01ec\u00f7\2") - buf.write("\u0bda\u0bdb\7\u03ba\2\2\u0bdb\u0bdd\7\u03aa\2\2\u0bdc") - buf.write("\u0bda\3\2\2\2\u0bdc\u0bdd\3\2\2\2\u0bdd\u0be6\3\2\2\2") - buf.write("\u0bde\u0bdf\7\u03bd\2\2\u0bdf\u0be2\5\u01ec\u00f7\2\u0be0") - buf.write("\u0be1\7\u03ba\2\2\u0be1\u0be3\7\u03aa\2\2\u0be2\u0be0") - buf.write("\3\2\2\2\u0be2\u0be3\3\2\2\2\u0be3\u0be5\3\2\2\2\u0be4") - buf.write("\u0bde\3\2\2\2\u0be5\u0be8\3\2\2\2\u0be6\u0be4\3\2\2\2") - buf.write("\u0be6\u0be7\3\2\2\2\u0be7\u0be9\3\2\2\2\u0be8\u0be6\3") - buf.write("\2\2\2\u0be9\u0bea\7?\2\2\u0bea\u0beb\5\u00d4k\2\u0beb") - buf.write("\u0c01\3\2\2\2\u0bec\u0bed\7?\2\2\u0bed\u0bf0\5\u01ec") - buf.write("\u00f7\2\u0bee\u0bef\7\u03ba\2\2\u0bef\u0bf1\7\u03aa\2") - buf.write("\2\u0bf0\u0bee\3\2\2\2\u0bf0\u0bf1\3\2\2\2\u0bf1\u0bfa") - buf.write("\3\2\2\2\u0bf2\u0bf3\7\u03bd\2\2\u0bf3\u0bf6\5\u01ec\u00f7") - buf.write("\2\u0bf4\u0bf5\7\u03ba\2\2\u0bf5\u0bf7\7\u03aa\2\2\u0bf6") - buf.write("\u0bf4\3\2\2\2\u0bf6\u0bf7\3\2\2\2\u0bf7\u0bf9\3\2\2\2") - buf.write("\u0bf8\u0bf2\3\2\2\2\u0bf9\u0bfc\3\2\2\2\u0bfa\u0bf8\3") - buf.write("\2\2\2\u0bfa\u0bfb\3\2\2\2\u0bfb\u0bfd\3\2\2\2\u0bfc\u0bfa") - buf.write("\3\2\2\2\u0bfd\u0bfe\7\u00a6\2\2\u0bfe\u0bff\5\u00d4k") - buf.write("\2\u0bff\u0c01\3\2\2\2\u0c00\u0bd9\3\2\2\2\u0c00\u0bec") - buf.write("\3\2\2\2\u0c01\u0c04\3\2\2\2\u0c02\u0c03\7\u00a9\2\2\u0c03") - buf.write("\u0c05\5\u0250\u0129\2\u0c04\u0c02\3\2\2\2\u0c04\u0c05") - buf.write("\3\2\2\2\u0c05\u00c3\3\2\2\2\u0c06\u0c07\7\u015c\2\2\u0c07") - buf.write("\u0c08\5\u01ec\u00f7\2\u0c08\u0c0d\7\u01ae\2\2\u0c09\u0c0b") - buf.write("\7\17\2\2\u0c0a\u0c09\3\2\2\2\u0c0a\u0c0b\3\2\2\2\u0c0b") - buf.write("\u0c0c\3\2\2\2\u0c0c\u0c0e\5\u0204\u0103\2\u0c0d\u0c0a") - buf.write("\3\2\2\2\u0c0d\u0c0e\3\2\2\2\u0c0e\u00c5\3\2\2\2\u0c0f") - buf.write("\u0c10\7\u015c\2\2\u0c10\u0c11\5\u01ec\u00f7\2\u0c11\u0c12") - buf.write("\7x\2\2\u0c12\u0c19\5\u0204\u0103\2\u0c13\u0c14\5\u0258") - buf.write("\u012d\2\u0c14\u0c15\7\u03bb\2\2\u0c15\u0c16\5\u022c\u0117") - buf.write("\2\u0c16\u0c17\7\u03bc\2\2\u0c17\u0c1a\3\2\2\2\u0c18\u0c1a") - buf.write("\t\'\2\2\u0c19\u0c13\3\2\2\2\u0c19\u0c18\3\2\2\2\u0c1a") - buf.write("\u0c1d\3\2\2\2\u0c1b\u0c1c\7\u00a9\2\2\u0c1c\u0c1e\5\u0250") - buf.write("\u0129\2\u0c1d\u0c1b\3\2\2\2\u0c1d\u0c1e\3\2\2\2\u0c1e") - buf.write("\u0c21\3\2\2\2\u0c1f\u0c20\7Z\2\2\u0c20\u0c22\5\u020a") - buf.write("\u0106\2\u0c21\u0c1f\3\2\2\2\u0c21\u0c22\3\2\2\2\u0c22") - buf.write("\u00c7\3\2\2\2\u0c23\u0c24\7\u015c\2\2\u0c24\u0c25\5\u01ec") - buf.write("\u00f7\2\u0c25\u0c26\7x\2\2\u0c26\u0c29\t(\2\2\u0c27\u0c28") - buf.write("\7\u00a9\2\2\u0c28\u0c2a\5\u0250\u0129\2\u0c29\u0c27\3") - buf.write("\2\2\2\u0c29\u0c2a\3\2\2\2\u0c2a\u0c2d\3\2\2\2\u0c2b\u0c2c") - buf.write("\7Z\2\2\u0c2c\u0c2e\5\u020a\u0106\2\u0c2d\u0c2b\3\2\2") - buf.write("\2\u0c2d\u0c2e\3\2\2\2\u0c2e\u00c9\3\2\2\2\u0c2f\u0c30") - buf.write("\7\u015c\2\2\u0c30\u0c31\5\u01ec\u00f7\2\u0c31\u0c32\7") - buf.write("\u0117\2\2\u0c32\u00cb\3\2\2\2\u0c33\u0c35\7\u00a3\2\2") - buf.write("\u0c34\u0c36\7`\2\2\u0c35\u0c34\3\2\2\2\u0c35\u0c36\3") - buf.write("\2\2\2\u0c36\u0c38\3\2\2\2\u0c37\u0c39\7G\2\2\u0c38\u0c37") - buf.write("\3\2\2\2\u0c38\u0c39\3\2\2\2\u0c39\u0c3a\3\2\2\2\u0c3a") - buf.write("\u0c3f\5\u01ec\u00f7\2\u0c3b\u0c3d\7\17\2\2\u0c3c\u0c3b") - buf.write("\3\2\2\2\u0c3c\u0c3d\3\2\2\2\u0c3d\u0c3e\3\2\2\2\u0c3e") - buf.write("\u0c40\5\u0204\u0103\2\u0c3f\u0c3c\3\2\2\2\u0c3f\u0c40") - buf.write("\3\2\2\2\u0c40\u0c41\3\2\2\2\u0c41\u0c42\7\u0089\2\2\u0c42") - buf.write("\u0c47\5\u00ba^\2\u0c43\u0c44\7\u03bd\2\2\u0c44\u0c46") - buf.write("\5\u00ba^\2\u0c45\u0c43\3\2\2\2\u0c46\u0c49\3\2\2\2\u0c47") - buf.write("\u0c45\3\2\2\2\u0c47\u0c48\3\2\2\2\u0c48\u0c4c\3\2\2\2") - buf.write("\u0c49\u0c47\3\2\2\2\u0c4a\u0c4b\7\u00a9\2\2\u0c4b\u0c4d") - buf.write("\5\u0250\u0129\2\u0c4c\u0c4a\3\2\2\2\u0c4c\u0c4d\3\2\2") - buf.write("\2\u0c4d\u0c4f\3\2\2\2\u0c4e\u0c50\5\u00d0i\2\u0c4f\u0c4e") - buf.write("\3\2\2\2\u0c4f\u0c50\3\2\2\2\u0c50\u0c52\3\2\2\2\u0c51") - buf.write("\u0c53\5\u0100\u0081\2\u0c52\u0c51\3\2\2\2\u0c52\u0c53") - buf.write("\3\2\2\2\u0c53\u00cd\3\2\2\2\u0c54\u0c56\7\u00a3\2\2\u0c55") - buf.write("\u0c57\7`\2\2\u0c56\u0c55\3\2\2\2\u0c56\u0c57\3\2\2\2") - buf.write("\u0c57\u0c59\3\2\2\2\u0c58\u0c5a\7G\2\2\u0c59\u0c58\3") - buf.write("\2\2\2\u0c59\u0c5a\3\2\2\2\u0c5a\u0c5b\3\2\2\2\u0c5b\u0c5c") - buf.write("\5\u00d4k\2\u0c5c\u0c5d\7\u0089\2\2\u0c5d\u0c62\5\u00ba") - buf.write("^\2\u0c5e\u0c5f\7\u03bd\2\2\u0c5f\u0c61\5\u00ba^\2\u0c60") - buf.write("\u0c5e\3\2\2\2\u0c61\u0c64\3\2\2\2\u0c62\u0c60\3\2\2\2") - buf.write("\u0c62\u0c63\3\2\2\2\u0c63\u0c67\3\2\2\2\u0c64\u0c62\3") - buf.write("\2\2\2\u0c65\u0c66\7\u00a9\2\2\u0c66\u0c68\5\u0250\u0129") - buf.write("\2\u0c67\u0c65\3\2\2\2\u0c67\u0c68\3\2\2\2\u0c68\u00cf") - buf.write("\3\2\2\2\u0c69\u0c6a\7o\2\2\u0c6a\u0c6b\7\24\2\2\u0c6b") - buf.write("\u0c70\5\u00d2j\2\u0c6c\u0c6d\7\u03bd\2\2\u0c6d\u0c6f") - buf.write("\5\u00d2j\2\u0c6e\u0c6c\3\2\2\2\u0c6f\u0c72\3\2\2\2\u0c70") - buf.write("\u0c6e\3\2\2\2\u0c70\u0c71\3\2\2\2\u0c71\u00d1\3\2\2\2") - buf.write("\u0c72\u0c70\3\2\2\2\u0c73\u0c75\5\u0250\u0129\2\u0c74") - buf.write("\u0c76\t)\2\2\u0c75\u0c74\3\2\2\2\u0c75\u0c76\3\2\2\2") - buf.write("\u0c76\u00d3\3\2\2\2\u0c77\u0c7c\5\u00d6l\2\u0c78\u0c79") - buf.write("\7\u03bd\2\2\u0c79\u0c7b\5\u00d6l\2\u0c7a\u0c78\3\2\2") - buf.write("\2\u0c7b\u0c7e\3\2\2\2\u0c7c\u0c7a\3\2\2\2\u0c7c\u0c7d") - buf.write("\3\2\2\2\u0c7d\u00d5\3\2\2\2\u0c7e\u0c7c\3\2\2\2\u0c7f") - buf.write("\u0c83\5\u00d8m\2\u0c80\u0c82\5\u00dep\2\u0c81\u0c80\3") - buf.write("\2\2\2\u0c82\u0c85\3\2\2\2\u0c83\u0c81\3\2\2\2\u0c83\u0c84") - buf.write("\3\2\2\2\u0c84\u0c91\3\2\2\2\u0c85\u0c83\3\2\2\2\u0c86") - buf.write("\u0c87\7\u03bb\2\2\u0c87\u0c8b\5\u00d8m\2\u0c88\u0c8a") - buf.write("\5\u00dep\2\u0c89\u0c88\3\2\2\2\u0c8a\u0c8d\3\2\2\2\u0c8b") - buf.write("\u0c89\3\2\2\2\u0c8b\u0c8c\3\2\2\2\u0c8c\u0c8e\3\2\2\2") - buf.write("\u0c8d\u0c8b\3\2\2\2\u0c8e\u0c8f\7\u03bc\2\2\u0c8f\u0c91") - buf.write("\3\2\2\2\u0c90\u0c7f\3\2\2\2\u0c90\u0c86\3\2\2\2\u0c91") - buf.write("\u00d7\3\2\2\2\u0c92\u0c98\5\u01ec\u00f7\2\u0c93\u0c94") - buf.write("\7s\2\2\u0c94\u0c95\7\u03bb\2\2\u0c95\u0c96\5\u0222\u0112") - buf.write("\2\u0c96\u0c97\7\u03bc\2\2\u0c97\u0c99\3\2\2\2\u0c98\u0c93") - buf.write("\3\2\2\2\u0c98\u0c99\3\2\2\2\u0c99\u0c9e\3\2\2\2\u0c9a") - buf.write("\u0c9c\7\17\2\2\u0c9b\u0c9a\3\2\2\2\u0c9b\u0c9c\3\2\2") - buf.write("\2\u0c9c\u0c9d\3\2\2\2\u0c9d\u0c9f\5\u0204\u0103\2\u0c9e") - buf.write("\u0c9b\3\2\2\2\u0c9e\u0c9f\3\2\2\2\u0c9f\u0ca8\3\2\2\2") - buf.write("\u0ca0\u0ca5\5\u00dan\2\u0ca1\u0ca2\7\u03bd\2\2\u0ca2") - buf.write("\u0ca4\5\u00dan\2\u0ca3\u0ca1\3\2\2\2\u0ca4\u0ca7\3\2") - buf.write("\2\2\u0ca5\u0ca3\3\2\2\2\u0ca5\u0ca6\3\2\2\2\u0ca6\u0ca9") - buf.write("\3\2\2\2\u0ca7\u0ca5\3\2\2\2\u0ca8\u0ca0\3\2\2\2\u0ca8") - buf.write("\u0ca9\3\2\2\2\u0ca9\u0cbb\3\2\2\2\u0caa\u0cb0\5\u00b4") - buf.write("[\2\u0cab\u0cac\7\u03bb\2\2\u0cac\u0cad\5\u00b4[\2\u0cad") - buf.write("\u0cae\7\u03bc\2\2\u0cae\u0cb0\3\2\2\2\u0caf\u0caa\3\2") - buf.write("\2\2\u0caf\u0cab\3\2\2\2\u0cb0\u0cb2\3\2\2\2\u0cb1\u0cb3") - buf.write("\7\17\2\2\u0cb2\u0cb1\3\2\2\2\u0cb2\u0cb3\3\2\2\2\u0cb3") - buf.write("\u0cb4\3\2\2\2\u0cb4\u0cb5\5\u0204\u0103\2\u0cb5\u0cbb") - buf.write("\3\2\2\2\u0cb6\u0cb7\7\u03bb\2\2\u0cb7\u0cb8\5\u00d4k") - buf.write("\2\u0cb8\u0cb9\7\u03bc\2\2\u0cb9\u0cbb\3\2\2\2\u0cba\u0c92") - buf.write("\3\2\2\2\u0cba\u0caf\3\2\2\2\u0cba\u0cb6\3\2\2\2\u0cbb") - buf.write("\u00d9\3\2\2\2\u0cbc\u0cbd\t*\2\2\u0cbd\u0cc0\t\24\2\2") - buf.write("\u0cbe\u0cbf\7<\2\2\u0cbf\u0cc1\5\u00dco\2\u0cc0\u0cbe") - buf.write("\3\2\2\2\u0cc0\u0cc1\3\2\2\2\u0cc1\u0cc2\3\2\2\2\u0cc2") - buf.write("\u0cc3\7\u03bb\2\2\u0cc3\u0cc4\5\u0222\u0112\2\u0cc4\u0cc5") - buf.write("\7\u03bc\2\2\u0cc5\u00db\3\2\2\2\u0cc6\u0ccc\7R\2\2\u0cc7") - buf.write("\u0cc8\7o\2\2\u0cc8\u0ccc\7\24\2\2\u0cc9\u0cca\7C\2\2") - buf.write("\u0cca\u0ccc\7\24\2\2\u0ccb\u0cc6\3\2\2\2\u0ccb\u0cc7") - buf.write("\3\2\2\2\u0ccb\u0cc9\3\2\2\2\u0ccc\u00dd\3\2\2\2\u0ccd") - buf.write("\u0ccf\t+\2\2\u0cce\u0ccd\3\2\2\2\u0cce\u0ccf\3\2\2\2") - buf.write("\u0ccf\u0cd0\3\2\2\2\u0cd0\u0cd1\7R\2\2\u0cd1\u0cd9\5") - buf.write("\u00d8m\2\u0cd2\u0cd3\7j\2\2\u0cd3\u0cda\5\u0250\u0129") - buf.write("\2\u0cd4\u0cd5\7\u00a6\2\2\u0cd5\u0cd6\7\u03bb\2\2\u0cd6") - buf.write("\u0cd7\5\u0222\u0112\2\u0cd7\u0cd8\7\u03bc\2\2\u0cd8\u0cda") - buf.write("\3\2\2\2\u0cd9\u0cd2\3\2\2\2\u0cd9\u0cd4\3\2\2\2\u0cd9") - buf.write("\u0cda\3\2\2\2\u0cda\u0cfa\3\2\2\2\u0cdb\u0cdc\7\u0096") - buf.write("\2\2\u0cdc\u0cdf\5\u00d8m\2\u0cdd\u0cde\7j\2\2\u0cde\u0ce0") - buf.write("\5\u0250\u0129\2\u0cdf\u0cdd\3\2\2\2\u0cdf\u0ce0\3\2\2") - buf.write("\2\u0ce0\u0cfa\3\2\2\2\u0ce1\u0ce3\t,\2\2\u0ce2\u0ce4") - buf.write("\7q\2\2\u0ce3\u0ce2\3\2\2\2\u0ce3\u0ce4\3\2\2\2\u0ce4") - buf.write("\u0ce5\3\2\2\2\u0ce5\u0ce6\7R\2\2\u0ce6\u0cee\5\u00d8") - buf.write("m\2\u0ce7\u0ce8\7j\2\2\u0ce8\u0cef\5\u0250\u0129\2\u0ce9") - buf.write("\u0cea\7\u00a6\2\2\u0cea\u0ceb\7\u03bb\2\2\u0ceb\u0cec") - buf.write("\5\u0222\u0112\2\u0cec\u0ced\7\u03bc\2\2\u0ced\u0cef\3") - buf.write("\2\2\2\u0cee\u0ce7\3\2\2\2\u0cee\u0ce9\3\2\2\2\u0cef\u0cfa") - buf.write("\3\2\2\2\u0cf0\u0cf5\7f\2\2\u0cf1\u0cf3\t,\2\2\u0cf2\u0cf4") - buf.write("\7q\2\2\u0cf3\u0cf2\3\2\2\2\u0cf3\u0cf4\3\2\2\2\u0cf4") - buf.write("\u0cf6\3\2\2\2\u0cf5\u0cf1\3\2\2\2\u0cf5\u0cf6\3\2\2\2") - buf.write("\u0cf6\u0cf7\3\2\2\2\u0cf7\u0cf8\7R\2\2\u0cf8\u0cfa\5") - buf.write("\u00d8m\2\u0cf9\u0cce\3\2\2\2\u0cf9\u0cdb\3\2\2\2\u0cf9") - buf.write("\u0ce1\3\2\2\2\u0cf9\u0cf0\3\2\2\2\u0cfa\u00df\3\2\2\2") - buf.write("\u0cfb\u0cfc\7\u03bb\2\2\u0cfc\u0cfd\5\u00e4s\2\u0cfd") - buf.write("\u0cfe\7\u03bc\2\2\u0cfe\u0d04\3\2\2\2\u0cff\u0d00\7\u03bb") - buf.write("\2\2\u0d00\u0d01\5\u00e0q\2\u0d01\u0d02\7\u03bc\2\2\u0d02") - buf.write("\u0d04\3\2\2\2\u0d03\u0cfb\3\2\2\2\u0d03\u0cff\3\2\2\2") - buf.write("\u0d04\u00e1\3\2\2\2\u0d05\u0d06\7\u03bb\2\2\u0d06\u0d07") - buf.write("\5\u00e6t\2\u0d07\u0d08\7\u03bc\2\2\u0d08\u0d0e\3\2\2") - buf.write("\2\u0d09\u0d0a\7\u03bb\2\2\u0d0a\u0d0b\5\u00e2r\2\u0d0b") - buf.write("\u0d0c\7\u03bc\2\2\u0d0c\u0d0e\3\2\2\2\u0d0d\u0d05\3\2") - buf.write("\2\2\u0d0d\u0d09\3\2\2\2\u0d0e\u00e3\3\2\2\2\u0d0f\u0d13") - buf.write("\7\u0088\2\2\u0d10\u0d12\5\u00ecw\2\u0d11\u0d10\3\2\2") - buf.write("\2\u0d12\u0d15\3\2\2\2\u0d13\u0d11\3\2\2\2\u0d13\u0d14") - buf.write("\3\2\2\2\u0d14\u0d16\3\2\2\2\u0d15\u0d13\3\2\2\2\u0d16") - buf.write("\u0d18\5\u00eex\2\u0d17\u0d19\5\u00f6|\2\u0d18\u0d17\3") - buf.write("\2\2\2\u0d18\u0d19\3\2\2\2\u0d19\u0d1b\3\2\2\2\u0d1a\u0d1c") - buf.write("\5\u00fc\177\2\u0d1b\u0d1a\3\2\2\2\u0d1b\u0d1c\3\2\2\2") - buf.write("\u0d1c\u0d1e\3\2\2\2\u0d1d\u0d1f\5\u00d0i\2\u0d1e\u0d1d") - buf.write("\3\2\2\2\u0d1e\u0d1f\3\2\2\2\u0d1f\u0d21\3\2\2\2\u0d20") - buf.write("\u0d22\5\u0100\u0081\2\u0d21\u0d20\3\2\2\2\u0d21\u0d22") - buf.write("\3\2\2\2\u0d22\u0d49\3\2\2\2\u0d23\u0d27\7\u0088\2\2\u0d24") - buf.write("\u0d26\5\u00ecw\2\u0d25\u0d24\3\2\2\2\u0d26\u0d29\3\2") - buf.write("\2\2\u0d27\u0d25\3\2\2\2\u0d27\u0d28\3\2\2\2\u0d28\u0d2a") - buf.write("\3\2\2\2\u0d29\u0d27\3\2\2\2\u0d2a\u0d2c\5\u00eex\2\u0d2b") - buf.write("\u0d2d\5\u00fc\177\2\u0d2c\u0d2b\3\2\2\2\u0d2c\u0d2d\3") - buf.write("\2\2\2\u0d2d\u0d2f\3\2\2\2\u0d2e\u0d30\5\u00d0i\2\u0d2f") - buf.write("\u0d2e\3\2\2\2\u0d2f\u0d30\3\2\2\2\u0d30\u0d32\3\2\2\2") - buf.write("\u0d31\u0d33\5\u0100\u0081\2\u0d32\u0d31\3\2\2\2\u0d32") - buf.write("\u0d33\3\2\2\2\u0d33\u0d35\3\2\2\2\u0d34\u0d36\5\u00f6") - buf.write("|\2\u0d35\u0d34\3\2\2\2\u0d35\u0d36\3\2\2\2\u0d36\u0d49") - buf.write("\3\2\2\2\u0d37\u0d3b\7\u0088\2\2\u0d38\u0d3a\5\u00ecw") - buf.write("\2\u0d39\u0d38\3\2\2\2\u0d3a\u0d3d\3\2\2\2\u0d3b\u0d39") - buf.write("\3\2\2\2\u0d3b\u0d3c\3\2\2\2\u0d3c\u0d3e\3\2\2\2\u0d3d") - buf.write("\u0d3b\3\2\2\2\u0d3e\u0d40\5\u00eex\2\u0d3f\u0d41\5\u00fc") - buf.write("\177\2\u0d40\u0d3f\3\2\2\2\u0d40\u0d41\3\2\2\2\u0d41\u0d43") - buf.write("\3\2\2\2\u0d42\u0d44\5\u00f2z\2\u0d43\u0d42\3\2\2\2\u0d43") - buf.write("\u0d44\3\2\2\2\u0d44\u0d46\3\2\2\2\u0d45\u0d47\5\u00f4") - buf.write("{\2\u0d46\u0d45\3\2\2\2\u0d46\u0d47\3\2\2\2\u0d47\u0d49") - buf.write("\3\2\2\2\u0d48\u0d0f\3\2\2\2\u0d48\u0d23\3\2\2\2\u0d48") - buf.write("\u0d37\3\2\2\2\u0d49\u00e5\3\2\2\2\u0d4a\u0d4e\7\u0088") - buf.write("\2\2\u0d4b\u0d4d\5\u00ecw\2\u0d4c\u0d4b\3\2\2\2\u0d4d") - buf.write("\u0d50\3\2\2\2\u0d4e\u0d4c\3\2\2\2\u0d4e\u0d4f\3\2\2\2") - buf.write("\u0d4f\u0d51\3\2\2\2\u0d50\u0d4e\3\2\2\2\u0d51\u0d53\5") - buf.write("\u00eex\2\u0d52\u0d54\5\u00fc\177\2\u0d53\u0d52\3\2\2") - buf.write("\2\u0d53\u0d54\3\2\2\2\u0d54\u0d56\3\2\2\2\u0d55\u0d57") - buf.write("\5\u00d0i\2\u0d56\u0d55\3\2\2\2\u0d56\u0d57\3\2\2\2\u0d57") - buf.write("\u0d59\3\2\2\2\u0d58\u0d5a\5\u0100\u0081\2\u0d59\u0d58") - buf.write("\3\2\2\2\u0d59\u0d5a\3\2\2\2\u0d5a\u00e7\3\2\2\2\u0d5b") - buf.write("\u0d5d\7\u009f\2\2\u0d5c\u0d5e\t%\2\2\u0d5d\u0d5c\3\2") - buf.write("\2\2\u0d5d\u0d5e\3\2\2\2\u0d5e\u0d5f\3\2\2\2\u0d5f\u0d60") - buf.write("\5\u00e2r\2\u0d60\u00e9\3\2\2\2\u0d61\u0d63\7\u009f\2") - buf.write("\2\u0d62\u0d64\t%\2\2\u0d63\u0d62\3\2\2\2\u0d63\u0d64") - buf.write("\3\2\2\2\u0d64\u0d67\3\2\2\2\u0d65\u0d68\5\u00e6t\2\u0d66") - buf.write("\u0d68\5\u00e2r\2\u0d67\u0d65\3\2\2\2\u0d67\u0d66\3\2") - buf.write("\2\2\u0d68\u00eb\3\2\2\2\u0d69\u0d72\t-\2\2\u0d6a\u0d72") - buf.write("\7E\2\2\u0d6b\u0d72\7\u0096\2\2\u0d6c\u0d72\7\u0093\2") - buf.write("\2\u0d6d\u0d72\7\u0091\2\2\u0d6e\u0d72\7\u01f8\2\2\u0d6f") - buf.write("\u0d72\t.\2\2\u0d70\u0d72\7\u0092\2\2\u0d71\u0d69\3\2") - buf.write("\2\2\u0d71\u0d6a\3\2\2\2\u0d71\u0d6b\3\2\2\2\u0d71\u0d6c") - buf.write("\3\2\2\2\u0d71\u0d6d\3\2\2\2\u0d71\u0d6e\3\2\2\2\u0d71") - buf.write("\u0d6f\3\2\2\2\u0d71\u0d70\3\2\2\2\u0d72\u00ed\3\2\2\2") - buf.write("\u0d73\u0d76\7\u03aa\2\2\u0d74\u0d76\5\u00f0y\2\u0d75") - buf.write("\u0d73\3\2\2\2\u0d75\u0d74\3\2\2\2\u0d76\u0d7b\3\2\2\2") - buf.write("\u0d77\u0d78\7\u03bd\2\2\u0d78\u0d7a\5\u00f0y\2\u0d79") - buf.write("\u0d77\3\2\2\2\u0d7a\u0d7d\3\2\2\2\u0d7b\u0d79\3\2\2\2") - buf.write("\u0d7b\u0d7c\3\2\2\2\u0d7c\u00ef\3\2\2\2\u0d7d\u0d7b\3") - buf.write("\2\2\2\u0d7e\u0d7f\5\u01ea\u00f6\2\u0d7f\u0d80\7\u03ba") - buf.write("\2\2\u0d80\u0d81\7\u03aa\2\2\u0d81\u0d9c\3\2\2\2\u0d82") - buf.write("\u0d87\5\u01ee\u00f8\2\u0d83\u0d85\7\17\2\2\u0d84\u0d83") - buf.write("\3\2\2\2\u0d84\u0d85\3\2\2\2\u0d85\u0d86\3\2\2\2\u0d86") - buf.write("\u0d88\5\u0204\u0103\2\u0d87\u0d84\3\2\2\2\u0d87\u0d88") - buf.write("\3\2\2\2\u0d88\u0d9c\3\2\2\2\u0d89\u0d8e\5\u023c\u011f") - buf.write("\2\u0d8a\u0d8c\7\17\2\2\u0d8b\u0d8a\3\2\2\2\u0d8b\u0d8c") - buf.write("\3\2\2\2\u0d8c\u0d8d\3\2\2\2\u0d8d\u0d8f\5\u0204\u0103") - buf.write("\2\u0d8e\u0d8b\3\2\2\2\u0d8e\u0d8f\3\2\2\2\u0d8f\u0d9c") - buf.write("\3\2\2\2\u0d90\u0d91\7\u03d5\2\2\u0d91\u0d93\7\u03a1\2") - buf.write("\2\u0d92\u0d90\3\2\2\2\u0d92\u0d93\3\2\2\2\u0d93\u0d94") - buf.write("\3\2\2\2\u0d94\u0d99\5\u0250\u0129\2\u0d95\u0d97\7\17") - buf.write("\2\2\u0d96\u0d95\3\2\2\2\u0d96\u0d97\3\2\2\2\u0d97\u0d98") - buf.write("\3\2\2\2\u0d98\u0d9a\5\u0204\u0103\2\u0d99\u0d96\3\2\2") - buf.write("\2\u0d99\u0d9a\3\2\2\2\u0d9a\u0d9c\3\2\2\2\u0d9b\u0d7e") - buf.write("\3\2\2\2\u0d9b\u0d82\3\2\2\2\u0d9b\u0d89\3\2\2\2\u0d9b") - buf.write("\u0d92\3\2\2\2\u0d9c\u00f1\3\2\2\2\u0d9d\u0d9e\7\7\2\2") - buf.write("\u0d9e\u0d9f\7\u03cd\2\2\u0d9f\u00f3\3\2\2\2\u0da0\u0da1") - buf.write("\7\b\2\2\u0da1\u0da2\7\u03cd\2\2\u0da2\u00f5\3\2\2\2\u0da3") - buf.write("\u0da4\7O\2\2\u0da4\u0da9\5\u00bc_\2\u0da5\u0da6\7\u03bd") - buf.write("\2\2\u0da6\u0da8\5\u00bc_\2\u0da7\u0da5\3\2\2\2\u0da8") - buf.write("\u0dab\3\2\2\2\u0da9\u0da7\3\2\2\2\u0da9\u0daa\3\2\2\2") - buf.write("\u0daa\u0dc8\3\2\2\2\u0dab\u0da9\3\2\2\2\u0dac\u0dad\7") - buf.write("O\2\2\u0dad\u0dae\7\u0136\2\2\u0dae\u0dc8\7\u03ca\2\2") - buf.write("\u0daf\u0db0\7O\2\2\u0db0\u0db1\7r\2\2\u0db1\u0db5\7\u03ca") - buf.write("\2\2\u0db2\u0db3\7\32\2\2\u0db3\u0db4\7\u0089\2\2\u0db4") - buf.write("\u0db6\5\u01f6\u00fc\2\u0db5\u0db2\3\2\2\2\u0db5\u0db6") - buf.write("\3\2\2\2\u0db6\u0dbd\3\2\2\2\u0db7\u0db9\t\"\2\2\u0db8") - buf.write("\u0dba\5\u00f8}\2\u0db9\u0db8\3\2\2\2\u0dba\u0dbb\3\2") - buf.write("\2\2\u0dbb\u0db9\3\2\2\2\u0dbb\u0dbc\3\2\2\2\u0dbc\u0dbe") - buf.write("\3\2\2\2\u0dbd\u0db7\3\2\2\2\u0dbd\u0dbe\3\2\2\2\u0dbe") - buf.write("\u0dc5\3\2\2\2\u0dbf\u0dc1\7\\\2\2\u0dc0\u0dc2\5\u00fa") - buf.write("~\2\u0dc1\u0dc0\3\2\2\2\u0dc2\u0dc3\3\2\2\2\u0dc3\u0dc1") - buf.write("\3\2\2\2\u0dc3\u0dc4\3\2\2\2\u0dc4\u0dc6\3\2\2\2\u0dc5") - buf.write("\u0dbf\3\2\2\2\u0dc5\u0dc6\3\2\2\2\u0dc6\u0dc8\3\2\2\2") - buf.write("\u0dc7\u0da3\3\2\2\2\u0dc7\u0dac\3\2\2\2\u0dc7\u0daf\3") - buf.write("\2\2\2\u0dc8\u00f7\3\2\2\2\u0dc9\u0dca\7\u0098\2\2\u0dca") - buf.write("\u0dcb\7\24\2\2\u0dcb\u0dd6\7\u03ca\2\2\u0dcc\u0dce\7") - buf.write("m\2\2\u0dcd\u0dcc\3\2\2\2\u0dcd\u0dce\3\2\2\2\u0dce\u0dcf") - buf.write("\3\2\2\2\u0dcf\u0dd0\7\65\2\2\u0dd0\u0dd1\7\24\2\2\u0dd1") - buf.write("\u0dd6\7\u03ca\2\2\u0dd2\u0dd3\7\66\2\2\u0dd3\u0dd4\7") - buf.write("\24\2\2\u0dd4\u0dd6\7\u03ca\2\2\u0dd5\u0dc9\3\2\2\2\u0dd5") - buf.write("\u0dcd\3\2\2\2\u0dd5\u0dd2\3\2\2\2\u0dd6\u00f9\3\2\2\2") - buf.write("\u0dd7\u0dd8\7\u0095\2\2\u0dd8\u0dd9\7\24\2\2\u0dd9\u0dde") - buf.write("\7\u03ca\2\2\u0dda\u0ddb\7\u0098\2\2\u0ddb\u0ddc\7\24") - buf.write("\2\2\u0ddc\u0dde\7\u03ca\2\2\u0ddd\u0dd7\3\2\2\2\u0ddd") - buf.write("\u0dda\3\2\2\2\u0dde\u00fb\3\2\2\2\u0ddf\u0de0\7?\2\2") - buf.write("\u0de0\u0de3\5\u00d4k\2\u0de1\u0de2\7\u00a9\2\2\u0de2") - buf.write("\u0de4\5\u0250\u0129\2\u0de3\u0de1\3\2\2\2\u0de3\u0de4") - buf.write("\3\2\2\2\u0de4\u0df3\3\2\2\2\u0de5\u0de6\7C\2\2\u0de6") - buf.write("\u0de7\7\24\2\2\u0de7\u0dec\5\u00fe\u0080\2\u0de8\u0de9") - buf.write("\7\u03bd\2\2\u0de9\u0deb\5\u00fe\u0080\2\u0dea\u0de8\3") - buf.write("\2\2\2\u0deb\u0dee\3\2\2\2\u0dec\u0dea\3\2\2\2\u0dec\u0ded") - buf.write("\3\2\2\2\u0ded\u0df1\3\2\2\2\u0dee\u0dec\3\2\2\2\u0def") - buf.write("\u0df0\7\u00ab\2\2\u0df0\u0df2\7\u01df\2\2\u0df1\u0def") - buf.write("\3\2\2\2\u0df1\u0df2\3\2\2\2\u0df2\u0df4\3\2\2\2\u0df3") - buf.write("\u0de5\3\2\2\2\u0df3\u0df4\3\2\2\2\u0df4\u0df7\3\2\2\2") - buf.write("\u0df5\u0df6\7D\2\2\u0df6\u0df8\5\u0250\u0129\2\u0df7") - buf.write("\u0df5\3\2\2\2\u0df7\u0df8\3\2\2\2\u0df8\u00fd\3\2\2\2") - buf.write("\u0df9\u0dfb\5\u0250\u0129\2\u0dfa\u0dfc\t)\2\2\u0dfb") - buf.write("\u0dfa\3\2\2\2\u0dfb\u0dfc\3\2\2\2\u0dfc\u00ff\3\2\2\2") - buf.write("\u0dfd\u0e08\7Z\2\2\u0dfe\u0dff\5\u020a\u0106\2\u0dff") - buf.write("\u0e00\7\u03bd\2\2\u0e00\u0e02\3\2\2\2\u0e01\u0dfe\3\2") - buf.write("\2\2\u0e01\u0e02\3\2\2\2\u0e02\u0e03\3\2\2\2\u0e03\u0e09") - buf.write("\5\u020a\u0106\2\u0e04\u0e05\5\u020a\u0106\2\u0e05\u0e06") - buf.write("\7\u01a8\2\2\u0e06\u0e07\5\u020a\u0106\2\u0e07\u0e09\3") - buf.write("\2\2\2\u0e08\u0e01\3\2\2\2\u0e08\u0e04\3\2\2\2\u0e09\u0101") - buf.write("\3\2\2\2\u0e0a\u0e0b\7\u01fc\2\2\u0e0b\u0e14\7\u0211\2") - buf.write("\2\u0e0c\u0e11\5\u0118\u008d\2\u0e0d\u0e0e\7\u03bd\2\2") - buf.write("\u0e0e\u0e10\5\u0118\u008d\2\u0e0f\u0e0d\3\2\2\2\u0e10") - buf.write("\u0e13\3\2\2\2\u0e11\u0e0f\3\2\2\2\u0e11\u0e12\3\2\2\2") - buf.write("\u0e12\u0e15\3\2\2\2\u0e13\u0e11\3\2\2\2\u0e14\u0e0c\3") - buf.write("\2\2\2\u0e14\u0e15\3\2\2\2\u0e15\u0103\3\2\2\2\u0e16\u0e18") - buf.write("\7\u0108\2\2\u0e17\u0e19\7\u0226\2\2\u0e18\u0e17\3\2\2") - buf.write("\2\u0e18\u0e19\3\2\2\2\u0e19\u0105\3\2\2\2\u0e1a\u0e1c") - buf.write("\7\u011d\2\2\u0e1b\u0e1d\7\u0226\2\2\u0e1c\u0e1b\3\2\2") - buf.write("\2\u0e1c\u0e1d\3\2\2\2\u0e1d\u0e23\3\2\2\2\u0e1e\u0e20") - buf.write("\7\16\2\2\u0e1f\u0e21\7\u01a4\2\2\u0e20\u0e1f\3\2\2\2") - buf.write("\u0e20\u0e21\3\2\2\2\u0e21\u0e22\3\2\2\2\u0e22\u0e24\7") - buf.write("\u0111\2\2\u0e23\u0e1e\3\2\2\2\u0e23\u0e24\3\2\2\2\u0e24") - buf.write("\u0e29\3\2\2\2\u0e25\u0e27\7\u01a4\2\2\u0e26\u0e25\3\2") - buf.write("\2\2\u0e26\u0e27\3\2\2\2\u0e27\u0e28\3\2\2\2\u0e28\u0e2a") - buf.write("\7|\2\2\u0e29\u0e26\3\2\2\2\u0e29\u0e2a\3\2\2\2\u0e2a") - buf.write("\u0107\3\2\2\2\u0e2b\u0e2d\7\u01de\2\2\u0e2c\u0e2e\7\u0226") - buf.write("\2\2\u0e2d\u0e2c\3\2\2\2\u0e2d\u0e2e\3\2\2\2\u0e2e\u0e34") - buf.write("\3\2\2\2\u0e2f\u0e31\7\16\2\2\u0e30\u0e32\7\u01a4\2\2") - buf.write("\u0e31\u0e30\3\2\2\2\u0e31\u0e32\3\2\2\2\u0e32\u0e33\3") - buf.write("\2\2\2\u0e33\u0e35\7\u0111\2\2\u0e34\u0e2f\3\2\2\2\u0e34") - buf.write("\u0e35\3\2\2\2\u0e35\u0e3a\3\2\2\2\u0e36\u0e38\7\u01a4") - buf.write("\2\2\u0e37\u0e36\3\2\2\2\u0e37\u0e38\3\2\2\2\u0e38\u0e39") - buf.write("\3\2\2\2\u0e39\u0e3b\7|\2\2\u0e3a\u0e37\3\2\2\2\u0e3a") - buf.write("\u0e3b\3\2\2\2\u0e3b\u0109\3\2\2\2\u0e3c\u0e3d\7\u01e4") - buf.write("\2\2\u0e3d\u0e3e\5\u0204\u0103\2\u0e3e\u010b\3\2\2\2\u0e3f") - buf.write("\u0e41\7\u01de\2\2\u0e40\u0e42\7\u0226\2\2\u0e41\u0e40") - buf.write("\3\2\2\2\u0e41\u0e42\3\2\2\2\u0e42\u0e43\3\2\2\2\u0e43") - buf.write("\u0e45\7\u009a\2\2\u0e44\u0e46\7\u01e4\2\2\u0e45\u0e44") - buf.write("\3\2\2\2\u0e45\u0e46\3\2\2\2\u0e46\u0e47\3\2\2\2\u0e47") - buf.write("\u0e48\5\u0204\u0103\2\u0e48\u010d\3\2\2\2\u0e49\u0e4a") - buf.write("\7|\2\2\u0e4a\u0e4b\7\u01e4\2\2\u0e4b\u0e4c\5\u0204\u0103") - buf.write("\2\u0e4c\u010f\3\2\2\2\u0e4d\u0e4e\7^\2\2\u0e4e\u0e4f") - buf.write("\7\u0238\2\2\u0e4f\u0e54\5\u011a\u008e\2\u0e50\u0e51\7") - buf.write("\u03bd\2\2\u0e51\u0e53\5\u011a\u008e\2\u0e52\u0e50\3\2") - buf.write("\2\2\u0e53\u0e56\3\2\2\2\u0e54\u0e52\3\2\2\2\u0e54\u0e55") - buf.write("\3\2\2\2\u0e55\u0111\3\2\2\2\u0e56\u0e54\3\2\2\2\u0e57") - buf.write("\u0e58\7\u00a1\2\2\u0e58\u0e59\7\u0238\2\2\u0e59\u0113") - buf.write("\3\2\2\2\u0e5a\u0e5b\7\u0089\2\2\u0e5b\u0e5c\7\u0104\2") - buf.write("\2\u0e5c\u0e5d\7\u03b2\2\2\u0e5d\u0e5e\t\27\2\2\u0e5e") - buf.write("\u0115\3\2\2\2\u0e5f\u0e61\7\u0089\2\2\u0e60\u0e62\t/") - buf.write("\2\2\u0e61\u0e60\3\2\2\2\u0e61\u0e62\3\2\2\2\u0e62\u0e63") - buf.write("\3\2\2\2\u0e63\u0e64\7\u0211\2\2\u0e64\u0e69\5\u011e\u0090") - buf.write("\2\u0e65\u0e66\7\u03bd\2\2\u0e66\u0e68\5\u011e\u0090\2") - buf.write("\u0e67\u0e65\3\2\2\2\u0e68\u0e6b\3\2\2\2\u0e69\u0e67\3") - buf.write("\2\2\2\u0e69\u0e6a\3\2\2\2\u0e6a\u0117\3\2\2\2\u0e6b\u0e69") - buf.write("\3\2\2\2\u0e6c\u0e6d\7\u00ab\2\2\u0e6d\u0e6e\7\u0124\2") - buf.write("\2\u0e6e\u0e74\7\u01ef\2\2\u0e6f\u0e70\7x\2\2\u0e70\u0e74") - buf.write("\7\u00ac\2\2\u0e71\u0e72\7x\2\2\u0e72\u0e74\7\u01ad\2") - buf.write("\2\u0e73\u0e6c\3\2\2\2\u0e73\u0e6f\3\2\2\2\u0e73\u0e71") - buf.write("\3\2\2\2\u0e74\u0119\3\2\2\2\u0e75\u0e7a\5\u01ec\u00f7") - buf.write("\2\u0e76\u0e78\7\17\2\2\u0e77\u0e76\3\2\2\2\u0e77\u0e78") - buf.write("\3\2\2\2\u0e78\u0e79\3\2\2\2\u0e79\u0e7b\5\u0204\u0103") - buf.write("\2\u0e7a\u0e77\3\2\2\2\u0e7a\u0e7b\3\2\2\2\u0e7b\u0e7c") - buf.write("\3\2\2\2\u0e7c\u0e7d\5\u011c\u008f\2\u0e7d\u011b\3\2\2") - buf.write("\2\u0e7e\u0e80\7x\2\2\u0e7f\u0e81\7\u0178\2\2\u0e80\u0e7f") - buf.write("\3\2\2\2\u0e80\u0e81\3\2\2\2\u0e81\u0e87\3\2\2\2\u0e82") - buf.write("\u0e84\7`\2\2\u0e83\u0e82\3\2\2\2\u0e83\u0e84\3\2\2\2") - buf.write("\u0e84\u0e85\3\2\2\2\u0e85\u0e87\7\u00ac\2\2\u0e86\u0e7e") - buf.write("\3\2\2\2\u0e86\u0e83\3\2\2\2\u0e87\u011d\3\2\2\2\u0e88") - buf.write("\u0e89\7\u016e\2\2\u0e89\u0e8a\7\u0176\2\2\u0e8a\u0e90") - buf.write("\5\u0120\u0091\2\u0e8b\u0e8c\7x\2\2\u0e8c\u0e90\7\u00ac") - buf.write("\2\2\u0e8d\u0e8e\7x\2\2\u0e8e\u0e90\7\u01ad\2\2\u0e8f") - buf.write("\u0e88\3\2\2\2\u0e8f\u0e8b\3\2\2\2\u0e8f\u0e8d\3\2\2\2") - buf.write("\u0e90\u011f\3\2\2\2\u0e91\u0e92\7\u0274\2\2\u0e92\u0e99") - buf.write("\7x\2\2\u0e93\u0e94\7x\2\2\u0e94\u0e99\7\u0275\2\2\u0e95") - buf.write("\u0e96\7x\2\2\u0e96\u0e99\7\u0276\2\2\u0e97\u0e99\7\u0277") - buf.write("\2\2\u0e98\u0e91\3\2\2\2\u0e98\u0e93\3\2\2\2\u0e98\u0e95") - buf.write("\3\2\2\2\u0e98\u0e97\3\2\2\2\u0e99\u0121\3\2\2\2\u0e9a") - buf.write("\u0e9b\7\31\2\2\u0e9b\u0e9c\7\u017b\2\2\u0e9c\u0e9d\7") - buf.write("\u009a\2\2\u0e9d\u0ea2\5\u0134\u009b\2\u0e9e\u0e9f\7\u03bd") - buf.write("\2\2\u0e9f\u0ea1\5\u0134\u009b\2\u0ea0\u0e9e\3\2\2\2\u0ea1") - buf.write("\u0ea4\3\2\2\2\u0ea2\u0ea0\3\2\2\2\u0ea2\u0ea3\3\2\2\2") - buf.write("\u0ea3\u0ea6\3\2\2\2\u0ea4\u0ea2\3\2\2\2\u0ea5\u0ea7\5") - buf.write("\u013c\u009f\2\u0ea6\u0ea5\3\2\2\2\u0ea6\u0ea7\3\2\2\2") - buf.write("\u0ea7\u0123\3\2\2\2\u0ea8\u0ea9\7\31\2\2\u0ea9\u0eaa") - buf.write("\7\u01da\2\2\u0eaa\u0eab\7\u0150\2\2\u0eab\u0eb0\5\u013e") - buf.write("\u00a0\2\u0eac\u0ead\7\u03bd\2\2\u0ead\u0eaf\5\u013e\u00a0") - buf.write("\2\u0eae\u0eac\3\2\2\2\u0eaf\u0eb2\3\2\2\2\u0eb0\u0eae") - buf.write("\3\2\2\2\u0eb0\u0eb1\3\2\2\2\u0eb1\u0125\3\2\2\2\u0eb2") - buf.write("\u0eb0\3\2\2\2\u0eb3\u0eb4\7v\2\2\u0eb4\u0eb5\t\60\2\2") - buf.write("\u0eb5\u0eba\7\u017a\2\2\u0eb6\u0eb7\7\u009a\2\2\u0eb7") - buf.write("\u0ebb\7\u03ca\2\2\u0eb8\u0eb9\7\21\2\2\u0eb9\u0ebb\7") - buf.write("\u03ca\2\2\u0eba\u0eb6\3\2\2\2\u0eba\u0eb8\3\2\2\2\u0ebb") - buf.write("\u0127\3\2\2\2\u0ebc\u0ebd\7\u01db\2\2\u0ebd\u0ebe\7\u017b") - buf.write("\2\2\u0ebe\u0129\3\2\2\2\u0ebf\u0ec0\7\u01db\2\2\u0ec0") - buf.write("\u0ec2\7\u01ed\2\2\u0ec1\u0ec3\7\n\2\2\u0ec2\u0ec1\3\2") - buf.write("\2\2\u0ec2\u0ec3\3\2\2\2\u0ec3\u0ec5\3\2\2\2\u0ec4\u0ec6") - buf.write("\5\u013c\u009f\2\u0ec5\u0ec4\3\2\2\2\u0ec5\u0ec6\3\2\2") - buf.write("\2\u0ec6\u012b\3\2\2\2\u0ec7\u0ec8\7\u01fc\2\2\u0ec8\u0ed1") - buf.write("\7\u01ed\2\2\u0ec9\u0ece\5\u0142\u00a2\2\u0eca\u0ecb\7") - buf.write("\u03bd\2\2\u0ecb\u0ecd\5\u0142\u00a2\2\u0ecc\u0eca\3\2") - buf.write("\2\2\u0ecd\u0ed0\3\2\2\2\u0ece\u0ecc\3\2\2\2\u0ece\u0ecf") - buf.write("\3\2\2\2\u0ecf\u0ed2\3\2\2\2\u0ed0\u0ece\3\2\2\2\u0ed1") - buf.write("\u0ec9\3\2\2\2\u0ed1\u0ed2\3\2\2\2\u0ed2\u0ed5\3\2\2\2") - buf.write("\u0ed3\u0ed4\7\u0219\2\2\u0ed4\u0ed6\5\u0144\u00a3\2\u0ed5") - buf.write("\u0ed3\3\2\2\2\u0ed5\u0ed6\3\2\2\2\u0ed6\u0eda\3\2\2\2") - buf.write("\u0ed7\u0ed9\5\u0146\u00a4\2\u0ed8\u0ed7\3\2\2\2\u0ed9") - buf.write("\u0edc\3\2\2\2\u0eda\u0ed8\3\2\2\2\u0eda\u0edb\3\2\2\2") - buf.write("\u0edb\u0ede\3\2\2\2\u0edc\u0eda\3\2\2\2\u0edd\u0edf\5") - buf.write("\u013c\u009f\2\u0ede\u0edd\3\2\2\2\u0ede\u0edf\3\2\2\2") - buf.write("\u0edf\u012d\3\2\2\2\u0ee0\u0ee1\7\u0202\2\2\u0ee1\u0eea") - buf.write("\7\u01ed\2\2\u0ee2\u0ee7\5\u0142\u00a2\2\u0ee3\u0ee4\7") - buf.write("\u03bd\2\2\u0ee4\u0ee6\5\u0142\u00a2\2\u0ee5\u0ee3\3\2") - buf.write("\2\2\u0ee6\u0ee9\3\2\2\2\u0ee7\u0ee5\3\2\2\2\u0ee7\u0ee8") - buf.write("\3\2\2\2\u0ee8\u0eeb\3\2\2\2\u0ee9\u0ee7\3\2\2\2\u0eea") - buf.write("\u0ee2\3\2\2\2\u0eea\u0eeb\3\2\2\2\u0eeb\u012f\3\2\2\2") - buf.write("\u0eec\u0eed\7\u01fc\2\2\u0eed\u0eee\7\u015b\2\2\u0eee") - buf.write("\u0131\3\2\2\2\u0eef\u0ef0\7\u0202\2\2\u0ef0\u0ef1\7\u015b") - buf.write("\2\2\u0ef1\u0133\3\2\2\2\u0ef2\u0ef3\5\u0136\u009c\2\u0ef3") - buf.write("\u0ef4\7\u03b2\2\2\u0ef4\u0ef5\7\u03ca\2\2\u0ef5\u0f10") - buf.write("\3\2\2\2\u0ef6\u0ef7\5\u0138\u009d\2\u0ef7\u0ef8\7\u03b2") - buf.write("\2\2\u0ef8\u0ef9\5\u020a\u0106\2\u0ef9\u0f10\3\2\2\2\u0efa") - buf.write("\u0efb\5\u013a\u009e\2\u0efb\u0efc\7\u03b2\2\2\u0efc\u0efd") - buf.write("\t\27\2\2\u0efd\u0f10\3\2\2\2\u0efe\u0eff\7\u017f\2\2") - buf.write("\u0eff\u0f00\7\u03b2\2\2\u0f00\u0f10\7\u03cd\2\2\u0f01") - buf.write("\u0f02\7\u0162\2\2\u0f02\u0f03\7\u03b2\2\2\u0f03\u0f0c") - buf.write("\7\u03bb\2\2\u0f04\u0f09\5\u0204\u0103\2\u0f05\u0f06\7") - buf.write("\u03bd\2\2\u0f06\u0f08\5\u0204\u0103\2\u0f07\u0f05\3\2") - buf.write("\2\2\u0f08\u0f0b\3\2\2\2\u0f09\u0f07\3\2\2\2\u0f09\u0f0a") - buf.write("\3\2\2\2\u0f0a\u0f0d\3\2\2\2\u0f0b\u0f09\3\2\2\2\u0f0c") - buf.write("\u0f04\3\2\2\2\u0f0c\u0f0d\3\2\2\2\u0f0d\u0f0e\3\2\2\2") - buf.write("\u0f0e\u0f10\7\u03bc\2\2\u0f0f\u0ef2\3\2\2\2\u0f0f\u0ef6") - buf.write("\3\2\2\2\u0f0f\u0efa\3\2\2\2\u0f0f\u0efe\3\2\2\2\u0f0f") - buf.write("\u0f01\3\2\2\2\u0f10\u0135\3\2\2\2\u0f11\u0f12\t\61\2") - buf.write("\2\u0f12\u0137\3\2\2\2\u0f13\u0f14\t\62\2\2\u0f14\u0139") - buf.write("\3\2\2\2\u0f15\u0f16\t\63\2\2\u0f16\u013b\3\2\2\2\u0f17") - buf.write("\u0f18\7<\2\2\u0f18\u0f19\7\u0113\2\2\u0f19\u0f1a\7\u03ca") - buf.write("\2\2\u0f1a\u013d\3\2\2\2\u0f1b\u0f1c\7\u01d3\2\2\u0f1c") - buf.write("\u0f1d\7\u03b2\2\2\u0f1d\u0f1e\7\u03bb\2\2\u0f1e\u0f1f") - buf.write("\5\u0222\u0112\2\u0f1f\u0f20\7\u03bc\2\2\u0f20\u0f4d\3") - buf.write("\2\2\2\u0f21\u0f22\7\u01d5\2\2\u0f22\u0f23\7\u03b2\2\2") - buf.write("\u0f23\u0f24\7\u03bb\2\2\u0f24\u0f25\5\u0222\u0112\2\u0f25") - buf.write("\u0f26\7\u03bc\2\2\u0f26\u0f4d\3\2\2\2\u0f27\u0f28\7\u01d4") - buf.write("\2\2\u0f28\u0f29\7\u03b2\2\2\u0f29\u0f2a\7\u03bb\2\2\u0f2a") - buf.write("\u0f2b\5\u0224\u0113\2\u0f2b\u0f2c\7\u03bc\2\2\u0f2c\u0f4d") - buf.write("\3\2\2\2\u0f2d\u0f2e\7\u01d6\2\2\u0f2e\u0f2f\7\u03b2\2") - buf.write("\2\u0f2f\u0f30\7\u03bb\2\2\u0f30\u0f31\5\u0224\u0113\2") - buf.write("\u0f31\u0f32\7\u03bc\2\2\u0f32\u0f4d\3\2\2\2\u0f33\u0f34") - buf.write("\7\u01d8\2\2\u0f34\u0f35\7\u03b2\2\2\u0f35\u0f36\7\u03bb") - buf.write("\2\2\u0f36\u0f37\5\u022e\u0118\2\u0f37\u0f38\7\u03bc\2") - buf.write("\2\u0f38\u0f4d\3\2\2\2\u0f39\u0f3a\7\u01d9\2\2\u0f3a\u0f3b") - buf.write("\7\u03b2\2\2\u0f3b\u0f3c\7\u03bb\2\2\u0f3c\u0f3d\5\u022e") - buf.write("\u0118\2\u0f3d\u0f3e\7\u03bc\2\2\u0f3e\u0f4d\3\2\2\2\u0f3f") - buf.write("\u0f40\7\u01d7\2\2\u0f40\u0f41\7\u03b2\2\2\u0f41\u0f42") - buf.write("\7\u03bb\2\2\u0f42\u0f47\5\u0140\u00a1\2\u0f43\u0f44\7") - buf.write("\u03bd\2\2\u0f44\u0f46\5\u0140\u00a1\2\u0f45\u0f43\3\2") - buf.write("\2\2\u0f46\u0f49\3\2\2\2\u0f47\u0f45\3\2\2\2\u0f47\u0f48") - buf.write("\3\2\2\2\u0f48\u0f4a\3\2\2\2\u0f49\u0f47\3\2\2\2\u0f4a") - buf.write("\u0f4b\7\u03bc\2\2\u0f4b\u0f4d\3\2\2\2\u0f4c\u0f1b\3\2") - buf.write("\2\2\u0f4c\u0f21\3\2\2\2\u0f4c\u0f27\3\2\2\2\u0f4c\u0f2d") - buf.write("\3\2\2\2\u0f4c\u0f33\3\2\2\2\u0f4c\u0f39\3\2\2\2\u0f4c") - buf.write("\u0f3f\3\2\2\2\u0f4d\u013f\3\2\2\2\u0f4e\u0f4f\7\u03bb") - buf.write("\2\2\u0f4f\u0f50\5\u01ec\u00f7\2\u0f50\u0f51\7\u03bd\2") - buf.write("\2\u0f51\u0f52\5\u01ec\u00f7\2\u0f52\u0f53\7\u03bc\2\2") - buf.write("\u0f53\u0141\3\2\2\2\u0f54\u0f55\t\64\2\2\u0f55\u0143") - buf.write("\3\2\2\2\u0f56\u0f57\t\65\2\2\u0f57\u0f58\7\u03b2\2\2") - buf.write("\u0f58\u0f69\5\u0148\u00a5\2\u0f59\u0f5a\7\u0181\2\2\u0f5a") - buf.write("\u0f5b\7\u03b2\2\2\u0f5b\u0f5c\7\u03ca\2\2\u0f5c\u0f5d") - buf.write("\7\u03bd\2\2\u0f5d\u0f5e\7\u0182\2\2\u0f5e\u0f5f\7\u03b2") - buf.write("\2\2\u0f5f\u0f69\5\u020a\u0106\2\u0f60\u0f61\7\u01cd\2") - buf.write("\2\u0f61\u0f62\7\u03b2\2\2\u0f62\u0f63\7\u03ca\2\2\u0f63") - buf.write("\u0f64\7\u03bd\2\2\u0f64\u0f65\7\u01ce\2\2\u0f65\u0f66") - buf.write("\7\u03b2\2\2\u0f66\u0f69\5\u020a\u0106\2\u0f67\u0f69\7") - buf.write("\u01f6\2\2\u0f68\u0f56\3\2\2\2\u0f68\u0f59\3\2\2\2\u0f68") - buf.write("\u0f60\3\2\2\2\u0f68\u0f67\3\2\2\2\u0f69\u0145\3\2\2\2") - buf.write("\u0f6a\u0f6b\7\u021b\2\2\u0f6b\u0f6c\7\u03b2\2\2\u0f6c") - buf.write("\u0f77\7\u03ca\2\2\u0f6d\u0f6e\7\u01b8\2\2\u0f6e\u0f6f") - buf.write("\7\u03b2\2\2\u0f6f\u0f77\7\u03ca\2\2\u0f70\u0f71\7\u012d") - buf.write("\2\2\u0f71\u0f72\7\u03b2\2\2\u0f72\u0f77\7\u03ca\2\2\u0f73") - buf.write("\u0f74\7\u01bb\2\2\u0f74\u0f75\7\u03b2\2\2\u0f75\u0f77") - buf.write("\7\u03ca\2\2\u0f76\u0f6a\3\2\2\2\u0f76\u0f6d\3\2\2\2\u0f76") - buf.write("\u0f70\3\2\2\2\u0f76\u0f73\3\2\2\2\u0f77\u0147\3\2\2\2") - buf.write("\u0f78\u0f7d\5\u01fc\u00ff\2\u0f79\u0f7a\7\u03bd\2\2\u0f7a") - buf.write("\u0f7c\5\u01fc\u00ff\2\u0f7b\u0f79\3\2\2\2\u0f7c\u0f7f") - buf.write("\3\2\2\2\u0f7d\u0f7b\3\2\2\2\u0f7d\u0f7e\3\2\2\2\u0f7e") - buf.write("\u0f82\3\2\2\2\u0f7f\u0f7d\3\2\2\2\u0f80\u0f82\7\u03ca") - buf.write("\2\2\u0f81\u0f78\3\2\2\2\u0f81\u0f80\3\2\2\2\u0f82\u0149") - buf.write("\3\2\2\2\u0f83\u0f84\7\u0229\2\2\u0f84\u0f85\t\66\2\2") - buf.write("\u0f85\u0f87\5\u01fe\u0100\2\u0f86\u0f88\t\67\2\2\u0f87") - buf.write("\u0f86\3\2\2\2\u0f87\u0f88\3\2\2\2\u0f88\u014b\3\2\2\2") - buf.write("\u0f89\u0f8a\7\u0229\2\2\u0f8a\u0f8b\7\u013b\2\2\u0f8b") - buf.write("\u0f91\5\u01fe\u0100\2\u0f8c\u0f8f\7\u0209\2\2\u0f8d\u0f8e") - buf.write("\7<\2\2\u0f8e\u0f90\7\u0199\2\2\u0f8f\u0f8d\3\2\2\2\u0f8f") - buf.write("\u0f90\3\2\2\2\u0f90\u0f92\3\2\2\2\u0f91\u0f8c\3\2\2\2") - buf.write("\u0f91\u0f92\3\2\2\2\u0f92\u014d\3\2\2\2\u0f93\u0f94\7") - buf.write("\u0229\2\2\u0f94\u0f95\7\u01bf\2\2\u0f95\u0f96\5\u01fe") - buf.write("\u0100\2\u0f96\u014f\3\2\2\2\u0f97\u0f98\7\u0229\2\2\u0f98") - buf.write("\u0f99\7\u011d\2\2\u0f99\u0f9c\5\u01fe\u0100\2\u0f9a\u0f9b") - buf.write("\7\u01ab\2\2\u0f9b\u0f9d\7\u01b9\2\2\u0f9c\u0f9a\3\2\2") - buf.write("\2\u0f9c\u0f9d\3\2\2\2\u0f9d\u0151\3\2\2\2\u0f9e\u0f9f") - buf.write("\7\u0229\2\2\u0f9f\u0fa0\7\u01de\2\2\u0fa0\u0fa1\5\u01fe") - buf.write("\u0100\2\u0fa1\u0153\3\2\2\2\u0fa2\u0fa3\7\u0229\2\2\u0fa3") - buf.write("\u0fa6\7\u01c9\2\2\u0fa4\u0fa5\7!\2\2\u0fa5\u0fa7\5\u01fe") - buf.write("\u0100\2\u0fa6\u0fa4\3\2\2\2\u0fa6\u0fa7\3\2\2\2\u0fa7") - buf.write("\u0155\3\2\2\2\u0fa8\u0fa9\7\u01bf\2\2\u0fa9\u0faa\5\u0204") - buf.write("\u0103\2\u0faa\u0fad\7?\2\2\u0fab\u0fae\7\u03ca\2\2\u0fac") - buf.write("\u0fae\7\u03d5\2\2\u0fad\u0fab\3\2\2\2\u0fad\u0fac\3\2") - buf.write("\2\2\u0fae\u0157\3\2\2\2\u0faf\u0fb0\7\u023a\2\2\u0fb0") - buf.write("\u0fb3\5\u0204\u0103\2\u0fb1\u0fb2\7\u00a6\2\2\u0fb2\u0fb4") - buf.write("\5\u0230\u0119\2\u0fb3\u0fb1\3\2\2\2\u0fb3\u0fb4\3\2\2") - buf.write("\2\u0fb4\u0159\3\2\2\2\u0fb5\u0fb6\t8\2\2\u0fb6\u0fb7") - buf.write("\7\u01bf\2\2\u0fb7\u0fb8\5\u0204\u0103\2\u0fb8\u015b\3") - buf.write("\2\2\2\u0fb9\u0fbc\5\u015e\u00b0\2\u0fba\u0fbc\5\6\4\2") - buf.write("\u0fbb\u0fb9\3\2\2\2\u0fbb\u0fba\3\2\2\2\u0fbc\u015d\3") - buf.write("\2\2\2\u0fbd\u0fbe\5\u0204\u0103\2\u0fbe\u0fbf\7\u03c6") - buf.write("\2\2\u0fbf\u0fc1\3\2\2\2\u0fc0\u0fbd\3\2\2\2\u0fc0\u0fc1") - buf.write("\3\2\2\2\u0fc1\u0fc2\3\2\2\2\u0fc2\u0fe8\7\u0108\2\2\u0fc3") - buf.write("\u0fc4\5\u0172\u00ba\2\u0fc4\u0fc5\7\u03be\2\2\u0fc5\u0fc7") - buf.write("\3\2\2\2\u0fc6\u0fc3\3\2\2\2\u0fc7\u0fca\3\2\2\2\u0fc8") - buf.write("\u0fc6\3\2\2\2\u0fc8\u0fc9\3\2\2\2\u0fc9\u0fd0\3\2\2\2") - buf.write("\u0fca\u0fc8\3\2\2\2\u0fcb\u0fcc\5\u0174\u00bb\2\u0fcc") - buf.write("\u0fcd\7\u03be\2\2\u0fcd\u0fcf\3\2\2\2\u0fce\u0fcb\3\2") - buf.write("\2\2\u0fcf\u0fd2\3\2\2\2\u0fd0\u0fce\3\2\2\2\u0fd0\u0fd1") - buf.write("\3\2\2\2\u0fd1\u0fd8\3\2\2\2\u0fd2\u0fd0\3\2\2\2\u0fd3") - buf.write("\u0fd4\5\u0176\u00bc\2\u0fd4\u0fd5\7\u03be\2\2\u0fd5\u0fd7") - buf.write("\3\2\2\2\u0fd6\u0fd3\3\2\2\2\u0fd7\u0fda\3\2\2\2\u0fd8") - buf.write("\u0fd6\3\2\2\2\u0fd8\u0fd9\3\2\2\2\u0fd9\u0fe0\3\2\2\2") - buf.write("\u0fda\u0fd8\3\2\2\2\u0fdb\u0fdc\5\u0178\u00bd\2\u0fdc") - buf.write("\u0fdd\7\u03be\2\2\u0fdd\u0fdf\3\2\2\2\u0fde\u0fdb\3\2") - buf.write("\2\2\u0fdf\u0fe2\3\2\2\2\u0fe0\u0fde\3\2\2\2\u0fe0\u0fe1") - buf.write("\3\2\2\2\u0fe1\u0fe4\3\2\2\2\u0fe2\u0fe0\3\2\2\2\u0fe3") - buf.write("\u0fe5\5\u017c\u00bf\2\u0fe4\u0fe3\3\2\2\2\u0fe5\u0fe6") - buf.write("\3\2\2\2\u0fe6\u0fe4\3\2\2\2\u0fe6\u0fe7\3\2\2\2\u0fe7") - buf.write("\u0fe9\3\2\2\2\u0fe8\u0fc8\3\2\2\2\u0fe8\u0fe9\3\2\2\2") - buf.write("\u0fe9\u0fea\3\2\2\2\u0fea\u0fec\7\u013b\2\2\u0feb\u0fed") - buf.write("\5\u0204\u0103\2\u0fec\u0feb\3\2\2\2\u0fec\u0fed\3\2\2") - buf.write("\2\u0fed\u015f\3\2\2\2\u0fee\u0ff1\7\27\2\2\u0fef\u0ff2") - buf.write("\5\u0204\u0103\2\u0ff0\u0ff2\5\u0250\u0129\2\u0ff1\u0fef") - buf.write("\3\2\2\2\u0ff1\u0ff0\3\2\2\2\u0ff1\u0ff2\3\2\2\2\u0ff2") - buf.write("\u0ff4\3\2\2\2\u0ff3\u0ff5\5\u017e\u00c0\2\u0ff4\u0ff3") - buf.write("\3\2\2\2\u0ff5\u0ff6\3\2\2\2\u0ff6\u0ff4\3\2\2\2\u0ff6") - buf.write("\u0ff7\3\2\2\2\u0ff7\u0ffe\3\2\2\2\u0ff8\u0ffa\7\63\2") - buf.write("\2\u0ff9\u0ffb\5\u017c\u00bf\2\u0ffa\u0ff9\3\2\2\2\u0ffb") - buf.write("\u0ffc\3\2\2\2\u0ffc\u0ffa\3\2\2\2\u0ffc\u0ffd\3\2\2\2") - buf.write("\u0ffd\u0fff\3\2\2\2\u0ffe\u0ff8\3\2\2\2\u0ffe\u0fff\3") - buf.write("\2\2\2\u0fff\u1000\3\2\2\2\u1000\u1001\7\u013b\2\2\u1001") - buf.write("\u1002\7\27\2\2\u1002\u0161\3\2\2\2\u1003\u1004\7F\2\2") - buf.write("\u1004\u1005\5\u0250\u0129\2\u1005\u1007\7\u0099\2\2\u1006") - buf.write("\u1008\5\u017c\u00bf\2\u1007\u1006\3\2\2\2\u1008\u1009") - buf.write("\3\2\2\2\u1009\u1007\3\2\2\2\u1009\u100a\3\2\2\2\u100a") - buf.write("\u100e\3\2\2\2\u100b\u100d\5\u0180\u00c1\2\u100c\u100b") - buf.write("\3\2\2\2\u100d\u1010\3\2\2\2\u100e\u100c\3\2\2\2\u100e") - buf.write("\u100f\3\2\2\2\u100f\u1017\3\2\2\2\u1010\u100e\3\2\2\2") - buf.write("\u1011\u1013\7\63\2\2\u1012\u1014\5\u017c\u00bf\2\u1013") - buf.write("\u1012\3\2\2\2\u1014\u1015\3\2\2\2\u1015\u1013\3\2\2\2") - buf.write("\u1015\u1016\3\2\2\2\u1016\u1018\3\2\2\2\u1017\u1011\3") - buf.write("\2\2\2\u1017\u1018\3\2\2\2\u1018\u1019\3\2\2\2\u1019\u101a") - buf.write("\7\u013b\2\2\u101a\u101b\7F\2\2\u101b\u0163\3\2\2\2\u101c") - buf.write("\u101d\7Q\2\2\u101d\u101e\5\u0204\u0103\2\u101e\u0165") - buf.write("\3\2\2\2\u101f\u1020\7W\2\2\u1020\u1021\5\u0204\u0103") - buf.write("\2\u1021\u0167\3\2\2\2\u1022\u1023\5\u0204\u0103\2\u1023") - buf.write("\u1024\7\u03c6\2\2\u1024\u1026\3\2\2\2\u1025\u1022\3\2") - buf.write("\2\2\u1025\u1026\3\2\2\2\u1026\u1027\3\2\2\2\u1027\u1029") - buf.write("\7_\2\2\u1028\u102a\5\u017c\u00bf\2\u1029\u1028\3\2\2") - buf.write("\2\u102a\u102b\3\2\2\2\u102b\u1029\3\2\2\2\u102b\u102c") - buf.write("\3\2\2\2\u102c\u102d\3\2\2\2\u102d\u102e\7\u013b\2\2\u102e") - buf.write("\u1030\7_\2\2\u102f\u1031\5\u0204\u0103\2\u1030\u102f") - buf.write("\3\2\2\2\u1030\u1031\3\2\2\2\u1031\u0169\3\2\2\2\u1032") - buf.write("\u1033\5\u0204\u0103\2\u1033\u1034\7\u03c6\2\2\u1034\u1036") - buf.write("\3\2\2\2\u1035\u1032\3\2\2\2\u1035\u1036\3\2\2\2\u1036") - buf.write("\u1037\3\2\2\2\u1037\u1039\7~\2\2\u1038\u103a\5\u017c") - buf.write("\u00bf\2\u1039\u1038\3\2\2\2\u103a\u103b\3\2\2\2\u103b") - buf.write("\u1039\3\2\2\2\u103b\u103c\3\2\2\2\u103c\u103d\3\2\2\2") - buf.write("\u103d\u103e\7\u0219\2\2\u103e\u103f\5\u0250\u0129\2\u103f") - buf.write("\u1040\7\u013b\2\2\u1040\u1042\7~\2\2\u1041\u1043\5\u0204") - buf.write("\u0103\2\u1042\u1041\3\2\2\2\u1042\u1043\3\2\2\2\u1043") - buf.write("\u016b\3\2\2\2\u1044\u1045\7\u0082\2\2\u1045\u1046\5\u0250") - buf.write("\u0129\2\u1046\u016d\3\2\2\2\u1047\u1048\5\u0204\u0103") - buf.write("\2\u1048\u1049\7\u03c6\2\2\u1049\u104b\3\2\2\2\u104a\u1047") - buf.write("\3\2\2\2\u104a\u104b\3\2\2\2\u104b\u104c\3\2\2\2\u104c") - buf.write("\u104d\7\u00aa\2\2\u104d\u104e\5\u0250\u0129\2\u104e\u1050") - buf.write("\7\u0135\2\2\u104f\u1051\5\u017c\u00bf\2\u1050\u104f\3") - buf.write("\2\2\2\u1051\u1052\3\2\2\2\u1052\u1050\3\2\2\2\u1052\u1053") - buf.write("\3\2\2\2\u1053\u1054\3\2\2\2\u1054\u1055\7\u013b\2\2\u1055") - buf.write("\u1057\7\u00aa\2\2\u1056\u1058\5\u0204\u0103\2\u1057\u1056") - buf.write("\3\2\2\2\u1057\u1058\3\2\2\2\u1058\u016f\3\2\2\2\u1059") - buf.write("\u105a\7\u0117\2\2\u105a\u1069\5\u0204\u0103\2\u105b\u1060") - buf.write("\7;\2\2\u105c\u105e\7\u01a3\2\2\u105d\u105c\3\2\2\2\u105d") - buf.write("\u105e\3\2\2\2\u105e\u105f\3\2\2\2\u105f\u1061\7?\2\2") - buf.write("\u1060\u105d\3\2\2\2\u1060\u1061\3\2\2\2\u1061\u1062\3") - buf.write("\2\2\2\u1062\u1063\5\u0204\u0103\2\u1063\u1064\7O\2\2") - buf.write("\u1064\u1065\5\u0222\u0112\2\u1065\u1069\3\2\2\2\u1066") - buf.write("\u1067\7\u01ae\2\2\u1067\u1069\5\u0204\u0103\2\u1068\u1059") - buf.write("\3\2\2\2\u1068\u105b\3\2\2\2\u1068\u1066\3\2\2\2\u1069") - buf.write("\u0171\3\2\2\2\u106a\u106b\7(\2\2\u106b\u106c\5\u0222") - buf.write("\u0112\2\u106c\u106f\5\u0218\u010d\2\u106d\u106e\7)\2") - buf.write("\2\u106e\u1070\5\u0232\u011a\2\u106f\u106d\3\2\2\2\u106f") - buf.write("\u1070\3\2\2\2\u1070\u0173\3\2\2\2\u1071\u1072\7(\2\2") - buf.write("\u1072\u1073\5\u0204\u0103\2\u1073\u1074\7\36\2\2\u1074") - buf.write("\u107b\7<\2\2\u1075\u107c\5\u020a\u0106\2\u1076\u1078") - buf.write("\7\u008f\2\2\u1077\u1079\7\u021f\2\2\u1078\u1077\3\2\2") - buf.write("\2\u1078\u1079\3\2\2\2\u1079\u107a\3\2\2\2\u107a\u107c") - buf.write("\7\u03ca\2\2\u107b\u1075\3\2\2\2\u107b\u1076\3\2\2\2\u107c") - buf.write("\u0175\3\2\2\2\u107d\u107e\7(\2\2\u107e\u107f\5\u0204") - buf.write("\u0103\2\u107f\u1080\7%\2\2\u1080\u1081\7<\2\2\u1081\u1082") - buf.write("\5\u00b4[\2\u1082\u0177\3\2\2\2\u1083\u1084\7(\2\2\u1084") - buf.write("\u1085\t9\2\2\u1085\u1086\7\u015c\2\2\u1086\u1087\7<\2") - buf.write("\2\u1087\u108c\5\u017a\u00be\2\u1088\u1089\7\u03bd\2\2") - buf.write("\u1089\u108b\5\u017a\u00be\2\u108a\u1088\3\2\2\2\u108b") - buf.write("\u108e\3\2\2\2\u108c\u108a\3\2\2\2\u108c\u108d\3\2\2\2") - buf.write("\u108d\u108f\3\2\2\2\u108e\u108c\3\2\2\2\u108f\u1090\5") - buf.write("\u015c\u00af\2\u1090\u0179\3\2\2\2\u1091\u109d\5\u020a") - buf.write("\u0106\2\u1092\u1094\7\u008f\2\2\u1093\u1095\7\u021f\2") - buf.write("\2\u1094\u1093\3\2\2\2\u1094\u1095\3\2\2\2\u1095\u1096") - buf.write("\3\2\2\2\u1096\u109d\7\u03ca\2\2\u1097\u109d\5\u0204\u0103") - buf.write("\2\u1098\u109d\7\u0090\2\2\u1099\u109a\7g\2\2\u109a\u109d") - buf.write("\7\u0155\2\2\u109b\u109d\7\u008e\2\2\u109c\u1091\3\2\2") - buf.write("\2\u109c\u1092\3\2\2\2\u109c\u1097\3\2\2\2\u109c\u1098") - buf.write("\3\2\2\2\u109c\u1099\3\2\2\2\u109c\u109b\3\2\2\2\u109d") - buf.write("\u017b\3\2\2\2\u109e\u10a1\5\24\13\2\u109f\u10a1\5\6\4") - buf.write("\2\u10a0\u109e\3\2\2\2\u10a0\u109f\3\2\2\2\u10a1\u10a2") - buf.write("\3\2\2\2\u10a2\u10a3\7\u03be\2\2\u10a3\u017d\3\2\2\2\u10a4") - buf.write("\u10a7\7\u00a8\2\2\u10a5\u10a8\5\u0216\u010c\2\u10a6\u10a8") - buf.write("\5\u0250\u0129\2\u10a7\u10a5\3\2\2\2\u10a7\u10a6\3\2\2") - buf.write("\2\u10a8\u10a9\3\2\2\2\u10a9\u10ab\7\u0099\2\2\u10aa\u10ac") - buf.write("\5\u017c\u00bf\2\u10ab\u10aa\3\2\2\2\u10ac\u10ad\3\2\2") - buf.write("\2\u10ad\u10ab\3\2\2\2\u10ad\u10ae\3\2\2\2\u10ae\u017f") - buf.write("\3\2\2\2\u10af\u10b0\7\64\2\2\u10b0\u10b1\5\u0250\u0129") - buf.write("\2\u10b1\u10b3\7\u0099\2\2\u10b2\u10b4\5\u017c\u00bf\2") - buf.write("\u10b3\u10b2\3\2\2\2\u10b4\u10b5\3\2\2\2\u10b5\u10b3\3") - buf.write("\2\2\2\u10b5\u10b6\3\2\2\2\u10b6\u0181\3\2\2\2\u10b7\u10b8") - buf.write("\7\13\2\2\u10b8\u10b9\7\u021b\2\2\u10b9\u10be\5\u0194") - buf.write("\u00cb\2\u10ba\u10bb\7\u03bd\2\2\u10bb\u10bd\5\u0194\u00cb") - buf.write("\2\u10bc\u10ba\3\2\2\2\u10bd\u10c0\3\2\2\2\u10be\u10bc") - buf.write("\3\2\2\2\u10be\u10bf\3\2\2\2\u10bf\u10ee\3\2\2\2\u10c0") - buf.write("\u10be\3\2\2\2\u10c1\u10c2\7\13\2\2\u10c2\u10c4\7\u021b") - buf.write("\2\2\u10c3\u10c5\5\u0238\u011d\2\u10c4\u10c3\3\2\2\2\u10c4") - buf.write("\u10c5\3\2\2\2\u10c5\u10c6\3\2\2\2\u10c6\u10cb\5\u0196") - buf.write("\u00cc\2\u10c7\u10c8\7\u03bd\2\2\u10c8\u10ca\5\u0196\u00cc") - buf.write("\2\u10c9\u10c7\3\2\2\2\u10ca\u10cd\3\2\2\2\u10cb\u10c9") - buf.write("\3\2\2\2\u10cb\u10cc\3\2\2\2\u10cc\u10dc\3\2\2\2\u10cd") - buf.write("\u10cb\3\2\2\2\u10ce\u10da\7\u0080\2\2\u10cf\u10db\7\u01a6") - buf.write("\2\2\u10d0\u10d7\5\u0198\u00cd\2\u10d1\u10d3\7\16\2\2") - buf.write("\u10d2\u10d1\3\2\2\2\u10d2\u10d3\3\2\2\2\u10d3\u10d4\3") - buf.write("\2\2\2\u10d4\u10d6\5\u0198\u00cd\2\u10d5\u10d2\3\2\2\2") - buf.write("\u10d6\u10d9\3\2\2\2\u10d7\u10d5\3\2\2\2\u10d7\u10d8\3") - buf.write("\2\2\2\u10d8\u10db\3\2\2\2\u10d9\u10d7\3\2\2\2\u10da\u10cf") - buf.write("\3\2\2\2\u10da\u10d0\3\2\2\2\u10db\u10dd\3\2\2\2\u10dc") - buf.write("\u10ce\3\2\2\2\u10dc\u10dd\3\2\2\2\u10dd\u10e4\3\2\2\2") - buf.write("\u10de\u10e0\7\u00ab\2\2\u10df\u10e1\5\u019a\u00ce\2\u10e0") - buf.write("\u10df\3\2\2\2\u10e1\u10e2\3\2\2\2\u10e2\u10e0\3\2\2\2") - buf.write("\u10e2\u10e3\3\2\2\2\u10e3\u10e5\3\2\2\2\u10e4\u10de\3") - buf.write("\2\2\2\u10e4\u10e5\3\2\2\2\u10e5\u10ea\3\2\2\2\u10e6\u10e9") - buf.write("\5\u019c\u00cf\2\u10e7\u10e9\5\u019e\u00d0\2\u10e8\u10e6") - buf.write("\3\2\2\2\u10e8\u10e7\3\2\2\2\u10e9\u10ec\3\2\2\2\u10ea") - buf.write("\u10e8\3\2\2\2\u10ea\u10eb\3\2\2\2\u10eb\u10ee\3\2\2\2") - buf.write("\u10ec\u10ea\3\2\2\2\u10ed\u10b7\3\2\2\2\u10ed\u10c1\3") - buf.write("\2\2\2\u10ee\u0183\3\2\2\2\u10ef\u10f0\7\"\2\2\u10f0\u10f1") - buf.write("\7\u021b\2\2\u10f1\u10f6\5\u0196\u00cc\2\u10f2\u10f3\7") - buf.write("\u03bd\2\2\u10f3\u10f5\5\u0196\u00cc\2\u10f4\u10f2\3\2") - buf.write("\2\2\u10f5\u10f8\3\2\2\2\u10f6\u10f4\3\2\2\2\u10f6\u10f7") - buf.write("\3\2\2\2\u10f7\u1126\3\2\2\2\u10f8\u10f6\3\2\2\2\u10f9") - buf.write("\u10fa\7\"\2\2\u10fa\u10fc\7\u021b\2\2\u10fb\u10fd\5\u023a") - buf.write("\u011e\2\u10fc\u10fb\3\2\2\2\u10fc\u10fd\3\2\2\2\u10fd") - buf.write("\u10fe\3\2\2\2\u10fe\u1103\5\u0196\u00cc\2\u10ff\u1100") - buf.write("\7\u03bd\2\2\u1100\u1102\5\u0196\u00cc\2\u1101\u10ff\3") - buf.write("\2\2\2\u1102\u1105\3\2\2\2\u1103\u1101\3\2\2\2\u1103\u1104") - buf.write("\3\2\2\2\u1104\u1114\3\2\2\2\u1105\u1103\3\2\2\2\u1106") - buf.write("\u1112\7\u0080\2\2\u1107\u1113\7\u01a6\2\2\u1108\u110f") - buf.write("\5\u0198\u00cd\2\u1109\u110b\7\16\2\2\u110a\u1109\3\2") - buf.write("\2\2\u110a\u110b\3\2\2\2\u110b\u110c\3\2\2\2\u110c\u110e") - buf.write("\5\u0198\u00cd\2\u110d\u110a\3\2\2\2\u110e\u1111\3\2\2") - buf.write("\2\u110f\u110d\3\2\2\2\u110f\u1110\3\2\2\2\u1110\u1113") - buf.write("\3\2\2\2\u1111\u110f\3\2\2\2\u1112\u1107\3\2\2\2\u1112") - buf.write("\u1108\3\2\2\2\u1113\u1115\3\2\2\2\u1114\u1106\3\2\2\2") - buf.write("\u1114\u1115\3\2\2\2\u1115\u111c\3\2\2\2\u1116\u1118\7") - buf.write("\u00ab\2\2\u1117\u1119\5\u019a\u00ce\2\u1118\u1117\3\2") - buf.write("\2\2\u1119\u111a\3\2\2\2\u111a\u1118\3\2\2\2\u111a\u111b") - buf.write("\3\2\2\2\u111b\u111d\3\2\2\2\u111c\u1116\3\2\2\2\u111c") - buf.write("\u111d\3\2\2\2\u111d\u1122\3\2\2\2\u111e\u1121\5\u019c") - buf.write("\u00cf\2\u111f\u1121\5\u019e\u00d0\2\u1120\u111e\3\2\2") - buf.write("\2\u1120\u111f\3\2\2\2\u1121\u1124\3\2\2\2\u1122\u1120") - buf.write("\3\2\2\2\u1122\u1123\3\2\2\2\u1123\u1126\3\2\2\2\u1124") - buf.write("\u1122\3\2\2\2\u1125\u10ef\3\2\2\2\u1125\u10f9\3\2\2\2") - buf.write("\u1126\u0185\3\2\2\2\u1127\u1128\7\61\2\2\u1128\u112a") - buf.write("\7\u021b\2\2\u1129\u112b\5\u0238\u011d\2\u112a\u1129\3") - buf.write("\2\2\2\u112a\u112b\3\2\2\2\u112b\u112c\3\2\2\2\u112c\u1131") - buf.write("\5\u01f2\u00fa\2\u112d\u112e\7\u03bd\2\2\u112e\u1130\5") - buf.write("\u01f2\u00fa\2\u112f\u112d\3\2\2\2\u1130\u1133\3\2\2\2") - buf.write("\u1131\u112f\3\2\2\2\u1131\u1132\3\2\2\2\u1132\u0187\3") - buf.write("\2\2\2\u1133\u1131\3\2\2\2\u1134\u1135\7B\2\2\u1135\u113a") - buf.write("\5\u01a0\u00d1\2\u1136\u1137\7\u03bd\2\2\u1137\u1139\5") - buf.write("\u01a0\u00d1\2\u1138\u1136\3\2\2\2\u1139\u113c\3\2\2\2") - buf.write("\u113a\u1138\3\2\2\2\u113a\u113b\3\2\2\2\u113b\u113d\3") - buf.write("\2\2\2\u113c\u113a\3\2\2\2\u113d\u113f\7j\2\2\u113e\u1140") - buf.write("\t:\2\2\u113f\u113e\3\2\2\2\u113f\u1140\3\2\2\2\u1140") - buf.write("\u1141\3\2\2\2\u1141\u1142\5\u01a4\u00d3\2\u1142\u1143") - buf.write("\7\u009a\2\2\u1143\u1148\5\u0196\u00cc\2\u1144\u1145\7") - buf.write("\u03bd\2\2\u1145\u1147\5\u0196\u00cc\2\u1146\u1144\3\2") - buf.write("\2\2\u1147\u114a\3\2\2\2\u1148\u1146\3\2\2\2\u1148\u1149") - buf.write("\3\2\2\2\u1149\u1159\3\2\2\2\u114a\u1148\3\2\2\2\u114b") - buf.write("\u1157\7\u0080\2\2\u114c\u1158\7\u01a6\2\2\u114d\u1154") - buf.write("\5\u0198\u00cd\2\u114e\u1150\7\16\2\2\u114f\u114e\3\2") - buf.write("\2\2\u114f\u1150\3\2\2\2\u1150\u1151\3\2\2\2\u1151\u1153") - buf.write("\5\u0198\u00cd\2\u1152\u114f\3\2\2\2\u1153\u1156\3\2\2") - buf.write("\2\u1154\u1152\3\2\2\2\u1154\u1155\3\2\2\2\u1155\u1158") - buf.write("\3\2\2\2\u1156\u1154\3\2\2\2\u1157\u114c\3\2\2\2\u1157") - buf.write("\u114d\3\2\2\2\u1158\u115a\3\2\2\2\u1159\u114b\3\2\2\2") - buf.write("\u1159\u115a\3\2\2\2\u115a\u1164\3\2\2\2\u115b\u1161\7") - buf.write("\u00ab\2\2\u115c\u115d\7B\2\2\u115d\u1160\7l\2\2\u115e") - buf.write("\u1160\5\u019a\u00ce\2\u115f\u115c\3\2\2\2\u115f\u115e") - buf.write("\3\2\2\2\u1160\u1163\3\2\2\2\u1161\u115f\3\2\2\2\u1161") - buf.write("\u1162\3\2\2\2\u1162\u1165\3\2\2\2\u1163\u1161\3\2\2\2") - buf.write("\u1164\u115b\3\2\2\2\u1164\u1165\3\2\2\2\u1165\u0189\3") - buf.write("\2\2\2\u1166\u1167\7B\2\2\u1167\u1168\7\u01c5\2\2\u1168") - buf.write("\u1169\7j\2\2\u1169\u116a\5\u01f2\u00fa\2\u116a\u116b") - buf.write("\7\u009a\2\2\u116b\u1170\5\u01f2\u00fa\2\u116c\u116d\7") - buf.write("\u03bd\2\2\u116d\u116f\5\u01f2\u00fa\2\u116e\u116c\3\2") - buf.write("\2\2\u116f\u1172\3\2\2\2\u1170\u116e\3\2\2\2\u1170\u1171") - buf.write("\3\2\2\2\u1171\u1176\3\2\2\2\u1172\u1170\3\2\2\2\u1173") - buf.write("\u1174\7\u00ab\2\2\u1174\u1175\7B\2\2\u1175\u1177\7l\2") - buf.write("\2\u1176\u1173\3\2\2\2\u1176\u1177\3\2\2\2\u1177\u018b") - buf.write("\3\2\2\2\u1178\u1179\7}\2\2\u1179\u117a\7\u021b\2\2\u117a") - buf.write("\u117f\5\u01a6\u00d4\2\u117b\u117c\7\u03bd\2\2\u117c\u117e") - buf.write("\5\u01a6\u00d4\2\u117d\u117b\3\2\2\2\u117e\u1181\3\2\2") - buf.write("\2\u117f\u117d\3\2\2\2\u117f\u1180\3\2\2\2\u1180\u018d") - buf.write("\3\2\2\2\u1181\u117f\3\2\2\2\u1182\u1183\7\u0083\2\2\u1183") - buf.write("\u1188\5\u01a0\u00d1\2\u1184\u1185\7\u03bd\2\2\u1185\u1187") - buf.write("\5\u01a0\u00d1\2\u1186\u1184\3\2\2\2\u1187\u118a\3\2\2") - buf.write("\2\u1188\u1186\3\2\2\2\u1188\u1189\3\2\2\2\u1189\u118b") - buf.write("\3\2\2\2\u118a\u1188\3\2\2\2\u118b\u118d\7j\2\2\u118c") - buf.write("\u118e\t:\2\2\u118d\u118c\3\2\2\2\u118d\u118e\3\2\2\2") - buf.write("\u118e\u118f\3\2\2\2\u118f\u1190\5\u01a4\u00d3\2\u1190") - buf.write("\u1191\7?\2\2\u1191\u1196\5\u01f2\u00fa\2\u1192\u1193") - buf.write("\7\u03bd\2\2\u1193\u1195\5\u01f2\u00fa\2\u1194\u1192\3") - buf.write("\2\2\2\u1195\u1198\3\2\2\2\u1196\u1194\3\2\2\2\u1196\u1197") - buf.write("\3\2\2\2\u1197\u11ab\3\2\2\2\u1198\u1196\3\2\2\2\u1199") - buf.write("\u119a\7\u0083\2\2\u119a\u119c\7\n\2\2\u119b\u119d\7\u0240") - buf.write("\2\2\u119c\u119b\3\2\2\2\u119c\u119d\3\2\2\2\u119d\u119e") - buf.write("\3\2\2\2\u119e\u119f\7\u03bd\2\2\u119f\u11a0\7B\2\2\u11a0") - buf.write("\u11a1\7l\2\2\u11a1\u11a2\7?\2\2\u11a2\u11a7\5\u01f2\u00fa") - buf.write("\2\u11a3\u11a4\7\u03bd\2\2\u11a4\u11a6\5\u01f2\u00fa\2") - buf.write("\u11a5\u11a3\3\2\2\2\u11a6\u11a9\3\2\2\2\u11a7\u11a5\3") - buf.write("\2\2\2\u11a7\u11a8\3\2\2\2\u11a8\u11ab\3\2\2\2\u11a9\u11a7") - buf.write("\3\2\2\2\u11aa\u1182\3\2\2\2\u11aa\u1199\3\2\2\2\u11ab") - buf.write("\u018f\3\2\2\2\u11ac\u11ad\7\u0083\2\2\u11ad\u11ae\7\u01c5") - buf.write("\2\2\u11ae\u11af\7j\2\2\u11af\u11b0\5\u01f2\u00fa\2\u11b0") - buf.write("\u11b1\7?\2\2\u11b1\u11b6\5\u01f2\u00fa\2\u11b2\u11b3") - buf.write("\7\u03bd\2\2\u11b3\u11b5\5\u01f2\u00fa\2\u11b4\u11b2\3") - buf.write("\2\2\2\u11b5\u11b8\3\2\2\2\u11b6\u11b4\3\2\2\2\u11b6\u11b7") - buf.write("\3\2\2\2\u11b7\u0191\3\2\2\2\u11b8\u11b6\3\2\2\2\u11b9") - buf.write("\u11ba\7\u0089\2\2\u11ba\u11bd\7\u01b8\2\2\u11bb\u11bc") - buf.write("\7<\2\2\u11bc\u11be\5\u01f2\u00fa\2\u11bd\u11bb\3\2\2") - buf.write("\2\u11bd\u11be\3\2\2\2\u11be\u11bf\3\2\2\2\u11bf\u11c2") - buf.write("\7\u03b2\2\2\u11c0\u11c3\5\u024a\u0126\2\u11c1\u11c3\7") - buf.write("\u03ca\2\2\u11c2\u11c0\3\2\2\2\u11c2\u11c1\3\2\2\2\u11c3") - buf.write("\u0193\3\2\2\2\u11c4\u11c5\5\u01f2\u00fa\2\u11c5\u11c6") - buf.write("\5\u019c\u00cf\2\u11c6\u0195\3\2\2\2\u11c7\u11c8\5\u01f2") - buf.write("\u00fa\2\u11c8\u11c9\7\u0161\2\2\u11c9\u11ca\7\24\2\2") - buf.write("\u11ca\u11cb\7\u01b8\2\2\u11cb\u11cc\7\u03ca\2\2\u11cc") - buf.write("\u11e0\3\2\2\2\u11cd\u11ce\5\u01f2\u00fa\2\u11ce\u11d1") - buf.write("\7\u0161\2\2\u11cf\u11d0\7\u00ab\2\2\u11d0\u11d2\5\u0202") - buf.write("\u0102\2\u11d1\u11cf\3\2\2\2\u11d1\u11d2\3\2\2\2\u11d2") - buf.write("\u11d3\3\2\2\2\u11d3\u11d4\7\24\2\2\u11d4\u11d5\7\u03ca") - buf.write("\2\2\u11d5\u11e0\3\2\2\2\u11d6\u11d7\5\u01f2\u00fa\2\u11d7") - buf.write("\u11d8\7\u0161\2\2\u11d8\u11d9\7\u00ab\2\2\u11d9\u11dc") - buf.write("\5\u0202\u0102\2\u11da\u11db\7\17\2\2\u11db\u11dd\7\u03ca") - buf.write("\2\2\u11dc\u11da\3\2\2\2\u11dc\u11dd\3\2\2\2\u11dd\u11e0") - buf.write("\3\2\2\2\u11de\u11e0\5\u01f2\u00fa\2\u11df\u11c7\3\2\2") - buf.write("\2\u11df\u11cd\3\2\2\2\u11df\u11d6\3\2\2\2\u11df\u11de") - buf.write("\3\2\2\2\u11e0\u0197\3\2\2\2\u11e1\u11ea\7\u0094\2\2\u11e2") - buf.write("\u11ea\7\u0228\2\2\u11e3\u11e4\7\u0115\2\2\u11e4\u11ea") - buf.write("\7\u03ca\2\2\u11e5\u11e6\7\u016f\2\2\u11e6\u11ea\7\u03ca") - buf.write("\2\2\u11e7\u11e8\7\u0206\2\2\u11e8\u11ea\7\u03ca\2\2\u11e9") - buf.write("\u11e1\3\2\2\2\u11e9\u11e2\3\2\2\2\u11e9\u11e3\3\2\2\2") - buf.write("\u11e9\u11e5\3\2\2\2\u11e9\u11e7\3\2\2\2\u11ea\u0199\3") - buf.write("\2\2\2\u11eb\u11ec\7\u0191\2\2\u11ec\u11f4\5\u020a\u0106") - buf.write("\2\u11ed\u11ee\7\u0194\2\2\u11ee\u11f4\5\u020a\u0106\2") - buf.write("\u11ef\u11f0\7\u0190\2\2\u11f0\u11f4\5\u020a\u0106\2\u11f1") - buf.write("\u11f2\7\u0195\2\2\u11f2\u11f4\5\u020a\u0106\2\u11f3\u11eb") - buf.write("\3\2\2\2\u11f3\u11ed\3\2\2\2\u11f3\u11ef\3\2\2\2\u11f3") - buf.write("\u11f1\3\2\2\2\u11f4\u019b\3\2\2\2\u11f5\u11f6\7\u01b8") - buf.write("\2\2\u11f6\u11fd\7\u0148\2\2\u11f7\u11fe\7)\2\2\u11f8") - buf.write("\u11fe\7\u01a2\2\2\u11f9\u11fa\7N\2\2\u11fa\u11fb\5\u020a") - buf.write("\u0106\2\u11fb\u11fc\7\u0232\2\2\u11fc\u11fe\3\2\2\2\u11fd") - buf.write("\u11f7\3\2\2\2\u11fd\u11f8\3\2\2\2\u11fd\u11f9\3\2\2\2") - buf.write("\u11fd\u11fe\3\2\2\2\u11fe\u019d\3\2\2\2\u11ff\u1200\7") - buf.write("\u00fc\2\2\u1200\u1201\t;\2\2\u1201\u019f\3\2\2\2\u1202") - buf.write("\u1207\5\u01a2\u00d2\2\u1203\u1204\7\u03bb\2\2\u1204\u1205") - buf.write("\5\u0222\u0112\2\u1205\u1206\7\u03bc\2\2\u1206\u1208\3") - buf.write("\2\2\2\u1207\u1203\3\2\2\2\u1207\u1208\3\2\2\2\u1208\u01a1") - buf.write("\3\2\2\2\u1209\u120b\7\n\2\2\u120a\u120c\7\u0240\2\2\u120b") - buf.write("\u120a\3\2\2\2\u120b\u120c\3\2\2\2\u120c\u1234\3\2\2\2") - buf.write("\u120d\u120f\7\13\2\2\u120e\u1210\7\u0239\2\2\u120f\u120e") - buf.write("\3\2\2\2\u120f\u1210\3\2\2\2\u1210\u1234\3\2\2\2\u1211") - buf.write("\u1218\7\"\2\2\u1212\u1213\7\u020d\2\2\u1213\u1219\7\u0238") - buf.write("\2\2\u1214\u1219\7\u0239\2\2\u1215\u1219\7\u0221\2\2\u1216") - buf.write("\u1219\7\u021b\2\2\u1217\u1219\7\u020c\2\2\u1218\u1212") - buf.write("\3\2\2\2\u1218\u1214\3\2\2\2\u1218\u1215\3\2\2\2\u1218") - buf.write("\u1216\3\2\2\2\u1218\u1217\3\2\2\2\u1218\u1219\3\2\2\2") - buf.write("\u1219\u1234\3\2\2\2\u121a\u1234\7+\2\2\u121b\u1234\7") - buf.write("\61\2\2\u121c\u1234\7\u0143\2\2\u121d\u1234\7\u023a\2") - buf.write("\2\u121e\u1234\7\u023b\2\2\u121f\u1220\7B\2\2\u1220\u1234") - buf.write("\7l\2\2\u1221\u1234\7I\2\2\u1222\u1234\7M\2\2\u1223\u1224") - buf.write("\7^\2\2\u1224\u1234\7\u0238\2\2\u1225\u1234\7\u023c\2") - buf.write("\2\u1226\u1234\7\u01c5\2\2\u1227\u1234\7z\2\2\u1228\u1234") - buf.write("\7\u023d\2\2\u1229\u122a\7\u01da\2\2\u122a\u1234\t<\2") - buf.write("\2\u122b\u1234\7\u0088\2\2\u122c\u122d\7\u008b\2\2\u122d") - buf.write("\u1234\t=\2\2\u122e\u1234\7\u023e\2\2\u122f\u1234\7\u023f") - buf.write("\2\2\u1230\u1234\7\u009c\2\2\u1231\u1234\7\u00a3\2\2\u1232") - buf.write("\u1234\7\u00a4\2\2\u1233\u1209\3\2\2\2\u1233\u120d\3\2") - buf.write("\2\2\u1233\u1211\3\2\2\2\u1233\u121a\3\2\2\2\u1233\u121b") - buf.write("\3\2\2\2\u1233\u121c\3\2\2\2\u1233\u121d\3\2\2\2\u1233") - buf.write("\u121e\3\2\2\2\u1233\u121f\3\2\2\2\u1233\u1221\3\2\2\2") - buf.write("\u1233\u1222\3\2\2\2\u1233\u1223\3\2\2\2\u1233\u1225\3") - buf.write("\2\2\2\u1233\u1226\3\2\2\2\u1233\u1227\3\2\2\2\u1233\u1228") - buf.write("\3\2\2\2\u1233\u1229\3\2\2\2\u1233\u122b\3\2\2\2\u1233") - buf.write("\u122c\3\2\2\2\u1233\u122e\3\2\2\2\u1233\u122f\3\2\2\2") - buf.write("\u1233\u1230\3\2\2\2\u1233\u1231\3\2\2\2\u1233\u1232\3") - buf.write("\2\2\2\u1234\u01a3\3\2\2\2\u1235\u1243\7\u03aa\2\2\u1236") - buf.write("\u1237\7\u03aa\2\2\u1237\u1238\7\u03ba\2\2\u1238\u1243") - buf.write("\7\u03aa\2\2\u1239\u123a\5\u0204\u0103\2\u123a\u123b\7") - buf.write("\u03ba\2\2\u123b\u123c\7\u03aa\2\2\u123c\u1243\3\2\2\2") - buf.write("\u123d\u123e\5\u0204\u0103\2\u123e\u123f\7\u03ba\2\2\u123f") - buf.write("\u1240\5\u0204\u0103\2\u1240\u1243\3\2\2\2\u1241\u1243") - buf.write("\5\u0204\u0103\2\u1242\u1235\3\2\2\2\u1242\u1236\3\2\2") - buf.write("\2\u1242\u1239\3\2\2\2\u1242\u123d\3\2\2\2\u1242\u1241") - buf.write("\3\2\2\2\u1243\u01a5\3\2\2\2\u1244\u1245\5\u01f2\u00fa") - buf.write("\2\u1245\u1246\7\u009a\2\2\u1246\u1247\5\u01f2\u00fa\2") - buf.write("\u1247\u01a7\3\2\2\2\u1248\u124a\7\r\2\2\u1249\u124b\t") - buf.write(">\2\2\u124a\u1249\3\2\2\2\u124a\u124b\3\2\2\2\u124b\u124c") - buf.write("\3\2\2\2\u124c\u124d\7\u0097\2\2\u124d\u124e\5\u0224\u0113") - buf.write("\2\u124e\u01a9\3\2\2\2\u124f\u1250\7\33\2\2\u1250\u1251") - buf.write("\7\u0097\2\2\u1251\u1255\5\u0224\u0113\2\u1252\u1254\5") - buf.write("\u01b2\u00da\2\u1253\u1252\3\2\2\2\u1254\u1257\3\2\2\2") - buf.write("\u1255\u1253\3\2\2\2\u1255\u1256\3\2\2\2\u1256\u01ab\3") - buf.write("\2\2\2\u1257\u1255\3\2\2\2\u1258\u1259\7\u0114\2\2\u1259") - buf.write("\u125a\7\u0097\2\2\u125a\u125c\5\u0224\u0113\2\u125b\u125d") - buf.write("\t?\2\2\u125c\u125b\3\2\2\2\u125c\u125d\3\2\2\2\u125d") - buf.write("\u01ad\3\2\2\2\u125e\u1260\7k\2\2\u125f\u1261\t>\2\2\u1260") - buf.write("\u125f\3\2\2\2\u1260\u1261\3\2\2\2\u1261\u1262\3\2\2\2") - buf.write("\u1262\u1263\7\u0097\2\2\u1263\u1264\5\u0224\u0113\2\u1264") - buf.write("\u01af\3\2\2\2\u1265\u1267\7\u01d2\2\2\u1266\u1268\t>") - buf.write("\2\2\u1267\u1266\3\2\2\2\u1267\u1268\3\2\2\2\u1268\u1269") - buf.write("\3\2\2\2\u1269\u126a\7\u0097\2\2\u126a\u126c\5\u0224\u0113") - buf.write("\2\u126b\u126d\7\u01c7\2\2\u126c\u126b\3\2\2\2\u126c\u126d") - buf.write("\3\2\2\2\u126d\u126f\3\2\2\2\u126e\u1270\7\u014a\2\2\u126f") - buf.write("\u126e\3\2\2\2\u126f\u1270\3\2\2\2\u1270\u1272\3\2\2\2") - buf.write("\u1271\u1273\7\u021c\2\2\u1272\u1271\3\2\2\2\u1272\u1273") - buf.write("\3\2\2\2\u1273\u01b1\3\2\2\2\u1274\u1275\7<\2\2\u1275") - buf.write("\u127c\7\u021a\2\2\u1276\u127c\7\u01c7\2\2\u1277\u127c") - buf.write("\7\u014c\2\2\u1278\u127c\7\u0196\2\2\u1279\u127c\7\u014a") - buf.write("\2\2\u127a\u127c\7\u0112\2\2\u127b\u1274\3\2\2\2\u127b") - buf.write("\u1276\3\2\2\2\u127b\u1277\3\2\2\2\u127b\u1278\3\2\2\2") - buf.write("\u127b\u1279\3\2\2\2\u127b\u127a\3\2\2\2\u127c\u01b3\3") - buf.write("\2\2\2\u127d\u127f\7\"\2\2\u127e\u1280\7\u00ff\2\2\u127f") - buf.write("\u127e\3\2\2\2\u127f\u1280\3\2\2\2\u1280\u1281\3\2\2\2") - buf.write("\u1281\u1282\7\u0157\2\2\u1282\u1283\5\u0204\u0103\2\u1283") - buf.write("\u1284\7\u01dd\2\2\u1284\u1285\t@\2\2\u1285\u1286\7\u01f2") - buf.write("\2\2\u1286\u1287\7\u03ca\2\2\u1287\u01b5\3\2\2\2\u1288") - buf.write("\u1289\7\u0168\2\2\u1289\u128a\7\u01ba\2\2\u128a\u128b") - buf.write("\5\u0204\u0103\2\u128b\u128c\7\u01f2\2\2\u128c\u128d\7") - buf.write("\u03ca\2\2\u128d\u01b7\3\2\2\2\u128e\u128f\7\u0217\2\2") - buf.write("\u128f\u1290\7\u01ba\2\2\u1290\u1291\5\u0204\u0103\2\u1291") - buf.write("\u01b9\3\2\2\2\u1292\u1293\7\u0089\2\2\u1293\u1294\5\u01be") - buf.write("\u00e0\2\u1294\u1295\7\u03b2\2\2\u1295\u129d\5\u0250\u0129") - buf.write("\2\u1296\u1297\7\u03bd\2\2\u1297\u1298\5\u01be\u00e0\2") - buf.write("\u1298\u1299\7\u03b2\2\2\u1299\u129a\5\u0250\u0129\2\u129a") - buf.write("\u129c\3\2\2\2\u129b\u1296\3\2\2\2\u129c\u129f\3\2\2\2") - buf.write("\u129d\u129b\3\2\2\2\u129d\u129e\3\2\2\2\u129e\u12b8\3") - buf.write("\2\2\2\u129f\u129d\3\2\2\2\u12a0\u12a4\7\u0089\2\2\u12a1") - buf.write("\u12a2\7\32\2\2\u12a2\u12a5\7\u0089\2\2\u12a3\u12a5\7") - buf.write("\u029b\2\2\u12a4\u12a1\3\2\2\2\u12a4\u12a3\3\2\2\2\u12a5") - buf.write("\u12a8\3\2\2\2\u12a6\u12a9\5\u01f6\u00fc\2\u12a7\u12a9") - buf.write("\7)\2\2\u12a8\u12a6\3\2\2\2\u12a8\u12a7\3\2\2\2\u12a9") - buf.write("\u12b8\3\2\2\2\u12aa\u12ab\7\u0089\2\2\u12ab\u12b2\7\u01a0") - buf.write("\2\2\u12ac\u12af\5\u01f6\u00fc\2\u12ad\u12ae\7\34\2\2") - buf.write("\u12ae\u12b0\5\u01f8\u00fd\2\u12af\u12ad\3\2\2\2\u12af") - buf.write("\u12b0\3\2\2\2\u12b0\u12b3\3\2\2\2\u12b1\u12b3\7)\2\2") - buf.write("\u12b2\u12ac\3\2\2\2\u12b2\u12b1\3\2\2\2\u12b3\u12b8\3") - buf.write("\2\2\2\u12b4\u12b8\5\u0192\u00ca\2\u12b5\u12b8\5\u0116") - buf.write("\u008c\2\u12b6\u12b8\5\u0114\u008b\2\u12b7\u1292\3\2\2") - buf.write("\2\u12b7\u12a0\3\2\2\2\u12b7\u12aa\3\2\2\2\u12b7\u12b4") - buf.write("\3\2\2\2\u12b7\u12b5\3\2\2\2\u12b7\u12b6\3\2\2\2\u12b8") - buf.write("\u01bb\3\2\2\2\u12b9\u12ba\7\u008b\2\2\u12ba\u12bb\t\60") - buf.write("\2\2\u12bb\u1351\7\u017a\2\2\u12bc\u12bd\7\u008b\2\2\u12bd") - buf.write("\u12be\tA\2\2\u12be\u12c1\7\u0144\2\2\u12bf\u12c0\7H\2") - buf.write("\2\u12c0\u12c2\7\u03ca\2\2\u12c1\u12bf\3\2\2\2\u12c1\u12c2") - buf.write("\3\2\2\2\u12c2\u12c5\3\2\2\2\u12c3\u12c4\7?\2\2\u12c4") - buf.write("\u12c6\5\u020a\u0106\2\u12c5\u12c3\3\2\2\2\u12c5\u12c6") - buf.write("\3\2\2\2\u12c6\u12ce\3\2\2\2\u12c7\u12cb\7Z\2\2\u12c8") - buf.write("\u12c9\5\u020a\u0106\2\u12c9\u12ca\7\u03bd\2\2\u12ca\u12cc") - buf.write("\3\2\2\2\u12cb\u12c8\3\2\2\2\u12cb\u12cc\3\2\2\2\u12cc") - buf.write("\u12cd\3\2\2\2\u12cd\u12cf\5\u020a\u0106\2\u12ce\u12c7") - buf.write("\3\2\2\2\u12ce\u12cf\3\2\2\2\u12cf\u1351\3\2\2\2\u12d0") - buf.write("\u12d1\7\u008b\2\2\u12d1\u12d3\5\u01c0\u00e1\2\u12d2\u12d4") - buf.write("\5\u01c2\u00e2\2\u12d3\u12d2\3\2\2\2\u12d3\u12d4\3\2\2") - buf.write("\2\u12d4\u1351\3\2\2\2\u12d5\u12d7\7\u008b\2\2\u12d6\u12d8") - buf.write("\7\u0156\2\2\u12d7\u12d6\3\2\2\2\u12d7\u12d8\3\2\2\2\u12d8") - buf.write("\u12d9\3\2\2\2\u12d9\u12da\t\"\2\2\u12da\u12db\tB\2\2") - buf.write("\u12db\u12de\5\u01ec\u00f7\2\u12dc\u12dd\tB\2\2\u12dd") - buf.write("\u12df\5\u0204\u0103\2\u12de\u12dc\3\2\2\2\u12de\u12df") - buf.write("\3\2\2\2\u12df\u12e1\3\2\2\2\u12e0\u12e2\5\u01c2\u00e2") - buf.write("\2\u12e1\u12e0\3\2\2\2\u12e1\u12e2\3\2\2\2\u12e2\u1351") - buf.write("\3\2\2\2\u12e3\u12e4\7\u008b\2\2\u12e4\u12e5\7\"\2\2\u12e5") - buf.write("\u12e7\t\2\2\2\u12e6\u12e8\5\u023a\u011e\2\u12e7\u12e6") - buf.write("\3\2\2\2\u12e7\u12e8\3\2\2\2\u12e8\u12e9\3\2\2\2\u12e9") - buf.write("\u1351\5\u0204\u0103\2\u12ea\u12eb\7\u008b\2\2\u12eb\u12ec") - buf.write("\7\"\2\2\u12ec\u12ed\tC\2\2\u12ed\u1351\5\u01ea\u00f6") - buf.write("\2\u12ee\u12ef\7\u008b\2\2\u12ef\u12f0\7\"\2\2\u12f0\u12f1") - buf.write("\7\u021b\2\2\u12f1\u1351\5\u01f2\u00fa\2\u12f2\u12f3\7") - buf.write("\u008b\2\2\u12f3\u12f4\7\u013d\2\2\u12f4\u12f5\5\u01fa") - buf.write("\u00fe\2\u12f5\u12f6\tD\2\2\u12f6\u1351\3\2\2\2\u12f7") - buf.write("\u12f8\7\u008b\2\2\u12f8\u1351\5\u01c4\u00e3\2\u12f9\u12fa") - buf.write("\7\u008b\2\2\u12fa\u12fb\tE\2\2\u12fb\u12ff\7Z\2\2\u12fc") - buf.write("\u12fd\5\u020a\u0106\2\u12fd\u12fe\7\u03bd\2\2\u12fe\u1300") - buf.write("\3\2\2\2\u12ff\u12fc\3\2\2\2\u12ff\u1300\3\2\2\2\u1300") - buf.write("\u1301\3\2\2\2\u1301\u1351\5\u020a\u0106\2\u1302\u1303") - buf.write("\7\u008b\2\2\u1303\u1304\7\u00dc\2\2\u1304\u1305\7\u03bb") - buf.write("\2\2\u1305\u1306\7\u03aa\2\2\u1306\u1307\7\u03bc\2\2\u1307") - buf.write("\u1351\tE\2\2\u1308\u1309\7\u008b\2\2\u1309\u130c\5\u01c6") - buf.write("\u00e4\2\u130a\u130b\tB\2\2\u130b\u130d\5\u0204\u0103") - buf.write("\2\u130c\u130a\3\2\2\2\u130c\u130d\3\2\2\2\u130d\u130f") - buf.write("\3\2\2\2\u130e\u1310\5\u01c2\u00e2\2\u130f\u130e\3\2\2") - buf.write("\2\u130f\u1310\3\2\2\2\u1310\u1351\3\2\2\2\u1311\u1312") - buf.write("\7\u008b\2\2\u1312\u1313\tF\2\2\u1313\u1314\7\u0119\2") - buf.write("\2\u1314\u1351\5\u01ea\u00f6\2\u1315\u1316\7\u008b\2\2") - buf.write("\u1316\u1319\7\u015a\2\2\u1317\u1318\7<\2\2\u1318\u131a") - buf.write("\5\u01f2\u00fa\2\u1319\u1317\3\2\2\2\u1319\u131a\3\2\2") - buf.write("\2\u131a\u1351\3\2\2\2\u131b\u131c\7\u008b\2\2\u131c\u131d") - buf.write("\tG\2\2\u131d\u131e\tB\2\2\u131e\u1321\5\u01ec\u00f7\2") - buf.write("\u131f\u1320\tB\2\2\u1320\u1322\5\u0204\u0103\2\u1321") - buf.write("\u131f\3\2\2\2\u1321\u1322\3\2\2\2\u1322\u1325\3\2\2\2") - buf.write("\u1323\u1324\7\u00a9\2\2\u1324\u1326\5\u0250\u0129\2\u1325") - buf.write("\u1323\3\2\2\2\u1325\u1326\3\2\2\2\u1326\u1351\3\2\2\2") - buf.write("\u1327\u1328\7\u008b\2\2\u1328\u1329\7\u01ae\2\2\u1329") - buf.write("\u132c\7\u0238\2\2\u132a\u132b\tB\2\2\u132b\u132d\5\u0204") - buf.write("\u0103\2\u132c\u132a\3\2\2\2\u132c\u132d\3\2\2\2\u132d") - buf.write("\u132f\3\2\2\2\u132e\u1330\5\u01c2\u00e2\2\u132f\u132e") - buf.write("\3\2\2\2\u132f\u1330\3\2\2\2\u1330\u1351\3\2\2\2\u1331") - buf.write("\u1332\7\u008b\2\2\u1332\u1333\7\u01c3\2\2\u1333\u1338") - buf.write("\5\u01c8\u00e5\2\u1334\u1335\7\u03bd\2\2\u1335\u1337\5") - buf.write("\u01c8\u00e5\2\u1336\u1334\3\2\2\2\u1337\u133a\3\2\2\2") - buf.write("\u1338\u1336\3\2\2\2\u1338\u1339\3\2\2\2\u1339\u133e\3") - buf.write("\2\2\2\u133a\u1338\3\2\2\2\u133b\u133c\7<\2\2\u133c\u133d") - buf.write("\7\u01c6\2\2\u133d\u133f\5\u020a\u0106\2\u133e\u133b\3") - buf.write("\2\2\2\u133e\u133f\3\2\2\2\u133f\u1340\3\2\2\2\u1340\u1344") - buf.write("\7Z\2\2\u1341\u1342\5\u020a\u0106\2\u1342\u1343\7\u03bd") - buf.write("\2\2\u1343\u1345\3\2\2\2\u1344\u1341\3\2\2\2\u1344\u1345") - buf.write("\3\2\2\2\u1345\u1346\3\2\2\2\u1346\u1347\5\u020a\u0106") - buf.write("\2\u1347\u1351\3\2\2\2\u1348\u1349\7\u008b\2\2\u1349\u134a") - buf.write("\7\u01ed\2\2\u134a\u134e\7\u0201\2\2\u134b\u134c\7<\2") - buf.write("\2\u134c\u134d\7\u0113\2\2\u134d\u134f\7\u03ca\2\2\u134e") - buf.write("\u134b\3\2\2\2\u134e\u134f\3\2\2\2\u134f\u1351\3\2\2\2") - buf.write("\u1350\u12b9\3\2\2\2\u1350\u12bc\3\2\2\2\u1350\u12d0\3") - buf.write("\2\2\2\u1350\u12d5\3\2\2\2\u1350\u12e3\3\2\2\2\u1350\u12ea") - buf.write("\3\2\2\2\u1350\u12ee\3\2\2\2\u1350\u12f2\3\2\2\2\u1350") - buf.write("\u12f7\3\2\2\2\u1350\u12f9\3\2\2\2\u1350\u1302\3\2\2\2") - buf.write("\u1350\u1308\3\2\2\2\u1350\u1311\3\2\2\2\u1350\u1315\3") - buf.write("\2\2\2\u1350\u131b\3\2\2\2\u1350\u1327\3\2\2\2\u1350\u1331") - buf.write("\3\2\2\2\u1350\u1348\3\2\2\2\u1351\u01bd\3\2\2\2\u1352") - buf.write("\u135d\7\u03d5\2\2\u1353\u135d\7\u03d6\2\2\u1354\u1355") - buf.write("\7\u03bf\2\2\u1355\u1357\7\u03bf\2\2\u1356\u1354\3\2\2") - buf.write("\2\u1356\u1357\3\2\2\2\u1357\u1358\3\2\2\2\u1358\u135a") - buf.write("\t/\2\2\u1359\u1356\3\2\2\2\u1359\u135a\3\2\2\2\u135a") - buf.write("\u135b\3\2\2\2\u135b\u135d\5\u0204\u0103\2\u135c\u1352") - buf.write("\3\2\2\2\u135c\u1353\3\2\2\2\u135c\u1359\3\2\2\2\u135d") - buf.write("\u01bf\3\2\2\2\u135e\u135f\7\32\2\2\u135f\u136c\7\u0089") - buf.write("\2\2\u1360\u136c\7\u029e\2\2\u1361\u136c\7\'\2\2\u1362") - buf.write("\u136c\7\u0087\2\2\u1363\u1364\7\u0157\2\2\u1364\u136c") - buf.write("\7\u0201\2\2\u1365\u1366\7u\2\2\u1366\u136c\7\u0201\2") - buf.write("\2\u1367\u1369\t/\2\2\u1368\u1367\3\2\2\2\u1368\u1369") - buf.write("\3\2\2\2\u1369\u136a\3\2\2\2\u136a\u136c\tH\2\2\u136b") - buf.write("\u135e\3\2\2\2\u136b\u1360\3\2\2\2\u136b\u1361\3\2\2\2") - buf.write("\u136b\u1362\3\2\2\2\u136b\u1363\3\2\2\2\u136b\u1365\3") - buf.write("\2\2\2\u136b\u1368\3\2\2\2\u136c\u01c1\3\2\2\2\u136d\u136e") - buf.write("\7Y\2\2\u136e\u1372\7\u03ca\2\2\u136f\u1370\7\u00a9\2") - buf.write("\2\u1370\u1372\5\u0250\u0129\2\u1371\u136d\3\2\2\2\u1371") - buf.write("\u136f\3\2\2\2\u1372\u01c3\3\2\2\2\u1373\u1375\7\u0203") - buf.write("\2\2\u1374\u1373\3\2\2\2\u1374\u1375\3\2\2\2\u1375\u1376") - buf.write("\3\2\2\2\u1376\u1385\7\u013e\2\2\u1377\u1378\7\u017b\2") - buf.write("\2\u1378\u1385\7\u0201\2\2\u1379\u1385\7\u01bc\2\2\u137a") - buf.write("\u1385\7\u0240\2\2\u137b\u137d\7\u0156\2\2\u137c\u137b") - buf.write("\3\2\2\2\u137c\u137d\3\2\2\2\u137d\u137e\3\2\2\2\u137e") - buf.write("\u1385\7\u01c2\2\2\u137f\u1385\7\u01c4\2\2\u1380\u1381") - buf.write("\7\u01ed\2\2\u1381\u1385\7\u0160\2\2\u1382\u1385\7\u0103") - buf.write("\2\2\u1383\u1385\7\u0127\2\2\u1384\u1374\3\2\2\2\u1384") - buf.write("\u1377\3\2\2\2\u1384\u1379\3\2\2\2\u1384\u137a\3\2\2\2") - buf.write("\u1384\u137c\3\2\2\2\u1384\u137f\3\2\2\2\u1384\u1380\3") - buf.write("\2\2\2\u1384\u1382\3\2\2\2\u1384\u1383\3\2\2\2\u1385\u01c5") - buf.write("\3\2\2\2\u1386\u138f\7\u0144\2\2\u1387\u1388\7\u0097\2") - buf.write("\2\u1388\u138f\7\u0201\2\2\u1389\u138b\7\u0156\2\2\u138a") - buf.write("\u1389\3\2\2\2\u138a\u138b\3\2\2\2\u138b\u138c\3\2\2\2") - buf.write("\u138c\u138f\7\u0238\2\2\u138d\u138f\7\u0212\2\2\u138e") - buf.write("\u1386\3\2\2\2\u138e\u1387\3\2\2\2\u138e\u138a\3\2\2\2") - buf.write("\u138e\u138d\3\2\2\2\u138f\u01c7\3\2\2\2\u1390\u139d\7") - buf.write("\n\2\2\u1391\u1392\7\u010b\2\2\u1392\u139d\7\u016b\2\2") - buf.write("\u1393\u1394\7\u0126\2\2\u1394\u139d\7\u020b\2\2\u1395") - buf.write("\u139d\7\u0129\2\2\u1396\u139d\7\u016d\2\2\u1397\u139d") - buf.write("\7\u026e\2\2\u1398\u1399\7\u01b3\2\2\u1399\u139d\7\u014d") - buf.write("\2\2\u139a\u139d\7\u01f4\2\2\u139b\u139d\7\u020a\2\2\u139c") - buf.write("\u1390\3\2\2\2\u139c\u1391\3\2\2\2\u139c\u1393\3\2\2\2") - buf.write("\u139c\u1395\3\2\2\2\u139c\u1396\3\2\2\2\u139c\u1397\3") - buf.write("\2\2\2\u139c\u1398\3\2\2\2\u139c\u139a\3\2\2\2\u139c\u139b") - buf.write("\3\2\2\2\u139d\u01c9\3\2\2\2\u139e\u139f\7\u0109\2\2\u139f") - buf.write("\u13a0\7\u03ca\2\2\u13a0\u01cb\3\2\2\2\u13a1\u13a2\7\u010f") - buf.write("\2\2\u13a2\u13a3\7I\2\2\u13a3\u13a8\5\u01d8\u00ed\2\u13a4") - buf.write("\u13a5\7\u03bd\2\2\u13a5\u13a7\5\u01d8\u00ed\2\u13a6\u13a4") - buf.write("\3\2\2\2\u13a7\u13aa\3\2\2\2\u13a8\u13a6\3\2\2\2\u13a8") - buf.write("\u13a9\3\2\2\2\u13a9\u13b2\3\2\2\2\u13aa\u13a8\3\2\2\2") - buf.write("\u13ab\u13ac\7s\2\2\u13ac\u13af\7\u03bb\2\2\u13ad\u13b0") - buf.write("\5\u0222\u0112\2\u13ae\u13b0\7\n\2\2\u13af\u13ad\3\2\2") - buf.write("\2\u13af\u13ae\3\2\2\2\u13b0\u13b1\3\2\2\2\u13b1\u13b3") - buf.write("\7\u03bc\2\2\u13b2\u13ab\3\2\2\2\u13b2\u13b3\3\2\2\2\u13b3") - buf.write("\u13b4\3\2\2\2\u13b4\u13b5\7H\2\2\u13b5\u13b6\5\u0204") - buf.write("\u0103\2\u13b6\u01cd\3\2\2\2\u13b7\u13b9\7\u0153\2\2\u13b8") - buf.write("\u13ba\t>\2\2\u13b9\u13b8\3\2\2\2\u13b9\u13ba\3\2\2\2") - buf.write("\u13ba\u13bb\3\2\2\2\u13bb\u13c0\5\u01da\u00ee\2\u13bc") - buf.write("\u13bd\7\u03bd\2\2\u13bd\u13bf\5\u01da\u00ee\2\u13be\u13bc") - buf.write("\3\2\2\2\u13bf\u13c2\3\2\2\2\u13c0\u13be\3\2\2\2\u13c0") - buf.write("\u13c1\3\2\2\2\u13c1\u01cf\3\2\2\2\u13c2\u13c0\3\2\2\2") - buf.write("\u13c3\u13c5\7U\2\2\u13c4\u13c6\tI\2\2\u13c5\u13c4\3\2") - buf.write("\2\2\u13c5\u13c6\3\2\2\2\u13c6\u13c8\3\2\2\2\u13c7\u13c9") - buf.write("\5\u020a\u0106\2\u13c8\u13c7\3\2\2\2\u13c9\u13ca\3\2\2") - buf.write("\2\u13ca\u13c8\3\2\2\2\u13ca\u13cb\3\2\2\2\u13cb\u01d1") - buf.write("\3\2\2\2\u13cc\u13cd\7]\2\2\u13cd\u13ce\7I\2\2\u13ce\u13cf") - buf.write("\7O\2\2\u13cf\u13d0\7\u010f\2\2\u13d0\u13d5\5\u01de\u00f0") - buf.write("\2\u13d1\u13d2\7\u03bd\2\2\u13d2\u13d4\5\u01de\u00f0\2") - buf.write("\u13d3\u13d1\3\2\2\2\u13d4\u13d7\3\2\2\2\u13d5\u13d3\3") - buf.write("\2\2\2\u13d5\u13d6\3\2\2\2\u13d6\u01d3\3\2\2\2\u13d7\u13d5") - buf.write("\3\2\2\2\u13d8\u13d9\7\u01db\2\2\u13d9\u13da\7\u01c6\2") - buf.write("\2\u13da\u13db\7\u010f\2\2\u13db\u01d5\3\2\2\2\u13dc\u13dd") - buf.write("\7\u023e\2\2\u13dd\u01d7\3\2\2\2\u13de\u13e6\5\u01ec\u00f7") - buf.write("\2\u13df\u13e1\t\24\2\2\u13e0\u13df\3\2\2\2\u13e0\u13e1") - buf.write("\3\2\2\2\u13e1\u13e2\3\2\2\2\u13e2\u13e3\7\u03bb\2\2\u13e3") - buf.write("\u13e4\5\u0222\u0112\2\u13e4\u13e5\7\u03bc\2\2\u13e5\u13e7") - buf.write("\3\2\2\2\u13e6\u13e0\3\2\2\2\u13e6\u13e7\3\2\2\2\u13e7") - buf.write("\u01d9\3\2\2\2\u13e8\u13fb\7\u0130\2\2\u13e9\u13fb\7\u0160") - buf.write("\2\2\u13ea\u13ec\tJ\2\2\u13eb\u13ea\3\2\2\2\u13eb\u13ec") - buf.write("\3\2\2\2\u13ec\u13ed\3\2\2\2\u13ed\u13fb\7\u017a\2\2\u13ee") - buf.write("\u13fb\7\u01af\2\2\u13ef\u13fb\7\u0240\2\2\u13f0\u13f1") - buf.write("\7\u01c6\2\2\u13f1\u13fb\7\u010f\2\2\u13f2\u13fb\7\u0201") - buf.write("\2\2\u13f3\u13fb\7\u021d\2\2\u13f4\u13f8\7\u0238\2\2\u13f5") - buf.write("\u13f6\7\u00ab\2\2\u13f6\u13f7\7x\2\2\u13f7\u13f9\7^\2") - buf.write("\2\u13f8\u13f5\3\2\2\2\u13f8\u13f9\3\2\2\2\u13f9\u13fb") - buf.write("\3\2\2\2\u13fa\u13e8\3\2\2\2\u13fa\u13e9\3\2\2\2\u13fa") - buf.write("\u13eb\3\2\2\2\u13fa\u13ee\3\2\2\2\u13fa\u13ef\3\2\2\2") - buf.write("\u13fa\u13f0\3\2\2\2\u13fa\u13f2\3\2\2\2\u13fa\u13f3\3") - buf.write("\2\2\2\u13fa\u13f4\3\2\2\2\u13fb\u1407\3\2\2\2\u13fc\u13fd") - buf.write("\7\u01cc\2\2\u13fd\u13ff\7\u017a\2\2\u13fe\u1400\5\u013c") - buf.write("\u009f\2\u13ff\u13fe\3\2\2\2\u13ff\u1400\3\2\2\2\u1400") - buf.write("\u1407\3\2\2\2\u1401\u1402\7\u0238\2\2\u1402\u1404\5\u0224") - buf.write("\u0113\2\u1403\u1405\5\u01dc\u00ef\2\u1404\u1403\3\2\2") - buf.write("\2\u1404\u1405\3\2\2\2\u1405\u1407\3\2\2\2\u1406\u13fa") - buf.write("\3\2\2\2\u1406\u13fc\3\2\2\2\u1406\u1401\3\2\2\2\u1407") - buf.write("\u01db\3\2\2\2\u1408\u1409\7\u00ab\2\2\u1409\u140a\7x") - buf.write("\2\2\u140a\u140e\7^\2\2\u140b\u140c\7<\2\2\u140c\u140e") - buf.write("\7\u0149\2\2\u140d\u1408\3\2\2\2\u140d\u140b\3\2\2\2\u140e") - buf.write("\u01dd\3\2\2\2\u140f\u1417\5\u01ec\u00f7\2\u1410\u1411") - buf.write("\7s\2\2\u1411\u1414\7\u03bb\2\2\u1412\u1415\5\u0222\u0112") - buf.write("\2\u1413\u1415\7\n\2\2\u1414\u1412\3\2\2\2\u1414\u1413") - buf.write("\3\2\2\2\u1415\u1416\3\2\2\2\u1416\u1418\7\u03bc\2\2\u1417") - buf.write("\u1410\3\2\2\2\u1417\u1418\3\2\2\2\u1418\u1420\3\2\2\2") - buf.write("\u1419\u141b\t\24\2\2\u141a\u1419\3\2\2\2\u141a\u141b") - buf.write("\3\2\2\2\u141b\u141c\3\2\2\2\u141c\u141d\7\u03bb\2\2\u141d") - buf.write("\u141e\5\u0222\u0112\2\u141e\u141f\7\u03bc\2\2\u141f\u1421") - buf.write("\3\2\2\2\u1420\u141a\3\2\2\2\u1420\u1421\3\2\2\2\u1421") - buf.write("\u1424\3\2\2\2\u1422\u1423\7G\2\2\u1423\u1425\7\u0174") - buf.write("\2\2\u1424\u1422\3\2\2\2\u1424\u1425\3\2\2\2\u1425\u01df") - buf.write("\3\2\2\2\u1426\u1427\tK\2\2\u1427\u142a\5\u01ec\u00f7") - buf.write("\2\u1428\u142b\5\u0204\u0103\2\u1429\u142b\7\u03ca\2\2") - buf.write("\u142a\u1428\3\2\2\2\u142a\u1429\3\2\2\2\u142a\u142b\3") - buf.write("\2\2\2\u142b\u01e1\3\2\2\2\u142c\u1430\tK\2\2\u142d\u142e") - buf.write("\tL\2\2\u142e\u142f\7\u03b2\2\2\u142f\u1431\tM\2\2\u1430") - buf.write("\u142d\3\2\2\2\u1430\u1431\3\2\2\2\u1431\u1432\3\2\2\2") - buf.write("\u1432\u1433\5\u01e8\u00f5\2\u1433\u01e3\3\2\2\2\u1434") - buf.write("\u1435\7\u015e\2\2\u1435\u1436\7\u03ca\2\2\u1436\u01e5") - buf.write("\3\2\2\2\u1437\u1438\7\u00a5\2\2\u1438\u1439\5\u0204\u0103") - buf.write("\2\u1439\u01e7\3\2\2\2\u143a\u1440\5\u00b4[\2\u143b\u1440") - buf.write("\5\u00a6T\2\u143c\u1440\5\u00acW\2\u143d\u1440\5\u00b2") - buf.write("Z\2\u143e\u1440\5\u00b6\\\2\u143f\u143a\3\2\2\2\u143f") - buf.write("\u143b\3\2\2\2\u143f\u143c\3\2\2\2\u143f\u143d\3\2\2\2") - buf.write("\u143f\u143e\3\2\2\2\u1440\u1445\3\2\2\2\u1441\u1442\7") - buf.write("<\2\2\u1442\u1443\7\u0123\2\2\u1443\u1445\5\u0204\u0103") - buf.write("\2\u1444\u143f\3\2\2\2\u1444\u1441\3\2\2\2\u1445\u01e9") - buf.write("\3\2\2\2\u1446\u144a\5\u0204\u0103\2\u1447\u144b\7\u03d1") - buf.write("\2\2\u1448\u1449\7\u03ba\2\2\u1449\u144b\5\u0204\u0103") - buf.write("\2\u144a\u1447\3\2\2\2\u144a\u1448\3\2\2\2\u144a\u144b") - buf.write("\3\2\2\2\u144b\u01eb\3\2\2\2\u144c\u144d\5\u01ea\u00f6") - buf.write("\2\u144d\u01ed\3\2\2\2\u144e\u1453\5\u0204\u0103\2\u144f") - buf.write("\u1451\5\u0208\u0105\2\u1450\u1452\5\u0208\u0105\2\u1451") - buf.write("\u1450\3\2\2\2\u1451\u1452\3\2\2\2\u1452\u1454\3\2\2\2") - buf.write("\u1453\u144f\3\2\2\2\u1453\u1454\3\2\2\2\u1454\u01ef\3") - buf.write("\2\2\2\u1455\u145a\5\u0204\u0103\2\u1456\u1457\7\u03bb") - buf.write("\2\2\u1457\u1458\5\u020a\u0106\2\u1458\u1459\7\u03bc\2") - buf.write("\2\u1459\u145b\3\2\2\2\u145a\u1456\3\2\2\2\u145a\u145b") - buf.write("\3\2\2\2\u145b\u145d\3\2\2\2\u145c\u145e\t)\2\2\u145d") - buf.write("\u145c\3\2\2\2\u145d\u145e\3\2\2\2\u145e\u01f1\3\2\2\2") - buf.write("\u145f\u1460\tN\2\2\u1460\u01f3\3\2\2\2\u1461\u1462\t") - buf.write("O\2\2\u1462\u01f5\3\2\2\2\u1463\u1468\7\u00c1\2\2\u1464") - buf.write("\u1468\5\u0260\u0131\2\u1465\u1468\7\u03ca\2\2\u1466\u1468") - buf.write("\7\u03c7\2\2\u1467\u1463\3\2\2\2\u1467\u1464\3\2\2\2\u1467") - buf.write("\u1465\3\2\2\2\u1467\u1466\3\2\2\2\u1468\u01f7\3\2\2\2") - buf.write("\u1469\u146c\5\u0204\u0103\2\u146a\u146c\7\u03ca\2\2\u146b") - buf.write("\u1469\3\2\2\2\u146b\u146a\3\2\2\2\u146c\u01f9\3\2\2\2") - buf.write("\u146d\u146e\tP\2\2\u146e\u01fb\3\2\2\2\u146f\u1470\5") - buf.write("\u020a\u0106\2\u1470\u1471\7\u03af\2\2\u1471\u1472\5\u020a") - buf.write("\u0106\2\u1472\u1473\7\u03af\2\2\u1473\u1474\5\u020a\u0106") - buf.write("\2\u1474\u1475\7\u03af\2\2\u1475\u1476\5\u020a\u0106\2") - buf.write("\u1476\u1477\7\u03af\2\2\u1477\u147d\5\u020a\u0106\2\u1478") - buf.write("\u1479\7\u03c6\2\2\u1479\u147a\5\u020a\u0106\2\u147a\u147b") - buf.write("\7\u03af\2\2\u147b\u147c\5\u020a\u0106\2\u147c\u147e\3") - buf.write("\2\2\2\u147d\u1478\3\2\2\2\u147e\u147f\3\2\2\2\u147f\u147d") - buf.write("\3\2\2\2\u147f\u1480\3\2\2\2\u1480\u01fd\3\2\2\2\u1481") - buf.write("\u1488\5\u0200\u0101\2\u1482\u1483\7\u03bd\2\2\u1483\u1486") - buf.write("\5\u0200\u0101\2\u1484\u1485\7\u03bd\2\2\u1485\u1487\5") - buf.write("\u020a\u0106\2\u1486\u1484\3\2\2\2\u1486\u1487\3\2\2\2") - buf.write("\u1487\u1489\3\2\2\2\u1488\u1482\3\2\2\2\u1488\u1489\3") - buf.write("\2\2\2\u1489\u01ff\3\2\2\2\u148a\u1492\7\u03ca\2\2\u148b") - buf.write("\u1492\7\u03cf\2\2\u148c\u148e\7\u03cc\2\2\u148d\u148c") - buf.write("\3\2\2\2\u148e\u148f\3\2\2\2\u148f\u148d\3\2\2\2\u148f") - buf.write("\u1490\3\2\2\2\u1490\u1492\3\2\2\2\u1491\u148a\3\2\2\2") - buf.write("\u1491\u148b\3\2\2\2\u1491\u148d\3\2\2\2\u1492\u0201\3") - buf.write("\2\2\2\u1493\u1496\5\u0204\u0103\2\u1494\u1496\7\u03ca") - buf.write("\2\2\u1495\u1493\3\2\2\2\u1495\u1494\3\2\2\2\u1496\u0203") - buf.write("\3\2\2\2\u1497\u149b\5\u0206\u0104\2\u1498\u149b\7\u03d3") - buf.write("\2\2\u1499\u149b\7\u03c7\2\2\u149a\u1497\3\2\2\2\u149a") - buf.write("\u1498\3\2\2\2\u149a\u1499\3\2\2\2\u149b\u0205\3\2\2\2") - buf.write("\u149c\u14a6\7\u03d2\2\2\u149d\u14a6\5\u0260\u0131\2\u149e") - buf.write("\u14a6\5\u0262\u0132\2\u149f\u14a6\5\u01fa\u00fe\2\u14a0") - buf.write("\u14a6\5\u0264\u0133\2\u14a1\u14a6\5\u0266\u0134\2\u14a2") - buf.write("\u14a6\5\u0268\u0135\2\u14a3\u14a6\5\u026a\u0136\2\u14a4") - buf.write("\u14a6\5\u026c\u0137\2\u14a5\u149c\3\2\2\2\u14a5\u149d") - buf.write("\3\2\2\2\u14a5\u149e\3\2\2\2\u14a5\u149f\3\2\2\2\u14a5") - buf.write("\u14a0\3\2\2\2\u14a5\u14a1\3\2\2\2\u14a5\u14a2\3\2\2\2") - buf.write("\u14a5\u14a3\3\2\2\2\u14a5\u14a4\3\2\2\2\u14a6\u0207\3") - buf.write("\2\2\2\u14a7\u14ab\7\u03d1\2\2\u14a8\u14a9\7\u03ba\2\2") - buf.write("\u14a9\u14ab\5\u0204\u0103\2\u14aa\u14a7\3\2\2\2\u14aa") - buf.write("\u14a8\3\2\2\2\u14ab\u0209\3\2\2\2\u14ac\u14ad\tQ\2\2") - buf.write("\u14ad\u020b\3\2\2\2\u14ae\u14b1\7\u03c8\2\2\u14af\u14b1") - buf.write("\5\u020a\u0106\2\u14b0\u14ae\3\2\2\2\u14b0\u14af\3\2\2") - buf.write("\2\u14b1\u020d\3\2\2\2\u14b2\u14b4\7\u03d0\2\2\u14b3\u14b2") - buf.write("\3\2\2\2\u14b3\u14b4\3\2\2\2\u14b4\u14b5\3\2\2\2\u14b5") - buf.write("\u14b8\7\u03ca\2\2\u14b6\u14b8\7\u03c9\2\2\u14b7\u14b3") - buf.write("\3\2\2\2\u14b7\u14b6\3\2\2\2\u14b8\u14ba\3\2\2\2\u14b9") - buf.write("\u14bb\7\u03ca\2\2\u14ba\u14b9\3\2\2\2\u14bb\u14bc\3\2") - buf.write("\2\2\u14bc\u14ba\3\2\2\2\u14bc\u14bd\3\2\2\2\u14bd\u14ca") - buf.write("\3\2\2\2\u14be\u14c0\7\u03d0\2\2\u14bf\u14be\3\2\2\2\u14bf") - buf.write("\u14c0\3\2\2\2\u14c0\u14c1\3\2\2\2\u14c1\u14c4\7\u03ca") - buf.write("\2\2\u14c2\u14c4\7\u03c9\2\2\u14c3\u14bf\3\2\2\2\u14c3") - buf.write("\u14c2\3\2\2\2\u14c4\u14c7\3\2\2\2\u14c5\u14c6\7\34\2") - buf.write("\2\u14c6\u14c8\5\u01f8\u00fd\2\u14c7\u14c5\3\2\2\2\u14c7") - buf.write("\u14c8\3\2\2\2\u14c8\u14ca\3\2\2\2\u14c9\u14b7\3\2\2\2") - buf.write("\u14c9\u14c3\3\2\2\2\u14ca\u020f\3\2\2\2\u14cb\u14cc\t") - buf.write("R\2\2\u14cc\u0211\3\2\2\2\u14cd\u14cf\7\u03d0\2\2\u14ce") - buf.write("\u14cd\3\2\2\2\u14ce\u14cf\3\2\2\2\u14cf\u14d0\3\2\2\2") - buf.write("\u14d0\u14d1\7\u03cc\2\2\u14d1\u0213\3\2\2\2\u14d2\u14d4") - buf.write("\7g\2\2\u14d3\u14d2\3\2\2\2\u14d3\u14d4\3\2\2\2\u14d4") - buf.write("\u14d5\3\2\2\2\u14d5\u14d6\tS\2\2\u14d6\u0215\3\2\2\2") - buf.write("\u14d7\u14e4\5\u020e\u0108\2\u14d8\u14e4\5\u020a\u0106") - buf.write("\2\u14d9\u14da\7\u03af\2\2\u14da\u14e4\5\u020a\u0106\2") - buf.write("\u14db\u14e4\5\u0212\u010a\2\u14dc\u14e4\5\u0210\u0109") - buf.write("\2\u14dd\u14e4\7\u03cd\2\2\u14de\u14e4\7\u03cf\2\2\u14df") - buf.write("\u14e1\7g\2\2\u14e0\u14df\3\2\2\2\u14e0\u14e1\3\2\2\2") - buf.write("\u14e1\u14e2\3\2\2\2\u14e2\u14e4\tS\2\2\u14e3\u14d7\3") - buf.write("\2\2\2\u14e3\u14d8\3\2\2\2\u14e3\u14d9\3\2\2\2\u14e3\u14db") - buf.write("\3\2\2\2\u14e3\u14dc\3\2\2\2\u14e3\u14dd\3\2\2\2\u14e3") - buf.write("\u14de\3\2\2\2\u14e3\u14e0\3\2\2\2\u14e4\u0217\3\2\2\2") - buf.write("\u14e5\u14e7\tT\2\2\u14e6\u14e8\5\u021c\u010f\2\u14e7") - buf.write("\u14e6\3\2\2\2\u14e7\u14e8\3\2\2\2\u14e8\u14ea\3\2\2\2") - buf.write("\u14e9\u14eb\7\u00c1\2\2\u14ea\u14e9\3\2\2\2\u14ea\u14eb") - buf.write("\3\2\2\2\u14eb\u14ef\3\2\2\2\u14ec\u14ed\7\32\2\2\u14ed") - buf.write("\u14ee\7\u0089\2\2\u14ee\u14f0\5\u01f6\u00fc\2\u14ef\u14ec") - buf.write("\3\2\2\2\u14ef\u14f0\3\2\2\2\u14f0\u14f3\3\2\2\2\u14f1") - buf.write("\u14f2\7\34\2\2\u14f2\u14f4\5\u01f8\u00fd\2\u14f3\u14f1") - buf.write("\3\2\2\2\u14f3\u14f4\3\2\2\2\u14f4\u1531\3\2\2\2\u14f5") - buf.write("\u14f7\tU\2\2\u14f6\u14f8\5\u021c\u010f\2\u14f7\u14f6") - buf.write("\3\2\2\2\u14f7\u14f8\3\2\2\2\u14f8\u14fa\3\2\2\2\u14f9") - buf.write("\u14fb\7\u00a2\2\2\u14fa\u14f9\3\2\2\2\u14fa\u14fb\3\2") - buf.write("\2\2\u14fb\u14fd\3\2\2\2\u14fc\u14fe\7\u00ae\2\2\u14fd") - buf.write("\u14fc\3\2\2\2\u14fd\u14fe\3\2\2\2\u14fe\u1531\3\2\2\2") - buf.write("\u14ff\u1501\tV\2\2\u1500\u1502\5\u021e\u0110\2\u1501") - buf.write("\u1500\3\2\2\2\u1501\u1502\3\2\2\2\u1502\u1504\3\2\2\2") - buf.write("\u1503\u1505\7\u00a2\2\2\u1504\u1503\3\2\2\2\u1504\u1505") - buf.write("\3\2\2\2\u1505\u1507\3\2\2\2\u1506\u1508\7\u00ae\2\2\u1507") - buf.write("\u1506\3\2\2\2\u1507\u1508\3\2\2\2\u1508\u1531\3\2\2\2") - buf.write("\u1509\u150b\tW\2\2\u150a\u150c\5\u0220\u0111\2\u150b") - buf.write("\u150a\3\2\2\2\u150b\u150c\3\2\2\2\u150c\u150e\3\2\2\2") - buf.write("\u150d\u150f\7\u00a2\2\2\u150e\u150d\3\2\2\2\u150e\u150f") - buf.write("\3\2\2\2\u150f\u1511\3\2\2\2\u1510\u1512\7\u00ae\2\2\u1511") - buf.write("\u1510\3\2\2\2\u1511\u1512\3\2\2\2\u1512\u1531\3\2\2\2") - buf.write("\u1513\u1531\tX\2\2\u1514\u1516\tY\2\2\u1515\u1517\5\u021c") - buf.write("\u010f\2\u1516\u1515\3\2\2\2\u1516\u1517\3\2\2\2\u1517") - buf.write("\u1531\3\2\2\2\u1518\u1519\tZ\2\2\u1519\u151a\7\u03bb") - buf.write("\2\2\u151a\u151f\7\u03ca\2\2\u151b\u151c\7\u03bd\2\2\u151c") - buf.write("\u151e\7\u03ca\2\2\u151d\u151b\3\2\2\2\u151e\u1521\3\2") - buf.write("\2\2\u151f\u151d\3\2\2\2\u151f\u1520\3\2\2\2\u1520\u1522") - buf.write("\3\2\2\2\u1521\u151f\3\2\2\2\u1522\u1524\7\u03bc\2\2\u1523") - buf.write("\u1525\7\u00c1\2\2\u1524\u1523\3\2\2\2\u1524\u1525\3\2") - buf.write("\2\2\u1525\u1529\3\2\2\2\u1526\u1527\7\32\2\2\u1527\u1528") - buf.write("\7\u0089\2\2\u1528\u152a\5\u01f6\u00fc\2\u1529\u1526\3") - buf.write("\2\2\2\u1529\u152a\3\2\2\2\u152a\u152d\3\2\2\2\u152b\u152c") - buf.write("\7\34\2\2\u152c\u152e\5\u01f8\u00fd\2\u152d\u152b\3\2") - buf.write("\2\2\u152d\u152e\3\2\2\2\u152e\u1531\3\2\2\2\u152f\u1531") - buf.write("\t[\2\2\u1530\u14e5\3\2\2\2\u1530\u14f5\3\2\2\2\u1530") - buf.write("\u14ff\3\2\2\2\u1530\u1509\3\2\2\2\u1530\u1513\3\2\2\2") - buf.write("\u1530\u1514\3\2\2\2\u1530\u1518\3\2\2\2\u1530\u152f\3") - buf.write("\2\2\2\u1531\u0219\3\2\2\2\u1532\u1534\t\\\2\2\u1533\u1535") - buf.write("\5\u021c\u010f\2\u1534\u1533\3\2\2\2\u1534\u1535\3\2\2") - buf.write("\2\u1535\u1549\3\2\2\2\u1536\u1538\7\u00bf\2\2\u1537\u1539") - buf.write("\5\u021c\u010f\2\u1538\u1537\3\2\2\2\u1538\u1539\3\2\2") - buf.write("\2\u1539\u153d\3\2\2\2\u153a\u153b\7\32\2\2\u153b\u153c") - buf.write("\7\u0089\2\2\u153c\u153e\5\u01f6\u00fc\2\u153d\u153a\3") - buf.write("\2\2\2\u153d\u153e\3\2\2\2\u153e\u1549\3\2\2\2\u153f\u1549") - buf.write("\t]\2\2\u1540\u1542\7\u00b8\2\2\u1541\u1543\5\u021e\u0110") - buf.write("\2\u1542\u1541\3\2\2\2\u1542\u1543\3\2\2\2\u1543\u1549") - buf.write("\3\2\2\2\u1544\u1546\t^\2\2\u1545\u1547\7\u00b3\2\2\u1546") - buf.write("\u1545\3\2\2\2\u1546\u1547\3\2\2\2\u1547\u1549\3\2\2\2") - buf.write("\u1548\u1532\3\2\2\2\u1548\u1536\3\2\2\2\u1548\u153f\3") - buf.write("\2\2\2\u1548\u1540\3\2\2\2\u1548\u1544\3\2\2\2\u1549\u021b") - buf.write("\3\2\2\2\u154a\u154b\7\u03bb\2\2\u154b\u154c\5\u020a\u0106") - buf.write("\2\u154c\u154d\7\u03bc\2\2\u154d\u021d\3\2\2\2\u154e\u154f") - buf.write("\7\u03bb\2\2\u154f\u1550\5\u020a\u0106\2\u1550\u1551\7") - buf.write("\u03bd\2\2\u1551\u1552\5\u020a\u0106\2\u1552\u1553\7\u03bc") - buf.write("\2\2\u1553\u021f\3\2\2\2\u1554\u1555\7\u03bb\2\2\u1555") - buf.write("\u1558\5\u020a\u0106\2\u1556\u1557\7\u03bd\2\2\u1557\u1559") - buf.write("\5\u020a\u0106\2\u1558\u1556\3\2\2\2\u1558\u1559\3\2\2") - buf.write("\2\u1559\u155a\3\2\2\2\u155a\u155b\7\u03bc\2\2\u155b\u0221") - buf.write("\3\2\2\2\u155c\u1561\5\u0204\u0103\2\u155d\u155e\7\u03bd") - buf.write("\2\2\u155e\u1560\5\u0204\u0103\2\u155f\u155d\3\2\2\2\u1560") - buf.write("\u1563\3\2\2\2\u1561\u155f\3\2\2\2\u1561\u1562\3\2\2\2") - buf.write("\u1562\u0223\3\2\2\2\u1563\u1561\3\2\2\2\u1564\u1569\5") - buf.write("\u01ec\u00f7\2\u1565\u1566\7\u03bd\2\2\u1566\u1568\5\u01ec") - buf.write("\u00f7\2\u1567\u1565\3\2\2\2\u1568\u156b\3\2\2\2\u1569") - buf.write("\u1567\3\2\2\2\u1569\u156a\3\2\2\2\u156a\u0225\3\2\2\2") - buf.write("\u156b\u1569\3\2\2\2\u156c\u156d\7\u03bb\2\2\u156d\u1572") - buf.write("\5\u01f0\u00f9\2\u156e\u156f\7\u03bd\2\2\u156f\u1571\5") - buf.write("\u01f0\u00f9\2\u1570\u156e\3\2\2\2\u1571\u1574\3\2\2\2") - buf.write("\u1572\u1570\3\2\2\2\u1572\u1573\3\2\2\2\u1573\u1575\3") - buf.write("\2\2\2\u1574\u1572\3\2\2\2\u1575\u1576\7\u03bc\2\2\u1576") - buf.write("\u0227\3\2\2\2\u1577\u157c\5\u0250\u0129\2\u1578\u1579") - buf.write("\7\u03bd\2\2\u1579\u157b\5\u0250\u0129\2\u157a\u1578\3") - buf.write("\2\2\2\u157b\u157e\3\2\2\2\u157c\u157a\3\2\2\2\u157c\u157d") - buf.write("\3\2\2\2\u157d\u0229\3\2\2\2\u157e\u157c\3\2\2\2\u157f") - buf.write("\u1584\5\u0236\u011c\2\u1580\u1581\7\u03bd\2\2\u1581\u1583") - buf.write("\5\u0236\u011c\2\u1582\u1580\3\2\2\2\u1583\u1586\3\2\2") - buf.write("\2\u1584\u1582\3\2\2\2\u1584\u1585\3\2\2\2\u1585\u022b") - buf.write("\3\2\2\2\u1586\u1584\3\2\2\2\u1587\u158c\5\u0216\u010c") - buf.write("\2\u1588\u1589\7\u03bd\2\2\u1589\u158b\5\u0216\u010c\2") - buf.write("\u158a\u1588\3\2\2\2\u158b\u158e\3\2\2\2\u158c\u158a\3") - buf.write("\2\2\2\u158c\u158d\3\2\2\2\u158d\u022d\3\2\2\2\u158e\u158c") - buf.write("\3\2\2\2\u158f\u1594\7\u03ca\2\2\u1590\u1591\7\u03bd\2") - buf.write("\2\u1591\u1593\7\u03ca\2\2\u1592\u1590\3\2\2\2\u1593\u1596") - buf.write("\3\2\2\2\u1594\u1592\3\2\2\2\u1594\u1595\3\2\2\2\u1595") - buf.write("\u022f\3\2\2\2\u1596\u1594\3\2\2\2\u1597\u159c\7\u03d5") - buf.write("\2\2\u1598\u1599\7\u03bd\2\2\u1599\u159b\7\u03d5\2\2\u159a") - buf.write("\u1598\3\2\2\2\u159b\u159e\3\2\2\2\u159c\u159a\3\2\2\2") - buf.write("\u159c\u159d\3\2\2\2\u159d\u0231\3\2\2\2\u159e\u159c\3") - buf.write("\2\2\2\u159f\u15a8\7i\2\2\u15a0\u15a8\5\u0216\u010c\2") - buf.write("\u15a1\u15a5\5\u0234\u011b\2\u15a2\u15a3\7j\2\2\u15a3") - buf.write("\u15a4\7\u00a3\2\2\u15a4\u15a6\5\u0234\u011b\2\u15a5\u15a2") - buf.write("\3\2\2\2\u15a5\u15a6\3\2\2\2\u15a6\u15a8\3\2\2\2\u15a7") - buf.write("\u159f\3\2\2\2\u15a7\u15a0\3\2\2\2\u15a7\u15a1\3\2\2\2") - buf.write("\u15a8\u0233\3\2\2\2\u15a9\u15af\t_\2\2\u15aa\u15ac\7") - buf.write("\u03bb\2\2\u15ab\u15ad\5\u020a\u0106\2\u15ac\u15ab\3\2") - buf.write("\2\2\u15ac\u15ad\3\2\2\2\u15ad\u15ae\3\2\2\2\u15ae\u15b0") - buf.write("\7\u03bc\2\2\u15af\u15aa\3\2\2\2\u15af\u15b0\3\2\2\2\u15b0") - buf.write("\u15b8\3\2\2\2\u15b1\u15b2\7\u00f3\2\2\u15b2\u15b4\7\u03bb") - buf.write("\2\2\u15b3\u15b5\5\u020a\u0106\2\u15b4\u15b3\3\2\2\2\u15b4") - buf.write("\u15b5\3\2\2\2\u15b5\u15b6\3\2\2\2\u15b6\u15b8\7\u03bc") - buf.write("\2\2\u15b7\u15a9\3\2\2\2\u15b7\u15b1\3\2\2\2\u15b8\u0235") - buf.write("\3\2\2\2\u15b9\u15bc\5\u0250\u0129\2\u15ba\u15bc\7)\2") - buf.write("\2\u15bb\u15b9\3\2\2\2\u15bb\u15ba\3\2\2\2\u15bc\u0237") - buf.write("\3\2\2\2\u15bd\u15be\7F\2\2\u15be\u15bf\7\67\2\2\u15bf") - buf.write("\u0239\3\2\2\2\u15c0\u15c1\7F\2\2\u15c1\u15c2\7g\2\2\u15c2") - buf.write("\u15c3\7\67\2\2\u15c3\u023b\3\2\2\2\u15c4\u15d6\5\u023e") - buf.write("\u0120\2\u15c5\u15d6\5\u0246\u0124\2\u15c6\u15c7\5\u0248") - buf.write("\u0125\2\u15c7\u15c9\7\u03bb\2\2\u15c8\u15ca\5\u024c\u0127") - buf.write("\2\u15c9\u15c8\3\2\2\2\u15c9\u15ca\3\2\2\2\u15ca\u15cb") - buf.write("\3\2\2\2\u15cb\u15cc\7\u03bc\2\2\u15cc\u15d6\3\2\2\2\u15cd") - buf.write("\u15ce\5\u01ea\u00f6\2\u15ce\u15d0\7\u03bb\2\2\u15cf\u15d1") - buf.write("\5\u024c\u0127\2\u15d0\u15cf\3\2\2\2\u15d0\u15d1\3\2\2") - buf.write("\2\u15d1\u15d2\3\2\2\2\u15d2\u15d3\7\u03bc\2\2\u15d3\u15d6") - buf.write("\3\2\2\2\u15d4\u15d6\5\u024a\u0126\2\u15d5\u15c4\3\2\2") - buf.write("\2\u15d5\u15c5\3\2\2\2\u15d5\u15c6\3\2\2\2\u15d5\u15cd") - buf.write("\3\2\2\2\u15d5\u15d4\3\2\2\2\u15d6\u023d\3\2\2\2\u15d7") - buf.write("\u1675\t`\2\2\u15d8\u15d9\7!\2\2\u15d9\u15da\7\u03bb\2") - buf.write("\2\u15da\u15db\5\u0250\u0129\2\u15db\u15dc\7\u03bd\2\2") - buf.write("\u15dc\u15dd\5\u021a\u010e\2\u15dd\u15de\7\u03bc\2\2\u15de") - buf.write("\u1675\3\2\2\2\u15df\u15e0\7!\2\2\u15e0\u15e1\7\u03bb") - buf.write("\2\2\u15e1\u15e2\5\u0250\u0129\2\u15e2\u15e3\7\u00a6\2") - buf.write("\2\u15e3\u15e4\5\u01f6\u00fc\2\u15e4\u15e5\7\u03bc\2\2") - buf.write("\u15e5\u1675\3\2\2\2\u15e6\u15e7\7\30\2\2\u15e7\u15e8") - buf.write("\7\u03bb\2\2\u15e8\u15e9\5\u0250\u0129\2\u15e9\u15ea\7") - buf.write("\17\2\2\u15ea\u15eb\5\u021a\u010e\2\u15eb\u15ec\7\u03bc") - buf.write("\2\2\u15ec\u1675\3\2\2\2\u15ed\u15ee\7\u00a7\2\2\u15ee") - buf.write("\u15ef\7\u03bb\2\2\u15ef\u15f0\5\u01ee\u00f8\2\u15f0\u15f1") - buf.write("\7\u03bc\2\2\u15f1\u1675\3\2\2\2\u15f2\u15f3\7\27\2\2") - buf.write("\u15f3\u15f5\5\u0250\u0129\2\u15f4\u15f6\5\u0240\u0121") - buf.write("\2\u15f5\u15f4\3\2\2\2\u15f6\u15f7\3\2\2\2\u15f7\u15f5") - buf.write("\3\2\2\2\u15f7\u15f8\3\2\2\2\u15f8\u15fb\3\2\2\2\u15f9") - buf.write("\u15fa\7\63\2\2\u15fa\u15fc\5\u024e\u0128\2\u15fb\u15f9") - buf.write("\3\2\2\2\u15fb\u15fc\3\2\2\2\u15fc\u15fd\3\2\2\2\u15fd") - buf.write("\u15fe\7\u013b\2\2\u15fe\u1675\3\2\2\2\u15ff\u1601\7\27") - buf.write("\2\2\u1600\u1602\5\u0240\u0121\2\u1601\u1600\3\2\2\2\u1602") - buf.write("\u1603\3\2\2\2\u1603\u1601\3\2\2\2\u1603\u1604\3\2\2\2") - buf.write("\u1604\u1607\3\2\2\2\u1605\u1606\7\63\2\2\u1606\u1608") - buf.write("\5\u024e\u0128\2\u1607\u1605\3\2\2\2\u1607\u1608\3\2\2") - buf.write("\2\u1608\u1609\3\2\2\2\u1609\u160a\7\u013b\2\2\u160a\u1675") - buf.write("\3\2\2\2\u160b\u160c\7\u00bf\2\2\u160c\u160d\7\u03bb\2") - buf.write("\2\u160d\u1610\5\u024c\u0127\2\u160e\u160f\7\u00a6\2\2") - buf.write("\u160f\u1611\5\u01f6\u00fc\2\u1610\u160e\3\2\2\2\u1610") - buf.write("\u1611\3\2\2\2\u1611\u1612\3\2\2\2\u1612\u1613\7\u03bc") - buf.write("\2\2\u1613\u1675\3\2\2\2\u1614\u1615\7\u00f4\2\2\u1615") - buf.write("\u1618\7\u03bb\2\2\u1616\u1619\5\u020e\u0108\2\u1617\u1619") - buf.write("\5\u0250\u0129\2\u1618\u1616\3\2\2\2\u1618\u1617\3\2\2") - buf.write("\2\u1619\u161a\3\2\2\2\u161a\u161d\7H\2\2\u161b\u161e") - buf.write("\5\u020e\u0108\2\u161c\u161e\5\u0250\u0129\2\u161d\u161b") - buf.write("\3\2\2\2\u161d\u161c\3\2\2\2\u161e\u161f\3\2\2\2\u161f") - buf.write("\u1620\7\u03bc\2\2\u1620\u1675\3\2\2\2\u1621\u1622\ta") - buf.write("\2\2\u1622\u1625\7\u03bb\2\2\u1623\u1626\5\u020e\u0108") - buf.write("\2\u1624\u1626\5\u0250\u0129\2\u1625\u1623\3\2\2\2\u1625") - buf.write("\u1624\3\2\2\2\u1626\u1627\3\2\2\2\u1627\u162a\7?\2\2") - buf.write("\u1628\u162b\5\u020a\u0106\2\u1629\u162b\5\u0250\u0129") - buf.write("\2\u162a\u1628\3\2\2\2\u162a\u1629\3\2\2\2\u162b\u1631") - buf.write("\3\2\2\2\u162c\u162f\7<\2\2\u162d\u1630\5\u020a\u0106") - buf.write("\2\u162e\u1630\5\u0250\u0129\2\u162f\u162d\3\2\2\2\u162f") - buf.write("\u162e\3\2\2\2\u1630\u1632\3\2\2\2\u1631\u162c\3\2\2\2") - buf.write("\u1631\u1632\3\2\2\2\u1632\u1633\3\2\2\2\u1633\u1634\7") - buf.write("\u03bc\2\2\u1634\u1675\3\2\2\2\u1635\u1636\7\u00f8\2\2") - buf.write("\u1636\u1637\7\u03bb\2\2\u1637\u163a\tb\2\2\u1638\u163b") - buf.write("\5\u020e\u0108\2\u1639\u163b\5\u0250\u0129\2\u163a\u1638") - buf.write("\3\2\2\2\u163a\u1639\3\2\2\2\u163a\u163b\3\2\2\2\u163b") - buf.write("\u163c\3\2\2\2\u163c\u163f\7?\2\2\u163d\u1640\5\u020e") - buf.write("\u0108\2\u163e\u1640\5\u0250\u0129\2\u163f\u163d\3\2\2") - buf.write("\2\u163f\u163e\3\2\2\2\u1640\u1641\3\2\2\2\u1641\u1642") - buf.write("\7\u03bc\2\2\u1642\u1675\3\2\2\2\u1643\u1644\7\u00f8\2") - buf.write("\2\u1644\u1647\7\u03bb\2\2\u1645\u1648\5\u020e\u0108\2") - buf.write("\u1646\u1648\5\u0250\u0129\2\u1647\u1645\3\2\2\2\u1647") - buf.write("\u1646\3\2\2\2\u1648\u1649\3\2\2\2\u1649\u164c\7?\2\2") - buf.write("\u164a\u164d\5\u020e\u0108\2\u164b\u164d\5\u0250\u0129") - buf.write("\2\u164c\u164a\3\2\2\2\u164c\u164b\3\2\2\2\u164d\u164e") - buf.write("\3\2\2\2\u164e\u164f\7\u03bc\2\2\u164f\u1675\3\2\2\2\u1650") - buf.write("\u1651\7\u039c\2\2\u1651\u1654\7\u03bb\2\2\u1652\u1655") - buf.write("\5\u020e\u0108\2\u1653\u1655\5\u0250\u0129\2\u1654\u1652") - buf.write("\3\2\2\2\u1654\u1653\3\2\2\2\u1655\u165c\3\2\2\2\u1656") - buf.write("\u1657\7\17\2\2\u1657\u1658\tc\2\2\u1658\u1659\7\u03bb") - buf.write("\2\2\u1659\u165a\5\u020a\u0106\2\u165a\u165b\7\u03bc\2") - buf.write("\2\u165b\u165d\3\2\2\2\u165c\u1656\3\2\2\2\u165c\u165d") - buf.write("\3\2\2\2\u165d\u165f\3\2\2\2\u165e\u1660\5\u0242\u0122") - buf.write("\2\u165f\u165e\3\2\2\2\u165f\u1660\3\2\2\2\u1660\u1661") - buf.write("\3\2\2\2\u1661\u1662\7\u03bc\2\2\u1662\u1675\3\2\2\2\u1663") - buf.write("\u1664\7\u00f1\2\2\u1664\u1665\7\u03bb\2\2\u1665\u1666") - buf.write("\5<\37\2\u1666\u1669\7?\2\2\u1667\u166a\5\u020e\u0108") - buf.write("\2\u1668\u166a\5\u0250\u0129\2\u1669\u1667\3\2\2\2\u1669") - buf.write("\u1668\3\2\2\2\u166a\u166b\3\2\2\2\u166b\u166c\7\u03bc") - buf.write("\2\2\u166c\u1675\3\2\2\2\u166d\u166e\7\u02d5\2\2\u166e") - buf.write("\u166f\7\u03bb\2\2\u166f\u1670\t]\2\2\u1670\u1671\7\u03bd") - buf.write("\2\2\u1671\u1672\5\u020e\u0108\2\u1672\u1673\7\u03bc\2") - buf.write("\2\u1673\u1675\3\2\2\2\u1674\u15d7\3\2\2\2\u1674\u15d8") - buf.write("\3\2\2\2\u1674\u15df\3\2\2\2\u1674\u15e6\3\2\2\2\u1674") - buf.write("\u15ed\3\2\2\2\u1674\u15f2\3\2\2\2\u1674\u15ff\3\2\2\2") - buf.write("\u1674\u160b\3\2\2\2\u1674\u1614\3\2\2\2\u1674\u1621\3") - buf.write("\2\2\2\u1674\u1635\3\2\2\2\u1674\u1643\3\2\2\2\u1674\u1650") - buf.write("\3\2\2\2\u1674\u1663\3\2\2\2\u1674\u166d\3\2\2\2\u1675") - buf.write("\u023f\3\2\2\2\u1676\u1677\7\u00a8\2\2\u1677\u1678\5\u024e") - buf.write("\u0128\2\u1678\u1679\7\u0099\2\2\u1679\u167a\5\u024e\u0128") - buf.write("\2\u167a\u0241\3\2\2\2\u167b\u167c\7\u0176\2\2\u167c\u1681") - buf.write("\5\u0244\u0123\2\u167d\u167e\7\u03bd\2\2\u167e\u1680\5") - buf.write("\u0244\u0123\2\u167f\u167d\3\2\2\2\u1680\u1683\3\2\2\2") - buf.write("\u1681\u167f\3\2\2\2\u1681\u1682\3\2\2\2\u1682\u168a\3") - buf.write("\2\2\2\u1683\u1681\3\2\2\2\u1684\u1685\7\u0176\2\2\u1685") - buf.write("\u1686\5\u020a\u0106\2\u1686\u1687\7\u03af\2\2\u1687\u1688") - buf.write("\5\u020a\u0106\2\u1688\u168a\3\2\2\2\u1689\u167b\3\2\2") - buf.write("\2\u1689\u1684\3\2\2\2\u168a\u0243\3\2\2\2\u168b\u168d") - buf.write("\5\u020a\u0106\2\u168c\u168e\td\2\2\u168d\u168c\3\2\2") - buf.write("\2\u168d\u168e\3\2\2\2\u168e\u0245\3\2\2\2\u168f\u1690") - buf.write("\te\2\2\u1690\u1692\7\u03bb\2\2\u1691\u1693\t%\2\2\u1692") - buf.write("\u1691\3\2\2\2\u1692\u1693\3\2\2\2\u1693\u1694\3\2\2\2") - buf.write("\u1694\u1695\5\u024e\u0128\2\u1695\u1696\7\u03bc\2\2\u1696") - buf.write("\u16cc\3\2\2\2\u1697\u1698\7\u00dc\2\2\u1698\u169e\7\u03bb") - buf.write("\2\2\u1699\u169f\7\u03aa\2\2\u169a\u169c\7\n\2\2\u169b") - buf.write("\u169a\3\2\2\2\u169b\u169c\3\2\2\2\u169c\u169d\3\2\2\2") - buf.write("\u169d\u169f\5\u024e\u0128\2\u169e\u1699\3\2\2\2\u169e") - buf.write("\u169b\3\2\2\2\u169f\u16a0\3\2\2\2\u16a0\u16cc\7\u03bc") - buf.write("\2\2\u16a1\u16a2\7\u00dc\2\2\u16a2\u16a3\7\u03bb\2\2\u16a3") - buf.write("\u16a4\7/\2\2\u16a4\u16a5\5\u024c\u0127\2\u16a5\u16a6") - buf.write("\7\u03bc\2\2\u16a6\u16cc\3\2\2\2\u16a7\u16a8\7\u00e8\2") - buf.write("\2\u16a8\u16a9\7\u03bb\2\2\u16a9\u16aa\7\u03aa\2\2\u16aa") - buf.write("\u16cc\7\u03bc\2\2\u16ab\u16ac\tf\2\2\u16ac\u16ae\7\u03bb") - buf.write("\2\2\u16ad\u16af\7\n\2\2\u16ae\u16ad\3\2\2\2\u16ae\u16af") - buf.write("\3\2\2\2\u16af\u16b0\3\2\2\2\u16b0\u16b1\5\u024e\u0128") - buf.write("\2\u16b1\u16b2\7\u03bc\2\2\u16b2\u16cc\3\2\2\2\u16b3\u16b4") - buf.write("\7\u00dd\2\2\u16b4\u16b6\7\u03bb\2\2\u16b5\u16b7\7/\2") - buf.write("\2\u16b6\u16b5\3\2\2\2\u16b6\u16b7\3\2\2\2\u16b7\u16b8") - buf.write("\3\2\2\2\u16b8\u16c3\5\u024c\u0127\2\u16b9\u16ba\7o\2") - buf.write("\2\u16ba\u16bb\7\24\2\2\u16bb\u16c0\5\u00d2j\2\u16bc\u16bd") - buf.write("\7\u03bd\2\2\u16bd\u16bf\5\u00d2j\2\u16be\u16bc\3\2\2") - buf.write("\2\u16bf\u16c2\3\2\2\2\u16c0\u16be\3\2\2\2\u16c0\u16c1") - buf.write("\3\2\2\2\u16c1\u16c4\3\2\2\2\u16c2\u16c0\3\2\2\2\u16c3") - buf.write("\u16b9\3\2\2\2\u16c3\u16c4\3\2\2\2\u16c4\u16c7\3\2\2\2") - buf.write("\u16c5\u16c6\7\u008a\2\2\u16c6\u16c8\7\u03ca\2\2\u16c7") - buf.write("\u16c5\3\2\2\2\u16c7\u16c8\3\2\2\2\u16c8\u16c9\3\2\2\2") - buf.write("\u16c9\u16ca\7\u03bc\2\2\u16ca\u16cc\3\2\2\2\u16cb\u168f") - buf.write("\3\2\2\2\u16cb\u1697\3\2\2\2\u16cb\u16a1\3\2\2\2\u16cb") - buf.write("\u16a7\3\2\2\2\u16cb\u16ab\3\2\2\2\u16cb\u16b3\3\2\2\2") - buf.write("\u16cc\u0247\3\2\2\2\u16cd\u16e5\5\u026c\u0137\2\u16ce") - buf.write("\u16e5\7\u0242\2\2\u16cf\u16e5\7\u00ed\2\2\u16d0\u16e5") - buf.write("\7\u00e9\2\2\u16d1\u16e5\7\u00ea\2\2\u16d2\u16e5\7\u00eb") - buf.write("\2\2\u16d3\u16e5\7\u00ee\2\2\u16d4\u16e5\7\u00ef\2\2\u16d5") - buf.write("\u16e5\7\u00f0\2\2\u16d6\u16e5\7F\2\2\u16d7\u16e5\7M\2") - buf.write("\2\u16d8\u16e5\7\u00ec\2\2\u16d9\u16e5\7\u00f2\2\2\u16da") - buf.write("\u16e5\7\u0198\2\2\u16db\u16e5\7\u00f3\2\2\u16dc\u16e5") - buf.write("\7\177\2\2\u16dd\u16e5\7\u00f5\2\2\u16de\u16e5\7\u00f6") - buf.write("\2\2\u16df\u16e5\7\u00f7\2\2\u16e0\u16e5\7\u00f8\2\2\u16e1") - buf.write("\u16e5\7\u00f9\2\2\u16e2\u16e5\7\u00fa\2\2\u16e3\u16e5") - buf.write("\7\u00fb\2\2\u16e4\u16cd\3\2\2\2\u16e4\u16ce\3\2\2\2\u16e4") - buf.write("\u16cf\3\2\2\2\u16e4\u16d0\3\2\2\2\u16e4\u16d1\3\2\2\2") - buf.write("\u16e4\u16d2\3\2\2\2\u16e4\u16d3\3\2\2\2\u16e4\u16d4\3") - buf.write("\2\2\2\u16e4\u16d5\3\2\2\2\u16e4\u16d6\3\2\2\2\u16e4\u16d7") - buf.write("\3\2\2\2\u16e4\u16d8\3\2\2\2\u16e4\u16d9\3\2\2\2\u16e4") - buf.write("\u16da\3\2\2\2\u16e4\u16db\3\2\2\2\u16e4\u16dc\3\2\2\2") - buf.write("\u16e4\u16dd\3\2\2\2\u16e4\u16de\3\2\2\2\u16e4\u16df\3") - buf.write("\2\2\2\u16e4\u16e0\3\2\2\2\u16e4\u16e1\3\2\2\2\u16e4\u16e2") - buf.write("\3\2\2\2\u16e4\u16e3\3\2\2\2\u16e5\u0249\3\2\2\2\u16e6") - buf.write("\u16e7\tg\2\2\u16e7\u16e8\7\u03bb\2\2\u16e8\u16e9\5\u024e") - buf.write("\u0128\2\u16e9\u16ea\7\u03bc\2\2\u16ea\u024b\3\2\2\2\u16eb") - buf.write("\u16f0\5\u0216\u010c\2\u16ec\u16f0\5\u01ee\u00f8\2\u16ed") - buf.write("\u16f0\5\u023c\u011f\2\u16ee\u16f0\5\u0250\u0129\2\u16ef") - buf.write("\u16eb\3\2\2\2\u16ef\u16ec\3\2\2\2\u16ef\u16ed\3\2\2\2") - buf.write("\u16ef\u16ee\3\2\2\2\u16f0\u16fa\3\2\2\2\u16f1\u16f6\7") - buf.write("\u03bd\2\2\u16f2\u16f7\5\u0216\u010c\2\u16f3\u16f7\5\u01ee") - buf.write("\u00f8\2\u16f4\u16f7\5\u023c\u011f\2\u16f5\u16f7\5\u0250") - buf.write("\u0129\2\u16f6\u16f2\3\2\2\2\u16f6\u16f3\3\2\2\2\u16f6") - buf.write("\u16f4\3\2\2\2\u16f6\u16f5\3\2\2\2\u16f7\u16f9\3\2\2\2") - buf.write("\u16f8\u16f1\3\2\2\2\u16f9\u16fc\3\2\2\2\u16fa\u16f8\3") - buf.write("\2\2\2\u16fa\u16fb\3\2\2\2\u16fb\u024d\3\2\2\2\u16fc\u16fa") - buf.write("\3\2\2\2\u16fd\u1702\5\u0216\u010c\2\u16fe\u1702\5\u01ee") - buf.write("\u00f8\2\u16ff\u1702\5\u023c\u011f\2\u1700\u1702\5\u0250") - buf.write("\u0129\2\u1701\u16fd\3\2\2\2\u1701\u16fe\3\2\2\2\u1701") - buf.write("\u16ff\3\2\2\2\u1701\u1700\3\2\2\2\u1702\u024f\3\2\2\2") - buf.write("\u1703\u1704\b\u0129\1\2\u1704\u1705\th\2\2\u1705\u170f") - buf.write("\5\u0250\u0129\6\u1706\u1707\5\u0252\u012a\2\u1707\u1709") - buf.write("\7P\2\2\u1708\u170a\7g\2\2\u1709\u1708\3\2\2\2\u1709\u170a") - buf.write("\3\2\2\2\u170a\u170b\3\2\2\2\u170b\u170c\ti\2\2\u170c") - buf.write("\u170f\3\2\2\2\u170d\u170f\5\u0252\u012a\2\u170e\u1703") - buf.write("\3\2\2\2\u170e\u1706\3\2\2\2\u170e\u170d\3\2\2\2\u170f") - buf.write("\u1716\3\2\2\2\u1710\u1711\f\5\2\2\u1711\u1712\5\u025a") - buf.write("\u012e\2\u1712\u1713\5\u0250\u0129\6\u1713\u1715\3\2\2") - buf.write("\2\u1714\u1710\3\2\2\2\u1715\u1718\3\2\2\2\u1716\u1714") - buf.write("\3\2\2\2\u1716\u1717\3\2\2\2\u1717\u0251\3\2\2\2\u1718") - buf.write("\u1716\3\2\2\2\u1719\u171c\b\u012a\1\2\u171a\u171b\7\u03d5") - buf.write("\2\2\u171b\u171d\7\u03a1\2\2\u171c\u171a\3\2\2\2\u171c") - buf.write("\u171d\3\2\2\2\u171d\u171e\3\2\2\2\u171e\u171f\5\u0254") - buf.write("\u012b\2\u171f\u1759\3\2\2\2\u1720\u1721\f\t\2\2\u1721") - buf.write("\u1722\5\u0258\u012d\2\u1722\u1723\5\u0252\u012a\n\u1723") - buf.write("\u1758\3\2\2\2\u1724\u1726\f\7\2\2\u1725\u1727\7g\2\2") - buf.write("\u1726\u1725\3\2\2\2\u1726\u1727\3\2\2\2\u1727\u1728\3") - buf.write("\2\2\2\u1728\u1729\7\22\2\2\u1729\u172a\5\u0252\u012a") - buf.write("\2\u172a\u172b\7\16\2\2\u172b\u172c\5\u0252\u012a\b\u172c") - buf.write("\u1758\3\2\2\2\u172d\u172e\f\6\2\2\u172e\u172f\7\u01f3") - buf.write("\2\2\u172f\u1730\7Y\2\2\u1730\u1758\5\u0252\u012a\7\u1731") - buf.write("\u1733\f\4\2\2\u1732\u1734\7g\2\2\u1733\u1732\3\2\2\2") - buf.write("\u1733\u1734\3\2\2\2\u1734\u1735\3\2\2\2\u1735\u1736\t") - buf.write("j\2\2\u1736\u1758\5\u0252\u012a\5\u1737\u1739\f\13\2\2") - buf.write("\u1738\u173a\7g\2\2\u1739\u1738\3\2\2\2\u1739\u173a\3") - buf.write("\2\2\2\u173a\u173b\3\2\2\2\u173b\u173c\7H\2\2\u173c\u173f") - buf.write("\7\u03bb\2\2\u173d\u1740\5\u00b4[\2\u173e\u1740\5\u0228") - buf.write("\u0115\2\u173f\u173d\3\2\2\2\u173f\u173e\3\2\2\2\u1740") - buf.write("\u1741\3\2\2\2\u1741\u1742\7\u03bc\2\2\u1742\u1758\3\2") - buf.write("\2\2\u1743\u1744\f\n\2\2\u1744\u1745\7P\2\2\u1745\u1758") - buf.write("\5\u0214\u010b\2\u1746\u1747\f\b\2\2\u1747\u1748\5\u0258") - buf.write("\u012d\2\u1748\u1749\tk\2\2\u1749\u174a\7\u03bb\2\2\u174a") - buf.write("\u174b\5\u00b4[\2\u174b\u174c\7\u03bc\2\2\u174c\u1758") - buf.write("\3\2\2\2\u174d\u174f\f\5\2\2\u174e\u1750\7g\2\2\u174f") - buf.write("\u174e\3\2\2\2\u174f\u1750\3\2\2\2\u1750\u1751\3\2\2\2") - buf.write("\u1751\u1752\7Y\2\2\u1752\u1755\5\u0252\u012a\2\u1753") - buf.write("\u1754\7\u0141\2\2\u1754\u1756\7\u03ca\2\2\u1755\u1753") - buf.write("\3\2\2\2\u1755\u1756\3\2\2\2\u1756\u1758\3\2\2\2\u1757") - buf.write("\u1720\3\2\2\2\u1757\u1724\3\2\2\2\u1757\u172d\3\2\2\2") - buf.write("\u1757\u1731\3\2\2\2\u1757\u1737\3\2\2\2\u1757\u1743\3") - buf.write("\2\2\2\u1757\u1746\3\2\2\2\u1757\u174d\3\2\2\2\u1758\u175b") - buf.write("\3\2\2\2\u1759\u1757\3\2\2\2\u1759\u175a\3\2\2\2\u175a") - buf.write("\u0253\3\2\2\2\u175b\u1759\3\2\2\2\u175c\u175d\b\u012b") - buf.write("\1\2\u175d\u178a\5\u0216\u010c\2\u175e\u178a\5\u01ee\u00f8") - buf.write("\2\u175f\u178a\5\u023c\u011f\2\u1760\u178a\5\u01f4\u00fb") - buf.write("\2\u1761\u1762\5\u0256\u012c\2\u1762\u1763\5\u0254\u012b") - buf.write("\13\u1763\u178a\3\2\2\2\u1764\u1765\7\u00c1\2\2\u1765") - buf.write("\u178a\5\u0254\u012b\n\u1766\u1767\7\u03bb\2\2\u1767\u176c") - buf.write("\5\u0250\u0129\2\u1768\u1769\7\u03bd\2\2\u1769\u176b\5") - buf.write("\u0250\u0129\2\u176a\u1768\3\2\2\2\u176b\u176e\3\2\2\2") - buf.write("\u176c\u176a\3\2\2\2\u176c\u176d\3\2\2\2\u176d\u176f\3") - buf.write("\2\2\2\u176e\u176c\3\2\2\2\u176f\u1770\7\u03bc\2\2\u1770") - buf.write("\u178a\3\2\2\2\u1771\u1772\7\u01e1\2\2\u1772\u1773\7\u03bb") - buf.write("\2\2\u1773\u1776\5\u0250\u0129\2\u1774\u1775\7\u03bd\2") - buf.write("\2\u1775\u1777\5\u0250\u0129\2\u1776\u1774\3\2\2\2\u1777") - buf.write("\u1778\3\2\2\2\u1778\u1776\3\2\2\2\u1778\u1779\3\2\2\2") - buf.write("\u1779\u177a\3\2\2\2\u177a\u177b\7\u03bc\2\2\u177b\u178a") - buf.write("\3\2\2\2\u177c\u177d\7\67\2\2\u177d\u177e\7\u03bb\2\2") - buf.write("\u177e\u177f\5\u00b4[\2\u177f\u1780\7\u03bc\2\2\u1780") - buf.write("\u178a\3\2\2\2\u1781\u1782\7\u03bb\2\2\u1782\u1783\5\u00b4") - buf.write("[\2\u1783\u1784\7\u03bc\2\2\u1784\u178a\3\2\2\2\u1785") - buf.write("\u1786\7N\2\2\u1786\u1787\5\u0250\u0129\2\u1787\u1788") - buf.write("\5<\37\2\u1788\u178a\3\2\2\2\u1789\u175c\3\2\2\2\u1789") - buf.write("\u175e\3\2\2\2\u1789\u175f\3\2\2\2\u1789\u1760\3\2\2\2") - buf.write("\u1789\u1761\3\2\2\2\u1789\u1764\3\2\2\2\u1789\u1766\3") - buf.write("\2\2\2\u1789\u1771\3\2\2\2\u1789\u177c\3\2\2\2\u1789\u1781") - buf.write("\3\2\2\2\u1789\u1785\3\2\2\2\u178a\u1798\3\2\2\2\u178b") - buf.write("\u178c\f\4\2\2\u178c\u178d\5\u025c\u012f\2\u178d\u178e") - buf.write("\5\u0254\u012b\5\u178e\u1797\3\2\2\2\u178f\u1790\f\3\2") - buf.write("\2\u1790\u1791\5\u025e\u0130\2\u1791\u1792\5\u0254\u012b") - buf.write("\4\u1792\u1797\3\2\2\2\u1793\u1794\f\r\2\2\u1794\u1795") - buf.write("\7\34\2\2\u1795\u1797\5\u01f8\u00fd\2\u1796\u178b\3\2") - buf.write("\2\2\u1796\u178f\3\2\2\2\u1796\u1793\3\2\2\2\u1797\u179a") - buf.write("\3\2\2\2\u1798\u1796\3\2\2\2\u1798\u1799\3\2\2\2\u1799") - buf.write("\u0255\3\2\2\2\u179a\u1798\3\2\2\2\u179b\u179c\tl\2\2") - buf.write("\u179c\u0257\3\2\2\2\u179d\u17ac\7\u03b2\2\2\u179e\u17ac") - buf.write("\7\u03b3\2\2\u179f\u17ac\7\u03b4\2\2\u17a0\u17a1\7\u03b4") - buf.write("\2\2\u17a1\u17ac\7\u03b2\2\2\u17a2\u17a3\7\u03b3\2\2\u17a3") - buf.write("\u17ac\7\u03b2\2\2\u17a4\u17a5\7\u03b4\2\2\u17a5\u17ac") - buf.write("\7\u03b3\2\2\u17a6\u17a7\7\u03b5\2\2\u17a7\u17ac\7\u03b2") - buf.write("\2\2\u17a8\u17a9\7\u03b4\2\2\u17a9\u17aa\7\u03b2\2\2\u17aa") - buf.write("\u17ac\7\u03b3\2\2\u17ab\u179d\3\2\2\2\u17ab\u179e\3\2") - buf.write("\2\2\u17ab\u179f\3\2\2\2\u17ab\u17a0\3\2\2\2\u17ab\u17a2") - buf.write("\3\2\2\2\u17ab\u17a4\3\2\2\2\u17ab\u17a6\3\2\2\2\u17ab") - buf.write("\u17a8\3\2\2\2\u17ac\u0259\3\2\2\2\u17ad\u17b5\7\16\2") - buf.write("\2\u17ae\u17af\7\u03b8\2\2\u17af\u17b5\7\u03b8\2\2\u17b0") - buf.write("\u17b5\7\u00ad\2\2\u17b1\u17b5\7n\2\2\u17b2\u17b3\7\u03b7") - buf.write("\2\2\u17b3\u17b5\7\u03b7\2\2\u17b4\u17ad\3\2\2\2\u17b4") - buf.write("\u17ae\3\2\2\2\u17b4\u17b0\3\2\2\2\u17b4\u17b1\3\2\2\2") - buf.write("\u17b4\u17b2\3\2\2\2\u17b5\u025b\3\2\2\2\u17b6\u17b7\7") - buf.write("\u03b4\2\2\u17b7\u17be\7\u03b4\2\2\u17b8\u17b9\7\u03b3") - buf.write("\2\2\u17b9\u17be\7\u03b3\2\2\u17ba\u17be\7\u03b8\2\2\u17bb") - buf.write("\u17be\7\u03b9\2\2\u17bc\u17be\7\u03b7\2\2\u17bd\u17b6") - buf.write("\3\2\2\2\u17bd\u17b8\3\2\2\2\u17bd\u17ba\3\2\2\2\u17bd") - buf.write("\u17bb\3\2\2\2\u17bd\u17bc\3\2\2\2\u17be\u025d\3\2\2\2") - buf.write("\u17bf\u17c0\tm\2\2\u17c0\u025f\3\2\2\2\u17c1\u17c2\t") - buf.write("n\2\2\u17c2\u0261\3\2\2\2\u17c3\u17c4\to\2\2\u17c4\u0263") - buf.write("\3\2\2\2\u17c5\u17c6\tp\2\2\u17c6\u0265\3\2\2\2\u17c7") - buf.write("\u17c8\tq\2\2\u17c8\u0267\3\2\2\2\u17c9\u17ca\tr\2\2\u17ca") - buf.write("\u0269\3\2\2\2\u17cb\u17cc\ts\2\2\u17cc\u026b\3\2\2\2") - buf.write("\u17cd\u17ce\tt\2\2\u17ce\u026d\3\2\2\2\u036e\u026f\u0272") - buf.write("\u0278\u027d\u027f\u0284\u0287\u028a\u0293\u02ba\u02c6") - buf.write("\u02d1\u02e2\u02e7\u02f3\u030e\u0314\u0319\u031f\u0324") - buf.write("\u0328\u0331\u0334\u0337\u033b\u0342\u0345\u034a\u0352") - buf.write("\u0357\u035c\u035f\u036a\u036d\u0371\u0374\u0378\u037b") - buf.write("\u037f\u0382\u0385\u0389\u038c\u0390\u0396\u039c\u03a2") - buf.write("\u03a9\u03b0\u03b6\u03bc\u03c5\u03d8\u03df\u03e3\u03ed") - buf.write("\u03f1\u03f5\u03f9\u03fd\u0402\u0405\u0408\u040b\u040e") - buf.write("\u0414\u0418\u041e\u0423\u0426\u0429\u042b\u0436\u043a") - buf.write("\u043d\u044b\u044e\u0452\u0455\u0459\u045c\u0460\u0463") - buf.write("\u0467\u046a\u046d\u0471\u0474\u0478\u047e\u048b\u0492") - buf.write("\u0497\u049a\u049f\u04a7\u04ad\u04b1\u04b4\u04b9\u04bc") - buf.write("\u04c0\u04c4\u04c7\u04cf\u04d1\u04d8\u04de\u04e6\u04e9") - buf.write("\u04f0\u04f3\u04f5\u04fb\u0501\u0512\u0519\u0520\u0529") - buf.write("\u0537\u0544\u0549\u0559\u0561\u056b\u0571\u0579\u057e") - buf.write("\u0589\u0590\u0595\u0599\u059b\u05a0\u05a6\u05ab\u05ad") - buf.write("\u05b1\u05b4\u05b7\u05bd\u05c2\u05c4\u05c9\u05d0\u05d2") - buf.write("\u05d9\u05e0\u05e3\u05eb\u05f3\u05f5\u05fd\u0601\u0604") - buf.write("\u060a\u060f\u0612\u0618\u061b\u061f\u0624\u0629\u062d") - buf.write("\u0632\u0635\u063a\u063e\u0642\u0647\u064c\u0651\u0657") - buf.write("\u065c\u0661\u0667\u066c\u0671\u0676\u067b\u0680\u0685") - buf.write("\u068a\u068f\u0694\u0699\u069f\u06a3\u06a9\u06b3\u06ba") - buf.write("\u06bc\u06c4\u06c9\u06cc\u06d4\u06da\u06ea\u06f6\u06f8") - buf.write("\u06fb\u0703\u0709\u070f\u071c\u0723\u072b\u072e\u073a") - buf.write("\u0741\u0749\u074c\u0758\u075f\u0767\u076a\u0771\u0779") - buf.write("\u077c\u077e\u0783\u078b\u0794\u0798\u079c\u07a1\u07a7") - buf.write("\u07ad\u07b2\u07b7\u07bc\u07c1\u07c4\u07c9\u07ce\u07d8") - buf.write("\u07dc\u07e3\u07e8\u07eb\u07f0\u07f3\u07f7\u07fb\u0803") - buf.write("\u0816\u0819\u081c\u0820\u082a\u0837\u083e\u0841\u084a") - buf.write("\u084e\u0859\u085c\u0860\u0868\u086b\u0870\u0878\u087e") - buf.write("\u0882\u0886\u088b\u0890\u0897\u089b\u08a6\u08ae\u08b1") - buf.write("\u08b7\u08bd\u08bf\u08c4\u08ca\u08d0\u08d2\u08d6\u08d9") - buf.write("\u08dc\u08e2\u08e8\u08eb\u08f1\u08f7\u08f9\u08fe\u0906") - buf.write("\u0908\u0911\u0916\u091e\u0922\u092a\u0934\u0939\u0940") - buf.write("\u0944\u0957\u095b\u0967\u096a\u0973\u0984\u0990\u0997") - buf.write("\u099e\u09ad\u09ba\u09c0\u09c6\u09cc\u09d2\u09d8\u09de") - buf.write("\u09e3\u09ea\u09f1\u09f8\u09fb\u09ff\u0a02\u0a0f\u0a16") - buf.write("\u0a1d\u0a23\u0a27\u0a2b\u0a32\u0a35\u0a3a\u0a41\u0a48") - buf.write("\u0a4c\u0a55\u0a5e\u0a67\u0a6a\u0a6e\u0a77\u0a7b\u0a7e") - buf.write("\u0a81\u0a89\u0a8f\u0a98\u0a9b\u0aa6\u0aa9\u0aae\u0ab1") - buf.write("\u0ab6\u0ac0\u0ac5\u0acb\u0acd\u0ad3\u0ad5\u0adb\u0ae3") - buf.write("\u0ae8\u0af0\u0af3\u0af8\u0afb\u0b00\u0b08\u0b10\u0b16") - buf.write("\u0b1e\u0b23\u0b2b\u0b2e\u0b32\u0b35\u0b3d\u0b43\u0b4c") - buf.write("\u0b4f\u0b53\u0b57\u0b5d\u0b61\u0b65\u0b67\u0b6a\u0b6d") - buf.write("\u0b70\u0b76\u0b7a\u0b7d\u0b80\u0b83\u0b86\u0b88\u0b8c") - buf.write("\u0b9a\u0b9d\u0ba3\u0ba7\u0baf\u0bb3\u0bb6\u0bb9\u0bc2") - buf.write("\u0bc6\u0bc9\u0bcd\u0bd1\u0bd4\u0bd7\u0bdc\u0be2\u0be6") - buf.write("\u0bf0\u0bf6\u0bfa\u0c00\u0c04\u0c0a\u0c0d\u0c19\u0c1d") - buf.write("\u0c21\u0c29\u0c2d\u0c35\u0c38\u0c3c\u0c3f\u0c47\u0c4c") - buf.write("\u0c4f\u0c52\u0c56\u0c59\u0c62\u0c67\u0c70\u0c75\u0c7c") - buf.write("\u0c83\u0c8b\u0c90\u0c98\u0c9b\u0c9e\u0ca5\u0ca8\u0caf") - buf.write("\u0cb2\u0cba\u0cc0\u0ccb\u0cce\u0cd9\u0cdf\u0ce3\u0cee") - buf.write("\u0cf3\u0cf5\u0cf9\u0d03\u0d0d\u0d13\u0d18\u0d1b\u0d1e") - buf.write("\u0d21\u0d27\u0d2c\u0d2f\u0d32\u0d35\u0d3b\u0d40\u0d43") - buf.write("\u0d46\u0d48\u0d4e\u0d53\u0d56\u0d59\u0d5d\u0d63\u0d67") - buf.write("\u0d71\u0d75\u0d7b\u0d84\u0d87\u0d8b\u0d8e\u0d92\u0d96") - buf.write("\u0d99\u0d9b\u0da9\u0db5\u0dbb\u0dbd\u0dc3\u0dc5\u0dc7") - buf.write("\u0dcd\u0dd5\u0ddd\u0de3\u0dec\u0df1\u0df3\u0df7\u0dfb") - buf.write("\u0e01\u0e08\u0e11\u0e14\u0e18\u0e1c\u0e20\u0e23\u0e26") - buf.write("\u0e29\u0e2d\u0e31\u0e34\u0e37\u0e3a\u0e41\u0e45\u0e54") - buf.write("\u0e61\u0e69\u0e73\u0e77\u0e7a\u0e80\u0e83\u0e86\u0e8f") - buf.write("\u0e98\u0ea2\u0ea6\u0eb0\u0eba\u0ec2\u0ec5\u0ece\u0ed1") - buf.write("\u0ed5\u0eda\u0ede\u0ee7\u0eea\u0f09\u0f0c\u0f0f\u0f47") - buf.write("\u0f4c\u0f68\u0f76\u0f7d\u0f81\u0f87\u0f8f\u0f91\u0f9c") - buf.write("\u0fa6\u0fad\u0fb3\u0fbb\u0fc0\u0fc8\u0fd0\u0fd8\u0fe0") - buf.write("\u0fe6\u0fe8\u0fec\u0ff1\u0ff6\u0ffc\u0ffe\u1009\u100e") - buf.write("\u1015\u1017\u1025\u102b\u1030\u1035\u103b\u1042\u104a") - buf.write("\u1052\u1057\u105d\u1060\u1068\u106f\u1078\u107b\u108c") - buf.write("\u1094\u109c\u10a0\u10a7\u10ad\u10b5\u10be\u10c4\u10cb") - buf.write("\u10d2\u10d7\u10da\u10dc\u10e2\u10e4\u10e8\u10ea\u10ed") - buf.write("\u10f6\u10fc\u1103\u110a\u110f\u1112\u1114\u111a\u111c") - buf.write("\u1120\u1122\u1125\u112a\u1131\u113a\u113f\u1148\u114f") - buf.write("\u1154\u1157\u1159\u115f\u1161\u1164\u1170\u1176\u117f") - buf.write("\u1188\u118d\u1196\u119c\u11a7\u11aa\u11b6\u11bd\u11c2") - buf.write("\u11d1\u11dc\u11df\u11e9\u11f3\u11fd\u1207\u120b\u120f") - buf.write("\u1218\u1233\u1242\u124a\u1255\u125c\u1260\u1267\u126c") - buf.write("\u126f\u1272\u127b\u127f\u129d\u12a4\u12a8\u12af\u12b2") - buf.write("\u12b7\u12c1\u12c5\u12cb\u12ce\u12d3\u12d7\u12de\u12e1") - buf.write("\u12e7\u12ff\u130c\u130f\u1319\u1321\u1325\u132c\u132f") - buf.write("\u1338\u133e\u1344\u134e\u1350\u1356\u1359\u135c\u1368") - buf.write("\u136b\u1371\u1374\u137c\u1384\u138a\u138e\u139c\u13a8") - buf.write("\u13af\u13b2\u13b9\u13c0\u13c5\u13ca\u13d5\u13e0\u13e6") - buf.write("\u13eb\u13f8\u13fa\u13ff\u1404\u1406\u140d\u1414\u1417") - buf.write("\u141a\u1420\u1424\u142a\u1430\u143f\u1444\u144a\u1451") - buf.write("\u1453\u145a\u145d\u1467\u146b\u147f\u1486\u1488\u148f") - buf.write("\u1491\u1495\u149a\u14a5\u14aa\u14b0\u14b3\u14b7\u14bc") - buf.write("\u14bf\u14c3\u14c7\u14c9\u14ce\u14d3\u14e0\u14e3\u14e7") - buf.write("\u14ea\u14ef\u14f3\u14f7\u14fa\u14fd\u1501\u1504\u1507") - buf.write("\u150b\u150e\u1511\u1516\u151f\u1524\u1529\u152d\u1530") - buf.write("\u1534\u1538\u153d\u1542\u1546\u1548\u1558\u1561\u1569") - buf.write("\u1572\u157c\u1584\u158c\u1594\u159c\u15a5\u15a7\u15ac") - buf.write("\u15af\u15b4\u15b7\u15bb\u15c9\u15d0\u15d5\u15f7\u15fb") - buf.write("\u1603\u1607\u1610\u1618\u161d\u1625\u162a\u162f\u1631") - buf.write("\u163a\u163f\u1647\u164c\u1654\u165c\u165f\u1669\u1674") - buf.write("\u1681\u1689\u168d\u1692\u169b\u169e\u16ae\u16b6\u16c0") - buf.write("\u16c3\u16c7\u16cb\u16e4\u16ef\u16f6\u16fa\u1701\u1709") - buf.write("\u170e\u1716\u171c\u1726\u1733\u1739\u173f\u174f\u1755") - buf.write("\u1757\u1759\u176c\u1778\u1789\u1796\u1798\u17ab\u17b4") - buf.write("\u17bd") - return buf.getvalue() - - -class frameQLParser ( Parser ): - - grammarFileName = "frameQLParser.g4" - - atn = ATNDeserializer().deserialize(serializedATN()) - - decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ] - - sharedContextCache = PredictionContextCache() - - literalNames = [ "", "", "", "", - "", "'ERROR_WITHIN'", "'AT_CONFIDENCE'", "'ADD'", - "'ALL'", "'ALTER'", "'ALWAYS'", "'ANALYZE'", "'AND'", - "'AS'", "'ASC'", "'BEFORE'", "'BETWEEN'", "'BOTH'", - "'BY'", "'CALL'", "'CASCADE'", "'CASE'", "'CAST'", - "'CHANGE'", "'CHARACTER'", "'CHECK'", "'COLLATE'", - "'COLUMN'", "'CONDITION'", "'CONSTRAINT'", "'CONTINUE'", - "'CONVERT'", "'CREATE'", "'CROSS'", "'CURRENT_USER'", - "'CURSOR'", "'DATABASE'", "'DATABASES'", "'DECLARE'", - "'DEFAULT'", "'DELAYED'", "'DELETE'", "'DESC'", "'DESCRIBE'", - "'DETERMINISTIC'", "'DISTINCT'", "'DISTINCTROW'", "'DROP'", - "'EACH'", "'ELSE'", "'ELSEIF'", "'ENCLOSED'", "'ESCAPED'", - "'EXISTS'", "'EXIT'", "'EXPLAIN'", "'FALSE'", "'FETCH'", - "'FOR'", "'FORCE'", "'FOREIGN'", "'FROM'", "'FULLTEXT'", - "'GENERATED'", "'GRANT'", "'GROUP'", "'HAVING'", "'HIGH_PRIORITY'", - "'IF'", "'IGNORE'", "'IN'", "'INDEX'", "'INFILE'", - "'INNER'", "'INOUT'", "'INSERT'", "'INTERVAL'", "'INTO'", - "'IS'", "'ITERATE'", "'JOIN'", "'KEY'", "'KEYS'", "'KILL'", - "'LEADING'", "'LEAVE'", "'LEFT'", "'LIKE'", "'LIMIT'", - "'LINEAR'", "'LINES'", "'LOAD'", "'LOCK'", "'LOOP'", - "'LOW_PRIORITY'", "'MASTER_BIND'", "'MASTER_SSL_VERIFY_SERVER_CERT'", - "'MATCH'", "'MAXVALUE'", "'MODIFIES'", "'NATURAL'", - "'NOT'", "'NO_WRITE_TO_BINLOG'", "'NULL'", "'ON'", - "'OPTIMIZE'", "'OPTION'", "'OPTIONALLY'", "'OR'", "'ORDER'", - "'OUT'", "'OUTER'", "'OUTFILE'", "'PARTITION'", "'PRIMARY'", - "'PROCEDURE'", "'PURGE'", "'RANGE'", "'READ'", "'READS'", - "'REFERENCES'", "'REGEXP'", "'RELEASE'", "'RENAME'", - "'REPEAT'", "'REPLACE'", "'REQUIRE'", "'RESTRICT'", - "'RETURN'", "'REVOKE'", "'RIGHT'", "'RLIKE'", "'SCHEMA'", - "'SCHEMAS'", "'SELECT'", "'SET'", "'SEPARATOR'", "'SHOW'", - "'SPATIAL'", "'SQL'", "'SQLEXCEPTION'", "'SQLSTATE'", - "'SQLWARNING'", "'SQL_BIG_RESULT'", "'SQL_CALC_FOUND_ROWS'", - "'SQL_SMALL_RESULT'", "'SSL'", "'STARTING'", "'STRAIGHT_JOIN'", - "'TABLE'", "'TERMINATED'", "'THEN'", "'TO'", "'TRAILING'", - "'TRIGGER'", "'TRUE'", "'UNDO'", "'UNION'", "'UNIQUE'", - "'UNLOCK'", "'UNSIGNED'", "'UPDATE'", "'USAGE'", "'USE'", - "'USING'", "'VALUES'", "'WHEN'", "'WHERE'", "'WHILE'", - "'WITH'", "'WRITE'", "'XOR'", "'ZEROFILL'", "'TINYINT'", - "'SMALLINT'", "'MEDIUMINT'", "'INT'", "'INTEGER'", - "'BIGINT'", "'REAL'", "'DOUBLE'", "'FLOAT'", "'DECIMAL'", - "'NUMERIC'", "'DATE'", "'TIME'", "'TIMESTAMP'", "'DATETIME'", - "'YEAR'", "'CHAR'", "'VARCHAR'", "'BINARY'", "'VARBINARY'", - "'TINYBLOB'", "'BLOB'", "'MEDIUMBLOB'", "'LONGBLOB'", - "'TINYTEXT'", "'TEXT'", "'MEDIUMTEXT'", "'LONGTEXT'", - "'ENUM'", "'SERIAL'", "'YEAR_MONTH'", "'DAY_HOUR'", - "'DAY_MINUTE'", "'DAY_SECOND'", "'HOUR_MINUTE'", "'HOUR_SECOND'", - "'MINUTE_SECOND'", "'SECOND_MICROSECOND'", "'MINUTE_MICROSECOND'", - "'HOUR_MICROSECOND'", "'DAY_MICROSECOND'", "'AVG'", - "'BIT_AND'", "'BIT_OR'", "'BIT_XOR'", "'COUNT'", "'GROUP_CONCAT'", - "'MAX'", "'MIN'", "'STD'", "'STDDEV'", "'STDDEV_POP'", - "'STDDEV_SAMP'", "'SUM'", "'VAR_POP'", "'VAR_SAMP'", - "'VARIANCE'", "'FCOUNT'", "'CURRENT_DATE'", "'CURRENT_TIME'", - "'CURRENT_TIMESTAMP'", "'LOCALTIME'", "'CURDATE'", - "'CURTIME'", "'DATE_ADD'", "'DATE_SUB'", "'EXTRACT'", - "'LOCALTIMESTAMP'", "'NOW'", "'POSITION'", "'SUBSTR'", - "'SUBSTRING'", "'SYSDATE'", "'TRIM'", "'UTC_DATE'", - "'UTC_TIME'", "'UTC_TIMESTAMP'", "'ACCOUNT'", "'ACTION'", - "'AFTER'", "'AGGREGATE'", "'ALGORITHM'", "'ANY'", "'AT'", - "'AUTHORS'", "'AUTOCOMMIT'", "'AUTOEXTEND_SIZE'", "'AUTO_INCREMENT'", - "'AVG_ROW_LENGTH'", "'BEGIN'", "'BINLOG'", "'BIT'", - "'BLOCK'", "'BOOL'", "'BOOLEAN'", "'BTREE'", "'CACHE'", - "'CASCADED'", "'CHAIN'", "'CHANGED'", "'CHANNEL'", - "'CHECKSUM'", "'CIPHER'", "'CLIENT'", "'CLOSE'", "'COALESCE'", - "'CODE'", "'COLUMNS'", "'COLUMN_FORMAT'", "'COMMENT'", - "'COMMIT'", "'COMPACT'", "'COMPLETION'", "'COMPRESSED'", - "'COMPRESSION'", "'CONCURRENT'", "'CONNECTION'", "'CONSISTENT'", - "'CONTAINS'", "'CONTEXT'", "'CONTRIBUTORS'", "'COPY'", - "'CPU'", "'DATA'", "'DATAFILE'", "'DEALLOCATE'", "'DEFAULT_AUTH'", - "'DEFINER'", "'DELAY_KEY_WRITE'", "'DES_KEY_FILE'", - "'DIRECTORY'", "'DISABLE'", "'DISCARD'", "'DISK'", - "'DO'", "'DUMPFILE'", "'DUPLICATE'", "'DYNAMIC'", "'ENABLE'", - "'ENCRYPTION'", "'END'", "'ENDS'", "'ENGINE'", "'ENGINES'", - "'ERROR'", "'ERRORS'", "'ESCAPE'", "'EVEN'", "'EVENT'", - "'EVENTS'", "'EVERY'", "'EXCHANGE'", "'EXCLUSIVE'", - "'EXPIRE'", "'EXPORT'", "'EXTENDED'", "'EXTENT_SIZE'", - "'FAST'", "'FAULTS'", "'FIELDS'", "'FILE_BLOCK_SIZE'", - "'FILTER'", "'FIRST'", "'FIXED'", "'FLUSH'", "'FOLLOWS'", - "'FOUND'", "'FULL'", "'FUNCTION'", "'GENERAL'", "'GLOBAL'", - "'GRANTS'", "'GROUP_REPLICATION'", "'HANDLER'", "'HASH'", - "'HELP'", "'HOST'", "'HOSTS'", "'IDENTIFIED'", "'IGNORE_SERVER_IDS'", - "'IMPORT'", "'INDEXES'", "'INITIAL_SIZE'", "'INPLACE'", - "'INSERT_METHOD'", "'INSTALL'", "'INSTANCE'", "'INVOKER'", - "'IO'", "'IO_THREAD'", "'IPC'", "'ISOLATION'", "'ISSUER'", - "'JSON'", "'KEY_BLOCK_SIZE'", "'LANGUAGE'", "'LAST'", - "'LEAVES'", "'LESS'", "'LEVEL'", "'LIST'", "'LOCAL'", - "'LOGFILE'", "'LOGS'", "'MASTER'", "'MASTER_AUTO_POSITION'", - "'MASTER_CONNECT_RETRY'", "'MASTER_DELAY'", "'MASTER_HEARTBEAT_PERIOD'", - "'MASTER_HOST'", "'MASTER_LOG_FILE'", "'MASTER_LOG_POS'", - "'MASTER_PASSWORD'", "'MASTER_PORT'", "'MASTER_RETRY_COUNT'", - "'MASTER_SSL'", "'MASTER_SSL_CA'", "'MASTER_SSL_CAPATH'", - "'MASTER_SSL_CERT'", "'MASTER_SSL_CIPHER'", "'MASTER_SSL_CRL'", - "'MASTER_SSL_CRLPATH'", "'MASTER_SSL_KEY'", "'MASTER_TLS_VERSION'", - "'MASTER_USER'", "'MAX_CONNECTIONS_PER_HOUR'", "'MAX_QUERIES_PER_HOUR'", - "'MAX_ROWS'", "'MAX_SIZE'", "'MAX_UPDATES_PER_HOUR'", - "'MAX_USER_CONNECTIONS'", "'MEDIUM'", "'MERGE'", "'MID'", - "'MIGRATE'", "'MIN_ROWS'", "'MODE'", "'MODIFY'", "'MUTEX'", - "'MYSQL'", "'NAME'", "'NAMES'", "'NCHAR'", "'NEVER'", - "'NEXT'", "'NO'", "'NODEGROUP'", "'NONE'", "'OFFLINE'", - "'OFFSET'", "'OJ'", "'OLD_PASSWORD'", "'ONE'", "'ONLINE'", - "'ONLY'", "'OPEN'", "'OPTIMIZER_COSTS'", "'OPTIONS'", - "'OWNER'", "'PACK_KEYS'", "'PAGE'", "'PARSER'", "'PARTIAL'", - "'PARTITIONING'", "'PARTITIONS'", "'PASSWORD'", "'PHASE'", - "'PLUGIN'", "'PLUGIN_DIR'", "'PLUGINS'", "'PORT'", - "'PRECEDES'", "'PREPARE'", "'PRESERVE'", "'PREV'", - "'PROCESSLIST'", "'PROFILE'", "'PROFILES'", "'PROXY'", - "'QUERY'", "'QUICK'", "'REBUILD'", "'RECOVER'", "'REDO_BUFFER_SIZE'", - "'REDUNDANT'", "'RELAY'", "'RELAY_LOG_FILE'", "'RELAY_LOG_POS'", - "'RELAYLOG'", "'REMOVE'", "'REORGANIZE'", "'REPAIR'", - "'REPLICATE_DO_DB'", "'REPLICATE_DO_TABLE'", "'REPLICATE_IGNORE_DB'", - "'REPLICATE_IGNORE_TABLE'", "'REPLICATE_REWRITE_DB'", - "'REPLICATE_WILD_DO_TABLE'", "'REPLICATE_WILD_IGNORE_TABLE'", - "'REPLICATION'", "'RESET'", "'RESUME'", "'RETURNS'", - "'ROLLBACK'", "'ROLLUP'", "'ROTATE'", "'ROW'", "'ROWS'", - "'ROW_FORMAT'", "'SAVEPOINT'", "'SCHEDULE'", "'SECURITY'", - "'SERVER'", "'SESSION'", "'SHARE'", "'SHARED'", "'SIGNED'", - "'SIMPLE'", "'SLAVE'", "'SLOW'", "'SNAPSHOT'", "'SOCKET'", - "'SOME'", "'SONAME'", "'SOUNDS'", "'SOURCE'", "'SQL_AFTER_GTIDS'", - "'SQL_AFTER_MTS_GAPS'", "'SQL_BEFORE_GTIDS'", "'SQL_BUFFER_RESULT'", - "'SQL_CACHE'", "'SQL_NO_CACHE'", "'SQL_THREAD'", "'START'", - "'STARTS'", "'STATS_AUTO_RECALC'", "'STATS_PERSISTENT'", - "'STATS_SAMPLE_PAGES'", "'STATUS'", "'STOP'", "'STORAGE'", - "'STORED'", "'STRING'", "'SUBJECT'", "'SUBPARTITION'", - "'SUBPARTITIONS'", "'SUSPEND'", "'SWAPS'", "'SWITCHES'", - "'TABLESPACE'", "'TEMPORARY'", "'TEMPTABLE'", "'THAN'", - "'TRADITIONAL'", "'TRANSACTION'", "'TRIGGERS'", "'TRUNCATE'", - "'UNDEFINED'", "'UNDOFILE'", "'UNDO_BUFFER_SIZE'", - "'UNINSTALL'", "'UNKNOWN'", "'UNTIL'", "'UPGRADE'", - "'USER'", "'USE_FRM'", "'USER_RESOURCES'", "'VALIDATION'", - "'VALUE'", "'VARIABLES'", "'VIEW'", "'VIRTUAL'", "'WAIT'", - "'WARNINGS'", "'WITHOUT'", "'WORK'", "'WRAPPER'", "'X509'", - "'XA'", "'XML'", "'EUR'", "'USA'", "'JIS'", "'ISO'", - "'INTERNAL'", "'QUARTER'", "'MONTH'", "'DAY'", "'HOUR'", - "'MINUTE'", "'WEEK'", "'SECOND'", "'MICROSECOND'", - "'TABLES'", "'ROUTINE'", "'EXECUTE'", "'FILE'", "'PROCESS'", - "'RELOAD'", "'SHUTDOWN'", "'SUPER'", "'PRIVILEGES'", - "'ARMSCII8'", "'ASCII'", "'BIG5'", "'CP1250'", "'CP1251'", - "'CP1256'", "'CP1257'", "'CP850'", "'CP852'", "'CP866'", - "'CP932'", "'DEC8'", "'EUCJPMS'", "'EUCKR'", "'GB2312'", - "'GBK'", "'GEOSTD8'", "'GREEK'", "'HEBREW'", "'HP8'", - "'KEYBCS2'", "'KOI8R'", "'KOI8U'", "'LATIN1'", "'LATIN2'", - "'LATIN5'", "'LATIN7'", "'MACCE'", "'MACROMAN'", "'SJIS'", - "'SWE7'", "'TIS620'", "'UCS2'", "'UJIS'", "'UTF16'", - "'UTF16LE'", "'UTF32'", "'UTF8'", "'UTF8MB3'", "'UTF8MB4'", - "'ARCHIVE'", "'BLACKHOLE'", "'CSV'", "'FEDERATED'", - "'INNODB'", "'MEMORY'", "'MRG_MYISAM'", "'MYISAM'", - "'NDB'", "'NDBCLUSTER'", "'PERFOMANCE_SCHEMA'", "'REPEATABLE'", - "'COMMITTED'", "'UNCOMMITTED'", "'SERIALIZABLE'", "'GEOMETRYCOLLECTION'", - "'LINESTRING'", "'MULTILINESTRING'", "'MULTIPOINT'", - "'MULTIPOLYGON'", "'POINT'", "'POLYGON'", "'ABS'", - "'ACOS'", "'ADDDATE'", "'ADDTIME'", "'AES_DECRYPT'", - "'AES_ENCRYPT'", "'AREA'", "'ASBINARY'", "'ASIN'", - "'ASTEXT'", "'ASWKB'", "'ASWKT'", "'ASYMMETRIC_DECRYPT'", - "'ASYMMETRIC_DERIVE'", "'ASYMMETRIC_ENCRYPT'", "'ASYMMETRIC_SIGN'", - "'ASYMMETRIC_VERIFY'", "'ATAN'", "'ATAN2'", "'BENCHMARK'", - "'BIN'", "'BIT_COUNT'", "'BIT_LENGTH'", "'BUFFER'", - "'CEIL'", "'CEILING'", "'CENTROID'", "'CHARACTER_LENGTH'", - "'CHARSET'", "'CHAR_LENGTH'", "'COERCIBILITY'", "'COLLATION'", - "'COMPRESS'", "'CONCAT'", "'CONCAT_WS'", "'CONNECTION_ID'", - "'CONV'", "'CONVERT_TZ'", "'COS'", "'COT'", "'CRC32'", - "'CREATE_ASYMMETRIC_PRIV_KEY'", "'CREATE_ASYMMETRIC_PUB_KEY'", - "'CREATE_DH_PARAMETERS'", "'CREATE_DIGEST'", "'CROSSES'", - "'DATEDIFF'", "'DATE_FORMAT'", "'DAYNAME'", "'DAYOFMONTH'", - "'DAYOFWEEK'", "'DAYOFYEAR'", "'DECODE'", "'DEGREES'", - "'DES_DECRYPT'", "'DES_ENCRYPT'", "'DIMENSION'", "'DISJOINT'", - "'ELT'", "'ENCODE'", "'ENCRYPT'", "'ENDPOINT'", "'ENVELOPE'", - "'EQUALS'", "'EXP'", "'EXPORT_SET'", "'EXTERIORRING'", - "'EXTRACTVALUE'", "'FIELD'", "'FIND_IN_SET'", "'FLOOR'", - "'FORMAT'", "'FOUND_ROWS'", "'FROM_BASE64'", "'FROM_DAYS'", - "'FROM_UNIXTIME'", "'GEOMCOLLFROMTEXT'", "'GEOMCOLLFROMWKB'", - "'GEOMETRYCOLLECTIONFROMTEXT'", "'GEOMETRYCOLLECTIONFROMWKB'", - "'GEOMETRYFROMTEXT'", "'GEOMETRYFROMWKB'", "'GEOMETRYN'", - "'GEOMETRYTYPE'", "'GEOMFROMTEXT'", "'GEOMFROMWKB'", - "'GET_FORMAT'", "'GET_LOCK'", "'GLENGTH'", "'GREATEST'", - "'GTID_SUBSET'", "'GTID_SUBTRACT'", "'HEX'", "'IFNULL'", - "'INET6_ATON'", "'INET6_NTOA'", "'INET_ATON'", "'INET_NTOA'", - "'INSTR'", "'INTERIORRINGN'", "'INTERSECTS'", "'ISCLOSED'", - "'ISEMPTY'", "'ISNULL'", "'ISSIMPLE'", "'IS_FREE_LOCK'", - "'IS_IPV4'", "'IS_IPV4_COMPAT'", "'IS_IPV4_MAPPED'", - "'IS_IPV6'", "'IS_USED_LOCK'", "'LAST_INSERT_ID'", - "'LCASE'", "'LEAST'", "'LENGTH'", "'LINEFROMTEXT'", - "'LINEFROMWKB'", "'LINESTRINGFROMTEXT'", "'LINESTRINGFROMWKB'", - "'LN'", "'LOAD_FILE'", "'LOCATE'", "'LOG'", "'LOG10'", - "'LOG2'", "'LOWER'", "'LPAD'", "'LTRIM'", "'MAKEDATE'", - "'MAKETIME'", "'MAKE_SET'", "'MASTER_POS_WAIT'", "'MBRCONTAINS'", - "'MBRDISJOINT'", "'MBREQUAL'", "'MBRINTERSECTS'", "'MBROVERLAPS'", - "'MBRTOUCHES'", "'MBRWITHIN'", "'MD5'", "'MLINEFROMTEXT'", - "'MLINEFROMWKB'", "'MONTHNAME'", "'MPOINTFROMTEXT'", - "'MPOINTFROMWKB'", "'MPOLYFROMTEXT'", "'MPOLYFROMWKB'", - "'MULTILINESTRINGFROMTEXT'", "'MULTILINESTRINGFROMWKB'", - "'MULTIPOINTFROMTEXT'", "'MULTIPOINTFROMWKB'", "'MULTIPOLYGONFROMTEXT'", - "'MULTIPOLYGONFROMWKB'", "'NAME_CONST'", "'NULLIF'", - "'NUMGEOMETRIES'", "'NUMINTERIORRINGS'", "'NUMPOINTS'", - "'OCT'", "'OCTET_LENGTH'", "'ORD'", "'OVERLAPS'", "'PERIOD_ADD'", - "'PERIOD_DIFF'", "'PI'", "'POINTFROMTEXT'", "'POINTFROMWKB'", - "'POINTN'", "'POLYFROMTEXT'", "'POLYFROMWKB'", "'POLYGONFROMTEXT'", - "'POLYGONFROMWKB'", "'POW'", "'POWER'", "'QUOTE'", - "'RADIANS'", "'RAND'", "'RANDOM_BYTES'", "'RELEASE_LOCK'", - "'REVERSE'", "'ROUND'", "'ROW_COUNT'", "'RPAD'", "'RTRIM'", - "'SEC_TO_TIME'", "'SESSION_USER'", "'SHA'", "'SHA1'", - "'SHA2'", "'SIGN'", "'SIN'", "'SLEEP'", "'SOUNDEX'", - "'SQL_THREAD_WAIT_AFTER_GTIDS'", "'SQRT'", "'SRID'", - "'STARTPOINT'", "'STRCMP'", "'STR_TO_DATE'", "'ST_AREA'", - "'ST_ASBINARY'", "'ST_ASTEXT'", "'ST_ASWKB'", "'ST_ASWKT'", - "'ST_BUFFER'", "'ST_CENTROID'", "'ST_CONTAINS'", "'ST_CROSSES'", - "'ST_DIFFERENCE'", "'ST_DIMENSION'", "'ST_DISJOINT'", - "'ST_DISTANCE'", "'ST_ENDPOINT'", "'ST_ENVELOPE'", - "'ST_EQUALS'", "'ST_EXTERIORRING'", "'ST_GEOMCOLLFROMTEXT'", - "'ST_GEOMCOLLFROMTXT'", "'ST_GEOMCOLLFROMWKB'", "'ST_GEOMETRYCOLLECTIONFROMTEXT'", - "'ST_GEOMETRYCOLLECTIONFROMWKB'", "'ST_GEOMETRYFROMTEXT'", - "'ST_GEOMETRYFROMWKB'", "'ST_GEOMETRYN'", "'ST_GEOMETRYTYPE'", - "'ST_GEOMFROMTEXT'", "'ST_GEOMFROMWKB'", "'ST_INTERIORRINGN'", - "'ST_INTERSECTION'", "'ST_INTERSECTS'", "'ST_ISCLOSED'", - "'ST_ISEMPTY'", "'ST_ISSIMPLE'", "'ST_LINEFROMTEXT'", - "'ST_LINEFROMWKB'", "'ST_LINESTRINGFROMTEXT'", "'ST_LINESTRINGFROMWKB'", - "'ST_NUMGEOMETRIES'", "'ST_NUMINTERIORRING'", "'ST_NUMINTERIORRINGS'", - "'ST_NUMPOINTS'", "'ST_OVERLAPS'", "'ST_POINTFROMTEXT'", - "'ST_POINTFROMWKB'", "'ST_POINTN'", "'ST_POLYFROMTEXT'", - "'ST_POLYFROMWKB'", "'ST_POLYGONFROMTEXT'", "'ST_POLYGONFROMWKB'", - "'ST_SRID'", "'ST_STARTPOINT'", "'ST_SYMDIFFERENCE'", - "'ST_TOUCHES'", "'ST_UNION'", "'ST_WITHIN'", "'ST_X'", - "'ST_Y'", "'SUBDATE'", "'SUBSTRING_INDEX'", "'SUBTIME'", - "'SYSTEM_USER'", "'TAN'", "'TIMEDIFF'", "'TIMESTAMPADD'", - "'TIMESTAMPDIFF'", "'TIME_FORMAT'", "'TIME_TO_SEC'", - "'TOUCHES'", "'TO_BASE64'", "'TO_DAYS'", "'TO_SECONDS'", - "'UCASE'", "'UNCOMPRESS'", "'UNCOMPRESSED_LENGTH'", - "'UNHEX'", "'UNIX_TIMESTAMP'", "'UPDATEXML'", "'UPPER'", - "'UUID'", "'UUID_SHORT'", "'VALIDATE_PASSWORD_STRENGTH'", - "'VERSION'", "'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS'", - "'WEEKDAY'", "'WEEKOFYEAR'", "'WEIGHT_STRING'", "'WITHIN'", - "'YEARWEEK'", "'Y'", "'X'", "':='", "'+='", "'-='", - "'*='", "'/='", "'%='", "'&='", "'^='", "'|='", "'*'", - "'/'", "'%'", "'+'", "'--'", "'-'", "'DIV'", "'MOD'", - "'='", "'>'", "'<'", "'!'", "'~'", "'|'", "'&'", "'^'", - "'.'", "'('", "')'", "','", "';'", "'@'", "'0'", "'1'", - "'2'", "'''", "'\"'", "'`'", "':'" ] - - symbolicNames = [ "", "SPACE", "SPEC_MYSQL_COMMENT", "COMMENT_INPUT", - "LINE_COMMENT", "ERRORBOUND", "CONFLEVEL", "ADD", - "ALL", "ALTER", "ALWAYS", "ANALYZE", "AND", "AS", - "ASC", "BEFORE", "BETWEEN", "BOTH", "BY", "CALL", - "CASCADE", "CASE", "CAST", "CHANGE", "CHARACTER", - "CHECK", "COLLATE", "COLUMN", "CONDITION", "CONSTRAINT", - "CONTINUE", "CONVERT", "CREATE", "CROSS", "CURRENT_USER", - "CURSOR", "DATABASE", "DATABASES", "DECLARE", "DEFAULT", - "DELAYED", "DELETE", "DESC", "DESCRIBE", "DETERMINISTIC", - "DISTINCT", "DISTINCTROW", "DROP", "EACH", "ELSE", - "ELSEIF", "ENCLOSED", "ESCAPED", "EXISTS", "EXIT", - "EXPLAIN", "FALSE", "FETCH", "FOR", "FORCE", "FOREIGN", - "FROM", "FULLTEXT", "GENERATED", "GRANT", "GROUP", - "HAVING", "HIGH_PRIORITY", "IF", "IGNORE", "IN", "INDEX", - "INFILE", "INNER", "INOUT", "INSERT", "INTERVAL", - "INTO", "IS", "ITERATE", "JOIN", "KEY", "KEYS", "KILL", - "LEADING", "LEAVE", "LEFT", "LIKE", "LIMIT", "LINEAR", - "LINES", "LOAD", "LOCK", "LOOP", "LOW_PRIORITY", "MASTER_BIND", - "MASTER_SSL_VERIFY_SERVER_CERT", "MATCH", "MAXVALUE", - "MODIFIES", "NATURAL", "NOT", "NO_WRITE_TO_BINLOG", - "NULL_LITERAL", "ON", "OPTIMIZE", "OPTION", "OPTIONALLY", - "OR", "ORDER", "OUT", "OUTER", "OUTFILE", "PARTITION", - "PRIMARY", "PROCEDURE", "PURGE", "RANGE", "READ", - "READS", "REFERENCES", "REGEXP", "RELEASE", "RENAME", - "REPEAT", "REPLACE", "REQUIRE", "RESTRICT", "RETURN", - "REVOKE", "RIGHT", "RLIKE", "SCHEMA", "SCHEMAS", "SELECT", - "SET", "SEPARATOR", "SHOW", "SPATIAL", "SQL", "SQLEXCEPTION", - "SQLSTATE", "SQLWARNING", "SQL_BIG_RESULT", "SQL_CALC_FOUND_ROWS", - "SQL_SMALL_RESULT", "SSL", "STARTING", "STRAIGHT_JOIN", - "TABLE", "TERMINATED", "THEN", "TO", "TRAILING", "TRIGGER", - "TRUE", "UNDO", "UNION", "UNIQUE", "UNLOCK", "UNSIGNED", - "UPDATE", "USAGE", "USE", "USING", "VALUES", "WHEN", - "WHERE", "WHILE", "WITH", "WRITE", "XOR", "ZEROFILL", - "TINYINT", "SMALLINT", "MEDIUMINT", "INT", "INTEGER", - "BIGINT", "REAL", "DOUBLE", "FLOAT", "DECIMAL", "NUMERIC", - "DATE", "TIME", "TIMESTAMP", "DATETIME", "YEAR", "CHAR", - "VARCHAR", "BINARY", "VARBINARY", "TINYBLOB", "BLOB", - "MEDIUMBLOB", "LONGBLOB", "TINYTEXT", "TEXT", "MEDIUMTEXT", - "LONGTEXT", "ENUM", "SERIAL", "YEAR_MONTH", "DAY_HOUR", - "DAY_MINUTE", "DAY_SECOND", "HOUR_MINUTE", "HOUR_SECOND", - "MINUTE_SECOND", "SECOND_MICROSECOND", "MINUTE_MICROSECOND", - "HOUR_MICROSECOND", "DAY_MICROSECOND", "AVG", "BIT_AND", - "BIT_OR", "BIT_XOR", "COUNT", "GROUP_CONCAT", "MAX", - "MIN", "STD", "STDDEV", "STDDEV_POP", "STDDEV_SAMP", - "SUM", "VAR_POP", "VAR_SAMP", "VARIANCE", "FCOUNT", - "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", - "LOCALTIME", "CURDATE", "CURTIME", "DATE_ADD", "DATE_SUB", - "EXTRACT", "LOCALTIMESTAMP", "NOW", "POSITION", "SUBSTR", - "SUBSTRING", "SYSDATE", "TRIM", "UTC_DATE", "UTC_TIME", - "UTC_TIMESTAMP", "ACCOUNT", "ACTION", "AFTER", "AGGREGATE", - "ALGORITHM", "ANY", "AT", "AUTHORS", "AUTOCOMMIT", - "AUTOEXTEND_SIZE", "AUTO_INCREMENT", "AVG_ROW_LENGTH", - "BEGIN", "BINLOG", "BIT", "BLOCK", "BOOL", "BOOLEAN", - "BTREE", "CACHE", "CASCADED", "CHAIN", "CHANGED", - "CHANNEL", "CHECKSUM", "CIPHER", "CLIENT", "CLOSE", - "COALESCE", "CODE", "COLUMNS", "COLUMN_FORMAT", "COMMENT", - "COMMIT", "COMPACT", "COMPLETION", "COMPRESSED", "COMPRESSION", - "CONCURRENT", "CONNECTION", "CONSISTENT", "CONTAINS", - "CONTEXT", "CONTRIBUTORS", "COPY", "CPU", "DATA", - "DATAFILE", "DEALLOCATE", "DEFAULT_AUTH", "DEFINER", - "DELAY_KEY_WRITE", "DES_KEY_FILE", "DIRECTORY", "DISABLE", - "DISCARD", "DISK", "DO", "DUMPFILE", "DUPLICATE", - "DYNAMIC", "ENABLE", "ENCRYPTION", "END", "ENDS", - "ENGINE", "ENGINES", "ERROR", "ERRORS", "ESCAPE", - "EVEN", "EVENT", "EVENTS", "EVERY", "EXCHANGE", "EXCLUSIVE", - "EXPIRE", "EXPORT", "EXTENDED", "EXTENT_SIZE", "FAST", - "FAULTS", "FIELDS", "FILE_BLOCK_SIZE", "FILTER", "FIRST", - "FIXED", "FLUSH", "FOLLOWS", "FOUND", "FULL", "FUNCTION", - "GENERAL", "GLOBAL", "GRANTS", "GROUP_REPLICATION", - "HANDLER", "HASH", "HELP", "HOST", "HOSTS", "IDENTIFIED", - "IGNORE_SERVER_IDS", "IMPORT", "INDEXES", "INITIAL_SIZE", - "INPLACE", "INSERT_METHOD", "INSTALL", "INSTANCE", - "INVOKER", "IO", "IO_THREAD", "IPC", "ISOLATION", - "ISSUER", "JSON", "KEY_BLOCK_SIZE", "LANGUAGE", "LAST", - "LEAVES", "LESS", "LEVEL", "LIST", "LOCAL", "LOGFILE", - "LOGS", "MASTER", "MASTER_AUTO_POSITION", "MASTER_CONNECT_RETRY", - "MASTER_DELAY", "MASTER_HEARTBEAT_PERIOD", "MASTER_HOST", - "MASTER_LOG_FILE", "MASTER_LOG_POS", "MASTER_PASSWORD", - "MASTER_PORT", "MASTER_RETRY_COUNT", "MASTER_SSL", - "MASTER_SSL_CA", "MASTER_SSL_CAPATH", "MASTER_SSL_CERT", - "MASTER_SSL_CIPHER", "MASTER_SSL_CRL", "MASTER_SSL_CRLPATH", - "MASTER_SSL_KEY", "MASTER_TLS_VERSION", "MASTER_USER", - "MAX_CONNECTIONS_PER_HOUR", "MAX_QUERIES_PER_HOUR", - "MAX_ROWS", "MAX_SIZE", "MAX_UPDATES_PER_HOUR", "MAX_USER_CONNECTIONS", - "MEDIUM", "MERGE", "MID", "MIGRATE", "MIN_ROWS", "MODE", - "MODIFY", "MUTEX", "MYSQL", "NAME", "NAMES", "NCHAR", - "NEVER", "NEXT", "NO", "NODEGROUP", "NONE", "OFFLINE", - "OFFSET", "OJ", "OLD_PASSWORD", "ONE", "ONLINE", "ONLY", - "OPEN", "OPTIMIZER_COSTS", "OPTIONS", "OWNER", "PACK_KEYS", - "PAGE", "PARSER", "PARTIAL", "PARTITIONING", "PARTITIONS", - "PASSWORD", "PHASE", "PLUGIN", "PLUGIN_DIR", "PLUGINS", - "PORT", "PRECEDES", "PREPARE", "PRESERVE", "PREV", - "PROCESSLIST", "PROFILE", "PROFILES", "PROXY", "QUERY", - "QUICK", "REBUILD", "RECOVER", "REDO_BUFFER_SIZE", - "REDUNDANT", "RELAY", "RELAY_LOG_FILE", "RELAY_LOG_POS", - "RELAYLOG", "REMOVE", "REORGANIZE", "REPAIR", "REPLICATE_DO_DB", - "REPLICATE_DO_TABLE", "REPLICATE_IGNORE_DB", "REPLICATE_IGNORE_TABLE", - "REPLICATE_REWRITE_DB", "REPLICATE_WILD_DO_TABLE", - "REPLICATE_WILD_IGNORE_TABLE", "REPLICATION", "RESET", - "RESUME", "RETURNS", "ROLLBACK", "ROLLUP", "ROTATE", - "ROW", "ROWS", "ROW_FORMAT", "SAVEPOINT", "SCHEDULE", - "SECURITY", "SERVER", "SESSION", "SHARE", "SHARED", - "SIGNED", "SIMPLE", "SLAVE", "SLOW", "SNAPSHOT", "SOCKET", - "SOME", "SONAME", "SOUNDS", "SOURCE", "SQL_AFTER_GTIDS", - "SQL_AFTER_MTS_GAPS", "SQL_BEFORE_GTIDS", "SQL_BUFFER_RESULT", - "SQL_CACHE", "SQL_NO_CACHE", "SQL_THREAD", "START", - "STARTS", "STATS_AUTO_RECALC", "STATS_PERSISTENT", - "STATS_SAMPLE_PAGES", "STATUS", "STOP", "STORAGE", - "STORED", "STRING", "SUBJECT", "SUBPARTITION", "SUBPARTITIONS", - "SUSPEND", "SWAPS", "SWITCHES", "TABLESPACE", "TEMPORARY", - "TEMPTABLE", "THAN", "TRADITIONAL", "TRANSACTION", - "TRIGGERS", "TRUNCATE", "UNDEFINED", "UNDOFILE", "UNDO_BUFFER_SIZE", - "UNINSTALL", "UNKNOWN", "UNTIL", "UPGRADE", "USER", - "USE_FRM", "USER_RESOURCES", "VALIDATION", "VALUE", - "VARIABLES", "VIEW", "VIRTUAL", "WAIT", "WARNINGS", - "WITHOUT", "WORK", "WRAPPER", "X509", "XA", "XML", - "EUR", "USA", "JIS", "ISO", "INTERNAL", "QUARTER", - "MONTH", "DAY", "HOUR", "MINUTE", "WEEK", "SECOND", - "MICROSECOND", "TABLES", "ROUTINE", "EXECUTE", "FILE", - "PROCESS", "RELOAD", "SHUTDOWN", "SUPER", "PRIVILEGES", - "ARMSCII8", "ASCII", "BIG5", "CP1250", "CP1251", "CP1256", - "CP1257", "CP850", "CP852", "CP866", "CP932", "DEC8", - "EUCJPMS", "EUCKR", "GB2312", "GBK", "GEOSTD8", "GREEK", - "HEBREW", "HP8", "KEYBCS2", "KOI8R", "KOI8U", "LATIN1", - "LATIN2", "LATIN5", "LATIN7", "MACCE", "MACROMAN", - "SJIS", "SWE7", "TIS620", "UCS2", "UJIS", "UTF16", - "UTF16LE", "UTF32", "UTF8", "UTF8MB3", "UTF8MB4", - "ARCHIVE", "BLACKHOLE", "CSV", "FEDERATED", "INNODB", - "MEMORY", "MRG_MYISAM", "MYISAM", "NDB", "NDBCLUSTER", - "PERFOMANCE_SCHEMA", "REPEATABLE", "COMMITTED", "UNCOMMITTED", - "SERIALIZABLE", "GEOMETRYCOLLECTION", "LINESTRING", - "MULTILINESTRING", "MULTIPOINT", "MULTIPOLYGON", "POINT", - "POLYGON", "ABS", "ACOS", "ADDDATE", "ADDTIME", "AES_DECRYPT", - "AES_ENCRYPT", "AREA", "ASBINARY", "ASIN", "ASTEXT", - "ASWKB", "ASWKT", "ASYMMETRIC_DECRYPT", "ASYMMETRIC_DERIVE", - "ASYMMETRIC_ENCRYPT", "ASYMMETRIC_SIGN", "ASYMMETRIC_VERIFY", - "ATAN", "ATAN2", "BENCHMARK", "BIN", "BIT_COUNT", - "BIT_LENGTH", "BUFFER", "CEIL", "CEILING", "CENTROID", - "CHARACTER_LENGTH", "CHARSET", "CHAR_LENGTH", "COERCIBILITY", - "COLLATION", "COMPRESS", "CONCAT", "CONCAT_WS", "CONNECTION_ID", - "CONV", "CONVERT_TZ", "COS", "COT", "CRC32", "CREATE_ASYMMETRIC_PRIV_KEY", - "CREATE_ASYMMETRIC_PUB_KEY", "CREATE_DH_PARAMETERS", - "CREATE_DIGEST", "CROSSES", "DATEDIFF", "DATE_FORMAT", - "DAYNAME", "DAYOFMONTH", "DAYOFWEEK", "DAYOFYEAR", - "DECODE", "DEGREES", "DES_DECRYPT", "DES_ENCRYPT", - "DIMENSION", "DISJOINT", "ELT", "ENCODE", "ENCRYPT", - "ENDPOINT", "ENVELOPE", "EQUALS", "EXP", "EXPORT_SET", - "EXTERIORRING", "EXTRACTVALUE", "FIELD", "FIND_IN_SET", - "FLOOR", "FORMAT", "FOUND_ROWS", "FROM_BASE64", "FROM_DAYS", - "FROM_UNIXTIME", "GEOMCOLLFROMTEXT", "GEOMCOLLFROMWKB", - "GEOMETRYCOLLECTIONFROMTEXT", "GEOMETRYCOLLECTIONFROMWKB", - "GEOMETRYFROMTEXT", "GEOMETRYFROMWKB", "GEOMETRYN", - "GEOMETRYTYPE", "GEOMFROMTEXT", "GEOMFROMWKB", "GET_FORMAT", - "GET_LOCK", "GLENGTH", "GREATEST", "GTID_SUBSET", - "GTID_SUBTRACT", "HEX", "IFNULL", "INET6_ATON", "INET6_NTOA", - "INET_ATON", "INET_NTOA", "INSTR", "INTERIORRINGN", - "INTERSECTS", "ISCLOSED", "ISEMPTY", "ISNULL", "ISSIMPLE", - "IS_FREE_LOCK", "IS_IPV4", "IS_IPV4_COMPAT", "IS_IPV4_MAPPED", - "IS_IPV6", "IS_USED_LOCK", "LAST_INSERT_ID", "LCASE", - "LEAST", "LENGTH", "LINEFROMTEXT", "LINEFROMWKB", - "LINESTRINGFROMTEXT", "LINESTRINGFROMWKB", "LN", "LOAD_FILE", - "LOCATE", "LOG", "LOG10", "LOG2", "LOWER", "LPAD", - "LTRIM", "MAKEDATE", "MAKETIME", "MAKE_SET", "MASTER_POS_WAIT", - "MBRCONTAINS", "MBRDISJOINT", "MBREQUAL", "MBRINTERSECTS", - "MBROVERLAPS", "MBRTOUCHES", "MBRWITHIN", "MD5", "MLINEFROMTEXT", - "MLINEFROMWKB", "MONTHNAME", "MPOINTFROMTEXT", "MPOINTFROMWKB", - "MPOLYFROMTEXT", "MPOLYFROMWKB", "MULTILINESTRINGFROMTEXT", - "MULTILINESTRINGFROMWKB", "MULTIPOINTFROMTEXT", "MULTIPOINTFROMWKB", - "MULTIPOLYGONFROMTEXT", "MULTIPOLYGONFROMWKB", "NAME_CONST", - "NULLIF", "NUMGEOMETRIES", "NUMINTERIORRINGS", "NUMPOINTS", - "OCT", "OCTET_LENGTH", "ORD", "OVERLAPS", "PERIOD_ADD", - "PERIOD_DIFF", "PI", "POINTFROMTEXT", "POINTFROMWKB", - "POINTN", "POLYFROMTEXT", "POLYFROMWKB", "POLYGONFROMTEXT", - "POLYGONFROMWKB", "POW", "POWER", "QUOTE", "RADIANS", - "RAND", "RANDOM_BYTES", "RELEASE_LOCK", "REVERSE", - "ROUND", "ROW_COUNT", "RPAD", "RTRIM", "SEC_TO_TIME", - "SESSION_USER", "SHA", "SHA1", "SHA2", "SIGN", "SIN", - "SLEEP", "SOUNDEX", "SQL_THREAD_WAIT_AFTER_GTIDS", - "SQRT", "SRID", "STARTPOINT", "STRCMP", "STR_TO_DATE", - "ST_AREA", "ST_ASBINARY", "ST_ASTEXT", "ST_ASWKB", - "ST_ASWKT", "ST_BUFFER", "ST_CENTROID", "ST_CONTAINS", - "ST_CROSSES", "ST_DIFFERENCE", "ST_DIMENSION", "ST_DISJOINT", - "ST_DISTANCE", "ST_ENDPOINT", "ST_ENVELOPE", "ST_EQUALS", - "ST_EXTERIORRING", "ST_GEOMCOLLFROMTEXT", "ST_GEOMCOLLFROMTXT", - "ST_GEOMCOLLFROMWKB", "ST_GEOMETRYCOLLECTIONFROMTEXT", - "ST_GEOMETRYCOLLECTIONFROMWKB", "ST_GEOMETRYFROMTEXT", - "ST_GEOMETRYFROMWKB", "ST_GEOMETRYN", "ST_GEOMETRYTYPE", - "ST_GEOMFROMTEXT", "ST_GEOMFROMWKB", "ST_INTERIORRINGN", - "ST_INTERSECTION", "ST_INTERSECTS", "ST_ISCLOSED", - "ST_ISEMPTY", "ST_ISSIMPLE", "ST_LINEFROMTEXT", "ST_LINEFROMWKB", - "ST_LINESTRINGFROMTEXT", "ST_LINESTRINGFROMWKB", "ST_NUMGEOMETRIES", - "ST_NUMINTERIORRING", "ST_NUMINTERIORRINGS", "ST_NUMPOINTS", - "ST_OVERLAPS", "ST_POINTFROMTEXT", "ST_POINTFROMWKB", - "ST_POINTN", "ST_POLYFROMTEXT", "ST_POLYFROMWKB", - "ST_POLYGONFROMTEXT", "ST_POLYGONFROMWKB", "ST_SRID", - "ST_STARTPOINT", "ST_SYMDIFFERENCE", "ST_TOUCHES", - "ST_UNION", "ST_WITHIN", "ST_X", "ST_Y", "SUBDATE", - "SUBSTRING_INDEX", "SUBTIME", "SYSTEM_USER", "TAN", - "TIMEDIFF", "TIMESTAMPADD", "TIMESTAMPDIFF", "TIME_FORMAT", - "TIME_TO_SEC", "TOUCHES", "TO_BASE64", "TO_DAYS", - "TO_SECONDS", "UCASE", "UNCOMPRESS", "UNCOMPRESSED_LENGTH", - "UNHEX", "UNIX_TIMESTAMP", "UPDATEXML", "UPPER", "UUID", - "UUID_SHORT", "VALIDATE_PASSWORD_STRENGTH", "VERSION", - "WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS", "WEEKDAY", "WEEKOFYEAR", - "WEIGHT_STRING", "WITHIN", "YEARWEEK", "Y_FUNCTION", - "X_FUNCTION", "VAR_ASSIGN", "PLUS_ASSIGN", "MINUS_ASSIGN", - "MULT_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "AND_ASSIGN", - "XOR_ASSIGN", "OR_ASSIGN", "STAR", "DIVIDE", "MODULE", - "PLUS", "MINUSMINUS", "MINUS", "DIV", "MOD", "EQUAL_SYMBOL", - "GREATER_SYMBOL", "LESS_SYMBOL", "EXCLAMATION_SYMBOL", - "BIT_NOT_OP", "BIT_OR_OP", "BIT_AND_OP", "BIT_XOR_OP", - "DOT", "LR_BRACKET", "RR_BRACKET", "COMMA", "SEMI", - "AT_SIGN", "ZERO_DECIMAL", "ONE_DECIMAL", "TWO_DECIMAL", - "SINGLE_QUOTE_SYMB", "DOUBLE_QUOTE_SYMB", "REVERSE_QUOTE_SYMB", - "COLON_SYMB", "CHARSET_REVERSE_QOUTE_STRING", "FILESIZE_LITERAL", - "START_NATIONAL_STRING_LITERAL", "STRING_LITERAL", - "DECIMAL_LITERAL", "HEXADECIMAL_LITERAL", "REAL_LITERAL", - "NULL_SPEC_LITERAL", "BIT_STRING", "STRING_CHARSET_NAME", - "DOT_ID", "ID", "REVERSE_QUOTE_ID", "STRING_USER_NAME", - "LOCAL_ID", "GLOBAL_ID", "ERROR_RECONGNIGION" ] - - RULE_root = 0 - RULE_sqlStatements = 1 - RULE_sqlStatement = 2 - RULE_emptyStatement = 3 - RULE_ddlStatement = 4 - RULE_dmlStatement = 5 - RULE_transactionStatement = 6 - RULE_replicationStatement = 7 - RULE_preparedStatement = 8 - RULE_compoundStatement = 9 - RULE_administrationStatement = 10 - RULE_utilityStatement = 11 - RULE_createDatabase = 12 - RULE_createEvent = 13 - RULE_createIndex = 14 - RULE_createLogfileGroup = 15 - RULE_createProcedure = 16 - RULE_createFunction = 17 - RULE_createServer = 18 - RULE_createTable = 19 - RULE_createTablespaceInnodb = 20 - RULE_createTablespaceNdb = 21 - RULE_createTrigger = 22 - RULE_createView = 23 - RULE_createDatabaseOption = 24 - RULE_ownerStatement = 25 - RULE_scheduleExpression = 26 - RULE_timestampValue = 27 - RULE_intervalExpr = 28 - RULE_intervalType = 29 - RULE_enableType = 30 - RULE_indexType = 31 - RULE_indexOption = 32 - RULE_procedureParameter = 33 - RULE_functionParameter = 34 - RULE_routineOption = 35 - RULE_serverOption = 36 - RULE_createDefinitions = 37 - RULE_createDefinition = 38 - RULE_columnDefinition = 39 - RULE_columnConstraint = 40 - RULE_tableConstraint = 41 - RULE_referenceDefinition = 42 - RULE_referenceAction = 43 - RULE_referenceControlType = 44 - RULE_indexColumnDefinition = 45 - RULE_tableOption = 46 - RULE_tablespaceStorage = 47 - RULE_partitionDefinitions = 48 - RULE_partitionFunctionDefinition = 49 - RULE_subpartitionFunctionDefinition = 50 - RULE_partitionDefinition = 51 - RULE_partitionDefinerAtom = 52 - RULE_partitionDefinerVector = 53 - RULE_subpartitionDefinition = 54 - RULE_partitionOption = 55 - RULE_alterDatabase = 56 - RULE_alterEvent = 57 - RULE_alterFunction = 58 - RULE_alterInstance = 59 - RULE_alterLogfileGroup = 60 - RULE_alterProcedure = 61 - RULE_alterServer = 62 - RULE_alterTable = 63 - RULE_alterTablespace = 64 - RULE_alterView = 65 - RULE_alterSpecification = 66 - RULE_dropDatabase = 67 - RULE_dropEvent = 68 - RULE_dropIndex = 69 - RULE_dropLogfileGroup = 70 - RULE_dropProcedure = 71 - RULE_dropFunction = 72 - RULE_dropServer = 73 - RULE_dropTable = 74 - RULE_dropTablespace = 75 - RULE_dropTrigger = 76 - RULE_dropView = 77 - RULE_renameTable = 78 - RULE_renameTableClause = 79 - RULE_truncateTable = 80 - RULE_callStatement = 81 - RULE_deleteStatement = 82 - RULE_doStatement = 83 - RULE_handlerStatement = 84 - RULE_insertStatement = 85 - RULE_loadDataStatement = 86 - RULE_loadXmlStatement = 87 - RULE_replaceStatement = 88 - RULE_selectStatement = 89 - RULE_updateStatement = 90 - RULE_insertStatementValue = 91 - RULE_updatedElement = 92 - RULE_assignmentField = 93 - RULE_lockClause = 94 - RULE_singleDeleteStatement = 95 - RULE_multipleDeleteStatement = 96 - RULE_handlerOpenStatement = 97 - RULE_handlerReadIndexStatement = 98 - RULE_handlerReadStatement = 99 - RULE_handlerCloseStatement = 100 - RULE_singleUpdateStatement = 101 - RULE_multipleUpdateStatement = 102 - RULE_orderByClause = 103 - RULE_orderByExpression = 104 - RULE_tableSources = 105 - RULE_tableSource = 106 - RULE_tableSourceItem = 107 - RULE_indexHint = 108 - RULE_indexHintType = 109 - RULE_joinPart = 110 - RULE_queryExpression = 111 - RULE_queryExpressionNointo = 112 - RULE_querySpecification = 113 - RULE_querySpecificationNointo = 114 - RULE_unionParenthesis = 115 - RULE_unionStatement = 116 - RULE_selectSpec = 117 - RULE_selectElements = 118 - RULE_selectElement = 119 - RULE_errorTolerenceExpression = 120 - RULE_confLevelExpression = 121 - RULE_selectIntoExpression = 122 - RULE_selectFieldsInto = 123 - RULE_selectLinesInto = 124 - RULE_fromClause = 125 - RULE_groupByItem = 126 - RULE_limitClause = 127 - RULE_startTransaction = 128 - RULE_beginWork = 129 - RULE_commitWork = 130 - RULE_rollbackWork = 131 - RULE_savepointStatement = 132 - RULE_rollbackStatement = 133 - RULE_releaseStatement = 134 - RULE_lockTables = 135 - RULE_unlockTables = 136 - RULE_setAutocommitStatement = 137 - RULE_setTransactionStatement = 138 - RULE_transactionMode = 139 - RULE_lockTableElement = 140 - RULE_lockAction = 141 - RULE_transactionOption = 142 - RULE_transactionLevel = 143 - RULE_changeMaster = 144 - RULE_changeReplicationFilter = 145 - RULE_purgeBinaryLogs = 146 - RULE_resetMaster = 147 - RULE_resetSlave = 148 - RULE_startSlave = 149 - RULE_stopSlave = 150 - RULE_startGroupReplication = 151 - RULE_stopGroupReplication = 152 - RULE_masterOption = 153 - RULE_stringMasterOption = 154 - RULE_decimalMasterOption = 155 - RULE_boolMasterOption = 156 - RULE_channelOption = 157 - RULE_replicationFilter = 158 - RULE_tablePair = 159 - RULE_threadType = 160 - RULE_untilOption = 161 - RULE_connectionOption = 162 - RULE_gtuidSet = 163 - RULE_xaStartTransaction = 164 - RULE_xaEndTransaction = 165 - RULE_xaPrepareStatement = 166 - RULE_xaCommitWork = 167 - RULE_xaRollbackWork = 168 - RULE_xaRecoverWork = 169 - RULE_prepareStatement = 170 - RULE_executeStatement = 171 - RULE_deallocatePrepare = 172 - RULE_routineBody = 173 - RULE_blockStatement = 174 - RULE_caseStatement = 175 - RULE_ifStatement = 176 - RULE_iterateStatement = 177 - RULE_leaveStatement = 178 - RULE_loopStatement = 179 - RULE_repeatStatement = 180 - RULE_returnStatement = 181 - RULE_whileStatement = 182 - RULE_cursorStatement = 183 - RULE_declareVariable = 184 - RULE_declareCondition = 185 - RULE_declareCursor = 186 - RULE_declareHandler = 187 - RULE_handlerConditionValue = 188 - RULE_procedureSqlStatement = 189 - RULE_caseAlternative = 190 - RULE_elifAlternative = 191 - RULE_alterUser = 192 - RULE_createUser = 193 - RULE_dropUser = 194 - RULE_grantStatement = 195 - RULE_grantProxy = 196 - RULE_renameUser = 197 - RULE_revokeStatement = 198 - RULE_revokeProxy = 199 - RULE_setPasswordStatement = 200 - RULE_userSpecification = 201 - RULE_userAuthOption = 202 - RULE_tlsOption = 203 - RULE_userResourceOption = 204 - RULE_userPasswordOption = 205 - RULE_userLockOption = 206 - RULE_privelegeClause = 207 - RULE_privilege = 208 - RULE_privilegeLevel = 209 - RULE_renameUserClause = 210 - RULE_analyzeTable = 211 - RULE_checkTable = 212 - RULE_checksumTable = 213 - RULE_optimizeTable = 214 - RULE_repairTable = 215 - RULE_checkTableOption = 216 - RULE_createUdfunction = 217 - RULE_installPlugin = 218 - RULE_uninstallPlugin = 219 - RULE_setStatement = 220 - RULE_showStatement = 221 - RULE_variableClause = 222 - RULE_showCommonEntity = 223 - RULE_showFilter = 224 - RULE_showGlobalInfoClause = 225 - RULE_showSchemaEntity = 226 - RULE_showProfileType = 227 - RULE_binlogStatement = 228 - RULE_cacheIndexStatement = 229 - RULE_flushStatement = 230 - RULE_killStatement = 231 - RULE_loadIndexIntoCache = 232 - RULE_resetStatement = 233 - RULE_shutdownStatement = 234 - RULE_tableIndexes = 235 - RULE_flushOption = 236 - RULE_flushTableOption = 237 - RULE_loadedTableIndexes = 238 - RULE_simpleDescribeStatement = 239 - RULE_fullDescribeStatement = 240 - RULE_helpStatement = 241 - RULE_useStatement = 242 - RULE_describeObjectClause = 243 - RULE_fullId = 244 - RULE_tableName = 245 - RULE_fullColumnName = 246 - RULE_indexColumnName = 247 - RULE_userName = 248 - RULE_mysqlVariable = 249 - RULE_charsetName = 250 - RULE_collationName = 251 - RULE_engineName = 252 - RULE_uuidSet = 253 - RULE_xid = 254 - RULE_xuidStringId = 255 - RULE_authPlugin = 256 - RULE_uid = 257 - RULE_simpleId = 258 - RULE_dottedId = 259 - RULE_decimalLiteral = 260 - RULE_fileSizeLiteral = 261 - RULE_stringLiteral = 262 - RULE_booleanLiteral = 263 - RULE_hexadecimalLiteral = 264 - RULE_nullNotnull = 265 - RULE_constant = 266 - RULE_dataType = 267 - RULE_convertedDataType = 268 - RULE_lengthOneDimension = 269 - RULE_lengthTwoDimension = 270 - RULE_lengthTwoOptionalDimension = 271 - RULE_uidList = 272 - RULE_tables = 273 - RULE_indexColumnNames = 274 - RULE_expressions = 275 - RULE_expressionsWithDefaults = 276 - RULE_constants = 277 - RULE_simpleStrings = 278 - RULE_userVariables = 279 - RULE_defaultValue = 280 - RULE_currentTimestamp = 281 - RULE_expressionOrDefault = 282 - RULE_ifExists = 283 - RULE_ifNotExists = 284 - RULE_functionCall = 285 - RULE_specificFunction = 286 - RULE_caseFuncAlternative = 287 - RULE_levelsInWeightString = 288 - RULE_levelInWeightListElement = 289 - RULE_aggregateWindowedFunction = 290 - RULE_scalarFunctionName = 291 - RULE_passwordFunctionClause = 292 - RULE_functionArgs = 293 - RULE_functionArg = 294 - RULE_expression = 295 - RULE_predicate = 296 - RULE_expressionAtom = 297 - RULE_unaryOperator = 298 - RULE_comparisonOperator = 299 - RULE_logicalOperator = 300 - RULE_bitOperator = 301 - RULE_mathOperator = 302 - RULE_charsetNameBase = 303 - RULE_transactionLevelBase = 304 - RULE_privilegesBase = 305 - RULE_intervalTypeBase = 306 - RULE_dataTypeBase = 307 - RULE_keywordsCanBeId = 308 - RULE_functionNameBase = 309 - - ruleNames = [ "root", "sqlStatements", "sqlStatement", "emptyStatement", - "ddlStatement", "dmlStatement", "transactionStatement", - "replicationStatement", "preparedStatement", "compoundStatement", - "administrationStatement", "utilityStatement", "createDatabase", - "createEvent", "createIndex", "createLogfileGroup", "createProcedure", - "createFunction", "createServer", "createTable", "createTablespaceInnodb", - "createTablespaceNdb", "createTrigger", "createView", - "createDatabaseOption", "ownerStatement", "scheduleExpression", - "timestampValue", "intervalExpr", "intervalType", "enableType", - "indexType", "indexOption", "procedureParameter", "functionParameter", - "routineOption", "serverOption", "createDefinitions", - "createDefinition", "columnDefinition", "columnConstraint", - "tableConstraint", "referenceDefinition", "referenceAction", - "referenceControlType", "indexColumnDefinition", "tableOption", - "tablespaceStorage", "partitionDefinitions", "partitionFunctionDefinition", - "subpartitionFunctionDefinition", "partitionDefinition", - "partitionDefinerAtom", "partitionDefinerVector", "subpartitionDefinition", - "partitionOption", "alterDatabase", "alterEvent", "alterFunction", - "alterInstance", "alterLogfileGroup", "alterProcedure", - "alterServer", "alterTable", "alterTablespace", "alterView", - "alterSpecification", "dropDatabase", "dropEvent", "dropIndex", - "dropLogfileGroup", "dropProcedure", "dropFunction", - "dropServer", "dropTable", "dropTablespace", "dropTrigger", - "dropView", "renameTable", "renameTableClause", "truncateTable", - "callStatement", "deleteStatement", "doStatement", "handlerStatement", - "insertStatement", "loadDataStatement", "loadXmlStatement", - "replaceStatement", "selectStatement", "updateStatement", - "insertStatementValue", "updatedElement", "assignmentField", - "lockClause", "singleDeleteStatement", "multipleDeleteStatement", - "handlerOpenStatement", "handlerReadIndexStatement", - "handlerReadStatement", "handlerCloseStatement", "singleUpdateStatement", - "multipleUpdateStatement", "orderByClause", "orderByExpression", - "tableSources", "tableSource", "tableSourceItem", "indexHint", - "indexHintType", "joinPart", "queryExpression", "queryExpressionNointo", - "querySpecification", "querySpecificationNointo", "unionParenthesis", - "unionStatement", "selectSpec", "selectElements", "selectElement", - "errorTolerenceExpression", "confLevelExpression", "selectIntoExpression", - "selectFieldsInto", "selectLinesInto", "fromClause", - "groupByItem", "limitClause", "startTransaction", "beginWork", - "commitWork", "rollbackWork", "savepointStatement", "rollbackStatement", - "releaseStatement", "lockTables", "unlockTables", "setAutocommitStatement", - "setTransactionStatement", "transactionMode", "lockTableElement", - "lockAction", "transactionOption", "transactionLevel", - "changeMaster", "changeReplicationFilter", "purgeBinaryLogs", - "resetMaster", "resetSlave", "startSlave", "stopSlave", - "startGroupReplication", "stopGroupReplication", "masterOption", - "stringMasterOption", "decimalMasterOption", "boolMasterOption", - "channelOption", "replicationFilter", "tablePair", "threadType", - "untilOption", "connectionOption", "gtuidSet", "xaStartTransaction", - "xaEndTransaction", "xaPrepareStatement", "xaCommitWork", - "xaRollbackWork", "xaRecoverWork", "prepareStatement", - "executeStatement", "deallocatePrepare", "routineBody", - "blockStatement", "caseStatement", "ifStatement", "iterateStatement", - "leaveStatement", "loopStatement", "repeatStatement", - "returnStatement", "whileStatement", "cursorStatement", - "declareVariable", "declareCondition", "declareCursor", - "declareHandler", "handlerConditionValue", "procedureSqlStatement", - "caseAlternative", "elifAlternative", "alterUser", "createUser", - "dropUser", "grantStatement", "grantProxy", "renameUser", - "revokeStatement", "revokeProxy", "setPasswordStatement", - "userSpecification", "userAuthOption", "tlsOption", "userResourceOption", - "userPasswordOption", "userLockOption", "privelegeClause", - "privilege", "privilegeLevel", "renameUserClause", "analyzeTable", - "checkTable", "checksumTable", "optimizeTable", "repairTable", - "checkTableOption", "createUdfunction", "installPlugin", - "uninstallPlugin", "setStatement", "showStatement", "variableClause", - "showCommonEntity", "showFilter", "showGlobalInfoClause", - "showSchemaEntity", "showProfileType", "binlogStatement", - "cacheIndexStatement", "flushStatement", "killStatement", - "loadIndexIntoCache", "resetStatement", "shutdownStatement", - "tableIndexes", "flushOption", "flushTableOption", "loadedTableIndexes", - "simpleDescribeStatement", "fullDescribeStatement", "helpStatement", - "useStatement", "describeObjectClause", "fullId", "tableName", - "fullColumnName", "indexColumnName", "userName", "mysqlVariable", - "charsetName", "collationName", "engineName", "uuidSet", - "xid", "xuidStringId", "authPlugin", "uid", "simpleId", - "dottedId", "decimalLiteral", "fileSizeLiteral", "stringLiteral", - "booleanLiteral", "hexadecimalLiteral", "nullNotnull", - "constant", "dataType", "convertedDataType", "lengthOneDimension", - "lengthTwoDimension", "lengthTwoOptionalDimension", "uidList", - "tables", "indexColumnNames", "expressions", "expressionsWithDefaults", - "constants", "simpleStrings", "userVariables", "defaultValue", - "currentTimestamp", "expressionOrDefault", "ifExists", - "ifNotExists", "functionCall", "specificFunction", "caseFuncAlternative", - "levelsInWeightString", "levelInWeightListElement", "aggregateWindowedFunction", - "scalarFunctionName", "passwordFunctionClause", "functionArgs", - "functionArg", "expression", "predicate", "expressionAtom", - "unaryOperator", "comparisonOperator", "logicalOperator", - "bitOperator", "mathOperator", "charsetNameBase", "transactionLevelBase", - "privilegesBase", "intervalTypeBase", "dataTypeBase", - "keywordsCanBeId", "functionNameBase" ] - - EOF = Token.EOF - SPACE=1 - SPEC_MYSQL_COMMENT=2 - COMMENT_INPUT=3 - LINE_COMMENT=4 - ERRORBOUND=5 - CONFLEVEL=6 - ADD=7 - ALL=8 - ALTER=9 - ALWAYS=10 - ANALYZE=11 - AND=12 - AS=13 - ASC=14 - BEFORE=15 - BETWEEN=16 - BOTH=17 - BY=18 - CALL=19 - CASCADE=20 - CASE=21 - CAST=22 - CHANGE=23 - CHARACTER=24 - CHECK=25 - COLLATE=26 - COLUMN=27 - CONDITION=28 - CONSTRAINT=29 - CONTINUE=30 - CONVERT=31 - CREATE=32 - CROSS=33 - CURRENT_USER=34 - CURSOR=35 - DATABASE=36 - DATABASES=37 - DECLARE=38 - DEFAULT=39 - DELAYED=40 - DELETE=41 - DESC=42 - DESCRIBE=43 - DETERMINISTIC=44 - DISTINCT=45 - DISTINCTROW=46 - DROP=47 - EACH=48 - ELSE=49 - ELSEIF=50 - ENCLOSED=51 - ESCAPED=52 - EXISTS=53 - EXIT=54 - EXPLAIN=55 - FALSE=56 - FETCH=57 - FOR=58 - FORCE=59 - FOREIGN=60 - FROM=61 - FULLTEXT=62 - GENERATED=63 - GRANT=64 - GROUP=65 - HAVING=66 - HIGH_PRIORITY=67 - IF=68 - IGNORE=69 - IN=70 - INDEX=71 - INFILE=72 - INNER=73 - INOUT=74 - INSERT=75 - INTERVAL=76 - INTO=77 - IS=78 - ITERATE=79 - JOIN=80 - KEY=81 - KEYS=82 - KILL=83 - LEADING=84 - LEAVE=85 - LEFT=86 - LIKE=87 - LIMIT=88 - LINEAR=89 - LINES=90 - LOAD=91 - LOCK=92 - LOOP=93 - LOW_PRIORITY=94 - MASTER_BIND=95 - MASTER_SSL_VERIFY_SERVER_CERT=96 - MATCH=97 - MAXVALUE=98 - MODIFIES=99 - NATURAL=100 - NOT=101 - NO_WRITE_TO_BINLOG=102 - NULL_LITERAL=103 - ON=104 - OPTIMIZE=105 - OPTION=106 - OPTIONALLY=107 - OR=108 - ORDER=109 - OUT=110 - OUTER=111 - OUTFILE=112 - PARTITION=113 - PRIMARY=114 - PROCEDURE=115 - PURGE=116 - RANGE=117 - READ=118 - READS=119 - REFERENCES=120 - REGEXP=121 - RELEASE=122 - RENAME=123 - REPEAT=124 - REPLACE=125 - REQUIRE=126 - RESTRICT=127 - RETURN=128 - REVOKE=129 - RIGHT=130 - RLIKE=131 - SCHEMA=132 - SCHEMAS=133 - SELECT=134 - SET=135 - SEPARATOR=136 - SHOW=137 - SPATIAL=138 - SQL=139 - SQLEXCEPTION=140 - SQLSTATE=141 - SQLWARNING=142 - SQL_BIG_RESULT=143 - SQL_CALC_FOUND_ROWS=144 - SQL_SMALL_RESULT=145 - SSL=146 - STARTING=147 - STRAIGHT_JOIN=148 - TABLE=149 - TERMINATED=150 - THEN=151 - TO=152 - TRAILING=153 - TRIGGER=154 - TRUE=155 - UNDO=156 - UNION=157 - UNIQUE=158 - UNLOCK=159 - UNSIGNED=160 - UPDATE=161 - USAGE=162 - USE=163 - USING=164 - VALUES=165 - WHEN=166 - WHERE=167 - WHILE=168 - WITH=169 - WRITE=170 - XOR=171 - ZEROFILL=172 - TINYINT=173 - SMALLINT=174 - MEDIUMINT=175 - INT=176 - INTEGER=177 - BIGINT=178 - REAL=179 - DOUBLE=180 - FLOAT=181 - DECIMAL=182 - NUMERIC=183 - DATE=184 - TIME=185 - TIMESTAMP=186 - DATETIME=187 - YEAR=188 - CHAR=189 - VARCHAR=190 - BINARY=191 - VARBINARY=192 - TINYBLOB=193 - BLOB=194 - MEDIUMBLOB=195 - LONGBLOB=196 - TINYTEXT=197 - TEXT=198 - MEDIUMTEXT=199 - LONGTEXT=200 - ENUM=201 - SERIAL=202 - YEAR_MONTH=203 - DAY_HOUR=204 - DAY_MINUTE=205 - DAY_SECOND=206 - HOUR_MINUTE=207 - HOUR_SECOND=208 - MINUTE_SECOND=209 - SECOND_MICROSECOND=210 - MINUTE_MICROSECOND=211 - HOUR_MICROSECOND=212 - DAY_MICROSECOND=213 - AVG=214 - BIT_AND=215 - BIT_OR=216 - BIT_XOR=217 - COUNT=218 - GROUP_CONCAT=219 - MAX=220 - MIN=221 - STD=222 - STDDEV=223 - STDDEV_POP=224 - STDDEV_SAMP=225 - SUM=226 - VAR_POP=227 - VAR_SAMP=228 - VARIANCE=229 - FCOUNT=230 - CURRENT_DATE=231 - CURRENT_TIME=232 - CURRENT_TIMESTAMP=233 - LOCALTIME=234 - CURDATE=235 - CURTIME=236 - DATE_ADD=237 - DATE_SUB=238 - EXTRACT=239 - LOCALTIMESTAMP=240 - NOW=241 - POSITION=242 - SUBSTR=243 - SUBSTRING=244 - SYSDATE=245 - TRIM=246 - UTC_DATE=247 - UTC_TIME=248 - UTC_TIMESTAMP=249 - ACCOUNT=250 - ACTION=251 - AFTER=252 - AGGREGATE=253 - ALGORITHM=254 - ANY=255 - AT=256 - AUTHORS=257 - AUTOCOMMIT=258 - AUTOEXTEND_SIZE=259 - AUTO_INCREMENT=260 - AVG_ROW_LENGTH=261 - BEGIN=262 - BINLOG=263 - BIT=264 - BLOCK=265 - BOOL=266 - BOOLEAN=267 - BTREE=268 - CACHE=269 - CASCADED=270 - CHAIN=271 - CHANGED=272 - CHANNEL=273 - CHECKSUM=274 - CIPHER=275 - CLIENT=276 - CLOSE=277 - COALESCE=278 - CODE=279 - COLUMNS=280 - COLUMN_FORMAT=281 - COMMENT=282 - COMMIT=283 - COMPACT=284 - COMPLETION=285 - COMPRESSED=286 - COMPRESSION=287 - CONCURRENT=288 - CONNECTION=289 - CONSISTENT=290 - CONTAINS=291 - CONTEXT=292 - CONTRIBUTORS=293 - COPY=294 - CPU=295 - DATA=296 - DATAFILE=297 - DEALLOCATE=298 - DEFAULT_AUTH=299 - DEFINER=300 - DELAY_KEY_WRITE=301 - DES_KEY_FILE=302 - DIRECTORY=303 - DISABLE=304 - DISCARD=305 - DISK=306 - DO=307 - DUMPFILE=308 - DUPLICATE=309 - DYNAMIC=310 - ENABLE=311 - ENCRYPTION=312 - END=313 - ENDS=314 - ENGINE=315 - ENGINES=316 - ERROR=317 - ERRORS=318 - ESCAPE=319 - EVEN=320 - EVENT=321 - EVENTS=322 - EVERY=323 - EXCHANGE=324 - EXCLUSIVE=325 - EXPIRE=326 - EXPORT=327 - EXTENDED=328 - EXTENT_SIZE=329 - FAST=330 - FAULTS=331 - FIELDS=332 - FILE_BLOCK_SIZE=333 - FILTER=334 - FIRST=335 - FIXED=336 - FLUSH=337 - FOLLOWS=338 - FOUND=339 - FULL=340 - FUNCTION=341 - GENERAL=342 - GLOBAL=343 - GRANTS=344 - GROUP_REPLICATION=345 - HANDLER=346 - HASH=347 - HELP=348 - HOST=349 - HOSTS=350 - IDENTIFIED=351 - IGNORE_SERVER_IDS=352 - IMPORT=353 - INDEXES=354 - INITIAL_SIZE=355 - INPLACE=356 - INSERT_METHOD=357 - INSTALL=358 - INSTANCE=359 - INVOKER=360 - IO=361 - IO_THREAD=362 - IPC=363 - ISOLATION=364 - ISSUER=365 - JSON=366 - KEY_BLOCK_SIZE=367 - LANGUAGE=368 - LAST=369 - LEAVES=370 - LESS=371 - LEVEL=372 - LIST=373 - LOCAL=374 - LOGFILE=375 - LOGS=376 - MASTER=377 - MASTER_AUTO_POSITION=378 - MASTER_CONNECT_RETRY=379 - MASTER_DELAY=380 - MASTER_HEARTBEAT_PERIOD=381 - MASTER_HOST=382 - MASTER_LOG_FILE=383 - MASTER_LOG_POS=384 - MASTER_PASSWORD=385 - MASTER_PORT=386 - MASTER_RETRY_COUNT=387 - MASTER_SSL=388 - MASTER_SSL_CA=389 - MASTER_SSL_CAPATH=390 - MASTER_SSL_CERT=391 - MASTER_SSL_CIPHER=392 - MASTER_SSL_CRL=393 - MASTER_SSL_CRLPATH=394 - MASTER_SSL_KEY=395 - MASTER_TLS_VERSION=396 - MASTER_USER=397 - MAX_CONNECTIONS_PER_HOUR=398 - MAX_QUERIES_PER_HOUR=399 - MAX_ROWS=400 - MAX_SIZE=401 - MAX_UPDATES_PER_HOUR=402 - MAX_USER_CONNECTIONS=403 - MEDIUM=404 - MERGE=405 - MID=406 - MIGRATE=407 - MIN_ROWS=408 - MODE=409 - MODIFY=410 - MUTEX=411 - MYSQL=412 - NAME=413 - NAMES=414 - NCHAR=415 - NEVER=416 - NEXT=417 - NO=418 - NODEGROUP=419 - NONE=420 - OFFLINE=421 - OFFSET=422 - OJ=423 - OLD_PASSWORD=424 - ONE=425 - ONLINE=426 - ONLY=427 - OPEN=428 - OPTIMIZER_COSTS=429 - OPTIONS=430 - OWNER=431 - PACK_KEYS=432 - PAGE=433 - PARSER=434 - PARTIAL=435 - PARTITIONING=436 - PARTITIONS=437 - PASSWORD=438 - PHASE=439 - PLUGIN=440 - PLUGIN_DIR=441 - PLUGINS=442 - PORT=443 - PRECEDES=444 - PREPARE=445 - PRESERVE=446 - PREV=447 - PROCESSLIST=448 - PROFILE=449 - PROFILES=450 - PROXY=451 - QUERY=452 - QUICK=453 - REBUILD=454 - RECOVER=455 - REDO_BUFFER_SIZE=456 - REDUNDANT=457 - RELAY=458 - RELAY_LOG_FILE=459 - RELAY_LOG_POS=460 - RELAYLOG=461 - REMOVE=462 - REORGANIZE=463 - REPAIR=464 - REPLICATE_DO_DB=465 - REPLICATE_DO_TABLE=466 - REPLICATE_IGNORE_DB=467 - REPLICATE_IGNORE_TABLE=468 - REPLICATE_REWRITE_DB=469 - REPLICATE_WILD_DO_TABLE=470 - REPLICATE_WILD_IGNORE_TABLE=471 - REPLICATION=472 - RESET=473 - RESUME=474 - RETURNS=475 - ROLLBACK=476 - ROLLUP=477 - ROTATE=478 - ROW=479 - ROWS=480 - ROW_FORMAT=481 - SAVEPOINT=482 - SCHEDULE=483 - SECURITY=484 - SERVER=485 - SESSION=486 - SHARE=487 - SHARED=488 - SIGNED=489 - SIMPLE=490 - SLAVE=491 - SLOW=492 - SNAPSHOT=493 - SOCKET=494 - SOME=495 - SONAME=496 - SOUNDS=497 - SOURCE=498 - SQL_AFTER_GTIDS=499 - SQL_AFTER_MTS_GAPS=500 - SQL_BEFORE_GTIDS=501 - SQL_BUFFER_RESULT=502 - SQL_CACHE=503 - SQL_NO_CACHE=504 - SQL_THREAD=505 - START=506 - STARTS=507 - STATS_AUTO_RECALC=508 - STATS_PERSISTENT=509 - STATS_SAMPLE_PAGES=510 - STATUS=511 - STOP=512 - STORAGE=513 - STORED=514 - STRING=515 - SUBJECT=516 - SUBPARTITION=517 - SUBPARTITIONS=518 - SUSPEND=519 - SWAPS=520 - SWITCHES=521 - TABLESPACE=522 - TEMPORARY=523 - TEMPTABLE=524 - THAN=525 - TRADITIONAL=526 - TRANSACTION=527 - TRIGGERS=528 - TRUNCATE=529 - UNDEFINED=530 - UNDOFILE=531 - UNDO_BUFFER_SIZE=532 - UNINSTALL=533 - UNKNOWN=534 - UNTIL=535 - UPGRADE=536 - USER=537 - USE_FRM=538 - USER_RESOURCES=539 - VALIDATION=540 - VALUE=541 - VARIABLES=542 - VIEW=543 - VIRTUAL=544 - WAIT=545 - WARNINGS=546 - WITHOUT=547 - WORK=548 - WRAPPER=549 - X509=550 - XA=551 - XML=552 - EUR=553 - USA=554 - JIS=555 - ISO=556 - INTERNAL=557 - QUARTER=558 - MONTH=559 - DAY=560 - HOUR=561 - MINUTE=562 - WEEK=563 - SECOND=564 - MICROSECOND=565 - TABLES=566 - ROUTINE=567 - EXECUTE=568 - FILE=569 - PROCESS=570 - RELOAD=571 - SHUTDOWN=572 - SUPER=573 - PRIVILEGES=574 - ARMSCII8=575 - ASCII=576 - BIG5=577 - CP1250=578 - CP1251=579 - CP1256=580 - CP1257=581 - CP850=582 - CP852=583 - CP866=584 - CP932=585 - DEC8=586 - EUCJPMS=587 - EUCKR=588 - GB2312=589 - GBK=590 - GEOSTD8=591 - GREEK=592 - HEBREW=593 - HP8=594 - KEYBCS2=595 - KOI8R=596 - KOI8U=597 - LATIN1=598 - LATIN2=599 - LATIN5=600 - LATIN7=601 - MACCE=602 - MACROMAN=603 - SJIS=604 - SWE7=605 - TIS620=606 - UCS2=607 - UJIS=608 - UTF16=609 - UTF16LE=610 - UTF32=611 - UTF8=612 - UTF8MB3=613 - UTF8MB4=614 - ARCHIVE=615 - BLACKHOLE=616 - CSV=617 - FEDERATED=618 - INNODB=619 - MEMORY=620 - MRG_MYISAM=621 - MYISAM=622 - NDB=623 - NDBCLUSTER=624 - PERFOMANCE_SCHEMA=625 - REPEATABLE=626 - COMMITTED=627 - UNCOMMITTED=628 - SERIALIZABLE=629 - GEOMETRYCOLLECTION=630 - LINESTRING=631 - MULTILINESTRING=632 - MULTIPOINT=633 - MULTIPOLYGON=634 - POINT=635 - POLYGON=636 - ABS=637 - ACOS=638 - ADDDATE=639 - ADDTIME=640 - AES_DECRYPT=641 - AES_ENCRYPT=642 - AREA=643 - ASBINARY=644 - ASIN=645 - ASTEXT=646 - ASWKB=647 - ASWKT=648 - ASYMMETRIC_DECRYPT=649 - ASYMMETRIC_DERIVE=650 - ASYMMETRIC_ENCRYPT=651 - ASYMMETRIC_SIGN=652 - ASYMMETRIC_VERIFY=653 - ATAN=654 - ATAN2=655 - BENCHMARK=656 - BIN=657 - BIT_COUNT=658 - BIT_LENGTH=659 - BUFFER=660 - CEIL=661 - CEILING=662 - CENTROID=663 - CHARACTER_LENGTH=664 - CHARSET=665 - CHAR_LENGTH=666 - COERCIBILITY=667 - COLLATION=668 - COMPRESS=669 - CONCAT=670 - CONCAT_WS=671 - CONNECTION_ID=672 - CONV=673 - CONVERT_TZ=674 - COS=675 - COT=676 - CRC32=677 - CREATE_ASYMMETRIC_PRIV_KEY=678 - CREATE_ASYMMETRIC_PUB_KEY=679 - CREATE_DH_PARAMETERS=680 - CREATE_DIGEST=681 - CROSSES=682 - DATEDIFF=683 - DATE_FORMAT=684 - DAYNAME=685 - DAYOFMONTH=686 - DAYOFWEEK=687 - DAYOFYEAR=688 - DECODE=689 - DEGREES=690 - DES_DECRYPT=691 - DES_ENCRYPT=692 - DIMENSION=693 - DISJOINT=694 - ELT=695 - ENCODE=696 - ENCRYPT=697 - ENDPOINT=698 - ENVELOPE=699 - EQUALS=700 - EXP=701 - EXPORT_SET=702 - EXTERIORRING=703 - EXTRACTVALUE=704 - FIELD=705 - FIND_IN_SET=706 - FLOOR=707 - FORMAT=708 - FOUND_ROWS=709 - FROM_BASE64=710 - FROM_DAYS=711 - FROM_UNIXTIME=712 - GEOMCOLLFROMTEXT=713 - GEOMCOLLFROMWKB=714 - GEOMETRYCOLLECTIONFROMTEXT=715 - GEOMETRYCOLLECTIONFROMWKB=716 - GEOMETRYFROMTEXT=717 - GEOMETRYFROMWKB=718 - GEOMETRYN=719 - GEOMETRYTYPE=720 - GEOMFROMTEXT=721 - GEOMFROMWKB=722 - GET_FORMAT=723 - GET_LOCK=724 - GLENGTH=725 - GREATEST=726 - GTID_SUBSET=727 - GTID_SUBTRACT=728 - HEX=729 - IFNULL=730 - INET6_ATON=731 - INET6_NTOA=732 - INET_ATON=733 - INET_NTOA=734 - INSTR=735 - INTERIORRINGN=736 - INTERSECTS=737 - ISCLOSED=738 - ISEMPTY=739 - ISNULL=740 - ISSIMPLE=741 - IS_FREE_LOCK=742 - IS_IPV4=743 - IS_IPV4_COMPAT=744 - IS_IPV4_MAPPED=745 - IS_IPV6=746 - IS_USED_LOCK=747 - LAST_INSERT_ID=748 - LCASE=749 - LEAST=750 - LENGTH=751 - LINEFROMTEXT=752 - LINEFROMWKB=753 - LINESTRINGFROMTEXT=754 - LINESTRINGFROMWKB=755 - LN=756 - LOAD_FILE=757 - LOCATE=758 - LOG=759 - LOG10=760 - LOG2=761 - LOWER=762 - LPAD=763 - LTRIM=764 - MAKEDATE=765 - MAKETIME=766 - MAKE_SET=767 - MASTER_POS_WAIT=768 - MBRCONTAINS=769 - MBRDISJOINT=770 - MBREQUAL=771 - MBRINTERSECTS=772 - MBROVERLAPS=773 - MBRTOUCHES=774 - MBRWITHIN=775 - MD5=776 - MLINEFROMTEXT=777 - MLINEFROMWKB=778 - MONTHNAME=779 - MPOINTFROMTEXT=780 - MPOINTFROMWKB=781 - MPOLYFROMTEXT=782 - MPOLYFROMWKB=783 - MULTILINESTRINGFROMTEXT=784 - MULTILINESTRINGFROMWKB=785 - MULTIPOINTFROMTEXT=786 - MULTIPOINTFROMWKB=787 - MULTIPOLYGONFROMTEXT=788 - MULTIPOLYGONFROMWKB=789 - NAME_CONST=790 - NULLIF=791 - NUMGEOMETRIES=792 - NUMINTERIORRINGS=793 - NUMPOINTS=794 - OCT=795 - OCTET_LENGTH=796 - ORD=797 - OVERLAPS=798 - PERIOD_ADD=799 - PERIOD_DIFF=800 - PI=801 - POINTFROMTEXT=802 - POINTFROMWKB=803 - POINTN=804 - POLYFROMTEXT=805 - POLYFROMWKB=806 - POLYGONFROMTEXT=807 - POLYGONFROMWKB=808 - POW=809 - POWER=810 - QUOTE=811 - RADIANS=812 - RAND=813 - RANDOM_BYTES=814 - RELEASE_LOCK=815 - REVERSE=816 - ROUND=817 - ROW_COUNT=818 - RPAD=819 - RTRIM=820 - SEC_TO_TIME=821 - SESSION_USER=822 - SHA=823 - SHA1=824 - SHA2=825 - SIGN=826 - SIN=827 - SLEEP=828 - SOUNDEX=829 - SQL_THREAD_WAIT_AFTER_GTIDS=830 - SQRT=831 - SRID=832 - STARTPOINT=833 - STRCMP=834 - STR_TO_DATE=835 - ST_AREA=836 - ST_ASBINARY=837 - ST_ASTEXT=838 - ST_ASWKB=839 - ST_ASWKT=840 - ST_BUFFER=841 - ST_CENTROID=842 - ST_CONTAINS=843 - ST_CROSSES=844 - ST_DIFFERENCE=845 - ST_DIMENSION=846 - ST_DISJOINT=847 - ST_DISTANCE=848 - ST_ENDPOINT=849 - ST_ENVELOPE=850 - ST_EQUALS=851 - ST_EXTERIORRING=852 - ST_GEOMCOLLFROMTEXT=853 - ST_GEOMCOLLFROMTXT=854 - ST_GEOMCOLLFROMWKB=855 - ST_GEOMETRYCOLLECTIONFROMTEXT=856 - ST_GEOMETRYCOLLECTIONFROMWKB=857 - ST_GEOMETRYFROMTEXT=858 - ST_GEOMETRYFROMWKB=859 - ST_GEOMETRYN=860 - ST_GEOMETRYTYPE=861 - ST_GEOMFROMTEXT=862 - ST_GEOMFROMWKB=863 - ST_INTERIORRINGN=864 - ST_INTERSECTION=865 - ST_INTERSECTS=866 - ST_ISCLOSED=867 - ST_ISEMPTY=868 - ST_ISSIMPLE=869 - ST_LINEFROMTEXT=870 - ST_LINEFROMWKB=871 - ST_LINESTRINGFROMTEXT=872 - ST_LINESTRINGFROMWKB=873 - ST_NUMGEOMETRIES=874 - ST_NUMINTERIORRING=875 - ST_NUMINTERIORRINGS=876 - ST_NUMPOINTS=877 - ST_OVERLAPS=878 - ST_POINTFROMTEXT=879 - ST_POINTFROMWKB=880 - ST_POINTN=881 - ST_POLYFROMTEXT=882 - ST_POLYFROMWKB=883 - ST_POLYGONFROMTEXT=884 - ST_POLYGONFROMWKB=885 - ST_SRID=886 - ST_STARTPOINT=887 - ST_SYMDIFFERENCE=888 - ST_TOUCHES=889 - ST_UNION=890 - ST_WITHIN=891 - ST_X=892 - ST_Y=893 - SUBDATE=894 - SUBSTRING_INDEX=895 - SUBTIME=896 - SYSTEM_USER=897 - TAN=898 - TIMEDIFF=899 - TIMESTAMPADD=900 - TIMESTAMPDIFF=901 - TIME_FORMAT=902 - TIME_TO_SEC=903 - TOUCHES=904 - TO_BASE64=905 - TO_DAYS=906 - TO_SECONDS=907 - UCASE=908 - UNCOMPRESS=909 - UNCOMPRESSED_LENGTH=910 - UNHEX=911 - UNIX_TIMESTAMP=912 - UPDATEXML=913 - UPPER=914 - UUID=915 - UUID_SHORT=916 - VALIDATE_PASSWORD_STRENGTH=917 - VERSION=918 - WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS=919 - WEEKDAY=920 - WEEKOFYEAR=921 - WEIGHT_STRING=922 - WITHIN=923 - YEARWEEK=924 - Y_FUNCTION=925 - X_FUNCTION=926 - VAR_ASSIGN=927 - PLUS_ASSIGN=928 - MINUS_ASSIGN=929 - MULT_ASSIGN=930 - DIV_ASSIGN=931 - MOD_ASSIGN=932 - AND_ASSIGN=933 - XOR_ASSIGN=934 - OR_ASSIGN=935 - STAR=936 - DIVIDE=937 - MODULE=938 - PLUS=939 - MINUSMINUS=940 - MINUS=941 - DIV=942 - MOD=943 - EQUAL_SYMBOL=944 - GREATER_SYMBOL=945 - LESS_SYMBOL=946 - EXCLAMATION_SYMBOL=947 - BIT_NOT_OP=948 - BIT_OR_OP=949 - BIT_AND_OP=950 - BIT_XOR_OP=951 - DOT=952 - LR_BRACKET=953 - RR_BRACKET=954 - COMMA=955 - SEMI=956 - AT_SIGN=957 - ZERO_DECIMAL=958 - ONE_DECIMAL=959 - TWO_DECIMAL=960 - SINGLE_QUOTE_SYMB=961 - DOUBLE_QUOTE_SYMB=962 - REVERSE_QUOTE_SYMB=963 - COLON_SYMB=964 - CHARSET_REVERSE_QOUTE_STRING=965 - FILESIZE_LITERAL=966 - START_NATIONAL_STRING_LITERAL=967 - STRING_LITERAL=968 - DECIMAL_LITERAL=969 - HEXADECIMAL_LITERAL=970 - REAL_LITERAL=971 - NULL_SPEC_LITERAL=972 - BIT_STRING=973 - STRING_CHARSET_NAME=974 - DOT_ID=975 - ID=976 - REVERSE_QUOTE_ID=977 - STRING_USER_NAME=978 - LOCAL_ID=979 - GLOBAL_ID=980 - ERROR_RECONGNIGION=981 - - def __init__(self, input:TokenStream, output:TextIO = sys.stdout): - super().__init__(input, output) - self.checkVersion("4.7.2") - self._interp = ParserATNSimulator(self, self.atn, self.decisionsToDFA, self.sharedContextCache) - self._predicates = None - - - - - class RootContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def EOF(self): - return self.getToken(frameQLParser.EOF, 0) - - def sqlStatements(self): - return self.getTypedRuleContext(frameQLParser.SqlStatementsContext,0) - - - def MINUSMINUS(self): - return self.getToken(frameQLParser.MINUSMINUS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_root - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRoot" ): - listener.enterRoot(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRoot" ): - listener.exitRoot(self) - - - - - def root(self): - - localctx = frameQLParser.RootContext(self, self._ctx, self.state) - self.enterRule(localctx, 0, self.RULE_root) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 621 - self._errHandler.sync(self) - _la = self._input.LA(1) - if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << frameQLParser.ALTER) | (1 << frameQLParser.ANALYZE) | (1 << frameQLParser.CALL) | (1 << frameQLParser.CHANGE) | (1 << frameQLParser.CHECK) | (1 << frameQLParser.CREATE) | (1 << frameQLParser.DELETE) | (1 << frameQLParser.DESC) | (1 << frameQLParser.DESCRIBE) | (1 << frameQLParser.DROP) | (1 << frameQLParser.EXPLAIN))) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & ((1 << (frameQLParser.GRANT - 64)) | (1 << (frameQLParser.INSERT - 64)) | (1 << (frameQLParser.KILL - 64)) | (1 << (frameQLParser.LOAD - 64)) | (1 << (frameQLParser.LOCK - 64)) | (1 << (frameQLParser.OPTIMIZE - 64)) | (1 << (frameQLParser.PURGE - 64)) | (1 << (frameQLParser.RELEASE - 64)) | (1 << (frameQLParser.RENAME - 64)) | (1 << (frameQLParser.REPLACE - 64)))) != 0) or ((((_la - 129)) & ~0x3f) == 0 and ((1 << (_la - 129)) & ((1 << (frameQLParser.REVOKE - 129)) | (1 << (frameQLParser.SELECT - 129)) | (1 << (frameQLParser.SET - 129)) | (1 << (frameQLParser.SHOW - 129)) | (1 << (frameQLParser.UNLOCK - 129)) | (1 << (frameQLParser.UPDATE - 129)) | (1 << (frameQLParser.USE - 129)))) != 0) or ((((_la - 262)) & ~0x3f) == 0 and ((1 << (_la - 262)) & ((1 << (frameQLParser.BEGIN - 262)) | (1 << (frameQLParser.BINLOG - 262)) | (1 << (frameQLParser.CACHE - 262)) | (1 << (frameQLParser.CHECKSUM - 262)) | (1 << (frameQLParser.COMMIT - 262)) | (1 << (frameQLParser.DEALLOCATE - 262)) | (1 << (frameQLParser.DO - 262)))) != 0) or ((((_la - 337)) & ~0x3f) == 0 and ((1 << (_la - 337)) & ((1 << (frameQLParser.FLUSH - 337)) | (1 << (frameQLParser.HANDLER - 337)) | (1 << (frameQLParser.HELP - 337)) | (1 << (frameQLParser.INSTALL - 337)))) != 0) or ((((_la - 445)) & ~0x3f) == 0 and ((1 << (_la - 445)) & ((1 << (frameQLParser.PREPARE - 445)) | (1 << (frameQLParser.REPAIR - 445)) | (1 << (frameQLParser.RESET - 445)) | (1 << (frameQLParser.ROLLBACK - 445)) | (1 << (frameQLParser.SAVEPOINT - 445)) | (1 << (frameQLParser.START - 445)))) != 0) or ((((_la - 512)) & ~0x3f) == 0 and ((1 << (_la - 512)) & ((1 << (frameQLParser.STOP - 512)) | (1 << (frameQLParser.TRUNCATE - 512)) | (1 << (frameQLParser.UNINSTALL - 512)) | (1 << (frameQLParser.XA - 512)) | (1 << (frameQLParser.EXECUTE - 512)) | (1 << (frameQLParser.SHUTDOWN - 512)))) != 0) or _la==frameQLParser.LR_BRACKET or _la==frameQLParser.SEMI: - self.state = 620 - self.sqlStatements() - - - self.state = 624 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.MINUSMINUS: - self.state = 623 - self.match(frameQLParser.MINUSMINUS) - - - self.state = 626 - self.match(frameQLParser.EOF) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SqlStatementsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def sqlStatement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SqlStatementContext) - else: - return self.getTypedRuleContext(frameQLParser.SqlStatementContext,i) - - - def emptyStatement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.EmptyStatementContext) - else: - return self.getTypedRuleContext(frameQLParser.EmptyStatementContext,i) - - - def SEMI(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.SEMI) - else: - return self.getToken(frameQLParser.SEMI, i) - - def MINUSMINUS(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.MINUSMINUS) - else: - return self.getToken(frameQLParser.MINUSMINUS, i) - - def getRuleIndex(self): - return frameQLParser.RULE_sqlStatements - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSqlStatements" ): - listener.enterSqlStatements(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSqlStatements" ): - listener.exitSqlStatements(self) - - - - - def sqlStatements(self): - - localctx = frameQLParser.SqlStatementsContext(self, self._ctx, self.state) - self.enterRule(localctx, 2, self.RULE_sqlStatements) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 637 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,4,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 635 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ALTER, frameQLParser.ANALYZE, frameQLParser.CALL, frameQLParser.CHANGE, frameQLParser.CHECK, frameQLParser.CREATE, frameQLParser.DELETE, frameQLParser.DESC, frameQLParser.DESCRIBE, frameQLParser.DROP, frameQLParser.EXPLAIN, frameQLParser.GRANT, frameQLParser.INSERT, frameQLParser.KILL, frameQLParser.LOAD, frameQLParser.LOCK, frameQLParser.OPTIMIZE, frameQLParser.PURGE, frameQLParser.RELEASE, frameQLParser.RENAME, frameQLParser.REPLACE, frameQLParser.REVOKE, frameQLParser.SELECT, frameQLParser.SET, frameQLParser.SHOW, frameQLParser.UNLOCK, frameQLParser.UPDATE, frameQLParser.USE, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.CACHE, frameQLParser.CHECKSUM, frameQLParser.COMMIT, frameQLParser.DEALLOCATE, frameQLParser.DO, frameQLParser.FLUSH, frameQLParser.HANDLER, frameQLParser.HELP, frameQLParser.INSTALL, frameQLParser.PREPARE, frameQLParser.REPAIR, frameQLParser.RESET, frameQLParser.ROLLBACK, frameQLParser.SAVEPOINT, frameQLParser.START, frameQLParser.STOP, frameQLParser.TRUNCATE, frameQLParser.UNINSTALL, frameQLParser.XA, frameQLParser.EXECUTE, frameQLParser.SHUTDOWN, frameQLParser.LR_BRACKET]: - self.state = 628 - self.sqlStatement() - self.state = 630 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.MINUSMINUS: - self.state = 629 - self.match(frameQLParser.MINUSMINUS) - - - self.state = 632 - self.match(frameQLParser.SEMI) - pass - elif token in [frameQLParser.SEMI]: - self.state = 634 - self.emptyStatement() - pass - else: - raise NoViableAltException(self) - - self.state = 639 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,4,self._ctx) - - self.state = 648 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ALTER, frameQLParser.ANALYZE, frameQLParser.CALL, frameQLParser.CHANGE, frameQLParser.CHECK, frameQLParser.CREATE, frameQLParser.DELETE, frameQLParser.DESC, frameQLParser.DESCRIBE, frameQLParser.DROP, frameQLParser.EXPLAIN, frameQLParser.GRANT, frameQLParser.INSERT, frameQLParser.KILL, frameQLParser.LOAD, frameQLParser.LOCK, frameQLParser.OPTIMIZE, frameQLParser.PURGE, frameQLParser.RELEASE, frameQLParser.RENAME, frameQLParser.REPLACE, frameQLParser.REVOKE, frameQLParser.SELECT, frameQLParser.SET, frameQLParser.SHOW, frameQLParser.UNLOCK, frameQLParser.UPDATE, frameQLParser.USE, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.CACHE, frameQLParser.CHECKSUM, frameQLParser.COMMIT, frameQLParser.DEALLOCATE, frameQLParser.DO, frameQLParser.FLUSH, frameQLParser.HANDLER, frameQLParser.HELP, frameQLParser.INSTALL, frameQLParser.PREPARE, frameQLParser.REPAIR, frameQLParser.RESET, frameQLParser.ROLLBACK, frameQLParser.SAVEPOINT, frameQLParser.START, frameQLParser.STOP, frameQLParser.TRUNCATE, frameQLParser.UNINSTALL, frameQLParser.XA, frameQLParser.EXECUTE, frameQLParser.SHUTDOWN, frameQLParser.LR_BRACKET]: - self.state = 640 - self.sqlStatement() - self.state = 645 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,6,self._ctx) - if la_ == 1: - self.state = 642 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.MINUSMINUS: - self.state = 641 - self.match(frameQLParser.MINUSMINUS) - - - self.state = 644 - self.match(frameQLParser.SEMI) - - - pass - elif token in [frameQLParser.SEMI]: - self.state = 647 - self.emptyStatement() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SqlStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ddlStatement(self): - return self.getTypedRuleContext(frameQLParser.DdlStatementContext,0) - - - def dmlStatement(self): - return self.getTypedRuleContext(frameQLParser.DmlStatementContext,0) - - - def transactionStatement(self): - return self.getTypedRuleContext(frameQLParser.TransactionStatementContext,0) - - - def replicationStatement(self): - return self.getTypedRuleContext(frameQLParser.ReplicationStatementContext,0) - - - def preparedStatement(self): - return self.getTypedRuleContext(frameQLParser.PreparedStatementContext,0) - - - def administrationStatement(self): - return self.getTypedRuleContext(frameQLParser.AdministrationStatementContext,0) - - - def utilityStatement(self): - return self.getTypedRuleContext(frameQLParser.UtilityStatementContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_sqlStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSqlStatement" ): - listener.enterSqlStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSqlStatement" ): - listener.exitSqlStatement(self) - - - - - def sqlStatement(self): - - localctx = frameQLParser.SqlStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 4, self.RULE_sqlStatement) - try: - self.state = 657 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,8,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 650 - self.ddlStatement() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 651 - self.dmlStatement() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 652 - self.transactionStatement() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 653 - self.replicationStatement() - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 654 - self.preparedStatement() - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 655 - self.administrationStatement() - pass - - elif la_ == 7: - self.enterOuterAlt(localctx, 7) - self.state = 656 - self.utilityStatement() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class EmptyStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def SEMI(self): - return self.getToken(frameQLParser.SEMI, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_emptyStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterEmptyStatement" ): - listener.enterEmptyStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitEmptyStatement" ): - listener.exitEmptyStatement(self) - - - - - def emptyStatement(self): - - localctx = frameQLParser.EmptyStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 6, self.RULE_emptyStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 659 - self.match(frameQLParser.SEMI) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DdlStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def createDatabase(self): - return self.getTypedRuleContext(frameQLParser.CreateDatabaseContext,0) - - - def createEvent(self): - return self.getTypedRuleContext(frameQLParser.CreateEventContext,0) - - - def createIndex(self): - return self.getTypedRuleContext(frameQLParser.CreateIndexContext,0) - - - def createLogfileGroup(self): - return self.getTypedRuleContext(frameQLParser.CreateLogfileGroupContext,0) - - - def createProcedure(self): - return self.getTypedRuleContext(frameQLParser.CreateProcedureContext,0) - - - def createFunction(self): - return self.getTypedRuleContext(frameQLParser.CreateFunctionContext,0) - - - def createServer(self): - return self.getTypedRuleContext(frameQLParser.CreateServerContext,0) - - - def createTable(self): - return self.getTypedRuleContext(frameQLParser.CreateTableContext,0) - - - def createTablespaceInnodb(self): - return self.getTypedRuleContext(frameQLParser.CreateTablespaceInnodbContext,0) - - - def createTablespaceNdb(self): - return self.getTypedRuleContext(frameQLParser.CreateTablespaceNdbContext,0) - - - def createTrigger(self): - return self.getTypedRuleContext(frameQLParser.CreateTriggerContext,0) - - - def createView(self): - return self.getTypedRuleContext(frameQLParser.CreateViewContext,0) - - - def alterDatabase(self): - return self.getTypedRuleContext(frameQLParser.AlterDatabaseContext,0) - - - def alterEvent(self): - return self.getTypedRuleContext(frameQLParser.AlterEventContext,0) - - - def alterFunction(self): - return self.getTypedRuleContext(frameQLParser.AlterFunctionContext,0) - - - def alterInstance(self): - return self.getTypedRuleContext(frameQLParser.AlterInstanceContext,0) - - - def alterLogfileGroup(self): - return self.getTypedRuleContext(frameQLParser.AlterLogfileGroupContext,0) - - - def alterProcedure(self): - return self.getTypedRuleContext(frameQLParser.AlterProcedureContext,0) - - - def alterServer(self): - return self.getTypedRuleContext(frameQLParser.AlterServerContext,0) - - - def alterTable(self): - return self.getTypedRuleContext(frameQLParser.AlterTableContext,0) - - - def alterTablespace(self): - return self.getTypedRuleContext(frameQLParser.AlterTablespaceContext,0) - - - def alterView(self): - return self.getTypedRuleContext(frameQLParser.AlterViewContext,0) - - - def dropDatabase(self): - return self.getTypedRuleContext(frameQLParser.DropDatabaseContext,0) - - - def dropEvent(self): - return self.getTypedRuleContext(frameQLParser.DropEventContext,0) - - - def dropIndex(self): - return self.getTypedRuleContext(frameQLParser.DropIndexContext,0) - - - def dropLogfileGroup(self): - return self.getTypedRuleContext(frameQLParser.DropLogfileGroupContext,0) - - - def dropProcedure(self): - return self.getTypedRuleContext(frameQLParser.DropProcedureContext,0) - - - def dropFunction(self): - return self.getTypedRuleContext(frameQLParser.DropFunctionContext,0) - - - def dropServer(self): - return self.getTypedRuleContext(frameQLParser.DropServerContext,0) - - - def dropTable(self): - return self.getTypedRuleContext(frameQLParser.DropTableContext,0) - - - def dropTablespace(self): - return self.getTypedRuleContext(frameQLParser.DropTablespaceContext,0) - - - def dropTrigger(self): - return self.getTypedRuleContext(frameQLParser.DropTriggerContext,0) - - - def dropView(self): - return self.getTypedRuleContext(frameQLParser.DropViewContext,0) - - - def renameTable(self): - return self.getTypedRuleContext(frameQLParser.RenameTableContext,0) - - - def truncateTable(self): - return self.getTypedRuleContext(frameQLParser.TruncateTableContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_ddlStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDdlStatement" ): - listener.enterDdlStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDdlStatement" ): - listener.exitDdlStatement(self) - - - - - def ddlStatement(self): - - localctx = frameQLParser.DdlStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 8, self.RULE_ddlStatement) - try: - self.state = 696 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,9,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 661 - self.createDatabase() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 662 - self.createEvent() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 663 - self.createIndex() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 664 - self.createLogfileGroup() - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 665 - self.createProcedure() - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 666 - self.createFunction() - pass - - elif la_ == 7: - self.enterOuterAlt(localctx, 7) - self.state = 667 - self.createServer() - pass - - elif la_ == 8: - self.enterOuterAlt(localctx, 8) - self.state = 668 - self.createTable() - pass - - elif la_ == 9: - self.enterOuterAlt(localctx, 9) - self.state = 669 - self.createTablespaceInnodb() - pass - - elif la_ == 10: - self.enterOuterAlt(localctx, 10) - self.state = 670 - self.createTablespaceNdb() - pass - - elif la_ == 11: - self.enterOuterAlt(localctx, 11) - self.state = 671 - self.createTrigger() - pass - - elif la_ == 12: - self.enterOuterAlt(localctx, 12) - self.state = 672 - self.createView() - pass - - elif la_ == 13: - self.enterOuterAlt(localctx, 13) - self.state = 673 - self.alterDatabase() - pass - - elif la_ == 14: - self.enterOuterAlt(localctx, 14) - self.state = 674 - self.alterEvent() - pass - - elif la_ == 15: - self.enterOuterAlt(localctx, 15) - self.state = 675 - self.alterFunction() - pass - - elif la_ == 16: - self.enterOuterAlt(localctx, 16) - self.state = 676 - self.alterInstance() - pass - - elif la_ == 17: - self.enterOuterAlt(localctx, 17) - self.state = 677 - self.alterLogfileGroup() - pass - - elif la_ == 18: - self.enterOuterAlt(localctx, 18) - self.state = 678 - self.alterProcedure() - pass - - elif la_ == 19: - self.enterOuterAlt(localctx, 19) - self.state = 679 - self.alterServer() - pass - - elif la_ == 20: - self.enterOuterAlt(localctx, 20) - self.state = 680 - self.alterTable() - pass - - elif la_ == 21: - self.enterOuterAlt(localctx, 21) - self.state = 681 - self.alterTablespace() - pass - - elif la_ == 22: - self.enterOuterAlt(localctx, 22) - self.state = 682 - self.alterView() - pass - - elif la_ == 23: - self.enterOuterAlt(localctx, 23) - self.state = 683 - self.dropDatabase() - pass - - elif la_ == 24: - self.enterOuterAlt(localctx, 24) - self.state = 684 - self.dropEvent() - pass - - elif la_ == 25: - self.enterOuterAlt(localctx, 25) - self.state = 685 - self.dropIndex() - pass - - elif la_ == 26: - self.enterOuterAlt(localctx, 26) - self.state = 686 - self.dropLogfileGroup() - pass - - elif la_ == 27: - self.enterOuterAlt(localctx, 27) - self.state = 687 - self.dropProcedure() - pass - - elif la_ == 28: - self.enterOuterAlt(localctx, 28) - self.state = 688 - self.dropFunction() - pass - - elif la_ == 29: - self.enterOuterAlt(localctx, 29) - self.state = 689 - self.dropServer() - pass - - elif la_ == 30: - self.enterOuterAlt(localctx, 30) - self.state = 690 - self.dropTable() - pass - - elif la_ == 31: - self.enterOuterAlt(localctx, 31) - self.state = 691 - self.dropTablespace() - pass - - elif la_ == 32: - self.enterOuterAlt(localctx, 32) - self.state = 692 - self.dropTrigger() - pass - - elif la_ == 33: - self.enterOuterAlt(localctx, 33) - self.state = 693 - self.dropView() - pass - - elif la_ == 34: - self.enterOuterAlt(localctx, 34) - self.state = 694 - self.renameTable() - pass - - elif la_ == 35: - self.enterOuterAlt(localctx, 35) - self.state = 695 - self.truncateTable() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DmlStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - - def insertStatement(self): - return self.getTypedRuleContext(frameQLParser.InsertStatementContext,0) - - - def updateStatement(self): - return self.getTypedRuleContext(frameQLParser.UpdateStatementContext,0) - - - def deleteStatement(self): - return self.getTypedRuleContext(frameQLParser.DeleteStatementContext,0) - - - def replaceStatement(self): - return self.getTypedRuleContext(frameQLParser.ReplaceStatementContext,0) - - - def callStatement(self): - return self.getTypedRuleContext(frameQLParser.CallStatementContext,0) - - - def loadDataStatement(self): - return self.getTypedRuleContext(frameQLParser.LoadDataStatementContext,0) - - - def loadXmlStatement(self): - return self.getTypedRuleContext(frameQLParser.LoadXmlStatementContext,0) - - - def doStatement(self): - return self.getTypedRuleContext(frameQLParser.DoStatementContext,0) - - - def handlerStatement(self): - return self.getTypedRuleContext(frameQLParser.HandlerStatementContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_dmlStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDmlStatement" ): - listener.enterDmlStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDmlStatement" ): - listener.exitDmlStatement(self) - - - - - def dmlStatement(self): - - localctx = frameQLParser.DmlStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 10, self.RULE_dmlStatement) - try: - self.state = 708 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,10,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 698 - self.selectStatement() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 699 - self.insertStatement() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 700 - self.updateStatement() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 701 - self.deleteStatement() - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 702 - self.replaceStatement() - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 703 - self.callStatement() - pass - - elif la_ == 7: - self.enterOuterAlt(localctx, 7) - self.state = 704 - self.loadDataStatement() - pass - - elif la_ == 8: - self.enterOuterAlt(localctx, 8) - self.state = 705 - self.loadXmlStatement() - pass - - elif la_ == 9: - self.enterOuterAlt(localctx, 9) - self.state = 706 - self.doStatement() - pass - - elif la_ == 10: - self.enterOuterAlt(localctx, 10) - self.state = 707 - self.handlerStatement() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TransactionStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def startTransaction(self): - return self.getTypedRuleContext(frameQLParser.StartTransactionContext,0) - - - def beginWork(self): - return self.getTypedRuleContext(frameQLParser.BeginWorkContext,0) - - - def commitWork(self): - return self.getTypedRuleContext(frameQLParser.CommitWorkContext,0) - - - def rollbackWork(self): - return self.getTypedRuleContext(frameQLParser.RollbackWorkContext,0) - - - def savepointStatement(self): - return self.getTypedRuleContext(frameQLParser.SavepointStatementContext,0) - - - def rollbackStatement(self): - return self.getTypedRuleContext(frameQLParser.RollbackStatementContext,0) - - - def releaseStatement(self): - return self.getTypedRuleContext(frameQLParser.ReleaseStatementContext,0) - - - def lockTables(self): - return self.getTypedRuleContext(frameQLParser.LockTablesContext,0) - - - def unlockTables(self): - return self.getTypedRuleContext(frameQLParser.UnlockTablesContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_transactionStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTransactionStatement" ): - listener.enterTransactionStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTransactionStatement" ): - listener.exitTransactionStatement(self) - - - - - def transactionStatement(self): - - localctx = frameQLParser.TransactionStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 12, self.RULE_transactionStatement) - try: - self.state = 719 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,11,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 710 - self.startTransaction() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 711 - self.beginWork() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 712 - self.commitWork() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 713 - self.rollbackWork() - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 714 - self.savepointStatement() - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 715 - self.rollbackStatement() - pass - - elif la_ == 7: - self.enterOuterAlt(localctx, 7) - self.state = 716 - self.releaseStatement() - pass - - elif la_ == 8: - self.enterOuterAlt(localctx, 8) - self.state = 717 - self.lockTables() - pass - - elif la_ == 9: - self.enterOuterAlt(localctx, 9) - self.state = 718 - self.unlockTables() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ReplicationStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def changeMaster(self): - return self.getTypedRuleContext(frameQLParser.ChangeMasterContext,0) - - - def changeReplicationFilter(self): - return self.getTypedRuleContext(frameQLParser.ChangeReplicationFilterContext,0) - - - def purgeBinaryLogs(self): - return self.getTypedRuleContext(frameQLParser.PurgeBinaryLogsContext,0) - - - def resetMaster(self): - return self.getTypedRuleContext(frameQLParser.ResetMasterContext,0) - - - def resetSlave(self): - return self.getTypedRuleContext(frameQLParser.ResetSlaveContext,0) - - - def startSlave(self): - return self.getTypedRuleContext(frameQLParser.StartSlaveContext,0) - - - def stopSlave(self): - return self.getTypedRuleContext(frameQLParser.StopSlaveContext,0) - - - def startGroupReplication(self): - return self.getTypedRuleContext(frameQLParser.StartGroupReplicationContext,0) - - - def stopGroupReplication(self): - return self.getTypedRuleContext(frameQLParser.StopGroupReplicationContext,0) - - - def xaStartTransaction(self): - return self.getTypedRuleContext(frameQLParser.XaStartTransactionContext,0) - - - def xaEndTransaction(self): - return self.getTypedRuleContext(frameQLParser.XaEndTransactionContext,0) - - - def xaPrepareStatement(self): - return self.getTypedRuleContext(frameQLParser.XaPrepareStatementContext,0) - - - def xaCommitWork(self): - return self.getTypedRuleContext(frameQLParser.XaCommitWorkContext,0) - - - def xaRollbackWork(self): - return self.getTypedRuleContext(frameQLParser.XaRollbackWorkContext,0) - - - def xaRecoverWork(self): - return self.getTypedRuleContext(frameQLParser.XaRecoverWorkContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_replicationStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterReplicationStatement" ): - listener.enterReplicationStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitReplicationStatement" ): - listener.exitReplicationStatement(self) - - - - - def replicationStatement(self): - - localctx = frameQLParser.ReplicationStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 14, self.RULE_replicationStatement) - try: - self.state = 736 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,12,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 721 - self.changeMaster() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 722 - self.changeReplicationFilter() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 723 - self.purgeBinaryLogs() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 724 - self.resetMaster() - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 725 - self.resetSlave() - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 726 - self.startSlave() - pass - - elif la_ == 7: - self.enterOuterAlt(localctx, 7) - self.state = 727 - self.stopSlave() - pass - - elif la_ == 8: - self.enterOuterAlt(localctx, 8) - self.state = 728 - self.startGroupReplication() - pass - - elif la_ == 9: - self.enterOuterAlt(localctx, 9) - self.state = 729 - self.stopGroupReplication() - pass - - elif la_ == 10: - self.enterOuterAlt(localctx, 10) - self.state = 730 - self.xaStartTransaction() - pass - - elif la_ == 11: - self.enterOuterAlt(localctx, 11) - self.state = 731 - self.xaEndTransaction() - pass - - elif la_ == 12: - self.enterOuterAlt(localctx, 12) - self.state = 732 - self.xaPrepareStatement() - pass - - elif la_ == 13: - self.enterOuterAlt(localctx, 13) - self.state = 733 - self.xaCommitWork() - pass - - elif la_ == 14: - self.enterOuterAlt(localctx, 14) - self.state = 734 - self.xaRollbackWork() - pass - - elif la_ == 15: - self.enterOuterAlt(localctx, 15) - self.state = 735 - self.xaRecoverWork() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class PreparedStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def prepareStatement(self): - return self.getTypedRuleContext(frameQLParser.PrepareStatementContext,0) - - - def executeStatement(self): - return self.getTypedRuleContext(frameQLParser.ExecuteStatementContext,0) - - - def deallocatePrepare(self): - return self.getTypedRuleContext(frameQLParser.DeallocatePrepareContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_preparedStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPreparedStatement" ): - listener.enterPreparedStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPreparedStatement" ): - listener.exitPreparedStatement(self) - - - - - def preparedStatement(self): - - localctx = frameQLParser.PreparedStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 16, self.RULE_preparedStatement) - try: - self.state = 741 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.PREPARE]: - self.enterOuterAlt(localctx, 1) - self.state = 738 - self.prepareStatement() - pass - elif token in [frameQLParser.EXECUTE]: - self.enterOuterAlt(localctx, 2) - self.state = 739 - self.executeStatement() - pass - elif token in [frameQLParser.DROP, frameQLParser.DEALLOCATE]: - self.enterOuterAlt(localctx, 3) - self.state = 740 - self.deallocatePrepare() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CompoundStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def blockStatement(self): - return self.getTypedRuleContext(frameQLParser.BlockStatementContext,0) - - - def caseStatement(self): - return self.getTypedRuleContext(frameQLParser.CaseStatementContext,0) - - - def ifStatement(self): - return self.getTypedRuleContext(frameQLParser.IfStatementContext,0) - - - def leaveStatement(self): - return self.getTypedRuleContext(frameQLParser.LeaveStatementContext,0) - - - def loopStatement(self): - return self.getTypedRuleContext(frameQLParser.LoopStatementContext,0) - - - def repeatStatement(self): - return self.getTypedRuleContext(frameQLParser.RepeatStatementContext,0) - - - def whileStatement(self): - return self.getTypedRuleContext(frameQLParser.WhileStatementContext,0) - - - def iterateStatement(self): - return self.getTypedRuleContext(frameQLParser.IterateStatementContext,0) - - - def returnStatement(self): - return self.getTypedRuleContext(frameQLParser.ReturnStatementContext,0) - - - def cursorStatement(self): - return self.getTypedRuleContext(frameQLParser.CursorStatementContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_compoundStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCompoundStatement" ): - listener.enterCompoundStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCompoundStatement" ): - listener.exitCompoundStatement(self) - - - - - def compoundStatement(self): - - localctx = frameQLParser.CompoundStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 18, self.RULE_compoundStatement) - try: - self.state = 753 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,14,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 743 - self.blockStatement() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 744 - self.caseStatement() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 745 - self.ifStatement() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 746 - self.leaveStatement() - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 747 - self.loopStatement() - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 748 - self.repeatStatement() - pass - - elif la_ == 7: - self.enterOuterAlt(localctx, 7) - self.state = 749 - self.whileStatement() - pass - - elif la_ == 8: - self.enterOuterAlt(localctx, 8) - self.state = 750 - self.iterateStatement() - pass - - elif la_ == 9: - self.enterOuterAlt(localctx, 9) - self.state = 751 - self.returnStatement() - pass - - elif la_ == 10: - self.enterOuterAlt(localctx, 10) - self.state = 752 - self.cursorStatement() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AdministrationStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def alterUser(self): - return self.getTypedRuleContext(frameQLParser.AlterUserContext,0) - - - def createUser(self): - return self.getTypedRuleContext(frameQLParser.CreateUserContext,0) - - - def dropUser(self): - return self.getTypedRuleContext(frameQLParser.DropUserContext,0) - - - def grantStatement(self): - return self.getTypedRuleContext(frameQLParser.GrantStatementContext,0) - - - def grantProxy(self): - return self.getTypedRuleContext(frameQLParser.GrantProxyContext,0) - - - def renameUser(self): - return self.getTypedRuleContext(frameQLParser.RenameUserContext,0) - - - def revokeStatement(self): - return self.getTypedRuleContext(frameQLParser.RevokeStatementContext,0) - - - def revokeProxy(self): - return self.getTypedRuleContext(frameQLParser.RevokeProxyContext,0) - - - def analyzeTable(self): - return self.getTypedRuleContext(frameQLParser.AnalyzeTableContext,0) - - - def checkTable(self): - return self.getTypedRuleContext(frameQLParser.CheckTableContext,0) - - - def checksumTable(self): - return self.getTypedRuleContext(frameQLParser.ChecksumTableContext,0) - - - def optimizeTable(self): - return self.getTypedRuleContext(frameQLParser.OptimizeTableContext,0) - - - def repairTable(self): - return self.getTypedRuleContext(frameQLParser.RepairTableContext,0) - - - def createUdfunction(self): - return self.getTypedRuleContext(frameQLParser.CreateUdfunctionContext,0) - - - def installPlugin(self): - return self.getTypedRuleContext(frameQLParser.InstallPluginContext,0) - - - def uninstallPlugin(self): - return self.getTypedRuleContext(frameQLParser.UninstallPluginContext,0) - - - def setStatement(self): - return self.getTypedRuleContext(frameQLParser.SetStatementContext,0) - - - def showStatement(self): - return self.getTypedRuleContext(frameQLParser.ShowStatementContext,0) - - - def binlogStatement(self): - return self.getTypedRuleContext(frameQLParser.BinlogStatementContext,0) - - - def cacheIndexStatement(self): - return self.getTypedRuleContext(frameQLParser.CacheIndexStatementContext,0) - - - def flushStatement(self): - return self.getTypedRuleContext(frameQLParser.FlushStatementContext,0) - - - def killStatement(self): - return self.getTypedRuleContext(frameQLParser.KillStatementContext,0) - - - def loadIndexIntoCache(self): - return self.getTypedRuleContext(frameQLParser.LoadIndexIntoCacheContext,0) - - - def resetStatement(self): - return self.getTypedRuleContext(frameQLParser.ResetStatementContext,0) - - - def shutdownStatement(self): - return self.getTypedRuleContext(frameQLParser.ShutdownStatementContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_administrationStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAdministrationStatement" ): - listener.enterAdministrationStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAdministrationStatement" ): - listener.exitAdministrationStatement(self) - - - - - def administrationStatement(self): - - localctx = frameQLParser.AdministrationStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 20, self.RULE_administrationStatement) - try: - self.state = 780 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,15,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 755 - self.alterUser() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 756 - self.createUser() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 757 - self.dropUser() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 758 - self.grantStatement() - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 759 - self.grantProxy() - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 760 - self.renameUser() - pass - - elif la_ == 7: - self.enterOuterAlt(localctx, 7) - self.state = 761 - self.revokeStatement() - pass - - elif la_ == 8: - self.enterOuterAlt(localctx, 8) - self.state = 762 - self.revokeProxy() - pass - - elif la_ == 9: - self.enterOuterAlt(localctx, 9) - self.state = 763 - self.analyzeTable() - pass - - elif la_ == 10: - self.enterOuterAlt(localctx, 10) - self.state = 764 - self.checkTable() - pass - - elif la_ == 11: - self.enterOuterAlt(localctx, 11) - self.state = 765 - self.checksumTable() - pass - - elif la_ == 12: - self.enterOuterAlt(localctx, 12) - self.state = 766 - self.optimizeTable() - pass - - elif la_ == 13: - self.enterOuterAlt(localctx, 13) - self.state = 767 - self.repairTable() - pass - - elif la_ == 14: - self.enterOuterAlt(localctx, 14) - self.state = 768 - self.createUdfunction() - pass - - elif la_ == 15: - self.enterOuterAlt(localctx, 15) - self.state = 769 - self.installPlugin() - pass - - elif la_ == 16: - self.enterOuterAlt(localctx, 16) - self.state = 770 - self.uninstallPlugin() - pass - - elif la_ == 17: - self.enterOuterAlt(localctx, 17) - self.state = 771 - self.setStatement() - pass - - elif la_ == 18: - self.enterOuterAlt(localctx, 18) - self.state = 772 - self.showStatement() - pass - - elif la_ == 19: - self.enterOuterAlt(localctx, 19) - self.state = 773 - self.binlogStatement() - pass - - elif la_ == 20: - self.enterOuterAlt(localctx, 20) - self.state = 774 - self.cacheIndexStatement() - pass - - elif la_ == 21: - self.enterOuterAlt(localctx, 21) - self.state = 775 - self.flushStatement() - pass - - elif la_ == 22: - self.enterOuterAlt(localctx, 22) - self.state = 776 - self.killStatement() - pass - - elif la_ == 23: - self.enterOuterAlt(localctx, 23) - self.state = 777 - self.loadIndexIntoCache() - pass - - elif la_ == 24: - self.enterOuterAlt(localctx, 24) - self.state = 778 - self.resetStatement() - pass - - elif la_ == 25: - self.enterOuterAlt(localctx, 25) - self.state = 779 - self.shutdownStatement() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class UtilityStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def simpleDescribeStatement(self): - return self.getTypedRuleContext(frameQLParser.SimpleDescribeStatementContext,0) - - - def fullDescribeStatement(self): - return self.getTypedRuleContext(frameQLParser.FullDescribeStatementContext,0) - - - def helpStatement(self): - return self.getTypedRuleContext(frameQLParser.HelpStatementContext,0) - - - def useStatement(self): - return self.getTypedRuleContext(frameQLParser.UseStatementContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_utilityStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUtilityStatement" ): - listener.enterUtilityStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUtilityStatement" ): - listener.exitUtilityStatement(self) - - - - - def utilityStatement(self): - - localctx = frameQLParser.UtilityStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 22, self.RULE_utilityStatement) - try: - self.state = 786 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,16,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 782 - self.simpleDescribeStatement() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 783 - self.fullDescribeStatement() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 784 - self.helpStatement() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 785 - self.useStatement() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CreateDatabaseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.dbFormat = None # Token - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def DATABASE(self): - return self.getToken(frameQLParser.DATABASE, 0) - - def SCHEMA(self): - return self.getToken(frameQLParser.SCHEMA, 0) - - def ifNotExists(self): - return self.getTypedRuleContext(frameQLParser.IfNotExistsContext,0) - - - def createDatabaseOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.CreateDatabaseOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.CreateDatabaseOptionContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_createDatabase - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateDatabase" ): - listener.enterCreateDatabase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateDatabase" ): - listener.exitCreateDatabase(self) - - - - - def createDatabase(self): - - localctx = frameQLParser.CreateDatabaseContext(self, self._ctx, self.state) - self.enterRule(localctx, 24, self.RULE_createDatabase) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 788 - self.match(frameQLParser.CREATE) - self.state = 789 - localctx.dbFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DATABASE or _la==frameQLParser.SCHEMA): - localctx.dbFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 791 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 790 - self.ifNotExists() - - - self.state = 793 - self.uid() - self.state = 797 - self._errHandler.sync(self) - _la = self._input.LA(1) - while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << frameQLParser.CHARACTER) | (1 << frameQLParser.COLLATE) | (1 << frameQLParser.DEFAULT))) != 0) or _la==frameQLParser.CHARSET: - self.state = 794 - self.createDatabaseOption() - self.state = 799 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CreateEventContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def EVENT(self): - return self.getToken(frameQLParser.EVENT, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def ON(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.ON) - else: - return self.getToken(frameQLParser.ON, i) - - def SCHEDULE(self): - return self.getToken(frameQLParser.SCHEDULE, 0) - - def scheduleExpression(self): - return self.getTypedRuleContext(frameQLParser.ScheduleExpressionContext,0) - - - def DO(self): - return self.getToken(frameQLParser.DO, 0) - - def routineBody(self): - return self.getTypedRuleContext(frameQLParser.RoutineBodyContext,0) - - - def ownerStatement(self): - return self.getTypedRuleContext(frameQLParser.OwnerStatementContext,0) - - - def ifNotExists(self): - return self.getTypedRuleContext(frameQLParser.IfNotExistsContext,0) - - - def COMPLETION(self): - return self.getToken(frameQLParser.COMPLETION, 0) - - def PRESERVE(self): - return self.getToken(frameQLParser.PRESERVE, 0) - - def enableType(self): - return self.getTypedRuleContext(frameQLParser.EnableTypeContext,0) - - - def COMMENT(self): - return self.getToken(frameQLParser.COMMENT, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_createEvent - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateEvent" ): - listener.enterCreateEvent(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateEvent" ): - listener.exitCreateEvent(self) - - - - - def createEvent(self): - - localctx = frameQLParser.CreateEventContext(self, self._ctx, self.state) - self.enterRule(localctx, 26, self.RULE_createEvent) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 800 - self.match(frameQLParser.CREATE) - self.state = 802 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFINER: - self.state = 801 - self.ownerStatement() - - - self.state = 804 - self.match(frameQLParser.EVENT) - self.state = 806 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 805 - self.ifNotExists() - - - self.state = 808 - self.fullId() - self.state = 809 - self.match(frameQLParser.ON) - self.state = 810 - self.match(frameQLParser.SCHEDULE) - self.state = 811 - self.scheduleExpression() - self.state = 818 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ON: - self.state = 812 - self.match(frameQLParser.ON) - self.state = 813 - self.match(frameQLParser.COMPLETION) - self.state = 815 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NOT: - self.state = 814 - self.match(frameQLParser.NOT) - - - self.state = 817 - self.match(frameQLParser.PRESERVE) - - - self.state = 821 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DISABLE or _la==frameQLParser.ENABLE: - self.state = 820 - self.enableType() - - - self.state = 825 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COMMENT: - self.state = 823 - self.match(frameQLParser.COMMENT) - self.state = 824 - self.match(frameQLParser.STRING_LITERAL) - - - self.state = 827 - self.match(frameQLParser.DO) - self.state = 828 - self.routineBody() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CreateIndexContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.intimeAction = None # Token - self.indexCategory = None # Token - self.algType = None # Token - self.lockType = None # Token - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - - def indexType(self): - return self.getTypedRuleContext(frameQLParser.IndexTypeContext,0) - - - def indexOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IndexOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.IndexOptionContext,i) - - - def ALGORITHM(self): - return self.getToken(frameQLParser.ALGORITHM, 0) - - def LOCK(self): - return self.getToken(frameQLParser.LOCK, 0) - - def ONLINE(self): - return self.getToken(frameQLParser.ONLINE, 0) - - def OFFLINE(self): - return self.getToken(frameQLParser.OFFLINE, 0) - - def UNIQUE(self): - return self.getToken(frameQLParser.UNIQUE, 0) - - def FULLTEXT(self): - return self.getToken(frameQLParser.FULLTEXT, 0) - - def SPATIAL(self): - return self.getToken(frameQLParser.SPATIAL, 0) - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def INPLACE(self): - return self.getToken(frameQLParser.INPLACE, 0) - - def COPY(self): - return self.getToken(frameQLParser.COPY, 0) - - def NONE(self): - return self.getToken(frameQLParser.NONE, 0) - - def SHARED(self): - return self.getToken(frameQLParser.SHARED, 0) - - def EXCLUSIVE(self): - return self.getToken(frameQLParser.EXCLUSIVE, 0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_createIndex - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateIndex" ): - listener.enterCreateIndex(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateIndex" ): - listener.exitCreateIndex(self) - - - - - def createIndex(self): - - localctx = frameQLParser.CreateIndexContext(self, self._ctx, self.state) - self.enterRule(localctx, 28, self.RULE_createIndex) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 830 - self.match(frameQLParser.CREATE) - self.state = 832 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.OFFLINE or _la==frameQLParser.ONLINE: - self.state = 831 - localctx.intimeAction = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.OFFLINE or _la==frameQLParser.ONLINE): - localctx.intimeAction = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 835 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FULLTEXT or _la==frameQLParser.SPATIAL or _la==frameQLParser.UNIQUE: - self.state = 834 - localctx.indexCategory = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FULLTEXT or _la==frameQLParser.SPATIAL or _la==frameQLParser.UNIQUE): - localctx.indexCategory = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 837 - self.match(frameQLParser.INDEX) - self.state = 838 - self.uid() - self.state = 840 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.USING: - self.state = 839 - self.indexType() - - - self.state = 842 - self.match(frameQLParser.ON) - self.state = 843 - self.tableName() - self.state = 844 - self.indexColumnNames() - self.state = 848 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.USING or _la==frameQLParser.WITH or _la==frameQLParser.COMMENT or _la==frameQLParser.KEY_BLOCK_SIZE: - self.state = 845 - self.indexOption() - self.state = 850 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 861 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ALGORITHM]: - self.state = 851 - self.match(frameQLParser.ALGORITHM) - self.state = 853 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 852 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 855 - localctx.algType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.COPY or _la==frameQLParser.INPLACE): - localctx.algType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - elif token in [frameQLParser.LOCK]: - self.state = 856 - self.match(frameQLParser.LOCK) - self.state = 858 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 857 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 860 - localctx.lockType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.EXCLUSIVE or _la==frameQLParser.NONE or _la==frameQLParser.SHARED): - localctx.lockType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - elif token in [frameQLParser.EOF, frameQLParser.MINUSMINUS, frameQLParser.SEMI]: - pass - else: - pass - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CreateLogfileGroupContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.undoFile = None # Token - self.initSize = None # FileSizeLiteralContext - self.undoSize = None # FileSizeLiteralContext - self.redoSize = None # FileSizeLiteralContext - self.comment = None # Token - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def LOGFILE(self): - return self.getToken(frameQLParser.LOGFILE, 0) - - def GROUP(self): - return self.getToken(frameQLParser.GROUP, 0) - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - - def UNDOFILE(self): - return self.getToken(frameQLParser.UNDOFILE, 0) - - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - - def engineName(self): - return self.getTypedRuleContext(frameQLParser.EngineNameContext,0) - - - def STRING_LITERAL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.STRING_LITERAL) - else: - return self.getToken(frameQLParser.STRING_LITERAL, i) - - def INITIAL_SIZE(self): - return self.getToken(frameQLParser.INITIAL_SIZE, 0) - - def UNDO_BUFFER_SIZE(self): - return self.getToken(frameQLParser.UNDO_BUFFER_SIZE, 0) - - def REDO_BUFFER_SIZE(self): - return self.getToken(frameQLParser.REDO_BUFFER_SIZE, 0) - - def NODEGROUP(self): - return self.getToken(frameQLParser.NODEGROUP, 0) - - def WAIT(self): - return self.getToken(frameQLParser.WAIT, 0) - - def COMMENT(self): - return self.getToken(frameQLParser.COMMENT, 0) - - def EQUAL_SYMBOL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.EQUAL_SYMBOL) - else: - return self.getToken(frameQLParser.EQUAL_SYMBOL, i) - - def fileSizeLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.FileSizeLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.FileSizeLiteralContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_createLogfileGroup - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateLogfileGroup" ): - listener.enterCreateLogfileGroup(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateLogfileGroup" ): - listener.exitCreateLogfileGroup(self) - - - - - def createLogfileGroup(self): - - localctx = frameQLParser.CreateLogfileGroupContext(self, self._ctx, self.state) - self.enterRule(localctx, 30, self.RULE_createLogfileGroup) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 863 - self.match(frameQLParser.CREATE) - self.state = 864 - self.match(frameQLParser.LOGFILE) - self.state = 865 - self.match(frameQLParser.GROUP) - self.state = 866 - self.uid() - self.state = 867 - self.match(frameQLParser.ADD) - self.state = 868 - self.match(frameQLParser.UNDOFILE) - self.state = 869 - localctx.undoFile = self.match(frameQLParser.STRING_LITERAL) - self.state = 875 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INITIAL_SIZE: - self.state = 870 - self.match(frameQLParser.INITIAL_SIZE) - self.state = 872 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 871 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 874 - localctx.initSize = self.fileSizeLiteral() - - - self.state = 882 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.UNDO_BUFFER_SIZE: - self.state = 877 - self.match(frameQLParser.UNDO_BUFFER_SIZE) - self.state = 879 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 878 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 881 - localctx.undoSize = self.fileSizeLiteral() - - - self.state = 889 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.REDO_BUFFER_SIZE: - self.state = 884 - self.match(frameQLParser.REDO_BUFFER_SIZE) - self.state = 886 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 885 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 888 - localctx.redoSize = self.fileSizeLiteral() - - - self.state = 896 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NODEGROUP: - self.state = 891 - self.match(frameQLParser.NODEGROUP) - self.state = 893 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 892 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 895 - self.uid() - - - self.state = 899 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WAIT: - self.state = 898 - self.match(frameQLParser.WAIT) - - - self.state = 906 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COMMENT: - self.state = 901 - self.match(frameQLParser.COMMENT) - self.state = 903 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 902 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 905 - localctx.comment = self.match(frameQLParser.STRING_LITERAL) - - - self.state = 908 - self.match(frameQLParser.ENGINE) - self.state = 910 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 909 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 912 - self.engineName() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CreateProcedureContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def PROCEDURE(self): - return self.getToken(frameQLParser.PROCEDURE, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def routineBody(self): - return self.getTypedRuleContext(frameQLParser.RoutineBodyContext,0) - - - def ownerStatement(self): - return self.getTypedRuleContext(frameQLParser.OwnerStatementContext,0) - - - def procedureParameter(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ProcedureParameterContext) - else: - return self.getTypedRuleContext(frameQLParser.ProcedureParameterContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def routineOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.RoutineOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.RoutineOptionContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_createProcedure - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateProcedure" ): - listener.enterCreateProcedure(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateProcedure" ): - listener.exitCreateProcedure(self) - - - - - def createProcedure(self): - - localctx = frameQLParser.CreateProcedureContext(self, self._ctx, self.state) - self.enterRule(localctx, 32, self.RULE_createProcedure) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 914 - self.match(frameQLParser.CREATE) - self.state = 916 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFINER: - self.state = 915 - self.ownerStatement() - - - self.state = 918 - self.match(frameQLParser.PROCEDURE) - self.state = 919 - self.fullId() - self.state = 920 - self.match(frameQLParser.LR_BRACKET) - self.state = 922 - self._errHandler.sync(self) - _la = self._input.LA(1) - if ((((_la - 70)) & ~0x3f) == 0 and ((1 << (_la - 70)) & ((1 << (frameQLParser.IN - 70)) | (1 << (frameQLParser.INOUT - 70)) | (1 << (frameQLParser.OUT - 70)))) != 0): - self.state = 921 - self.procedureParameter() - - - self.state = 928 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 924 - self.match(frameQLParser.COMMA) - self.state = 925 - self.procedureParameter() - self.state = 930 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 931 - self.match(frameQLParser.RR_BRACKET) - self.state = 935 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,47,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 932 - self.routineOption() - self.state = 937 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,47,self._ctx) - - self.state = 938 - self.routineBody() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CreateFunctionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def FUNCTION(self): - return self.getToken(frameQLParser.FUNCTION, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def RETURNS(self): - return self.getToken(frameQLParser.RETURNS, 0) - - def dataType(self): - return self.getTypedRuleContext(frameQLParser.DataTypeContext,0) - - - def routineBody(self): - return self.getTypedRuleContext(frameQLParser.RoutineBodyContext,0) - - - def ownerStatement(self): - return self.getTypedRuleContext(frameQLParser.OwnerStatementContext,0) - - - def functionParameter(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.FunctionParameterContext) - else: - return self.getTypedRuleContext(frameQLParser.FunctionParameterContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def routineOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.RoutineOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.RoutineOptionContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_createFunction - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateFunction" ): - listener.enterCreateFunction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateFunction" ): - listener.exitCreateFunction(self) - - - - - def createFunction(self): - - localctx = frameQLParser.CreateFunctionContext(self, self._ctx, self.state) - self.enterRule(localctx, 34, self.RULE_createFunction) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 940 - self.match(frameQLParser.CREATE) - self.state = 942 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFINER: - self.state = 941 - self.ownerStatement() - - - self.state = 944 - self.match(frameQLParser.FUNCTION) - self.state = 945 - self.fullId() - self.state = 946 - self.match(frameQLParser.LR_BRACKET) - self.state = 948 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 947 - self.functionParameter() - - - self.state = 954 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 950 - self.match(frameQLParser.COMMA) - self.state = 951 - self.functionParameter() - self.state = 956 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 957 - self.match(frameQLParser.RR_BRACKET) - self.state = 958 - self.match(frameQLParser.RETURNS) - self.state = 959 - self.dataType() - self.state = 963 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,51,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 960 - self.routineOption() - self.state = 965 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,51,self._ctx) - - self.state = 966 - self.routineBody() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CreateServerContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.wrapperName = None # Token - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def SERVER(self): - return self.getToken(frameQLParser.SERVER, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def FOREIGN(self): - return self.getToken(frameQLParser.FOREIGN, 0) - - def DATA(self): - return self.getToken(frameQLParser.DATA, 0) - - def WRAPPER(self): - return self.getToken(frameQLParser.WRAPPER, 0) - - def OPTIONS(self): - return self.getToken(frameQLParser.OPTIONS, 0) - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def serverOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ServerOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.ServerOptionContext,i) - - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def MYSQL(self): - return self.getToken(frameQLParser.MYSQL, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_createServer - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateServer" ): - listener.enterCreateServer(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateServer" ): - listener.exitCreateServer(self) - - - - - def createServer(self): - - localctx = frameQLParser.CreateServerContext(self, self._ctx, self.state) - self.enterRule(localctx, 36, self.RULE_createServer) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 968 - self.match(frameQLParser.CREATE) - self.state = 969 - self.match(frameQLParser.SERVER) - self.state = 970 - self.uid() - self.state = 971 - self.match(frameQLParser.FOREIGN) - self.state = 972 - self.match(frameQLParser.DATA) - self.state = 973 - self.match(frameQLParser.WRAPPER) - self.state = 974 - localctx.wrapperName = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.MYSQL or _la==frameQLParser.STRING_LITERAL): - localctx.wrapperName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 975 - self.match(frameQLParser.OPTIONS) - self.state = 976 - self.match(frameQLParser.LR_BRACKET) - self.state = 977 - self.serverOption() - self.state = 982 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 978 - self.match(frameQLParser.COMMA) - self.state = 979 - self.serverOption() - self.state = 984 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 985 - self.match(frameQLParser.RR_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CreateTableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_createTable - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class CopyCreateTableContext(CreateTableContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.CreateTableContext - super().__init__(parser) - self.parenthesisTable = None # TableNameContext - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - def tableName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TableNameContext) - else: - return self.getTypedRuleContext(frameQLParser.TableNameContext,i) - - def LIKE(self): - return self.getToken(frameQLParser.LIKE, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def TEMPORARY(self): - return self.getToken(frameQLParser.TEMPORARY, 0) - def ifNotExists(self): - return self.getTypedRuleContext(frameQLParser.IfNotExistsContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCopyCreateTable" ): - listener.enterCopyCreateTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCopyCreateTable" ): - listener.exitCopyCreateTable(self) - - - class ColumnCreateTableContext(CreateTableContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.CreateTableContext - super().__init__(parser) - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - def createDefinitions(self): - return self.getTypedRuleContext(frameQLParser.CreateDefinitionsContext,0) - - def TEMPORARY(self): - return self.getToken(frameQLParser.TEMPORARY, 0) - def ifNotExists(self): - return self.getTypedRuleContext(frameQLParser.IfNotExistsContext,0) - - def tableOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TableOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.TableOptionContext,i) - - def partitionDefinitions(self): - return self.getTypedRuleContext(frameQLParser.PartitionDefinitionsContext,0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterColumnCreateTable" ): - listener.enterColumnCreateTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitColumnCreateTable" ): - listener.exitColumnCreateTable(self) - - - class QueryCreateTableContext(CreateTableContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.CreateTableContext - super().__init__(parser) - self.keyViolate = None # Token - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - def TEMPORARY(self): - return self.getToken(frameQLParser.TEMPORARY, 0) - def ifNotExists(self): - return self.getTypedRuleContext(frameQLParser.IfNotExistsContext,0) - - def createDefinitions(self): - return self.getTypedRuleContext(frameQLParser.CreateDefinitionsContext,0) - - def tableOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TableOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.TableOptionContext,i) - - def partitionDefinitions(self): - return self.getTypedRuleContext(frameQLParser.PartitionDefinitionsContext,0) - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - def IGNORE(self): - return self.getToken(frameQLParser.IGNORE, 0) - def REPLACE(self): - return self.getToken(frameQLParser.REPLACE, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterQueryCreateTable" ): - listener.enterQueryCreateTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitQueryCreateTable" ): - listener.exitQueryCreateTable(self) - - - - def createTable(self): - - localctx = frameQLParser.CreateTableContext(self, self._ctx, self.state) - self.enterRule(localctx, 38, self.RULE_createTable) - self._la = 0 # Token type - try: - self.state = 1065 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,71,self._ctx) - if la_ == 1: - localctx = frameQLParser.CopyCreateTableContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 987 - self.match(frameQLParser.CREATE) - self.state = 989 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.TEMPORARY: - self.state = 988 - self.match(frameQLParser.TEMPORARY) - - - self.state = 991 - self.match(frameQLParser.TABLE) - self.state = 993 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 992 - self.ifNotExists() - - - self.state = 995 - self.tableName() - self.state = 1003 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.LIKE]: - self.state = 996 - self.match(frameQLParser.LIKE) - self.state = 997 - self.tableName() - pass - elif token in [frameQLParser.LR_BRACKET]: - self.state = 998 - self.match(frameQLParser.LR_BRACKET) - self.state = 999 - self.match(frameQLParser.LIKE) - self.state = 1000 - localctx.parenthesisTable = self.tableName() - self.state = 1001 - self.match(frameQLParser.RR_BRACKET) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 2: - localctx = frameQLParser.QueryCreateTableContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1005 - self.match(frameQLParser.CREATE) - self.state = 1007 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.TEMPORARY: - self.state = 1006 - self.match(frameQLParser.TEMPORARY) - - - self.state = 1009 - self.match(frameQLParser.TABLE) - self.state = 1011 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 1010 - self.ifNotExists() - - - self.state = 1013 - self.tableName() - self.state = 1015 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,58,self._ctx) - if la_ == 1: - self.state = 1014 - self.createDefinitions() - - - self.state = 1027 - self._errHandler.sync(self) - _la = self._input.LA(1) - if ((((_la - 24)) & ~0x3f) == 0 and ((1 << (_la - 24)) & ((1 << (frameQLParser.CHARACTER - 24)) | (1 << (frameQLParser.COLLATE - 24)) | (1 << (frameQLParser.DEFAULT - 24)) | (1 << (frameQLParser.INDEX - 24)))) != 0) or _la==frameQLParser.UNION or ((((_la - 260)) & ~0x3f) == 0 and ((1 << (_la - 260)) & ((1 << (frameQLParser.AUTO_INCREMENT - 260)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 260)) | (1 << (frameQLParser.CHECKSUM - 260)) | (1 << (frameQLParser.COMMENT - 260)) | (1 << (frameQLParser.COMPRESSION - 260)) | (1 << (frameQLParser.CONNECTION - 260)) | (1 << (frameQLParser.DATA - 260)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 260)) | (1 << (frameQLParser.ENCRYPTION - 260)) | (1 << (frameQLParser.ENGINE - 260)))) != 0) or ((((_la - 357)) & ~0x3f) == 0 and ((1 << (_la - 357)) & ((1 << (frameQLParser.INSERT_METHOD - 357)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 357)) | (1 << (frameQLParser.MAX_ROWS - 357)) | (1 << (frameQLParser.MIN_ROWS - 357)))) != 0) or ((((_la - 432)) & ~0x3f) == 0 and ((1 << (_la - 432)) & ((1 << (frameQLParser.PACK_KEYS - 432)) | (1 << (frameQLParser.PASSWORD - 432)) | (1 << (frameQLParser.ROW_FORMAT - 432)))) != 0) or ((((_la - 508)) & ~0x3f) == 0 and ((1 << (_la - 508)) & ((1 << (frameQLParser.STATS_AUTO_RECALC - 508)) | (1 << (frameQLParser.STATS_PERSISTENT - 508)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 508)) | (1 << (frameQLParser.TABLESPACE - 508)))) != 0) or _la==frameQLParser.CHARSET: - self.state = 1017 - self.tableOption() - self.state = 1024 - self._errHandler.sync(self) - _la = self._input.LA(1) - while ((((_la - 24)) & ~0x3f) == 0 and ((1 << (_la - 24)) & ((1 << (frameQLParser.CHARACTER - 24)) | (1 << (frameQLParser.COLLATE - 24)) | (1 << (frameQLParser.DEFAULT - 24)) | (1 << (frameQLParser.INDEX - 24)))) != 0) or _la==frameQLParser.UNION or ((((_la - 260)) & ~0x3f) == 0 and ((1 << (_la - 260)) & ((1 << (frameQLParser.AUTO_INCREMENT - 260)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 260)) | (1 << (frameQLParser.CHECKSUM - 260)) | (1 << (frameQLParser.COMMENT - 260)) | (1 << (frameQLParser.COMPRESSION - 260)) | (1 << (frameQLParser.CONNECTION - 260)) | (1 << (frameQLParser.DATA - 260)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 260)) | (1 << (frameQLParser.ENCRYPTION - 260)) | (1 << (frameQLParser.ENGINE - 260)))) != 0) or ((((_la - 357)) & ~0x3f) == 0 and ((1 << (_la - 357)) & ((1 << (frameQLParser.INSERT_METHOD - 357)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 357)) | (1 << (frameQLParser.MAX_ROWS - 357)) | (1 << (frameQLParser.MIN_ROWS - 357)))) != 0) or ((((_la - 432)) & ~0x3f) == 0 and ((1 << (_la - 432)) & ((1 << (frameQLParser.PACK_KEYS - 432)) | (1 << (frameQLParser.PASSWORD - 432)) | (1 << (frameQLParser.ROW_FORMAT - 432)))) != 0) or ((((_la - 508)) & ~0x3f) == 0 and ((1 << (_la - 508)) & ((1 << (frameQLParser.STATS_AUTO_RECALC - 508)) | (1 << (frameQLParser.STATS_PERSISTENT - 508)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 508)) | (1 << (frameQLParser.TABLESPACE - 508)))) != 0) or _la==frameQLParser.CHARSET or _la==frameQLParser.COMMA: - self.state = 1019 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COMMA: - self.state = 1018 - self.match(frameQLParser.COMMA) - - - self.state = 1021 - self.tableOption() - self.state = 1026 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - self.state = 1030 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PARTITION: - self.state = 1029 - self.partitionDefinitions() - - - self.state = 1033 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE or _la==frameQLParser.REPLACE: - self.state = 1032 - localctx.keyViolate = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.IGNORE or _la==frameQLParser.REPLACE): - localctx.keyViolate = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 1036 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS: - self.state = 1035 - self.match(frameQLParser.AS) - - - self.state = 1038 - self.selectStatement() - pass - - elif la_ == 3: - localctx = frameQLParser.ColumnCreateTableContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1040 - self.match(frameQLParser.CREATE) - self.state = 1042 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.TEMPORARY: - self.state = 1041 - self.match(frameQLParser.TEMPORARY) - - - self.state = 1044 - self.match(frameQLParser.TABLE) - self.state = 1046 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 1045 - self.ifNotExists() - - - self.state = 1048 - self.tableName() - self.state = 1049 - self.createDefinitions() - self.state = 1060 - self._errHandler.sync(self) - _la = self._input.LA(1) - if ((((_la - 24)) & ~0x3f) == 0 and ((1 << (_la - 24)) & ((1 << (frameQLParser.CHARACTER - 24)) | (1 << (frameQLParser.COLLATE - 24)) | (1 << (frameQLParser.DEFAULT - 24)) | (1 << (frameQLParser.INDEX - 24)))) != 0) or _la==frameQLParser.UNION or ((((_la - 260)) & ~0x3f) == 0 and ((1 << (_la - 260)) & ((1 << (frameQLParser.AUTO_INCREMENT - 260)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 260)) | (1 << (frameQLParser.CHECKSUM - 260)) | (1 << (frameQLParser.COMMENT - 260)) | (1 << (frameQLParser.COMPRESSION - 260)) | (1 << (frameQLParser.CONNECTION - 260)) | (1 << (frameQLParser.DATA - 260)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 260)) | (1 << (frameQLParser.ENCRYPTION - 260)) | (1 << (frameQLParser.ENGINE - 260)))) != 0) or ((((_la - 357)) & ~0x3f) == 0 and ((1 << (_la - 357)) & ((1 << (frameQLParser.INSERT_METHOD - 357)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 357)) | (1 << (frameQLParser.MAX_ROWS - 357)) | (1 << (frameQLParser.MIN_ROWS - 357)))) != 0) or ((((_la - 432)) & ~0x3f) == 0 and ((1 << (_la - 432)) & ((1 << (frameQLParser.PACK_KEYS - 432)) | (1 << (frameQLParser.PASSWORD - 432)) | (1 << (frameQLParser.ROW_FORMAT - 432)))) != 0) or ((((_la - 508)) & ~0x3f) == 0 and ((1 << (_la - 508)) & ((1 << (frameQLParser.STATS_AUTO_RECALC - 508)) | (1 << (frameQLParser.STATS_PERSISTENT - 508)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 508)) | (1 << (frameQLParser.TABLESPACE - 508)))) != 0) or _la==frameQLParser.CHARSET: - self.state = 1050 - self.tableOption() - self.state = 1057 - self._errHandler.sync(self) - _la = self._input.LA(1) - while ((((_la - 24)) & ~0x3f) == 0 and ((1 << (_la - 24)) & ((1 << (frameQLParser.CHARACTER - 24)) | (1 << (frameQLParser.COLLATE - 24)) | (1 << (frameQLParser.DEFAULT - 24)) | (1 << (frameQLParser.INDEX - 24)))) != 0) or _la==frameQLParser.UNION or ((((_la - 260)) & ~0x3f) == 0 and ((1 << (_la - 260)) & ((1 << (frameQLParser.AUTO_INCREMENT - 260)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 260)) | (1 << (frameQLParser.CHECKSUM - 260)) | (1 << (frameQLParser.COMMENT - 260)) | (1 << (frameQLParser.COMPRESSION - 260)) | (1 << (frameQLParser.CONNECTION - 260)) | (1 << (frameQLParser.DATA - 260)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 260)) | (1 << (frameQLParser.ENCRYPTION - 260)) | (1 << (frameQLParser.ENGINE - 260)))) != 0) or ((((_la - 357)) & ~0x3f) == 0 and ((1 << (_la - 357)) & ((1 << (frameQLParser.INSERT_METHOD - 357)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 357)) | (1 << (frameQLParser.MAX_ROWS - 357)) | (1 << (frameQLParser.MIN_ROWS - 357)))) != 0) or ((((_la - 432)) & ~0x3f) == 0 and ((1 << (_la - 432)) & ((1 << (frameQLParser.PACK_KEYS - 432)) | (1 << (frameQLParser.PASSWORD - 432)) | (1 << (frameQLParser.ROW_FORMAT - 432)))) != 0) or ((((_la - 508)) & ~0x3f) == 0 and ((1 << (_la - 508)) & ((1 << (frameQLParser.STATS_AUTO_RECALC - 508)) | (1 << (frameQLParser.STATS_PERSISTENT - 508)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 508)) | (1 << (frameQLParser.TABLESPACE - 508)))) != 0) or _la==frameQLParser.CHARSET or _la==frameQLParser.COMMA: - self.state = 1052 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COMMA: - self.state = 1051 - self.match(frameQLParser.COMMA) - - - self.state = 1054 - self.tableOption() - self.state = 1059 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - self.state = 1063 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PARTITION: - self.state = 1062 - self.partitionDefinitions() - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CreateTablespaceInnodbContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.datafile = None # Token - self.fileBlockSize = None # FileSizeLiteralContext - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - - def DATAFILE(self): - return self.getToken(frameQLParser.DATAFILE, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def FILE_BLOCK_SIZE(self): - return self.getToken(frameQLParser.FILE_BLOCK_SIZE, 0) - - def EQUAL_SYMBOL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.EQUAL_SYMBOL) - else: - return self.getToken(frameQLParser.EQUAL_SYMBOL, i) - - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - - def engineName(self): - return self.getTypedRuleContext(frameQLParser.EngineNameContext,0) - - - def fileSizeLiteral(self): - return self.getTypedRuleContext(frameQLParser.FileSizeLiteralContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_createTablespaceInnodb - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateTablespaceInnodb" ): - listener.enterCreateTablespaceInnodb(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateTablespaceInnodb" ): - listener.exitCreateTablespaceInnodb(self) - - - - - def createTablespaceInnodb(self): - - localctx = frameQLParser.CreateTablespaceInnodbContext(self, self._ctx, self.state) - self.enterRule(localctx, 40, self.RULE_createTablespaceInnodb) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1067 - self.match(frameQLParser.CREATE) - self.state = 1068 - self.match(frameQLParser.TABLESPACE) - self.state = 1069 - self.uid() - self.state = 1070 - self.match(frameQLParser.ADD) - self.state = 1071 - self.match(frameQLParser.DATAFILE) - self.state = 1072 - localctx.datafile = self.match(frameQLParser.STRING_LITERAL) - self.state = 1076 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FILE_BLOCK_SIZE: - self.state = 1073 - self.match(frameQLParser.FILE_BLOCK_SIZE) - self.state = 1074 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 1075 - localctx.fileBlockSize = self.fileSizeLiteral() - - - self.state = 1083 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ENGINE: - self.state = 1078 - self.match(frameQLParser.ENGINE) - self.state = 1080 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1079 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1082 - self.engineName() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CreateTablespaceNdbContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.datafile = None # Token - self.extentSize = None # FileSizeLiteralContext - self.initialSize = None # FileSizeLiteralContext - self.autoextendSize = None # FileSizeLiteralContext - self.maxSize = None # FileSizeLiteralContext - self.comment = None # Token - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - - def DATAFILE(self): - return self.getToken(frameQLParser.DATAFILE, 0) - - def USE(self): - return self.getToken(frameQLParser.USE, 0) - - def LOGFILE(self): - return self.getToken(frameQLParser.LOGFILE, 0) - - def GROUP(self): - return self.getToken(frameQLParser.GROUP, 0) - - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - - def engineName(self): - return self.getTypedRuleContext(frameQLParser.EngineNameContext,0) - - - def STRING_LITERAL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.STRING_LITERAL) - else: - return self.getToken(frameQLParser.STRING_LITERAL, i) - - def EXTENT_SIZE(self): - return self.getToken(frameQLParser.EXTENT_SIZE, 0) - - def INITIAL_SIZE(self): - return self.getToken(frameQLParser.INITIAL_SIZE, 0) - - def AUTOEXTEND_SIZE(self): - return self.getToken(frameQLParser.AUTOEXTEND_SIZE, 0) - - def MAX_SIZE(self): - return self.getToken(frameQLParser.MAX_SIZE, 0) - - def NODEGROUP(self): - return self.getToken(frameQLParser.NODEGROUP, 0) - - def WAIT(self): - return self.getToken(frameQLParser.WAIT, 0) - - def COMMENT(self): - return self.getToken(frameQLParser.COMMENT, 0) - - def EQUAL_SYMBOL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.EQUAL_SYMBOL) - else: - return self.getToken(frameQLParser.EQUAL_SYMBOL, i) - - def fileSizeLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.FileSizeLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.FileSizeLiteralContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_createTablespaceNdb - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateTablespaceNdb" ): - listener.enterCreateTablespaceNdb(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateTablespaceNdb" ): - listener.exitCreateTablespaceNdb(self) - - - - - def createTablespaceNdb(self): - - localctx = frameQLParser.CreateTablespaceNdbContext(self, self._ctx, self.state) - self.enterRule(localctx, 42, self.RULE_createTablespaceNdb) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1085 - self.match(frameQLParser.CREATE) - self.state = 1086 - self.match(frameQLParser.TABLESPACE) - self.state = 1087 - self.uid() - self.state = 1088 - self.match(frameQLParser.ADD) - self.state = 1089 - self.match(frameQLParser.DATAFILE) - self.state = 1090 - localctx.datafile = self.match(frameQLParser.STRING_LITERAL) - self.state = 1091 - self.match(frameQLParser.USE) - self.state = 1092 - self.match(frameQLParser.LOGFILE) - self.state = 1093 - self.match(frameQLParser.GROUP) - self.state = 1094 - self.uid() - self.state = 1100 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EXTENT_SIZE: - self.state = 1095 - self.match(frameQLParser.EXTENT_SIZE) - self.state = 1097 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1096 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1099 - localctx.extentSize = self.fileSizeLiteral() - - - self.state = 1107 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INITIAL_SIZE: - self.state = 1102 - self.match(frameQLParser.INITIAL_SIZE) - self.state = 1104 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1103 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1106 - localctx.initialSize = self.fileSizeLiteral() - - - self.state = 1114 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AUTOEXTEND_SIZE: - self.state = 1109 - self.match(frameQLParser.AUTOEXTEND_SIZE) - self.state = 1111 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1110 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1113 - localctx.autoextendSize = self.fileSizeLiteral() - - - self.state = 1121 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.MAX_SIZE: - self.state = 1116 - self.match(frameQLParser.MAX_SIZE) - self.state = 1118 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1117 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1120 - localctx.maxSize = self.fileSizeLiteral() - - - self.state = 1128 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NODEGROUP: - self.state = 1123 - self.match(frameQLParser.NODEGROUP) - self.state = 1125 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1124 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1127 - self.uid() - - - self.state = 1131 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WAIT: - self.state = 1130 - self.match(frameQLParser.WAIT) - - - self.state = 1138 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COMMENT: - self.state = 1133 - self.match(frameQLParser.COMMENT) - self.state = 1135 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1134 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1137 - localctx.comment = self.match(frameQLParser.STRING_LITERAL) - - - self.state = 1140 - self.match(frameQLParser.ENGINE) - self.state = 1142 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1141 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1144 - self.engineName() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CreateTriggerContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.thisTrigger = None # FullIdContext - self.triggerTime = None # Token - self.triggerEvent = None # Token - self.triggerPlace = None # Token - self.otherTrigger = None # FullIdContext - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def TRIGGER(self): - return self.getToken(frameQLParser.TRIGGER, 0) - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def EACH(self): - return self.getToken(frameQLParser.EACH, 0) - - def ROW(self): - return self.getToken(frameQLParser.ROW, 0) - - def routineBody(self): - return self.getTypedRuleContext(frameQLParser.RoutineBodyContext,0) - - - def fullId(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.FullIdContext) - else: - return self.getTypedRuleContext(frameQLParser.FullIdContext,i) - - - def BEFORE(self): - return self.getToken(frameQLParser.BEFORE, 0) - - def AFTER(self): - return self.getToken(frameQLParser.AFTER, 0) - - def INSERT(self): - return self.getToken(frameQLParser.INSERT, 0) - - def UPDATE(self): - return self.getToken(frameQLParser.UPDATE, 0) - - def DELETE(self): - return self.getToken(frameQLParser.DELETE, 0) - - def ownerStatement(self): - return self.getTypedRuleContext(frameQLParser.OwnerStatementContext,0) - - - def FOLLOWS(self): - return self.getToken(frameQLParser.FOLLOWS, 0) - - def PRECEDES(self): - return self.getToken(frameQLParser.PRECEDES, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_createTrigger - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateTrigger" ): - listener.enterCreateTrigger(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateTrigger" ): - listener.exitCreateTrigger(self) - - - - - def createTrigger(self): - - localctx = frameQLParser.CreateTriggerContext(self, self._ctx, self.state) - self.enterRule(localctx, 44, self.RULE_createTrigger) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1146 - self.match(frameQLParser.CREATE) - self.state = 1148 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFINER: - self.state = 1147 - self.ownerStatement() - - - self.state = 1150 - self.match(frameQLParser.TRIGGER) - self.state = 1151 - localctx.thisTrigger = self.fullId() - self.state = 1152 - localctx.triggerTime = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.BEFORE or _la==frameQLParser.AFTER): - localctx.triggerTime = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 1153 - localctx.triggerEvent = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DELETE or _la==frameQLParser.INSERT or _la==frameQLParser.UPDATE): - localctx.triggerEvent = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 1154 - self.match(frameQLParser.ON) - self.state = 1155 - self.tableName() - self.state = 1156 - self.match(frameQLParser.FOR) - self.state = 1157 - self.match(frameQLParser.EACH) - self.state = 1158 - self.match(frameQLParser.ROW) - self.state = 1161 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,90,self._ctx) - if la_ == 1: - self.state = 1159 - localctx.triggerPlace = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FOLLOWS or _la==frameQLParser.PRECEDES): - localctx.triggerPlace = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 1160 - localctx.otherTrigger = self.fullId() - - - self.state = 1163 - self.routineBody() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CreateViewContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.algType = None # Token - self.secContext = None # Token - self.checkOption = None # Token - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def VIEW(self): - return self.getToken(frameQLParser.VIEW, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - - def OR(self): - return self.getToken(frameQLParser.OR, 0) - - def REPLACE(self): - return self.getToken(frameQLParser.REPLACE, 0) - - def ALGORITHM(self): - return self.getToken(frameQLParser.ALGORITHM, 0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def ownerStatement(self): - return self.getTypedRuleContext(frameQLParser.OwnerStatementContext,0) - - - def SQL(self): - return self.getToken(frameQLParser.SQL, 0) - - def SECURITY(self): - return self.getToken(frameQLParser.SECURITY, 0) - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - - def CHECK(self): - return self.getToken(frameQLParser.CHECK, 0) - - def OPTION(self): - return self.getToken(frameQLParser.OPTION, 0) - - def UNDEFINED(self): - return self.getToken(frameQLParser.UNDEFINED, 0) - - def MERGE(self): - return self.getToken(frameQLParser.MERGE, 0) - - def TEMPTABLE(self): - return self.getToken(frameQLParser.TEMPTABLE, 0) - - def DEFINER(self): - return self.getToken(frameQLParser.DEFINER, 0) - - def INVOKER(self): - return self.getToken(frameQLParser.INVOKER, 0) - - def CASCADED(self): - return self.getToken(frameQLParser.CASCADED, 0) - - def LOCAL(self): - return self.getToken(frameQLParser.LOCAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_createView - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateView" ): - listener.enterCreateView(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateView" ): - listener.exitCreateView(self) - - - - - def createView(self): - - localctx = frameQLParser.CreateViewContext(self, self._ctx, self.state) - self.enterRule(localctx, 46, self.RULE_createView) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1165 - self.match(frameQLParser.CREATE) - self.state = 1168 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.OR: - self.state = 1166 - self.match(frameQLParser.OR) - self.state = 1167 - self.match(frameQLParser.REPLACE) - - - self.state = 1173 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALGORITHM: - self.state = 1170 - self.match(frameQLParser.ALGORITHM) - self.state = 1171 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 1172 - localctx.algType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.MERGE or _la==frameQLParser.TEMPTABLE or _la==frameQLParser.UNDEFINED): - localctx.algType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 1176 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFINER: - self.state = 1175 - self.ownerStatement() - - - self.state = 1181 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SQL: - self.state = 1178 - self.match(frameQLParser.SQL) - self.state = 1179 - self.match(frameQLParser.SECURITY) - self.state = 1180 - localctx.secContext = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFINER or _la==frameQLParser.INVOKER): - localctx.secContext = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 1183 - self.match(frameQLParser.VIEW) - self.state = 1184 - self.fullId() - self.state = 1189 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 1185 - self.match(frameQLParser.LR_BRACKET) - self.state = 1186 - self.uidList() - self.state = 1187 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 1191 - self.match(frameQLParser.AS) - self.state = 1192 - self.selectStatement() - self.state = 1199 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WITH: - self.state = 1193 - self.match(frameQLParser.WITH) - self.state = 1195 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CASCADED or _la==frameQLParser.LOCAL: - self.state = 1194 - localctx.checkOption = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.CASCADED or _la==frameQLParser.LOCAL): - localctx.checkOption = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 1197 - self.match(frameQLParser.CHECK) - self.state = 1198 - self.match(frameQLParser.OPTION) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CreateDatabaseOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - - def CHARSET(self): - return self.getToken(frameQLParser.CHARSET, 0) - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def COLLATE(self): - return self.getToken(frameQLParser.COLLATE, 0) - - def collationName(self): - return self.getTypedRuleContext(frameQLParser.CollationNameContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_createDatabaseOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateDatabaseOption" ): - listener.enterCreateDatabaseOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateDatabaseOption" ): - listener.exitCreateDatabaseOption(self) - - - - - def createDatabaseOption(self): - - localctx = frameQLParser.CreateDatabaseOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 48, self.RULE_createDatabaseOption) - self._la = 0 # Token type - try: - self.state = 1221 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,103,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 1202 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFAULT: - self.state = 1201 - self.match(frameQLParser.DEFAULT) - - - self.state = 1207 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.CHARACTER]: - self.state = 1204 - self.match(frameQLParser.CHARACTER) - self.state = 1205 - self.match(frameQLParser.SET) - pass - elif token in [frameQLParser.CHARSET]: - self.state = 1206 - self.match(frameQLParser.CHARSET) - pass - else: - raise NoViableAltException(self) - - self.state = 1210 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1209 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1212 - self.charsetName() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 1214 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFAULT: - self.state = 1213 - self.match(frameQLParser.DEFAULT) - - - self.state = 1216 - self.match(frameQLParser.COLLATE) - self.state = 1218 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1217 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1220 - self.collationName() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class OwnerStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DEFINER(self): - return self.getToken(frameQLParser.DEFINER, 0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def userName(self): - return self.getTypedRuleContext(frameQLParser.UserNameContext,0) - - - def CURRENT_USER(self): - return self.getToken(frameQLParser.CURRENT_USER, 0) - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_ownerStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterOwnerStatement" ): - listener.enterOwnerStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitOwnerStatement" ): - listener.exitOwnerStatement(self) - - - - - def ownerStatement(self): - - localctx = frameQLParser.OwnerStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 50, self.RULE_ownerStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1223 - self.match(frameQLParser.DEFINER) - self.state = 1224 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 1231 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ID, frameQLParser.STRING_USER_NAME]: - self.state = 1225 - self.userName() - pass - elif token in [frameQLParser.CURRENT_USER]: - self.state = 1226 - self.match(frameQLParser.CURRENT_USER) - self.state = 1229 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 1227 - self.match(frameQLParser.LR_BRACKET) - self.state = 1228 - self.match(frameQLParser.RR_BRACKET) - - - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ScheduleExpressionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_scheduleExpression - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class PreciseScheduleContext(ScheduleExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ScheduleExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def AT(self): - return self.getToken(frameQLParser.AT, 0) - def timestampValue(self): - return self.getTypedRuleContext(frameQLParser.TimestampValueContext,0) - - def intervalExpr(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IntervalExprContext) - else: - return self.getTypedRuleContext(frameQLParser.IntervalExprContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPreciseSchedule" ): - listener.enterPreciseSchedule(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPreciseSchedule" ): - listener.exitPreciseSchedule(self) - - - class IntervalScheduleContext(ScheduleExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ScheduleExpressionContext - super().__init__(parser) - self.start = None # TimestampValueContext - self._intervalExpr = None # IntervalExprContext - self.startIntervals = list() # of IntervalExprContexts - self.end = None # TimestampValueContext - self.endIntervals = list() # of IntervalExprContexts - self.copyFrom(ctx) - - def EVERY(self): - return self.getToken(frameQLParser.EVERY, 0) - def intervalType(self): - return self.getTypedRuleContext(frameQLParser.IntervalTypeContext,0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def STARTS(self): - return self.getToken(frameQLParser.STARTS, 0) - def ENDS(self): - return self.getToken(frameQLParser.ENDS, 0) - def timestampValue(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TimestampValueContext) - else: - return self.getTypedRuleContext(frameQLParser.TimestampValueContext,i) - - def intervalExpr(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IntervalExprContext) - else: - return self.getTypedRuleContext(frameQLParser.IntervalExprContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIntervalSchedule" ): - listener.enterIntervalSchedule(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIntervalSchedule" ): - listener.exitIntervalSchedule(self) - - - - def scheduleExpression(self): - - localctx = frameQLParser.ScheduleExpressionContext(self, self._ctx, self.state) - self.enterRule(localctx, 52, self.RULE_scheduleExpression) - self._la = 0 # Token type - try: - self.state = 1267 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.AT]: - localctx = frameQLParser.PreciseScheduleContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1233 - self.match(frameQLParser.AT) - self.state = 1234 - self.timestampValue() - self.state = 1238 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.PLUS: - self.state = 1235 - self.intervalExpr() - self.state = 1240 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - elif token in [frameQLParser.EVERY]: - localctx = frameQLParser.IntervalScheduleContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1241 - self.match(frameQLParser.EVERY) - self.state = 1244 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,107,self._ctx) - if la_ == 1: - self.state = 1242 - self.decimalLiteral() - pass - - elif la_ == 2: - self.state = 1243 - self.expression(0) - pass - - - self.state = 1246 - self.intervalType() - self.state = 1255 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.STARTS: - self.state = 1247 - self.match(frameQLParser.STARTS) - self.state = 1248 - localctx.start = self.timestampValue() - self.state = 1252 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.PLUS: - self.state = 1249 - localctx._intervalExpr = self.intervalExpr() - localctx.startIntervals.append(localctx._intervalExpr) - self.state = 1254 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - self.state = 1265 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ENDS: - self.state = 1257 - self.match(frameQLParser.ENDS) - self.state = 1258 - localctx.end = self.timestampValue() - self.state = 1262 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.PLUS: - self.state = 1259 - localctx._intervalExpr = self.intervalExpr() - localctx.endIntervals.append(localctx._intervalExpr) - self.state = 1264 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TimestampValueContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CURRENT_TIMESTAMP(self): - return self.getToken(frameQLParser.CURRENT_TIMESTAMP, 0) - - def stringLiteral(self): - return self.getTypedRuleContext(frameQLParser.StringLiteralContext,0) - - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_timestampValue - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTimestampValue" ): - listener.enterTimestampValue(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTimestampValue" ): - listener.exitTimestampValue(self) - - - - - def timestampValue(self): - - localctx = frameQLParser.TimestampValueContext(self, self._ctx, self.state) - self.enterRule(localctx, 54, self.RULE_timestampValue) - try: - self.state = 1273 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,113,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 1269 - self.match(frameQLParser.CURRENT_TIMESTAMP) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 1270 - self.stringLiteral() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 1271 - self.decimalLiteral() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 1272 - self.expression(0) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class IntervalExprContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def PLUS(self): - return self.getToken(frameQLParser.PLUS, 0) - - def INTERVAL(self): - return self.getToken(frameQLParser.INTERVAL, 0) - - def intervalType(self): - return self.getTypedRuleContext(frameQLParser.IntervalTypeContext,0) - - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_intervalExpr - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIntervalExpr" ): - listener.enterIntervalExpr(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIntervalExpr" ): - listener.exitIntervalExpr(self) - - - - - def intervalExpr(self): - - localctx = frameQLParser.IntervalExprContext(self, self._ctx, self.state) - self.enterRule(localctx, 56, self.RULE_intervalExpr) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1275 - self.match(frameQLParser.PLUS) - self.state = 1276 - self.match(frameQLParser.INTERVAL) - self.state = 1279 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,114,self._ctx) - if la_ == 1: - self.state = 1277 - self.decimalLiteral() - pass - - elif la_ == 2: - self.state = 1278 - self.expression(0) - pass - - - self.state = 1281 - self.intervalType() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class IntervalTypeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def intervalTypeBase(self): - return self.getTypedRuleContext(frameQLParser.IntervalTypeBaseContext,0) - - - def YEAR(self): - return self.getToken(frameQLParser.YEAR, 0) - - def YEAR_MONTH(self): - return self.getToken(frameQLParser.YEAR_MONTH, 0) - - def DAY_HOUR(self): - return self.getToken(frameQLParser.DAY_HOUR, 0) - - def DAY_MINUTE(self): - return self.getToken(frameQLParser.DAY_MINUTE, 0) - - def DAY_SECOND(self): - return self.getToken(frameQLParser.DAY_SECOND, 0) - - def HOUR_MINUTE(self): - return self.getToken(frameQLParser.HOUR_MINUTE, 0) - - def HOUR_SECOND(self): - return self.getToken(frameQLParser.HOUR_SECOND, 0) - - def MINUTE_SECOND(self): - return self.getToken(frameQLParser.MINUTE_SECOND, 0) - - def SECOND_MICROSECOND(self): - return self.getToken(frameQLParser.SECOND_MICROSECOND, 0) - - def MINUTE_MICROSECOND(self): - return self.getToken(frameQLParser.MINUTE_MICROSECOND, 0) - - def HOUR_MICROSECOND(self): - return self.getToken(frameQLParser.HOUR_MICROSECOND, 0) - - def DAY_MICROSECOND(self): - return self.getToken(frameQLParser.DAY_MICROSECOND, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_intervalType - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIntervalType" ): - listener.enterIntervalType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIntervalType" ): - listener.exitIntervalType(self) - - - - - def intervalType(self): - - localctx = frameQLParser.IntervalTypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 58, self.RULE_intervalType) - try: - self.state = 1296 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND]: - self.enterOuterAlt(localctx, 1) - self.state = 1283 - self.intervalTypeBase() - pass - elif token in [frameQLParser.YEAR]: - self.enterOuterAlt(localctx, 2) - self.state = 1284 - self.match(frameQLParser.YEAR) - pass - elif token in [frameQLParser.YEAR_MONTH]: - self.enterOuterAlt(localctx, 3) - self.state = 1285 - self.match(frameQLParser.YEAR_MONTH) - pass - elif token in [frameQLParser.DAY_HOUR]: - self.enterOuterAlt(localctx, 4) - self.state = 1286 - self.match(frameQLParser.DAY_HOUR) - pass - elif token in [frameQLParser.DAY_MINUTE]: - self.enterOuterAlt(localctx, 5) - self.state = 1287 - self.match(frameQLParser.DAY_MINUTE) - pass - elif token in [frameQLParser.DAY_SECOND]: - self.enterOuterAlt(localctx, 6) - self.state = 1288 - self.match(frameQLParser.DAY_SECOND) - pass - elif token in [frameQLParser.HOUR_MINUTE]: - self.enterOuterAlt(localctx, 7) - self.state = 1289 - self.match(frameQLParser.HOUR_MINUTE) - pass - elif token in [frameQLParser.HOUR_SECOND]: - self.enterOuterAlt(localctx, 8) - self.state = 1290 - self.match(frameQLParser.HOUR_SECOND) - pass - elif token in [frameQLParser.MINUTE_SECOND]: - self.enterOuterAlt(localctx, 9) - self.state = 1291 - self.match(frameQLParser.MINUTE_SECOND) - pass - elif token in [frameQLParser.SECOND_MICROSECOND]: - self.enterOuterAlt(localctx, 10) - self.state = 1292 - self.match(frameQLParser.SECOND_MICROSECOND) - pass - elif token in [frameQLParser.MINUTE_MICROSECOND]: - self.enterOuterAlt(localctx, 11) - self.state = 1293 - self.match(frameQLParser.MINUTE_MICROSECOND) - pass - elif token in [frameQLParser.HOUR_MICROSECOND]: - self.enterOuterAlt(localctx, 12) - self.state = 1294 - self.match(frameQLParser.HOUR_MICROSECOND) - pass - elif token in [frameQLParser.DAY_MICROSECOND]: - self.enterOuterAlt(localctx, 13) - self.state = 1295 - self.match(frameQLParser.DAY_MICROSECOND) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class EnableTypeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ENABLE(self): - return self.getToken(frameQLParser.ENABLE, 0) - - def DISABLE(self): - return self.getToken(frameQLParser.DISABLE, 0) - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - - def SLAVE(self): - return self.getToken(frameQLParser.SLAVE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_enableType - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterEnableType" ): - listener.enterEnableType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitEnableType" ): - listener.exitEnableType(self) - - - - - def enableType(self): - - localctx = frameQLParser.EnableTypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 60, self.RULE_enableType) - try: - self.state = 1303 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,116,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 1298 - self.match(frameQLParser.ENABLE) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 1299 - self.match(frameQLParser.DISABLE) - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 1300 - self.match(frameQLParser.DISABLE) - self.state = 1301 - self.match(frameQLParser.ON) - self.state = 1302 - self.match(frameQLParser.SLAVE) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class IndexTypeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def USING(self): - return self.getToken(frameQLParser.USING, 0) - - def BTREE(self): - return self.getToken(frameQLParser.BTREE, 0) - - def HASH(self): - return self.getToken(frameQLParser.HASH, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_indexType - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIndexType" ): - listener.enterIndexType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIndexType" ): - listener.exitIndexType(self) - - - - - def indexType(self): - - localctx = frameQLParser.IndexTypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 62, self.RULE_indexType) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1305 - self.match(frameQLParser.USING) - self.state = 1306 - _la = self._input.LA(1) - if not(_la==frameQLParser.BTREE or _la==frameQLParser.HASH): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class IndexOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def KEY_BLOCK_SIZE(self): - return self.getToken(frameQLParser.KEY_BLOCK_SIZE, 0) - - def fileSizeLiteral(self): - return self.getTypedRuleContext(frameQLParser.FileSizeLiteralContext,0) - - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def indexType(self): - return self.getTypedRuleContext(frameQLParser.IndexTypeContext,0) - - - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - - def PARSER(self): - return self.getToken(frameQLParser.PARSER, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def COMMENT(self): - return self.getToken(frameQLParser.COMMENT, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_indexOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIndexOption" ): - listener.enterIndexOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIndexOption" ): - listener.exitIndexOption(self) - - - - - def indexOption(self): - - localctx = frameQLParser.IndexOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 64, self.RULE_indexOption) - self._la = 0 # Token type - try: - self.state = 1319 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.KEY_BLOCK_SIZE]: - self.enterOuterAlt(localctx, 1) - self.state = 1308 - self.match(frameQLParser.KEY_BLOCK_SIZE) - self.state = 1310 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1309 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1312 - self.fileSizeLiteral() - pass - elif token in [frameQLParser.USING]: - self.enterOuterAlt(localctx, 2) - self.state = 1313 - self.indexType() - pass - elif token in [frameQLParser.WITH]: - self.enterOuterAlt(localctx, 3) - self.state = 1314 - self.match(frameQLParser.WITH) - self.state = 1315 - self.match(frameQLParser.PARSER) - self.state = 1316 - self.uid() - pass - elif token in [frameQLParser.COMMENT]: - self.enterOuterAlt(localctx, 4) - self.state = 1317 - self.match(frameQLParser.COMMENT) - self.state = 1318 - self.match(frameQLParser.STRING_LITERAL) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ProcedureParameterContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.direction = None # Token - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def dataType(self): - return self.getTypedRuleContext(frameQLParser.DataTypeContext,0) - - - def IN(self): - return self.getToken(frameQLParser.IN, 0) - - def OUT(self): - return self.getToken(frameQLParser.OUT, 0) - - def INOUT(self): - return self.getToken(frameQLParser.INOUT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_procedureParameter - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterProcedureParameter" ): - listener.enterProcedureParameter(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitProcedureParameter" ): - listener.exitProcedureParameter(self) - - - - - def procedureParameter(self): - - localctx = frameQLParser.ProcedureParameterContext(self, self._ctx, self.state) - self.enterRule(localctx, 66, self.RULE_procedureParameter) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1321 - localctx.direction = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 70)) & ~0x3f) == 0 and ((1 << (_la - 70)) & ((1 << (frameQLParser.IN - 70)) | (1 << (frameQLParser.INOUT - 70)) | (1 << (frameQLParser.OUT - 70)))) != 0)): - localctx.direction = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 1322 - self.uid() - self.state = 1323 - self.dataType() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class FunctionParameterContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def dataType(self): - return self.getTypedRuleContext(frameQLParser.DataTypeContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_functionParameter - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFunctionParameter" ): - listener.enterFunctionParameter(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFunctionParameter" ): - listener.exitFunctionParameter(self) - - - - - def functionParameter(self): - - localctx = frameQLParser.FunctionParameterContext(self, self._ctx, self.state) - self.enterRule(localctx, 68, self.RULE_functionParameter) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1325 - self.uid() - self.state = 1326 - self.dataType() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class RoutineOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_routineOption - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class RoutineBehaviorContext(RoutineOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.RoutineOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def DETERMINISTIC(self): - return self.getToken(frameQLParser.DETERMINISTIC, 0) - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRoutineBehavior" ): - listener.enterRoutineBehavior(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRoutineBehavior" ): - listener.exitRoutineBehavior(self) - - - class RoutineLanguageContext(RoutineOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.RoutineOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def LANGUAGE(self): - return self.getToken(frameQLParser.LANGUAGE, 0) - def SQL(self): - return self.getToken(frameQLParser.SQL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRoutineLanguage" ): - listener.enterRoutineLanguage(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRoutineLanguage" ): - listener.exitRoutineLanguage(self) - - - class RoutineCommentContext(RoutineOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.RoutineOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def COMMENT(self): - return self.getToken(frameQLParser.COMMENT, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRoutineComment" ): - listener.enterRoutineComment(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRoutineComment" ): - listener.exitRoutineComment(self) - - - class RoutineSecurityContext(RoutineOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.RoutineOptionContext - super().__init__(parser) - self.context = None # Token - self.copyFrom(ctx) - - def SQL(self): - return self.getToken(frameQLParser.SQL, 0) - def SECURITY(self): - return self.getToken(frameQLParser.SECURITY, 0) - def DEFINER(self): - return self.getToken(frameQLParser.DEFINER, 0) - def INVOKER(self): - return self.getToken(frameQLParser.INVOKER, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRoutineSecurity" ): - listener.enterRoutineSecurity(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRoutineSecurity" ): - listener.exitRoutineSecurity(self) - - - class RoutineDataContext(RoutineOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.RoutineOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def CONTAINS(self): - return self.getToken(frameQLParser.CONTAINS, 0) - def SQL(self): - return self.getToken(frameQLParser.SQL, 0) - def NO(self): - return self.getToken(frameQLParser.NO, 0) - def READS(self): - return self.getToken(frameQLParser.READS, 0) - def DATA(self): - return self.getToken(frameQLParser.DATA, 0) - def MODIFIES(self): - return self.getToken(frameQLParser.MODIFIES, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRoutineData" ): - listener.enterRoutineData(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRoutineData" ): - listener.exitRoutineData(self) - - - - def routineOption(self): - - localctx = frameQLParser.RoutineOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 70, self.RULE_routineOption) - self._la = 0 # Token type - try: - self.state = 1351 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.COMMENT]: - localctx = frameQLParser.RoutineCommentContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1328 - self.match(frameQLParser.COMMENT) - self.state = 1329 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.LANGUAGE]: - localctx = frameQLParser.RoutineLanguageContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1330 - self.match(frameQLParser.LANGUAGE) - self.state = 1331 - self.match(frameQLParser.SQL) - pass - elif token in [frameQLParser.DETERMINISTIC, frameQLParser.NOT]: - localctx = frameQLParser.RoutineBehaviorContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1333 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NOT: - self.state = 1332 - self.match(frameQLParser.NOT) - - - self.state = 1335 - self.match(frameQLParser.DETERMINISTIC) - pass - elif token in [frameQLParser.MODIFIES, frameQLParser.READS, frameQLParser.CONTAINS, frameQLParser.NO]: - localctx = frameQLParser.RoutineDataContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 1346 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.CONTAINS]: - self.state = 1336 - self.match(frameQLParser.CONTAINS) - self.state = 1337 - self.match(frameQLParser.SQL) - pass - elif token in [frameQLParser.NO]: - self.state = 1338 - self.match(frameQLParser.NO) - self.state = 1339 - self.match(frameQLParser.SQL) - pass - elif token in [frameQLParser.READS]: - self.state = 1340 - self.match(frameQLParser.READS) - self.state = 1341 - self.match(frameQLParser.SQL) - self.state = 1342 - self.match(frameQLParser.DATA) - pass - elif token in [frameQLParser.MODIFIES]: - self.state = 1343 - self.match(frameQLParser.MODIFIES) - self.state = 1344 - self.match(frameQLParser.SQL) - self.state = 1345 - self.match(frameQLParser.DATA) - pass - else: - raise NoViableAltException(self) - - pass - elif token in [frameQLParser.SQL]: - localctx = frameQLParser.RoutineSecurityContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 1348 - self.match(frameQLParser.SQL) - self.state = 1349 - self.match(frameQLParser.SECURITY) - self.state = 1350 - localctx.context = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFINER or _la==frameQLParser.INVOKER): - localctx.context = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ServerOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def HOST(self): - return self.getToken(frameQLParser.HOST, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def DATABASE(self): - return self.getToken(frameQLParser.DATABASE, 0) - - def USER(self): - return self.getToken(frameQLParser.USER, 0) - - def PASSWORD(self): - return self.getToken(frameQLParser.PASSWORD, 0) - - def SOCKET(self): - return self.getToken(frameQLParser.SOCKET, 0) - - def OWNER(self): - return self.getToken(frameQLParser.OWNER, 0) - - def PORT(self): - return self.getToken(frameQLParser.PORT, 0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_serverOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterServerOption" ): - listener.enterServerOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitServerOption" ): - listener.exitServerOption(self) - - - - - def serverOption(self): - - localctx = frameQLParser.ServerOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 72, self.RULE_serverOption) - try: - self.state = 1367 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.HOST]: - self.enterOuterAlt(localctx, 1) - self.state = 1353 - self.match(frameQLParser.HOST) - self.state = 1354 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.DATABASE]: - self.enterOuterAlt(localctx, 2) - self.state = 1355 - self.match(frameQLParser.DATABASE) - self.state = 1356 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.USER]: - self.enterOuterAlt(localctx, 3) - self.state = 1357 - self.match(frameQLParser.USER) - self.state = 1358 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.PASSWORD]: - self.enterOuterAlt(localctx, 4) - self.state = 1359 - self.match(frameQLParser.PASSWORD) - self.state = 1360 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.SOCKET]: - self.enterOuterAlt(localctx, 5) - self.state = 1361 - self.match(frameQLParser.SOCKET) - self.state = 1362 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.OWNER]: - self.enterOuterAlt(localctx, 6) - self.state = 1363 - self.match(frameQLParser.OWNER) - self.state = 1364 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.PORT]: - self.enterOuterAlt(localctx, 7) - self.state = 1365 - self.match(frameQLParser.PORT) - self.state = 1366 - self.decimalLiteral() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CreateDefinitionsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def createDefinition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.CreateDefinitionContext) - else: - return self.getTypedRuleContext(frameQLParser.CreateDefinitionContext,i) - - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_createDefinitions - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateDefinitions" ): - listener.enterCreateDefinitions(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateDefinitions" ): - listener.exitCreateDefinitions(self) - - - - - def createDefinitions(self): - - localctx = frameQLParser.CreateDefinitionsContext(self, self._ctx, self.state) - self.enterRule(localctx, 74, self.RULE_createDefinitions) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1369 - self.match(frameQLParser.LR_BRACKET) - self.state = 1370 - self.createDefinition() - self.state = 1375 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 1371 - self.match(frameQLParser.COMMA) - self.state = 1372 - self.createDefinition() - self.state = 1377 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1378 - self.match(frameQLParser.RR_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CreateDefinitionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_createDefinition - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class ColumnDeclarationContext(CreateDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.CreateDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def columnDefinition(self): - return self.getTypedRuleContext(frameQLParser.ColumnDefinitionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterColumnDeclaration" ): - listener.enterColumnDeclaration(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitColumnDeclaration" ): - listener.exitColumnDeclaration(self) - - - class ConstraintDeclarationContext(CreateDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.CreateDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def tableConstraint(self): - return self.getTypedRuleContext(frameQLParser.TableConstraintContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterConstraintDeclaration" ): - listener.enterConstraintDeclaration(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitConstraintDeclaration" ): - listener.exitConstraintDeclaration(self) - - - class IndexDeclarationContext(CreateDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.CreateDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def indexColumnDefinition(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnDefinitionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIndexDeclaration" ): - listener.enterIndexDeclaration(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIndexDeclaration" ): - listener.exitIndexDeclaration(self) - - - - def createDefinition(self): - - localctx = frameQLParser.CreateDefinitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 76, self.RULE_createDefinition) - try: - self.state = 1385 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - localctx = frameQLParser.ColumnDeclarationContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1380 - self.uid() - self.state = 1381 - self.columnDefinition() - pass - elif token in [frameQLParser.CHECK, frameQLParser.CONSTRAINT, frameQLParser.FOREIGN, frameQLParser.PRIMARY, frameQLParser.UNIQUE]: - localctx = frameQLParser.ConstraintDeclarationContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1383 - self.tableConstraint() - pass - elif token in [frameQLParser.FULLTEXT, frameQLParser.INDEX, frameQLParser.KEY, frameQLParser.SPATIAL]: - localctx = frameQLParser.IndexDeclarationContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1384 - self.indexColumnDefinition() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ColumnDefinitionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def dataType(self): - return self.getTypedRuleContext(frameQLParser.DataTypeContext,0) - - - def columnConstraint(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ColumnConstraintContext) - else: - return self.getTypedRuleContext(frameQLParser.ColumnConstraintContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_columnDefinition - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterColumnDefinition" ): - listener.enterColumnDefinition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitColumnDefinition" ): - listener.exitColumnDefinition(self) - - - - - def columnDefinition(self): - - localctx = frameQLParser.ColumnDefinitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 78, self.RULE_columnDefinition) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1387 - self.dataType() - self.state = 1391 - self._errHandler.sync(self) - _la = self._input.LA(1) - while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << frameQLParser.AS) | (1 << frameQLParser.DEFAULT) | (1 << frameQLParser.GENERATED))) != 0) or ((((_la - 81)) & ~0x3f) == 0 and ((1 << (_la - 81)) & ((1 << (frameQLParser.KEY - 81)) | (1 << (frameQLParser.NOT - 81)) | (1 << (frameQLParser.NULL_LITERAL - 81)) | (1 << (frameQLParser.PRIMARY - 81)) | (1 << (frameQLParser.REFERENCES - 81)))) != 0) or _la==frameQLParser.UNIQUE or _la==frameQLParser.SERIAL or ((((_la - 260)) & ~0x3f) == 0 and ((1 << (_la - 260)) & ((1 << (frameQLParser.AUTO_INCREMENT - 260)) | (1 << (frameQLParser.COLUMN_FORMAT - 260)) | (1 << (frameQLParser.COMMENT - 260)))) != 0) or _la==frameQLParser.STORAGE or _la==frameQLParser.NULL_SPEC_LITERAL: - self.state = 1388 - self.columnConstraint() - self.state = 1393 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ColumnConstraintContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_columnConstraint - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class StorageColumnConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ColumnConstraintContext - super().__init__(parser) - self.storageval = None # Token - self.copyFrom(ctx) - - def STORAGE(self): - return self.getToken(frameQLParser.STORAGE, 0) - def DISK(self): - return self.getToken(frameQLParser.DISK, 0) - def MEMORY(self): - return self.getToken(frameQLParser.MEMORY, 0) - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStorageColumnConstraint" ): - listener.enterStorageColumnConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStorageColumnConstraint" ): - listener.exitStorageColumnConstraint(self) - - - class FormatColumnConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ColumnConstraintContext - super().__init__(parser) - self.colformat = None # Token - self.copyFrom(ctx) - - def COLUMN_FORMAT(self): - return self.getToken(frameQLParser.COLUMN_FORMAT, 0) - def FIXED(self): - return self.getToken(frameQLParser.FIXED, 0) - def DYNAMIC(self): - return self.getToken(frameQLParser.DYNAMIC, 0) - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFormatColumnConstraint" ): - listener.enterFormatColumnConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFormatColumnConstraint" ): - listener.exitFormatColumnConstraint(self) - - - class AutoIncrementColumnConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def AUTO_INCREMENT(self): - return self.getToken(frameQLParser.AUTO_INCREMENT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAutoIncrementColumnConstraint" ): - listener.enterAutoIncrementColumnConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAutoIncrementColumnConstraint" ): - listener.exitAutoIncrementColumnConstraint(self) - - - class CommentColumnConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def COMMENT(self): - return self.getToken(frameQLParser.COMMENT, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCommentColumnConstraint" ): - listener.enterCommentColumnConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCommentColumnConstraint" ): - listener.exitCommentColumnConstraint(self) - - - class PrimaryKeyColumnConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - def PRIMARY(self): - return self.getToken(frameQLParser.PRIMARY, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPrimaryKeyColumnConstraint" ): - listener.enterPrimaryKeyColumnConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPrimaryKeyColumnConstraint" ): - listener.exitPrimaryKeyColumnConstraint(self) - - - class UniqueKeyColumnConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def UNIQUE(self): - return self.getToken(frameQLParser.UNIQUE, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUniqueKeyColumnConstraint" ): - listener.enterUniqueKeyColumnConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUniqueKeyColumnConstraint" ): - listener.exitUniqueKeyColumnConstraint(self) - - - class SerialDefaultColumnConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def SERIAL(self): - return self.getToken(frameQLParser.SERIAL, 0) - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - def VALUE(self): - return self.getToken(frameQLParser.VALUE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSerialDefaultColumnConstraint" ): - listener.enterSerialDefaultColumnConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSerialDefaultColumnConstraint" ): - listener.exitSerialDefaultColumnConstraint(self) - - - class NullColumnConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def nullNotnull(self): - return self.getTypedRuleContext(frameQLParser.NullNotnullContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterNullColumnConstraint" ): - listener.enterNullColumnConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitNullColumnConstraint" ): - listener.exitNullColumnConstraint(self) - - - class DefaultColumnConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - def defaultValue(self): - return self.getTypedRuleContext(frameQLParser.DefaultValueContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDefaultColumnConstraint" ): - listener.enterDefaultColumnConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDefaultColumnConstraint" ): - listener.exitDefaultColumnConstraint(self) - - - class ReferenceColumnConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def referenceDefinition(self): - return self.getTypedRuleContext(frameQLParser.ReferenceDefinitionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterReferenceColumnConstraint" ): - listener.enterReferenceColumnConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitReferenceColumnConstraint" ): - listener.exitReferenceColumnConstraint(self) - - - class GeneratedColumnConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def GENERATED(self): - return self.getToken(frameQLParser.GENERATED, 0) - def ALWAYS(self): - return self.getToken(frameQLParser.ALWAYS, 0) - def VIRTUAL(self): - return self.getToken(frameQLParser.VIRTUAL, 0) - def STORED(self): - return self.getToken(frameQLParser.STORED, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterGeneratedColumnConstraint" ): - listener.enterGeneratedColumnConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitGeneratedColumnConstraint" ): - listener.exitGeneratedColumnConstraint(self) - - - - def columnConstraint(self): - - localctx = frameQLParser.ColumnConstraintContext(self, self._ctx, self.state) - self.enterRule(localctx, 80, self.RULE_columnConstraint) - self._la = 0 # Token type - try: - self.state = 1427 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.NOT, frameQLParser.NULL_LITERAL, frameQLParser.NULL_SPEC_LITERAL]: - localctx = frameQLParser.NullColumnConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1394 - self.nullNotnull() - pass - elif token in [frameQLParser.DEFAULT]: - localctx = frameQLParser.DefaultColumnConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1395 - self.match(frameQLParser.DEFAULT) - self.state = 1396 - self.defaultValue() - pass - elif token in [frameQLParser.AUTO_INCREMENT]: - localctx = frameQLParser.AutoIncrementColumnConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1397 - self.match(frameQLParser.AUTO_INCREMENT) - pass - elif token in [frameQLParser.KEY, frameQLParser.PRIMARY]: - localctx = frameQLParser.PrimaryKeyColumnConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 1399 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PRIMARY: - self.state = 1398 - self.match(frameQLParser.PRIMARY) - - - self.state = 1401 - self.match(frameQLParser.KEY) - pass - elif token in [frameQLParser.UNIQUE]: - localctx = frameQLParser.UniqueKeyColumnConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 1402 - self.match(frameQLParser.UNIQUE) - self.state = 1404 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,127,self._ctx) - if la_ == 1: - self.state = 1403 - self.match(frameQLParser.KEY) - - - pass - elif token in [frameQLParser.COMMENT]: - localctx = frameQLParser.CommentColumnConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 1406 - self.match(frameQLParser.COMMENT) - self.state = 1407 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.COLUMN_FORMAT]: - localctx = frameQLParser.FormatColumnConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 1408 - self.match(frameQLParser.COLUMN_FORMAT) - self.state = 1409 - localctx.colformat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.DYNAMIC or _la==frameQLParser.FIXED): - localctx.colformat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - elif token in [frameQLParser.STORAGE]: - localctx = frameQLParser.StorageColumnConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 8) - self.state = 1410 - self.match(frameQLParser.STORAGE) - self.state = 1411 - localctx.storageval = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.DISK or _la==frameQLParser.MEMORY): - localctx.storageval = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - elif token in [frameQLParser.REFERENCES]: - localctx = frameQLParser.ReferenceColumnConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 9) - self.state = 1412 - self.referenceDefinition() - pass - elif token in [frameQLParser.AS, frameQLParser.GENERATED]: - localctx = frameQLParser.GeneratedColumnConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 10) - self.state = 1415 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.GENERATED: - self.state = 1413 - self.match(frameQLParser.GENERATED) - self.state = 1414 - self.match(frameQLParser.ALWAYS) - - - self.state = 1417 - self.match(frameQLParser.AS) - self.state = 1418 - self.match(frameQLParser.LR_BRACKET) - self.state = 1419 - self.expression(0) - self.state = 1420 - self.match(frameQLParser.RR_BRACKET) - self.state = 1422 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.STORED or _la==frameQLParser.VIRTUAL: - self.state = 1421 - _la = self._input.LA(1) - if not(_la==frameQLParser.STORED or _la==frameQLParser.VIRTUAL): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - pass - elif token in [frameQLParser.SERIAL]: - localctx = frameQLParser.SerialDefaultColumnConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 11) - self.state = 1424 - self.match(frameQLParser.SERIAL) - self.state = 1425 - self.match(frameQLParser.DEFAULT) - self.state = 1426 - self.match(frameQLParser.VALUE) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TableConstraintContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_tableConstraint - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class UniqueKeyTableConstraintContext(TableConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableConstraintContext - super().__init__(parser) - self.name = None # UidContext - self.indexFormat = None # Token - self.index = None # UidContext - self.copyFrom(ctx) - - def UNIQUE(self): - return self.getToken(frameQLParser.UNIQUE, 0) - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - def CONSTRAINT(self): - return self.getToken(frameQLParser.CONSTRAINT, 0) - def indexType(self): - return self.getTypedRuleContext(frameQLParser.IndexTypeContext,0) - - def indexOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IndexOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.IndexOptionContext,i) - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUniqueKeyTableConstraint" ): - listener.enterUniqueKeyTableConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUniqueKeyTableConstraint" ): - listener.exitUniqueKeyTableConstraint(self) - - - class CheckTableConstraintContext(TableConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableConstraintContext - super().__init__(parser) - self.name = None # UidContext - self.copyFrom(ctx) - - def CHECK(self): - return self.getToken(frameQLParser.CHECK, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def CONSTRAINT(self): - return self.getToken(frameQLParser.CONSTRAINT, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCheckTableConstraint" ): - listener.enterCheckTableConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCheckTableConstraint" ): - listener.exitCheckTableConstraint(self) - - - class PrimaryKeyTableConstraintContext(TableConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableConstraintContext - super().__init__(parser) - self.name = None # UidContext - self.copyFrom(ctx) - - def PRIMARY(self): - return self.getToken(frameQLParser.PRIMARY, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - def CONSTRAINT(self): - return self.getToken(frameQLParser.CONSTRAINT, 0) - def indexType(self): - return self.getTypedRuleContext(frameQLParser.IndexTypeContext,0) - - def indexOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IndexOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.IndexOptionContext,i) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPrimaryKeyTableConstraint" ): - listener.enterPrimaryKeyTableConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPrimaryKeyTableConstraint" ): - listener.exitPrimaryKeyTableConstraint(self) - - - class ForeignKeyTableConstraintContext(TableConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableConstraintContext - super().__init__(parser) - self.name = None # UidContext - self.index = None # UidContext - self.copyFrom(ctx) - - def FOREIGN(self): - return self.getToken(frameQLParser.FOREIGN, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - def referenceDefinition(self): - return self.getTypedRuleContext(frameQLParser.ReferenceDefinitionContext,0) - - def CONSTRAINT(self): - return self.getToken(frameQLParser.CONSTRAINT, 0) - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterForeignKeyTableConstraint" ): - listener.enterForeignKeyTableConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitForeignKeyTableConstraint" ): - listener.exitForeignKeyTableConstraint(self) - - - - def tableConstraint(self): - - localctx = frameQLParser.TableConstraintContext(self, self._ctx, self.state) - self.enterRule(localctx, 82, self.RULE_tableConstraint) - self._la = 0 # Token type - try: - self.state = 1495 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,146,self._ctx) - if la_ == 1: - localctx = frameQLParser.PrimaryKeyTableConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1433 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CONSTRAINT: - self.state = 1429 - self.match(frameQLParser.CONSTRAINT) - self.state = 1431 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 1430 - localctx.name = self.uid() - - - - - self.state = 1435 - self.match(frameQLParser.PRIMARY) - self.state = 1436 - self.match(frameQLParser.KEY) - self.state = 1438 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.USING: - self.state = 1437 - self.indexType() - - - self.state = 1440 - self.indexColumnNames() - self.state = 1444 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.USING or _la==frameQLParser.WITH or _la==frameQLParser.COMMENT or _la==frameQLParser.KEY_BLOCK_SIZE: - self.state = 1441 - self.indexOption() - self.state = 1446 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 2: - localctx = frameQLParser.UniqueKeyTableConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1451 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CONSTRAINT: - self.state = 1447 - self.match(frameQLParser.CONSTRAINT) - self.state = 1449 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 1448 - localctx.name = self.uid() - - - - - self.state = 1453 - self.match(frameQLParser.UNIQUE) - self.state = 1455 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INDEX or _la==frameQLParser.KEY: - self.state = 1454 - localctx.indexFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.INDEX or _la==frameQLParser.KEY): - localctx.indexFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 1458 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 1457 - localctx.index = self.uid() - - - self.state = 1461 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.USING: - self.state = 1460 - self.indexType() - - - self.state = 1463 - self.indexColumnNames() - self.state = 1467 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.USING or _la==frameQLParser.WITH or _la==frameQLParser.COMMENT or _la==frameQLParser.KEY_BLOCK_SIZE: - self.state = 1464 - self.indexOption() - self.state = 1469 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 3: - localctx = frameQLParser.ForeignKeyTableConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1474 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CONSTRAINT: - self.state = 1470 - self.match(frameQLParser.CONSTRAINT) - self.state = 1472 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 1471 - localctx.name = self.uid() - - - - - self.state = 1476 - self.match(frameQLParser.FOREIGN) - self.state = 1477 - self.match(frameQLParser.KEY) - self.state = 1479 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 1478 - localctx.index = self.uid() - - - self.state = 1481 - self.indexColumnNames() - self.state = 1482 - self.referenceDefinition() - pass - - elif la_ == 4: - localctx = frameQLParser.CheckTableConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 1488 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CONSTRAINT: - self.state = 1484 - self.match(frameQLParser.CONSTRAINT) - self.state = 1486 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 1485 - localctx.name = self.uid() - - - - - self.state = 1490 - self.match(frameQLParser.CHECK) - self.state = 1491 - self.match(frameQLParser.LR_BRACKET) - self.state = 1492 - self.expression(0) - self.state = 1493 - self.match(frameQLParser.RR_BRACKET) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ReferenceDefinitionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.matchType = None # Token - - def REFERENCES(self): - return self.getToken(frameQLParser.REFERENCES, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - - def MATCH(self): - return self.getToken(frameQLParser.MATCH, 0) - - def referenceAction(self): - return self.getTypedRuleContext(frameQLParser.ReferenceActionContext,0) - - - def FULL(self): - return self.getToken(frameQLParser.FULL, 0) - - def PARTIAL(self): - return self.getToken(frameQLParser.PARTIAL, 0) - - def SIMPLE(self): - return self.getToken(frameQLParser.SIMPLE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_referenceDefinition - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterReferenceDefinition" ): - listener.enterReferenceDefinition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitReferenceDefinition" ): - listener.exitReferenceDefinition(self) - - - - - def referenceDefinition(self): - - localctx = frameQLParser.ReferenceDefinitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 84, self.RULE_referenceDefinition) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1497 - self.match(frameQLParser.REFERENCES) - self.state = 1498 - self.tableName() - self.state = 1499 - self.indexColumnNames() - self.state = 1502 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.MATCH: - self.state = 1500 - self.match(frameQLParser.MATCH) - self.state = 1501 - localctx.matchType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FULL or _la==frameQLParser.PARTIAL or _la==frameQLParser.SIMPLE): - localctx.matchType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 1505 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ON: - self.state = 1504 - self.referenceAction() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ReferenceActionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.onDelete = None # ReferenceControlTypeContext - self.onUpdate = None # ReferenceControlTypeContext - - def ON(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.ON) - else: - return self.getToken(frameQLParser.ON, i) - - def DELETE(self): - return self.getToken(frameQLParser.DELETE, 0) - - def referenceControlType(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ReferenceControlTypeContext) - else: - return self.getTypedRuleContext(frameQLParser.ReferenceControlTypeContext,i) - - - def UPDATE(self): - return self.getToken(frameQLParser.UPDATE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_referenceAction - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterReferenceAction" ): - listener.enterReferenceAction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitReferenceAction" ): - listener.exitReferenceAction(self) - - - - - def referenceAction(self): - - localctx = frameQLParser.ReferenceActionContext(self, self._ctx, self.state) - self.enterRule(localctx, 86, self.RULE_referenceAction) - self._la = 0 # Token type - try: - self.state = 1523 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,151,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 1507 - self.match(frameQLParser.ON) - self.state = 1508 - self.match(frameQLParser.DELETE) - self.state = 1509 - localctx.onDelete = self.referenceControlType() - self.state = 1513 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ON: - self.state = 1510 - self.match(frameQLParser.ON) - self.state = 1511 - self.match(frameQLParser.UPDATE) - self.state = 1512 - localctx.onUpdate = self.referenceControlType() - - - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 1515 - self.match(frameQLParser.ON) - self.state = 1516 - self.match(frameQLParser.UPDATE) - self.state = 1517 - localctx.onUpdate = self.referenceControlType() - self.state = 1521 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ON: - self.state = 1518 - self.match(frameQLParser.ON) - self.state = 1519 - self.match(frameQLParser.DELETE) - self.state = 1520 - localctx.onDelete = self.referenceControlType() - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ReferenceControlTypeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def RESTRICT(self): - return self.getToken(frameQLParser.RESTRICT, 0) - - def CASCADE(self): - return self.getToken(frameQLParser.CASCADE, 0) - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - - def NULL_LITERAL(self): - return self.getToken(frameQLParser.NULL_LITERAL, 0) - - def NO(self): - return self.getToken(frameQLParser.NO, 0) - - def ACTION(self): - return self.getToken(frameQLParser.ACTION, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_referenceControlType - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterReferenceControlType" ): - listener.enterReferenceControlType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitReferenceControlType" ): - listener.exitReferenceControlType(self) - - - - - def referenceControlType(self): - - localctx = frameQLParser.ReferenceControlTypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 88, self.RULE_referenceControlType) - try: - self.state = 1531 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.RESTRICT]: - self.enterOuterAlt(localctx, 1) - self.state = 1525 - self.match(frameQLParser.RESTRICT) - pass - elif token in [frameQLParser.CASCADE]: - self.enterOuterAlt(localctx, 2) - self.state = 1526 - self.match(frameQLParser.CASCADE) - pass - elif token in [frameQLParser.SET]: - self.enterOuterAlt(localctx, 3) - self.state = 1527 - self.match(frameQLParser.SET) - self.state = 1528 - self.match(frameQLParser.NULL_LITERAL) - pass - elif token in [frameQLParser.NO]: - self.enterOuterAlt(localctx, 4) - self.state = 1529 - self.match(frameQLParser.NO) - self.state = 1530 - self.match(frameQLParser.ACTION) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class IndexColumnDefinitionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_indexColumnDefinition - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class SpecialIndexDeclarationContext(IndexColumnDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.IndexColumnDefinitionContext - super().__init__(parser) - self.indexFormat = None # Token - self.copyFrom(ctx) - - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - def FULLTEXT(self): - return self.getToken(frameQLParser.FULLTEXT, 0) - def SPATIAL(self): - return self.getToken(frameQLParser.SPATIAL, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def indexOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IndexOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.IndexOptionContext,i) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSpecialIndexDeclaration" ): - listener.enterSpecialIndexDeclaration(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSpecialIndexDeclaration" ): - listener.exitSpecialIndexDeclaration(self) - - - class SimpleIndexDeclarationContext(IndexColumnDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.IndexColumnDefinitionContext - super().__init__(parser) - self.indexFormat = None # Token - self.copyFrom(ctx) - - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def indexType(self): - return self.getTypedRuleContext(frameQLParser.IndexTypeContext,0) - - def indexOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IndexOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.IndexOptionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSimpleIndexDeclaration" ): - listener.enterSimpleIndexDeclaration(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSimpleIndexDeclaration" ): - listener.exitSimpleIndexDeclaration(self) - - - - def indexColumnDefinition(self): - - localctx = frameQLParser.IndexColumnDefinitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 90, self.RULE_indexColumnDefinition) - self._la = 0 # Token type - try: - self.state = 1561 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.INDEX, frameQLParser.KEY]: - localctx = frameQLParser.SimpleIndexDeclarationContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1533 - localctx.indexFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.INDEX or _la==frameQLParser.KEY): - localctx.indexFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 1535 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 1534 - self.uid() - - - self.state = 1538 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.USING: - self.state = 1537 - self.indexType() - - - self.state = 1540 - self.indexColumnNames() - self.state = 1544 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.USING or _la==frameQLParser.WITH or _la==frameQLParser.COMMENT or _la==frameQLParser.KEY_BLOCK_SIZE: - self.state = 1541 - self.indexOption() - self.state = 1546 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - elif token in [frameQLParser.FULLTEXT, frameQLParser.SPATIAL]: - localctx = frameQLParser.SpecialIndexDeclarationContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1547 - _la = self._input.LA(1) - if not(_la==frameQLParser.FULLTEXT or _la==frameQLParser.SPATIAL): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 1549 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INDEX or _la==frameQLParser.KEY: - self.state = 1548 - localctx.indexFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.INDEX or _la==frameQLParser.KEY): - localctx.indexFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 1552 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 1551 - self.uid() - - - self.state = 1554 - self.indexColumnNames() - self.state = 1558 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.USING or _la==frameQLParser.WITH or _la==frameQLParser.COMMENT or _la==frameQLParser.KEY_BLOCK_SIZE: - self.state = 1555 - self.indexOption() - self.state = 1560 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TableOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_tableOption - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class TableOptionEngineContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - def engineName(self): - return self.getTypedRuleContext(frameQLParser.EngineNameContext,0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionEngine" ): - listener.enterTableOptionEngine(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionEngine" ): - listener.exitTableOptionEngine(self) - - - class TableOptionMaxRowsContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def MAX_ROWS(self): - return self.getToken(frameQLParser.MAX_ROWS, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionMaxRows" ): - listener.enterTableOptionMaxRows(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionMaxRows" ): - listener.exitTableOptionMaxRows(self) - - - class TableOptionCollateContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def COLLATE(self): - return self.getToken(frameQLParser.COLLATE, 0) - def collationName(self): - return self.getTypedRuleContext(frameQLParser.CollationNameContext,0) - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionCollate" ): - listener.enterTableOptionCollate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionCollate" ): - listener.exitTableOptionCollate(self) - - - class TableOptionPersistentContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.extBoolValue = None # Token - self.copyFrom(ctx) - - def STATS_PERSISTENT(self): - return self.getToken(frameQLParser.STATS_PERSISTENT, 0) - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - def ZERO_DECIMAL(self): - return self.getToken(frameQLParser.ZERO_DECIMAL, 0) - def ONE_DECIMAL(self): - return self.getToken(frameQLParser.ONE_DECIMAL, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionPersistent" ): - listener.enterTableOptionPersistent(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionPersistent" ): - listener.exitTableOptionPersistent(self) - - - class TableOptionTablespaceContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def tablespaceStorage(self): - return self.getTypedRuleContext(frameQLParser.TablespaceStorageContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionTablespace" ): - listener.enterTableOptionTablespace(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionTablespace" ): - listener.exitTableOptionTablespace(self) - - - class TableOptionPackKeysContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.extBoolValue = None # Token - self.copyFrom(ctx) - - def PACK_KEYS(self): - return self.getToken(frameQLParser.PACK_KEYS, 0) - def ZERO_DECIMAL(self): - return self.getToken(frameQLParser.ZERO_DECIMAL, 0) - def ONE_DECIMAL(self): - return self.getToken(frameQLParser.ONE_DECIMAL, 0) - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionPackKeys" ): - listener.enterTableOptionPackKeys(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionPackKeys" ): - listener.exitTableOptionPackKeys(self) - - - class TableOptionPasswordContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def PASSWORD(self): - return self.getToken(frameQLParser.PASSWORD, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionPassword" ): - listener.enterTableOptionPassword(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionPassword" ): - listener.exitTableOptionPassword(self) - - - class TableOptionUnionContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def UNION(self): - return self.getToken(frameQLParser.UNION, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def tables(self): - return self.getTypedRuleContext(frameQLParser.TablesContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionUnion" ): - listener.enterTableOptionUnion(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionUnion" ): - listener.exitTableOptionUnion(self) - - - class TableOptionSamplePageContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def STATS_SAMPLE_PAGES(self): - return self.getToken(frameQLParser.STATS_SAMPLE_PAGES, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionSamplePage" ): - listener.enterTableOptionSamplePage(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionSamplePage" ): - listener.exitTableOptionSamplePage(self) - - - class TableOptionCharsetContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - def SET(self): - return self.getToken(frameQLParser.SET, 0) - def CHARSET(self): - return self.getToken(frameQLParser.CHARSET, 0) - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionCharset" ): - listener.enterTableOptionCharset(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionCharset" ): - listener.exitTableOptionCharset(self) - - - class TableOptionIndexDirectoryContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - def DIRECTORY(self): - return self.getToken(frameQLParser.DIRECTORY, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionIndexDirectory" ): - listener.enterTableOptionIndexDirectory(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionIndexDirectory" ): - listener.exitTableOptionIndexDirectory(self) - - - class TableOptionKeyBlockSizeContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def KEY_BLOCK_SIZE(self): - return self.getToken(frameQLParser.KEY_BLOCK_SIZE, 0) - def fileSizeLiteral(self): - return self.getTypedRuleContext(frameQLParser.FileSizeLiteralContext,0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionKeyBlockSize" ): - listener.enterTableOptionKeyBlockSize(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionKeyBlockSize" ): - listener.exitTableOptionKeyBlockSize(self) - - - class TableOptionEncryptionContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def ENCRYPTION(self): - return self.getToken(frameQLParser.ENCRYPTION, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionEncryption" ): - listener.enterTableOptionEncryption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionEncryption" ): - listener.exitTableOptionEncryption(self) - - - class TableOptionDataDirectoryContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def DATA(self): - return self.getToken(frameQLParser.DATA, 0) - def DIRECTORY(self): - return self.getToken(frameQLParser.DIRECTORY, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionDataDirectory" ): - listener.enterTableOptionDataDirectory(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionDataDirectory" ): - listener.exitTableOptionDataDirectory(self) - - - class TableOptionRecalculationContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.extBoolValue = None # Token - self.copyFrom(ctx) - - def STATS_AUTO_RECALC(self): - return self.getToken(frameQLParser.STATS_AUTO_RECALC, 0) - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - def ZERO_DECIMAL(self): - return self.getToken(frameQLParser.ZERO_DECIMAL, 0) - def ONE_DECIMAL(self): - return self.getToken(frameQLParser.ONE_DECIMAL, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionRecalculation" ): - listener.enterTableOptionRecalculation(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionRecalculation" ): - listener.exitTableOptionRecalculation(self) - - - class TableOptionAutoIncrementContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def AUTO_INCREMENT(self): - return self.getToken(frameQLParser.AUTO_INCREMENT, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionAutoIncrement" ): - listener.enterTableOptionAutoIncrement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionAutoIncrement" ): - listener.exitTableOptionAutoIncrement(self) - - - class TableOptionChecksumContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.boolValue = None # Token - self.copyFrom(ctx) - - def CHECKSUM(self): - return self.getToken(frameQLParser.CHECKSUM, 0) - def ZERO_DECIMAL(self): - return self.getToken(frameQLParser.ZERO_DECIMAL, 0) - def ONE_DECIMAL(self): - return self.getToken(frameQLParser.ONE_DECIMAL, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionChecksum" ): - listener.enterTableOptionChecksum(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionChecksum" ): - listener.exitTableOptionChecksum(self) - - - class TableOptionDelayContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.boolValue = None # Token - self.copyFrom(ctx) - - def DELAY_KEY_WRITE(self): - return self.getToken(frameQLParser.DELAY_KEY_WRITE, 0) - def ZERO_DECIMAL(self): - return self.getToken(frameQLParser.ZERO_DECIMAL, 0) - def ONE_DECIMAL(self): - return self.getToken(frameQLParser.ONE_DECIMAL, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionDelay" ): - listener.enterTableOptionDelay(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionDelay" ): - listener.exitTableOptionDelay(self) - - - class TableOptionConnectionContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def CONNECTION(self): - return self.getToken(frameQLParser.CONNECTION, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionConnection" ): - listener.enterTableOptionConnection(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionConnection" ): - listener.exitTableOptionConnection(self) - - - class TableOptionCommentContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def COMMENT(self): - return self.getToken(frameQLParser.COMMENT, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionComment" ): - listener.enterTableOptionComment(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionComment" ): - listener.exitTableOptionComment(self) - - - class TableOptionAverageContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def AVG_ROW_LENGTH(self): - return self.getToken(frameQLParser.AVG_ROW_LENGTH, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionAverage" ): - listener.enterTableOptionAverage(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionAverage" ): - listener.exitTableOptionAverage(self) - - - class TableOptionRowFormatContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.rowFormat = None # Token - self.copyFrom(ctx) - - def ROW_FORMAT(self): - return self.getToken(frameQLParser.ROW_FORMAT, 0) - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - def DYNAMIC(self): - return self.getToken(frameQLParser.DYNAMIC, 0) - def FIXED(self): - return self.getToken(frameQLParser.FIXED, 0) - def COMPRESSED(self): - return self.getToken(frameQLParser.COMPRESSED, 0) - def REDUNDANT(self): - return self.getToken(frameQLParser.REDUNDANT, 0) - def COMPACT(self): - return self.getToken(frameQLParser.COMPACT, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionRowFormat" ): - listener.enterTableOptionRowFormat(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionRowFormat" ): - listener.exitTableOptionRowFormat(self) - - - class TableOptionCompressionContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def COMPRESSION(self): - return self.getToken(frameQLParser.COMPRESSION, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionCompression" ): - listener.enterTableOptionCompression(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionCompression" ): - listener.exitTableOptionCompression(self) - - - class TableOptionInsertMethodContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.insertMethod = None # Token - self.copyFrom(ctx) - - def INSERT_METHOD(self): - return self.getToken(frameQLParser.INSERT_METHOD, 0) - def NO(self): - return self.getToken(frameQLParser.NO, 0) - def FIRST(self): - return self.getToken(frameQLParser.FIRST, 0) - def LAST(self): - return self.getToken(frameQLParser.LAST, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionInsertMethod" ): - listener.enterTableOptionInsertMethod(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionInsertMethod" ): - listener.exitTableOptionInsertMethod(self) - - - class TableOptionMinRowsContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def MIN_ROWS(self): - return self.getToken(frameQLParser.MIN_ROWS, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionMinRows" ): - listener.enterTableOptionMinRows(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionMinRows" ): - listener.exitTableOptionMinRows(self) - - - - def tableOption(self): - - localctx = frameQLParser.TableOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 92, self.RULE_tableOption) - self._la = 0 # Token type - try: - self.state = 1703 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,188,self._ctx) - if la_ == 1: - localctx = frameQLParser.TableOptionEngineContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1563 - self.match(frameQLParser.ENGINE) - self.state = 1565 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1564 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1567 - self.engineName() - pass - - elif la_ == 2: - localctx = frameQLParser.TableOptionAutoIncrementContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1568 - self.match(frameQLParser.AUTO_INCREMENT) - self.state = 1570 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1569 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1572 - self.decimalLiteral() - pass - - elif la_ == 3: - localctx = frameQLParser.TableOptionAverageContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1573 - self.match(frameQLParser.AVG_ROW_LENGTH) - self.state = 1575 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1574 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1577 - self.decimalLiteral() - pass - - elif la_ == 4: - localctx = frameQLParser.TableOptionCharsetContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 1579 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFAULT: - self.state = 1578 - self.match(frameQLParser.DEFAULT) - - - self.state = 1584 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.CHARACTER]: - self.state = 1581 - self.match(frameQLParser.CHARACTER) - self.state = 1582 - self.match(frameQLParser.SET) - pass - elif token in [frameQLParser.CHARSET]: - self.state = 1583 - self.match(frameQLParser.CHARSET) - pass - else: - raise NoViableAltException(self) - - self.state = 1587 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1586 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1589 - self.charsetName() - pass - - elif la_ == 5: - localctx = frameQLParser.TableOptionChecksumContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 1590 - self.match(frameQLParser.CHECKSUM) - self.state = 1592 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1591 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1594 - localctx.boolValue = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ZERO_DECIMAL or _la==frameQLParser.ONE_DECIMAL): - localctx.boolValue = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 6: - localctx = frameQLParser.TableOptionCollateContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 1596 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFAULT: - self.state = 1595 - self.match(frameQLParser.DEFAULT) - - - self.state = 1598 - self.match(frameQLParser.COLLATE) - self.state = 1600 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1599 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1602 - self.collationName() - pass - - elif la_ == 7: - localctx = frameQLParser.TableOptionCommentContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 1603 - self.match(frameQLParser.COMMENT) - self.state = 1605 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1604 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1607 - self.match(frameQLParser.STRING_LITERAL) - pass - - elif la_ == 8: - localctx = frameQLParser.TableOptionCompressionContext(self, localctx) - self.enterOuterAlt(localctx, 8) - self.state = 1608 - self.match(frameQLParser.COMPRESSION) - self.state = 1610 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1609 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1612 - self.match(frameQLParser.STRING_LITERAL) - pass - - elif la_ == 9: - localctx = frameQLParser.TableOptionConnectionContext(self, localctx) - self.enterOuterAlt(localctx, 9) - self.state = 1613 - self.match(frameQLParser.CONNECTION) - self.state = 1615 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1614 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1617 - self.match(frameQLParser.STRING_LITERAL) - pass - - elif la_ == 10: - localctx = frameQLParser.TableOptionDataDirectoryContext(self, localctx) - self.enterOuterAlt(localctx, 10) - self.state = 1618 - self.match(frameQLParser.DATA) - self.state = 1619 - self.match(frameQLParser.DIRECTORY) - self.state = 1621 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1620 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1623 - self.match(frameQLParser.STRING_LITERAL) - pass - - elif la_ == 11: - localctx = frameQLParser.TableOptionDelayContext(self, localctx) - self.enterOuterAlt(localctx, 11) - self.state = 1624 - self.match(frameQLParser.DELAY_KEY_WRITE) - self.state = 1626 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1625 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1628 - localctx.boolValue = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ZERO_DECIMAL or _la==frameQLParser.ONE_DECIMAL): - localctx.boolValue = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 12: - localctx = frameQLParser.TableOptionEncryptionContext(self, localctx) - self.enterOuterAlt(localctx, 12) - self.state = 1629 - self.match(frameQLParser.ENCRYPTION) - self.state = 1631 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1630 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1633 - self.match(frameQLParser.STRING_LITERAL) - pass - - elif la_ == 13: - localctx = frameQLParser.TableOptionIndexDirectoryContext(self, localctx) - self.enterOuterAlt(localctx, 13) - self.state = 1634 - self.match(frameQLParser.INDEX) - self.state = 1635 - self.match(frameQLParser.DIRECTORY) - self.state = 1637 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1636 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1639 - self.match(frameQLParser.STRING_LITERAL) - pass - - elif la_ == 14: - localctx = frameQLParser.TableOptionInsertMethodContext(self, localctx) - self.enterOuterAlt(localctx, 14) - self.state = 1640 - self.match(frameQLParser.INSERT_METHOD) - self.state = 1642 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1641 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1644 - localctx.insertMethod = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FIRST or _la==frameQLParser.LAST or _la==frameQLParser.NO): - localctx.insertMethod = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 15: - localctx = frameQLParser.TableOptionKeyBlockSizeContext(self, localctx) - self.enterOuterAlt(localctx, 15) - self.state = 1645 - self.match(frameQLParser.KEY_BLOCK_SIZE) - self.state = 1647 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1646 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1649 - self.fileSizeLiteral() - pass - - elif la_ == 16: - localctx = frameQLParser.TableOptionMaxRowsContext(self, localctx) - self.enterOuterAlt(localctx, 16) - self.state = 1650 - self.match(frameQLParser.MAX_ROWS) - self.state = 1652 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1651 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1654 - self.decimalLiteral() - pass - - elif la_ == 17: - localctx = frameQLParser.TableOptionMinRowsContext(self, localctx) - self.enterOuterAlt(localctx, 17) - self.state = 1655 - self.match(frameQLParser.MIN_ROWS) - self.state = 1657 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1656 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1659 - self.decimalLiteral() - pass - - elif la_ == 18: - localctx = frameQLParser.TableOptionPackKeysContext(self, localctx) - self.enterOuterAlt(localctx, 18) - self.state = 1660 - self.match(frameQLParser.PACK_KEYS) - self.state = 1662 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1661 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1664 - localctx.extBoolValue = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.ZERO_DECIMAL or _la==frameQLParser.ONE_DECIMAL): - localctx.extBoolValue = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 19: - localctx = frameQLParser.TableOptionPasswordContext(self, localctx) - self.enterOuterAlt(localctx, 19) - self.state = 1665 - self.match(frameQLParser.PASSWORD) - self.state = 1667 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1666 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1669 - self.match(frameQLParser.STRING_LITERAL) - pass - - elif la_ == 20: - localctx = frameQLParser.TableOptionRowFormatContext(self, localctx) - self.enterOuterAlt(localctx, 20) - self.state = 1670 - self.match(frameQLParser.ROW_FORMAT) - self.state = 1672 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1671 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1674 - localctx.rowFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or ((((_la - 284)) & ~0x3f) == 0 and ((1 << (_la - 284)) & ((1 << (frameQLParser.COMPACT - 284)) | (1 << (frameQLParser.COMPRESSED - 284)) | (1 << (frameQLParser.DYNAMIC - 284)) | (1 << (frameQLParser.FIXED - 284)))) != 0) or _la==frameQLParser.REDUNDANT): - localctx.rowFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 21: - localctx = frameQLParser.TableOptionRecalculationContext(self, localctx) - self.enterOuterAlt(localctx, 21) - self.state = 1675 - self.match(frameQLParser.STATS_AUTO_RECALC) - self.state = 1677 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1676 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1679 - localctx.extBoolValue = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.ZERO_DECIMAL or _la==frameQLParser.ONE_DECIMAL): - localctx.extBoolValue = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 22: - localctx = frameQLParser.TableOptionPersistentContext(self, localctx) - self.enterOuterAlt(localctx, 22) - self.state = 1680 - self.match(frameQLParser.STATS_PERSISTENT) - self.state = 1682 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1681 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1684 - localctx.extBoolValue = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.ZERO_DECIMAL or _la==frameQLParser.ONE_DECIMAL): - localctx.extBoolValue = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 23: - localctx = frameQLParser.TableOptionSamplePageContext(self, localctx) - self.enterOuterAlt(localctx, 23) - self.state = 1685 - self.match(frameQLParser.STATS_SAMPLE_PAGES) - self.state = 1687 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1686 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1689 - self.decimalLiteral() - pass - - elif la_ == 24: - localctx = frameQLParser.TableOptionTablespaceContext(self, localctx) - self.enterOuterAlt(localctx, 24) - self.state = 1690 - self.match(frameQLParser.TABLESPACE) - self.state = 1691 - self.uid() - self.state = 1693 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.STORAGE: - self.state = 1692 - self.tablespaceStorage() - - - pass - - elif la_ == 25: - localctx = frameQLParser.TableOptionUnionContext(self, localctx) - self.enterOuterAlt(localctx, 25) - self.state = 1695 - self.match(frameQLParser.UNION) - self.state = 1697 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1696 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1699 - self.match(frameQLParser.LR_BRACKET) - self.state = 1700 - self.tables() - self.state = 1701 - self.match(frameQLParser.RR_BRACKET) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TablespaceStorageContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def STORAGE(self): - return self.getToken(frameQLParser.STORAGE, 0) - - def DISK(self): - return self.getToken(frameQLParser.DISK, 0) - - def MEMORY(self): - return self.getToken(frameQLParser.MEMORY, 0) - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_tablespaceStorage - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTablespaceStorage" ): - listener.enterTablespaceStorage(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTablespaceStorage" ): - listener.exitTablespaceStorage(self) - - - - - def tablespaceStorage(self): - - localctx = frameQLParser.TablespaceStorageContext(self, self._ctx, self.state) - self.enterRule(localctx, 94, self.RULE_tablespaceStorage) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1705 - self.match(frameQLParser.STORAGE) - self.state = 1706 - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.DISK or _la==frameQLParser.MEMORY): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class PartitionDefinitionsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.count = None # DecimalLiteralContext - self.subCount = None # DecimalLiteralContext - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - - def BY(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.BY) - else: - return self.getToken(frameQLParser.BY, i) - - def partitionFunctionDefinition(self): - return self.getTypedRuleContext(frameQLParser.PartitionFunctionDefinitionContext,0) - - - def PARTITIONS(self): - return self.getToken(frameQLParser.PARTITIONS, 0) - - def SUBPARTITION(self): - return self.getToken(frameQLParser.SUBPARTITION, 0) - - def subpartitionFunctionDefinition(self): - return self.getTypedRuleContext(frameQLParser.SubpartitionFunctionDefinitionContext,0) - - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def partitionDefinition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionDefinitionContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionDefinitionContext,i) - - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def decimalLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DecimalLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,i) - - - def SUBPARTITIONS(self): - return self.getToken(frameQLParser.SUBPARTITIONS, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_partitionDefinitions - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionDefinitions" ): - listener.enterPartitionDefinitions(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionDefinitions" ): - listener.exitPartitionDefinitions(self) - - - - - def partitionDefinitions(self): - - localctx = frameQLParser.PartitionDefinitionsContext(self, self._ctx, self.state) - self.enterRule(localctx, 96, self.RULE_partitionDefinitions) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1708 - self.match(frameQLParser.PARTITION) - self.state = 1709 - self.match(frameQLParser.BY) - self.state = 1710 - self.partitionFunctionDefinition() - self.state = 1713 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PARTITIONS: - self.state = 1711 - self.match(frameQLParser.PARTITIONS) - self.state = 1712 - localctx.count = self.decimalLiteral() - - - self.state = 1722 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SUBPARTITION: - self.state = 1715 - self.match(frameQLParser.SUBPARTITION) - self.state = 1716 - self.match(frameQLParser.BY) - self.state = 1717 - self.subpartitionFunctionDefinition() - self.state = 1720 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SUBPARTITIONS: - self.state = 1718 - self.match(frameQLParser.SUBPARTITIONS) - self.state = 1719 - localctx.subCount = self.decimalLiteral() - - - - - self.state = 1735 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,193,self._ctx) - if la_ == 1: - self.state = 1724 - self.match(frameQLParser.LR_BRACKET) - self.state = 1725 - self.partitionDefinition() - self.state = 1730 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 1726 - self.match(frameQLParser.COMMA) - self.state = 1727 - self.partitionDefinition() - self.state = 1732 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1733 - self.match(frameQLParser.RR_BRACKET) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class PartitionFunctionDefinitionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_partitionFunctionDefinition - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class PartitionFunctionKeyContext(PartitionFunctionDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionFunctionDefinitionContext - super().__init__(parser) - self.algType = None # Token - self.copyFrom(ctx) - - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def LINEAR(self): - return self.getToken(frameQLParser.LINEAR, 0) - def ALGORITHM(self): - return self.getToken(frameQLParser.ALGORITHM, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - def ONE_DECIMAL(self): - return self.getToken(frameQLParser.ONE_DECIMAL, 0) - def TWO_DECIMAL(self): - return self.getToken(frameQLParser.TWO_DECIMAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionFunctionKey" ): - listener.enterPartitionFunctionKey(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionFunctionKey" ): - listener.exitPartitionFunctionKey(self) - - - class PartitionFunctionHashContext(PartitionFunctionDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionFunctionDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def HASH(self): - return self.getToken(frameQLParser.HASH, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def LINEAR(self): - return self.getToken(frameQLParser.LINEAR, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionFunctionHash" ): - listener.enterPartitionFunctionHash(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionFunctionHash" ): - listener.exitPartitionFunctionHash(self) - - - class PartitionFunctionListContext(PartitionFunctionDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionFunctionDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def LIST(self): - return self.getToken(frameQLParser.LIST, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def COLUMNS(self): - return self.getToken(frameQLParser.COLUMNS, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionFunctionList" ): - listener.enterPartitionFunctionList(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionFunctionList" ): - listener.exitPartitionFunctionList(self) - - - class PartitionFunctionRangeContext(PartitionFunctionDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionFunctionDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def RANGE(self): - return self.getToken(frameQLParser.RANGE, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def COLUMNS(self): - return self.getToken(frameQLParser.COLUMNS, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionFunctionRange" ): - listener.enterPartitionFunctionRange(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionFunctionRange" ): - listener.exitPartitionFunctionRange(self) - - - - def partitionFunctionDefinition(self): - - localctx = frameQLParser.PartitionFunctionDefinitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 98, self.RULE_partitionFunctionDefinition) - self._la = 0 # Token type - try: - self.state = 1782 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,199,self._ctx) - if la_ == 1: - localctx = frameQLParser.PartitionFunctionHashContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1738 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LINEAR: - self.state = 1737 - self.match(frameQLParser.LINEAR) - - - self.state = 1740 - self.match(frameQLParser.HASH) - self.state = 1741 - self.match(frameQLParser.LR_BRACKET) - self.state = 1742 - self.expression(0) - self.state = 1743 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 2: - localctx = frameQLParser.PartitionFunctionKeyContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1746 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LINEAR: - self.state = 1745 - self.match(frameQLParser.LINEAR) - - - self.state = 1748 - self.match(frameQLParser.KEY) - self.state = 1752 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALGORITHM: - self.state = 1749 - self.match(frameQLParser.ALGORITHM) - self.state = 1750 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 1751 - localctx.algType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ONE_DECIMAL or _la==frameQLParser.TWO_DECIMAL): - localctx.algType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 1754 - self.match(frameQLParser.LR_BRACKET) - self.state = 1755 - self.uidList() - self.state = 1756 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 3: - localctx = frameQLParser.PartitionFunctionRangeContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1758 - self.match(frameQLParser.RANGE) - self.state = 1768 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.LR_BRACKET]: - self.state = 1759 - self.match(frameQLParser.LR_BRACKET) - self.state = 1760 - self.expression(0) - self.state = 1761 - self.match(frameQLParser.RR_BRACKET) - pass - elif token in [frameQLParser.COLUMNS]: - self.state = 1763 - self.match(frameQLParser.COLUMNS) - self.state = 1764 - self.match(frameQLParser.LR_BRACKET) - self.state = 1765 - self.uidList() - self.state = 1766 - self.match(frameQLParser.RR_BRACKET) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 4: - localctx = frameQLParser.PartitionFunctionListContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 1770 - self.match(frameQLParser.LIST) - self.state = 1780 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.LR_BRACKET]: - self.state = 1771 - self.match(frameQLParser.LR_BRACKET) - self.state = 1772 - self.expression(0) - self.state = 1773 - self.match(frameQLParser.RR_BRACKET) - pass - elif token in [frameQLParser.COLUMNS]: - self.state = 1775 - self.match(frameQLParser.COLUMNS) - self.state = 1776 - self.match(frameQLParser.LR_BRACKET) - self.state = 1777 - self.uidList() - self.state = 1778 - self.match(frameQLParser.RR_BRACKET) - pass - else: - raise NoViableAltException(self) - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SubpartitionFunctionDefinitionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_subpartitionFunctionDefinition - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class SubPartitionFunctionHashContext(SubpartitionFunctionDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SubpartitionFunctionDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def HASH(self): - return self.getToken(frameQLParser.HASH, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def LINEAR(self): - return self.getToken(frameQLParser.LINEAR, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSubPartitionFunctionHash" ): - listener.enterSubPartitionFunctionHash(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSubPartitionFunctionHash" ): - listener.exitSubPartitionFunctionHash(self) - - - class SubPartitionFunctionKeyContext(SubpartitionFunctionDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SubpartitionFunctionDefinitionContext - super().__init__(parser) - self.algType = None # Token - self.copyFrom(ctx) - - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def LINEAR(self): - return self.getToken(frameQLParser.LINEAR, 0) - def ALGORITHM(self): - return self.getToken(frameQLParser.ALGORITHM, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - def ONE_DECIMAL(self): - return self.getToken(frameQLParser.ONE_DECIMAL, 0) - def TWO_DECIMAL(self): - return self.getToken(frameQLParser.TWO_DECIMAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSubPartitionFunctionKey" ): - listener.enterSubPartitionFunctionKey(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSubPartitionFunctionKey" ): - listener.exitSubPartitionFunctionKey(self) - - - - def subpartitionFunctionDefinition(self): - - localctx = frameQLParser.SubpartitionFunctionDefinitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 100, self.RULE_subpartitionFunctionDefinition) - self._la = 0 # Token type - try: - self.state = 1805 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,203,self._ctx) - if la_ == 1: - localctx = frameQLParser.SubPartitionFunctionHashContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1785 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LINEAR: - self.state = 1784 - self.match(frameQLParser.LINEAR) - - - self.state = 1787 - self.match(frameQLParser.HASH) - self.state = 1788 - self.match(frameQLParser.LR_BRACKET) - self.state = 1789 - self.expression(0) - self.state = 1790 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 2: - localctx = frameQLParser.SubPartitionFunctionKeyContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1793 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LINEAR: - self.state = 1792 - self.match(frameQLParser.LINEAR) - - - self.state = 1795 - self.match(frameQLParser.KEY) - self.state = 1799 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALGORITHM: - self.state = 1796 - self.match(frameQLParser.ALGORITHM) - self.state = 1797 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 1798 - localctx.algType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ONE_DECIMAL or _la==frameQLParser.TWO_DECIMAL): - localctx.algType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 1801 - self.match(frameQLParser.LR_BRACKET) - self.state = 1802 - self.uidList() - self.state = 1803 - self.match(frameQLParser.RR_BRACKET) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class PartitionDefinitionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_partitionDefinition - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class PartitionComparisionContext(PartitionDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def VALUES(self): - return self.getToken(frameQLParser.VALUES, 0) - def LESS(self): - return self.getToken(frameQLParser.LESS, 0) - def THAN(self): - return self.getToken(frameQLParser.THAN, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def partitionDefinerAtom(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionDefinerAtomContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionDefinerAtomContext,i) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - def partitionOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionOptionContext,i) - - def subpartitionDefinition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SubpartitionDefinitionContext) - else: - return self.getTypedRuleContext(frameQLParser.SubpartitionDefinitionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionComparision" ): - listener.enterPartitionComparision(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionComparision" ): - listener.exitPartitionComparision(self) - - - class PartitionListAtomContext(PartitionDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def VALUES(self): - return self.getToken(frameQLParser.VALUES, 0) - def IN(self): - return self.getToken(frameQLParser.IN, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def partitionDefinerAtom(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionDefinerAtomContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionDefinerAtomContext,i) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - def partitionOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionOptionContext,i) - - def subpartitionDefinition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SubpartitionDefinitionContext) - else: - return self.getTypedRuleContext(frameQLParser.SubpartitionDefinitionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionListAtom" ): - listener.enterPartitionListAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionListAtom" ): - listener.exitPartitionListAtom(self) - - - class PartitionListVectorContext(PartitionDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def VALUES(self): - return self.getToken(frameQLParser.VALUES, 0) - def IN(self): - return self.getToken(frameQLParser.IN, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def partitionDefinerVector(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionDefinerVectorContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionDefinerVectorContext,i) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - def partitionOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionOptionContext,i) - - def subpartitionDefinition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SubpartitionDefinitionContext) - else: - return self.getTypedRuleContext(frameQLParser.SubpartitionDefinitionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionListVector" ): - listener.enterPartitionListVector(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionListVector" ): - listener.exitPartitionListVector(self) - - - class PartitionSimpleContext(PartitionDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def partitionOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionOptionContext,i) - - def subpartitionDefinition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SubpartitionDefinitionContext) - else: - return self.getTypedRuleContext(frameQLParser.SubpartitionDefinitionContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionSimple" ): - listener.enterPartitionSimple(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionSimple" ): - listener.exitPartitionSimple(self) - - - - def partitionDefinition(self): - - localctx = frameQLParser.PartitionDefinitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 102, self.RULE_partitionDefinition) - self._la = 0 # Token type - try: - self.state = 1916 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,219,self._ctx) - if la_ == 1: - localctx = frameQLParser.PartitionComparisionContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1807 - self.match(frameQLParser.PARTITION) - self.state = 1808 - self.uid() - self.state = 1809 - self.match(frameQLParser.VALUES) - self.state = 1810 - self.match(frameQLParser.LESS) - self.state = 1811 - self.match(frameQLParser.THAN) - self.state = 1812 - self.match(frameQLParser.LR_BRACKET) - self.state = 1813 - self.partitionDefinerAtom() - self.state = 1818 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 1814 - self.match(frameQLParser.COMMA) - self.state = 1815 - self.partitionDefinerAtom() - self.state = 1820 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1821 - self.match(frameQLParser.RR_BRACKET) - self.state = 1825 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.INDEX or ((((_la - 282)) & ~0x3f) == 0 and ((1 << (_la - 282)) & ((1 << (frameQLParser.COMMENT - 282)) | (1 << (frameQLParser.DATA - 282)) | (1 << (frameQLParser.ENGINE - 282)))) != 0) or ((((_la - 400)) & ~0x3f) == 0 and ((1 << (_la - 400)) & ((1 << (frameQLParser.MAX_ROWS - 400)) | (1 << (frameQLParser.MIN_ROWS - 400)) | (1 << (frameQLParser.NODEGROUP - 400)))) != 0) or _la==frameQLParser.STORAGE or _la==frameQLParser.TABLESPACE: - self.state = 1822 - self.partitionOption() - self.state = 1827 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1836 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SUBPARTITION: - self.state = 1828 - self.subpartitionDefinition() - self.state = 1833 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,206,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 1829 - self.match(frameQLParser.COMMA) - self.state = 1830 - self.subpartitionDefinition() - self.state = 1835 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,206,self._ctx) - - - - pass - - elif la_ == 2: - localctx = frameQLParser.PartitionListAtomContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1838 - self.match(frameQLParser.PARTITION) - self.state = 1839 - self.uid() - self.state = 1840 - self.match(frameQLParser.VALUES) - self.state = 1841 - self.match(frameQLParser.IN) - self.state = 1842 - self.match(frameQLParser.LR_BRACKET) - self.state = 1843 - self.partitionDefinerAtom() - self.state = 1848 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 1844 - self.match(frameQLParser.COMMA) - self.state = 1845 - self.partitionDefinerAtom() - self.state = 1850 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1851 - self.match(frameQLParser.RR_BRACKET) - self.state = 1855 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.INDEX or ((((_la - 282)) & ~0x3f) == 0 and ((1 << (_la - 282)) & ((1 << (frameQLParser.COMMENT - 282)) | (1 << (frameQLParser.DATA - 282)) | (1 << (frameQLParser.ENGINE - 282)))) != 0) or ((((_la - 400)) & ~0x3f) == 0 and ((1 << (_la - 400)) & ((1 << (frameQLParser.MAX_ROWS - 400)) | (1 << (frameQLParser.MIN_ROWS - 400)) | (1 << (frameQLParser.NODEGROUP - 400)))) != 0) or _la==frameQLParser.STORAGE or _la==frameQLParser.TABLESPACE: - self.state = 1852 - self.partitionOption() - self.state = 1857 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1866 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SUBPARTITION: - self.state = 1858 - self.subpartitionDefinition() - self.state = 1863 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,210,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 1859 - self.match(frameQLParser.COMMA) - self.state = 1860 - self.subpartitionDefinition() - self.state = 1865 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,210,self._ctx) - - - - pass - - elif la_ == 3: - localctx = frameQLParser.PartitionListVectorContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1868 - self.match(frameQLParser.PARTITION) - self.state = 1869 - self.uid() - self.state = 1870 - self.match(frameQLParser.VALUES) - self.state = 1871 - self.match(frameQLParser.IN) - self.state = 1872 - self.match(frameQLParser.LR_BRACKET) - self.state = 1873 - self.partitionDefinerVector() - self.state = 1878 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 1874 - self.match(frameQLParser.COMMA) - self.state = 1875 - self.partitionDefinerVector() - self.state = 1880 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1881 - self.match(frameQLParser.RR_BRACKET) - self.state = 1885 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.INDEX or ((((_la - 282)) & ~0x3f) == 0 and ((1 << (_la - 282)) & ((1 << (frameQLParser.COMMENT - 282)) | (1 << (frameQLParser.DATA - 282)) | (1 << (frameQLParser.ENGINE - 282)))) != 0) or ((((_la - 400)) & ~0x3f) == 0 and ((1 << (_la - 400)) & ((1 << (frameQLParser.MAX_ROWS - 400)) | (1 << (frameQLParser.MIN_ROWS - 400)) | (1 << (frameQLParser.NODEGROUP - 400)))) != 0) or _la==frameQLParser.STORAGE or _la==frameQLParser.TABLESPACE: - self.state = 1882 - self.partitionOption() - self.state = 1887 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1896 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SUBPARTITION: - self.state = 1888 - self.subpartitionDefinition() - self.state = 1893 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,214,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 1889 - self.match(frameQLParser.COMMA) - self.state = 1890 - self.subpartitionDefinition() - self.state = 1895 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,214,self._ctx) - - - - pass - - elif la_ == 4: - localctx = frameQLParser.PartitionSimpleContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 1898 - self.match(frameQLParser.PARTITION) - self.state = 1899 - self.uid() - self.state = 1903 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.INDEX or ((((_la - 282)) & ~0x3f) == 0 and ((1 << (_la - 282)) & ((1 << (frameQLParser.COMMENT - 282)) | (1 << (frameQLParser.DATA - 282)) | (1 << (frameQLParser.ENGINE - 282)))) != 0) or ((((_la - 400)) & ~0x3f) == 0 and ((1 << (_la - 400)) & ((1 << (frameQLParser.MAX_ROWS - 400)) | (1 << (frameQLParser.MIN_ROWS - 400)) | (1 << (frameQLParser.NODEGROUP - 400)))) != 0) or _la==frameQLParser.STORAGE or _la==frameQLParser.TABLESPACE: - self.state = 1900 - self.partitionOption() - self.state = 1905 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1914 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SUBPARTITION: - self.state = 1906 - self.subpartitionDefinition() - self.state = 1911 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,217,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 1907 - self.match(frameQLParser.COMMA) - self.state = 1908 - self.subpartitionDefinition() - self.state = 1913 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,217,self._ctx) - - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class PartitionDefinerAtomContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def constant(self): - return self.getTypedRuleContext(frameQLParser.ConstantContext,0) - - - def MAXVALUE(self): - return self.getToken(frameQLParser.MAXVALUE, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_partitionDefinerAtom - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionDefinerAtom" ): - listener.enterPartitionDefinerAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionDefinerAtom" ): - listener.exitPartitionDefinerAtom(self) - - - - - def partitionDefinerAtom(self): - - localctx = frameQLParser.PartitionDefinerAtomContext(self, self._ctx, self.state) - self.enterRule(localctx, 104, self.RULE_partitionDefinerAtom) - try: - self.state = 1921 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,220,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 1918 - self.constant() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 1919 - self.match(frameQLParser.MAXVALUE) - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 1920 - self.expression(0) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class PartitionDefinerVectorContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def partitionDefinerAtom(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionDefinerAtomContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionDefinerAtomContext,i) - - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_partitionDefinerVector - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionDefinerVector" ): - listener.enterPartitionDefinerVector(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionDefinerVector" ): - listener.exitPartitionDefinerVector(self) - - - - - def partitionDefinerVector(self): - - localctx = frameQLParser.PartitionDefinerVectorContext(self, self._ctx, self.state) - self.enterRule(localctx, 106, self.RULE_partitionDefinerVector) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1923 - self.match(frameQLParser.LR_BRACKET) - self.state = 1924 - self.partitionDefinerAtom() - self.state = 1927 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 1925 - self.match(frameQLParser.COMMA) - self.state = 1926 - self.partitionDefinerAtom() - self.state = 1929 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==frameQLParser.COMMA): - break - - self.state = 1931 - self.match(frameQLParser.RR_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SubpartitionDefinitionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def SUBPARTITION(self): - return self.getToken(frameQLParser.SUBPARTITION, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def partitionOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionOptionContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_subpartitionDefinition - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSubpartitionDefinition" ): - listener.enterSubpartitionDefinition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSubpartitionDefinition" ): - listener.exitSubpartitionDefinition(self) - - - - - def subpartitionDefinition(self): - - localctx = frameQLParser.SubpartitionDefinitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 108, self.RULE_subpartitionDefinition) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1933 - self.match(frameQLParser.SUBPARTITION) - self.state = 1934 - self.uid() - self.state = 1938 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.INDEX or ((((_la - 282)) & ~0x3f) == 0 and ((1 << (_la - 282)) & ((1 << (frameQLParser.COMMENT - 282)) | (1 << (frameQLParser.DATA - 282)) | (1 << (frameQLParser.ENGINE - 282)))) != 0) or ((((_la - 400)) & ~0x3f) == 0 and ((1 << (_la - 400)) & ((1 << (frameQLParser.MAX_ROWS - 400)) | (1 << (frameQLParser.MIN_ROWS - 400)) | (1 << (frameQLParser.NODEGROUP - 400)))) != 0) or _la==frameQLParser.STORAGE or _la==frameQLParser.TABLESPACE: - self.state = 1935 - self.partitionOption() - self.state = 1940 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class PartitionOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_partitionOption - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class PartitionOptionCommentContext(PartitionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionOptionContext - super().__init__(parser) - self.comment = None # Token - self.copyFrom(ctx) - - def COMMENT(self): - return self.getToken(frameQLParser.COMMENT, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionOptionComment" ): - listener.enterPartitionOptionComment(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionOptionComment" ): - listener.exitPartitionOptionComment(self) - - - class PartitionOptionNodeGroupContext(PartitionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionOptionContext - super().__init__(parser) - self.nodegroup = None # UidContext - self.copyFrom(ctx) - - def NODEGROUP(self): - return self.getToken(frameQLParser.NODEGROUP, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionOptionNodeGroup" ): - listener.enterPartitionOptionNodeGroup(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionOptionNodeGroup" ): - listener.exitPartitionOptionNodeGroup(self) - - - class PartitionOptionIndexDirectoryContext(PartitionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionOptionContext - super().__init__(parser) - self.indexDirectory = None # Token - self.copyFrom(ctx) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - def DIRECTORY(self): - return self.getToken(frameQLParser.DIRECTORY, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionOptionIndexDirectory" ): - listener.enterPartitionOptionIndexDirectory(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionOptionIndexDirectory" ): - listener.exitPartitionOptionIndexDirectory(self) - - - class PartitionOptionMaxRowsContext(PartitionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionOptionContext - super().__init__(parser) - self.maxRows = None # DecimalLiteralContext - self.copyFrom(ctx) - - def MAX_ROWS(self): - return self.getToken(frameQLParser.MAX_ROWS, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionOptionMaxRows" ): - listener.enterPartitionOptionMaxRows(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionOptionMaxRows" ): - listener.exitPartitionOptionMaxRows(self) - - - class PartitionOptionTablespaceContext(PartitionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionOptionContext - super().__init__(parser) - self.tablespace = None # UidContext - self.copyFrom(ctx) - - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionOptionTablespace" ): - listener.enterPartitionOptionTablespace(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionOptionTablespace" ): - listener.exitPartitionOptionTablespace(self) - - - class PartitionOptionEngineContext(PartitionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - def engineName(self): - return self.getTypedRuleContext(frameQLParser.EngineNameContext,0) - - def STORAGE(self): - return self.getToken(frameQLParser.STORAGE, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionOptionEngine" ): - listener.enterPartitionOptionEngine(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionOptionEngine" ): - listener.exitPartitionOptionEngine(self) - - - class PartitionOptionMinRowsContext(PartitionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionOptionContext - super().__init__(parser) - self.minRows = None # DecimalLiteralContext - self.copyFrom(ctx) - - def MIN_ROWS(self): - return self.getToken(frameQLParser.MIN_ROWS, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionOptionMinRows" ): - listener.enterPartitionOptionMinRows(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionOptionMinRows" ): - listener.exitPartitionOptionMinRows(self) - - - class PartitionOptionDataDirectoryContext(PartitionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionOptionContext - super().__init__(parser) - self.dataDirectory = None # Token - self.copyFrom(ctx) - - def DATA(self): - return self.getToken(frameQLParser.DATA, 0) - def DIRECTORY(self): - return self.getToken(frameQLParser.DIRECTORY, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionOptionDataDirectory" ): - listener.enterPartitionOptionDataDirectory(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionOptionDataDirectory" ): - listener.exitPartitionOptionDataDirectory(self) - - - - def partitionOption(self): - - localctx = frameQLParser.PartitionOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 110, self.RULE_partitionOption) - self._la = 0 # Token type - try: - self.state = 1986 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ENGINE, frameQLParser.STORAGE]: - localctx = frameQLParser.PartitionOptionEngineContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1942 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.STORAGE: - self.state = 1941 - self.match(frameQLParser.STORAGE) - - - self.state = 1944 - self.match(frameQLParser.ENGINE) - self.state = 1946 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1945 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1948 - self.engineName() - pass - elif token in [frameQLParser.COMMENT]: - localctx = frameQLParser.PartitionOptionCommentContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1949 - self.match(frameQLParser.COMMENT) - self.state = 1951 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1950 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1953 - localctx.comment = self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.DATA]: - localctx = frameQLParser.PartitionOptionDataDirectoryContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1954 - self.match(frameQLParser.DATA) - self.state = 1955 - self.match(frameQLParser.DIRECTORY) - self.state = 1957 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1956 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1959 - localctx.dataDirectory = self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.INDEX]: - localctx = frameQLParser.PartitionOptionIndexDirectoryContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 1960 - self.match(frameQLParser.INDEX) - self.state = 1961 - self.match(frameQLParser.DIRECTORY) - self.state = 1963 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1962 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1965 - localctx.indexDirectory = self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.MAX_ROWS]: - localctx = frameQLParser.PartitionOptionMaxRowsContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 1966 - self.match(frameQLParser.MAX_ROWS) - self.state = 1968 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1967 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1970 - localctx.maxRows = self.decimalLiteral() - pass - elif token in [frameQLParser.MIN_ROWS]: - localctx = frameQLParser.PartitionOptionMinRowsContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 1971 - self.match(frameQLParser.MIN_ROWS) - self.state = 1973 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1972 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1975 - localctx.minRows = self.decimalLiteral() - pass - elif token in [frameQLParser.TABLESPACE]: - localctx = frameQLParser.PartitionOptionTablespaceContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 1976 - self.match(frameQLParser.TABLESPACE) - self.state = 1978 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1977 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1980 - localctx.tablespace = self.uid() - pass - elif token in [frameQLParser.NODEGROUP]: - localctx = frameQLParser.PartitionOptionNodeGroupContext(self, localctx) - self.enterOuterAlt(localctx, 8) - self.state = 1981 - self.match(frameQLParser.NODEGROUP) - self.state = 1983 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1982 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1985 - localctx.nodegroup = self.uid() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AlterDatabaseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_alterDatabase - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class AlterUpgradeNameContext(AlterDatabaseContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterDatabaseContext - super().__init__(parser) - self.dbFormat = None # Token - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def UPGRADE(self): - return self.getToken(frameQLParser.UPGRADE, 0) - def DATA(self): - return self.getToken(frameQLParser.DATA, 0) - def DIRECTORY(self): - return self.getToken(frameQLParser.DIRECTORY, 0) - def NAME(self): - return self.getToken(frameQLParser.NAME, 0) - def DATABASE(self): - return self.getToken(frameQLParser.DATABASE, 0) - def SCHEMA(self): - return self.getToken(frameQLParser.SCHEMA, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterUpgradeName" ): - listener.enterAlterUpgradeName(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterUpgradeName" ): - listener.exitAlterUpgradeName(self) - - - class AlterSimpleDatabaseContext(AlterDatabaseContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterDatabaseContext - super().__init__(parser) - self.dbFormat = None # Token - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - def DATABASE(self): - return self.getToken(frameQLParser.DATABASE, 0) - def SCHEMA(self): - return self.getToken(frameQLParser.SCHEMA, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def createDatabaseOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.CreateDatabaseOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.CreateDatabaseOptionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterSimpleDatabase" ): - listener.enterAlterSimpleDatabase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterSimpleDatabase" ): - listener.exitAlterSimpleDatabase(self) - - - - def alterDatabase(self): - - localctx = frameQLParser.AlterDatabaseContext(self, self._ctx, self.state) - self.enterRule(localctx, 112, self.RULE_alterDatabase) - self._la = 0 # Token type - try: - self.state = 2006 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,235,self._ctx) - if la_ == 1: - localctx = frameQLParser.AlterSimpleDatabaseContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1988 - self.match(frameQLParser.ALTER) - self.state = 1989 - localctx.dbFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DATABASE or _la==frameQLParser.SCHEMA): - localctx.dbFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 1991 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,233,self._ctx) - if la_ == 1: - self.state = 1990 - self.uid() - - - self.state = 1994 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 1993 - self.createDatabaseOption() - self.state = 1996 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not ((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << frameQLParser.CHARACTER) | (1 << frameQLParser.COLLATE) | (1 << frameQLParser.DEFAULT))) != 0) or _la==frameQLParser.CHARSET): - break - - pass - - elif la_ == 2: - localctx = frameQLParser.AlterUpgradeNameContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1998 - self.match(frameQLParser.ALTER) - self.state = 1999 - localctx.dbFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DATABASE or _la==frameQLParser.SCHEMA): - localctx.dbFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2000 - self.uid() - self.state = 2001 - self.match(frameQLParser.UPGRADE) - self.state = 2002 - self.match(frameQLParser.DATA) - self.state = 2003 - self.match(frameQLParser.DIRECTORY) - self.state = 2004 - self.match(frameQLParser.NAME) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AlterEventContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - - def EVENT(self): - return self.getToken(frameQLParser.EVENT, 0) - - def fullId(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.FullIdContext) - else: - return self.getTypedRuleContext(frameQLParser.FullIdContext,i) - - - def ownerStatement(self): - return self.getTypedRuleContext(frameQLParser.OwnerStatementContext,0) - - - def ON(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.ON) - else: - return self.getToken(frameQLParser.ON, i) - - def SCHEDULE(self): - return self.getToken(frameQLParser.SCHEDULE, 0) - - def scheduleExpression(self): - return self.getTypedRuleContext(frameQLParser.ScheduleExpressionContext,0) - - - def COMPLETION(self): - return self.getToken(frameQLParser.COMPLETION, 0) - - def PRESERVE(self): - return self.getToken(frameQLParser.PRESERVE, 0) - - def RENAME(self): - return self.getToken(frameQLParser.RENAME, 0) - - def TO(self): - return self.getToken(frameQLParser.TO, 0) - - def enableType(self): - return self.getTypedRuleContext(frameQLParser.EnableTypeContext,0) - - - def COMMENT(self): - return self.getToken(frameQLParser.COMMENT, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def DO(self): - return self.getToken(frameQLParser.DO, 0) - - def routineBody(self): - return self.getTypedRuleContext(frameQLParser.RoutineBodyContext,0) - - - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_alterEvent - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterEvent" ): - listener.enterAlterEvent(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterEvent" ): - listener.exitAlterEvent(self) - - - - - def alterEvent(self): - - localctx = frameQLParser.AlterEventContext(self, self._ctx, self.state) - self.enterRule(localctx, 114, self.RULE_alterEvent) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2008 - self.match(frameQLParser.ALTER) - self.state = 2010 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFINER: - self.state = 2009 - self.ownerStatement() - - - self.state = 2012 - self.match(frameQLParser.EVENT) - self.state = 2013 - self.fullId() - self.state = 2017 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,237,self._ctx) - if la_ == 1: - self.state = 2014 - self.match(frameQLParser.ON) - self.state = 2015 - self.match(frameQLParser.SCHEDULE) - self.state = 2016 - self.scheduleExpression() - - - self.state = 2025 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ON: - self.state = 2019 - self.match(frameQLParser.ON) - self.state = 2020 - self.match(frameQLParser.COMPLETION) - self.state = 2022 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NOT: - self.state = 2021 - self.match(frameQLParser.NOT) - - - self.state = 2024 - self.match(frameQLParser.PRESERVE) - - - self.state = 2030 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.RENAME: - self.state = 2027 - self.match(frameQLParser.RENAME) - self.state = 2028 - self.match(frameQLParser.TO) - self.state = 2029 - self.fullId() - - - self.state = 2033 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DISABLE or _la==frameQLParser.ENABLE: - self.state = 2032 - self.enableType() - - - self.state = 2037 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COMMENT: - self.state = 2035 - self.match(frameQLParser.COMMENT) - self.state = 2036 - self.match(frameQLParser.STRING_LITERAL) - - - self.state = 2041 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DO: - self.state = 2039 - self.match(frameQLParser.DO) - self.state = 2040 - self.routineBody() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AlterFunctionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - - def FUNCTION(self): - return self.getToken(frameQLParser.FUNCTION, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def routineOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.RoutineOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.RoutineOptionContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_alterFunction - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterFunction" ): - listener.enterAlterFunction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterFunction" ): - listener.exitAlterFunction(self) - - - - - def alterFunction(self): - - localctx = frameQLParser.AlterFunctionContext(self, self._ctx, self.state) - self.enterRule(localctx, 116, self.RULE_alterFunction) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2043 - self.match(frameQLParser.ALTER) - self.state = 2044 - self.match(frameQLParser.FUNCTION) - self.state = 2045 - self.fullId() - self.state = 2049 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.DETERMINISTIC or ((((_la - 99)) & ~0x3f) == 0 and ((1 << (_la - 99)) & ((1 << (frameQLParser.MODIFIES - 99)) | (1 << (frameQLParser.NOT - 99)) | (1 << (frameQLParser.READS - 99)) | (1 << (frameQLParser.SQL - 99)))) != 0) or _la==frameQLParser.COMMENT or _la==frameQLParser.CONTAINS or _la==frameQLParser.LANGUAGE or _la==frameQLParser.NO: - self.state = 2046 - self.routineOption() - self.state = 2051 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AlterInstanceContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - - def INSTANCE(self): - return self.getToken(frameQLParser.INSTANCE, 0) - - def ROTATE(self): - return self.getToken(frameQLParser.ROTATE, 0) - - def INNODB(self): - return self.getToken(frameQLParser.INNODB, 0) - - def MASTER(self): - return self.getToken(frameQLParser.MASTER, 0) - - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_alterInstance - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterInstance" ): - listener.enterAlterInstance(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterInstance" ): - listener.exitAlterInstance(self) - - - - - def alterInstance(self): - - localctx = frameQLParser.AlterInstanceContext(self, self._ctx, self.state) - self.enterRule(localctx, 118, self.RULE_alterInstance) - try: - self.enterOuterAlt(localctx, 1) - self.state = 2052 - self.match(frameQLParser.ALTER) - self.state = 2053 - self.match(frameQLParser.INSTANCE) - self.state = 2054 - self.match(frameQLParser.ROTATE) - self.state = 2055 - self.match(frameQLParser.INNODB) - self.state = 2056 - self.match(frameQLParser.MASTER) - self.state = 2057 - self.match(frameQLParser.KEY) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AlterLogfileGroupContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - - def LOGFILE(self): - return self.getToken(frameQLParser.LOGFILE, 0) - - def GROUP(self): - return self.getToken(frameQLParser.GROUP, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - - def UNDOFILE(self): - return self.getToken(frameQLParser.UNDOFILE, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - - def engineName(self): - return self.getTypedRuleContext(frameQLParser.EngineNameContext,0) - - - def INITIAL_SIZE(self): - return self.getToken(frameQLParser.INITIAL_SIZE, 0) - - def fileSizeLiteral(self): - return self.getTypedRuleContext(frameQLParser.FileSizeLiteralContext,0) - - - def WAIT(self): - return self.getToken(frameQLParser.WAIT, 0) - - def EQUAL_SYMBOL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.EQUAL_SYMBOL) - else: - return self.getToken(frameQLParser.EQUAL_SYMBOL, i) - - def getRuleIndex(self): - return frameQLParser.RULE_alterLogfileGroup - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterLogfileGroup" ): - listener.enterAlterLogfileGroup(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterLogfileGroup" ): - listener.exitAlterLogfileGroup(self) - - - - - def alterLogfileGroup(self): - - localctx = frameQLParser.AlterLogfileGroupContext(self, self._ctx, self.state) - self.enterRule(localctx, 120, self.RULE_alterLogfileGroup) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2059 - self.match(frameQLParser.ALTER) - self.state = 2060 - self.match(frameQLParser.LOGFILE) - self.state = 2061 - self.match(frameQLParser.GROUP) - self.state = 2062 - self.uid() - self.state = 2063 - self.match(frameQLParser.ADD) - self.state = 2064 - self.match(frameQLParser.UNDOFILE) - self.state = 2065 - self.match(frameQLParser.STRING_LITERAL) - self.state = 2071 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INITIAL_SIZE: - self.state = 2066 - self.match(frameQLParser.INITIAL_SIZE) - self.state = 2068 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 2067 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 2070 - self.fileSizeLiteral() - - - self.state = 2074 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WAIT: - self.state = 2073 - self.match(frameQLParser.WAIT) - - - self.state = 2076 - self.match(frameQLParser.ENGINE) - self.state = 2078 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 2077 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 2080 - self.engineName() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AlterProcedureContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - - def PROCEDURE(self): - return self.getToken(frameQLParser.PROCEDURE, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def routineOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.RoutineOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.RoutineOptionContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_alterProcedure - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterProcedure" ): - listener.enterAlterProcedure(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterProcedure" ): - listener.exitAlterProcedure(self) - - - - - def alterProcedure(self): - - localctx = frameQLParser.AlterProcedureContext(self, self._ctx, self.state) - self.enterRule(localctx, 122, self.RULE_alterProcedure) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2082 - self.match(frameQLParser.ALTER) - self.state = 2083 - self.match(frameQLParser.PROCEDURE) - self.state = 2084 - self.fullId() - self.state = 2088 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.DETERMINISTIC or ((((_la - 99)) & ~0x3f) == 0 and ((1 << (_la - 99)) & ((1 << (frameQLParser.MODIFIES - 99)) | (1 << (frameQLParser.NOT - 99)) | (1 << (frameQLParser.READS - 99)) | (1 << (frameQLParser.SQL - 99)))) != 0) or _la==frameQLParser.COMMENT or _la==frameQLParser.CONTAINS or _la==frameQLParser.LANGUAGE or _la==frameQLParser.NO: - self.state = 2085 - self.routineOption() - self.state = 2090 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AlterServerContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - - def SERVER(self): - return self.getToken(frameQLParser.SERVER, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def OPTIONS(self): - return self.getToken(frameQLParser.OPTIONS, 0) - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def serverOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ServerOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.ServerOptionContext,i) - - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_alterServer - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterServer" ): - listener.enterAlterServer(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterServer" ): - listener.exitAlterServer(self) - - - - - def alterServer(self): - - localctx = frameQLParser.AlterServerContext(self, self._ctx, self.state) - self.enterRule(localctx, 124, self.RULE_alterServer) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2091 - self.match(frameQLParser.ALTER) - self.state = 2092 - self.match(frameQLParser.SERVER) - self.state = 2093 - self.uid() - self.state = 2094 - self.match(frameQLParser.OPTIONS) - self.state = 2095 - self.match(frameQLParser.LR_BRACKET) - self.state = 2096 - self.serverOption() - self.state = 2101 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2097 - self.match(frameQLParser.COMMA) - self.state = 2098 - self.serverOption() - self.state = 2103 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2104 - self.match(frameQLParser.RR_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AlterTableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.intimeAction = None # Token - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def alterSpecification(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.AlterSpecificationContext) - else: - return self.getTypedRuleContext(frameQLParser.AlterSpecificationContext,i) - - - def IGNORE(self): - return self.getToken(frameQLParser.IGNORE, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def partitionDefinitions(self): - return self.getTypedRuleContext(frameQLParser.PartitionDefinitionsContext,0) - - - def ONLINE(self): - return self.getToken(frameQLParser.ONLINE, 0) - - def OFFLINE(self): - return self.getToken(frameQLParser.OFFLINE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_alterTable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterTable" ): - listener.enterAlterTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterTable" ): - listener.exitAlterTable(self) - - - - - def alterTable(self): - - localctx = frameQLParser.AlterTableContext(self, self._ctx, self.state) - self.enterRule(localctx, 126, self.RULE_alterTable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2106 - self.match(frameQLParser.ALTER) - self.state = 2108 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.OFFLINE or _la==frameQLParser.ONLINE: - self.state = 2107 - localctx.intimeAction = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.OFFLINE or _la==frameQLParser.ONLINE): - localctx.intimeAction = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2111 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE: - self.state = 2110 - self.match(frameQLParser.IGNORE) - - - self.state = 2113 - self.match(frameQLParser.TABLE) - self.state = 2114 - self.tableName() - self.state = 2115 - self.alterSpecification() - self.state = 2120 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2116 - self.match(frameQLParser.COMMA) - self.state = 2117 - self.alterSpecification() - self.state = 2122 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2124 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PARTITION: - self.state = 2123 - self.partitionDefinitions() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AlterTablespaceContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.objectAction = None # Token - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def DATAFILE(self): - return self.getToken(frameQLParser.DATAFILE, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - - def engineName(self): - return self.getTypedRuleContext(frameQLParser.EngineNameContext,0) - - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def INITIAL_SIZE(self): - return self.getToken(frameQLParser.INITIAL_SIZE, 0) - - def EQUAL_SYMBOL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.EQUAL_SYMBOL) - else: - return self.getToken(frameQLParser.EQUAL_SYMBOL, i) - - def fileSizeLiteral(self): - return self.getTypedRuleContext(frameQLParser.FileSizeLiteralContext,0) - - - def WAIT(self): - return self.getToken(frameQLParser.WAIT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_alterTablespace - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterTablespace" ): - listener.enterAlterTablespace(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterTablespace" ): - listener.exitAlterTablespace(self) - - - - - def alterTablespace(self): - - localctx = frameQLParser.AlterTablespaceContext(self, self._ctx, self.state) - self.enterRule(localctx, 128, self.RULE_alterTablespace) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2126 - self.match(frameQLParser.ALTER) - self.state = 2127 - self.match(frameQLParser.TABLESPACE) - self.state = 2128 - self.uid() - self.state = 2129 - localctx.objectAction = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ADD or _la==frameQLParser.DROP): - localctx.objectAction = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2130 - self.match(frameQLParser.DATAFILE) - self.state = 2131 - self.match(frameQLParser.STRING_LITERAL) - self.state = 2135 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INITIAL_SIZE: - self.state = 2132 - self.match(frameQLParser.INITIAL_SIZE) - self.state = 2133 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 2134 - self.fileSizeLiteral() - - - self.state = 2138 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WAIT: - self.state = 2137 - self.match(frameQLParser.WAIT) - - - self.state = 2140 - self.match(frameQLParser.ENGINE) - self.state = 2142 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 2141 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 2144 - self.engineName() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AlterViewContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.algType = None # Token - self.secContext = None # Token - self.checkOpt = None # Token - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - - def VIEW(self): - return self.getToken(frameQLParser.VIEW, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - - def ALGORITHM(self): - return self.getToken(frameQLParser.ALGORITHM, 0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def ownerStatement(self): - return self.getTypedRuleContext(frameQLParser.OwnerStatementContext,0) - - - def SQL(self): - return self.getToken(frameQLParser.SQL, 0) - - def SECURITY(self): - return self.getToken(frameQLParser.SECURITY, 0) - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - - def CHECK(self): - return self.getToken(frameQLParser.CHECK, 0) - - def OPTION(self): - return self.getToken(frameQLParser.OPTION, 0) - - def UNDEFINED(self): - return self.getToken(frameQLParser.UNDEFINED, 0) - - def MERGE(self): - return self.getToken(frameQLParser.MERGE, 0) - - def TEMPTABLE(self): - return self.getToken(frameQLParser.TEMPTABLE, 0) - - def DEFINER(self): - return self.getToken(frameQLParser.DEFINER, 0) - - def INVOKER(self): - return self.getToken(frameQLParser.INVOKER, 0) - - def CASCADED(self): - return self.getToken(frameQLParser.CASCADED, 0) - - def LOCAL(self): - return self.getToken(frameQLParser.LOCAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_alterView - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterView" ): - listener.enterAlterView(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterView" ): - listener.exitAlterView(self) - - - - - def alterView(self): - - localctx = frameQLParser.AlterViewContext(self, self._ctx, self.state) - self.enterRule(localctx, 130, self.RULE_alterView) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2146 - self.match(frameQLParser.ALTER) - self.state = 2150 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALGORITHM: - self.state = 2147 - self.match(frameQLParser.ALGORITHM) - self.state = 2148 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 2149 - localctx.algType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.MERGE or _la==frameQLParser.TEMPTABLE or _la==frameQLParser.UNDEFINED): - localctx.algType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2153 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFINER: - self.state = 2152 - self.ownerStatement() - - - self.state = 2158 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SQL: - self.state = 2155 - self.match(frameQLParser.SQL) - self.state = 2156 - self.match(frameQLParser.SECURITY) - self.state = 2157 - localctx.secContext = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFINER or _la==frameQLParser.INVOKER): - localctx.secContext = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2160 - self.match(frameQLParser.VIEW) - self.state = 2161 - self.fullId() - self.state = 2166 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 2162 - self.match(frameQLParser.LR_BRACKET) - self.state = 2163 - self.uidList() - self.state = 2164 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 2168 - self.match(frameQLParser.AS) - self.state = 2169 - self.selectStatement() - self.state = 2176 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WITH: - self.state = 2170 - self.match(frameQLParser.WITH) - self.state = 2172 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CASCADED or _la==frameQLParser.LOCAL: - self.state = 2171 - localctx.checkOpt = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.CASCADED or _la==frameQLParser.LOCAL): - localctx.checkOpt = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2174 - self.match(frameQLParser.CHECK) - self.state = 2175 - self.match(frameQLParser.OPTION) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AlterSpecificationContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_alterSpecification - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class AlterByDisableKeysContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def DISABLE(self): - return self.getToken(frameQLParser.DISABLE, 0) - def KEYS(self): - return self.getToken(frameQLParser.KEYS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByDisableKeys" ): - listener.enterAlterByDisableKeys(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByDisableKeys" ): - listener.exitAlterByDisableKeys(self) - - - class AlterByDefaultCharsetContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - def SET(self): - return self.getToken(frameQLParser.SET, 0) - def EQUAL_SYMBOL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.EQUAL_SYMBOL) - else: - return self.getToken(frameQLParser.EQUAL_SYMBOL, i) - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - def COLLATE(self): - return self.getToken(frameQLParser.COLLATE, 0) - def collationName(self): - return self.getTypedRuleContext(frameQLParser.CollationNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByDefaultCharset" ): - listener.enterAlterByDefaultCharset(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByDefaultCharset" ): - listener.exitAlterByDefaultCharset(self) - - - class AlterByRenameColumnContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.oldColumn = None # UidContext - self.newColumn = None # UidContext - self.copyFrom(ctx) - - def RENAME(self): - return self.getToken(frameQLParser.RENAME, 0) - def COLUMN(self): - return self.getToken(frameQLParser.COLUMN, 0) - def TO(self): - return self.getToken(frameQLParser.TO, 0) - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByRenameColumn" ): - listener.enterAlterByRenameColumn(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByRenameColumn" ): - listener.exitAlterByRenameColumn(self) - - - class AlterByConvertCharsetContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def CONVERT(self): - return self.getToken(frameQLParser.CONVERT, 0) - def TO(self): - return self.getToken(frameQLParser.TO, 0) - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - def SET(self): - return self.getToken(frameQLParser.SET, 0) - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - def COLLATE(self): - return self.getToken(frameQLParser.COLLATE, 0) - def collationName(self): - return self.getTypedRuleContext(frameQLParser.CollationNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByConvertCharset" ): - listener.enterAlterByConvertCharset(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByConvertCharset" ): - listener.exitAlterByConvertCharset(self) - - - class AlterByAddPartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def partitionDefinition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionDefinitionContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionDefinitionContext,i) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByAddPartition" ): - listener.enterAlterByAddPartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByAddPartition" ): - listener.exitAlterByAddPartition(self) - - - class AlterByAnalyzePartitiionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def ANALYZE(self): - return self.getToken(frameQLParser.ANALYZE, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByAnalyzePartitiion" ): - listener.enterAlterByAnalyzePartitiion(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByAnalyzePartitiion" ): - listener.exitAlterByAnalyzePartitiion(self) - - - class AlterByAddForeignKeyContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.name = None # UidContext - self.indexName = None # UidContext - self.copyFrom(ctx) - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - def FOREIGN(self): - return self.getToken(frameQLParser.FOREIGN, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - def referenceDefinition(self): - return self.getTypedRuleContext(frameQLParser.ReferenceDefinitionContext,0) - - def CONSTRAINT(self): - return self.getToken(frameQLParser.CONSTRAINT, 0) - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByAddForeignKey" ): - listener.enterAlterByAddForeignKey(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByAddForeignKey" ): - listener.exitAlterByAddForeignKey(self) - - - class AlterByRemovePartitioningContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def REMOVE(self): - return self.getToken(frameQLParser.REMOVE, 0) - def PARTITIONING(self): - return self.getToken(frameQLParser.PARTITIONING, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByRemovePartitioning" ): - listener.enterAlterByRemovePartitioning(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByRemovePartitioning" ): - listener.exitAlterByRemovePartitioning(self) - - - class AlterByRenameContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.renameFormat = None # Token - self.copyFrom(ctx) - - def RENAME(self): - return self.getToken(frameQLParser.RENAME, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - def TO(self): - return self.getToken(frameQLParser.TO, 0) - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByRename" ): - listener.enterAlterByRename(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByRename" ): - listener.exitAlterByRename(self) - - - class AlterByOptimizePartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def OPTIMIZE(self): - return self.getToken(frameQLParser.OPTIMIZE, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByOptimizePartition" ): - listener.enterAlterByOptimizePartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByOptimizePartition" ): - listener.exitAlterByOptimizePartition(self) - - - class AlterByImportTablespaceContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def IMPORT(self): - return self.getToken(frameQLParser.IMPORT, 0) - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByImportTablespace" ): - listener.enterAlterByImportTablespace(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByImportTablespace" ): - listener.exitAlterByImportTablespace(self) - - - class AlterByCoalescePartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def COALESCE(self): - return self.getToken(frameQLParser.COALESCE, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByCoalescePartition" ): - listener.enterAlterByCoalescePartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByCoalescePartition" ): - listener.exitAlterByCoalescePartition(self) - - - class AlterByAddColumnsContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - def columnDefinition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ColumnDefinitionContext) - else: - return self.getTypedRuleContext(frameQLParser.ColumnDefinitionContext,i) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def COLUMN(self): - return self.getToken(frameQLParser.COLUMN, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByAddColumns" ): - listener.enterAlterByAddColumns(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByAddColumns" ): - listener.exitAlterByAddColumns(self) - - - class AlterByDropForeignKeyContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - def FOREIGN(self): - return self.getToken(frameQLParser.FOREIGN, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByDropForeignKey" ): - listener.enterAlterByDropForeignKey(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByDropForeignKey" ): - listener.exitAlterByDropForeignKey(self) - - - class AlterByAddCheckTableConstraintContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.name = None # UidContext - self.copyFrom(ctx) - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - def CHECK(self): - return self.getToken(frameQLParser.CHECK, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def CONSTRAINT(self): - return self.getToken(frameQLParser.CONSTRAINT, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByAddCheckTableConstraint" ): - listener.enterAlterByAddCheckTableConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByAddCheckTableConstraint" ): - listener.exitAlterByAddCheckTableConstraint(self) - - - class AlterByRebuildPartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def REBUILD(self): - return self.getToken(frameQLParser.REBUILD, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByRebuildPartition" ): - listener.enterAlterByRebuildPartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByRebuildPartition" ): - listener.exitAlterByRebuildPartition(self) - - - class AlterByUpgradePartitioningContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def UPGRADE(self): - return self.getToken(frameQLParser.UPGRADE, 0) - def PARTITIONING(self): - return self.getToken(frameQLParser.PARTITIONING, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByUpgradePartitioning" ): - listener.enterAlterByUpgradePartitioning(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByUpgradePartitioning" ): - listener.exitAlterByUpgradePartitioning(self) - - - class AlterByRepairPartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def REPAIR(self): - return self.getToken(frameQLParser.REPAIR, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByRepairPartition" ): - listener.enterAlterByRepairPartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByRepairPartition" ): - listener.exitAlterByRepairPartition(self) - - - class AlterByExchangePartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.validationFormat = None # Token - self.copyFrom(ctx) - - def EXCHANGE(self): - return self.getToken(frameQLParser.EXCHANGE, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def WITH(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.WITH) - else: - return self.getToken(frameQLParser.WITH, i) - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - def VALIDATION(self): - return self.getToken(frameQLParser.VALIDATION, 0) - def WITHOUT(self): - return self.getToken(frameQLParser.WITHOUT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByExchangePartition" ): - listener.enterAlterByExchangePartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByExchangePartition" ): - listener.exitAlterByExchangePartition(self) - - - class AlterByAddIndexContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.indexFormat = None # Token - self.copyFrom(ctx) - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def indexType(self): - return self.getTypedRuleContext(frameQLParser.IndexTypeContext,0) - - def indexOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IndexOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.IndexOptionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByAddIndex" ): - listener.enterAlterByAddIndex(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByAddIndex" ): - listener.exitAlterByAddIndex(self) - - - class AlterByDropColumnContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def COLUMN(self): - return self.getToken(frameQLParser.COLUMN, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByDropColumn" ): - listener.enterAlterByDropColumn(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByDropColumn" ): - listener.exitAlterByDropColumn(self) - - - class AlterByImportPartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def IMPORT(self): - return self.getToken(frameQLParser.IMPORT, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByImportPartition" ): - listener.enterAlterByImportPartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByImportPartition" ): - listener.exitAlterByImportPartition(self) - - - class AlterByChangeDefaultContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - def defaultValue(self): - return self.getTypedRuleContext(frameQLParser.DefaultValueContext,0) - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - def COLUMN(self): - return self.getToken(frameQLParser.COLUMN, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByChangeDefault" ): - listener.enterAlterByChangeDefault(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByChangeDefault" ): - listener.exitAlterByChangeDefault(self) - - - class AlterByForceContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def FORCE(self): - return self.getToken(frameQLParser.FORCE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByForce" ): - listener.enterAlterByForce(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByForce" ): - listener.exitAlterByForce(self) - - - class AlterByDropPartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByDropPartition" ): - listener.enterAlterByDropPartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByDropPartition" ): - listener.exitAlterByDropPartition(self) - - - class AlterByAddSpecialIndexContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.keyType = None # Token - self.indexFormat = None # Token - self.copyFrom(ctx) - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - def FULLTEXT(self): - return self.getToken(frameQLParser.FULLTEXT, 0) - def SPATIAL(self): - return self.getToken(frameQLParser.SPATIAL, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def indexOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IndexOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.IndexOptionContext,i) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByAddSpecialIndex" ): - listener.enterAlterByAddSpecialIndex(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByAddSpecialIndex" ): - listener.exitAlterByAddSpecialIndex(self) - - - class AlterByModifyColumnContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def MODIFY(self): - return self.getToken(frameQLParser.MODIFY, 0) - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - def columnDefinition(self): - return self.getTypedRuleContext(frameQLParser.ColumnDefinitionContext,0) - - def COLUMN(self): - return self.getToken(frameQLParser.COLUMN, 0) - def FIRST(self): - return self.getToken(frameQLParser.FIRST, 0) - def AFTER(self): - return self.getToken(frameQLParser.AFTER, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByModifyColumn" ): - listener.enterAlterByModifyColumn(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByModifyColumn" ): - listener.exitAlterByModifyColumn(self) - - - class AlterByTableOptionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def tableOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TableOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.TableOptionContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByTableOption" ): - listener.enterAlterByTableOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByTableOption" ): - listener.exitAlterByTableOption(self) - - - class AlterByDropPrimaryKeyContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - def PRIMARY(self): - return self.getToken(frameQLParser.PRIMARY, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByDropPrimaryKey" ): - listener.enterAlterByDropPrimaryKey(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByDropPrimaryKey" ): - listener.exitAlterByDropPrimaryKey(self) - - - class AlterByLockContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.lockType = None # Token - self.copyFrom(ctx) - - def LOCK(self): - return self.getToken(frameQLParser.LOCK, 0) - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - def NONE(self): - return self.getToken(frameQLParser.NONE, 0) - def SHARED(self): - return self.getToken(frameQLParser.SHARED, 0) - def EXCLUSIVE(self): - return self.getToken(frameQLParser.EXCLUSIVE, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByLock" ): - listener.enterAlterByLock(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByLock" ): - listener.exitAlterByLock(self) - - - class AlterByDiscardPartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def DISCARD(self): - return self.getToken(frameQLParser.DISCARD, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByDiscardPartition" ): - listener.enterAlterByDiscardPartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByDiscardPartition" ): - listener.exitAlterByDiscardPartition(self) - - - class AlterByDiscardTablespaceContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def DISCARD(self): - return self.getToken(frameQLParser.DISCARD, 0) - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByDiscardTablespace" ): - listener.enterAlterByDiscardTablespace(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByDiscardTablespace" ): - listener.exitAlterByDiscardTablespace(self) - - - class AlterByValidateContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.validationFormat = None # Token - self.copyFrom(ctx) - - def VALIDATION(self): - return self.getToken(frameQLParser.VALIDATION, 0) - def WITHOUT(self): - return self.getToken(frameQLParser.WITHOUT, 0) - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByValidate" ): - listener.enterAlterByValidate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByValidate" ): - listener.exitAlterByValidate(self) - - - class AlterByAddPrimaryKeyContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.name = None # UidContext - self.copyFrom(ctx) - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - def PRIMARY(self): - return self.getToken(frameQLParser.PRIMARY, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - def CONSTRAINT(self): - return self.getToken(frameQLParser.CONSTRAINT, 0) - def indexType(self): - return self.getTypedRuleContext(frameQLParser.IndexTypeContext,0) - - def indexOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IndexOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.IndexOptionContext,i) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByAddPrimaryKey" ): - listener.enterAlterByAddPrimaryKey(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByAddPrimaryKey" ): - listener.exitAlterByAddPrimaryKey(self) - - - class AlterByCheckPartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def CHECK(self): - return self.getToken(frameQLParser.CHECK, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByCheckPartition" ): - listener.enterAlterByCheckPartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByCheckPartition" ): - listener.exitAlterByCheckPartition(self) - - - class AlterByEnableKeysContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def ENABLE(self): - return self.getToken(frameQLParser.ENABLE, 0) - def KEYS(self): - return self.getToken(frameQLParser.KEYS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByEnableKeys" ): - listener.enterAlterByEnableKeys(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByEnableKeys" ): - listener.exitAlterByEnableKeys(self) - - - class AlterByReorganizePartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def REORGANIZE(self): - return self.getToken(frameQLParser.REORGANIZE, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def INTO(self): - return self.getToken(frameQLParser.INTO, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def partitionDefinition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionDefinitionContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionDefinitionContext,i) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByReorganizePartition" ): - listener.enterAlterByReorganizePartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByReorganizePartition" ): - listener.exitAlterByReorganizePartition(self) - - - class AlterBySetAlgorithmContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.algType = None # Token - self.copyFrom(ctx) - - def ALGORITHM(self): - return self.getToken(frameQLParser.ALGORITHM, 0) - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - def INPLACE(self): - return self.getToken(frameQLParser.INPLACE, 0) - def COPY(self): - return self.getToken(frameQLParser.COPY, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterBySetAlgorithm" ): - listener.enterAlterBySetAlgorithm(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterBySetAlgorithm" ): - listener.exitAlterBySetAlgorithm(self) - - - class AlterByChangeColumnContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.oldColumn = None # UidContext - self.newColumn = None # UidContext - self.afterColumn = None # UidContext - self.copyFrom(ctx) - - def CHANGE(self): - return self.getToken(frameQLParser.CHANGE, 0) - def columnDefinition(self): - return self.getTypedRuleContext(frameQLParser.ColumnDefinitionContext,0) - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - def COLUMN(self): - return self.getToken(frameQLParser.COLUMN, 0) - def FIRST(self): - return self.getToken(frameQLParser.FIRST, 0) - def AFTER(self): - return self.getToken(frameQLParser.AFTER, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByChangeColumn" ): - listener.enterAlterByChangeColumn(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByChangeColumn" ): - listener.exitAlterByChangeColumn(self) - - - class AlterByAddUniqueKeyContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.name = None # UidContext - self.indexFormat = None # Token - self.indexName = None # UidContext - self.copyFrom(ctx) - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - def UNIQUE(self): - return self.getToken(frameQLParser.UNIQUE, 0) - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - def CONSTRAINT(self): - return self.getToken(frameQLParser.CONSTRAINT, 0) - def indexType(self): - return self.getTypedRuleContext(frameQLParser.IndexTypeContext,0) - - def indexOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IndexOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.IndexOptionContext,i) - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByAddUniqueKey" ): - listener.enterAlterByAddUniqueKey(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByAddUniqueKey" ): - listener.exitAlterByAddUniqueKey(self) - - - class AlterByTruncatePartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def TRUNCATE(self): - return self.getToken(frameQLParser.TRUNCATE, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByTruncatePartition" ): - listener.enterAlterByTruncatePartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByTruncatePartition" ): - listener.exitAlterByTruncatePartition(self) - - - class AlterByDropIndexContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.indexFormat = None # Token - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByDropIndex" ): - listener.enterAlterByDropIndex(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByDropIndex" ): - listener.exitAlterByDropIndex(self) - - - class AlterByAddColumnContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - def columnDefinition(self): - return self.getTypedRuleContext(frameQLParser.ColumnDefinitionContext,0) - - def COLUMN(self): - return self.getToken(frameQLParser.COLUMN, 0) - def FIRST(self): - return self.getToken(frameQLParser.FIRST, 0) - def AFTER(self): - return self.getToken(frameQLParser.AFTER, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByAddColumn" ): - listener.enterAlterByAddColumn(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByAddColumn" ): - listener.exitAlterByAddColumn(self) - - - class AlterByOrderContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def ORDER(self): - return self.getToken(frameQLParser.ORDER, 0) - def BY(self): - return self.getToken(frameQLParser.BY, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByOrder" ): - listener.enterAlterByOrder(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByOrder" ): - listener.exitAlterByOrder(self) - - - - def alterSpecification(self): - - localctx = frameQLParser.AlterSpecificationContext(self, self._ctx, self.state) - self.enterRule(localctx, 132, self.RULE_alterSpecification) - self._la = 0 # Token type - try: - self.state = 2524 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,316,self._ctx) - if la_ == 1: - localctx = frameQLParser.AlterByTableOptionContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 2178 - self.tableOption() - self.state = 2185 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,265,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 2180 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COMMA: - self.state = 2179 - self.match(frameQLParser.COMMA) - - - self.state = 2182 - self.tableOption() - self.state = 2187 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,265,self._ctx) - - pass - - elif la_ == 2: - localctx = frameQLParser.AlterByAddColumnContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 2188 - self.match(frameQLParser.ADD) - self.state = 2190 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLUMN: - self.state = 2189 - self.match(frameQLParser.COLUMN) - - - self.state = 2192 - self.uid() - self.state = 2193 - self.columnDefinition() - self.state = 2197 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.FIRST]: - self.state = 2194 - self.match(frameQLParser.FIRST) - pass - elif token in [frameQLParser.AFTER]: - self.state = 2195 - self.match(frameQLParser.AFTER) - self.state = 2196 - self.uid() - pass - elif token in [frameQLParser.EOF, frameQLParser.PARTITION, frameQLParser.MINUSMINUS, frameQLParser.COMMA, frameQLParser.SEMI]: - pass - else: - pass - pass - - elif la_ == 3: - localctx = frameQLParser.AlterByAddColumnsContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 2199 - self.match(frameQLParser.ADD) - self.state = 2201 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLUMN: - self.state = 2200 - self.match(frameQLParser.COLUMN) - - - self.state = 2203 - self.match(frameQLParser.LR_BRACKET) - self.state = 2204 - self.uid() - self.state = 2205 - self.columnDefinition() - self.state = 2212 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2206 - self.match(frameQLParser.COMMA) - self.state = 2207 - self.uid() - self.state = 2208 - self.columnDefinition() - self.state = 2214 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2215 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 4: - localctx = frameQLParser.AlterByAddIndexContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 2217 - self.match(frameQLParser.ADD) - self.state = 2218 - localctx.indexFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.INDEX or _la==frameQLParser.KEY): - localctx.indexFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2220 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 2219 - self.uid() - - - self.state = 2223 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.USING: - self.state = 2222 - self.indexType() - - - self.state = 2225 - self.indexColumnNames() - self.state = 2229 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.USING or _la==frameQLParser.WITH or _la==frameQLParser.COMMENT or _la==frameQLParser.KEY_BLOCK_SIZE: - self.state = 2226 - self.indexOption() - self.state = 2231 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 5: - localctx = frameQLParser.AlterByAddPrimaryKeyContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 2232 - self.match(frameQLParser.ADD) - self.state = 2237 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CONSTRAINT: - self.state = 2233 - self.match(frameQLParser.CONSTRAINT) - self.state = 2235 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 2234 - localctx.name = self.uid() - - - - - self.state = 2239 - self.match(frameQLParser.PRIMARY) - self.state = 2240 - self.match(frameQLParser.KEY) - self.state = 2242 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.USING: - self.state = 2241 - self.indexType() - - - self.state = 2244 - self.indexColumnNames() - self.state = 2248 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.USING or _la==frameQLParser.WITH or _la==frameQLParser.COMMENT or _la==frameQLParser.KEY_BLOCK_SIZE: - self.state = 2245 - self.indexOption() - self.state = 2250 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 6: - localctx = frameQLParser.AlterByAddUniqueKeyContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 2251 - self.match(frameQLParser.ADD) - self.state = 2256 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CONSTRAINT: - self.state = 2252 - self.match(frameQLParser.CONSTRAINT) - self.state = 2254 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 2253 - localctx.name = self.uid() - - - - - self.state = 2258 - self.match(frameQLParser.UNIQUE) - self.state = 2260 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INDEX or _la==frameQLParser.KEY: - self.state = 2259 - localctx.indexFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.INDEX or _la==frameQLParser.KEY): - localctx.indexFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2263 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 2262 - localctx.indexName = self.uid() - - - self.state = 2266 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.USING: - self.state = 2265 - self.indexType() - - - self.state = 2268 - self.indexColumnNames() - self.state = 2272 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.USING or _la==frameQLParser.WITH or _la==frameQLParser.COMMENT or _la==frameQLParser.KEY_BLOCK_SIZE: - self.state = 2269 - self.indexOption() - self.state = 2274 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 7: - localctx = frameQLParser.AlterByAddSpecialIndexContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 2275 - self.match(frameQLParser.ADD) - self.state = 2276 - localctx.keyType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FULLTEXT or _la==frameQLParser.SPATIAL): - localctx.keyType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2278 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INDEX or _la==frameQLParser.KEY: - self.state = 2277 - localctx.indexFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.INDEX or _la==frameQLParser.KEY): - localctx.indexFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2281 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 2280 - self.uid() - - - self.state = 2283 - self.indexColumnNames() - self.state = 2287 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.USING or _la==frameQLParser.WITH or _la==frameQLParser.COMMENT or _la==frameQLParser.KEY_BLOCK_SIZE: - self.state = 2284 - self.indexOption() - self.state = 2289 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 8: - localctx = frameQLParser.AlterByAddForeignKeyContext(self, localctx) - self.enterOuterAlt(localctx, 8) - self.state = 2290 - self.match(frameQLParser.ADD) - self.state = 2295 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CONSTRAINT: - self.state = 2291 - self.match(frameQLParser.CONSTRAINT) - self.state = 2293 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 2292 - localctx.name = self.uid() - - - - - self.state = 2297 - self.match(frameQLParser.FOREIGN) - self.state = 2298 - self.match(frameQLParser.KEY) - self.state = 2300 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 2299 - localctx.indexName = self.uid() - - - self.state = 2302 - self.indexColumnNames() - self.state = 2303 - self.referenceDefinition() - pass - - elif la_ == 9: - localctx = frameQLParser.AlterByAddCheckTableConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 9) - self.state = 2305 - self.match(frameQLParser.ADD) - self.state = 2310 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CONSTRAINT: - self.state = 2306 - self.match(frameQLParser.CONSTRAINT) - self.state = 2308 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 2307 - localctx.name = self.uid() - - - - - self.state = 2312 - self.match(frameQLParser.CHECK) - self.state = 2313 - self.match(frameQLParser.LR_BRACKET) - self.state = 2314 - self.expression(0) - self.state = 2315 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 10: - localctx = frameQLParser.AlterBySetAlgorithmContext(self, localctx) - self.enterOuterAlt(localctx, 10) - self.state = 2317 - self.match(frameQLParser.ALGORITHM) - self.state = 2319 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 2318 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 2321 - localctx.algType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.COPY or _la==frameQLParser.INPLACE): - localctx.algType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 11: - localctx = frameQLParser.AlterByChangeDefaultContext(self, localctx) - self.enterOuterAlt(localctx, 11) - self.state = 2322 - self.match(frameQLParser.ALTER) - self.state = 2324 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLUMN: - self.state = 2323 - self.match(frameQLParser.COLUMN) - - - self.state = 2326 - self.uid() - self.state = 2332 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.SET]: - self.state = 2327 - self.match(frameQLParser.SET) - self.state = 2328 - self.match(frameQLParser.DEFAULT) - self.state = 2329 - self.defaultValue() - pass - elif token in [frameQLParser.DROP]: - self.state = 2330 - self.match(frameQLParser.DROP) - self.state = 2331 - self.match(frameQLParser.DEFAULT) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 12: - localctx = frameQLParser.AlterByChangeColumnContext(self, localctx) - self.enterOuterAlt(localctx, 12) - self.state = 2334 - self.match(frameQLParser.CHANGE) - self.state = 2336 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLUMN: - self.state = 2335 - self.match(frameQLParser.COLUMN) - - - self.state = 2338 - localctx.oldColumn = self.uid() - self.state = 2339 - localctx.newColumn = self.uid() - self.state = 2340 - self.columnDefinition() - self.state = 2344 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.FIRST]: - self.state = 2341 - self.match(frameQLParser.FIRST) - pass - elif token in [frameQLParser.AFTER]: - self.state = 2342 - self.match(frameQLParser.AFTER) - self.state = 2343 - localctx.afterColumn = self.uid() - pass - elif token in [frameQLParser.EOF, frameQLParser.PARTITION, frameQLParser.MINUSMINUS, frameQLParser.COMMA, frameQLParser.SEMI]: - pass - else: - pass - pass - - elif la_ == 13: - localctx = frameQLParser.AlterByRenameColumnContext(self, localctx) - self.enterOuterAlt(localctx, 13) - self.state = 2346 - self.match(frameQLParser.RENAME) - self.state = 2347 - self.match(frameQLParser.COLUMN) - self.state = 2348 - localctx.oldColumn = self.uid() - self.state = 2349 - self.match(frameQLParser.TO) - self.state = 2350 - localctx.newColumn = self.uid() - pass - - elif la_ == 14: - localctx = frameQLParser.AlterByLockContext(self, localctx) - self.enterOuterAlt(localctx, 14) - self.state = 2352 - self.match(frameQLParser.LOCK) - self.state = 2354 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 2353 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 2356 - localctx.lockType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.EXCLUSIVE or _la==frameQLParser.NONE or _la==frameQLParser.SHARED): - localctx.lockType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 15: - localctx = frameQLParser.AlterByModifyColumnContext(self, localctx) - self.enterOuterAlt(localctx, 15) - self.state = 2357 - self.match(frameQLParser.MODIFY) - self.state = 2359 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLUMN: - self.state = 2358 - self.match(frameQLParser.COLUMN) - - - self.state = 2361 - self.uid() - self.state = 2362 - self.columnDefinition() - self.state = 2366 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.FIRST]: - self.state = 2363 - self.match(frameQLParser.FIRST) - pass - elif token in [frameQLParser.AFTER]: - self.state = 2364 - self.match(frameQLParser.AFTER) - self.state = 2365 - self.uid() - pass - elif token in [frameQLParser.EOF, frameQLParser.PARTITION, frameQLParser.MINUSMINUS, frameQLParser.COMMA, frameQLParser.SEMI]: - pass - else: - pass - pass - - elif la_ == 16: - localctx = frameQLParser.AlterByDropColumnContext(self, localctx) - self.enterOuterAlt(localctx, 16) - self.state = 2368 - self.match(frameQLParser.DROP) - self.state = 2370 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLUMN: - self.state = 2369 - self.match(frameQLParser.COLUMN) - - - self.state = 2372 - self.uid() - pass - - elif la_ == 17: - localctx = frameQLParser.AlterByDropPrimaryKeyContext(self, localctx) - self.enterOuterAlt(localctx, 17) - self.state = 2373 - self.match(frameQLParser.DROP) - self.state = 2374 - self.match(frameQLParser.PRIMARY) - self.state = 2375 - self.match(frameQLParser.KEY) - pass - - elif la_ == 18: - localctx = frameQLParser.AlterByDropIndexContext(self, localctx) - self.enterOuterAlt(localctx, 18) - self.state = 2376 - self.match(frameQLParser.DROP) - self.state = 2377 - localctx.indexFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.INDEX or _la==frameQLParser.KEY): - localctx.indexFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2378 - self.uid() - pass - - elif la_ == 19: - localctx = frameQLParser.AlterByDropForeignKeyContext(self, localctx) - self.enterOuterAlt(localctx, 19) - self.state = 2379 - self.match(frameQLParser.DROP) - self.state = 2380 - self.match(frameQLParser.FOREIGN) - self.state = 2381 - self.match(frameQLParser.KEY) - self.state = 2382 - self.uid() - pass - - elif la_ == 20: - localctx = frameQLParser.AlterByDisableKeysContext(self, localctx) - self.enterOuterAlt(localctx, 20) - self.state = 2383 - self.match(frameQLParser.DISABLE) - self.state = 2384 - self.match(frameQLParser.KEYS) - pass - - elif la_ == 21: - localctx = frameQLParser.AlterByEnableKeysContext(self, localctx) - self.enterOuterAlt(localctx, 21) - self.state = 2385 - self.match(frameQLParser.ENABLE) - self.state = 2386 - self.match(frameQLParser.KEYS) - pass - - elif la_ == 22: - localctx = frameQLParser.AlterByRenameContext(self, localctx) - self.enterOuterAlt(localctx, 22) - self.state = 2387 - self.match(frameQLParser.RENAME) - self.state = 2389 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS or _la==frameQLParser.TO: - self.state = 2388 - localctx.renameFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.AS or _la==frameQLParser.TO): - localctx.renameFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2393 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,301,self._ctx) - if la_ == 1: - self.state = 2391 - self.uid() - pass - - elif la_ == 2: - self.state = 2392 - self.fullId() - pass - - - pass - - elif la_ == 23: - localctx = frameQLParser.AlterByOrderContext(self, localctx) - self.enterOuterAlt(localctx, 23) - self.state = 2395 - self.match(frameQLParser.ORDER) - self.state = 2396 - self.match(frameQLParser.BY) - self.state = 2397 - self.uidList() - pass - - elif la_ == 24: - localctx = frameQLParser.AlterByConvertCharsetContext(self, localctx) - self.enterOuterAlt(localctx, 24) - self.state = 2398 - self.match(frameQLParser.CONVERT) - self.state = 2399 - self.match(frameQLParser.TO) - self.state = 2400 - self.match(frameQLParser.CHARACTER) - self.state = 2401 - self.match(frameQLParser.SET) - self.state = 2402 - self.charsetName() - self.state = 2405 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLLATE: - self.state = 2403 - self.match(frameQLParser.COLLATE) - self.state = 2404 - self.collationName() - - - pass - - elif la_ == 25: - localctx = frameQLParser.AlterByDefaultCharsetContext(self, localctx) - self.enterOuterAlt(localctx, 25) - self.state = 2408 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFAULT: - self.state = 2407 - self.match(frameQLParser.DEFAULT) - - - self.state = 2410 - self.match(frameQLParser.CHARACTER) - self.state = 2411 - self.match(frameQLParser.SET) - self.state = 2412 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 2413 - self.charsetName() - self.state = 2417 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLLATE: - self.state = 2414 - self.match(frameQLParser.COLLATE) - self.state = 2415 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 2416 - self.collationName() - - - pass - - elif la_ == 26: - localctx = frameQLParser.AlterByDiscardTablespaceContext(self, localctx) - self.enterOuterAlt(localctx, 26) - self.state = 2419 - self.match(frameQLParser.DISCARD) - self.state = 2420 - self.match(frameQLParser.TABLESPACE) - pass - - elif la_ == 27: - localctx = frameQLParser.AlterByImportTablespaceContext(self, localctx) - self.enterOuterAlt(localctx, 27) - self.state = 2421 - self.match(frameQLParser.IMPORT) - self.state = 2422 - self.match(frameQLParser.TABLESPACE) - pass - - elif la_ == 28: - localctx = frameQLParser.AlterByForceContext(self, localctx) - self.enterOuterAlt(localctx, 28) - self.state = 2423 - self.match(frameQLParser.FORCE) - pass - - elif la_ == 29: - localctx = frameQLParser.AlterByValidateContext(self, localctx) - self.enterOuterAlt(localctx, 29) - self.state = 2424 - localctx.validationFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.WITH or _la==frameQLParser.WITHOUT): - localctx.validationFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2425 - self.match(frameQLParser.VALIDATION) - pass - - elif la_ == 30: - localctx = frameQLParser.AlterByAddPartitionContext(self, localctx) - self.enterOuterAlt(localctx, 30) - self.state = 2426 - self.match(frameQLParser.ADD) - self.state = 2427 - self.match(frameQLParser.PARTITION) - self.state = 2428 - self.match(frameQLParser.LR_BRACKET) - self.state = 2429 - self.partitionDefinition() - self.state = 2434 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2430 - self.match(frameQLParser.COMMA) - self.state = 2431 - self.partitionDefinition() - self.state = 2436 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2437 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 31: - localctx = frameQLParser.AlterByDropPartitionContext(self, localctx) - self.enterOuterAlt(localctx, 31) - self.state = 2439 - self.match(frameQLParser.DROP) - self.state = 2440 - self.match(frameQLParser.PARTITION) - self.state = 2441 - self.uidList() - pass - - elif la_ == 32: - localctx = frameQLParser.AlterByDiscardPartitionContext(self, localctx) - self.enterOuterAlt(localctx, 32) - self.state = 2442 - self.match(frameQLParser.DISCARD) - self.state = 2443 - self.match(frameQLParser.PARTITION) - self.state = 2446 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.state = 2444 - self.uidList() - pass - elif token in [frameQLParser.ALL]: - self.state = 2445 - self.match(frameQLParser.ALL) - pass - else: - raise NoViableAltException(self) - - self.state = 2448 - self.match(frameQLParser.TABLESPACE) - pass - - elif la_ == 33: - localctx = frameQLParser.AlterByImportPartitionContext(self, localctx) - self.enterOuterAlt(localctx, 33) - self.state = 2449 - self.match(frameQLParser.IMPORT) - self.state = 2450 - self.match(frameQLParser.PARTITION) - self.state = 2453 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.state = 2451 - self.uidList() - pass - elif token in [frameQLParser.ALL]: - self.state = 2452 - self.match(frameQLParser.ALL) - pass - else: - raise NoViableAltException(self) - - self.state = 2455 - self.match(frameQLParser.TABLESPACE) - pass - - elif la_ == 34: - localctx = frameQLParser.AlterByTruncatePartitionContext(self, localctx) - self.enterOuterAlt(localctx, 34) - self.state = 2456 - self.match(frameQLParser.TRUNCATE) - self.state = 2457 - self.match(frameQLParser.PARTITION) - self.state = 2460 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.state = 2458 - self.uidList() - pass - elif token in [frameQLParser.ALL]: - self.state = 2459 - self.match(frameQLParser.ALL) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 35: - localctx = frameQLParser.AlterByCoalescePartitionContext(self, localctx) - self.enterOuterAlt(localctx, 35) - self.state = 2462 - self.match(frameQLParser.COALESCE) - self.state = 2463 - self.match(frameQLParser.PARTITION) - self.state = 2464 - self.decimalLiteral() - pass - - elif la_ == 36: - localctx = frameQLParser.AlterByReorganizePartitionContext(self, localctx) - self.enterOuterAlt(localctx, 36) - self.state = 2465 - self.match(frameQLParser.REORGANIZE) - self.state = 2466 - self.match(frameQLParser.PARTITION) - self.state = 2467 - self.uidList() - self.state = 2468 - self.match(frameQLParser.INTO) - self.state = 2469 - self.match(frameQLParser.LR_BRACKET) - self.state = 2470 - self.partitionDefinition() - self.state = 2475 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2471 - self.match(frameQLParser.COMMA) - self.state = 2472 - self.partitionDefinition() - self.state = 2477 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2478 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 37: - localctx = frameQLParser.AlterByExchangePartitionContext(self, localctx) - self.enterOuterAlt(localctx, 37) - self.state = 2480 - self.match(frameQLParser.EXCHANGE) - self.state = 2481 - self.match(frameQLParser.PARTITION) - self.state = 2482 - self.uid() - self.state = 2483 - self.match(frameQLParser.WITH) - self.state = 2484 - self.match(frameQLParser.TABLE) - self.state = 2485 - self.tableName() - self.state = 2488 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WITH or _la==frameQLParser.WITHOUT: - self.state = 2486 - localctx.validationFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.WITH or _la==frameQLParser.WITHOUT): - localctx.validationFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2487 - self.match(frameQLParser.VALIDATION) - - - pass - - elif la_ == 38: - localctx = frameQLParser.AlterByAnalyzePartitiionContext(self, localctx) - self.enterOuterAlt(localctx, 38) - self.state = 2490 - self.match(frameQLParser.ANALYZE) - self.state = 2491 - self.match(frameQLParser.PARTITION) - self.state = 2494 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.state = 2492 - self.uidList() - pass - elif token in [frameQLParser.ALL]: - self.state = 2493 - self.match(frameQLParser.ALL) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 39: - localctx = frameQLParser.AlterByCheckPartitionContext(self, localctx) - self.enterOuterAlt(localctx, 39) - self.state = 2496 - self.match(frameQLParser.CHECK) - self.state = 2497 - self.match(frameQLParser.PARTITION) - self.state = 2500 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.state = 2498 - self.uidList() - pass - elif token in [frameQLParser.ALL]: - self.state = 2499 - self.match(frameQLParser.ALL) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 40: - localctx = frameQLParser.AlterByOptimizePartitionContext(self, localctx) - self.enterOuterAlt(localctx, 40) - self.state = 2502 - self.match(frameQLParser.OPTIMIZE) - self.state = 2503 - self.match(frameQLParser.PARTITION) - self.state = 2506 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.state = 2504 - self.uidList() - pass - elif token in [frameQLParser.ALL]: - self.state = 2505 - self.match(frameQLParser.ALL) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 41: - localctx = frameQLParser.AlterByRebuildPartitionContext(self, localctx) - self.enterOuterAlt(localctx, 41) - self.state = 2508 - self.match(frameQLParser.REBUILD) - self.state = 2509 - self.match(frameQLParser.PARTITION) - self.state = 2512 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.state = 2510 - self.uidList() - pass - elif token in [frameQLParser.ALL]: - self.state = 2511 - self.match(frameQLParser.ALL) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 42: - localctx = frameQLParser.AlterByRepairPartitionContext(self, localctx) - self.enterOuterAlt(localctx, 42) - self.state = 2514 - self.match(frameQLParser.REPAIR) - self.state = 2515 - self.match(frameQLParser.PARTITION) - self.state = 2518 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.state = 2516 - self.uidList() - pass - elif token in [frameQLParser.ALL]: - self.state = 2517 - self.match(frameQLParser.ALL) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 43: - localctx = frameQLParser.AlterByRemovePartitioningContext(self, localctx) - self.enterOuterAlt(localctx, 43) - self.state = 2520 - self.match(frameQLParser.REMOVE) - self.state = 2521 - self.match(frameQLParser.PARTITIONING) - pass - - elif la_ == 44: - localctx = frameQLParser.AlterByUpgradePartitioningContext(self, localctx) - self.enterOuterAlt(localctx, 44) - self.state = 2522 - self.match(frameQLParser.UPGRADE) - self.state = 2523 - self.match(frameQLParser.PARTITIONING) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DropDatabaseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.dbFormat = None # Token - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def DATABASE(self): - return self.getToken(frameQLParser.DATABASE, 0) - - def SCHEMA(self): - return self.getToken(frameQLParser.SCHEMA, 0) - - def ifExists(self): - return self.getTypedRuleContext(frameQLParser.IfExistsContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_dropDatabase - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropDatabase" ): - listener.enterDropDatabase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropDatabase" ): - listener.exitDropDatabase(self) - - - - - def dropDatabase(self): - - localctx = frameQLParser.DropDatabaseContext(self, self._ctx, self.state) - self.enterRule(localctx, 134, self.RULE_dropDatabase) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2526 - self.match(frameQLParser.DROP) - self.state = 2527 - localctx.dbFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DATABASE or _la==frameQLParser.SCHEMA): - localctx.dbFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2529 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 2528 - self.ifExists() - - - self.state = 2531 - self.uid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DropEventContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def EVENT(self): - return self.getToken(frameQLParser.EVENT, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def ifExists(self): - return self.getTypedRuleContext(frameQLParser.IfExistsContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_dropEvent - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropEvent" ): - listener.enterDropEvent(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropEvent" ): - listener.exitDropEvent(self) - - - - - def dropEvent(self): - - localctx = frameQLParser.DropEventContext(self, self._ctx, self.state) - self.enterRule(localctx, 136, self.RULE_dropEvent) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2533 - self.match(frameQLParser.DROP) - self.state = 2534 - self.match(frameQLParser.EVENT) - self.state = 2536 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 2535 - self.ifExists() - - - self.state = 2538 - self.fullId() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DropIndexContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.intimeAction = None # Token - self.algType = None # Token - self.lockType = None # Token - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def ALGORITHM(self): - return self.getToken(frameQLParser.ALGORITHM, 0) - - def LOCK(self): - return self.getToken(frameQLParser.LOCK, 0) - - def ONLINE(self): - return self.getToken(frameQLParser.ONLINE, 0) - - def OFFLINE(self): - return self.getToken(frameQLParser.OFFLINE, 0) - - def DEFAULT(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.DEFAULT) - else: - return self.getToken(frameQLParser.DEFAULT, i) - - def INPLACE(self): - return self.getToken(frameQLParser.INPLACE, 0) - - def COPY(self): - return self.getToken(frameQLParser.COPY, 0) - - def NONE(self): - return self.getToken(frameQLParser.NONE, 0) - - def SHARED(self): - return self.getToken(frameQLParser.SHARED, 0) - - def EXCLUSIVE(self): - return self.getToken(frameQLParser.EXCLUSIVE, 0) - - def EQUAL_SYMBOL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.EQUAL_SYMBOL) - else: - return self.getToken(frameQLParser.EQUAL_SYMBOL, i) - - def getRuleIndex(self): - return frameQLParser.RULE_dropIndex - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropIndex" ): - listener.enterDropIndex(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropIndex" ): - listener.exitDropIndex(self) - - - - - def dropIndex(self): - - localctx = frameQLParser.DropIndexContext(self, self._ctx, self.state) - self.enterRule(localctx, 138, self.RULE_dropIndex) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2540 - self.match(frameQLParser.DROP) - self.state = 2541 - self.match(frameQLParser.INDEX) - self.state = 2543 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,319,self._ctx) - if la_ == 1: - self.state = 2542 - localctx.intimeAction = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.OFFLINE or _la==frameQLParser.ONLINE): - localctx.intimeAction = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2545 - self.uid() - self.state = 2546 - self.match(frameQLParser.ON) - self.state = 2547 - self.tableName() - self.state = 2553 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALGORITHM: - self.state = 2548 - self.match(frameQLParser.ALGORITHM) - self.state = 2550 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 2549 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 2552 - localctx.algType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.COPY or _la==frameQLParser.INPLACE): - localctx.algType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2560 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LOCK: - self.state = 2555 - self.match(frameQLParser.LOCK) - self.state = 2557 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 2556 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 2559 - localctx.lockType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.EXCLUSIVE or _la==frameQLParser.NONE or _la==frameQLParser.SHARED): - localctx.lockType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DropLogfileGroupContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def LOGFILE(self): - return self.getToken(frameQLParser.LOGFILE, 0) - - def GROUP(self): - return self.getToken(frameQLParser.GROUP, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def engineName(self): - return self.getTypedRuleContext(frameQLParser.EngineNameContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_dropLogfileGroup - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropLogfileGroup" ): - listener.enterDropLogfileGroup(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropLogfileGroup" ): - listener.exitDropLogfileGroup(self) - - - - - def dropLogfileGroup(self): - - localctx = frameQLParser.DropLogfileGroupContext(self, self._ctx, self.state) - self.enterRule(localctx, 140, self.RULE_dropLogfileGroup) - try: - self.enterOuterAlt(localctx, 1) - self.state = 2562 - self.match(frameQLParser.DROP) - self.state = 2563 - self.match(frameQLParser.LOGFILE) - self.state = 2564 - self.match(frameQLParser.GROUP) - self.state = 2565 - self.uid() - self.state = 2566 - self.match(frameQLParser.ENGINE) - self.state = 2567 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 2568 - self.engineName() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DropProcedureContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def PROCEDURE(self): - return self.getToken(frameQLParser.PROCEDURE, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def ifExists(self): - return self.getTypedRuleContext(frameQLParser.IfExistsContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_dropProcedure - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropProcedure" ): - listener.enterDropProcedure(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropProcedure" ): - listener.exitDropProcedure(self) - - - - - def dropProcedure(self): - - localctx = frameQLParser.DropProcedureContext(self, self._ctx, self.state) - self.enterRule(localctx, 142, self.RULE_dropProcedure) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2570 - self.match(frameQLParser.DROP) - self.state = 2571 - self.match(frameQLParser.PROCEDURE) - self.state = 2573 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 2572 - self.ifExists() - - - self.state = 2575 - self.fullId() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DropFunctionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def FUNCTION(self): - return self.getToken(frameQLParser.FUNCTION, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def ifExists(self): - return self.getTypedRuleContext(frameQLParser.IfExistsContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_dropFunction - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropFunction" ): - listener.enterDropFunction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropFunction" ): - listener.exitDropFunction(self) - - - - - def dropFunction(self): - - localctx = frameQLParser.DropFunctionContext(self, self._ctx, self.state) - self.enterRule(localctx, 144, self.RULE_dropFunction) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2577 - self.match(frameQLParser.DROP) - self.state = 2578 - self.match(frameQLParser.FUNCTION) - self.state = 2580 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 2579 - self.ifExists() - - - self.state = 2582 - self.fullId() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DropServerContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def SERVER(self): - return self.getToken(frameQLParser.SERVER, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def ifExists(self): - return self.getTypedRuleContext(frameQLParser.IfExistsContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_dropServer - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropServer" ): - listener.enterDropServer(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropServer" ): - listener.exitDropServer(self) - - - - - def dropServer(self): - - localctx = frameQLParser.DropServerContext(self, self._ctx, self.state) - self.enterRule(localctx, 146, self.RULE_dropServer) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2584 - self.match(frameQLParser.DROP) - self.state = 2585 - self.match(frameQLParser.SERVER) - self.state = 2587 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 2586 - self.ifExists() - - - self.state = 2589 - self.uid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DropTableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.dropType = None # Token - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def tables(self): - return self.getTypedRuleContext(frameQLParser.TablesContext,0) - - - def TEMPORARY(self): - return self.getToken(frameQLParser.TEMPORARY, 0) - - def ifExists(self): - return self.getTypedRuleContext(frameQLParser.IfExistsContext,0) - - - def RESTRICT(self): - return self.getToken(frameQLParser.RESTRICT, 0) - - def CASCADE(self): - return self.getToken(frameQLParser.CASCADE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_dropTable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropTable" ): - listener.enterDropTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropTable" ): - listener.exitDropTable(self) - - - - - def dropTable(self): - - localctx = frameQLParser.DropTableContext(self, self._ctx, self.state) - self.enterRule(localctx, 148, self.RULE_dropTable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2591 - self.match(frameQLParser.DROP) - self.state = 2593 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.TEMPORARY: - self.state = 2592 - self.match(frameQLParser.TEMPORARY) - - - self.state = 2595 - self.match(frameQLParser.TABLE) - self.state = 2597 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 2596 - self.ifExists() - - - self.state = 2599 - self.tables() - self.state = 2601 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CASCADE or _la==frameQLParser.RESTRICT: - self.state = 2600 - localctx.dropType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.CASCADE or _la==frameQLParser.RESTRICT): - localctx.dropType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DropTablespaceContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - - def engineName(self): - return self.getTypedRuleContext(frameQLParser.EngineNameContext,0) - - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_dropTablespace - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropTablespace" ): - listener.enterDropTablespace(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropTablespace" ): - listener.exitDropTablespace(self) - - - - - def dropTablespace(self): - - localctx = frameQLParser.DropTablespaceContext(self, self._ctx, self.state) - self.enterRule(localctx, 150, self.RULE_dropTablespace) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2603 - self.match(frameQLParser.DROP) - self.state = 2604 - self.match(frameQLParser.TABLESPACE) - self.state = 2605 - self.uid() - self.state = 2611 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ENGINE: - self.state = 2606 - self.match(frameQLParser.ENGINE) - self.state = 2608 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 2607 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 2610 - self.engineName() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DropTriggerContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def TRIGGER(self): - return self.getToken(frameQLParser.TRIGGER, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def ifExists(self): - return self.getTypedRuleContext(frameQLParser.IfExistsContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_dropTrigger - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropTrigger" ): - listener.enterDropTrigger(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropTrigger" ): - listener.exitDropTrigger(self) - - - - - def dropTrigger(self): - - localctx = frameQLParser.DropTriggerContext(self, self._ctx, self.state) - self.enterRule(localctx, 152, self.RULE_dropTrigger) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2613 - self.match(frameQLParser.DROP) - self.state = 2614 - self.match(frameQLParser.TRIGGER) - self.state = 2616 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 2615 - self.ifExists() - - - self.state = 2618 - self.fullId() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DropViewContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.dropType = None # Token - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def VIEW(self): - return self.getToken(frameQLParser.VIEW, 0) - - def fullId(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.FullIdContext) - else: - return self.getTypedRuleContext(frameQLParser.FullIdContext,i) - - - def ifExists(self): - return self.getTypedRuleContext(frameQLParser.IfExistsContext,0) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def RESTRICT(self): - return self.getToken(frameQLParser.RESTRICT, 0) - - def CASCADE(self): - return self.getToken(frameQLParser.CASCADE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_dropView - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropView" ): - listener.enterDropView(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropView" ): - listener.exitDropView(self) - - - - - def dropView(self): - - localctx = frameQLParser.DropViewContext(self, self._ctx, self.state) - self.enterRule(localctx, 154, self.RULE_dropView) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2620 - self.match(frameQLParser.DROP) - self.state = 2621 - self.match(frameQLParser.VIEW) - self.state = 2623 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 2622 - self.ifExists() - - - self.state = 2625 - self.fullId() - self.state = 2630 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2626 - self.match(frameQLParser.COMMA) - self.state = 2627 - self.fullId() - self.state = 2632 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2634 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CASCADE or _la==frameQLParser.RESTRICT: - self.state = 2633 - localctx.dropType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.CASCADE or _la==frameQLParser.RESTRICT): - localctx.dropType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class RenameTableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def RENAME(self): - return self.getToken(frameQLParser.RENAME, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def renameTableClause(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.RenameTableClauseContext) - else: - return self.getTypedRuleContext(frameQLParser.RenameTableClauseContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_renameTable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRenameTable" ): - listener.enterRenameTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRenameTable" ): - listener.exitRenameTable(self) - - - - - def renameTable(self): - - localctx = frameQLParser.RenameTableContext(self, self._ctx, self.state) - self.enterRule(localctx, 156, self.RULE_renameTable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2636 - self.match(frameQLParser.RENAME) - self.state = 2637 - self.match(frameQLParser.TABLE) - self.state = 2638 - self.renameTableClause() - self.state = 2643 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2639 - self.match(frameQLParser.COMMA) - self.state = 2640 - self.renameTableClause() - self.state = 2645 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class RenameTableClauseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def tableName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TableNameContext) - else: - return self.getTypedRuleContext(frameQLParser.TableNameContext,i) - - - def TO(self): - return self.getToken(frameQLParser.TO, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_renameTableClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRenameTableClause" ): - listener.enterRenameTableClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRenameTableClause" ): - listener.exitRenameTableClause(self) - - - - - def renameTableClause(self): - - localctx = frameQLParser.RenameTableClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 158, self.RULE_renameTableClause) - try: - self.enterOuterAlt(localctx, 1) - self.state = 2646 - self.tableName() - self.state = 2647 - self.match(frameQLParser.TO) - self.state = 2648 - self.tableName() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TruncateTableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def TRUNCATE(self): - return self.getToken(frameQLParser.TRUNCATE, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_truncateTable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTruncateTable" ): - listener.enterTruncateTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTruncateTable" ): - listener.exitTruncateTable(self) - - - - - def truncateTable(self): - - localctx = frameQLParser.TruncateTableContext(self, self._ctx, self.state) - self.enterRule(localctx, 160, self.RULE_truncateTable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2650 - self.match(frameQLParser.TRUNCATE) - self.state = 2652 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.TABLE: - self.state = 2651 - self.match(frameQLParser.TABLE) - - - self.state = 2654 - self.tableName() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CallStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CALL(self): - return self.getToken(frameQLParser.CALL, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def constants(self): - return self.getTypedRuleContext(frameQLParser.ConstantsContext,0) - - - def expressions(self): - return self.getTypedRuleContext(frameQLParser.ExpressionsContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_callStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCallStatement" ): - listener.enterCallStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCallStatement" ): - listener.exitCallStatement(self) - - - - - def callStatement(self): - - localctx = frameQLParser.CallStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 162, self.RULE_callStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2656 - self.match(frameQLParser.CALL) - self.state = 2657 - self.fullId() - self.state = 2664 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 2658 - self.match(frameQLParser.LR_BRACKET) - self.state = 2661 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,338,self._ctx) - if la_ == 1: - self.state = 2659 - self.constants() - - elif la_ == 2: - self.state = 2660 - self.expressions() - - - self.state = 2663 - self.match(frameQLParser.RR_BRACKET) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DeleteStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def singleDeleteStatement(self): - return self.getTypedRuleContext(frameQLParser.SingleDeleteStatementContext,0) - - - def multipleDeleteStatement(self): - return self.getTypedRuleContext(frameQLParser.MultipleDeleteStatementContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_deleteStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDeleteStatement" ): - listener.enterDeleteStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDeleteStatement" ): - listener.exitDeleteStatement(self) - - - - - def deleteStatement(self): - - localctx = frameQLParser.DeleteStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 164, self.RULE_deleteStatement) - try: - self.state = 2668 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,340,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 2666 - self.singleDeleteStatement() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 2667 - self.multipleDeleteStatement() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DoStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DO(self): - return self.getToken(frameQLParser.DO, 0) - - def expressions(self): - return self.getTypedRuleContext(frameQLParser.ExpressionsContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_doStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDoStatement" ): - listener.enterDoStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDoStatement" ): - listener.exitDoStatement(self) - - - - - def doStatement(self): - - localctx = frameQLParser.DoStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 166, self.RULE_doStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 2670 - self.match(frameQLParser.DO) - self.state = 2671 - self.expressions() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class HandlerStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def handlerOpenStatement(self): - return self.getTypedRuleContext(frameQLParser.HandlerOpenStatementContext,0) - - - def handlerReadIndexStatement(self): - return self.getTypedRuleContext(frameQLParser.HandlerReadIndexStatementContext,0) - - - def handlerReadStatement(self): - return self.getTypedRuleContext(frameQLParser.HandlerReadStatementContext,0) - - - def handlerCloseStatement(self): - return self.getTypedRuleContext(frameQLParser.HandlerCloseStatementContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_handlerStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHandlerStatement" ): - listener.enterHandlerStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHandlerStatement" ): - listener.exitHandlerStatement(self) - - - - - def handlerStatement(self): - - localctx = frameQLParser.HandlerStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 168, self.RULE_handlerStatement) - try: - self.state = 2677 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,341,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 2673 - self.handlerOpenStatement() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 2674 - self.handlerReadIndexStatement() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 2675 - self.handlerReadStatement() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 2676 - self.handlerCloseStatement() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class InsertStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.priority = None # Token - self.partitions = None # UidListContext - self.columns = None # UidListContext - self.setFirst = None # UpdatedElementContext - self._updatedElement = None # UpdatedElementContext - self.setElements = list() # of UpdatedElementContexts - self.duplicatedFirst = None # UpdatedElementContext - self.duplicatedElements = list() # of UpdatedElementContexts - - def INSERT(self): - return self.getToken(frameQLParser.INSERT, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def insertStatementValue(self): - return self.getTypedRuleContext(frameQLParser.InsertStatementValueContext,0) - - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - - def IGNORE(self): - return self.getToken(frameQLParser.IGNORE, 0) - - def INTO(self): - return self.getToken(frameQLParser.INTO, 0) - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - - def LR_BRACKET(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.LR_BRACKET) - else: - return self.getToken(frameQLParser.LR_BRACKET, i) - - def RR_BRACKET(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.RR_BRACKET) - else: - return self.getToken(frameQLParser.RR_BRACKET, i) - - def updatedElement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UpdatedElementContext) - else: - return self.getTypedRuleContext(frameQLParser.UpdatedElementContext,i) - - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - - def DUPLICATE(self): - return self.getToken(frameQLParser.DUPLICATE, 0) - - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def UPDATE(self): - return self.getToken(frameQLParser.UPDATE, 0) - - def uidList(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidListContext) - else: - return self.getTypedRuleContext(frameQLParser.UidListContext,i) - - - def LOW_PRIORITY(self): - return self.getToken(frameQLParser.LOW_PRIORITY, 0) - - def DELAYED(self): - return self.getToken(frameQLParser.DELAYED, 0) - - def HIGH_PRIORITY(self): - return self.getToken(frameQLParser.HIGH_PRIORITY, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_insertStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterInsertStatement" ): - listener.enterInsertStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitInsertStatement" ): - listener.exitInsertStatement(self) - - - - - def insertStatement(self): - - localctx = frameQLParser.InsertStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 170, self.RULE_insertStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2679 - self.match(frameQLParser.INSERT) - self.state = 2681 - self._errHandler.sync(self) - _la = self._input.LA(1) - if ((((_la - 40)) & ~0x3f) == 0 and ((1 << (_la - 40)) & ((1 << (frameQLParser.DELAYED - 40)) | (1 << (frameQLParser.HIGH_PRIORITY - 40)) | (1 << (frameQLParser.LOW_PRIORITY - 40)))) != 0): - self.state = 2680 - localctx.priority = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 40)) & ~0x3f) == 0 and ((1 << (_la - 40)) & ((1 << (frameQLParser.DELAYED - 40)) | (1 << (frameQLParser.HIGH_PRIORITY - 40)) | (1 << (frameQLParser.LOW_PRIORITY - 40)))) != 0)): - localctx.priority = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2684 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE: - self.state = 2683 - self.match(frameQLParser.IGNORE) - - - self.state = 2687 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INTO: - self.state = 2686 - self.match(frameQLParser.INTO) - - - self.state = 2689 - self.tableName() - self.state = 2695 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PARTITION: - self.state = 2690 - self.match(frameQLParser.PARTITION) - self.state = 2691 - self.match(frameQLParser.LR_BRACKET) - self.state = 2692 - localctx.partitions = self.uidList() - self.state = 2693 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 2713 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.SELECT, frameQLParser.VALUES, frameQLParser.VALUE, frameQLParser.LR_BRACKET]: - self.state = 2701 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,346,self._ctx) - if la_ == 1: - self.state = 2697 - self.match(frameQLParser.LR_BRACKET) - self.state = 2698 - localctx.columns = self.uidList() - self.state = 2699 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 2703 - self.insertStatementValue() - pass - elif token in [frameQLParser.SET]: - self.state = 2704 - self.match(frameQLParser.SET) - self.state = 2705 - localctx.setFirst = self.updatedElement() - self.state = 2710 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2706 - self.match(frameQLParser.COMMA) - self.state = 2707 - localctx._updatedElement = self.updatedElement() - localctx.setElements.append(localctx._updatedElement) - self.state = 2712 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - else: - raise NoViableAltException(self) - - self.state = 2727 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ON: - self.state = 2715 - self.match(frameQLParser.ON) - self.state = 2716 - self.match(frameQLParser.DUPLICATE) - self.state = 2717 - self.match(frameQLParser.KEY) - self.state = 2718 - self.match(frameQLParser.UPDATE) - self.state = 2719 - localctx.duplicatedFirst = self.updatedElement() - self.state = 2724 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2720 - self.match(frameQLParser.COMMA) - self.state = 2721 - localctx._updatedElement = self.updatedElement() - localctx.duplicatedElements.append(localctx._updatedElement) - self.state = 2726 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class LoadDataStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.priority = None # Token - self.filename = None # Token - self.violation = None # Token - self.charset = None # CharsetNameContext - self.fieldsFormat = None # Token - self.linesFormat = None # Token - - def LOAD(self): - return self.getToken(frameQLParser.LOAD, 0) - - def DATA(self): - return self.getToken(frameQLParser.DATA, 0) - - def INFILE(self): - return self.getToken(frameQLParser.INFILE, 0) - - def INTO(self): - return self.getToken(frameQLParser.INTO, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def LOCAL(self): - return self.getToken(frameQLParser.LOCAL, 0) - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - - def LR_BRACKET(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.LR_BRACKET) - else: - return self.getToken(frameQLParser.LR_BRACKET, i) - - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def RR_BRACKET(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.RR_BRACKET) - else: - return self.getToken(frameQLParser.RR_BRACKET, i) - - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - - def SET(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.SET) - else: - return self.getToken(frameQLParser.SET, i) - - def LINES(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.LINES) - else: - return self.getToken(frameQLParser.LINES, i) - - def IGNORE(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.IGNORE) - else: - return self.getToken(frameQLParser.IGNORE, i) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def assignmentField(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.AssignmentFieldContext) - else: - return self.getTypedRuleContext(frameQLParser.AssignmentFieldContext,i) - - - def updatedElement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UpdatedElementContext) - else: - return self.getTypedRuleContext(frameQLParser.UpdatedElementContext,i) - - - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - - def LOW_PRIORITY(self): - return self.getToken(frameQLParser.LOW_PRIORITY, 0) - - def CONCURRENT(self): - return self.getToken(frameQLParser.CONCURRENT, 0) - - def REPLACE(self): - return self.getToken(frameQLParser.REPLACE, 0) - - def FIELDS(self): - return self.getToken(frameQLParser.FIELDS, 0) - - def COLUMNS(self): - return self.getToken(frameQLParser.COLUMNS, 0) - - def ROWS(self): - return self.getToken(frameQLParser.ROWS, 0) - - def selectFieldsInto(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SelectFieldsIntoContext) - else: - return self.getTypedRuleContext(frameQLParser.SelectFieldsIntoContext,i) - - - def selectLinesInto(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SelectLinesIntoContext) - else: - return self.getTypedRuleContext(frameQLParser.SelectLinesIntoContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_loadDataStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLoadDataStatement" ): - listener.enterLoadDataStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLoadDataStatement" ): - listener.exitLoadDataStatement(self) - - - - - def loadDataStatement(self): - - localctx = frameQLParser.LoadDataStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 172, self.RULE_loadDataStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2729 - self.match(frameQLParser.LOAD) - self.state = 2730 - self.match(frameQLParser.DATA) - self.state = 2732 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LOW_PRIORITY or _la==frameQLParser.CONCURRENT: - self.state = 2731 - localctx.priority = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.LOW_PRIORITY or _la==frameQLParser.CONCURRENT): - localctx.priority = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2735 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LOCAL: - self.state = 2734 - self.match(frameQLParser.LOCAL) - - - self.state = 2737 - self.match(frameQLParser.INFILE) - self.state = 2738 - localctx.filename = self.match(frameQLParser.STRING_LITERAL) - self.state = 2740 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE or _la==frameQLParser.REPLACE: - self.state = 2739 - localctx.violation = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.IGNORE or _la==frameQLParser.REPLACE): - localctx.violation = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2742 - self.match(frameQLParser.INTO) - self.state = 2743 - self.match(frameQLParser.TABLE) - self.state = 2744 - self.tableName() - self.state = 2750 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PARTITION: - self.state = 2745 - self.match(frameQLParser.PARTITION) - self.state = 2746 - self.match(frameQLParser.LR_BRACKET) - self.state = 2747 - self.uidList() - self.state = 2748 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 2755 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CHARACTER: - self.state = 2752 - self.match(frameQLParser.CHARACTER) - self.state = 2753 - self.match(frameQLParser.SET) - self.state = 2754 - localctx.charset = self.charsetName() - - - self.state = 2763 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLUMNS or _la==frameQLParser.FIELDS: - self.state = 2757 - localctx.fieldsFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.COLUMNS or _la==frameQLParser.FIELDS): - localctx.fieldsFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2759 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 2758 - self.selectFieldsInto() - self.state = 2761 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==frameQLParser.ENCLOSED or _la==frameQLParser.ESCAPED or _la==frameQLParser.OPTIONALLY or _la==frameQLParser.TERMINATED): - break - - - - self.state = 2771 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LINES: - self.state = 2765 - self.match(frameQLParser.LINES) - self.state = 2767 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 2766 - self.selectLinesInto() - self.state = 2769 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==frameQLParser.STARTING or _la==frameQLParser.TERMINATED): - break - - - - self.state = 2777 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE: - self.state = 2773 - self.match(frameQLParser.IGNORE) - self.state = 2774 - self.decimalLiteral() - self.state = 2775 - localctx.linesFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.LINES or _la==frameQLParser.ROWS): - localctx.linesFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2790 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 2779 - self.match(frameQLParser.LR_BRACKET) - self.state = 2780 - self.assignmentField() - self.state = 2785 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2781 - self.match(frameQLParser.COMMA) - self.state = 2782 - self.assignmentField() - self.state = 2787 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2788 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 2801 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SET: - self.state = 2792 - self.match(frameQLParser.SET) - self.state = 2793 - self.updatedElement() - self.state = 2798 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2794 - self.match(frameQLParser.COMMA) - self.state = 2795 - self.updatedElement() - self.state = 2800 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class LoadXmlStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.priority = None # Token - self.filename = None # Token - self.violation = None # Token - self.charset = None # CharsetNameContext - self.tag = None # Token - self.linesFormat = None # Token - - def LOAD(self): - return self.getToken(frameQLParser.LOAD, 0) - - def XML(self): - return self.getToken(frameQLParser.XML, 0) - - def INFILE(self): - return self.getToken(frameQLParser.INFILE, 0) - - def INTO(self): - return self.getToken(frameQLParser.INTO, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def STRING_LITERAL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.STRING_LITERAL) - else: - return self.getToken(frameQLParser.STRING_LITERAL, i) - - def LOCAL(self): - return self.getToken(frameQLParser.LOCAL, 0) - - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - - def SET(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.SET) - else: - return self.getToken(frameQLParser.SET, i) - - def ROWS(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.ROWS) - else: - return self.getToken(frameQLParser.ROWS, i) - - def IDENTIFIED(self): - return self.getToken(frameQLParser.IDENTIFIED, 0) - - def BY(self): - return self.getToken(frameQLParser.BY, 0) - - def LESS_SYMBOL(self): - return self.getToken(frameQLParser.LESS_SYMBOL, 0) - - def GREATER_SYMBOL(self): - return self.getToken(frameQLParser.GREATER_SYMBOL, 0) - - def IGNORE(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.IGNORE) - else: - return self.getToken(frameQLParser.IGNORE, i) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def assignmentField(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.AssignmentFieldContext) - else: - return self.getTypedRuleContext(frameQLParser.AssignmentFieldContext,i) - - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def updatedElement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UpdatedElementContext) - else: - return self.getTypedRuleContext(frameQLParser.UpdatedElementContext,i) - - - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - - def LOW_PRIORITY(self): - return self.getToken(frameQLParser.LOW_PRIORITY, 0) - - def CONCURRENT(self): - return self.getToken(frameQLParser.CONCURRENT, 0) - - def REPLACE(self): - return self.getToken(frameQLParser.REPLACE, 0) - - def LINES(self): - return self.getToken(frameQLParser.LINES, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_loadXmlStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLoadXmlStatement" ): - listener.enterLoadXmlStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLoadXmlStatement" ): - listener.exitLoadXmlStatement(self) - - - - - def loadXmlStatement(self): - - localctx = frameQLParser.LoadXmlStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 174, self.RULE_loadXmlStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2803 - self.match(frameQLParser.LOAD) - self.state = 2804 - self.match(frameQLParser.XML) - self.state = 2806 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LOW_PRIORITY or _la==frameQLParser.CONCURRENT: - self.state = 2805 - localctx.priority = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.LOW_PRIORITY or _la==frameQLParser.CONCURRENT): - localctx.priority = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2809 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LOCAL: - self.state = 2808 - self.match(frameQLParser.LOCAL) - - - self.state = 2811 - self.match(frameQLParser.INFILE) - self.state = 2812 - localctx.filename = self.match(frameQLParser.STRING_LITERAL) - self.state = 2814 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE or _la==frameQLParser.REPLACE: - self.state = 2813 - localctx.violation = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.IGNORE or _la==frameQLParser.REPLACE): - localctx.violation = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2816 - self.match(frameQLParser.INTO) - self.state = 2817 - self.match(frameQLParser.TABLE) - self.state = 2818 - self.tableName() - self.state = 2822 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CHARACTER: - self.state = 2819 - self.match(frameQLParser.CHARACTER) - self.state = 2820 - self.match(frameQLParser.SET) - self.state = 2821 - localctx.charset = self.charsetName() - - - self.state = 2830 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ROWS: - self.state = 2824 - self.match(frameQLParser.ROWS) - self.state = 2825 - self.match(frameQLParser.IDENTIFIED) - self.state = 2826 - self.match(frameQLParser.BY) - self.state = 2827 - self.match(frameQLParser.LESS_SYMBOL) - self.state = 2828 - localctx.tag = self.match(frameQLParser.STRING_LITERAL) - self.state = 2829 - self.match(frameQLParser.GREATER_SYMBOL) - - - self.state = 2836 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE: - self.state = 2832 - self.match(frameQLParser.IGNORE) - self.state = 2833 - self.decimalLiteral() - self.state = 2834 - localctx.linesFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.LINES or _la==frameQLParser.ROWS): - localctx.linesFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2849 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 2838 - self.match(frameQLParser.LR_BRACKET) - self.state = 2839 - self.assignmentField() - self.state = 2844 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2840 - self.match(frameQLParser.COMMA) - self.state = 2841 - self.assignmentField() - self.state = 2846 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2847 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 2860 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SET: - self.state = 2851 - self.match(frameQLParser.SET) - self.state = 2852 - self.updatedElement() - self.state = 2857 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2853 - self.match(frameQLParser.COMMA) - self.state = 2854 - self.updatedElement() - self.state = 2859 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ReplaceStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.priority = None # Token - self.partitions = None # UidListContext - self.columns = None # UidListContext - self.setFirst = None # UpdatedElementContext - self._updatedElement = None # UpdatedElementContext - self.setElements = list() # of UpdatedElementContexts - - def REPLACE(self): - return self.getToken(frameQLParser.REPLACE, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def insertStatementValue(self): - return self.getTypedRuleContext(frameQLParser.InsertStatementValueContext,0) - - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - - def INTO(self): - return self.getToken(frameQLParser.INTO, 0) - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - - def LR_BRACKET(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.LR_BRACKET) - else: - return self.getToken(frameQLParser.LR_BRACKET, i) - - def RR_BRACKET(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.RR_BRACKET) - else: - return self.getToken(frameQLParser.RR_BRACKET, i) - - def updatedElement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UpdatedElementContext) - else: - return self.getTypedRuleContext(frameQLParser.UpdatedElementContext,i) - - - def uidList(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidListContext) - else: - return self.getTypedRuleContext(frameQLParser.UidListContext,i) - - - def LOW_PRIORITY(self): - return self.getToken(frameQLParser.LOW_PRIORITY, 0) - - def DELAYED(self): - return self.getToken(frameQLParser.DELAYED, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_replaceStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterReplaceStatement" ): - listener.enterReplaceStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitReplaceStatement" ): - listener.exitReplaceStatement(self) - - - - - def replaceStatement(self): - - localctx = frameQLParser.ReplaceStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 176, self.RULE_replaceStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2862 - self.match(frameQLParser.REPLACE) - self.state = 2864 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DELAYED or _la==frameQLParser.LOW_PRIORITY: - self.state = 2863 - localctx.priority = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DELAYED or _la==frameQLParser.LOW_PRIORITY): - localctx.priority = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2867 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INTO: - self.state = 2866 - self.match(frameQLParser.INTO) - - - self.state = 2869 - self.tableName() - self.state = 2875 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PARTITION: - self.state = 2870 - self.match(frameQLParser.PARTITION) - self.state = 2871 - self.match(frameQLParser.LR_BRACKET) - self.state = 2872 - localctx.partitions = self.uidList() - self.state = 2873 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 2893 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.SELECT, frameQLParser.VALUES, frameQLParser.VALUE, frameQLParser.LR_BRACKET]: - self.state = 2881 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,378,self._ctx) - if la_ == 1: - self.state = 2877 - self.match(frameQLParser.LR_BRACKET) - self.state = 2878 - localctx.columns = self.uidList() - self.state = 2879 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 2883 - self.insertStatementValue() - pass - elif token in [frameQLParser.SET]: - self.state = 2884 - self.match(frameQLParser.SET) - self.state = 2885 - localctx.setFirst = self.updatedElement() - self.state = 2890 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2886 - self.match(frameQLParser.COMMA) - self.state = 2887 - localctx._updatedElement = self.updatedElement() - localctx.setElements.append(localctx._updatedElement) - self.state = 2892 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SelectStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_selectStatement - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class UnionSelectContext(SelectStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SelectStatementContext - super().__init__(parser) - self.unionType = None # Token - self.copyFrom(ctx) - - def querySpecificationNointo(self): - return self.getTypedRuleContext(frameQLParser.QuerySpecificationNointoContext,0) - - def unionStatement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UnionStatementContext) - else: - return self.getTypedRuleContext(frameQLParser.UnionStatementContext,i) - - def UNION(self): - return self.getToken(frameQLParser.UNION, 0) - def orderByClause(self): - return self.getTypedRuleContext(frameQLParser.OrderByClauseContext,0) - - def limitClause(self): - return self.getTypedRuleContext(frameQLParser.LimitClauseContext,0) - - def lockClause(self): - return self.getTypedRuleContext(frameQLParser.LockClauseContext,0) - - def querySpecification(self): - return self.getTypedRuleContext(frameQLParser.QuerySpecificationContext,0) - - def queryExpression(self): - return self.getTypedRuleContext(frameQLParser.QueryExpressionContext,0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - def DISTINCT(self): - return self.getToken(frameQLParser.DISTINCT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUnionSelect" ): - listener.enterUnionSelect(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUnionSelect" ): - listener.exitUnionSelect(self) - - - class UnionParenthesisSelectContext(SelectStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SelectStatementContext - super().__init__(parser) - self.unionType = None # Token - self.copyFrom(ctx) - - def queryExpressionNointo(self): - return self.getTypedRuleContext(frameQLParser.QueryExpressionNointoContext,0) - - def unionParenthesis(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UnionParenthesisContext) - else: - return self.getTypedRuleContext(frameQLParser.UnionParenthesisContext,i) - - def UNION(self): - return self.getToken(frameQLParser.UNION, 0) - def queryExpression(self): - return self.getTypedRuleContext(frameQLParser.QueryExpressionContext,0) - - def orderByClause(self): - return self.getTypedRuleContext(frameQLParser.OrderByClauseContext,0) - - def limitClause(self): - return self.getTypedRuleContext(frameQLParser.LimitClauseContext,0) - - def lockClause(self): - return self.getTypedRuleContext(frameQLParser.LockClauseContext,0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - def DISTINCT(self): - return self.getToken(frameQLParser.DISTINCT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUnionParenthesisSelect" ): - listener.enterUnionParenthesisSelect(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUnionParenthesisSelect" ): - listener.exitUnionParenthesisSelect(self) - - - class SimpleSelectContext(SelectStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SelectStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def querySpecification(self): - return self.getTypedRuleContext(frameQLParser.QuerySpecificationContext,0) - - def lockClause(self): - return self.getTypedRuleContext(frameQLParser.LockClauseContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSimpleSelect" ): - listener.enterSimpleSelect(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSimpleSelect" ): - listener.exitSimpleSelect(self) - - - class ParenthesisSelectContext(SelectStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SelectStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def queryExpression(self): - return self.getTypedRuleContext(frameQLParser.QueryExpressionContext,0) - - def lockClause(self): - return self.getTypedRuleContext(frameQLParser.LockClauseContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterParenthesisSelect" ): - listener.enterParenthesisSelect(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitParenthesisSelect" ): - listener.exitParenthesisSelect(self) - - - - def selectStatement(self): - - localctx = frameQLParser.SelectStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 178, self.RULE_selectStatement) - self._la = 0 # Token type - try: - self.state = 2950 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,396,self._ctx) - if la_ == 1: - localctx = frameQLParser.SimpleSelectContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 2895 - self.querySpecification() - self.state = 2897 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR or _la==frameQLParser.LOCK: - self.state = 2896 - self.lockClause() - - - pass - - elif la_ == 2: - localctx = frameQLParser.ParenthesisSelectContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 2899 - self.queryExpression() - self.state = 2901 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR or _la==frameQLParser.LOCK: - self.state = 2900 - self.lockClause() - - - pass - - elif la_ == 3: - localctx = frameQLParser.UnionSelectContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 2903 - self.querySpecificationNointo() - self.state = 2905 - self._errHandler.sync(self) - _alt = 1 - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt == 1: - self.state = 2904 - self.unionStatement() - - else: - raise NoViableAltException(self) - self.state = 2907 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,383,self._ctx) - - self.state = 2917 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.UNION: - self.state = 2909 - self.match(frameQLParser.UNION) - self.state = 2911 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALL or _la==frameQLParser.DISTINCT: - self.state = 2910 - localctx.unionType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ALL or _la==frameQLParser.DISTINCT): - localctx.unionType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2915 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.SELECT]: - self.state = 2913 - self.querySpecification() - pass - elif token in [frameQLParser.LR_BRACKET]: - self.state = 2914 - self.queryExpression() - pass - else: - raise NoViableAltException(self) - - - - self.state = 2920 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ORDER: - self.state = 2919 - self.orderByClause() - - - self.state = 2923 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LIMIT: - self.state = 2922 - self.limitClause() - - - self.state = 2926 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR or _la==frameQLParser.LOCK: - self.state = 2925 - self.lockClause() - - - pass - - elif la_ == 4: - localctx = frameQLParser.UnionParenthesisSelectContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 2928 - self.queryExpressionNointo() - self.state = 2930 - self._errHandler.sync(self) - _alt = 1 - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt == 1: - self.state = 2929 - self.unionParenthesis() - - else: - raise NoViableAltException(self) - self.state = 2932 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,390,self._ctx) - - self.state = 2939 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.UNION: - self.state = 2934 - self.match(frameQLParser.UNION) - self.state = 2936 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALL or _la==frameQLParser.DISTINCT: - self.state = 2935 - localctx.unionType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ALL or _la==frameQLParser.DISTINCT): - localctx.unionType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2938 - self.queryExpression() - - - self.state = 2942 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ORDER: - self.state = 2941 - self.orderByClause() - - - self.state = 2945 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LIMIT: - self.state = 2944 - self.limitClause() - - - self.state = 2948 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR or _la==frameQLParser.LOCK: - self.state = 2947 - self.lockClause() - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class UpdateStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def singleUpdateStatement(self): - return self.getTypedRuleContext(frameQLParser.SingleUpdateStatementContext,0) - - - def multipleUpdateStatement(self): - return self.getTypedRuleContext(frameQLParser.MultipleUpdateStatementContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_updateStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUpdateStatement" ): - listener.enterUpdateStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUpdateStatement" ): - listener.exitUpdateStatement(self) - - - - - def updateStatement(self): - - localctx = frameQLParser.UpdateStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 180, self.RULE_updateStatement) - try: - self.state = 2954 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,397,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 2952 - self.singleUpdateStatement() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 2953 - self.multipleUpdateStatement() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class InsertStatementValueContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.insertFormat = None # Token - - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - - def LR_BRACKET(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.LR_BRACKET) - else: - return self.getToken(frameQLParser.LR_BRACKET, i) - - def expressionsWithDefaults(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionsWithDefaultsContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionsWithDefaultsContext,i) - - - def RR_BRACKET(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.RR_BRACKET) - else: - return self.getToken(frameQLParser.RR_BRACKET, i) - - def VALUES(self): - return self.getToken(frameQLParser.VALUES, 0) - - def VALUE(self): - return self.getToken(frameQLParser.VALUE, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_insertStatementValue - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterInsertStatementValue" ): - listener.enterInsertStatementValue(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitInsertStatementValue" ): - listener.exitInsertStatementValue(self) - - - - - def insertStatementValue(self): - - localctx = frameQLParser.InsertStatementValueContext(self, self._ctx, self.state) - self.enterRule(localctx, 182, self.RULE_insertStatementValue) - self._la = 0 # Token type - try: - self.state = 2971 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.SELECT, frameQLParser.LR_BRACKET]: - self.enterOuterAlt(localctx, 1) - self.state = 2956 - self.selectStatement() - pass - elif token in [frameQLParser.VALUES, frameQLParser.VALUE]: - self.enterOuterAlt(localctx, 2) - self.state = 2957 - localctx.insertFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.VALUES or _la==frameQLParser.VALUE): - localctx.insertFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2958 - self.match(frameQLParser.LR_BRACKET) - self.state = 2959 - self.expressionsWithDefaults() - self.state = 2960 - self.match(frameQLParser.RR_BRACKET) - self.state = 2968 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2961 - self.match(frameQLParser.COMMA) - self.state = 2962 - self.match(frameQLParser.LR_BRACKET) - self.state = 2963 - self.expressionsWithDefaults() - self.state = 2964 - self.match(frameQLParser.RR_BRACKET) - self.state = 2970 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class UpdatedElementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def fullColumnName(self): - return self.getTypedRuleContext(frameQLParser.FullColumnNameContext,0) - - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_updatedElement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUpdatedElement" ): - listener.enterUpdatedElement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUpdatedElement" ): - listener.exitUpdatedElement(self) - - - - - def updatedElement(self): - - localctx = frameQLParser.UpdatedElementContext(self, self._ctx, self.state) - self.enterRule(localctx, 184, self.RULE_updatedElement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 2973 - self.fullColumnName() - self.state = 2974 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 2977 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.CASE, frameQLParser.CAST, frameQLParser.CONVERT, frameQLParser.CURRENT_USER, frameQLParser.DATABASE, frameQLParser.EXISTS, frameQLParser.FALSE, frameQLParser.IF, frameQLParser.INSERT, frameQLParser.INTERVAL, frameQLParser.LEFT, frameQLParser.NOT, frameQLParser.NULL_LITERAL, frameQLParser.REPLACE, frameQLParser.RIGHT, frameQLParser.TRUE, frameQLParser.VALUES, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.CHAR, frameQLParser.BINARY, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.AVG, frameQLParser.BIT_AND, frameQLParser.BIT_OR, frameQLParser.BIT_XOR, frameQLParser.COUNT, frameQLParser.GROUP_CONCAT, frameQLParser.MAX, frameQLParser.MIN, frameQLParser.STD, frameQLParser.STDDEV, frameQLParser.STDDEV_POP, frameQLParser.STDDEV_SAMP, frameQLParser.SUM, frameQLParser.VAR_POP, frameQLParser.VAR_SAMP, frameQLParser.VARIANCE, frameQLParser.FCOUNT, frameQLParser.CURRENT_DATE, frameQLParser.CURRENT_TIME, frameQLParser.CURRENT_TIMESTAMP, frameQLParser.LOCALTIME, frameQLParser.CURDATE, frameQLParser.CURTIME, frameQLParser.DATE_ADD, frameQLParser.DATE_SUB, frameQLParser.EXTRACT, frameQLParser.LOCALTIMESTAMP, frameQLParser.NOW, frameQLParser.POSITION, frameQLParser.SUBSTR, frameQLParser.SUBSTRING, frameQLParser.SYSDATE, frameQLParser.TRIM, frameQLParser.UTC_DATE, frameQLParser.UTC_TIME, frameQLParser.UTC_TIMESTAMP, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.PLUS, frameQLParser.MINUS, frameQLParser.EXCLAMATION_SYMBOL, frameQLParser.BIT_NOT_OP, frameQLParser.LR_BRACKET, frameQLParser.ZERO_DECIMAL, frameQLParser.ONE_DECIMAL, frameQLParser.TWO_DECIMAL, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.START_NATIONAL_STRING_LITERAL, frameQLParser.STRING_LITERAL, frameQLParser.DECIMAL_LITERAL, frameQLParser.HEXADECIMAL_LITERAL, frameQLParser.REAL_LITERAL, frameQLParser.NULL_SPEC_LITERAL, frameQLParser.BIT_STRING, frameQLParser.STRING_CHARSET_NAME, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID, frameQLParser.LOCAL_ID, frameQLParser.GLOBAL_ID]: - self.state = 2975 - self.expression(0) - pass - elif token in [frameQLParser.DEFAULT]: - self.state = 2976 - self.match(frameQLParser.DEFAULT) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AssignmentFieldContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def LOCAL_ID(self): - return self.getToken(frameQLParser.LOCAL_ID, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_assignmentField - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAssignmentField" ): - listener.enterAssignmentField(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAssignmentField" ): - listener.exitAssignmentField(self) - - - - - def assignmentField(self): - - localctx = frameQLParser.AssignmentFieldContext(self, self._ctx, self.state) - self.enterRule(localctx, 186, self.RULE_assignmentField) - try: - self.state = 2981 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.enterOuterAlt(localctx, 1) - self.state = 2979 - self.uid() - pass - elif token in [frameQLParser.LOCAL_ID]: - self.enterOuterAlt(localctx, 2) - self.state = 2980 - self.match(frameQLParser.LOCAL_ID) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class LockClauseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def UPDATE(self): - return self.getToken(frameQLParser.UPDATE, 0) - - def LOCK(self): - return self.getToken(frameQLParser.LOCK, 0) - - def IN(self): - return self.getToken(frameQLParser.IN, 0) - - def SHARE(self): - return self.getToken(frameQLParser.SHARE, 0) - - def MODE(self): - return self.getToken(frameQLParser.MODE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_lockClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLockClause" ): - listener.enterLockClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLockClause" ): - listener.exitLockClause(self) - - - - - def lockClause(self): - - localctx = frameQLParser.LockClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 188, self.RULE_lockClause) - try: - self.state = 2989 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.FOR]: - self.enterOuterAlt(localctx, 1) - self.state = 2983 - self.match(frameQLParser.FOR) - self.state = 2984 - self.match(frameQLParser.UPDATE) - pass - elif token in [frameQLParser.LOCK]: - self.enterOuterAlt(localctx, 2) - self.state = 2985 - self.match(frameQLParser.LOCK) - self.state = 2986 - self.match(frameQLParser.IN) - self.state = 2987 - self.match(frameQLParser.SHARE) - self.state = 2988 - self.match(frameQLParser.MODE) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SingleDeleteStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.priority = None # Token - - def DELETE(self): - return self.getToken(frameQLParser.DELETE, 0) - - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def QUICK(self): - return self.getToken(frameQLParser.QUICK, 0) - - def IGNORE(self): - return self.getToken(frameQLParser.IGNORE, 0) - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def WHERE(self): - return self.getToken(frameQLParser.WHERE, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def orderByClause(self): - return self.getTypedRuleContext(frameQLParser.OrderByClauseContext,0) - - - def LIMIT(self): - return self.getToken(frameQLParser.LIMIT, 0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def LOW_PRIORITY(self): - return self.getToken(frameQLParser.LOW_PRIORITY, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_singleDeleteStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSingleDeleteStatement" ): - listener.enterSingleDeleteStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSingleDeleteStatement" ): - listener.exitSingleDeleteStatement(self) - - - - - def singleDeleteStatement(self): - - localctx = frameQLParser.SingleDeleteStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 190, self.RULE_singleDeleteStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2991 - self.match(frameQLParser.DELETE) - self.state = 2993 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LOW_PRIORITY: - self.state = 2992 - localctx.priority = self.match(frameQLParser.LOW_PRIORITY) - - - self.state = 2996 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.QUICK: - self.state = 2995 - self.match(frameQLParser.QUICK) - - - self.state = 2999 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE: - self.state = 2998 - self.match(frameQLParser.IGNORE) - - - self.state = 3001 - self.match(frameQLParser.FROM) - self.state = 3002 - self.tableName() - self.state = 3008 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PARTITION: - self.state = 3003 - self.match(frameQLParser.PARTITION) - self.state = 3004 - self.match(frameQLParser.LR_BRACKET) - self.state = 3005 - self.uidList() - self.state = 3006 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 3012 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WHERE: - self.state = 3010 - self.match(frameQLParser.WHERE) - self.state = 3011 - self.expression(0) - - - self.state = 3015 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ORDER: - self.state = 3014 - self.orderByClause() - - - self.state = 3019 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LIMIT: - self.state = 3017 - self.match(frameQLParser.LIMIT) - self.state = 3018 - self.decimalLiteral() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class MultipleDeleteStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.priority = None # Token - - def DELETE(self): - return self.getToken(frameQLParser.DELETE, 0) - - def tableName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TableNameContext) - else: - return self.getTypedRuleContext(frameQLParser.TableNameContext,i) - - - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - - def tableSources(self): - return self.getTypedRuleContext(frameQLParser.TableSourcesContext,0) - - - def USING(self): - return self.getToken(frameQLParser.USING, 0) - - def QUICK(self): - return self.getToken(frameQLParser.QUICK, 0) - - def IGNORE(self): - return self.getToken(frameQLParser.IGNORE, 0) - - def WHERE(self): - return self.getToken(frameQLParser.WHERE, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def LOW_PRIORITY(self): - return self.getToken(frameQLParser.LOW_PRIORITY, 0) - - def DOT(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.DOT) - else: - return self.getToken(frameQLParser.DOT, i) - - def STAR(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.STAR) - else: - return self.getToken(frameQLParser.STAR, i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_multipleDeleteStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMultipleDeleteStatement" ): - listener.enterMultipleDeleteStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMultipleDeleteStatement" ): - listener.exitMultipleDeleteStatement(self) - - - - - def multipleDeleteStatement(self): - - localctx = frameQLParser.MultipleDeleteStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 192, self.RULE_multipleDeleteStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3021 - self.match(frameQLParser.DELETE) - self.state = 3023 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LOW_PRIORITY: - self.state = 3022 - localctx.priority = self.match(frameQLParser.LOW_PRIORITY) - - - self.state = 3026 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,411,self._ctx) - if la_ == 1: - self.state = 3025 - self.match(frameQLParser.QUICK) - - - self.state = 3029 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE: - self.state = 3028 - self.match(frameQLParser.IGNORE) - - - self.state = 3070 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.state = 3031 - self.tableName() - self.state = 3034 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DOT: - self.state = 3032 - self.match(frameQLParser.DOT) - self.state = 3033 - self.match(frameQLParser.STAR) - - - self.state = 3044 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3036 - self.match(frameQLParser.COMMA) - self.state = 3037 - self.tableName() - self.state = 3040 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DOT: - self.state = 3038 - self.match(frameQLParser.DOT) - self.state = 3039 - self.match(frameQLParser.STAR) - - - self.state = 3046 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 3047 - self.match(frameQLParser.FROM) - self.state = 3048 - self.tableSources() - pass - elif token in [frameQLParser.FROM]: - self.state = 3050 - self.match(frameQLParser.FROM) - self.state = 3051 - self.tableName() - self.state = 3054 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DOT: - self.state = 3052 - self.match(frameQLParser.DOT) - self.state = 3053 - self.match(frameQLParser.STAR) - - - self.state = 3064 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3056 - self.match(frameQLParser.COMMA) - self.state = 3057 - self.tableName() - self.state = 3060 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DOT: - self.state = 3058 - self.match(frameQLParser.DOT) - self.state = 3059 - self.match(frameQLParser.STAR) - - - self.state = 3066 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 3067 - self.match(frameQLParser.USING) - self.state = 3068 - self.tableSources() - pass - else: - raise NoViableAltException(self) - - self.state = 3074 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WHERE: - self.state = 3072 - self.match(frameQLParser.WHERE) - self.state = 3073 - self.expression(0) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class HandlerOpenStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def HANDLER(self): - return self.getToken(frameQLParser.HANDLER, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def OPEN(self): - return self.getToken(frameQLParser.OPEN, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_handlerOpenStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHandlerOpenStatement" ): - listener.enterHandlerOpenStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHandlerOpenStatement" ): - listener.exitHandlerOpenStatement(self) - - - - - def handlerOpenStatement(self): - - localctx = frameQLParser.HandlerOpenStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 194, self.RULE_handlerOpenStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3076 - self.match(frameQLParser.HANDLER) - self.state = 3077 - self.tableName() - self.state = 3078 - self.match(frameQLParser.OPEN) - self.state = 3083 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS or _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 3080 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS: - self.state = 3079 - self.match(frameQLParser.AS) - - - self.state = 3082 - self.uid() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class HandlerReadIndexStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.index = None # UidContext - self.moveOrder = None # Token - - def HANDLER(self): - return self.getToken(frameQLParser.HANDLER, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def READ(self): - return self.getToken(frameQLParser.READ, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def comparisonOperator(self): - return self.getTypedRuleContext(frameQLParser.ComparisonOperatorContext,0) - - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def constants(self): - return self.getTypedRuleContext(frameQLParser.ConstantsContext,0) - - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def WHERE(self): - return self.getToken(frameQLParser.WHERE, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def LIMIT(self): - return self.getToken(frameQLParser.LIMIT, 0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def FIRST(self): - return self.getToken(frameQLParser.FIRST, 0) - - def NEXT(self): - return self.getToken(frameQLParser.NEXT, 0) - - def PREV(self): - return self.getToken(frameQLParser.PREV, 0) - - def LAST(self): - return self.getToken(frameQLParser.LAST, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_handlerReadIndexStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHandlerReadIndexStatement" ): - listener.enterHandlerReadIndexStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHandlerReadIndexStatement" ): - listener.exitHandlerReadIndexStatement(self) - - - - - def handlerReadIndexStatement(self): - - localctx = frameQLParser.HandlerReadIndexStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 196, self.RULE_handlerReadIndexStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3085 - self.match(frameQLParser.HANDLER) - self.state = 3086 - self.tableName() - self.state = 3087 - self.match(frameQLParser.READ) - self.state = 3088 - localctx.index = self.uid() - self.state = 3095 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.EQUAL_SYMBOL, frameQLParser.GREATER_SYMBOL, frameQLParser.LESS_SYMBOL, frameQLParser.EXCLAMATION_SYMBOL]: - self.state = 3089 - self.comparisonOperator() - self.state = 3090 - self.match(frameQLParser.LR_BRACKET) - self.state = 3091 - self.constants() - self.state = 3092 - self.match(frameQLParser.RR_BRACKET) - pass - elif token in [frameQLParser.FIRST, frameQLParser.LAST, frameQLParser.NEXT, frameQLParser.PREV]: - self.state = 3094 - localctx.moveOrder = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FIRST or _la==frameQLParser.LAST or _la==frameQLParser.NEXT or _la==frameQLParser.PREV): - localctx.moveOrder = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - else: - raise NoViableAltException(self) - - self.state = 3099 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WHERE: - self.state = 3097 - self.match(frameQLParser.WHERE) - self.state = 3098 - self.expression(0) - - - self.state = 3103 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LIMIT: - self.state = 3101 - self.match(frameQLParser.LIMIT) - self.state = 3102 - self.decimalLiteral() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class HandlerReadStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.moveOrder = None # Token - - def HANDLER(self): - return self.getToken(frameQLParser.HANDLER, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def READ(self): - return self.getToken(frameQLParser.READ, 0) - - def FIRST(self): - return self.getToken(frameQLParser.FIRST, 0) - - def NEXT(self): - return self.getToken(frameQLParser.NEXT, 0) - - def WHERE(self): - return self.getToken(frameQLParser.WHERE, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def LIMIT(self): - return self.getToken(frameQLParser.LIMIT, 0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_handlerReadStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHandlerReadStatement" ): - listener.enterHandlerReadStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHandlerReadStatement" ): - listener.exitHandlerReadStatement(self) - - - - - def handlerReadStatement(self): - - localctx = frameQLParser.HandlerReadStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 198, self.RULE_handlerReadStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3105 - self.match(frameQLParser.HANDLER) - self.state = 3106 - self.tableName() - self.state = 3107 - self.match(frameQLParser.READ) - self.state = 3108 - localctx.moveOrder = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FIRST or _la==frameQLParser.NEXT): - localctx.moveOrder = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 3111 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WHERE: - self.state = 3109 - self.match(frameQLParser.WHERE) - self.state = 3110 - self.expression(0) - - - self.state = 3115 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LIMIT: - self.state = 3113 - self.match(frameQLParser.LIMIT) - self.state = 3114 - self.decimalLiteral() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class HandlerCloseStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def HANDLER(self): - return self.getToken(frameQLParser.HANDLER, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def CLOSE(self): - return self.getToken(frameQLParser.CLOSE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_handlerCloseStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHandlerCloseStatement" ): - listener.enterHandlerCloseStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHandlerCloseStatement" ): - listener.exitHandlerCloseStatement(self) - - - - - def handlerCloseStatement(self): - - localctx = frameQLParser.HandlerCloseStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 200, self.RULE_handlerCloseStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3117 - self.match(frameQLParser.HANDLER) - self.state = 3118 - self.tableName() - self.state = 3119 - self.match(frameQLParser.CLOSE) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SingleUpdateStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.priority = None # Token - - def UPDATE(self): - return self.getToken(frameQLParser.UPDATE, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - - def updatedElement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UpdatedElementContext) - else: - return self.getTypedRuleContext(frameQLParser.UpdatedElementContext,i) - - - def IGNORE(self): - return self.getToken(frameQLParser.IGNORE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def WHERE(self): - return self.getToken(frameQLParser.WHERE, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def orderByClause(self): - return self.getTypedRuleContext(frameQLParser.OrderByClauseContext,0) - - - def limitClause(self): - return self.getTypedRuleContext(frameQLParser.LimitClauseContext,0) - - - def LOW_PRIORITY(self): - return self.getToken(frameQLParser.LOW_PRIORITY, 0) - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_singleUpdateStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSingleUpdateStatement" ): - listener.enterSingleUpdateStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSingleUpdateStatement" ): - listener.exitSingleUpdateStatement(self) - - - - - def singleUpdateStatement(self): - - localctx = frameQLParser.SingleUpdateStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 202, self.RULE_singleUpdateStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3121 - self.match(frameQLParser.UPDATE) - self.state = 3123 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LOW_PRIORITY: - self.state = 3122 - localctx.priority = self.match(frameQLParser.LOW_PRIORITY) - - - self.state = 3126 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE: - self.state = 3125 - self.match(frameQLParser.IGNORE) - - - self.state = 3128 - self.tableName() - self.state = 3133 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS or _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 3130 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS: - self.state = 3129 - self.match(frameQLParser.AS) - - - self.state = 3132 - self.uid() - - - self.state = 3135 - self.match(frameQLParser.SET) - self.state = 3136 - self.updatedElement() - self.state = 3141 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3137 - self.match(frameQLParser.COMMA) - self.state = 3138 - self.updatedElement() - self.state = 3143 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 3146 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WHERE: - self.state = 3144 - self.match(frameQLParser.WHERE) - self.state = 3145 - self.expression(0) - - - self.state = 3149 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ORDER: - self.state = 3148 - self.orderByClause() - - - self.state = 3152 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LIMIT: - self.state = 3151 - self.limitClause() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class MultipleUpdateStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.priority = None # Token - - def UPDATE(self): - return self.getToken(frameQLParser.UPDATE, 0) - - def tableSources(self): - return self.getTypedRuleContext(frameQLParser.TableSourcesContext,0) - - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - - def updatedElement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UpdatedElementContext) - else: - return self.getTypedRuleContext(frameQLParser.UpdatedElementContext,i) - - - def IGNORE(self): - return self.getToken(frameQLParser.IGNORE, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def WHERE(self): - return self.getToken(frameQLParser.WHERE, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def LOW_PRIORITY(self): - return self.getToken(frameQLParser.LOW_PRIORITY, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_multipleUpdateStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMultipleUpdateStatement" ): - listener.enterMultipleUpdateStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMultipleUpdateStatement" ): - listener.exitMultipleUpdateStatement(self) - - - - - def multipleUpdateStatement(self): - - localctx = frameQLParser.MultipleUpdateStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 204, self.RULE_multipleUpdateStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3154 - self.match(frameQLParser.UPDATE) - self.state = 3156 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LOW_PRIORITY: - self.state = 3155 - localctx.priority = self.match(frameQLParser.LOW_PRIORITY) - - - self.state = 3159 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE: - self.state = 3158 - self.match(frameQLParser.IGNORE) - - - self.state = 3161 - self.tableSources() - self.state = 3162 - self.match(frameQLParser.SET) - self.state = 3163 - self.updatedElement() - self.state = 3168 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3164 - self.match(frameQLParser.COMMA) - self.state = 3165 - self.updatedElement() - self.state = 3170 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 3173 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WHERE: - self.state = 3171 - self.match(frameQLParser.WHERE) - self.state = 3172 - self.expression(0) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class OrderByClauseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ORDER(self): - return self.getToken(frameQLParser.ORDER, 0) - - def BY(self): - return self.getToken(frameQLParser.BY, 0) - - def orderByExpression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.OrderByExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.OrderByExpressionContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_orderByClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterOrderByClause" ): - listener.enterOrderByClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitOrderByClause" ): - listener.exitOrderByClause(self) - - - - - def orderByClause(self): - - localctx = frameQLParser.OrderByClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 206, self.RULE_orderByClause) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3175 - self.match(frameQLParser.ORDER) - self.state = 3176 - self.match(frameQLParser.BY) - self.state = 3177 - self.orderByExpression() - self.state = 3182 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3178 - self.match(frameQLParser.COMMA) - self.state = 3179 - self.orderByExpression() - self.state = 3184 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class OrderByExpressionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.order = None # Token - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def ASC(self): - return self.getToken(frameQLParser.ASC, 0) - - def DESC(self): - return self.getToken(frameQLParser.DESC, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_orderByExpression - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterOrderByExpression" ): - listener.enterOrderByExpression(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitOrderByExpression" ): - listener.exitOrderByExpression(self) - - - - - def orderByExpression(self): - - localctx = frameQLParser.OrderByExpressionContext(self, self._ctx, self.state) - self.enterRule(localctx, 208, self.RULE_orderByExpression) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3185 - self.expression(0) - self.state = 3187 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ASC or _la==frameQLParser.DESC: - self.state = 3186 - localctx.order = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ASC or _la==frameQLParser.DESC): - localctx.order = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TableSourcesContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def tableSource(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TableSourceContext) - else: - return self.getTypedRuleContext(frameQLParser.TableSourceContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_tableSources - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableSources" ): - listener.enterTableSources(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableSources" ): - listener.exitTableSources(self) - - - - - def tableSources(self): - - localctx = frameQLParser.TableSourcesContext(self, self._ctx, self.state) - self.enterRule(localctx, 210, self.RULE_tableSources) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3189 - self.tableSource() - self.state = 3194 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3190 - self.match(frameQLParser.COMMA) - self.state = 3191 - self.tableSource() - self.state = 3196 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TableSourceContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_tableSource - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class TableSourceNestedContext(TableSourceContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableSourceContext - super().__init__(parser) - self.copyFrom(ctx) - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def tableSourceItem(self): - return self.getTypedRuleContext(frameQLParser.TableSourceItemContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def joinPart(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.JoinPartContext) - else: - return self.getTypedRuleContext(frameQLParser.JoinPartContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableSourceNested" ): - listener.enterTableSourceNested(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableSourceNested" ): - listener.exitTableSourceNested(self) - - - class TableSourceBaseContext(TableSourceContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableSourceContext - super().__init__(parser) - self.copyFrom(ctx) - - def tableSourceItem(self): - return self.getTypedRuleContext(frameQLParser.TableSourceItemContext,0) - - def joinPart(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.JoinPartContext) - else: - return self.getTypedRuleContext(frameQLParser.JoinPartContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableSourceBase" ): - listener.enterTableSourceBase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableSourceBase" ): - listener.exitTableSourceBase(self) - - - - def tableSource(self): - - localctx = frameQLParser.TableSourceContext(self, self._ctx, self.state) - self.enterRule(localctx, 212, self.RULE_tableSource) - self._la = 0 # Token type - try: - self.state = 3214 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,445,self._ctx) - if la_ == 1: - localctx = frameQLParser.TableSourceBaseContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 3197 - self.tableSourceItem() - self.state = 3201 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,443,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 3198 - self.joinPart() - self.state = 3203 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,443,self._ctx) - - pass - - elif la_ == 2: - localctx = frameQLParser.TableSourceNestedContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 3204 - self.match(frameQLParser.LR_BRACKET) - self.state = 3205 - self.tableSourceItem() - self.state = 3209 - self._errHandler.sync(self) - _la = self._input.LA(1) - while ((((_la - 33)) & ~0x3f) == 0 and ((1 << (_la - 33)) & ((1 << (frameQLParser.CROSS - 33)) | (1 << (frameQLParser.INNER - 33)) | (1 << (frameQLParser.JOIN - 33)) | (1 << (frameQLParser.LEFT - 33)))) != 0) or ((((_la - 100)) & ~0x3f) == 0 and ((1 << (_la - 100)) & ((1 << (frameQLParser.NATURAL - 100)) | (1 << (frameQLParser.RIGHT - 100)) | (1 << (frameQLParser.STRAIGHT_JOIN - 100)))) != 0): - self.state = 3206 - self.joinPart() - self.state = 3211 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 3212 - self.match(frameQLParser.RR_BRACKET) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TableSourceItemContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_tableSourceItem - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class SubqueryTableItemContext(TableSourceItemContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableSourceItemContext - super().__init__(parser) - self.parenthesisSubquery = None # SelectStatementContext - self.alias = None # UidContext - self.copyFrom(ctx) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSubqueryTableItem" ): - listener.enterSubqueryTableItem(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSubqueryTableItem" ): - listener.exitSubqueryTableItem(self) - - - class AtomTableItemContext(TableSourceItemContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableSourceItemContext - super().__init__(parser) - self.alias = None # UidContext - self.copyFrom(ctx) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def indexHint(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IndexHintContext) - else: - return self.getTypedRuleContext(frameQLParser.IndexHintContext,i) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAtomTableItem" ): - listener.enterAtomTableItem(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAtomTableItem" ): - listener.exitAtomTableItem(self) - - - class TableSourcesItemContext(TableSourceItemContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableSourceItemContext - super().__init__(parser) - self.copyFrom(ctx) - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def tableSources(self): - return self.getTypedRuleContext(frameQLParser.TableSourcesContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableSourcesItem" ): - listener.enterTableSourcesItem(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableSourcesItem" ): - listener.exitTableSourcesItem(self) - - - - def tableSourceItem(self): - - localctx = frameQLParser.TableSourceItemContext(self, self._ctx, self.state) - self.enterRule(localctx, 214, self.RULE_tableSourceItem) - self._la = 0 # Token type - try: - self.state = 3256 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,453,self._ctx) - if la_ == 1: - localctx = frameQLParser.AtomTableItemContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 3216 - self.tableName() - self.state = 3222 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PARTITION: - self.state = 3217 - self.match(frameQLParser.PARTITION) - self.state = 3218 - self.match(frameQLParser.LR_BRACKET) - self.state = 3219 - self.uidList() - self.state = 3220 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 3228 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,448,self._ctx) - if la_ == 1: - self.state = 3225 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS: - self.state = 3224 - self.match(frameQLParser.AS) - - - self.state = 3227 - localctx.alias = self.uid() - - - self.state = 3238 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FORCE or _la==frameQLParser.IGNORE or _la==frameQLParser.USE: - self.state = 3230 - self.indexHint() - self.state = 3235 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,449,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 3231 - self.match(frameQLParser.COMMA) - self.state = 3232 - self.indexHint() - self.state = 3237 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,449,self._ctx) - - - - pass - - elif la_ == 2: - localctx = frameQLParser.SubqueryTableItemContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 3245 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,451,self._ctx) - if la_ == 1: - self.state = 3240 - self.selectStatement() - pass - - elif la_ == 2: - self.state = 3241 - self.match(frameQLParser.LR_BRACKET) - self.state = 3242 - localctx.parenthesisSubquery = self.selectStatement() - self.state = 3243 - self.match(frameQLParser.RR_BRACKET) - pass - - - self.state = 3248 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS: - self.state = 3247 - self.match(frameQLParser.AS) - - - self.state = 3250 - localctx.alias = self.uid() - pass - - elif la_ == 3: - localctx = frameQLParser.TableSourcesItemContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 3252 - self.match(frameQLParser.LR_BRACKET) - self.state = 3253 - self.tableSources() - self.state = 3254 - self.match(frameQLParser.RR_BRACKET) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class IndexHintContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.indexHintAction = None # Token - self.keyFormat = None # Token - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def USE(self): - return self.getToken(frameQLParser.USE, 0) - - def IGNORE(self): - return self.getToken(frameQLParser.IGNORE, 0) - - def FORCE(self): - return self.getToken(frameQLParser.FORCE, 0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def indexHintType(self): - return self.getTypedRuleContext(frameQLParser.IndexHintTypeContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_indexHint - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIndexHint" ): - listener.enterIndexHint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIndexHint" ): - listener.exitIndexHint(self) - - - - - def indexHint(self): - - localctx = frameQLParser.IndexHintContext(self, self._ctx, self.state) - self.enterRule(localctx, 216, self.RULE_indexHint) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3258 - localctx.indexHintAction = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FORCE or _la==frameQLParser.IGNORE or _la==frameQLParser.USE): - localctx.indexHintAction = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 3259 - localctx.keyFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.INDEX or _la==frameQLParser.KEY): - localctx.keyFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 3262 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR: - self.state = 3260 - self.match(frameQLParser.FOR) - self.state = 3261 - self.indexHintType() - - - self.state = 3264 - self.match(frameQLParser.LR_BRACKET) - self.state = 3265 - self.uidList() - self.state = 3266 - self.match(frameQLParser.RR_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class IndexHintTypeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def JOIN(self): - return self.getToken(frameQLParser.JOIN, 0) - - def ORDER(self): - return self.getToken(frameQLParser.ORDER, 0) - - def BY(self): - return self.getToken(frameQLParser.BY, 0) - - def GROUP(self): - return self.getToken(frameQLParser.GROUP, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_indexHintType - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIndexHintType" ): - listener.enterIndexHintType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIndexHintType" ): - listener.exitIndexHintType(self) - - - - - def indexHintType(self): - - localctx = frameQLParser.IndexHintTypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 218, self.RULE_indexHintType) - try: - self.state = 3273 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.JOIN]: - self.enterOuterAlt(localctx, 1) - self.state = 3268 - self.match(frameQLParser.JOIN) - pass - elif token in [frameQLParser.ORDER]: - self.enterOuterAlt(localctx, 2) - self.state = 3269 - self.match(frameQLParser.ORDER) - self.state = 3270 - self.match(frameQLParser.BY) - pass - elif token in [frameQLParser.GROUP]: - self.enterOuterAlt(localctx, 3) - self.state = 3271 - self.match(frameQLParser.GROUP) - self.state = 3272 - self.match(frameQLParser.BY) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class JoinPartContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_joinPart - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class InnerJoinContext(JoinPartContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.JoinPartContext - super().__init__(parser) - self.copyFrom(ctx) - - def JOIN(self): - return self.getToken(frameQLParser.JOIN, 0) - def tableSourceItem(self): - return self.getTypedRuleContext(frameQLParser.TableSourceItemContext,0) - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def USING(self): - return self.getToken(frameQLParser.USING, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def INNER(self): - return self.getToken(frameQLParser.INNER, 0) - def CROSS(self): - return self.getToken(frameQLParser.CROSS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterInnerJoin" ): - listener.enterInnerJoin(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitInnerJoin" ): - listener.exitInnerJoin(self) - - - class NaturalJoinContext(JoinPartContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.JoinPartContext - super().__init__(parser) - self.copyFrom(ctx) - - def NATURAL(self): - return self.getToken(frameQLParser.NATURAL, 0) - def JOIN(self): - return self.getToken(frameQLParser.JOIN, 0) - def tableSourceItem(self): - return self.getTypedRuleContext(frameQLParser.TableSourceItemContext,0) - - def LEFT(self): - return self.getToken(frameQLParser.LEFT, 0) - def RIGHT(self): - return self.getToken(frameQLParser.RIGHT, 0) - def OUTER(self): - return self.getToken(frameQLParser.OUTER, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterNaturalJoin" ): - listener.enterNaturalJoin(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitNaturalJoin" ): - listener.exitNaturalJoin(self) - - - class OuterJoinContext(JoinPartContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.JoinPartContext - super().__init__(parser) - self.copyFrom(ctx) - - def JOIN(self): - return self.getToken(frameQLParser.JOIN, 0) - def tableSourceItem(self): - return self.getTypedRuleContext(frameQLParser.TableSourceItemContext,0) - - def LEFT(self): - return self.getToken(frameQLParser.LEFT, 0) - def RIGHT(self): - return self.getToken(frameQLParser.RIGHT, 0) - def ON(self): - return self.getToken(frameQLParser.ON, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def USING(self): - return self.getToken(frameQLParser.USING, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def OUTER(self): - return self.getToken(frameQLParser.OUTER, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterOuterJoin" ): - listener.enterOuterJoin(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitOuterJoin" ): - listener.exitOuterJoin(self) - - - class StraightJoinContext(JoinPartContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.JoinPartContext - super().__init__(parser) - self.copyFrom(ctx) - - def STRAIGHT_JOIN(self): - return self.getToken(frameQLParser.STRAIGHT_JOIN, 0) - def tableSourceItem(self): - return self.getTypedRuleContext(frameQLParser.TableSourceItemContext,0) - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStraightJoin" ): - listener.enterStraightJoin(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStraightJoin" ): - listener.exitStraightJoin(self) - - - - def joinPart(self): - - localctx = frameQLParser.JoinPartContext(self, self._ctx, self.state) - self.enterRule(localctx, 220, self.RULE_joinPart) - self._la = 0 # Token type - try: - self.state = 3319 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.CROSS, frameQLParser.INNER, frameQLParser.JOIN]: - localctx = frameQLParser.InnerJoinContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 3276 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CROSS or _la==frameQLParser.INNER: - self.state = 3275 - _la = self._input.LA(1) - if not(_la==frameQLParser.CROSS or _la==frameQLParser.INNER): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 3278 - self.match(frameQLParser.JOIN) - self.state = 3279 - self.tableSourceItem() - self.state = 3287 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,457,self._ctx) - if la_ == 1: - self.state = 3280 - self.match(frameQLParser.ON) - self.state = 3281 - self.expression(0) - - elif la_ == 2: - self.state = 3282 - self.match(frameQLParser.USING) - self.state = 3283 - self.match(frameQLParser.LR_BRACKET) - self.state = 3284 - self.uidList() - self.state = 3285 - self.match(frameQLParser.RR_BRACKET) - - - pass - elif token in [frameQLParser.STRAIGHT_JOIN]: - localctx = frameQLParser.StraightJoinContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 3289 - self.match(frameQLParser.STRAIGHT_JOIN) - self.state = 3290 - self.tableSourceItem() - self.state = 3293 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,458,self._ctx) - if la_ == 1: - self.state = 3291 - self.match(frameQLParser.ON) - self.state = 3292 - self.expression(0) - - - pass - elif token in [frameQLParser.LEFT, frameQLParser.RIGHT]: - localctx = frameQLParser.OuterJoinContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 3295 - _la = self._input.LA(1) - if not(_la==frameQLParser.LEFT or _la==frameQLParser.RIGHT): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 3297 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.OUTER: - self.state = 3296 - self.match(frameQLParser.OUTER) - - - self.state = 3299 - self.match(frameQLParser.JOIN) - self.state = 3300 - self.tableSourceItem() - self.state = 3308 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ON]: - self.state = 3301 - self.match(frameQLParser.ON) - self.state = 3302 - self.expression(0) - pass - elif token in [frameQLParser.USING]: - self.state = 3303 - self.match(frameQLParser.USING) - self.state = 3304 - self.match(frameQLParser.LR_BRACKET) - self.state = 3305 - self.uidList() - self.state = 3306 - self.match(frameQLParser.RR_BRACKET) - pass - else: - raise NoViableAltException(self) - - pass - elif token in [frameQLParser.NATURAL]: - localctx = frameQLParser.NaturalJoinContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 3310 - self.match(frameQLParser.NATURAL) - self.state = 3315 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT: - self.state = 3311 - _la = self._input.LA(1) - if not(_la==frameQLParser.LEFT or _la==frameQLParser.RIGHT): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 3313 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.OUTER: - self.state = 3312 - self.match(frameQLParser.OUTER) - - - - - self.state = 3317 - self.match(frameQLParser.JOIN) - self.state = 3318 - self.tableSourceItem() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class QueryExpressionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def querySpecification(self): - return self.getTypedRuleContext(frameQLParser.QuerySpecificationContext,0) - - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def queryExpression(self): - return self.getTypedRuleContext(frameQLParser.QueryExpressionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_queryExpression - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterQueryExpression" ): - listener.enterQueryExpression(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitQueryExpression" ): - listener.exitQueryExpression(self) - - - - - def queryExpression(self): - - localctx = frameQLParser.QueryExpressionContext(self, self._ctx, self.state) - self.enterRule(localctx, 222, self.RULE_queryExpression) - try: - self.state = 3329 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,464,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 3321 - self.match(frameQLParser.LR_BRACKET) - self.state = 3322 - self.querySpecification() - self.state = 3323 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 3325 - self.match(frameQLParser.LR_BRACKET) - self.state = 3326 - self.queryExpression() - self.state = 3327 - self.match(frameQLParser.RR_BRACKET) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class QueryExpressionNointoContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def querySpecificationNointo(self): - return self.getTypedRuleContext(frameQLParser.QuerySpecificationNointoContext,0) - - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def queryExpressionNointo(self): - return self.getTypedRuleContext(frameQLParser.QueryExpressionNointoContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_queryExpressionNointo - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterQueryExpressionNointo" ): - listener.enterQueryExpressionNointo(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitQueryExpressionNointo" ): - listener.exitQueryExpressionNointo(self) - - - - - def queryExpressionNointo(self): - - localctx = frameQLParser.QueryExpressionNointoContext(self, self._ctx, self.state) - self.enterRule(localctx, 224, self.RULE_queryExpressionNointo) - try: - self.state = 3339 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,465,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 3331 - self.match(frameQLParser.LR_BRACKET) - self.state = 3332 - self.querySpecificationNointo() - self.state = 3333 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 3335 - self.match(frameQLParser.LR_BRACKET) - self.state = 3336 - self.queryExpressionNointo() - self.state = 3337 - self.match(frameQLParser.RR_BRACKET) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class QuerySpecificationContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def SELECT(self): - return self.getToken(frameQLParser.SELECT, 0) - - def selectElements(self): - return self.getTypedRuleContext(frameQLParser.SelectElementsContext,0) - - - def selectSpec(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SelectSpecContext) - else: - return self.getTypedRuleContext(frameQLParser.SelectSpecContext,i) - - - def selectIntoExpression(self): - return self.getTypedRuleContext(frameQLParser.SelectIntoExpressionContext,0) - - - def fromClause(self): - return self.getTypedRuleContext(frameQLParser.FromClauseContext,0) - - - def orderByClause(self): - return self.getTypedRuleContext(frameQLParser.OrderByClauseContext,0) - - - def limitClause(self): - return self.getTypedRuleContext(frameQLParser.LimitClauseContext,0) - - - def errorTolerenceExpression(self): - return self.getTypedRuleContext(frameQLParser.ErrorTolerenceExpressionContext,0) - - - def confLevelExpression(self): - return self.getTypedRuleContext(frameQLParser.ConfLevelExpressionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_querySpecification - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterQuerySpecification" ): - listener.enterQuerySpecification(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitQuerySpecification" ): - listener.exitQuerySpecification(self) - - - - - def querySpecification(self): - - localctx = frameQLParser.QuerySpecificationContext(self, self._ctx, self.state) - self.enterRule(localctx, 226, self.RULE_querySpecification) - self._la = 0 # Token type - try: - self.state = 3398 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,480,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 3341 - self.match(frameQLParser.SELECT) - self.state = 3345 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,466,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 3342 - self.selectSpec() - self.state = 3347 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,466,self._ctx) - - self.state = 3348 - self.selectElements() - self.state = 3350 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INTO: - self.state = 3349 - self.selectIntoExpression() - - - self.state = 3353 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FROM: - self.state = 3352 - self.fromClause() - - - self.state = 3356 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,469,self._ctx) - if la_ == 1: - self.state = 3355 - self.orderByClause() - - - self.state = 3359 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,470,self._ctx) - if la_ == 1: - self.state = 3358 - self.limitClause() - - - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 3361 - self.match(frameQLParser.SELECT) - self.state = 3365 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,471,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 3362 - self.selectSpec() - self.state = 3367 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,471,self._ctx) - - self.state = 3368 - self.selectElements() - self.state = 3370 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FROM: - self.state = 3369 - self.fromClause() - - - self.state = 3373 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,473,self._ctx) - if la_ == 1: - self.state = 3372 - self.orderByClause() - - - self.state = 3376 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,474,self._ctx) - if la_ == 1: - self.state = 3375 - self.limitClause() - - - self.state = 3379 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INTO: - self.state = 3378 - self.selectIntoExpression() - - - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 3381 - self.match(frameQLParser.SELECT) - self.state = 3385 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,476,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 3382 - self.selectSpec() - self.state = 3387 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,476,self._ctx) - - self.state = 3388 - self.selectElements() - self.state = 3390 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FROM: - self.state = 3389 - self.fromClause() - - - self.state = 3393 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ERRORBOUND: - self.state = 3392 - self.errorTolerenceExpression() - - - self.state = 3396 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CONFLEVEL: - self.state = 3395 - self.confLevelExpression() - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class QuerySpecificationNointoContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def SELECT(self): - return self.getToken(frameQLParser.SELECT, 0) - - def selectElements(self): - return self.getTypedRuleContext(frameQLParser.SelectElementsContext,0) - - - def selectSpec(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SelectSpecContext) - else: - return self.getTypedRuleContext(frameQLParser.SelectSpecContext,i) - - - def fromClause(self): - return self.getTypedRuleContext(frameQLParser.FromClauseContext,0) - - - def orderByClause(self): - return self.getTypedRuleContext(frameQLParser.OrderByClauseContext,0) - - - def limitClause(self): - return self.getTypedRuleContext(frameQLParser.LimitClauseContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_querySpecificationNointo - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterQuerySpecificationNointo" ): - listener.enterQuerySpecificationNointo(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitQuerySpecificationNointo" ): - listener.exitQuerySpecificationNointo(self) - - - - - def querySpecificationNointo(self): - - localctx = frameQLParser.QuerySpecificationNointoContext(self, self._ctx, self.state) - self.enterRule(localctx, 228, self.RULE_querySpecificationNointo) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3400 - self.match(frameQLParser.SELECT) - self.state = 3404 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,481,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 3401 - self.selectSpec() - self.state = 3406 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,481,self._ctx) - - self.state = 3407 - self.selectElements() - self.state = 3409 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FROM: - self.state = 3408 - self.fromClause() - - - self.state = 3412 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,483,self._ctx) - if la_ == 1: - self.state = 3411 - self.orderByClause() - - - self.state = 3415 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,484,self._ctx) - if la_ == 1: - self.state = 3414 - self.limitClause() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class UnionParenthesisContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.unionType = None # Token - - def UNION(self): - return self.getToken(frameQLParser.UNION, 0) - - def queryExpressionNointo(self): - return self.getTypedRuleContext(frameQLParser.QueryExpressionNointoContext,0) - - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def DISTINCT(self): - return self.getToken(frameQLParser.DISTINCT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_unionParenthesis - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUnionParenthesis" ): - listener.enterUnionParenthesis(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUnionParenthesis" ): - listener.exitUnionParenthesis(self) - - - - - def unionParenthesis(self): - - localctx = frameQLParser.UnionParenthesisContext(self, self._ctx, self.state) - self.enterRule(localctx, 230, self.RULE_unionParenthesis) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3417 - self.match(frameQLParser.UNION) - self.state = 3419 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALL or _la==frameQLParser.DISTINCT: - self.state = 3418 - localctx.unionType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ALL or _la==frameQLParser.DISTINCT): - localctx.unionType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 3421 - self.queryExpressionNointo() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class UnionStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.unionType = None # Token - - def UNION(self): - return self.getToken(frameQLParser.UNION, 0) - - def querySpecificationNointo(self): - return self.getTypedRuleContext(frameQLParser.QuerySpecificationNointoContext,0) - - - def queryExpressionNointo(self): - return self.getTypedRuleContext(frameQLParser.QueryExpressionNointoContext,0) - - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def DISTINCT(self): - return self.getToken(frameQLParser.DISTINCT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_unionStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUnionStatement" ): - listener.enterUnionStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUnionStatement" ): - listener.exitUnionStatement(self) - - - - - def unionStatement(self): - - localctx = frameQLParser.UnionStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 232, self.RULE_unionStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3423 - self.match(frameQLParser.UNION) - self.state = 3425 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALL or _la==frameQLParser.DISTINCT: - self.state = 3424 - localctx.unionType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ALL or _la==frameQLParser.DISTINCT): - localctx.unionType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 3429 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.SELECT]: - self.state = 3427 - self.querySpecificationNointo() - pass - elif token in [frameQLParser.LR_BRACKET]: - self.state = 3428 - self.queryExpressionNointo() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SelectSpecContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def DISTINCT(self): - return self.getToken(frameQLParser.DISTINCT, 0) - - def DISTINCTROW(self): - return self.getToken(frameQLParser.DISTINCTROW, 0) - - def HIGH_PRIORITY(self): - return self.getToken(frameQLParser.HIGH_PRIORITY, 0) - - def STRAIGHT_JOIN(self): - return self.getToken(frameQLParser.STRAIGHT_JOIN, 0) - - def SQL_SMALL_RESULT(self): - return self.getToken(frameQLParser.SQL_SMALL_RESULT, 0) - - def SQL_BIG_RESULT(self): - return self.getToken(frameQLParser.SQL_BIG_RESULT, 0) - - def SQL_BUFFER_RESULT(self): - return self.getToken(frameQLParser.SQL_BUFFER_RESULT, 0) - - def SQL_CACHE(self): - return self.getToken(frameQLParser.SQL_CACHE, 0) - - def SQL_NO_CACHE(self): - return self.getToken(frameQLParser.SQL_NO_CACHE, 0) - - def SQL_CALC_FOUND_ROWS(self): - return self.getToken(frameQLParser.SQL_CALC_FOUND_ROWS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_selectSpec - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectSpec" ): - listener.enterSelectSpec(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectSpec" ): - listener.exitSelectSpec(self) - - - - - def selectSpec(self): - - localctx = frameQLParser.SelectSpecContext(self, self._ctx, self.state) - self.enterRule(localctx, 234, self.RULE_selectSpec) - self._la = 0 # Token type - try: - self.state = 3439 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ALL, frameQLParser.DISTINCT, frameQLParser.DISTINCTROW]: - self.enterOuterAlt(localctx, 1) - self.state = 3431 - _la = self._input.LA(1) - if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << frameQLParser.ALL) | (1 << frameQLParser.DISTINCT) | (1 << frameQLParser.DISTINCTROW))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - elif token in [frameQLParser.HIGH_PRIORITY]: - self.enterOuterAlt(localctx, 2) - self.state = 3432 - self.match(frameQLParser.HIGH_PRIORITY) - pass - elif token in [frameQLParser.STRAIGHT_JOIN]: - self.enterOuterAlt(localctx, 3) - self.state = 3433 - self.match(frameQLParser.STRAIGHT_JOIN) - pass - elif token in [frameQLParser.SQL_SMALL_RESULT]: - self.enterOuterAlt(localctx, 4) - self.state = 3434 - self.match(frameQLParser.SQL_SMALL_RESULT) - pass - elif token in [frameQLParser.SQL_BIG_RESULT]: - self.enterOuterAlt(localctx, 5) - self.state = 3435 - self.match(frameQLParser.SQL_BIG_RESULT) - pass - elif token in [frameQLParser.SQL_BUFFER_RESULT]: - self.enterOuterAlt(localctx, 6) - self.state = 3436 - self.match(frameQLParser.SQL_BUFFER_RESULT) - pass - elif token in [frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE]: - self.enterOuterAlt(localctx, 7) - self.state = 3437 - _la = self._input.LA(1) - if not(_la==frameQLParser.SQL_CACHE or _la==frameQLParser.SQL_NO_CACHE): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - elif token in [frameQLParser.SQL_CALC_FOUND_ROWS]: - self.enterOuterAlt(localctx, 8) - self.state = 3438 - self.match(frameQLParser.SQL_CALC_FOUND_ROWS) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SelectElementsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.star = None # Token - - def selectElement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SelectElementContext) - else: - return self.getTypedRuleContext(frameQLParser.SelectElementContext,i) - - - def STAR(self): - return self.getToken(frameQLParser.STAR, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_selectElements - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectElements" ): - listener.enterSelectElements(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectElements" ): - listener.exitSelectElements(self) - - - - - def selectElements(self): - - localctx = frameQLParser.SelectElementsContext(self, self._ctx, self.state) - self.enterRule(localctx, 236, self.RULE_selectElements) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3443 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.STAR]: - self.state = 3441 - localctx.star = self.match(frameQLParser.STAR) - pass - elif token in [frameQLParser.CASE, frameQLParser.CAST, frameQLParser.CONVERT, frameQLParser.CURRENT_USER, frameQLParser.DATABASE, frameQLParser.EXISTS, frameQLParser.FALSE, frameQLParser.IF, frameQLParser.INSERT, frameQLParser.INTERVAL, frameQLParser.LEFT, frameQLParser.NOT, frameQLParser.NULL_LITERAL, frameQLParser.REPLACE, frameQLParser.RIGHT, frameQLParser.TRUE, frameQLParser.VALUES, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.CHAR, frameQLParser.BINARY, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.AVG, frameQLParser.BIT_AND, frameQLParser.BIT_OR, frameQLParser.BIT_XOR, frameQLParser.COUNT, frameQLParser.GROUP_CONCAT, frameQLParser.MAX, frameQLParser.MIN, frameQLParser.STD, frameQLParser.STDDEV, frameQLParser.STDDEV_POP, frameQLParser.STDDEV_SAMP, frameQLParser.SUM, frameQLParser.VAR_POP, frameQLParser.VAR_SAMP, frameQLParser.VARIANCE, frameQLParser.FCOUNT, frameQLParser.CURRENT_DATE, frameQLParser.CURRENT_TIME, frameQLParser.CURRENT_TIMESTAMP, frameQLParser.LOCALTIME, frameQLParser.CURDATE, frameQLParser.CURTIME, frameQLParser.DATE_ADD, frameQLParser.DATE_SUB, frameQLParser.EXTRACT, frameQLParser.LOCALTIMESTAMP, frameQLParser.NOW, frameQLParser.POSITION, frameQLParser.SUBSTR, frameQLParser.SUBSTRING, frameQLParser.SYSDATE, frameQLParser.TRIM, frameQLParser.UTC_DATE, frameQLParser.UTC_TIME, frameQLParser.UTC_TIMESTAMP, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.PLUS, frameQLParser.MINUS, frameQLParser.EXCLAMATION_SYMBOL, frameQLParser.BIT_NOT_OP, frameQLParser.LR_BRACKET, frameQLParser.ZERO_DECIMAL, frameQLParser.ONE_DECIMAL, frameQLParser.TWO_DECIMAL, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.START_NATIONAL_STRING_LITERAL, frameQLParser.STRING_LITERAL, frameQLParser.DECIMAL_LITERAL, frameQLParser.HEXADECIMAL_LITERAL, frameQLParser.REAL_LITERAL, frameQLParser.NULL_SPEC_LITERAL, frameQLParser.BIT_STRING, frameQLParser.STRING_CHARSET_NAME, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID, frameQLParser.LOCAL_ID, frameQLParser.GLOBAL_ID]: - self.state = 3442 - self.selectElement() - pass - else: - raise NoViableAltException(self) - - self.state = 3449 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3445 - self.match(frameQLParser.COMMA) - self.state = 3446 - self.selectElement() - self.state = 3451 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SelectElementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_selectElement - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class SelectExpressionElementContext(SelectElementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SelectElementContext - super().__init__(parser) - self.copyFrom(ctx) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def LOCAL_ID(self): - return self.getToken(frameQLParser.LOCAL_ID, 0) - def VAR_ASSIGN(self): - return self.getToken(frameQLParser.VAR_ASSIGN, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectExpressionElement" ): - listener.enterSelectExpressionElement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectExpressionElement" ): - listener.exitSelectExpressionElement(self) - - - class SelectFunctionElementContext(SelectElementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SelectElementContext - super().__init__(parser) - self.copyFrom(ctx) - - def functionCall(self): - return self.getTypedRuleContext(frameQLParser.FunctionCallContext,0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectFunctionElement" ): - listener.enterSelectFunctionElement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectFunctionElement" ): - listener.exitSelectFunctionElement(self) - - - class SelectStarElementContext(SelectElementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SelectElementContext - super().__init__(parser) - self.copyFrom(ctx) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - def DOT(self): - return self.getToken(frameQLParser.DOT, 0) - def STAR(self): - return self.getToken(frameQLParser.STAR, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectStarElement" ): - listener.enterSelectStarElement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectStarElement" ): - listener.exitSelectStarElement(self) - - - class SelectColumnElementContext(SelectElementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SelectElementContext - super().__init__(parser) - self.copyFrom(ctx) - - def fullColumnName(self): - return self.getTypedRuleContext(frameQLParser.FullColumnNameContext,0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectColumnElement" ): - listener.enterSelectColumnElement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectColumnElement" ): - listener.exitSelectColumnElement(self) - - - - def selectElement(self): - - localctx = frameQLParser.SelectElementContext(self, self._ctx, self.state) - self.enterRule(localctx, 238, self.RULE_selectElement) - self._la = 0 # Token type - try: - self.state = 3481 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,498,self._ctx) - if la_ == 1: - localctx = frameQLParser.SelectStarElementContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 3452 - self.fullId() - self.state = 3453 - self.match(frameQLParser.DOT) - self.state = 3454 - self.match(frameQLParser.STAR) - pass - - elif la_ == 2: - localctx = frameQLParser.SelectColumnElementContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 3456 - self.fullColumnName() - self.state = 3461 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,492,self._ctx) - if la_ == 1: - self.state = 3458 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS: - self.state = 3457 - self.match(frameQLParser.AS) - - - self.state = 3460 - self.uid() - - - pass - - elif la_ == 3: - localctx = frameQLParser.SelectFunctionElementContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 3463 - self.functionCall() - self.state = 3468 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,494,self._ctx) - if la_ == 1: - self.state = 3465 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS: - self.state = 3464 - self.match(frameQLParser.AS) - - - self.state = 3467 - self.uid() - - - pass - - elif la_ == 4: - localctx = frameQLParser.SelectExpressionElementContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 3472 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,495,self._ctx) - if la_ == 1: - self.state = 3470 - self.match(frameQLParser.LOCAL_ID) - self.state = 3471 - self.match(frameQLParser.VAR_ASSIGN) - - - self.state = 3474 - self.expression(0) - self.state = 3479 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,497,self._ctx) - if la_ == 1: - self.state = 3476 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS: - self.state = 3475 - self.match(frameQLParser.AS) - - - self.state = 3478 - self.uid() - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ErrorTolerenceExpressionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ERRORBOUND(self): - return self.getToken(frameQLParser.ERRORBOUND, 0) - - def REAL_LITERAL(self): - return self.getToken(frameQLParser.REAL_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_errorTolerenceExpression - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterErrorTolerenceExpression" ): - listener.enterErrorTolerenceExpression(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitErrorTolerenceExpression" ): - listener.exitErrorTolerenceExpression(self) - - - - - def errorTolerenceExpression(self): - - localctx = frameQLParser.ErrorTolerenceExpressionContext(self, self._ctx, self.state) - self.enterRule(localctx, 240, self.RULE_errorTolerenceExpression) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3483 - self.match(frameQLParser.ERRORBOUND) - self.state = 3484 - self.match(frameQLParser.REAL_LITERAL) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ConfLevelExpressionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CONFLEVEL(self): - return self.getToken(frameQLParser.CONFLEVEL, 0) - - def REAL_LITERAL(self): - return self.getToken(frameQLParser.REAL_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_confLevelExpression - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterConfLevelExpression" ): - listener.enterConfLevelExpression(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitConfLevelExpression" ): - listener.exitConfLevelExpression(self) - - - - - def confLevelExpression(self): - - localctx = frameQLParser.ConfLevelExpressionContext(self, self._ctx, self.state) - self.enterRule(localctx, 242, self.RULE_confLevelExpression) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3486 - self.match(frameQLParser.CONFLEVEL) - self.state = 3487 - self.match(frameQLParser.REAL_LITERAL) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SelectIntoExpressionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_selectIntoExpression - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class SelectIntoVariablesContext(SelectIntoExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SelectIntoExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def INTO(self): - return self.getToken(frameQLParser.INTO, 0) - def assignmentField(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.AssignmentFieldContext) - else: - return self.getTypedRuleContext(frameQLParser.AssignmentFieldContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectIntoVariables" ): - listener.enterSelectIntoVariables(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectIntoVariables" ): - listener.exitSelectIntoVariables(self) - - - class SelectIntoTextFileContext(SelectIntoExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SelectIntoExpressionContext - super().__init__(parser) - self.filename = None # Token - self.charset = None # CharsetNameContext - self.fieldsFormat = None # Token - self.copyFrom(ctx) - - def INTO(self): - return self.getToken(frameQLParser.INTO, 0) - def OUTFILE(self): - return self.getToken(frameQLParser.OUTFILE, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - def SET(self): - return self.getToken(frameQLParser.SET, 0) - def LINES(self): - return self.getToken(frameQLParser.LINES, 0) - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - def FIELDS(self): - return self.getToken(frameQLParser.FIELDS, 0) - def COLUMNS(self): - return self.getToken(frameQLParser.COLUMNS, 0) - def selectFieldsInto(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SelectFieldsIntoContext) - else: - return self.getTypedRuleContext(frameQLParser.SelectFieldsIntoContext,i) - - def selectLinesInto(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SelectLinesIntoContext) - else: - return self.getTypedRuleContext(frameQLParser.SelectLinesIntoContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectIntoTextFile" ): - listener.enterSelectIntoTextFile(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectIntoTextFile" ): - listener.exitSelectIntoTextFile(self) - - - class SelectIntoDumpFileContext(SelectIntoExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SelectIntoExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def INTO(self): - return self.getToken(frameQLParser.INTO, 0) - def DUMPFILE(self): - return self.getToken(frameQLParser.DUMPFILE, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectIntoDumpFile" ): - listener.enterSelectIntoDumpFile(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectIntoDumpFile" ): - listener.exitSelectIntoDumpFile(self) - - - - def selectIntoExpression(self): - - localctx = frameQLParser.SelectIntoExpressionContext(self, self._ctx, self.state) - self.enterRule(localctx, 244, self.RULE_selectIntoExpression) - self._la = 0 # Token type - try: - self.state = 3525 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,505,self._ctx) - if la_ == 1: - localctx = frameQLParser.SelectIntoVariablesContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 3489 - self.match(frameQLParser.INTO) - self.state = 3490 - self.assignmentField() - self.state = 3495 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3491 - self.match(frameQLParser.COMMA) - self.state = 3492 - self.assignmentField() - self.state = 3497 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 2: - localctx = frameQLParser.SelectIntoDumpFileContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 3498 - self.match(frameQLParser.INTO) - self.state = 3499 - self.match(frameQLParser.DUMPFILE) - self.state = 3500 - self.match(frameQLParser.STRING_LITERAL) - pass - - elif la_ == 3: - localctx = frameQLParser.SelectIntoTextFileContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 3501 - self.match(frameQLParser.INTO) - self.state = 3502 - self.match(frameQLParser.OUTFILE) - self.state = 3503 - localctx.filename = self.match(frameQLParser.STRING_LITERAL) - self.state = 3507 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CHARACTER: - self.state = 3504 - self.match(frameQLParser.CHARACTER) - self.state = 3505 - self.match(frameQLParser.SET) - self.state = 3506 - localctx.charset = self.charsetName() - - - self.state = 3515 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,502,self._ctx) - if la_ == 1: - self.state = 3509 - localctx.fieldsFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.COLUMNS or _la==frameQLParser.FIELDS): - localctx.fieldsFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 3511 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 3510 - self.selectFieldsInto() - self.state = 3513 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==frameQLParser.ENCLOSED or _la==frameQLParser.ESCAPED or _la==frameQLParser.OPTIONALLY or _la==frameQLParser.TERMINATED): - break - - - - self.state = 3523 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LINES: - self.state = 3517 - self.match(frameQLParser.LINES) - self.state = 3519 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 3518 - self.selectLinesInto() - self.state = 3521 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==frameQLParser.STARTING or _la==frameQLParser.TERMINATED): - break - - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SelectFieldsIntoContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.terminationField = None # Token - self.enclosion = None # Token - self.escaping = None # Token - - def TERMINATED(self): - return self.getToken(frameQLParser.TERMINATED, 0) - - def BY(self): - return self.getToken(frameQLParser.BY, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def ENCLOSED(self): - return self.getToken(frameQLParser.ENCLOSED, 0) - - def OPTIONALLY(self): - return self.getToken(frameQLParser.OPTIONALLY, 0) - - def ESCAPED(self): - return self.getToken(frameQLParser.ESCAPED, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_selectFieldsInto - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectFieldsInto" ): - listener.enterSelectFieldsInto(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectFieldsInto" ): - listener.exitSelectFieldsInto(self) - - - - - def selectFieldsInto(self): - - localctx = frameQLParser.SelectFieldsIntoContext(self, self._ctx, self.state) - self.enterRule(localctx, 246, self.RULE_selectFieldsInto) - self._la = 0 # Token type - try: - self.state = 3539 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.TERMINATED]: - self.enterOuterAlt(localctx, 1) - self.state = 3527 - self.match(frameQLParser.TERMINATED) - self.state = 3528 - self.match(frameQLParser.BY) - self.state = 3529 - localctx.terminationField = self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.ENCLOSED, frameQLParser.OPTIONALLY]: - self.enterOuterAlt(localctx, 2) - self.state = 3531 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.OPTIONALLY: - self.state = 3530 - self.match(frameQLParser.OPTIONALLY) - - - self.state = 3533 - self.match(frameQLParser.ENCLOSED) - self.state = 3534 - self.match(frameQLParser.BY) - self.state = 3535 - localctx.enclosion = self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.ESCAPED]: - self.enterOuterAlt(localctx, 3) - self.state = 3536 - self.match(frameQLParser.ESCAPED) - self.state = 3537 - self.match(frameQLParser.BY) - self.state = 3538 - localctx.escaping = self.match(frameQLParser.STRING_LITERAL) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SelectLinesIntoContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.starting = None # Token - self.terminationLine = None # Token - - def STARTING(self): - return self.getToken(frameQLParser.STARTING, 0) - - def BY(self): - return self.getToken(frameQLParser.BY, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def TERMINATED(self): - return self.getToken(frameQLParser.TERMINATED, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_selectLinesInto - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectLinesInto" ): - listener.enterSelectLinesInto(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectLinesInto" ): - listener.exitSelectLinesInto(self) - - - - - def selectLinesInto(self): - - localctx = frameQLParser.SelectLinesIntoContext(self, self._ctx, self.state) - self.enterRule(localctx, 248, self.RULE_selectLinesInto) - try: - self.state = 3547 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.STARTING]: - self.enterOuterAlt(localctx, 1) - self.state = 3541 - self.match(frameQLParser.STARTING) - self.state = 3542 - self.match(frameQLParser.BY) - self.state = 3543 - localctx.starting = self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.TERMINATED]: - self.enterOuterAlt(localctx, 2) - self.state = 3544 - self.match(frameQLParser.TERMINATED) - self.state = 3545 - self.match(frameQLParser.BY) - self.state = 3546 - localctx.terminationLine = self.match(frameQLParser.STRING_LITERAL) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class FromClauseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.whereExpr = None # ExpressionContext - self.havingExpr = None # ExpressionContext - - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - - def tableSources(self): - return self.getTypedRuleContext(frameQLParser.TableSourcesContext,0) - - - def WHERE(self): - return self.getToken(frameQLParser.WHERE, 0) - - def GROUP(self): - return self.getToken(frameQLParser.GROUP, 0) - - def BY(self): - return self.getToken(frameQLParser.BY, 0) - - def groupByItem(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.GroupByItemContext) - else: - return self.getTypedRuleContext(frameQLParser.GroupByItemContext,i) - - - def HAVING(self): - return self.getToken(frameQLParser.HAVING, 0) - - def expression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - - def ROLLUP(self): - return self.getToken(frameQLParser.ROLLUP, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_fromClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFromClause" ): - listener.enterFromClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFromClause" ): - listener.exitFromClause(self) - - - - - def fromClause(self): - - localctx = frameQLParser.FromClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 250, self.RULE_fromClause) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3549 - self.match(frameQLParser.FROM) - self.state = 3550 - self.tableSources() - self.state = 3553 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WHERE: - self.state = 3551 - self.match(frameQLParser.WHERE) - self.state = 3552 - localctx.whereExpr = self.expression(0) - - - self.state = 3569 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.GROUP: - self.state = 3555 - self.match(frameQLParser.GROUP) - self.state = 3556 - self.match(frameQLParser.BY) - self.state = 3557 - self.groupByItem() - self.state = 3562 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3558 - self.match(frameQLParser.COMMA) - self.state = 3559 - self.groupByItem() - self.state = 3564 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 3567 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,511,self._ctx) - if la_ == 1: - self.state = 3565 - self.match(frameQLParser.WITH) - self.state = 3566 - self.match(frameQLParser.ROLLUP) - - - - - self.state = 3573 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.HAVING: - self.state = 3571 - self.match(frameQLParser.HAVING) - self.state = 3572 - localctx.havingExpr = self.expression(0) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class GroupByItemContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.order = None # Token - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def ASC(self): - return self.getToken(frameQLParser.ASC, 0) - - def DESC(self): - return self.getToken(frameQLParser.DESC, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_groupByItem - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterGroupByItem" ): - listener.enterGroupByItem(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitGroupByItem" ): - listener.exitGroupByItem(self) - - - - - def groupByItem(self): - - localctx = frameQLParser.GroupByItemContext(self, self._ctx, self.state) - self.enterRule(localctx, 252, self.RULE_groupByItem) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3575 - self.expression(0) - self.state = 3577 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ASC or _la==frameQLParser.DESC: - self.state = 3576 - localctx.order = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ASC or _la==frameQLParser.DESC): - localctx.order = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class LimitClauseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.offset = None # DecimalLiteralContext - self.limit = None # DecimalLiteralContext - - def LIMIT(self): - return self.getToken(frameQLParser.LIMIT, 0) - - def OFFSET(self): - return self.getToken(frameQLParser.OFFSET, 0) - - def decimalLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DecimalLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,i) - - - def COMMA(self): - return self.getToken(frameQLParser.COMMA, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_limitClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLimitClause" ): - listener.enterLimitClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLimitClause" ): - listener.exitLimitClause(self) - - - - - def limitClause(self): - - localctx = frameQLParser.LimitClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 254, self.RULE_limitClause) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3579 - self.match(frameQLParser.LIMIT) - self.state = 3590 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,516,self._ctx) - if la_ == 1: - self.state = 3583 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,515,self._ctx) - if la_ == 1: - self.state = 3580 - localctx.offset = self.decimalLiteral() - self.state = 3581 - self.match(frameQLParser.COMMA) - - - self.state = 3585 - localctx.limit = self.decimalLiteral() - pass - - elif la_ == 2: - self.state = 3586 - localctx.limit = self.decimalLiteral() - self.state = 3587 - self.match(frameQLParser.OFFSET) - self.state = 3588 - localctx.offset = self.decimalLiteral() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class StartTransactionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def START(self): - return self.getToken(frameQLParser.START, 0) - - def TRANSACTION(self): - return self.getToken(frameQLParser.TRANSACTION, 0) - - def transactionMode(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TransactionModeContext) - else: - return self.getTypedRuleContext(frameQLParser.TransactionModeContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_startTransaction - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStartTransaction" ): - listener.enterStartTransaction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStartTransaction" ): - listener.exitStartTransaction(self) - - - - - def startTransaction(self): - - localctx = frameQLParser.StartTransactionContext(self, self._ctx, self.state) - self.enterRule(localctx, 256, self.RULE_startTransaction) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3592 - self.match(frameQLParser.START) - self.state = 3593 - self.match(frameQLParser.TRANSACTION) - self.state = 3602 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.READ or _la==frameQLParser.WITH: - self.state = 3594 - self.transactionMode() - self.state = 3599 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3595 - self.match(frameQLParser.COMMA) - self.state = 3596 - self.transactionMode() - self.state = 3601 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class BeginWorkContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def BEGIN(self): - return self.getToken(frameQLParser.BEGIN, 0) - - def WORK(self): - return self.getToken(frameQLParser.WORK, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_beginWork - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBeginWork" ): - listener.enterBeginWork(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBeginWork" ): - listener.exitBeginWork(self) - - - - - def beginWork(self): - - localctx = frameQLParser.BeginWorkContext(self, self._ctx, self.state) - self.enterRule(localctx, 258, self.RULE_beginWork) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3604 - self.match(frameQLParser.BEGIN) - self.state = 3606 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WORK: - self.state = 3605 - self.match(frameQLParser.WORK) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CommitWorkContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.nochain = None # Token - self.norelease = None # Token - - def COMMIT(self): - return self.getToken(frameQLParser.COMMIT, 0) - - def WORK(self): - return self.getToken(frameQLParser.WORK, 0) - - def AND(self): - return self.getToken(frameQLParser.AND, 0) - - def CHAIN(self): - return self.getToken(frameQLParser.CHAIN, 0) - - def RELEASE(self): - return self.getToken(frameQLParser.RELEASE, 0) - - def NO(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.NO) - else: - return self.getToken(frameQLParser.NO, i) - - def getRuleIndex(self): - return frameQLParser.RULE_commitWork - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCommitWork" ): - listener.enterCommitWork(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCommitWork" ): - listener.exitCommitWork(self) - - - - - def commitWork(self): - - localctx = frameQLParser.CommitWorkContext(self, self._ctx, self.state) - self.enterRule(localctx, 260, self.RULE_commitWork) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3608 - self.match(frameQLParser.COMMIT) - self.state = 3610 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WORK: - self.state = 3609 - self.match(frameQLParser.WORK) - - - self.state = 3617 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AND: - self.state = 3612 - self.match(frameQLParser.AND) - self.state = 3614 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NO: - self.state = 3613 - localctx.nochain = self.match(frameQLParser.NO) - - - self.state = 3616 - self.match(frameQLParser.CHAIN) - - - self.state = 3623 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.RELEASE or _la==frameQLParser.NO: - self.state = 3620 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NO: - self.state = 3619 - localctx.norelease = self.match(frameQLParser.NO) - - - self.state = 3622 - self.match(frameQLParser.RELEASE) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class RollbackWorkContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.nochain = None # Token - self.norelease = None # Token - - def ROLLBACK(self): - return self.getToken(frameQLParser.ROLLBACK, 0) - - def WORK(self): - return self.getToken(frameQLParser.WORK, 0) - - def AND(self): - return self.getToken(frameQLParser.AND, 0) - - def CHAIN(self): - return self.getToken(frameQLParser.CHAIN, 0) - - def RELEASE(self): - return self.getToken(frameQLParser.RELEASE, 0) - - def NO(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.NO) - else: - return self.getToken(frameQLParser.NO, i) - - def getRuleIndex(self): - return frameQLParser.RULE_rollbackWork - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRollbackWork" ): - listener.enterRollbackWork(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRollbackWork" ): - listener.exitRollbackWork(self) - - - - - def rollbackWork(self): - - localctx = frameQLParser.RollbackWorkContext(self, self._ctx, self.state) - self.enterRule(localctx, 262, self.RULE_rollbackWork) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3625 - self.match(frameQLParser.ROLLBACK) - self.state = 3627 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WORK: - self.state = 3626 - self.match(frameQLParser.WORK) - - - self.state = 3634 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AND: - self.state = 3629 - self.match(frameQLParser.AND) - self.state = 3631 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NO: - self.state = 3630 - localctx.nochain = self.match(frameQLParser.NO) - - - self.state = 3633 - self.match(frameQLParser.CHAIN) - - - self.state = 3640 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.RELEASE or _la==frameQLParser.NO: - self.state = 3637 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NO: - self.state = 3636 - localctx.norelease = self.match(frameQLParser.NO) - - - self.state = 3639 - self.match(frameQLParser.RELEASE) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SavepointStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def SAVEPOINT(self): - return self.getToken(frameQLParser.SAVEPOINT, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_savepointStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSavepointStatement" ): - listener.enterSavepointStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSavepointStatement" ): - listener.exitSavepointStatement(self) - - - - - def savepointStatement(self): - - localctx = frameQLParser.SavepointStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 264, self.RULE_savepointStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3642 - self.match(frameQLParser.SAVEPOINT) - self.state = 3643 - self.uid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class RollbackStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ROLLBACK(self): - return self.getToken(frameQLParser.ROLLBACK, 0) - - def TO(self): - return self.getToken(frameQLParser.TO, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def WORK(self): - return self.getToken(frameQLParser.WORK, 0) - - def SAVEPOINT(self): - return self.getToken(frameQLParser.SAVEPOINT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_rollbackStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRollbackStatement" ): - listener.enterRollbackStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRollbackStatement" ): - listener.exitRollbackStatement(self) - - - - - def rollbackStatement(self): - - localctx = frameQLParser.RollbackStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 266, self.RULE_rollbackStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3645 - self.match(frameQLParser.ROLLBACK) - self.state = 3647 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WORK: - self.state = 3646 - self.match(frameQLParser.WORK) - - - self.state = 3649 - self.match(frameQLParser.TO) - self.state = 3651 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,531,self._ctx) - if la_ == 1: - self.state = 3650 - self.match(frameQLParser.SAVEPOINT) - - - self.state = 3653 - self.uid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ReleaseStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def RELEASE(self): - return self.getToken(frameQLParser.RELEASE, 0) - - def SAVEPOINT(self): - return self.getToken(frameQLParser.SAVEPOINT, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_releaseStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterReleaseStatement" ): - listener.enterReleaseStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitReleaseStatement" ): - listener.exitReleaseStatement(self) - - - - - def releaseStatement(self): - - localctx = frameQLParser.ReleaseStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 268, self.RULE_releaseStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3655 - self.match(frameQLParser.RELEASE) - self.state = 3656 - self.match(frameQLParser.SAVEPOINT) - self.state = 3657 - self.uid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class LockTablesContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LOCK(self): - return self.getToken(frameQLParser.LOCK, 0) - - def TABLES(self): - return self.getToken(frameQLParser.TABLES, 0) - - def lockTableElement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.LockTableElementContext) - else: - return self.getTypedRuleContext(frameQLParser.LockTableElementContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_lockTables - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLockTables" ): - listener.enterLockTables(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLockTables" ): - listener.exitLockTables(self) - - - - - def lockTables(self): - - localctx = frameQLParser.LockTablesContext(self, self._ctx, self.state) - self.enterRule(localctx, 270, self.RULE_lockTables) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3659 - self.match(frameQLParser.LOCK) - self.state = 3660 - self.match(frameQLParser.TABLES) - self.state = 3661 - self.lockTableElement() - self.state = 3666 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3662 - self.match(frameQLParser.COMMA) - self.state = 3663 - self.lockTableElement() - self.state = 3668 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class UnlockTablesContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def UNLOCK(self): - return self.getToken(frameQLParser.UNLOCK, 0) - - def TABLES(self): - return self.getToken(frameQLParser.TABLES, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_unlockTables - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUnlockTables" ): - listener.enterUnlockTables(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUnlockTables" ): - listener.exitUnlockTables(self) - - - - - def unlockTables(self): - - localctx = frameQLParser.UnlockTablesContext(self, self._ctx, self.state) - self.enterRule(localctx, 272, self.RULE_unlockTables) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3669 - self.match(frameQLParser.UNLOCK) - self.state = 3670 - self.match(frameQLParser.TABLES) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SetAutocommitStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.autocommitValue = None # Token - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - - def AUTOCOMMIT(self): - return self.getToken(frameQLParser.AUTOCOMMIT, 0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def ZERO_DECIMAL(self): - return self.getToken(frameQLParser.ZERO_DECIMAL, 0) - - def ONE_DECIMAL(self): - return self.getToken(frameQLParser.ONE_DECIMAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_setAutocommitStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetAutocommitStatement" ): - listener.enterSetAutocommitStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetAutocommitStatement" ): - listener.exitSetAutocommitStatement(self) - - - - - def setAutocommitStatement(self): - - localctx = frameQLParser.SetAutocommitStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 274, self.RULE_setAutocommitStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3672 - self.match(frameQLParser.SET) - self.state = 3673 - self.match(frameQLParser.AUTOCOMMIT) - self.state = 3674 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3675 - localctx.autocommitValue = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ZERO_DECIMAL or _la==frameQLParser.ONE_DECIMAL): - localctx.autocommitValue = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SetTransactionStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.transactionContext = None # Token - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - - def TRANSACTION(self): - return self.getToken(frameQLParser.TRANSACTION, 0) - - def transactionOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TransactionOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.TransactionOptionContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def GLOBAL(self): - return self.getToken(frameQLParser.GLOBAL, 0) - - def SESSION(self): - return self.getToken(frameQLParser.SESSION, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_setTransactionStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetTransactionStatement" ): - listener.enterSetTransactionStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetTransactionStatement" ): - listener.exitSetTransactionStatement(self) - - - - - def setTransactionStatement(self): - - localctx = frameQLParser.SetTransactionStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 276, self.RULE_setTransactionStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3677 - self.match(frameQLParser.SET) - self.state = 3679 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.GLOBAL or _la==frameQLParser.SESSION: - self.state = 3678 - localctx.transactionContext = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.GLOBAL or _la==frameQLParser.SESSION): - localctx.transactionContext = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 3681 - self.match(frameQLParser.TRANSACTION) - self.state = 3682 - self.transactionOption() - self.state = 3687 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3683 - self.match(frameQLParser.COMMA) - self.state = 3684 - self.transactionOption() - self.state = 3689 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TransactionModeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - - def CONSISTENT(self): - return self.getToken(frameQLParser.CONSISTENT, 0) - - def SNAPSHOT(self): - return self.getToken(frameQLParser.SNAPSHOT, 0) - - def READ(self): - return self.getToken(frameQLParser.READ, 0) - - def WRITE(self): - return self.getToken(frameQLParser.WRITE, 0) - - def ONLY(self): - return self.getToken(frameQLParser.ONLY, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_transactionMode - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTransactionMode" ): - listener.enterTransactionMode(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTransactionMode" ): - listener.exitTransactionMode(self) - - - - - def transactionMode(self): - - localctx = frameQLParser.TransactionModeContext(self, self._ctx, self.state) - self.enterRule(localctx, 278, self.RULE_transactionMode) - try: - self.state = 3697 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,535,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 3690 - self.match(frameQLParser.WITH) - self.state = 3691 - self.match(frameQLParser.CONSISTENT) - self.state = 3692 - self.match(frameQLParser.SNAPSHOT) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 3693 - self.match(frameQLParser.READ) - self.state = 3694 - self.match(frameQLParser.WRITE) - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 3695 - self.match(frameQLParser.READ) - self.state = 3696 - self.match(frameQLParser.ONLY) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class LockTableElementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def lockAction(self): - return self.getTypedRuleContext(frameQLParser.LockActionContext,0) - - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_lockTableElement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLockTableElement" ): - listener.enterLockTableElement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLockTableElement" ): - listener.exitLockTableElement(self) - - - - - def lockTableElement(self): - - localctx = frameQLParser.LockTableElementContext(self, self._ctx, self.state) - self.enterRule(localctx, 280, self.RULE_lockTableElement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3699 - self.tableName() - self.state = 3704 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS or _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 3701 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS: - self.state = 3700 - self.match(frameQLParser.AS) - - - self.state = 3703 - self.uid() - - - self.state = 3706 - self.lockAction() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class LockActionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def READ(self): - return self.getToken(frameQLParser.READ, 0) - - def LOCAL(self): - return self.getToken(frameQLParser.LOCAL, 0) - - def WRITE(self): - return self.getToken(frameQLParser.WRITE, 0) - - def LOW_PRIORITY(self): - return self.getToken(frameQLParser.LOW_PRIORITY, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_lockAction - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLockAction" ): - listener.enterLockAction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLockAction" ): - listener.exitLockAction(self) - - - - - def lockAction(self): - - localctx = frameQLParser.LockActionContext(self, self._ctx, self.state) - self.enterRule(localctx, 282, self.RULE_lockAction) - self._la = 0 # Token type - try: - self.state = 3716 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.READ]: - self.enterOuterAlt(localctx, 1) - self.state = 3708 - self.match(frameQLParser.READ) - self.state = 3710 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LOCAL: - self.state = 3709 - self.match(frameQLParser.LOCAL) - - - pass - elif token in [frameQLParser.LOW_PRIORITY, frameQLParser.WRITE]: - self.enterOuterAlt(localctx, 2) - self.state = 3713 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LOW_PRIORITY: - self.state = 3712 - self.match(frameQLParser.LOW_PRIORITY) - - - self.state = 3715 - self.match(frameQLParser.WRITE) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TransactionOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ISOLATION(self): - return self.getToken(frameQLParser.ISOLATION, 0) - - def LEVEL(self): - return self.getToken(frameQLParser.LEVEL, 0) - - def transactionLevel(self): - return self.getTypedRuleContext(frameQLParser.TransactionLevelContext,0) - - - def READ(self): - return self.getToken(frameQLParser.READ, 0) - - def WRITE(self): - return self.getToken(frameQLParser.WRITE, 0) - - def ONLY(self): - return self.getToken(frameQLParser.ONLY, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_transactionOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTransactionOption" ): - listener.enterTransactionOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTransactionOption" ): - listener.exitTransactionOption(self) - - - - - def transactionOption(self): - - localctx = frameQLParser.TransactionOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 284, self.RULE_transactionOption) - try: - self.state = 3725 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,541,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 3718 - self.match(frameQLParser.ISOLATION) - self.state = 3719 - self.match(frameQLParser.LEVEL) - self.state = 3720 - self.transactionLevel() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 3721 - self.match(frameQLParser.READ) - self.state = 3722 - self.match(frameQLParser.WRITE) - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 3723 - self.match(frameQLParser.READ) - self.state = 3724 - self.match(frameQLParser.ONLY) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TransactionLevelContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def REPEATABLE(self): - return self.getToken(frameQLParser.REPEATABLE, 0) - - def READ(self): - return self.getToken(frameQLParser.READ, 0) - - def COMMITTED(self): - return self.getToken(frameQLParser.COMMITTED, 0) - - def UNCOMMITTED(self): - return self.getToken(frameQLParser.UNCOMMITTED, 0) - - def SERIALIZABLE(self): - return self.getToken(frameQLParser.SERIALIZABLE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_transactionLevel - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTransactionLevel" ): - listener.enterTransactionLevel(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTransactionLevel" ): - listener.exitTransactionLevel(self) - - - - - def transactionLevel(self): - - localctx = frameQLParser.TransactionLevelContext(self, self._ctx, self.state) - self.enterRule(localctx, 286, self.RULE_transactionLevel) - try: - self.state = 3734 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,542,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 3727 - self.match(frameQLParser.REPEATABLE) - self.state = 3728 - self.match(frameQLParser.READ) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 3729 - self.match(frameQLParser.READ) - self.state = 3730 - self.match(frameQLParser.COMMITTED) - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 3731 - self.match(frameQLParser.READ) - self.state = 3732 - self.match(frameQLParser.UNCOMMITTED) - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 3733 - self.match(frameQLParser.SERIALIZABLE) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ChangeMasterContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CHANGE(self): - return self.getToken(frameQLParser.CHANGE, 0) - - def MASTER(self): - return self.getToken(frameQLParser.MASTER, 0) - - def TO(self): - return self.getToken(frameQLParser.TO, 0) - - def masterOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.MasterOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.MasterOptionContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def channelOption(self): - return self.getTypedRuleContext(frameQLParser.ChannelOptionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_changeMaster - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterChangeMaster" ): - listener.enterChangeMaster(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitChangeMaster" ): - listener.exitChangeMaster(self) - - - - - def changeMaster(self): - - localctx = frameQLParser.ChangeMasterContext(self, self._ctx, self.state) - self.enterRule(localctx, 288, self.RULE_changeMaster) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3736 - self.match(frameQLParser.CHANGE) - self.state = 3737 - self.match(frameQLParser.MASTER) - self.state = 3738 - self.match(frameQLParser.TO) - self.state = 3739 - self.masterOption() - self.state = 3744 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3740 - self.match(frameQLParser.COMMA) - self.state = 3741 - self.masterOption() - self.state = 3746 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 3748 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR: - self.state = 3747 - self.channelOption() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ChangeReplicationFilterContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CHANGE(self): - return self.getToken(frameQLParser.CHANGE, 0) - - def REPLICATION(self): - return self.getToken(frameQLParser.REPLICATION, 0) - - def FILTER(self): - return self.getToken(frameQLParser.FILTER, 0) - - def replicationFilter(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ReplicationFilterContext) - else: - return self.getTypedRuleContext(frameQLParser.ReplicationFilterContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_changeReplicationFilter - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterChangeReplicationFilter" ): - listener.enterChangeReplicationFilter(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitChangeReplicationFilter" ): - listener.exitChangeReplicationFilter(self) - - - - - def changeReplicationFilter(self): - - localctx = frameQLParser.ChangeReplicationFilterContext(self, self._ctx, self.state) - self.enterRule(localctx, 290, self.RULE_changeReplicationFilter) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3750 - self.match(frameQLParser.CHANGE) - self.state = 3751 - self.match(frameQLParser.REPLICATION) - self.state = 3752 - self.match(frameQLParser.FILTER) - self.state = 3753 - self.replicationFilter() - self.state = 3758 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3754 - self.match(frameQLParser.COMMA) - self.state = 3755 - self.replicationFilter() - self.state = 3760 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class PurgeBinaryLogsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.purgeFormat = None # Token - self.fileName = None # Token - self.timeValue = None # Token - - def PURGE(self): - return self.getToken(frameQLParser.PURGE, 0) - - def LOGS(self): - return self.getToken(frameQLParser.LOGS, 0) - - def BINARY(self): - return self.getToken(frameQLParser.BINARY, 0) - - def MASTER(self): - return self.getToken(frameQLParser.MASTER, 0) - - def TO(self): - return self.getToken(frameQLParser.TO, 0) - - def BEFORE(self): - return self.getToken(frameQLParser.BEFORE, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_purgeBinaryLogs - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPurgeBinaryLogs" ): - listener.enterPurgeBinaryLogs(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPurgeBinaryLogs" ): - listener.exitPurgeBinaryLogs(self) - - - - - def purgeBinaryLogs(self): - - localctx = frameQLParser.PurgeBinaryLogsContext(self, self._ctx, self.state) - self.enterRule(localctx, 292, self.RULE_purgeBinaryLogs) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3761 - self.match(frameQLParser.PURGE) - self.state = 3762 - localctx.purgeFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.BINARY or _la==frameQLParser.MASTER): - localctx.purgeFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 3763 - self.match(frameQLParser.LOGS) - self.state = 3768 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.TO]: - self.state = 3764 - self.match(frameQLParser.TO) - self.state = 3765 - localctx.fileName = self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.BEFORE]: - self.state = 3766 - self.match(frameQLParser.BEFORE) - self.state = 3767 - localctx.timeValue = self.match(frameQLParser.STRING_LITERAL) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ResetMasterContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def RESET(self): - return self.getToken(frameQLParser.RESET, 0) - - def MASTER(self): - return self.getToken(frameQLParser.MASTER, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_resetMaster - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterResetMaster" ): - listener.enterResetMaster(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitResetMaster" ): - listener.exitResetMaster(self) - - - - - def resetMaster(self): - - localctx = frameQLParser.ResetMasterContext(self, self._ctx, self.state) - self.enterRule(localctx, 294, self.RULE_resetMaster) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3770 - self.match(frameQLParser.RESET) - self.state = 3771 - self.match(frameQLParser.MASTER) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ResetSlaveContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def RESET(self): - return self.getToken(frameQLParser.RESET, 0) - - def SLAVE(self): - return self.getToken(frameQLParser.SLAVE, 0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def channelOption(self): - return self.getTypedRuleContext(frameQLParser.ChannelOptionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_resetSlave - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterResetSlave" ): - listener.enterResetSlave(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitResetSlave" ): - listener.exitResetSlave(self) - - - - - def resetSlave(self): - - localctx = frameQLParser.ResetSlaveContext(self, self._ctx, self.state) - self.enterRule(localctx, 296, self.RULE_resetSlave) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3773 - self.match(frameQLParser.RESET) - self.state = 3774 - self.match(frameQLParser.SLAVE) - self.state = 3776 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALL: - self.state = 3775 - self.match(frameQLParser.ALL) - - - self.state = 3779 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR: - self.state = 3778 - self.channelOption() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class StartSlaveContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def START(self): - return self.getToken(frameQLParser.START, 0) - - def SLAVE(self): - return self.getToken(frameQLParser.SLAVE, 0) - - def threadType(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ThreadTypeContext) - else: - return self.getTypedRuleContext(frameQLParser.ThreadTypeContext,i) - - - def UNTIL(self): - return self.getToken(frameQLParser.UNTIL, 0) - - def untilOption(self): - return self.getTypedRuleContext(frameQLParser.UntilOptionContext,0) - - - def connectionOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ConnectionOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.ConnectionOptionContext,i) - - - def channelOption(self): - return self.getTypedRuleContext(frameQLParser.ChannelOptionContext,0) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_startSlave - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStartSlave" ): - listener.enterStartSlave(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStartSlave" ): - listener.exitStartSlave(self) - - - - - def startSlave(self): - - localctx = frameQLParser.StartSlaveContext(self, self._ctx, self.state) - self.enterRule(localctx, 298, self.RULE_startSlave) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3781 - self.match(frameQLParser.START) - self.state = 3782 - self.match(frameQLParser.SLAVE) - self.state = 3791 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IO_THREAD or _la==frameQLParser.SQL_THREAD: - self.state = 3783 - self.threadType() - self.state = 3788 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3784 - self.match(frameQLParser.COMMA) - self.state = 3785 - self.threadType() - self.state = 3790 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - self.state = 3795 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.UNTIL: - self.state = 3793 - self.match(frameQLParser.UNTIL) - self.state = 3794 - self.untilOption() - - - self.state = 3800 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.DEFAULT_AUTH or _la==frameQLParser.PASSWORD or _la==frameQLParser.PLUGIN_DIR or _la==frameQLParser.USER: - self.state = 3797 - self.connectionOption() - self.state = 3802 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 3804 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR: - self.state = 3803 - self.channelOption() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class StopSlaveContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def STOP(self): - return self.getToken(frameQLParser.STOP, 0) - - def SLAVE(self): - return self.getToken(frameQLParser.SLAVE, 0) - - def threadType(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ThreadTypeContext) - else: - return self.getTypedRuleContext(frameQLParser.ThreadTypeContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_stopSlave - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStopSlave" ): - listener.enterStopSlave(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStopSlave" ): - listener.exitStopSlave(self) - - - - - def stopSlave(self): - - localctx = frameQLParser.StopSlaveContext(self, self._ctx, self.state) - self.enterRule(localctx, 300, self.RULE_stopSlave) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3806 - self.match(frameQLParser.STOP) - self.state = 3807 - self.match(frameQLParser.SLAVE) - self.state = 3816 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IO_THREAD or _la==frameQLParser.SQL_THREAD: - self.state = 3808 - self.threadType() - self.state = 3813 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3809 - self.match(frameQLParser.COMMA) - self.state = 3810 - self.threadType() - self.state = 3815 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class StartGroupReplicationContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def START(self): - return self.getToken(frameQLParser.START, 0) - - def GROUP_REPLICATION(self): - return self.getToken(frameQLParser.GROUP_REPLICATION, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_startGroupReplication - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStartGroupReplication" ): - listener.enterStartGroupReplication(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStartGroupReplication" ): - listener.exitStartGroupReplication(self) - - - - - def startGroupReplication(self): - - localctx = frameQLParser.StartGroupReplicationContext(self, self._ctx, self.state) - self.enterRule(localctx, 302, self.RULE_startGroupReplication) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3818 - self.match(frameQLParser.START) - self.state = 3819 - self.match(frameQLParser.GROUP_REPLICATION) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class StopGroupReplicationContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def STOP(self): - return self.getToken(frameQLParser.STOP, 0) - - def GROUP_REPLICATION(self): - return self.getToken(frameQLParser.GROUP_REPLICATION, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_stopGroupReplication - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStopGroupReplication" ): - listener.enterStopGroupReplication(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStopGroupReplication" ): - listener.exitStopGroupReplication(self) - - - - - def stopGroupReplication(self): - - localctx = frameQLParser.StopGroupReplicationContext(self, self._ctx, self.state) - self.enterRule(localctx, 304, self.RULE_stopGroupReplication) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3821 - self.match(frameQLParser.STOP) - self.state = 3822 - self.match(frameQLParser.GROUP_REPLICATION) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class MasterOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_masterOption - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class MasterStringOptionContext(MasterOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.MasterOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def stringMasterOption(self): - return self.getTypedRuleContext(frameQLParser.StringMasterOptionContext,0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMasterStringOption" ): - listener.enterMasterStringOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMasterStringOption" ): - listener.exitMasterStringOption(self) - - - class MasterRealOptionContext(MasterOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.MasterOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def MASTER_HEARTBEAT_PERIOD(self): - return self.getToken(frameQLParser.MASTER_HEARTBEAT_PERIOD, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - def REAL_LITERAL(self): - return self.getToken(frameQLParser.REAL_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMasterRealOption" ): - listener.enterMasterRealOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMasterRealOption" ): - listener.exitMasterRealOption(self) - - - class MasterBoolOptionContext(MasterOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.MasterOptionContext - super().__init__(parser) - self.boolVal = None # Token - self.copyFrom(ctx) - - def boolMasterOption(self): - return self.getTypedRuleContext(frameQLParser.BoolMasterOptionContext,0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - def ZERO_DECIMAL(self): - return self.getToken(frameQLParser.ZERO_DECIMAL, 0) - def ONE_DECIMAL(self): - return self.getToken(frameQLParser.ONE_DECIMAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMasterBoolOption" ): - listener.enterMasterBoolOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMasterBoolOption" ): - listener.exitMasterBoolOption(self) - - - class MasterUidListOptionContext(MasterOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.MasterOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def IGNORE_SERVER_IDS(self): - return self.getToken(frameQLParser.IGNORE_SERVER_IDS, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMasterUidListOption" ): - listener.enterMasterUidListOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMasterUidListOption" ): - listener.exitMasterUidListOption(self) - - - class MasterDecimalOptionContext(MasterOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.MasterOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def decimalMasterOption(self): - return self.getTypedRuleContext(frameQLParser.DecimalMasterOptionContext,0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMasterDecimalOption" ): - listener.enterMasterDecimalOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMasterDecimalOption" ): - listener.exitMasterDecimalOption(self) - - - - def masterOption(self): - - localctx = frameQLParser.MasterOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 306, self.RULE_masterOption) - self._la = 0 # Token type - try: - self.state = 3853 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.MASTER_BIND, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.RELAY_LOG_FILE]: - localctx = frameQLParser.MasterStringOptionContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 3824 - self.stringMasterOption() - self.state = 3825 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3826 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.RELAY_LOG_POS]: - localctx = frameQLParser.MasterDecimalOptionContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 3828 - self.decimalMasterOption() - self.state = 3829 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3830 - self.decimalLiteral() - pass - elif token in [frameQLParser.MASTER_SSL_VERIFY_SERVER_CERT, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_SSL]: - localctx = frameQLParser.MasterBoolOptionContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 3832 - self.boolMasterOption() - self.state = 3833 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3834 - localctx.boolVal = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ZERO_DECIMAL or _la==frameQLParser.ONE_DECIMAL): - localctx.boolVal = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - elif token in [frameQLParser.MASTER_HEARTBEAT_PERIOD]: - localctx = frameQLParser.MasterRealOptionContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 3836 - self.match(frameQLParser.MASTER_HEARTBEAT_PERIOD) - self.state = 3837 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3838 - self.match(frameQLParser.REAL_LITERAL) - pass - elif token in [frameQLParser.IGNORE_SERVER_IDS]: - localctx = frameQLParser.MasterUidListOptionContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 3839 - self.match(frameQLParser.IGNORE_SERVER_IDS) - self.state = 3840 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3841 - self.match(frameQLParser.LR_BRACKET) - self.state = 3850 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 3842 - self.uid() - self.state = 3847 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3843 - self.match(frameQLParser.COMMA) - self.state = 3844 - self.uid() - self.state = 3849 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - self.state = 3852 - self.match(frameQLParser.RR_BRACKET) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class StringMasterOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def MASTER_BIND(self): - return self.getToken(frameQLParser.MASTER_BIND, 0) - - def MASTER_HOST(self): - return self.getToken(frameQLParser.MASTER_HOST, 0) - - def MASTER_USER(self): - return self.getToken(frameQLParser.MASTER_USER, 0) - - def MASTER_PASSWORD(self): - return self.getToken(frameQLParser.MASTER_PASSWORD, 0) - - def MASTER_LOG_FILE(self): - return self.getToken(frameQLParser.MASTER_LOG_FILE, 0) - - def RELAY_LOG_FILE(self): - return self.getToken(frameQLParser.RELAY_LOG_FILE, 0) - - def MASTER_SSL_CA(self): - return self.getToken(frameQLParser.MASTER_SSL_CA, 0) - - def MASTER_SSL_CAPATH(self): - return self.getToken(frameQLParser.MASTER_SSL_CAPATH, 0) - - def MASTER_SSL_CERT(self): - return self.getToken(frameQLParser.MASTER_SSL_CERT, 0) - - def MASTER_SSL_CRL(self): - return self.getToken(frameQLParser.MASTER_SSL_CRL, 0) - - def MASTER_SSL_CRLPATH(self): - return self.getToken(frameQLParser.MASTER_SSL_CRLPATH, 0) - - def MASTER_SSL_KEY(self): - return self.getToken(frameQLParser.MASTER_SSL_KEY, 0) - - def MASTER_SSL_CIPHER(self): - return self.getToken(frameQLParser.MASTER_SSL_CIPHER, 0) - - def MASTER_TLS_VERSION(self): - return self.getToken(frameQLParser.MASTER_TLS_VERSION, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_stringMasterOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStringMasterOption" ): - listener.enterStringMasterOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStringMasterOption" ): - listener.exitStringMasterOption(self) - - - - - def stringMasterOption(self): - - localctx = frameQLParser.StringMasterOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 308, self.RULE_stringMasterOption) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3855 - _la = self._input.LA(1) - if not(_la==frameQLParser.MASTER_BIND or ((((_la - 382)) & ~0x3f) == 0 and ((1 << (_la - 382)) & ((1 << (frameQLParser.MASTER_HOST - 382)) | (1 << (frameQLParser.MASTER_LOG_FILE - 382)) | (1 << (frameQLParser.MASTER_PASSWORD - 382)) | (1 << (frameQLParser.MASTER_SSL_CA - 382)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 382)) | (1 << (frameQLParser.MASTER_SSL_CERT - 382)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 382)) | (1 << (frameQLParser.MASTER_SSL_CRL - 382)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 382)) | (1 << (frameQLParser.MASTER_SSL_KEY - 382)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 382)) | (1 << (frameQLParser.MASTER_USER - 382)))) != 0) or _la==frameQLParser.RELAY_LOG_FILE): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DecimalMasterOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def MASTER_PORT(self): - return self.getToken(frameQLParser.MASTER_PORT, 0) - - def MASTER_CONNECT_RETRY(self): - return self.getToken(frameQLParser.MASTER_CONNECT_RETRY, 0) - - def MASTER_RETRY_COUNT(self): - return self.getToken(frameQLParser.MASTER_RETRY_COUNT, 0) - - def MASTER_DELAY(self): - return self.getToken(frameQLParser.MASTER_DELAY, 0) - - def MASTER_LOG_POS(self): - return self.getToken(frameQLParser.MASTER_LOG_POS, 0) - - def RELAY_LOG_POS(self): - return self.getToken(frameQLParser.RELAY_LOG_POS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_decimalMasterOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDecimalMasterOption" ): - listener.enterDecimalMasterOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDecimalMasterOption" ): - listener.exitDecimalMasterOption(self) - - - - - def decimalMasterOption(self): - - localctx = frameQLParser.DecimalMasterOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 310, self.RULE_decimalMasterOption) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3857 - _la = self._input.LA(1) - if not(((((_la - 379)) & ~0x3f) == 0 and ((1 << (_la - 379)) & ((1 << (frameQLParser.MASTER_CONNECT_RETRY - 379)) | (1 << (frameQLParser.MASTER_DELAY - 379)) | (1 << (frameQLParser.MASTER_LOG_POS - 379)) | (1 << (frameQLParser.MASTER_PORT - 379)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 379)))) != 0) or _la==frameQLParser.RELAY_LOG_POS): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class BoolMasterOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def MASTER_AUTO_POSITION(self): - return self.getToken(frameQLParser.MASTER_AUTO_POSITION, 0) - - def MASTER_SSL(self): - return self.getToken(frameQLParser.MASTER_SSL, 0) - - def MASTER_SSL_VERIFY_SERVER_CERT(self): - return self.getToken(frameQLParser.MASTER_SSL_VERIFY_SERVER_CERT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_boolMasterOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBoolMasterOption" ): - listener.enterBoolMasterOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBoolMasterOption" ): - listener.exitBoolMasterOption(self) - - - - - def boolMasterOption(self): - - localctx = frameQLParser.BoolMasterOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 312, self.RULE_boolMasterOption) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3859 - _la = self._input.LA(1) - if not(_la==frameQLParser.MASTER_SSL_VERIFY_SERVER_CERT or _la==frameQLParser.MASTER_AUTO_POSITION or _la==frameQLParser.MASTER_SSL): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ChannelOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def CHANNEL(self): - return self.getToken(frameQLParser.CHANNEL, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_channelOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterChannelOption" ): - listener.enterChannelOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitChannelOption" ): - listener.exitChannelOption(self) - - - - - def channelOption(self): - - localctx = frameQLParser.ChannelOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 314, self.RULE_channelOption) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3861 - self.match(frameQLParser.FOR) - self.state = 3862 - self.match(frameQLParser.CHANNEL) - self.state = 3863 - self.match(frameQLParser.STRING_LITERAL) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ReplicationFilterContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_replicationFilter - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class WildIgnoreTableReplicationContext(ReplicationFilterContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ReplicationFilterContext - super().__init__(parser) - self.copyFrom(ctx) - - def REPLICATE_WILD_IGNORE_TABLE(self): - return self.getToken(frameQLParser.REPLICATE_WILD_IGNORE_TABLE, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def simpleStrings(self): - return self.getTypedRuleContext(frameQLParser.SimpleStringsContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterWildIgnoreTableReplication" ): - listener.enterWildIgnoreTableReplication(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitWildIgnoreTableReplication" ): - listener.exitWildIgnoreTableReplication(self) - - - class DoTableReplicationContext(ReplicationFilterContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ReplicationFilterContext - super().__init__(parser) - self.copyFrom(ctx) - - def REPLICATE_DO_TABLE(self): - return self.getToken(frameQLParser.REPLICATE_DO_TABLE, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def tables(self): - return self.getTypedRuleContext(frameQLParser.TablesContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDoTableReplication" ): - listener.enterDoTableReplication(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDoTableReplication" ): - listener.exitDoTableReplication(self) - - - class IgnoreTableReplicationContext(ReplicationFilterContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ReplicationFilterContext - super().__init__(parser) - self.copyFrom(ctx) - - def REPLICATE_IGNORE_TABLE(self): - return self.getToken(frameQLParser.REPLICATE_IGNORE_TABLE, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def tables(self): - return self.getTypedRuleContext(frameQLParser.TablesContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIgnoreTableReplication" ): - listener.enterIgnoreTableReplication(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIgnoreTableReplication" ): - listener.exitIgnoreTableReplication(self) - - - class RewriteDbReplicationContext(ReplicationFilterContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ReplicationFilterContext - super().__init__(parser) - self.copyFrom(ctx) - - def REPLICATE_REWRITE_DB(self): - return self.getToken(frameQLParser.REPLICATE_REWRITE_DB, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def tablePair(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TablePairContext) - else: - return self.getTypedRuleContext(frameQLParser.TablePairContext,i) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRewriteDbReplication" ): - listener.enterRewriteDbReplication(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRewriteDbReplication" ): - listener.exitRewriteDbReplication(self) - - - class DoDbReplicationContext(ReplicationFilterContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ReplicationFilterContext - super().__init__(parser) - self.copyFrom(ctx) - - def REPLICATE_DO_DB(self): - return self.getToken(frameQLParser.REPLICATE_DO_DB, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDoDbReplication" ): - listener.enterDoDbReplication(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDoDbReplication" ): - listener.exitDoDbReplication(self) - - - class IgnoreDbReplicationContext(ReplicationFilterContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ReplicationFilterContext - super().__init__(parser) - self.copyFrom(ctx) - - def REPLICATE_IGNORE_DB(self): - return self.getToken(frameQLParser.REPLICATE_IGNORE_DB, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIgnoreDbReplication" ): - listener.enterIgnoreDbReplication(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIgnoreDbReplication" ): - listener.exitIgnoreDbReplication(self) - - - class WildDoTableReplicationContext(ReplicationFilterContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ReplicationFilterContext - super().__init__(parser) - self.copyFrom(ctx) - - def REPLICATE_WILD_DO_TABLE(self): - return self.getToken(frameQLParser.REPLICATE_WILD_DO_TABLE, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def simpleStrings(self): - return self.getTypedRuleContext(frameQLParser.SimpleStringsContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterWildDoTableReplication" ): - listener.enterWildDoTableReplication(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitWildDoTableReplication" ): - listener.exitWildDoTableReplication(self) - - - - def replicationFilter(self): - - localctx = frameQLParser.ReplicationFilterContext(self, self._ctx, self.state) - self.enterRule(localctx, 316, self.RULE_replicationFilter) - self._la = 0 # Token type - try: - self.state = 3914 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.REPLICATE_DO_DB]: - localctx = frameQLParser.DoDbReplicationContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 3865 - self.match(frameQLParser.REPLICATE_DO_DB) - self.state = 3866 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3867 - self.match(frameQLParser.LR_BRACKET) - self.state = 3868 - self.uidList() - self.state = 3869 - self.match(frameQLParser.RR_BRACKET) - pass - elif token in [frameQLParser.REPLICATE_IGNORE_DB]: - localctx = frameQLParser.IgnoreDbReplicationContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 3871 - self.match(frameQLParser.REPLICATE_IGNORE_DB) - self.state = 3872 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3873 - self.match(frameQLParser.LR_BRACKET) - self.state = 3874 - self.uidList() - self.state = 3875 - self.match(frameQLParser.RR_BRACKET) - pass - elif token in [frameQLParser.REPLICATE_DO_TABLE]: - localctx = frameQLParser.DoTableReplicationContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 3877 - self.match(frameQLParser.REPLICATE_DO_TABLE) - self.state = 3878 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3879 - self.match(frameQLParser.LR_BRACKET) - self.state = 3880 - self.tables() - self.state = 3881 - self.match(frameQLParser.RR_BRACKET) - pass - elif token in [frameQLParser.REPLICATE_IGNORE_TABLE]: - localctx = frameQLParser.IgnoreTableReplicationContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 3883 - self.match(frameQLParser.REPLICATE_IGNORE_TABLE) - self.state = 3884 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3885 - self.match(frameQLParser.LR_BRACKET) - self.state = 3886 - self.tables() - self.state = 3887 - self.match(frameQLParser.RR_BRACKET) - pass - elif token in [frameQLParser.REPLICATE_WILD_DO_TABLE]: - localctx = frameQLParser.WildDoTableReplicationContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 3889 - self.match(frameQLParser.REPLICATE_WILD_DO_TABLE) - self.state = 3890 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3891 - self.match(frameQLParser.LR_BRACKET) - self.state = 3892 - self.simpleStrings() - self.state = 3893 - self.match(frameQLParser.RR_BRACKET) - pass - elif token in [frameQLParser.REPLICATE_WILD_IGNORE_TABLE]: - localctx = frameQLParser.WildIgnoreTableReplicationContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 3895 - self.match(frameQLParser.REPLICATE_WILD_IGNORE_TABLE) - self.state = 3896 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3897 - self.match(frameQLParser.LR_BRACKET) - self.state = 3898 - self.simpleStrings() - self.state = 3899 - self.match(frameQLParser.RR_BRACKET) - pass - elif token in [frameQLParser.REPLICATE_REWRITE_DB]: - localctx = frameQLParser.RewriteDbReplicationContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 3901 - self.match(frameQLParser.REPLICATE_REWRITE_DB) - self.state = 3902 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3903 - self.match(frameQLParser.LR_BRACKET) - self.state = 3904 - self.tablePair() - self.state = 3909 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3905 - self.match(frameQLParser.COMMA) - self.state = 3906 - self.tablePair() - self.state = 3911 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 3912 - self.match(frameQLParser.RR_BRACKET) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TablePairContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.firstTable = None # TableNameContext - self.secondTable = None # TableNameContext - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def COMMA(self): - return self.getToken(frameQLParser.COMMA, 0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def tableName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TableNameContext) - else: - return self.getTypedRuleContext(frameQLParser.TableNameContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_tablePair - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTablePair" ): - listener.enterTablePair(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTablePair" ): - listener.exitTablePair(self) - - - - - def tablePair(self): - - localctx = frameQLParser.TablePairContext(self, self._ctx, self.state) - self.enterRule(localctx, 318, self.RULE_tablePair) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3916 - self.match(frameQLParser.LR_BRACKET) - self.state = 3917 - localctx.firstTable = self.tableName() - self.state = 3918 - self.match(frameQLParser.COMMA) - self.state = 3919 - localctx.secondTable = self.tableName() - self.state = 3920 - self.match(frameQLParser.RR_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ThreadTypeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def IO_THREAD(self): - return self.getToken(frameQLParser.IO_THREAD, 0) - - def SQL_THREAD(self): - return self.getToken(frameQLParser.SQL_THREAD, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_threadType - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterThreadType" ): - listener.enterThreadType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitThreadType" ): - listener.exitThreadType(self) - - - - - def threadType(self): - - localctx = frameQLParser.ThreadTypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 320, self.RULE_threadType) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3922 - _la = self._input.LA(1) - if not(_la==frameQLParser.IO_THREAD or _la==frameQLParser.SQL_THREAD): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class UntilOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_untilOption - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class GtidsUntilOptionContext(UntilOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.UntilOptionContext - super().__init__(parser) - self.gtids = None # Token - self.copyFrom(ctx) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - def gtuidSet(self): - return self.getTypedRuleContext(frameQLParser.GtuidSetContext,0) - - def SQL_BEFORE_GTIDS(self): - return self.getToken(frameQLParser.SQL_BEFORE_GTIDS, 0) - def SQL_AFTER_GTIDS(self): - return self.getToken(frameQLParser.SQL_AFTER_GTIDS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterGtidsUntilOption" ): - listener.enterGtidsUntilOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitGtidsUntilOption" ): - listener.exitGtidsUntilOption(self) - - - class SqlGapsUntilOptionContext(UntilOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.UntilOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def SQL_AFTER_MTS_GAPS(self): - return self.getToken(frameQLParser.SQL_AFTER_MTS_GAPS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSqlGapsUntilOption" ): - listener.enterSqlGapsUntilOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSqlGapsUntilOption" ): - listener.exitSqlGapsUntilOption(self) - - - class MasterLogUntilOptionContext(UntilOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.UntilOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def MASTER_LOG_FILE(self): - return self.getToken(frameQLParser.MASTER_LOG_FILE, 0) - def EQUAL_SYMBOL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.EQUAL_SYMBOL) - else: - return self.getToken(frameQLParser.EQUAL_SYMBOL, i) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - def COMMA(self): - return self.getToken(frameQLParser.COMMA, 0) - def MASTER_LOG_POS(self): - return self.getToken(frameQLParser.MASTER_LOG_POS, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMasterLogUntilOption" ): - listener.enterMasterLogUntilOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMasterLogUntilOption" ): - listener.exitMasterLogUntilOption(self) - - - class RelayLogUntilOptionContext(UntilOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.UntilOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def RELAY_LOG_FILE(self): - return self.getToken(frameQLParser.RELAY_LOG_FILE, 0) - def EQUAL_SYMBOL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.EQUAL_SYMBOL) - else: - return self.getToken(frameQLParser.EQUAL_SYMBOL, i) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - def COMMA(self): - return self.getToken(frameQLParser.COMMA, 0) - def RELAY_LOG_POS(self): - return self.getToken(frameQLParser.RELAY_LOG_POS, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRelayLogUntilOption" ): - listener.enterRelayLogUntilOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRelayLogUntilOption" ): - listener.exitRelayLogUntilOption(self) - - - - def untilOption(self): - - localctx = frameQLParser.UntilOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 322, self.RULE_untilOption) - self._la = 0 # Token type - try: - self.state = 3942 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_BEFORE_GTIDS]: - localctx = frameQLParser.GtidsUntilOptionContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 3924 - localctx.gtids = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.SQL_AFTER_GTIDS or _la==frameQLParser.SQL_BEFORE_GTIDS): - localctx.gtids = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 3925 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3926 - self.gtuidSet() - pass - elif token in [frameQLParser.MASTER_LOG_FILE]: - localctx = frameQLParser.MasterLogUntilOptionContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 3927 - self.match(frameQLParser.MASTER_LOG_FILE) - self.state = 3928 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3929 - self.match(frameQLParser.STRING_LITERAL) - self.state = 3930 - self.match(frameQLParser.COMMA) - self.state = 3931 - self.match(frameQLParser.MASTER_LOG_POS) - self.state = 3932 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3933 - self.decimalLiteral() - pass - elif token in [frameQLParser.RELAY_LOG_FILE]: - localctx = frameQLParser.RelayLogUntilOptionContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 3934 - self.match(frameQLParser.RELAY_LOG_FILE) - self.state = 3935 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3936 - self.match(frameQLParser.STRING_LITERAL) - self.state = 3937 - self.match(frameQLParser.COMMA) - self.state = 3938 - self.match(frameQLParser.RELAY_LOG_POS) - self.state = 3939 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3940 - self.decimalLiteral() - pass - elif token in [frameQLParser.SQL_AFTER_MTS_GAPS]: - localctx = frameQLParser.SqlGapsUntilOptionContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 3941 - self.match(frameQLParser.SQL_AFTER_MTS_GAPS) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ConnectionOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_connectionOption - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class PluginDirConnectionOptionContext(ConnectionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ConnectionOptionContext - super().__init__(parser) - self.conOptPluginDir = None # Token - self.copyFrom(ctx) - - def PLUGIN_DIR(self): - return self.getToken(frameQLParser.PLUGIN_DIR, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPluginDirConnectionOption" ): - listener.enterPluginDirConnectionOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPluginDirConnectionOption" ): - listener.exitPluginDirConnectionOption(self) - - - class UserConnectionOptionContext(ConnectionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ConnectionOptionContext - super().__init__(parser) - self.conOptUser = None # Token - self.copyFrom(ctx) - - def USER(self): - return self.getToken(frameQLParser.USER, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUserConnectionOption" ): - listener.enterUserConnectionOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUserConnectionOption" ): - listener.exitUserConnectionOption(self) - - - class DefaultAuthConnectionOptionContext(ConnectionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ConnectionOptionContext - super().__init__(parser) - self.conOptDefAuth = None # Token - self.copyFrom(ctx) - - def DEFAULT_AUTH(self): - return self.getToken(frameQLParser.DEFAULT_AUTH, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDefaultAuthConnectionOption" ): - listener.enterDefaultAuthConnectionOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDefaultAuthConnectionOption" ): - listener.exitDefaultAuthConnectionOption(self) - - - class PasswordConnectionOptionContext(ConnectionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ConnectionOptionContext - super().__init__(parser) - self.conOptPassword = None # Token - self.copyFrom(ctx) - - def PASSWORD(self): - return self.getToken(frameQLParser.PASSWORD, 0) - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPasswordConnectionOption" ): - listener.enterPasswordConnectionOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPasswordConnectionOption" ): - listener.exitPasswordConnectionOption(self) - - - - def connectionOption(self): - - localctx = frameQLParser.ConnectionOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 324, self.RULE_connectionOption) - try: - self.state = 3956 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.USER]: - localctx = frameQLParser.UserConnectionOptionContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 3944 - self.match(frameQLParser.USER) - self.state = 3945 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3946 - localctx.conOptUser = self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.PASSWORD]: - localctx = frameQLParser.PasswordConnectionOptionContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 3947 - self.match(frameQLParser.PASSWORD) - self.state = 3948 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3949 - localctx.conOptPassword = self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.DEFAULT_AUTH]: - localctx = frameQLParser.DefaultAuthConnectionOptionContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 3950 - self.match(frameQLParser.DEFAULT_AUTH) - self.state = 3951 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3952 - localctx.conOptDefAuth = self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.PLUGIN_DIR]: - localctx = frameQLParser.PluginDirConnectionOptionContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 3953 - self.match(frameQLParser.PLUGIN_DIR) - self.state = 3954 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3955 - localctx.conOptPluginDir = self.match(frameQLParser.STRING_LITERAL) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class GtuidSetContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def uuidSet(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UuidSetContext) - else: - return self.getTypedRuleContext(frameQLParser.UuidSetContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_gtuidSet - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterGtuidSet" ): - listener.enterGtuidSet(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitGtuidSet" ): - listener.exitGtuidSet(self) - - - - - def gtuidSet(self): - - localctx = frameQLParser.GtuidSetContext(self, self._ctx, self.state) - self.enterRule(localctx, 326, self.RULE_gtuidSet) - self._la = 0 # Token type - try: - self.state = 3967 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ZERO_DECIMAL, frameQLParser.ONE_DECIMAL, frameQLParser.TWO_DECIMAL, frameQLParser.DECIMAL_LITERAL]: - self.enterOuterAlt(localctx, 1) - self.state = 3958 - self.uuidSet() - self.state = 3963 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3959 - self.match(frameQLParser.COMMA) - self.state = 3960 - self.uuidSet() - self.state = 3965 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - elif token in [frameQLParser.STRING_LITERAL]: - self.enterOuterAlt(localctx, 2) - self.state = 3966 - self.match(frameQLParser.STRING_LITERAL) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class XaStartTransactionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.xaStart = None # Token - self.xaAction = None # Token - - def XA(self): - return self.getToken(frameQLParser.XA, 0) - - def xid(self): - return self.getTypedRuleContext(frameQLParser.XidContext,0) - - - def START(self): - return self.getToken(frameQLParser.START, 0) - - def BEGIN(self): - return self.getToken(frameQLParser.BEGIN, 0) - - def JOIN(self): - return self.getToken(frameQLParser.JOIN, 0) - - def RESUME(self): - return self.getToken(frameQLParser.RESUME, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_xaStartTransaction - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterXaStartTransaction" ): - listener.enterXaStartTransaction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitXaStartTransaction" ): - listener.exitXaStartTransaction(self) - - - - - def xaStartTransaction(self): - - localctx = frameQLParser.XaStartTransactionContext(self, self._ctx, self.state) - self.enterRule(localctx, 328, self.RULE_xaStartTransaction) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3969 - self.match(frameQLParser.XA) - self.state = 3970 - localctx.xaStart = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.BEGIN or _la==frameQLParser.START): - localctx.xaStart = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 3971 - self.xid() - self.state = 3973 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.JOIN or _la==frameQLParser.RESUME: - self.state = 3972 - localctx.xaAction = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.JOIN or _la==frameQLParser.RESUME): - localctx.xaAction = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class XaEndTransactionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def XA(self): - return self.getToken(frameQLParser.XA, 0) - - def END(self): - return self.getToken(frameQLParser.END, 0) - - def xid(self): - return self.getTypedRuleContext(frameQLParser.XidContext,0) - - - def SUSPEND(self): - return self.getToken(frameQLParser.SUSPEND, 0) - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def MIGRATE(self): - return self.getToken(frameQLParser.MIGRATE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_xaEndTransaction - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterXaEndTransaction" ): - listener.enterXaEndTransaction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitXaEndTransaction" ): - listener.exitXaEndTransaction(self) - - - - - def xaEndTransaction(self): - - localctx = frameQLParser.XaEndTransactionContext(self, self._ctx, self.state) - self.enterRule(localctx, 330, self.RULE_xaEndTransaction) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3975 - self.match(frameQLParser.XA) - self.state = 3976 - self.match(frameQLParser.END) - self.state = 3977 - self.xid() - self.state = 3983 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SUSPEND: - self.state = 3978 - self.match(frameQLParser.SUSPEND) - self.state = 3981 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR: - self.state = 3979 - self.match(frameQLParser.FOR) - self.state = 3980 - self.match(frameQLParser.MIGRATE) - - - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class XaPrepareStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def XA(self): - return self.getToken(frameQLParser.XA, 0) - - def PREPARE(self): - return self.getToken(frameQLParser.PREPARE, 0) - - def xid(self): - return self.getTypedRuleContext(frameQLParser.XidContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_xaPrepareStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterXaPrepareStatement" ): - listener.enterXaPrepareStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitXaPrepareStatement" ): - listener.exitXaPrepareStatement(self) - - - - - def xaPrepareStatement(self): - - localctx = frameQLParser.XaPrepareStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 332, self.RULE_xaPrepareStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3985 - self.match(frameQLParser.XA) - self.state = 3986 - self.match(frameQLParser.PREPARE) - self.state = 3987 - self.xid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class XaCommitWorkContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def XA(self): - return self.getToken(frameQLParser.XA, 0) - - def COMMIT(self): - return self.getToken(frameQLParser.COMMIT, 0) - - def xid(self): - return self.getTypedRuleContext(frameQLParser.XidContext,0) - - - def ONE(self): - return self.getToken(frameQLParser.ONE, 0) - - def PHASE(self): - return self.getToken(frameQLParser.PHASE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_xaCommitWork - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterXaCommitWork" ): - listener.enterXaCommitWork(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitXaCommitWork" ): - listener.exitXaCommitWork(self) - - - - - def xaCommitWork(self): - - localctx = frameQLParser.XaCommitWorkContext(self, self._ctx, self.state) - self.enterRule(localctx, 334, self.RULE_xaCommitWork) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3989 - self.match(frameQLParser.XA) - self.state = 3990 - self.match(frameQLParser.COMMIT) - self.state = 3991 - self.xid() - self.state = 3994 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ONE: - self.state = 3992 - self.match(frameQLParser.ONE) - self.state = 3993 - self.match(frameQLParser.PHASE) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class XaRollbackWorkContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def XA(self): - return self.getToken(frameQLParser.XA, 0) - - def ROLLBACK(self): - return self.getToken(frameQLParser.ROLLBACK, 0) - - def xid(self): - return self.getTypedRuleContext(frameQLParser.XidContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_xaRollbackWork - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterXaRollbackWork" ): - listener.enterXaRollbackWork(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitXaRollbackWork" ): - listener.exitXaRollbackWork(self) - - - - - def xaRollbackWork(self): - - localctx = frameQLParser.XaRollbackWorkContext(self, self._ctx, self.state) - self.enterRule(localctx, 336, self.RULE_xaRollbackWork) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3996 - self.match(frameQLParser.XA) - self.state = 3997 - self.match(frameQLParser.ROLLBACK) - self.state = 3998 - self.xid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class XaRecoverWorkContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def XA(self): - return self.getToken(frameQLParser.XA, 0) - - def RECOVER(self): - return self.getToken(frameQLParser.RECOVER, 0) - - def CONVERT(self): - return self.getToken(frameQLParser.CONVERT, 0) - - def xid(self): - return self.getTypedRuleContext(frameQLParser.XidContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_xaRecoverWork - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterXaRecoverWork" ): - listener.enterXaRecoverWork(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitXaRecoverWork" ): - listener.exitXaRecoverWork(self) - - - - - def xaRecoverWork(self): - - localctx = frameQLParser.XaRecoverWorkContext(self, self._ctx, self.state) - self.enterRule(localctx, 338, self.RULE_xaRecoverWork) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4000 - self.match(frameQLParser.XA) - self.state = 4001 - self.match(frameQLParser.RECOVER) - self.state = 4004 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CONVERT: - self.state = 4002 - self.match(frameQLParser.CONVERT) - self.state = 4003 - self.xid() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class PrepareStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.query = None # Token - self.variable = None # Token - - def PREPARE(self): - return self.getToken(frameQLParser.PREPARE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def LOCAL_ID(self): - return self.getToken(frameQLParser.LOCAL_ID, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_prepareStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPrepareStatement" ): - listener.enterPrepareStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPrepareStatement" ): - listener.exitPrepareStatement(self) - - - - - def prepareStatement(self): - - localctx = frameQLParser.PrepareStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 340, self.RULE_prepareStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 4006 - self.match(frameQLParser.PREPARE) - self.state = 4007 - self.uid() - self.state = 4008 - self.match(frameQLParser.FROM) - self.state = 4011 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.STRING_LITERAL]: - self.state = 4009 - localctx.query = self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.LOCAL_ID]: - self.state = 4010 - localctx.variable = self.match(frameQLParser.LOCAL_ID) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ExecuteStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def EXECUTE(self): - return self.getToken(frameQLParser.EXECUTE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def USING(self): - return self.getToken(frameQLParser.USING, 0) - - def userVariables(self): - return self.getTypedRuleContext(frameQLParser.UserVariablesContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_executeStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExecuteStatement" ): - listener.enterExecuteStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExecuteStatement" ): - listener.exitExecuteStatement(self) - - - - - def executeStatement(self): - - localctx = frameQLParser.ExecuteStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 342, self.RULE_executeStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4013 - self.match(frameQLParser.EXECUTE) - self.state = 4014 - self.uid() - self.state = 4017 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.USING: - self.state = 4015 - self.match(frameQLParser.USING) - self.state = 4016 - self.userVariables() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DeallocatePrepareContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.dropFormat = None # Token - - def PREPARE(self): - return self.getToken(frameQLParser.PREPARE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def DEALLOCATE(self): - return self.getToken(frameQLParser.DEALLOCATE, 0) - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_deallocatePrepare - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDeallocatePrepare" ): - listener.enterDeallocatePrepare(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDeallocatePrepare" ): - listener.exitDeallocatePrepare(self) - - - - - def deallocatePrepare(self): - - localctx = frameQLParser.DeallocatePrepareContext(self, self._ctx, self.state) - self.enterRule(localctx, 344, self.RULE_deallocatePrepare) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4019 - localctx.dropFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DROP or _la==frameQLParser.DEALLOCATE): - localctx.dropFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4020 - self.match(frameQLParser.PREPARE) - self.state = 4021 - self.uid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class RoutineBodyContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def blockStatement(self): - return self.getTypedRuleContext(frameQLParser.BlockStatementContext,0) - - - def sqlStatement(self): - return self.getTypedRuleContext(frameQLParser.SqlStatementContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_routineBody - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRoutineBody" ): - listener.enterRoutineBody(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRoutineBody" ): - listener.exitRoutineBody(self) - - - - - def routineBody(self): - - localctx = frameQLParser.RoutineBodyContext(self, self._ctx, self.state) - self.enterRule(localctx, 346, self.RULE_routineBody) - try: - self.state = 4025 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,572,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 4023 - self.blockStatement() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 4024 - self.sqlStatement() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class BlockStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def BEGIN(self): - return self.getToken(frameQLParser.BEGIN, 0) - - def END(self): - return self.getToken(frameQLParser.END, 0) - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def COLON_SYMB(self): - return self.getToken(frameQLParser.COLON_SYMB, 0) - - def declareVariable(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DeclareVariableContext) - else: - return self.getTypedRuleContext(frameQLParser.DeclareVariableContext,i) - - - def SEMI(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.SEMI) - else: - return self.getToken(frameQLParser.SEMI, i) - - def declareCondition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DeclareConditionContext) - else: - return self.getTypedRuleContext(frameQLParser.DeclareConditionContext,i) - - - def declareCursor(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DeclareCursorContext) - else: - return self.getTypedRuleContext(frameQLParser.DeclareCursorContext,i) - - - def declareHandler(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DeclareHandlerContext) - else: - return self.getTypedRuleContext(frameQLParser.DeclareHandlerContext,i) - - - def procedureSqlStatement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ProcedureSqlStatementContext) - else: - return self.getTypedRuleContext(frameQLParser.ProcedureSqlStatementContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_blockStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBlockStatement" ): - listener.enterBlockStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBlockStatement" ): - listener.exitBlockStatement(self) - - - - - def blockStatement(self): - - localctx = frameQLParser.BlockStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 348, self.RULE_blockStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4030 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,573,self._ctx) - if la_ == 1: - self.state = 4027 - self.uid() - self.state = 4028 - self.match(frameQLParser.COLON_SYMB) - - - self.state = 4032 - self.match(frameQLParser.BEGIN) - self.state = 4070 - self._errHandler.sync(self) - _la = self._input.LA(1) - if ((((_la - 9)) & ~0x3f) == 0 and ((1 << (_la - 9)) & ((1 << (frameQLParser.ALTER - 9)) | (1 << (frameQLParser.ANALYZE - 9)) | (1 << (frameQLParser.CALL - 9)) | (1 << (frameQLParser.CASE - 9)) | (1 << (frameQLParser.CHANGE - 9)) | (1 << (frameQLParser.CHECK - 9)) | (1 << (frameQLParser.CREATE - 9)) | (1 << (frameQLParser.DATABASE - 9)) | (1 << (frameQLParser.DECLARE - 9)) | (1 << (frameQLParser.DELETE - 9)) | (1 << (frameQLParser.DESC - 9)) | (1 << (frameQLParser.DESCRIBE - 9)) | (1 << (frameQLParser.DROP - 9)) | (1 << (frameQLParser.EXPLAIN - 9)) | (1 << (frameQLParser.FETCH - 9)) | (1 << (frameQLParser.GRANT - 9)) | (1 << (frameQLParser.IF - 9)))) != 0) or ((((_la - 75)) & ~0x3f) == 0 and ((1 << (_la - 75)) & ((1 << (frameQLParser.INSERT - 75)) | (1 << (frameQLParser.ITERATE - 75)) | (1 << (frameQLParser.KILL - 75)) | (1 << (frameQLParser.LEAVE - 75)) | (1 << (frameQLParser.LEFT - 75)) | (1 << (frameQLParser.LOAD - 75)) | (1 << (frameQLParser.LOCK - 75)) | (1 << (frameQLParser.LOOP - 75)) | (1 << (frameQLParser.OPTIMIZE - 75)) | (1 << (frameQLParser.PURGE - 75)) | (1 << (frameQLParser.RELEASE - 75)) | (1 << (frameQLParser.RENAME - 75)) | (1 << (frameQLParser.REPEAT - 75)) | (1 << (frameQLParser.REPLACE - 75)) | (1 << (frameQLParser.RETURN - 75)) | (1 << (frameQLParser.REVOKE - 75)) | (1 << (frameQLParser.RIGHT - 75)) | (1 << (frameQLParser.SELECT - 75)) | (1 << (frameQLParser.SET - 75)) | (1 << (frameQLParser.SHOW - 75)))) != 0) or ((((_la - 159)) & ~0x3f) == 0 and ((1 << (_la - 159)) & ((1 << (frameQLParser.UNLOCK - 159)) | (1 << (frameQLParser.UPDATE - 159)) | (1 << (frameQLParser.USE - 159)) | (1 << (frameQLParser.WHILE - 159)) | (1 << (frameQLParser.DATE - 159)) | (1 << (frameQLParser.TIME - 159)) | (1 << (frameQLParser.TIMESTAMP - 159)) | (1 << (frameQLParser.DATETIME - 159)) | (1 << (frameQLParser.YEAR - 159)) | (1 << (frameQLParser.TEXT - 159)) | (1 << (frameQLParser.ENUM - 159)) | (1 << (frameQLParser.SERIAL - 159)) | (1 << (frameQLParser.COUNT - 159)))) != 0) or ((((_la - 242)) & ~0x3f) == 0 and ((1 << (_la - 242)) & ((1 << (frameQLParser.POSITION - 242)) | (1 << (frameQLParser.ACCOUNT - 242)) | (1 << (frameQLParser.ACTION - 242)) | (1 << (frameQLParser.AFTER - 242)) | (1 << (frameQLParser.AGGREGATE - 242)) | (1 << (frameQLParser.ALGORITHM - 242)) | (1 << (frameQLParser.ANY - 242)) | (1 << (frameQLParser.AT - 242)) | (1 << (frameQLParser.AUTHORS - 242)) | (1 << (frameQLParser.AUTOCOMMIT - 242)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 242)) | (1 << (frameQLParser.AUTO_INCREMENT - 242)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 242)) | (1 << (frameQLParser.BEGIN - 242)) | (1 << (frameQLParser.BINLOG - 242)) | (1 << (frameQLParser.BIT - 242)) | (1 << (frameQLParser.BLOCK - 242)) | (1 << (frameQLParser.BOOL - 242)) | (1 << (frameQLParser.BOOLEAN - 242)) | (1 << (frameQLParser.BTREE - 242)) | (1 << (frameQLParser.CACHE - 242)) | (1 << (frameQLParser.CASCADED - 242)) | (1 << (frameQLParser.CHAIN - 242)) | (1 << (frameQLParser.CHANGED - 242)) | (1 << (frameQLParser.CHANNEL - 242)) | (1 << (frameQLParser.CHECKSUM - 242)) | (1 << (frameQLParser.CIPHER - 242)) | (1 << (frameQLParser.CLIENT - 242)) | (1 << (frameQLParser.CLOSE - 242)) | (1 << (frameQLParser.COALESCE - 242)) | (1 << (frameQLParser.CODE - 242)) | (1 << (frameQLParser.COLUMNS - 242)) | (1 << (frameQLParser.COLUMN_FORMAT - 242)) | (1 << (frameQLParser.COMMENT - 242)) | (1 << (frameQLParser.COMMIT - 242)) | (1 << (frameQLParser.COMPACT - 242)) | (1 << (frameQLParser.COMPLETION - 242)) | (1 << (frameQLParser.COMPRESSED - 242)) | (1 << (frameQLParser.COMPRESSION - 242)) | (1 << (frameQLParser.CONCURRENT - 242)) | (1 << (frameQLParser.CONNECTION - 242)) | (1 << (frameQLParser.CONSISTENT - 242)) | (1 << (frameQLParser.CONTAINS - 242)) | (1 << (frameQLParser.CONTEXT - 242)) | (1 << (frameQLParser.CONTRIBUTORS - 242)) | (1 << (frameQLParser.COPY - 242)) | (1 << (frameQLParser.CPU - 242)) | (1 << (frameQLParser.DATA - 242)) | (1 << (frameQLParser.DATAFILE - 242)) | (1 << (frameQLParser.DEALLOCATE - 242)) | (1 << (frameQLParser.DEFAULT_AUTH - 242)) | (1 << (frameQLParser.DEFINER - 242)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 242)) | (1 << (frameQLParser.DIRECTORY - 242)) | (1 << (frameQLParser.DISABLE - 242)) | (1 << (frameQLParser.DISCARD - 242)))) != 0) or ((((_la - 306)) & ~0x3f) == 0 and ((1 << (_la - 306)) & ((1 << (frameQLParser.DISK - 306)) | (1 << (frameQLParser.DO - 306)) | (1 << (frameQLParser.DUMPFILE - 306)) | (1 << (frameQLParser.DUPLICATE - 306)) | (1 << (frameQLParser.DYNAMIC - 306)) | (1 << (frameQLParser.ENABLE - 306)) | (1 << (frameQLParser.ENCRYPTION - 306)) | (1 << (frameQLParser.ENDS - 306)) | (1 << (frameQLParser.ENGINE - 306)) | (1 << (frameQLParser.ENGINES - 306)) | (1 << (frameQLParser.ERROR - 306)) | (1 << (frameQLParser.ERRORS - 306)) | (1 << (frameQLParser.ESCAPE - 306)) | (1 << (frameQLParser.EVEN - 306)) | (1 << (frameQLParser.EVENT - 306)) | (1 << (frameQLParser.EVENTS - 306)) | (1 << (frameQLParser.EVERY - 306)) | (1 << (frameQLParser.EXCHANGE - 306)) | (1 << (frameQLParser.EXCLUSIVE - 306)) | (1 << (frameQLParser.EXPIRE - 306)) | (1 << (frameQLParser.EXTENDED - 306)) | (1 << (frameQLParser.EXTENT_SIZE - 306)) | (1 << (frameQLParser.FAST - 306)) | (1 << (frameQLParser.FAULTS - 306)) | (1 << (frameQLParser.FIELDS - 306)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 306)) | (1 << (frameQLParser.FILTER - 306)) | (1 << (frameQLParser.FIRST - 306)) | (1 << (frameQLParser.FIXED - 306)) | (1 << (frameQLParser.FLUSH - 306)) | (1 << (frameQLParser.FOLLOWS - 306)) | (1 << (frameQLParser.FULL - 306)) | (1 << (frameQLParser.FUNCTION - 306)) | (1 << (frameQLParser.GLOBAL - 306)) | (1 << (frameQLParser.GRANTS - 306)) | (1 << (frameQLParser.GROUP_REPLICATION - 306)) | (1 << (frameQLParser.HANDLER - 306)) | (1 << (frameQLParser.HASH - 306)) | (1 << (frameQLParser.HELP - 306)) | (1 << (frameQLParser.HOST - 306)) | (1 << (frameQLParser.IDENTIFIED - 306)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 306)) | (1 << (frameQLParser.IMPORT - 306)) | (1 << (frameQLParser.INDEXES - 306)) | (1 << (frameQLParser.INITIAL_SIZE - 306)) | (1 << (frameQLParser.INPLACE - 306)) | (1 << (frameQLParser.INSERT_METHOD - 306)) | (1 << (frameQLParser.INSTALL - 306)) | (1 << (frameQLParser.INSTANCE - 306)) | (1 << (frameQLParser.INVOKER - 306)) | (1 << (frameQLParser.IO - 306)) | (1 << (frameQLParser.IO_THREAD - 306)) | (1 << (frameQLParser.IPC - 306)) | (1 << (frameQLParser.ISOLATION - 306)) | (1 << (frameQLParser.ISSUER - 306)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 306)) | (1 << (frameQLParser.LANGUAGE - 306)) | (1 << (frameQLParser.LAST - 306)))) != 0) or ((((_la - 370)) & ~0x3f) == 0 and ((1 << (_la - 370)) & ((1 << (frameQLParser.LEAVES - 370)) | (1 << (frameQLParser.LESS - 370)) | (1 << (frameQLParser.LEVEL - 370)) | (1 << (frameQLParser.LIST - 370)) | (1 << (frameQLParser.LOCAL - 370)) | (1 << (frameQLParser.LOGFILE - 370)) | (1 << (frameQLParser.LOGS - 370)) | (1 << (frameQLParser.MASTER - 370)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 370)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 370)) | (1 << (frameQLParser.MASTER_DELAY - 370)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 370)) | (1 << (frameQLParser.MASTER_HOST - 370)) | (1 << (frameQLParser.MASTER_LOG_FILE - 370)) | (1 << (frameQLParser.MASTER_LOG_POS - 370)) | (1 << (frameQLParser.MASTER_PASSWORD - 370)) | (1 << (frameQLParser.MASTER_PORT - 370)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 370)) | (1 << (frameQLParser.MASTER_SSL - 370)) | (1 << (frameQLParser.MASTER_SSL_CA - 370)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_CERT - 370)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 370)) | (1 << (frameQLParser.MASTER_SSL_CRL - 370)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_KEY - 370)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 370)) | (1 << (frameQLParser.MASTER_USER - 370)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_ROWS - 370)) | (1 << (frameQLParser.MAX_SIZE - 370)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 370)) | (1 << (frameQLParser.MEDIUM - 370)) | (1 << (frameQLParser.MERGE - 370)) | (1 << (frameQLParser.MID - 370)) | (1 << (frameQLParser.MIGRATE - 370)) | (1 << (frameQLParser.MIN_ROWS - 370)) | (1 << (frameQLParser.MODIFY - 370)) | (1 << (frameQLParser.MUTEX - 370)) | (1 << (frameQLParser.MYSQL - 370)) | (1 << (frameQLParser.NAME - 370)) | (1 << (frameQLParser.NAMES - 370)) | (1 << (frameQLParser.NCHAR - 370)) | (1 << (frameQLParser.NEVER - 370)) | (1 << (frameQLParser.NO - 370)) | (1 << (frameQLParser.NODEGROUP - 370)) | (1 << (frameQLParser.NONE - 370)) | (1 << (frameQLParser.OFFLINE - 370)) | (1 << (frameQLParser.OFFSET - 370)) | (1 << (frameQLParser.OJ - 370)) | (1 << (frameQLParser.OLD_PASSWORD - 370)) | (1 << (frameQLParser.ONE - 370)) | (1 << (frameQLParser.ONLINE - 370)) | (1 << (frameQLParser.ONLY - 370)) | (1 << (frameQLParser.OPEN - 370)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 370)) | (1 << (frameQLParser.OPTIONS - 370)) | (1 << (frameQLParser.OWNER - 370)) | (1 << (frameQLParser.PACK_KEYS - 370)) | (1 << (frameQLParser.PAGE - 370)))) != 0) or ((((_la - 434)) & ~0x3f) == 0 and ((1 << (_la - 434)) & ((1 << (frameQLParser.PARSER - 434)) | (1 << (frameQLParser.PARTIAL - 434)) | (1 << (frameQLParser.PARTITIONING - 434)) | (1 << (frameQLParser.PARTITIONS - 434)) | (1 << (frameQLParser.PASSWORD - 434)) | (1 << (frameQLParser.PHASE - 434)) | (1 << (frameQLParser.PLUGIN_DIR - 434)) | (1 << (frameQLParser.PLUGINS - 434)) | (1 << (frameQLParser.PORT - 434)) | (1 << (frameQLParser.PRECEDES - 434)) | (1 << (frameQLParser.PREPARE - 434)) | (1 << (frameQLParser.PRESERVE - 434)) | (1 << (frameQLParser.PREV - 434)) | (1 << (frameQLParser.PROCESSLIST - 434)) | (1 << (frameQLParser.PROFILE - 434)) | (1 << (frameQLParser.PROFILES - 434)) | (1 << (frameQLParser.PROXY - 434)) | (1 << (frameQLParser.QUERY - 434)) | (1 << (frameQLParser.QUICK - 434)) | (1 << (frameQLParser.REBUILD - 434)) | (1 << (frameQLParser.RECOVER - 434)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 434)) | (1 << (frameQLParser.REDUNDANT - 434)) | (1 << (frameQLParser.RELAY_LOG_FILE - 434)) | (1 << (frameQLParser.RELAY_LOG_POS - 434)) | (1 << (frameQLParser.RELAYLOG - 434)) | (1 << (frameQLParser.REMOVE - 434)) | (1 << (frameQLParser.REORGANIZE - 434)) | (1 << (frameQLParser.REPAIR - 434)) | (1 << (frameQLParser.REPLICATE_DO_DB - 434)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 434)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATION - 434)) | (1 << (frameQLParser.RESET - 434)) | (1 << (frameQLParser.RESUME - 434)) | (1 << (frameQLParser.RETURNS - 434)) | (1 << (frameQLParser.ROLLBACK - 434)) | (1 << (frameQLParser.ROLLUP - 434)) | (1 << (frameQLParser.ROTATE - 434)) | (1 << (frameQLParser.ROW - 434)) | (1 << (frameQLParser.ROWS - 434)) | (1 << (frameQLParser.ROW_FORMAT - 434)) | (1 << (frameQLParser.SAVEPOINT - 434)) | (1 << (frameQLParser.SCHEDULE - 434)) | (1 << (frameQLParser.SECURITY - 434)) | (1 << (frameQLParser.SERVER - 434)) | (1 << (frameQLParser.SESSION - 434)) | (1 << (frameQLParser.SHARE - 434)) | (1 << (frameQLParser.SHARED - 434)) | (1 << (frameQLParser.SIGNED - 434)) | (1 << (frameQLParser.SIMPLE - 434)) | (1 << (frameQLParser.SLAVE - 434)) | (1 << (frameQLParser.SNAPSHOT - 434)) | (1 << (frameQLParser.SOCKET - 434)) | (1 << (frameQLParser.SOME - 434)) | (1 << (frameQLParser.SOUNDS - 434)))) != 0) or ((((_la - 498)) & ~0x3f) == 0 and ((1 << (_la - 498)) & ((1 << (frameQLParser.SOURCE - 498)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 498)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 498)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 498)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 498)) | (1 << (frameQLParser.SQL_CACHE - 498)) | (1 << (frameQLParser.SQL_NO_CACHE - 498)) | (1 << (frameQLParser.SQL_THREAD - 498)) | (1 << (frameQLParser.START - 498)) | (1 << (frameQLParser.STARTS - 498)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 498)) | (1 << (frameQLParser.STATS_PERSISTENT - 498)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 498)) | (1 << (frameQLParser.STATUS - 498)) | (1 << (frameQLParser.STOP - 498)) | (1 << (frameQLParser.STORAGE - 498)) | (1 << (frameQLParser.STRING - 498)) | (1 << (frameQLParser.SUBJECT - 498)) | (1 << (frameQLParser.SUBPARTITION - 498)) | (1 << (frameQLParser.SUBPARTITIONS - 498)) | (1 << (frameQLParser.SUSPEND - 498)) | (1 << (frameQLParser.SWAPS - 498)) | (1 << (frameQLParser.SWITCHES - 498)) | (1 << (frameQLParser.TABLESPACE - 498)) | (1 << (frameQLParser.TEMPORARY - 498)) | (1 << (frameQLParser.TEMPTABLE - 498)) | (1 << (frameQLParser.THAN - 498)) | (1 << (frameQLParser.TRANSACTION - 498)) | (1 << (frameQLParser.TRUNCATE - 498)) | (1 << (frameQLParser.UNDEFINED - 498)) | (1 << (frameQLParser.UNDOFILE - 498)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 498)) | (1 << (frameQLParser.UNINSTALL - 498)) | (1 << (frameQLParser.UNKNOWN - 498)) | (1 << (frameQLParser.UPGRADE - 498)) | (1 << (frameQLParser.USER - 498)) | (1 << (frameQLParser.VALIDATION - 498)) | (1 << (frameQLParser.VALUE - 498)) | (1 << (frameQLParser.VARIABLES - 498)) | (1 << (frameQLParser.VIEW - 498)) | (1 << (frameQLParser.WAIT - 498)) | (1 << (frameQLParser.WARNINGS - 498)) | (1 << (frameQLParser.WITHOUT - 498)) | (1 << (frameQLParser.WORK - 498)) | (1 << (frameQLParser.WRAPPER - 498)) | (1 << (frameQLParser.X509 - 498)) | (1 << (frameQLParser.XA - 498)) | (1 << (frameQLParser.XML - 498)) | (1 << (frameQLParser.QUARTER - 498)) | (1 << (frameQLParser.MONTH - 498)) | (1 << (frameQLParser.DAY - 498)) | (1 << (frameQLParser.HOUR - 498)))) != 0) or ((((_la - 562)) & ~0x3f) == 0 and ((1 << (_la - 562)) & ((1 << (frameQLParser.MINUTE - 562)) | (1 << (frameQLParser.WEEK - 562)) | (1 << (frameQLParser.SECOND - 562)) | (1 << (frameQLParser.MICROSECOND - 562)) | (1 << (frameQLParser.TABLES - 562)) | (1 << (frameQLParser.ROUTINE - 562)) | (1 << (frameQLParser.EXECUTE - 562)) | (1 << (frameQLParser.FILE - 562)) | (1 << (frameQLParser.PROCESS - 562)) | (1 << (frameQLParser.RELOAD - 562)) | (1 << (frameQLParser.SHUTDOWN - 562)) | (1 << (frameQLParser.SUPER - 562)) | (1 << (frameQLParser.PRIVILEGES - 562)) | (1 << (frameQLParser.ARMSCII8 - 562)) | (1 << (frameQLParser.ASCII - 562)) | (1 << (frameQLParser.BIG5 - 562)) | (1 << (frameQLParser.CP1250 - 562)) | (1 << (frameQLParser.CP1251 - 562)) | (1 << (frameQLParser.CP1256 - 562)) | (1 << (frameQLParser.CP1257 - 562)) | (1 << (frameQLParser.CP850 - 562)) | (1 << (frameQLParser.CP852 - 562)) | (1 << (frameQLParser.CP866 - 562)) | (1 << (frameQLParser.CP932 - 562)) | (1 << (frameQLParser.DEC8 - 562)) | (1 << (frameQLParser.EUCJPMS - 562)) | (1 << (frameQLParser.EUCKR - 562)) | (1 << (frameQLParser.GB2312 - 562)) | (1 << (frameQLParser.GBK - 562)) | (1 << (frameQLParser.GEOSTD8 - 562)) | (1 << (frameQLParser.GREEK - 562)) | (1 << (frameQLParser.HEBREW - 562)) | (1 << (frameQLParser.HP8 - 562)) | (1 << (frameQLParser.KEYBCS2 - 562)) | (1 << (frameQLParser.KOI8R - 562)) | (1 << (frameQLParser.KOI8U - 562)) | (1 << (frameQLParser.LATIN1 - 562)) | (1 << (frameQLParser.LATIN2 - 562)) | (1 << (frameQLParser.LATIN5 - 562)) | (1 << (frameQLParser.LATIN7 - 562)) | (1 << (frameQLParser.MACCE - 562)) | (1 << (frameQLParser.MACROMAN - 562)) | (1 << (frameQLParser.SJIS - 562)) | (1 << (frameQLParser.SWE7 - 562)) | (1 << (frameQLParser.TIS620 - 562)) | (1 << (frameQLParser.UCS2 - 562)) | (1 << (frameQLParser.UJIS - 562)) | (1 << (frameQLParser.UTF16 - 562)) | (1 << (frameQLParser.UTF16LE - 562)) | (1 << (frameQLParser.UTF32 - 562)) | (1 << (frameQLParser.UTF8 - 562)) | (1 << (frameQLParser.UTF8MB3 - 562)) | (1 << (frameQLParser.UTF8MB4 - 562)) | (1 << (frameQLParser.ARCHIVE - 562)) | (1 << (frameQLParser.BLACKHOLE - 562)) | (1 << (frameQLParser.CSV - 562)) | (1 << (frameQLParser.FEDERATED - 562)) | (1 << (frameQLParser.INNODB - 562)) | (1 << (frameQLParser.MEMORY - 562)) | (1 << (frameQLParser.MRG_MYISAM - 562)) | (1 << (frameQLParser.MYISAM - 562)) | (1 << (frameQLParser.NDB - 562)) | (1 << (frameQLParser.NDBCLUSTER - 562)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 562)))) != 0) or ((((_la - 626)) & ~0x3f) == 0 and ((1 << (_la - 626)) & ((1 << (frameQLParser.REPEATABLE - 626)) | (1 << (frameQLParser.COMMITTED - 626)) | (1 << (frameQLParser.UNCOMMITTED - 626)) | (1 << (frameQLParser.SERIALIZABLE - 626)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 626)) | (1 << (frameQLParser.LINESTRING - 626)) | (1 << (frameQLParser.MULTILINESTRING - 626)) | (1 << (frameQLParser.MULTIPOINT - 626)) | (1 << (frameQLParser.MULTIPOLYGON - 626)) | (1 << (frameQLParser.POINT - 626)) | (1 << (frameQLParser.POLYGON - 626)) | (1 << (frameQLParser.ABS - 626)) | (1 << (frameQLParser.ACOS - 626)) | (1 << (frameQLParser.ADDDATE - 626)) | (1 << (frameQLParser.ADDTIME - 626)) | (1 << (frameQLParser.AES_DECRYPT - 626)) | (1 << (frameQLParser.AES_ENCRYPT - 626)) | (1 << (frameQLParser.AREA - 626)) | (1 << (frameQLParser.ASBINARY - 626)) | (1 << (frameQLParser.ASIN - 626)) | (1 << (frameQLParser.ASTEXT - 626)) | (1 << (frameQLParser.ASWKB - 626)) | (1 << (frameQLParser.ASWKT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 626)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 626)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 626)) | (1 << (frameQLParser.ATAN - 626)) | (1 << (frameQLParser.ATAN2 - 626)) | (1 << (frameQLParser.BENCHMARK - 626)) | (1 << (frameQLParser.BIN - 626)) | (1 << (frameQLParser.BIT_COUNT - 626)) | (1 << (frameQLParser.BIT_LENGTH - 626)) | (1 << (frameQLParser.BUFFER - 626)) | (1 << (frameQLParser.CEIL - 626)) | (1 << (frameQLParser.CEILING - 626)) | (1 << (frameQLParser.CENTROID - 626)) | (1 << (frameQLParser.CHARACTER_LENGTH - 626)) | (1 << (frameQLParser.CHARSET - 626)) | (1 << (frameQLParser.CHAR_LENGTH - 626)) | (1 << (frameQLParser.COERCIBILITY - 626)) | (1 << (frameQLParser.COLLATION - 626)) | (1 << (frameQLParser.COMPRESS - 626)) | (1 << (frameQLParser.CONCAT - 626)) | (1 << (frameQLParser.CONCAT_WS - 626)) | (1 << (frameQLParser.CONNECTION_ID - 626)) | (1 << (frameQLParser.CONV - 626)) | (1 << (frameQLParser.CONVERT_TZ - 626)) | (1 << (frameQLParser.COS - 626)) | (1 << (frameQLParser.COT - 626)) | (1 << (frameQLParser.CRC32 - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 626)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 626)) | (1 << (frameQLParser.CREATE_DIGEST - 626)) | (1 << (frameQLParser.CROSSES - 626)) | (1 << (frameQLParser.DATEDIFF - 626)) | (1 << (frameQLParser.DATE_FORMAT - 626)) | (1 << (frameQLParser.DAYNAME - 626)) | (1 << (frameQLParser.DAYOFMONTH - 626)) | (1 << (frameQLParser.DAYOFWEEK - 626)) | (1 << (frameQLParser.DAYOFYEAR - 626)) | (1 << (frameQLParser.DECODE - 626)))) != 0) or ((((_la - 690)) & ~0x3f) == 0 and ((1 << (_la - 690)) & ((1 << (frameQLParser.DEGREES - 690)) | (1 << (frameQLParser.DES_DECRYPT - 690)) | (1 << (frameQLParser.DES_ENCRYPT - 690)) | (1 << (frameQLParser.DIMENSION - 690)) | (1 << (frameQLParser.DISJOINT - 690)) | (1 << (frameQLParser.ELT - 690)) | (1 << (frameQLParser.ENCODE - 690)) | (1 << (frameQLParser.ENCRYPT - 690)) | (1 << (frameQLParser.ENDPOINT - 690)) | (1 << (frameQLParser.ENVELOPE - 690)) | (1 << (frameQLParser.EQUALS - 690)) | (1 << (frameQLParser.EXP - 690)) | (1 << (frameQLParser.EXPORT_SET - 690)) | (1 << (frameQLParser.EXTERIORRING - 690)) | (1 << (frameQLParser.EXTRACTVALUE - 690)) | (1 << (frameQLParser.FIELD - 690)) | (1 << (frameQLParser.FIND_IN_SET - 690)) | (1 << (frameQLParser.FLOOR - 690)) | (1 << (frameQLParser.FORMAT - 690)) | (1 << (frameQLParser.FOUND_ROWS - 690)) | (1 << (frameQLParser.FROM_BASE64 - 690)) | (1 << (frameQLParser.FROM_DAYS - 690)) | (1 << (frameQLParser.FROM_UNIXTIME - 690)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 690)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYN - 690)) | (1 << (frameQLParser.GEOMETRYTYPE - 690)) | (1 << (frameQLParser.GEOMFROMTEXT - 690)) | (1 << (frameQLParser.GEOMFROMWKB - 690)) | (1 << (frameQLParser.GET_FORMAT - 690)) | (1 << (frameQLParser.GET_LOCK - 690)) | (1 << (frameQLParser.GLENGTH - 690)) | (1 << (frameQLParser.GREATEST - 690)) | (1 << (frameQLParser.GTID_SUBSET - 690)) | (1 << (frameQLParser.GTID_SUBTRACT - 690)) | (1 << (frameQLParser.HEX - 690)) | (1 << (frameQLParser.IFNULL - 690)) | (1 << (frameQLParser.INET6_ATON - 690)) | (1 << (frameQLParser.INET6_NTOA - 690)) | (1 << (frameQLParser.INET_ATON - 690)) | (1 << (frameQLParser.INET_NTOA - 690)) | (1 << (frameQLParser.INSTR - 690)) | (1 << (frameQLParser.INTERIORRINGN - 690)) | (1 << (frameQLParser.INTERSECTS - 690)) | (1 << (frameQLParser.ISCLOSED - 690)) | (1 << (frameQLParser.ISEMPTY - 690)) | (1 << (frameQLParser.ISNULL - 690)) | (1 << (frameQLParser.ISSIMPLE - 690)) | (1 << (frameQLParser.IS_FREE_LOCK - 690)) | (1 << (frameQLParser.IS_IPV4 - 690)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 690)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 690)) | (1 << (frameQLParser.IS_IPV6 - 690)) | (1 << (frameQLParser.IS_USED_LOCK - 690)) | (1 << (frameQLParser.LAST_INSERT_ID - 690)) | (1 << (frameQLParser.LCASE - 690)) | (1 << (frameQLParser.LEAST - 690)) | (1 << (frameQLParser.LENGTH - 690)) | (1 << (frameQLParser.LINEFROMTEXT - 690)) | (1 << (frameQLParser.LINEFROMWKB - 690)))) != 0) or ((((_la - 754)) & ~0x3f) == 0 and ((1 << (_la - 754)) & ((1 << (frameQLParser.LINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.LN - 754)) | (1 << (frameQLParser.LOAD_FILE - 754)) | (1 << (frameQLParser.LOCATE - 754)) | (1 << (frameQLParser.LOG - 754)) | (1 << (frameQLParser.LOG10 - 754)) | (1 << (frameQLParser.LOG2 - 754)) | (1 << (frameQLParser.LOWER - 754)) | (1 << (frameQLParser.LPAD - 754)) | (1 << (frameQLParser.LTRIM - 754)) | (1 << (frameQLParser.MAKEDATE - 754)) | (1 << (frameQLParser.MAKETIME - 754)) | (1 << (frameQLParser.MAKE_SET - 754)) | (1 << (frameQLParser.MASTER_POS_WAIT - 754)) | (1 << (frameQLParser.MBRCONTAINS - 754)) | (1 << (frameQLParser.MBRDISJOINT - 754)) | (1 << (frameQLParser.MBREQUAL - 754)) | (1 << (frameQLParser.MBRINTERSECTS - 754)) | (1 << (frameQLParser.MBROVERLAPS - 754)) | (1 << (frameQLParser.MBRTOUCHES - 754)) | (1 << (frameQLParser.MBRWITHIN - 754)) | (1 << (frameQLParser.MD5 - 754)) | (1 << (frameQLParser.MLINEFROMTEXT - 754)) | (1 << (frameQLParser.MLINEFROMWKB - 754)) | (1 << (frameQLParser.MONTHNAME - 754)) | (1 << (frameQLParser.MPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MPOINTFROMWKB - 754)) | (1 << (frameQLParser.MPOLYFROMTEXT - 754)) | (1 << (frameQLParser.MPOLYFROMWKB - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 754)) | (1 << (frameQLParser.NAME_CONST - 754)) | (1 << (frameQLParser.NULLIF - 754)) | (1 << (frameQLParser.NUMGEOMETRIES - 754)) | (1 << (frameQLParser.NUMINTERIORRINGS - 754)) | (1 << (frameQLParser.NUMPOINTS - 754)) | (1 << (frameQLParser.OCT - 754)) | (1 << (frameQLParser.OCTET_LENGTH - 754)) | (1 << (frameQLParser.ORD - 754)) | (1 << (frameQLParser.OVERLAPS - 754)) | (1 << (frameQLParser.PERIOD_ADD - 754)) | (1 << (frameQLParser.PERIOD_DIFF - 754)) | (1 << (frameQLParser.PI - 754)) | (1 << (frameQLParser.POINTFROMTEXT - 754)) | (1 << (frameQLParser.POINTFROMWKB - 754)) | (1 << (frameQLParser.POINTN - 754)) | (1 << (frameQLParser.POLYFROMTEXT - 754)) | (1 << (frameQLParser.POLYFROMWKB - 754)) | (1 << (frameQLParser.POLYGONFROMTEXT - 754)) | (1 << (frameQLParser.POLYGONFROMWKB - 754)) | (1 << (frameQLParser.POW - 754)) | (1 << (frameQLParser.POWER - 754)) | (1 << (frameQLParser.QUOTE - 754)) | (1 << (frameQLParser.RADIANS - 754)) | (1 << (frameQLParser.RAND - 754)) | (1 << (frameQLParser.RANDOM_BYTES - 754)) | (1 << (frameQLParser.RELEASE_LOCK - 754)) | (1 << (frameQLParser.REVERSE - 754)) | (1 << (frameQLParser.ROUND - 754)))) != 0) or ((((_la - 818)) & ~0x3f) == 0 and ((1 << (_la - 818)) & ((1 << (frameQLParser.ROW_COUNT - 818)) | (1 << (frameQLParser.RPAD - 818)) | (1 << (frameQLParser.RTRIM - 818)) | (1 << (frameQLParser.SEC_TO_TIME - 818)) | (1 << (frameQLParser.SESSION_USER - 818)) | (1 << (frameQLParser.SHA - 818)) | (1 << (frameQLParser.SHA1 - 818)) | (1 << (frameQLParser.SHA2 - 818)) | (1 << (frameQLParser.SIGN - 818)) | (1 << (frameQLParser.SIN - 818)) | (1 << (frameQLParser.SLEEP - 818)) | (1 << (frameQLParser.SOUNDEX - 818)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 818)) | (1 << (frameQLParser.SQRT - 818)) | (1 << (frameQLParser.SRID - 818)) | (1 << (frameQLParser.STARTPOINT - 818)) | (1 << (frameQLParser.STRCMP - 818)) | (1 << (frameQLParser.STR_TO_DATE - 818)) | (1 << (frameQLParser.ST_AREA - 818)) | (1 << (frameQLParser.ST_ASBINARY - 818)) | (1 << (frameQLParser.ST_ASTEXT - 818)) | (1 << (frameQLParser.ST_ASWKB - 818)) | (1 << (frameQLParser.ST_ASWKT - 818)) | (1 << (frameQLParser.ST_BUFFER - 818)) | (1 << (frameQLParser.ST_CENTROID - 818)) | (1 << (frameQLParser.ST_CONTAINS - 818)) | (1 << (frameQLParser.ST_CROSSES - 818)) | (1 << (frameQLParser.ST_DIFFERENCE - 818)) | (1 << (frameQLParser.ST_DIMENSION - 818)) | (1 << (frameQLParser.ST_DISJOINT - 818)) | (1 << (frameQLParser.ST_DISTANCE - 818)) | (1 << (frameQLParser.ST_ENDPOINT - 818)) | (1 << (frameQLParser.ST_ENVELOPE - 818)) | (1 << (frameQLParser.ST_EQUALS - 818)) | (1 << (frameQLParser.ST_EXTERIORRING - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYN - 818)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 818)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 818)) | (1 << (frameQLParser.ST_INTERIORRINGN - 818)) | (1 << (frameQLParser.ST_INTERSECTION - 818)) | (1 << (frameQLParser.ST_INTERSECTS - 818)) | (1 << (frameQLParser.ST_ISCLOSED - 818)) | (1 << (frameQLParser.ST_ISEMPTY - 818)) | (1 << (frameQLParser.ST_ISSIMPLE - 818)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINEFROMWKB - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 818)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 818)) | (1 << (frameQLParser.ST_NUMPOINTS - 818)) | (1 << (frameQLParser.ST_OVERLAPS - 818)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 818)) | (1 << (frameQLParser.ST_POINTFROMWKB - 818)) | (1 << (frameQLParser.ST_POINTN - 818)))) != 0) or ((((_la - 882)) & ~0x3f) == 0 and ((1 << (_la - 882)) & ((1 << (frameQLParser.ST_POLYFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYFROMWKB - 882)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 882)) | (1 << (frameQLParser.ST_SRID - 882)) | (1 << (frameQLParser.ST_STARTPOINT - 882)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 882)) | (1 << (frameQLParser.ST_TOUCHES - 882)) | (1 << (frameQLParser.ST_UNION - 882)) | (1 << (frameQLParser.ST_WITHIN - 882)) | (1 << (frameQLParser.ST_X - 882)) | (1 << (frameQLParser.ST_Y - 882)) | (1 << (frameQLParser.SUBDATE - 882)) | (1 << (frameQLParser.SUBSTRING_INDEX - 882)) | (1 << (frameQLParser.SUBTIME - 882)) | (1 << (frameQLParser.SYSTEM_USER - 882)) | (1 << (frameQLParser.TAN - 882)) | (1 << (frameQLParser.TIMEDIFF - 882)) | (1 << (frameQLParser.TIMESTAMPADD - 882)) | (1 << (frameQLParser.TIMESTAMPDIFF - 882)) | (1 << (frameQLParser.TIME_FORMAT - 882)) | (1 << (frameQLParser.TIME_TO_SEC - 882)) | (1 << (frameQLParser.TOUCHES - 882)) | (1 << (frameQLParser.TO_BASE64 - 882)) | (1 << (frameQLParser.TO_DAYS - 882)) | (1 << (frameQLParser.TO_SECONDS - 882)) | (1 << (frameQLParser.UCASE - 882)) | (1 << (frameQLParser.UNCOMPRESS - 882)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 882)) | (1 << (frameQLParser.UNHEX - 882)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 882)) | (1 << (frameQLParser.UPDATEXML - 882)) | (1 << (frameQLParser.UPPER - 882)) | (1 << (frameQLParser.UUID - 882)) | (1 << (frameQLParser.UUID_SHORT - 882)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 882)) | (1 << (frameQLParser.VERSION - 882)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 882)) | (1 << (frameQLParser.WEEKDAY - 882)) | (1 << (frameQLParser.WEEKOFYEAR - 882)) | (1 << (frameQLParser.WEIGHT_STRING - 882)) | (1 << (frameQLParser.WITHIN - 882)) | (1 << (frameQLParser.YEARWEEK - 882)) | (1 << (frameQLParser.Y_FUNCTION - 882)) | (1 << (frameQLParser.X_FUNCTION - 882)))) != 0) or ((((_la - 953)) & ~0x3f) == 0 and ((1 << (_la - 953)) & ((1 << (frameQLParser.LR_BRACKET - 953)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 953)) | (1 << (frameQLParser.STRING_LITERAL - 953)) | (1 << (frameQLParser.ID - 953)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 953)))) != 0): - self.state = 4038 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,574,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 4033 - self.declareVariable() - self.state = 4034 - self.match(frameQLParser.SEMI) - self.state = 4040 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,574,self._ctx) - - self.state = 4046 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,575,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 4041 - self.declareCondition() - self.state = 4042 - self.match(frameQLParser.SEMI) - self.state = 4048 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,575,self._ctx) - - self.state = 4054 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,576,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 4049 - self.declareCursor() - self.state = 4050 - self.match(frameQLParser.SEMI) - self.state = 4056 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,576,self._ctx) - - self.state = 4062 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.DECLARE: - self.state = 4057 - self.declareHandler() - self.state = 4058 - self.match(frameQLParser.SEMI) - self.state = 4064 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 4066 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4065 - self.procedureSqlStatement() - self.state = 4068 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 9)) & ~0x3f) == 0 and ((1 << (_la - 9)) & ((1 << (frameQLParser.ALTER - 9)) | (1 << (frameQLParser.ANALYZE - 9)) | (1 << (frameQLParser.CALL - 9)) | (1 << (frameQLParser.CASE - 9)) | (1 << (frameQLParser.CHANGE - 9)) | (1 << (frameQLParser.CHECK - 9)) | (1 << (frameQLParser.CREATE - 9)) | (1 << (frameQLParser.DATABASE - 9)) | (1 << (frameQLParser.DELETE - 9)) | (1 << (frameQLParser.DESC - 9)) | (1 << (frameQLParser.DESCRIBE - 9)) | (1 << (frameQLParser.DROP - 9)) | (1 << (frameQLParser.EXPLAIN - 9)) | (1 << (frameQLParser.FETCH - 9)) | (1 << (frameQLParser.GRANT - 9)) | (1 << (frameQLParser.IF - 9)))) != 0) or ((((_la - 75)) & ~0x3f) == 0 and ((1 << (_la - 75)) & ((1 << (frameQLParser.INSERT - 75)) | (1 << (frameQLParser.ITERATE - 75)) | (1 << (frameQLParser.KILL - 75)) | (1 << (frameQLParser.LEAVE - 75)) | (1 << (frameQLParser.LEFT - 75)) | (1 << (frameQLParser.LOAD - 75)) | (1 << (frameQLParser.LOCK - 75)) | (1 << (frameQLParser.LOOP - 75)) | (1 << (frameQLParser.OPTIMIZE - 75)) | (1 << (frameQLParser.PURGE - 75)) | (1 << (frameQLParser.RELEASE - 75)) | (1 << (frameQLParser.RENAME - 75)) | (1 << (frameQLParser.REPEAT - 75)) | (1 << (frameQLParser.REPLACE - 75)) | (1 << (frameQLParser.RETURN - 75)) | (1 << (frameQLParser.REVOKE - 75)) | (1 << (frameQLParser.RIGHT - 75)) | (1 << (frameQLParser.SELECT - 75)) | (1 << (frameQLParser.SET - 75)) | (1 << (frameQLParser.SHOW - 75)))) != 0) or ((((_la - 159)) & ~0x3f) == 0 and ((1 << (_la - 159)) & ((1 << (frameQLParser.UNLOCK - 159)) | (1 << (frameQLParser.UPDATE - 159)) | (1 << (frameQLParser.USE - 159)) | (1 << (frameQLParser.WHILE - 159)) | (1 << (frameQLParser.DATE - 159)) | (1 << (frameQLParser.TIME - 159)) | (1 << (frameQLParser.TIMESTAMP - 159)) | (1 << (frameQLParser.DATETIME - 159)) | (1 << (frameQLParser.YEAR - 159)) | (1 << (frameQLParser.TEXT - 159)) | (1 << (frameQLParser.ENUM - 159)) | (1 << (frameQLParser.SERIAL - 159)) | (1 << (frameQLParser.COUNT - 159)))) != 0) or ((((_la - 242)) & ~0x3f) == 0 and ((1 << (_la - 242)) & ((1 << (frameQLParser.POSITION - 242)) | (1 << (frameQLParser.ACCOUNT - 242)) | (1 << (frameQLParser.ACTION - 242)) | (1 << (frameQLParser.AFTER - 242)) | (1 << (frameQLParser.AGGREGATE - 242)) | (1 << (frameQLParser.ALGORITHM - 242)) | (1 << (frameQLParser.ANY - 242)) | (1 << (frameQLParser.AT - 242)) | (1 << (frameQLParser.AUTHORS - 242)) | (1 << (frameQLParser.AUTOCOMMIT - 242)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 242)) | (1 << (frameQLParser.AUTO_INCREMENT - 242)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 242)) | (1 << (frameQLParser.BEGIN - 242)) | (1 << (frameQLParser.BINLOG - 242)) | (1 << (frameQLParser.BIT - 242)) | (1 << (frameQLParser.BLOCK - 242)) | (1 << (frameQLParser.BOOL - 242)) | (1 << (frameQLParser.BOOLEAN - 242)) | (1 << (frameQLParser.BTREE - 242)) | (1 << (frameQLParser.CACHE - 242)) | (1 << (frameQLParser.CASCADED - 242)) | (1 << (frameQLParser.CHAIN - 242)) | (1 << (frameQLParser.CHANGED - 242)) | (1 << (frameQLParser.CHANNEL - 242)) | (1 << (frameQLParser.CHECKSUM - 242)) | (1 << (frameQLParser.CIPHER - 242)) | (1 << (frameQLParser.CLIENT - 242)) | (1 << (frameQLParser.CLOSE - 242)) | (1 << (frameQLParser.COALESCE - 242)) | (1 << (frameQLParser.CODE - 242)) | (1 << (frameQLParser.COLUMNS - 242)) | (1 << (frameQLParser.COLUMN_FORMAT - 242)) | (1 << (frameQLParser.COMMENT - 242)) | (1 << (frameQLParser.COMMIT - 242)) | (1 << (frameQLParser.COMPACT - 242)) | (1 << (frameQLParser.COMPLETION - 242)) | (1 << (frameQLParser.COMPRESSED - 242)) | (1 << (frameQLParser.COMPRESSION - 242)) | (1 << (frameQLParser.CONCURRENT - 242)) | (1 << (frameQLParser.CONNECTION - 242)) | (1 << (frameQLParser.CONSISTENT - 242)) | (1 << (frameQLParser.CONTAINS - 242)) | (1 << (frameQLParser.CONTEXT - 242)) | (1 << (frameQLParser.CONTRIBUTORS - 242)) | (1 << (frameQLParser.COPY - 242)) | (1 << (frameQLParser.CPU - 242)) | (1 << (frameQLParser.DATA - 242)) | (1 << (frameQLParser.DATAFILE - 242)) | (1 << (frameQLParser.DEALLOCATE - 242)) | (1 << (frameQLParser.DEFAULT_AUTH - 242)) | (1 << (frameQLParser.DEFINER - 242)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 242)) | (1 << (frameQLParser.DIRECTORY - 242)) | (1 << (frameQLParser.DISABLE - 242)) | (1 << (frameQLParser.DISCARD - 242)))) != 0) or ((((_la - 306)) & ~0x3f) == 0 and ((1 << (_la - 306)) & ((1 << (frameQLParser.DISK - 306)) | (1 << (frameQLParser.DO - 306)) | (1 << (frameQLParser.DUMPFILE - 306)) | (1 << (frameQLParser.DUPLICATE - 306)) | (1 << (frameQLParser.DYNAMIC - 306)) | (1 << (frameQLParser.ENABLE - 306)) | (1 << (frameQLParser.ENCRYPTION - 306)) | (1 << (frameQLParser.ENDS - 306)) | (1 << (frameQLParser.ENGINE - 306)) | (1 << (frameQLParser.ENGINES - 306)) | (1 << (frameQLParser.ERROR - 306)) | (1 << (frameQLParser.ERRORS - 306)) | (1 << (frameQLParser.ESCAPE - 306)) | (1 << (frameQLParser.EVEN - 306)) | (1 << (frameQLParser.EVENT - 306)) | (1 << (frameQLParser.EVENTS - 306)) | (1 << (frameQLParser.EVERY - 306)) | (1 << (frameQLParser.EXCHANGE - 306)) | (1 << (frameQLParser.EXCLUSIVE - 306)) | (1 << (frameQLParser.EXPIRE - 306)) | (1 << (frameQLParser.EXTENDED - 306)) | (1 << (frameQLParser.EXTENT_SIZE - 306)) | (1 << (frameQLParser.FAST - 306)) | (1 << (frameQLParser.FAULTS - 306)) | (1 << (frameQLParser.FIELDS - 306)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 306)) | (1 << (frameQLParser.FILTER - 306)) | (1 << (frameQLParser.FIRST - 306)) | (1 << (frameQLParser.FIXED - 306)) | (1 << (frameQLParser.FLUSH - 306)) | (1 << (frameQLParser.FOLLOWS - 306)) | (1 << (frameQLParser.FULL - 306)) | (1 << (frameQLParser.FUNCTION - 306)) | (1 << (frameQLParser.GLOBAL - 306)) | (1 << (frameQLParser.GRANTS - 306)) | (1 << (frameQLParser.GROUP_REPLICATION - 306)) | (1 << (frameQLParser.HANDLER - 306)) | (1 << (frameQLParser.HASH - 306)) | (1 << (frameQLParser.HELP - 306)) | (1 << (frameQLParser.HOST - 306)) | (1 << (frameQLParser.IDENTIFIED - 306)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 306)) | (1 << (frameQLParser.IMPORT - 306)) | (1 << (frameQLParser.INDEXES - 306)) | (1 << (frameQLParser.INITIAL_SIZE - 306)) | (1 << (frameQLParser.INPLACE - 306)) | (1 << (frameQLParser.INSERT_METHOD - 306)) | (1 << (frameQLParser.INSTALL - 306)) | (1 << (frameQLParser.INSTANCE - 306)) | (1 << (frameQLParser.INVOKER - 306)) | (1 << (frameQLParser.IO - 306)) | (1 << (frameQLParser.IO_THREAD - 306)) | (1 << (frameQLParser.IPC - 306)) | (1 << (frameQLParser.ISOLATION - 306)) | (1 << (frameQLParser.ISSUER - 306)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 306)) | (1 << (frameQLParser.LANGUAGE - 306)) | (1 << (frameQLParser.LAST - 306)))) != 0) or ((((_la - 370)) & ~0x3f) == 0 and ((1 << (_la - 370)) & ((1 << (frameQLParser.LEAVES - 370)) | (1 << (frameQLParser.LESS - 370)) | (1 << (frameQLParser.LEVEL - 370)) | (1 << (frameQLParser.LIST - 370)) | (1 << (frameQLParser.LOCAL - 370)) | (1 << (frameQLParser.LOGFILE - 370)) | (1 << (frameQLParser.LOGS - 370)) | (1 << (frameQLParser.MASTER - 370)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 370)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 370)) | (1 << (frameQLParser.MASTER_DELAY - 370)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 370)) | (1 << (frameQLParser.MASTER_HOST - 370)) | (1 << (frameQLParser.MASTER_LOG_FILE - 370)) | (1 << (frameQLParser.MASTER_LOG_POS - 370)) | (1 << (frameQLParser.MASTER_PASSWORD - 370)) | (1 << (frameQLParser.MASTER_PORT - 370)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 370)) | (1 << (frameQLParser.MASTER_SSL - 370)) | (1 << (frameQLParser.MASTER_SSL_CA - 370)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_CERT - 370)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 370)) | (1 << (frameQLParser.MASTER_SSL_CRL - 370)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_KEY - 370)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 370)) | (1 << (frameQLParser.MASTER_USER - 370)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_ROWS - 370)) | (1 << (frameQLParser.MAX_SIZE - 370)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 370)) | (1 << (frameQLParser.MEDIUM - 370)) | (1 << (frameQLParser.MERGE - 370)) | (1 << (frameQLParser.MID - 370)) | (1 << (frameQLParser.MIGRATE - 370)) | (1 << (frameQLParser.MIN_ROWS - 370)) | (1 << (frameQLParser.MODIFY - 370)) | (1 << (frameQLParser.MUTEX - 370)) | (1 << (frameQLParser.MYSQL - 370)) | (1 << (frameQLParser.NAME - 370)) | (1 << (frameQLParser.NAMES - 370)) | (1 << (frameQLParser.NCHAR - 370)) | (1 << (frameQLParser.NEVER - 370)) | (1 << (frameQLParser.NO - 370)) | (1 << (frameQLParser.NODEGROUP - 370)) | (1 << (frameQLParser.NONE - 370)) | (1 << (frameQLParser.OFFLINE - 370)) | (1 << (frameQLParser.OFFSET - 370)) | (1 << (frameQLParser.OJ - 370)) | (1 << (frameQLParser.OLD_PASSWORD - 370)) | (1 << (frameQLParser.ONE - 370)) | (1 << (frameQLParser.ONLINE - 370)) | (1 << (frameQLParser.ONLY - 370)) | (1 << (frameQLParser.OPEN - 370)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 370)) | (1 << (frameQLParser.OPTIONS - 370)) | (1 << (frameQLParser.OWNER - 370)) | (1 << (frameQLParser.PACK_KEYS - 370)) | (1 << (frameQLParser.PAGE - 370)))) != 0) or ((((_la - 434)) & ~0x3f) == 0 and ((1 << (_la - 434)) & ((1 << (frameQLParser.PARSER - 434)) | (1 << (frameQLParser.PARTIAL - 434)) | (1 << (frameQLParser.PARTITIONING - 434)) | (1 << (frameQLParser.PARTITIONS - 434)) | (1 << (frameQLParser.PASSWORD - 434)) | (1 << (frameQLParser.PHASE - 434)) | (1 << (frameQLParser.PLUGIN_DIR - 434)) | (1 << (frameQLParser.PLUGINS - 434)) | (1 << (frameQLParser.PORT - 434)) | (1 << (frameQLParser.PRECEDES - 434)) | (1 << (frameQLParser.PREPARE - 434)) | (1 << (frameQLParser.PRESERVE - 434)) | (1 << (frameQLParser.PREV - 434)) | (1 << (frameQLParser.PROCESSLIST - 434)) | (1 << (frameQLParser.PROFILE - 434)) | (1 << (frameQLParser.PROFILES - 434)) | (1 << (frameQLParser.PROXY - 434)) | (1 << (frameQLParser.QUERY - 434)) | (1 << (frameQLParser.QUICK - 434)) | (1 << (frameQLParser.REBUILD - 434)) | (1 << (frameQLParser.RECOVER - 434)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 434)) | (1 << (frameQLParser.REDUNDANT - 434)) | (1 << (frameQLParser.RELAY_LOG_FILE - 434)) | (1 << (frameQLParser.RELAY_LOG_POS - 434)) | (1 << (frameQLParser.RELAYLOG - 434)) | (1 << (frameQLParser.REMOVE - 434)) | (1 << (frameQLParser.REORGANIZE - 434)) | (1 << (frameQLParser.REPAIR - 434)) | (1 << (frameQLParser.REPLICATE_DO_DB - 434)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 434)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATION - 434)) | (1 << (frameQLParser.RESET - 434)) | (1 << (frameQLParser.RESUME - 434)) | (1 << (frameQLParser.RETURNS - 434)) | (1 << (frameQLParser.ROLLBACK - 434)) | (1 << (frameQLParser.ROLLUP - 434)) | (1 << (frameQLParser.ROTATE - 434)) | (1 << (frameQLParser.ROW - 434)) | (1 << (frameQLParser.ROWS - 434)) | (1 << (frameQLParser.ROW_FORMAT - 434)) | (1 << (frameQLParser.SAVEPOINT - 434)) | (1 << (frameQLParser.SCHEDULE - 434)) | (1 << (frameQLParser.SECURITY - 434)) | (1 << (frameQLParser.SERVER - 434)) | (1 << (frameQLParser.SESSION - 434)) | (1 << (frameQLParser.SHARE - 434)) | (1 << (frameQLParser.SHARED - 434)) | (1 << (frameQLParser.SIGNED - 434)) | (1 << (frameQLParser.SIMPLE - 434)) | (1 << (frameQLParser.SLAVE - 434)) | (1 << (frameQLParser.SNAPSHOT - 434)) | (1 << (frameQLParser.SOCKET - 434)) | (1 << (frameQLParser.SOME - 434)) | (1 << (frameQLParser.SOUNDS - 434)))) != 0) or ((((_la - 498)) & ~0x3f) == 0 and ((1 << (_la - 498)) & ((1 << (frameQLParser.SOURCE - 498)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 498)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 498)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 498)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 498)) | (1 << (frameQLParser.SQL_CACHE - 498)) | (1 << (frameQLParser.SQL_NO_CACHE - 498)) | (1 << (frameQLParser.SQL_THREAD - 498)) | (1 << (frameQLParser.START - 498)) | (1 << (frameQLParser.STARTS - 498)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 498)) | (1 << (frameQLParser.STATS_PERSISTENT - 498)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 498)) | (1 << (frameQLParser.STATUS - 498)) | (1 << (frameQLParser.STOP - 498)) | (1 << (frameQLParser.STORAGE - 498)) | (1 << (frameQLParser.STRING - 498)) | (1 << (frameQLParser.SUBJECT - 498)) | (1 << (frameQLParser.SUBPARTITION - 498)) | (1 << (frameQLParser.SUBPARTITIONS - 498)) | (1 << (frameQLParser.SUSPEND - 498)) | (1 << (frameQLParser.SWAPS - 498)) | (1 << (frameQLParser.SWITCHES - 498)) | (1 << (frameQLParser.TABLESPACE - 498)) | (1 << (frameQLParser.TEMPORARY - 498)) | (1 << (frameQLParser.TEMPTABLE - 498)) | (1 << (frameQLParser.THAN - 498)) | (1 << (frameQLParser.TRANSACTION - 498)) | (1 << (frameQLParser.TRUNCATE - 498)) | (1 << (frameQLParser.UNDEFINED - 498)) | (1 << (frameQLParser.UNDOFILE - 498)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 498)) | (1 << (frameQLParser.UNINSTALL - 498)) | (1 << (frameQLParser.UNKNOWN - 498)) | (1 << (frameQLParser.UPGRADE - 498)) | (1 << (frameQLParser.USER - 498)) | (1 << (frameQLParser.VALIDATION - 498)) | (1 << (frameQLParser.VALUE - 498)) | (1 << (frameQLParser.VARIABLES - 498)) | (1 << (frameQLParser.VIEW - 498)) | (1 << (frameQLParser.WAIT - 498)) | (1 << (frameQLParser.WARNINGS - 498)) | (1 << (frameQLParser.WITHOUT - 498)) | (1 << (frameQLParser.WORK - 498)) | (1 << (frameQLParser.WRAPPER - 498)) | (1 << (frameQLParser.X509 - 498)) | (1 << (frameQLParser.XA - 498)) | (1 << (frameQLParser.XML - 498)) | (1 << (frameQLParser.QUARTER - 498)) | (1 << (frameQLParser.MONTH - 498)) | (1 << (frameQLParser.DAY - 498)) | (1 << (frameQLParser.HOUR - 498)))) != 0) or ((((_la - 562)) & ~0x3f) == 0 and ((1 << (_la - 562)) & ((1 << (frameQLParser.MINUTE - 562)) | (1 << (frameQLParser.WEEK - 562)) | (1 << (frameQLParser.SECOND - 562)) | (1 << (frameQLParser.MICROSECOND - 562)) | (1 << (frameQLParser.TABLES - 562)) | (1 << (frameQLParser.ROUTINE - 562)) | (1 << (frameQLParser.EXECUTE - 562)) | (1 << (frameQLParser.FILE - 562)) | (1 << (frameQLParser.PROCESS - 562)) | (1 << (frameQLParser.RELOAD - 562)) | (1 << (frameQLParser.SHUTDOWN - 562)) | (1 << (frameQLParser.SUPER - 562)) | (1 << (frameQLParser.PRIVILEGES - 562)) | (1 << (frameQLParser.ARMSCII8 - 562)) | (1 << (frameQLParser.ASCII - 562)) | (1 << (frameQLParser.BIG5 - 562)) | (1 << (frameQLParser.CP1250 - 562)) | (1 << (frameQLParser.CP1251 - 562)) | (1 << (frameQLParser.CP1256 - 562)) | (1 << (frameQLParser.CP1257 - 562)) | (1 << (frameQLParser.CP850 - 562)) | (1 << (frameQLParser.CP852 - 562)) | (1 << (frameQLParser.CP866 - 562)) | (1 << (frameQLParser.CP932 - 562)) | (1 << (frameQLParser.DEC8 - 562)) | (1 << (frameQLParser.EUCJPMS - 562)) | (1 << (frameQLParser.EUCKR - 562)) | (1 << (frameQLParser.GB2312 - 562)) | (1 << (frameQLParser.GBK - 562)) | (1 << (frameQLParser.GEOSTD8 - 562)) | (1 << (frameQLParser.GREEK - 562)) | (1 << (frameQLParser.HEBREW - 562)) | (1 << (frameQLParser.HP8 - 562)) | (1 << (frameQLParser.KEYBCS2 - 562)) | (1 << (frameQLParser.KOI8R - 562)) | (1 << (frameQLParser.KOI8U - 562)) | (1 << (frameQLParser.LATIN1 - 562)) | (1 << (frameQLParser.LATIN2 - 562)) | (1 << (frameQLParser.LATIN5 - 562)) | (1 << (frameQLParser.LATIN7 - 562)) | (1 << (frameQLParser.MACCE - 562)) | (1 << (frameQLParser.MACROMAN - 562)) | (1 << (frameQLParser.SJIS - 562)) | (1 << (frameQLParser.SWE7 - 562)) | (1 << (frameQLParser.TIS620 - 562)) | (1 << (frameQLParser.UCS2 - 562)) | (1 << (frameQLParser.UJIS - 562)) | (1 << (frameQLParser.UTF16 - 562)) | (1 << (frameQLParser.UTF16LE - 562)) | (1 << (frameQLParser.UTF32 - 562)) | (1 << (frameQLParser.UTF8 - 562)) | (1 << (frameQLParser.UTF8MB3 - 562)) | (1 << (frameQLParser.UTF8MB4 - 562)) | (1 << (frameQLParser.ARCHIVE - 562)) | (1 << (frameQLParser.BLACKHOLE - 562)) | (1 << (frameQLParser.CSV - 562)) | (1 << (frameQLParser.FEDERATED - 562)) | (1 << (frameQLParser.INNODB - 562)) | (1 << (frameQLParser.MEMORY - 562)) | (1 << (frameQLParser.MRG_MYISAM - 562)) | (1 << (frameQLParser.MYISAM - 562)) | (1 << (frameQLParser.NDB - 562)) | (1 << (frameQLParser.NDBCLUSTER - 562)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 562)))) != 0) or ((((_la - 626)) & ~0x3f) == 0 and ((1 << (_la - 626)) & ((1 << (frameQLParser.REPEATABLE - 626)) | (1 << (frameQLParser.COMMITTED - 626)) | (1 << (frameQLParser.UNCOMMITTED - 626)) | (1 << (frameQLParser.SERIALIZABLE - 626)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 626)) | (1 << (frameQLParser.LINESTRING - 626)) | (1 << (frameQLParser.MULTILINESTRING - 626)) | (1 << (frameQLParser.MULTIPOINT - 626)) | (1 << (frameQLParser.MULTIPOLYGON - 626)) | (1 << (frameQLParser.POINT - 626)) | (1 << (frameQLParser.POLYGON - 626)) | (1 << (frameQLParser.ABS - 626)) | (1 << (frameQLParser.ACOS - 626)) | (1 << (frameQLParser.ADDDATE - 626)) | (1 << (frameQLParser.ADDTIME - 626)) | (1 << (frameQLParser.AES_DECRYPT - 626)) | (1 << (frameQLParser.AES_ENCRYPT - 626)) | (1 << (frameQLParser.AREA - 626)) | (1 << (frameQLParser.ASBINARY - 626)) | (1 << (frameQLParser.ASIN - 626)) | (1 << (frameQLParser.ASTEXT - 626)) | (1 << (frameQLParser.ASWKB - 626)) | (1 << (frameQLParser.ASWKT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 626)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 626)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 626)) | (1 << (frameQLParser.ATAN - 626)) | (1 << (frameQLParser.ATAN2 - 626)) | (1 << (frameQLParser.BENCHMARK - 626)) | (1 << (frameQLParser.BIN - 626)) | (1 << (frameQLParser.BIT_COUNT - 626)) | (1 << (frameQLParser.BIT_LENGTH - 626)) | (1 << (frameQLParser.BUFFER - 626)) | (1 << (frameQLParser.CEIL - 626)) | (1 << (frameQLParser.CEILING - 626)) | (1 << (frameQLParser.CENTROID - 626)) | (1 << (frameQLParser.CHARACTER_LENGTH - 626)) | (1 << (frameQLParser.CHARSET - 626)) | (1 << (frameQLParser.CHAR_LENGTH - 626)) | (1 << (frameQLParser.COERCIBILITY - 626)) | (1 << (frameQLParser.COLLATION - 626)) | (1 << (frameQLParser.COMPRESS - 626)) | (1 << (frameQLParser.CONCAT - 626)) | (1 << (frameQLParser.CONCAT_WS - 626)) | (1 << (frameQLParser.CONNECTION_ID - 626)) | (1 << (frameQLParser.CONV - 626)) | (1 << (frameQLParser.CONVERT_TZ - 626)) | (1 << (frameQLParser.COS - 626)) | (1 << (frameQLParser.COT - 626)) | (1 << (frameQLParser.CRC32 - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 626)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 626)) | (1 << (frameQLParser.CREATE_DIGEST - 626)) | (1 << (frameQLParser.CROSSES - 626)) | (1 << (frameQLParser.DATEDIFF - 626)) | (1 << (frameQLParser.DATE_FORMAT - 626)) | (1 << (frameQLParser.DAYNAME - 626)) | (1 << (frameQLParser.DAYOFMONTH - 626)) | (1 << (frameQLParser.DAYOFWEEK - 626)) | (1 << (frameQLParser.DAYOFYEAR - 626)) | (1 << (frameQLParser.DECODE - 626)))) != 0) or ((((_la - 690)) & ~0x3f) == 0 and ((1 << (_la - 690)) & ((1 << (frameQLParser.DEGREES - 690)) | (1 << (frameQLParser.DES_DECRYPT - 690)) | (1 << (frameQLParser.DES_ENCRYPT - 690)) | (1 << (frameQLParser.DIMENSION - 690)) | (1 << (frameQLParser.DISJOINT - 690)) | (1 << (frameQLParser.ELT - 690)) | (1 << (frameQLParser.ENCODE - 690)) | (1 << (frameQLParser.ENCRYPT - 690)) | (1 << (frameQLParser.ENDPOINT - 690)) | (1 << (frameQLParser.ENVELOPE - 690)) | (1 << (frameQLParser.EQUALS - 690)) | (1 << (frameQLParser.EXP - 690)) | (1 << (frameQLParser.EXPORT_SET - 690)) | (1 << (frameQLParser.EXTERIORRING - 690)) | (1 << (frameQLParser.EXTRACTVALUE - 690)) | (1 << (frameQLParser.FIELD - 690)) | (1 << (frameQLParser.FIND_IN_SET - 690)) | (1 << (frameQLParser.FLOOR - 690)) | (1 << (frameQLParser.FORMAT - 690)) | (1 << (frameQLParser.FOUND_ROWS - 690)) | (1 << (frameQLParser.FROM_BASE64 - 690)) | (1 << (frameQLParser.FROM_DAYS - 690)) | (1 << (frameQLParser.FROM_UNIXTIME - 690)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 690)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYN - 690)) | (1 << (frameQLParser.GEOMETRYTYPE - 690)) | (1 << (frameQLParser.GEOMFROMTEXT - 690)) | (1 << (frameQLParser.GEOMFROMWKB - 690)) | (1 << (frameQLParser.GET_FORMAT - 690)) | (1 << (frameQLParser.GET_LOCK - 690)) | (1 << (frameQLParser.GLENGTH - 690)) | (1 << (frameQLParser.GREATEST - 690)) | (1 << (frameQLParser.GTID_SUBSET - 690)) | (1 << (frameQLParser.GTID_SUBTRACT - 690)) | (1 << (frameQLParser.HEX - 690)) | (1 << (frameQLParser.IFNULL - 690)) | (1 << (frameQLParser.INET6_ATON - 690)) | (1 << (frameQLParser.INET6_NTOA - 690)) | (1 << (frameQLParser.INET_ATON - 690)) | (1 << (frameQLParser.INET_NTOA - 690)) | (1 << (frameQLParser.INSTR - 690)) | (1 << (frameQLParser.INTERIORRINGN - 690)) | (1 << (frameQLParser.INTERSECTS - 690)) | (1 << (frameQLParser.ISCLOSED - 690)) | (1 << (frameQLParser.ISEMPTY - 690)) | (1 << (frameQLParser.ISNULL - 690)) | (1 << (frameQLParser.ISSIMPLE - 690)) | (1 << (frameQLParser.IS_FREE_LOCK - 690)) | (1 << (frameQLParser.IS_IPV4 - 690)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 690)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 690)) | (1 << (frameQLParser.IS_IPV6 - 690)) | (1 << (frameQLParser.IS_USED_LOCK - 690)) | (1 << (frameQLParser.LAST_INSERT_ID - 690)) | (1 << (frameQLParser.LCASE - 690)) | (1 << (frameQLParser.LEAST - 690)) | (1 << (frameQLParser.LENGTH - 690)) | (1 << (frameQLParser.LINEFROMTEXT - 690)) | (1 << (frameQLParser.LINEFROMWKB - 690)))) != 0) or ((((_la - 754)) & ~0x3f) == 0 and ((1 << (_la - 754)) & ((1 << (frameQLParser.LINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.LN - 754)) | (1 << (frameQLParser.LOAD_FILE - 754)) | (1 << (frameQLParser.LOCATE - 754)) | (1 << (frameQLParser.LOG - 754)) | (1 << (frameQLParser.LOG10 - 754)) | (1 << (frameQLParser.LOG2 - 754)) | (1 << (frameQLParser.LOWER - 754)) | (1 << (frameQLParser.LPAD - 754)) | (1 << (frameQLParser.LTRIM - 754)) | (1 << (frameQLParser.MAKEDATE - 754)) | (1 << (frameQLParser.MAKETIME - 754)) | (1 << (frameQLParser.MAKE_SET - 754)) | (1 << (frameQLParser.MASTER_POS_WAIT - 754)) | (1 << (frameQLParser.MBRCONTAINS - 754)) | (1 << (frameQLParser.MBRDISJOINT - 754)) | (1 << (frameQLParser.MBREQUAL - 754)) | (1 << (frameQLParser.MBRINTERSECTS - 754)) | (1 << (frameQLParser.MBROVERLAPS - 754)) | (1 << (frameQLParser.MBRTOUCHES - 754)) | (1 << (frameQLParser.MBRWITHIN - 754)) | (1 << (frameQLParser.MD5 - 754)) | (1 << (frameQLParser.MLINEFROMTEXT - 754)) | (1 << (frameQLParser.MLINEFROMWKB - 754)) | (1 << (frameQLParser.MONTHNAME - 754)) | (1 << (frameQLParser.MPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MPOINTFROMWKB - 754)) | (1 << (frameQLParser.MPOLYFROMTEXT - 754)) | (1 << (frameQLParser.MPOLYFROMWKB - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 754)) | (1 << (frameQLParser.NAME_CONST - 754)) | (1 << (frameQLParser.NULLIF - 754)) | (1 << (frameQLParser.NUMGEOMETRIES - 754)) | (1 << (frameQLParser.NUMINTERIORRINGS - 754)) | (1 << (frameQLParser.NUMPOINTS - 754)) | (1 << (frameQLParser.OCT - 754)) | (1 << (frameQLParser.OCTET_LENGTH - 754)) | (1 << (frameQLParser.ORD - 754)) | (1 << (frameQLParser.OVERLAPS - 754)) | (1 << (frameQLParser.PERIOD_ADD - 754)) | (1 << (frameQLParser.PERIOD_DIFF - 754)) | (1 << (frameQLParser.PI - 754)) | (1 << (frameQLParser.POINTFROMTEXT - 754)) | (1 << (frameQLParser.POINTFROMWKB - 754)) | (1 << (frameQLParser.POINTN - 754)) | (1 << (frameQLParser.POLYFROMTEXT - 754)) | (1 << (frameQLParser.POLYFROMWKB - 754)) | (1 << (frameQLParser.POLYGONFROMTEXT - 754)) | (1 << (frameQLParser.POLYGONFROMWKB - 754)) | (1 << (frameQLParser.POW - 754)) | (1 << (frameQLParser.POWER - 754)) | (1 << (frameQLParser.QUOTE - 754)) | (1 << (frameQLParser.RADIANS - 754)) | (1 << (frameQLParser.RAND - 754)) | (1 << (frameQLParser.RANDOM_BYTES - 754)) | (1 << (frameQLParser.RELEASE_LOCK - 754)) | (1 << (frameQLParser.REVERSE - 754)) | (1 << (frameQLParser.ROUND - 754)))) != 0) or ((((_la - 818)) & ~0x3f) == 0 and ((1 << (_la - 818)) & ((1 << (frameQLParser.ROW_COUNT - 818)) | (1 << (frameQLParser.RPAD - 818)) | (1 << (frameQLParser.RTRIM - 818)) | (1 << (frameQLParser.SEC_TO_TIME - 818)) | (1 << (frameQLParser.SESSION_USER - 818)) | (1 << (frameQLParser.SHA - 818)) | (1 << (frameQLParser.SHA1 - 818)) | (1 << (frameQLParser.SHA2 - 818)) | (1 << (frameQLParser.SIGN - 818)) | (1 << (frameQLParser.SIN - 818)) | (1 << (frameQLParser.SLEEP - 818)) | (1 << (frameQLParser.SOUNDEX - 818)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 818)) | (1 << (frameQLParser.SQRT - 818)) | (1 << (frameQLParser.SRID - 818)) | (1 << (frameQLParser.STARTPOINT - 818)) | (1 << (frameQLParser.STRCMP - 818)) | (1 << (frameQLParser.STR_TO_DATE - 818)) | (1 << (frameQLParser.ST_AREA - 818)) | (1 << (frameQLParser.ST_ASBINARY - 818)) | (1 << (frameQLParser.ST_ASTEXT - 818)) | (1 << (frameQLParser.ST_ASWKB - 818)) | (1 << (frameQLParser.ST_ASWKT - 818)) | (1 << (frameQLParser.ST_BUFFER - 818)) | (1 << (frameQLParser.ST_CENTROID - 818)) | (1 << (frameQLParser.ST_CONTAINS - 818)) | (1 << (frameQLParser.ST_CROSSES - 818)) | (1 << (frameQLParser.ST_DIFFERENCE - 818)) | (1 << (frameQLParser.ST_DIMENSION - 818)) | (1 << (frameQLParser.ST_DISJOINT - 818)) | (1 << (frameQLParser.ST_DISTANCE - 818)) | (1 << (frameQLParser.ST_ENDPOINT - 818)) | (1 << (frameQLParser.ST_ENVELOPE - 818)) | (1 << (frameQLParser.ST_EQUALS - 818)) | (1 << (frameQLParser.ST_EXTERIORRING - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYN - 818)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 818)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 818)) | (1 << (frameQLParser.ST_INTERIORRINGN - 818)) | (1 << (frameQLParser.ST_INTERSECTION - 818)) | (1 << (frameQLParser.ST_INTERSECTS - 818)) | (1 << (frameQLParser.ST_ISCLOSED - 818)) | (1 << (frameQLParser.ST_ISEMPTY - 818)) | (1 << (frameQLParser.ST_ISSIMPLE - 818)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINEFROMWKB - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 818)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 818)) | (1 << (frameQLParser.ST_NUMPOINTS - 818)) | (1 << (frameQLParser.ST_OVERLAPS - 818)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 818)) | (1 << (frameQLParser.ST_POINTFROMWKB - 818)) | (1 << (frameQLParser.ST_POINTN - 818)))) != 0) or ((((_la - 882)) & ~0x3f) == 0 and ((1 << (_la - 882)) & ((1 << (frameQLParser.ST_POLYFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYFROMWKB - 882)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 882)) | (1 << (frameQLParser.ST_SRID - 882)) | (1 << (frameQLParser.ST_STARTPOINT - 882)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 882)) | (1 << (frameQLParser.ST_TOUCHES - 882)) | (1 << (frameQLParser.ST_UNION - 882)) | (1 << (frameQLParser.ST_WITHIN - 882)) | (1 << (frameQLParser.ST_X - 882)) | (1 << (frameQLParser.ST_Y - 882)) | (1 << (frameQLParser.SUBDATE - 882)) | (1 << (frameQLParser.SUBSTRING_INDEX - 882)) | (1 << (frameQLParser.SUBTIME - 882)) | (1 << (frameQLParser.SYSTEM_USER - 882)) | (1 << (frameQLParser.TAN - 882)) | (1 << (frameQLParser.TIMEDIFF - 882)) | (1 << (frameQLParser.TIMESTAMPADD - 882)) | (1 << (frameQLParser.TIMESTAMPDIFF - 882)) | (1 << (frameQLParser.TIME_FORMAT - 882)) | (1 << (frameQLParser.TIME_TO_SEC - 882)) | (1 << (frameQLParser.TOUCHES - 882)) | (1 << (frameQLParser.TO_BASE64 - 882)) | (1 << (frameQLParser.TO_DAYS - 882)) | (1 << (frameQLParser.TO_SECONDS - 882)) | (1 << (frameQLParser.UCASE - 882)) | (1 << (frameQLParser.UNCOMPRESS - 882)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 882)) | (1 << (frameQLParser.UNHEX - 882)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 882)) | (1 << (frameQLParser.UPDATEXML - 882)) | (1 << (frameQLParser.UPPER - 882)) | (1 << (frameQLParser.UUID - 882)) | (1 << (frameQLParser.UUID_SHORT - 882)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 882)) | (1 << (frameQLParser.VERSION - 882)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 882)) | (1 << (frameQLParser.WEEKDAY - 882)) | (1 << (frameQLParser.WEEKOFYEAR - 882)) | (1 << (frameQLParser.WEIGHT_STRING - 882)) | (1 << (frameQLParser.WITHIN - 882)) | (1 << (frameQLParser.YEARWEEK - 882)) | (1 << (frameQLParser.Y_FUNCTION - 882)) | (1 << (frameQLParser.X_FUNCTION - 882)))) != 0) or ((((_la - 953)) & ~0x3f) == 0 and ((1 << (_la - 953)) & ((1 << (frameQLParser.LR_BRACKET - 953)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 953)) | (1 << (frameQLParser.STRING_LITERAL - 953)) | (1 << (frameQLParser.ID - 953)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 953)))) != 0)): - break - - - - self.state = 4072 - self.match(frameQLParser.END) - self.state = 4074 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 4073 - self.uid() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CaseStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CASE(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.CASE) - else: - return self.getToken(frameQLParser.CASE, i) - - def END(self): - return self.getToken(frameQLParser.END, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def caseAlternative(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.CaseAlternativeContext) - else: - return self.getTypedRuleContext(frameQLParser.CaseAlternativeContext,i) - - - def ELSE(self): - return self.getToken(frameQLParser.ELSE, 0) - - def procedureSqlStatement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ProcedureSqlStatementContext) - else: - return self.getTypedRuleContext(frameQLParser.ProcedureSqlStatementContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_caseStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCaseStatement" ): - listener.enterCaseStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCaseStatement" ): - listener.exitCaseStatement(self) - - - - - def caseStatement(self): - - localctx = frameQLParser.CaseStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 350, self.RULE_caseStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4076 - self.match(frameQLParser.CASE) - self.state = 4079 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,581,self._ctx) - if la_ == 1: - self.state = 4077 - self.uid() - - elif la_ == 2: - self.state = 4078 - self.expression(0) - - - self.state = 4082 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4081 - self.caseAlternative() - self.state = 4084 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==frameQLParser.WHEN): - break - - self.state = 4092 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ELSE: - self.state = 4086 - self.match(frameQLParser.ELSE) - self.state = 4088 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4087 - self.procedureSqlStatement() - self.state = 4090 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 9)) & ~0x3f) == 0 and ((1 << (_la - 9)) & ((1 << (frameQLParser.ALTER - 9)) | (1 << (frameQLParser.ANALYZE - 9)) | (1 << (frameQLParser.CALL - 9)) | (1 << (frameQLParser.CASE - 9)) | (1 << (frameQLParser.CHANGE - 9)) | (1 << (frameQLParser.CHECK - 9)) | (1 << (frameQLParser.CREATE - 9)) | (1 << (frameQLParser.DATABASE - 9)) | (1 << (frameQLParser.DELETE - 9)) | (1 << (frameQLParser.DESC - 9)) | (1 << (frameQLParser.DESCRIBE - 9)) | (1 << (frameQLParser.DROP - 9)) | (1 << (frameQLParser.EXPLAIN - 9)) | (1 << (frameQLParser.FETCH - 9)) | (1 << (frameQLParser.GRANT - 9)) | (1 << (frameQLParser.IF - 9)))) != 0) or ((((_la - 75)) & ~0x3f) == 0 and ((1 << (_la - 75)) & ((1 << (frameQLParser.INSERT - 75)) | (1 << (frameQLParser.ITERATE - 75)) | (1 << (frameQLParser.KILL - 75)) | (1 << (frameQLParser.LEAVE - 75)) | (1 << (frameQLParser.LEFT - 75)) | (1 << (frameQLParser.LOAD - 75)) | (1 << (frameQLParser.LOCK - 75)) | (1 << (frameQLParser.LOOP - 75)) | (1 << (frameQLParser.OPTIMIZE - 75)) | (1 << (frameQLParser.PURGE - 75)) | (1 << (frameQLParser.RELEASE - 75)) | (1 << (frameQLParser.RENAME - 75)) | (1 << (frameQLParser.REPEAT - 75)) | (1 << (frameQLParser.REPLACE - 75)) | (1 << (frameQLParser.RETURN - 75)) | (1 << (frameQLParser.REVOKE - 75)) | (1 << (frameQLParser.RIGHT - 75)) | (1 << (frameQLParser.SELECT - 75)) | (1 << (frameQLParser.SET - 75)) | (1 << (frameQLParser.SHOW - 75)))) != 0) or ((((_la - 159)) & ~0x3f) == 0 and ((1 << (_la - 159)) & ((1 << (frameQLParser.UNLOCK - 159)) | (1 << (frameQLParser.UPDATE - 159)) | (1 << (frameQLParser.USE - 159)) | (1 << (frameQLParser.WHILE - 159)) | (1 << (frameQLParser.DATE - 159)) | (1 << (frameQLParser.TIME - 159)) | (1 << (frameQLParser.TIMESTAMP - 159)) | (1 << (frameQLParser.DATETIME - 159)) | (1 << (frameQLParser.YEAR - 159)) | (1 << (frameQLParser.TEXT - 159)) | (1 << (frameQLParser.ENUM - 159)) | (1 << (frameQLParser.SERIAL - 159)) | (1 << (frameQLParser.COUNT - 159)))) != 0) or ((((_la - 242)) & ~0x3f) == 0 and ((1 << (_la - 242)) & ((1 << (frameQLParser.POSITION - 242)) | (1 << (frameQLParser.ACCOUNT - 242)) | (1 << (frameQLParser.ACTION - 242)) | (1 << (frameQLParser.AFTER - 242)) | (1 << (frameQLParser.AGGREGATE - 242)) | (1 << (frameQLParser.ALGORITHM - 242)) | (1 << (frameQLParser.ANY - 242)) | (1 << (frameQLParser.AT - 242)) | (1 << (frameQLParser.AUTHORS - 242)) | (1 << (frameQLParser.AUTOCOMMIT - 242)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 242)) | (1 << (frameQLParser.AUTO_INCREMENT - 242)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 242)) | (1 << (frameQLParser.BEGIN - 242)) | (1 << (frameQLParser.BINLOG - 242)) | (1 << (frameQLParser.BIT - 242)) | (1 << (frameQLParser.BLOCK - 242)) | (1 << (frameQLParser.BOOL - 242)) | (1 << (frameQLParser.BOOLEAN - 242)) | (1 << (frameQLParser.BTREE - 242)) | (1 << (frameQLParser.CACHE - 242)) | (1 << (frameQLParser.CASCADED - 242)) | (1 << (frameQLParser.CHAIN - 242)) | (1 << (frameQLParser.CHANGED - 242)) | (1 << (frameQLParser.CHANNEL - 242)) | (1 << (frameQLParser.CHECKSUM - 242)) | (1 << (frameQLParser.CIPHER - 242)) | (1 << (frameQLParser.CLIENT - 242)) | (1 << (frameQLParser.CLOSE - 242)) | (1 << (frameQLParser.COALESCE - 242)) | (1 << (frameQLParser.CODE - 242)) | (1 << (frameQLParser.COLUMNS - 242)) | (1 << (frameQLParser.COLUMN_FORMAT - 242)) | (1 << (frameQLParser.COMMENT - 242)) | (1 << (frameQLParser.COMMIT - 242)) | (1 << (frameQLParser.COMPACT - 242)) | (1 << (frameQLParser.COMPLETION - 242)) | (1 << (frameQLParser.COMPRESSED - 242)) | (1 << (frameQLParser.COMPRESSION - 242)) | (1 << (frameQLParser.CONCURRENT - 242)) | (1 << (frameQLParser.CONNECTION - 242)) | (1 << (frameQLParser.CONSISTENT - 242)) | (1 << (frameQLParser.CONTAINS - 242)) | (1 << (frameQLParser.CONTEXT - 242)) | (1 << (frameQLParser.CONTRIBUTORS - 242)) | (1 << (frameQLParser.COPY - 242)) | (1 << (frameQLParser.CPU - 242)) | (1 << (frameQLParser.DATA - 242)) | (1 << (frameQLParser.DATAFILE - 242)) | (1 << (frameQLParser.DEALLOCATE - 242)) | (1 << (frameQLParser.DEFAULT_AUTH - 242)) | (1 << (frameQLParser.DEFINER - 242)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 242)) | (1 << (frameQLParser.DIRECTORY - 242)) | (1 << (frameQLParser.DISABLE - 242)) | (1 << (frameQLParser.DISCARD - 242)))) != 0) or ((((_la - 306)) & ~0x3f) == 0 and ((1 << (_la - 306)) & ((1 << (frameQLParser.DISK - 306)) | (1 << (frameQLParser.DO - 306)) | (1 << (frameQLParser.DUMPFILE - 306)) | (1 << (frameQLParser.DUPLICATE - 306)) | (1 << (frameQLParser.DYNAMIC - 306)) | (1 << (frameQLParser.ENABLE - 306)) | (1 << (frameQLParser.ENCRYPTION - 306)) | (1 << (frameQLParser.ENDS - 306)) | (1 << (frameQLParser.ENGINE - 306)) | (1 << (frameQLParser.ENGINES - 306)) | (1 << (frameQLParser.ERROR - 306)) | (1 << (frameQLParser.ERRORS - 306)) | (1 << (frameQLParser.ESCAPE - 306)) | (1 << (frameQLParser.EVEN - 306)) | (1 << (frameQLParser.EVENT - 306)) | (1 << (frameQLParser.EVENTS - 306)) | (1 << (frameQLParser.EVERY - 306)) | (1 << (frameQLParser.EXCHANGE - 306)) | (1 << (frameQLParser.EXCLUSIVE - 306)) | (1 << (frameQLParser.EXPIRE - 306)) | (1 << (frameQLParser.EXTENDED - 306)) | (1 << (frameQLParser.EXTENT_SIZE - 306)) | (1 << (frameQLParser.FAST - 306)) | (1 << (frameQLParser.FAULTS - 306)) | (1 << (frameQLParser.FIELDS - 306)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 306)) | (1 << (frameQLParser.FILTER - 306)) | (1 << (frameQLParser.FIRST - 306)) | (1 << (frameQLParser.FIXED - 306)) | (1 << (frameQLParser.FLUSH - 306)) | (1 << (frameQLParser.FOLLOWS - 306)) | (1 << (frameQLParser.FULL - 306)) | (1 << (frameQLParser.FUNCTION - 306)) | (1 << (frameQLParser.GLOBAL - 306)) | (1 << (frameQLParser.GRANTS - 306)) | (1 << (frameQLParser.GROUP_REPLICATION - 306)) | (1 << (frameQLParser.HANDLER - 306)) | (1 << (frameQLParser.HASH - 306)) | (1 << (frameQLParser.HELP - 306)) | (1 << (frameQLParser.HOST - 306)) | (1 << (frameQLParser.IDENTIFIED - 306)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 306)) | (1 << (frameQLParser.IMPORT - 306)) | (1 << (frameQLParser.INDEXES - 306)) | (1 << (frameQLParser.INITIAL_SIZE - 306)) | (1 << (frameQLParser.INPLACE - 306)) | (1 << (frameQLParser.INSERT_METHOD - 306)) | (1 << (frameQLParser.INSTALL - 306)) | (1 << (frameQLParser.INSTANCE - 306)) | (1 << (frameQLParser.INVOKER - 306)) | (1 << (frameQLParser.IO - 306)) | (1 << (frameQLParser.IO_THREAD - 306)) | (1 << (frameQLParser.IPC - 306)) | (1 << (frameQLParser.ISOLATION - 306)) | (1 << (frameQLParser.ISSUER - 306)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 306)) | (1 << (frameQLParser.LANGUAGE - 306)) | (1 << (frameQLParser.LAST - 306)))) != 0) or ((((_la - 370)) & ~0x3f) == 0 and ((1 << (_la - 370)) & ((1 << (frameQLParser.LEAVES - 370)) | (1 << (frameQLParser.LESS - 370)) | (1 << (frameQLParser.LEVEL - 370)) | (1 << (frameQLParser.LIST - 370)) | (1 << (frameQLParser.LOCAL - 370)) | (1 << (frameQLParser.LOGFILE - 370)) | (1 << (frameQLParser.LOGS - 370)) | (1 << (frameQLParser.MASTER - 370)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 370)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 370)) | (1 << (frameQLParser.MASTER_DELAY - 370)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 370)) | (1 << (frameQLParser.MASTER_HOST - 370)) | (1 << (frameQLParser.MASTER_LOG_FILE - 370)) | (1 << (frameQLParser.MASTER_LOG_POS - 370)) | (1 << (frameQLParser.MASTER_PASSWORD - 370)) | (1 << (frameQLParser.MASTER_PORT - 370)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 370)) | (1 << (frameQLParser.MASTER_SSL - 370)) | (1 << (frameQLParser.MASTER_SSL_CA - 370)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_CERT - 370)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 370)) | (1 << (frameQLParser.MASTER_SSL_CRL - 370)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_KEY - 370)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 370)) | (1 << (frameQLParser.MASTER_USER - 370)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_ROWS - 370)) | (1 << (frameQLParser.MAX_SIZE - 370)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 370)) | (1 << (frameQLParser.MEDIUM - 370)) | (1 << (frameQLParser.MERGE - 370)) | (1 << (frameQLParser.MID - 370)) | (1 << (frameQLParser.MIGRATE - 370)) | (1 << (frameQLParser.MIN_ROWS - 370)) | (1 << (frameQLParser.MODIFY - 370)) | (1 << (frameQLParser.MUTEX - 370)) | (1 << (frameQLParser.MYSQL - 370)) | (1 << (frameQLParser.NAME - 370)) | (1 << (frameQLParser.NAMES - 370)) | (1 << (frameQLParser.NCHAR - 370)) | (1 << (frameQLParser.NEVER - 370)) | (1 << (frameQLParser.NO - 370)) | (1 << (frameQLParser.NODEGROUP - 370)) | (1 << (frameQLParser.NONE - 370)) | (1 << (frameQLParser.OFFLINE - 370)) | (1 << (frameQLParser.OFFSET - 370)) | (1 << (frameQLParser.OJ - 370)) | (1 << (frameQLParser.OLD_PASSWORD - 370)) | (1 << (frameQLParser.ONE - 370)) | (1 << (frameQLParser.ONLINE - 370)) | (1 << (frameQLParser.ONLY - 370)) | (1 << (frameQLParser.OPEN - 370)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 370)) | (1 << (frameQLParser.OPTIONS - 370)) | (1 << (frameQLParser.OWNER - 370)) | (1 << (frameQLParser.PACK_KEYS - 370)) | (1 << (frameQLParser.PAGE - 370)))) != 0) or ((((_la - 434)) & ~0x3f) == 0 and ((1 << (_la - 434)) & ((1 << (frameQLParser.PARSER - 434)) | (1 << (frameQLParser.PARTIAL - 434)) | (1 << (frameQLParser.PARTITIONING - 434)) | (1 << (frameQLParser.PARTITIONS - 434)) | (1 << (frameQLParser.PASSWORD - 434)) | (1 << (frameQLParser.PHASE - 434)) | (1 << (frameQLParser.PLUGIN_DIR - 434)) | (1 << (frameQLParser.PLUGINS - 434)) | (1 << (frameQLParser.PORT - 434)) | (1 << (frameQLParser.PRECEDES - 434)) | (1 << (frameQLParser.PREPARE - 434)) | (1 << (frameQLParser.PRESERVE - 434)) | (1 << (frameQLParser.PREV - 434)) | (1 << (frameQLParser.PROCESSLIST - 434)) | (1 << (frameQLParser.PROFILE - 434)) | (1 << (frameQLParser.PROFILES - 434)) | (1 << (frameQLParser.PROXY - 434)) | (1 << (frameQLParser.QUERY - 434)) | (1 << (frameQLParser.QUICK - 434)) | (1 << (frameQLParser.REBUILD - 434)) | (1 << (frameQLParser.RECOVER - 434)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 434)) | (1 << (frameQLParser.REDUNDANT - 434)) | (1 << (frameQLParser.RELAY_LOG_FILE - 434)) | (1 << (frameQLParser.RELAY_LOG_POS - 434)) | (1 << (frameQLParser.RELAYLOG - 434)) | (1 << (frameQLParser.REMOVE - 434)) | (1 << (frameQLParser.REORGANIZE - 434)) | (1 << (frameQLParser.REPAIR - 434)) | (1 << (frameQLParser.REPLICATE_DO_DB - 434)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 434)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATION - 434)) | (1 << (frameQLParser.RESET - 434)) | (1 << (frameQLParser.RESUME - 434)) | (1 << (frameQLParser.RETURNS - 434)) | (1 << (frameQLParser.ROLLBACK - 434)) | (1 << (frameQLParser.ROLLUP - 434)) | (1 << (frameQLParser.ROTATE - 434)) | (1 << (frameQLParser.ROW - 434)) | (1 << (frameQLParser.ROWS - 434)) | (1 << (frameQLParser.ROW_FORMAT - 434)) | (1 << (frameQLParser.SAVEPOINT - 434)) | (1 << (frameQLParser.SCHEDULE - 434)) | (1 << (frameQLParser.SECURITY - 434)) | (1 << (frameQLParser.SERVER - 434)) | (1 << (frameQLParser.SESSION - 434)) | (1 << (frameQLParser.SHARE - 434)) | (1 << (frameQLParser.SHARED - 434)) | (1 << (frameQLParser.SIGNED - 434)) | (1 << (frameQLParser.SIMPLE - 434)) | (1 << (frameQLParser.SLAVE - 434)) | (1 << (frameQLParser.SNAPSHOT - 434)) | (1 << (frameQLParser.SOCKET - 434)) | (1 << (frameQLParser.SOME - 434)) | (1 << (frameQLParser.SOUNDS - 434)))) != 0) or ((((_la - 498)) & ~0x3f) == 0 and ((1 << (_la - 498)) & ((1 << (frameQLParser.SOURCE - 498)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 498)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 498)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 498)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 498)) | (1 << (frameQLParser.SQL_CACHE - 498)) | (1 << (frameQLParser.SQL_NO_CACHE - 498)) | (1 << (frameQLParser.SQL_THREAD - 498)) | (1 << (frameQLParser.START - 498)) | (1 << (frameQLParser.STARTS - 498)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 498)) | (1 << (frameQLParser.STATS_PERSISTENT - 498)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 498)) | (1 << (frameQLParser.STATUS - 498)) | (1 << (frameQLParser.STOP - 498)) | (1 << (frameQLParser.STORAGE - 498)) | (1 << (frameQLParser.STRING - 498)) | (1 << (frameQLParser.SUBJECT - 498)) | (1 << (frameQLParser.SUBPARTITION - 498)) | (1 << (frameQLParser.SUBPARTITIONS - 498)) | (1 << (frameQLParser.SUSPEND - 498)) | (1 << (frameQLParser.SWAPS - 498)) | (1 << (frameQLParser.SWITCHES - 498)) | (1 << (frameQLParser.TABLESPACE - 498)) | (1 << (frameQLParser.TEMPORARY - 498)) | (1 << (frameQLParser.TEMPTABLE - 498)) | (1 << (frameQLParser.THAN - 498)) | (1 << (frameQLParser.TRANSACTION - 498)) | (1 << (frameQLParser.TRUNCATE - 498)) | (1 << (frameQLParser.UNDEFINED - 498)) | (1 << (frameQLParser.UNDOFILE - 498)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 498)) | (1 << (frameQLParser.UNINSTALL - 498)) | (1 << (frameQLParser.UNKNOWN - 498)) | (1 << (frameQLParser.UPGRADE - 498)) | (1 << (frameQLParser.USER - 498)) | (1 << (frameQLParser.VALIDATION - 498)) | (1 << (frameQLParser.VALUE - 498)) | (1 << (frameQLParser.VARIABLES - 498)) | (1 << (frameQLParser.VIEW - 498)) | (1 << (frameQLParser.WAIT - 498)) | (1 << (frameQLParser.WARNINGS - 498)) | (1 << (frameQLParser.WITHOUT - 498)) | (1 << (frameQLParser.WORK - 498)) | (1 << (frameQLParser.WRAPPER - 498)) | (1 << (frameQLParser.X509 - 498)) | (1 << (frameQLParser.XA - 498)) | (1 << (frameQLParser.XML - 498)) | (1 << (frameQLParser.QUARTER - 498)) | (1 << (frameQLParser.MONTH - 498)) | (1 << (frameQLParser.DAY - 498)) | (1 << (frameQLParser.HOUR - 498)))) != 0) or ((((_la - 562)) & ~0x3f) == 0 and ((1 << (_la - 562)) & ((1 << (frameQLParser.MINUTE - 562)) | (1 << (frameQLParser.WEEK - 562)) | (1 << (frameQLParser.SECOND - 562)) | (1 << (frameQLParser.MICROSECOND - 562)) | (1 << (frameQLParser.TABLES - 562)) | (1 << (frameQLParser.ROUTINE - 562)) | (1 << (frameQLParser.EXECUTE - 562)) | (1 << (frameQLParser.FILE - 562)) | (1 << (frameQLParser.PROCESS - 562)) | (1 << (frameQLParser.RELOAD - 562)) | (1 << (frameQLParser.SHUTDOWN - 562)) | (1 << (frameQLParser.SUPER - 562)) | (1 << (frameQLParser.PRIVILEGES - 562)) | (1 << (frameQLParser.ARMSCII8 - 562)) | (1 << (frameQLParser.ASCII - 562)) | (1 << (frameQLParser.BIG5 - 562)) | (1 << (frameQLParser.CP1250 - 562)) | (1 << (frameQLParser.CP1251 - 562)) | (1 << (frameQLParser.CP1256 - 562)) | (1 << (frameQLParser.CP1257 - 562)) | (1 << (frameQLParser.CP850 - 562)) | (1 << (frameQLParser.CP852 - 562)) | (1 << (frameQLParser.CP866 - 562)) | (1 << (frameQLParser.CP932 - 562)) | (1 << (frameQLParser.DEC8 - 562)) | (1 << (frameQLParser.EUCJPMS - 562)) | (1 << (frameQLParser.EUCKR - 562)) | (1 << (frameQLParser.GB2312 - 562)) | (1 << (frameQLParser.GBK - 562)) | (1 << (frameQLParser.GEOSTD8 - 562)) | (1 << (frameQLParser.GREEK - 562)) | (1 << (frameQLParser.HEBREW - 562)) | (1 << (frameQLParser.HP8 - 562)) | (1 << (frameQLParser.KEYBCS2 - 562)) | (1 << (frameQLParser.KOI8R - 562)) | (1 << (frameQLParser.KOI8U - 562)) | (1 << (frameQLParser.LATIN1 - 562)) | (1 << (frameQLParser.LATIN2 - 562)) | (1 << (frameQLParser.LATIN5 - 562)) | (1 << (frameQLParser.LATIN7 - 562)) | (1 << (frameQLParser.MACCE - 562)) | (1 << (frameQLParser.MACROMAN - 562)) | (1 << (frameQLParser.SJIS - 562)) | (1 << (frameQLParser.SWE7 - 562)) | (1 << (frameQLParser.TIS620 - 562)) | (1 << (frameQLParser.UCS2 - 562)) | (1 << (frameQLParser.UJIS - 562)) | (1 << (frameQLParser.UTF16 - 562)) | (1 << (frameQLParser.UTF16LE - 562)) | (1 << (frameQLParser.UTF32 - 562)) | (1 << (frameQLParser.UTF8 - 562)) | (1 << (frameQLParser.UTF8MB3 - 562)) | (1 << (frameQLParser.UTF8MB4 - 562)) | (1 << (frameQLParser.ARCHIVE - 562)) | (1 << (frameQLParser.BLACKHOLE - 562)) | (1 << (frameQLParser.CSV - 562)) | (1 << (frameQLParser.FEDERATED - 562)) | (1 << (frameQLParser.INNODB - 562)) | (1 << (frameQLParser.MEMORY - 562)) | (1 << (frameQLParser.MRG_MYISAM - 562)) | (1 << (frameQLParser.MYISAM - 562)) | (1 << (frameQLParser.NDB - 562)) | (1 << (frameQLParser.NDBCLUSTER - 562)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 562)))) != 0) or ((((_la - 626)) & ~0x3f) == 0 and ((1 << (_la - 626)) & ((1 << (frameQLParser.REPEATABLE - 626)) | (1 << (frameQLParser.COMMITTED - 626)) | (1 << (frameQLParser.UNCOMMITTED - 626)) | (1 << (frameQLParser.SERIALIZABLE - 626)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 626)) | (1 << (frameQLParser.LINESTRING - 626)) | (1 << (frameQLParser.MULTILINESTRING - 626)) | (1 << (frameQLParser.MULTIPOINT - 626)) | (1 << (frameQLParser.MULTIPOLYGON - 626)) | (1 << (frameQLParser.POINT - 626)) | (1 << (frameQLParser.POLYGON - 626)) | (1 << (frameQLParser.ABS - 626)) | (1 << (frameQLParser.ACOS - 626)) | (1 << (frameQLParser.ADDDATE - 626)) | (1 << (frameQLParser.ADDTIME - 626)) | (1 << (frameQLParser.AES_DECRYPT - 626)) | (1 << (frameQLParser.AES_ENCRYPT - 626)) | (1 << (frameQLParser.AREA - 626)) | (1 << (frameQLParser.ASBINARY - 626)) | (1 << (frameQLParser.ASIN - 626)) | (1 << (frameQLParser.ASTEXT - 626)) | (1 << (frameQLParser.ASWKB - 626)) | (1 << (frameQLParser.ASWKT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 626)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 626)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 626)) | (1 << (frameQLParser.ATAN - 626)) | (1 << (frameQLParser.ATAN2 - 626)) | (1 << (frameQLParser.BENCHMARK - 626)) | (1 << (frameQLParser.BIN - 626)) | (1 << (frameQLParser.BIT_COUNT - 626)) | (1 << (frameQLParser.BIT_LENGTH - 626)) | (1 << (frameQLParser.BUFFER - 626)) | (1 << (frameQLParser.CEIL - 626)) | (1 << (frameQLParser.CEILING - 626)) | (1 << (frameQLParser.CENTROID - 626)) | (1 << (frameQLParser.CHARACTER_LENGTH - 626)) | (1 << (frameQLParser.CHARSET - 626)) | (1 << (frameQLParser.CHAR_LENGTH - 626)) | (1 << (frameQLParser.COERCIBILITY - 626)) | (1 << (frameQLParser.COLLATION - 626)) | (1 << (frameQLParser.COMPRESS - 626)) | (1 << (frameQLParser.CONCAT - 626)) | (1 << (frameQLParser.CONCAT_WS - 626)) | (1 << (frameQLParser.CONNECTION_ID - 626)) | (1 << (frameQLParser.CONV - 626)) | (1 << (frameQLParser.CONVERT_TZ - 626)) | (1 << (frameQLParser.COS - 626)) | (1 << (frameQLParser.COT - 626)) | (1 << (frameQLParser.CRC32 - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 626)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 626)) | (1 << (frameQLParser.CREATE_DIGEST - 626)) | (1 << (frameQLParser.CROSSES - 626)) | (1 << (frameQLParser.DATEDIFF - 626)) | (1 << (frameQLParser.DATE_FORMAT - 626)) | (1 << (frameQLParser.DAYNAME - 626)) | (1 << (frameQLParser.DAYOFMONTH - 626)) | (1 << (frameQLParser.DAYOFWEEK - 626)) | (1 << (frameQLParser.DAYOFYEAR - 626)) | (1 << (frameQLParser.DECODE - 626)))) != 0) or ((((_la - 690)) & ~0x3f) == 0 and ((1 << (_la - 690)) & ((1 << (frameQLParser.DEGREES - 690)) | (1 << (frameQLParser.DES_DECRYPT - 690)) | (1 << (frameQLParser.DES_ENCRYPT - 690)) | (1 << (frameQLParser.DIMENSION - 690)) | (1 << (frameQLParser.DISJOINT - 690)) | (1 << (frameQLParser.ELT - 690)) | (1 << (frameQLParser.ENCODE - 690)) | (1 << (frameQLParser.ENCRYPT - 690)) | (1 << (frameQLParser.ENDPOINT - 690)) | (1 << (frameQLParser.ENVELOPE - 690)) | (1 << (frameQLParser.EQUALS - 690)) | (1 << (frameQLParser.EXP - 690)) | (1 << (frameQLParser.EXPORT_SET - 690)) | (1 << (frameQLParser.EXTERIORRING - 690)) | (1 << (frameQLParser.EXTRACTVALUE - 690)) | (1 << (frameQLParser.FIELD - 690)) | (1 << (frameQLParser.FIND_IN_SET - 690)) | (1 << (frameQLParser.FLOOR - 690)) | (1 << (frameQLParser.FORMAT - 690)) | (1 << (frameQLParser.FOUND_ROWS - 690)) | (1 << (frameQLParser.FROM_BASE64 - 690)) | (1 << (frameQLParser.FROM_DAYS - 690)) | (1 << (frameQLParser.FROM_UNIXTIME - 690)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 690)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYN - 690)) | (1 << (frameQLParser.GEOMETRYTYPE - 690)) | (1 << (frameQLParser.GEOMFROMTEXT - 690)) | (1 << (frameQLParser.GEOMFROMWKB - 690)) | (1 << (frameQLParser.GET_FORMAT - 690)) | (1 << (frameQLParser.GET_LOCK - 690)) | (1 << (frameQLParser.GLENGTH - 690)) | (1 << (frameQLParser.GREATEST - 690)) | (1 << (frameQLParser.GTID_SUBSET - 690)) | (1 << (frameQLParser.GTID_SUBTRACT - 690)) | (1 << (frameQLParser.HEX - 690)) | (1 << (frameQLParser.IFNULL - 690)) | (1 << (frameQLParser.INET6_ATON - 690)) | (1 << (frameQLParser.INET6_NTOA - 690)) | (1 << (frameQLParser.INET_ATON - 690)) | (1 << (frameQLParser.INET_NTOA - 690)) | (1 << (frameQLParser.INSTR - 690)) | (1 << (frameQLParser.INTERIORRINGN - 690)) | (1 << (frameQLParser.INTERSECTS - 690)) | (1 << (frameQLParser.ISCLOSED - 690)) | (1 << (frameQLParser.ISEMPTY - 690)) | (1 << (frameQLParser.ISNULL - 690)) | (1 << (frameQLParser.ISSIMPLE - 690)) | (1 << (frameQLParser.IS_FREE_LOCK - 690)) | (1 << (frameQLParser.IS_IPV4 - 690)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 690)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 690)) | (1 << (frameQLParser.IS_IPV6 - 690)) | (1 << (frameQLParser.IS_USED_LOCK - 690)) | (1 << (frameQLParser.LAST_INSERT_ID - 690)) | (1 << (frameQLParser.LCASE - 690)) | (1 << (frameQLParser.LEAST - 690)) | (1 << (frameQLParser.LENGTH - 690)) | (1 << (frameQLParser.LINEFROMTEXT - 690)) | (1 << (frameQLParser.LINEFROMWKB - 690)))) != 0) or ((((_la - 754)) & ~0x3f) == 0 and ((1 << (_la - 754)) & ((1 << (frameQLParser.LINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.LN - 754)) | (1 << (frameQLParser.LOAD_FILE - 754)) | (1 << (frameQLParser.LOCATE - 754)) | (1 << (frameQLParser.LOG - 754)) | (1 << (frameQLParser.LOG10 - 754)) | (1 << (frameQLParser.LOG2 - 754)) | (1 << (frameQLParser.LOWER - 754)) | (1 << (frameQLParser.LPAD - 754)) | (1 << (frameQLParser.LTRIM - 754)) | (1 << (frameQLParser.MAKEDATE - 754)) | (1 << (frameQLParser.MAKETIME - 754)) | (1 << (frameQLParser.MAKE_SET - 754)) | (1 << (frameQLParser.MASTER_POS_WAIT - 754)) | (1 << (frameQLParser.MBRCONTAINS - 754)) | (1 << (frameQLParser.MBRDISJOINT - 754)) | (1 << (frameQLParser.MBREQUAL - 754)) | (1 << (frameQLParser.MBRINTERSECTS - 754)) | (1 << (frameQLParser.MBROVERLAPS - 754)) | (1 << (frameQLParser.MBRTOUCHES - 754)) | (1 << (frameQLParser.MBRWITHIN - 754)) | (1 << (frameQLParser.MD5 - 754)) | (1 << (frameQLParser.MLINEFROMTEXT - 754)) | (1 << (frameQLParser.MLINEFROMWKB - 754)) | (1 << (frameQLParser.MONTHNAME - 754)) | (1 << (frameQLParser.MPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MPOINTFROMWKB - 754)) | (1 << (frameQLParser.MPOLYFROMTEXT - 754)) | (1 << (frameQLParser.MPOLYFROMWKB - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 754)) | (1 << (frameQLParser.NAME_CONST - 754)) | (1 << (frameQLParser.NULLIF - 754)) | (1 << (frameQLParser.NUMGEOMETRIES - 754)) | (1 << (frameQLParser.NUMINTERIORRINGS - 754)) | (1 << (frameQLParser.NUMPOINTS - 754)) | (1 << (frameQLParser.OCT - 754)) | (1 << (frameQLParser.OCTET_LENGTH - 754)) | (1 << (frameQLParser.ORD - 754)) | (1 << (frameQLParser.OVERLAPS - 754)) | (1 << (frameQLParser.PERIOD_ADD - 754)) | (1 << (frameQLParser.PERIOD_DIFF - 754)) | (1 << (frameQLParser.PI - 754)) | (1 << (frameQLParser.POINTFROMTEXT - 754)) | (1 << (frameQLParser.POINTFROMWKB - 754)) | (1 << (frameQLParser.POINTN - 754)) | (1 << (frameQLParser.POLYFROMTEXT - 754)) | (1 << (frameQLParser.POLYFROMWKB - 754)) | (1 << (frameQLParser.POLYGONFROMTEXT - 754)) | (1 << (frameQLParser.POLYGONFROMWKB - 754)) | (1 << (frameQLParser.POW - 754)) | (1 << (frameQLParser.POWER - 754)) | (1 << (frameQLParser.QUOTE - 754)) | (1 << (frameQLParser.RADIANS - 754)) | (1 << (frameQLParser.RAND - 754)) | (1 << (frameQLParser.RANDOM_BYTES - 754)) | (1 << (frameQLParser.RELEASE_LOCK - 754)) | (1 << (frameQLParser.REVERSE - 754)) | (1 << (frameQLParser.ROUND - 754)))) != 0) or ((((_la - 818)) & ~0x3f) == 0 and ((1 << (_la - 818)) & ((1 << (frameQLParser.ROW_COUNT - 818)) | (1 << (frameQLParser.RPAD - 818)) | (1 << (frameQLParser.RTRIM - 818)) | (1 << (frameQLParser.SEC_TO_TIME - 818)) | (1 << (frameQLParser.SESSION_USER - 818)) | (1 << (frameQLParser.SHA - 818)) | (1 << (frameQLParser.SHA1 - 818)) | (1 << (frameQLParser.SHA2 - 818)) | (1 << (frameQLParser.SIGN - 818)) | (1 << (frameQLParser.SIN - 818)) | (1 << (frameQLParser.SLEEP - 818)) | (1 << (frameQLParser.SOUNDEX - 818)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 818)) | (1 << (frameQLParser.SQRT - 818)) | (1 << (frameQLParser.SRID - 818)) | (1 << (frameQLParser.STARTPOINT - 818)) | (1 << (frameQLParser.STRCMP - 818)) | (1 << (frameQLParser.STR_TO_DATE - 818)) | (1 << (frameQLParser.ST_AREA - 818)) | (1 << (frameQLParser.ST_ASBINARY - 818)) | (1 << (frameQLParser.ST_ASTEXT - 818)) | (1 << (frameQLParser.ST_ASWKB - 818)) | (1 << (frameQLParser.ST_ASWKT - 818)) | (1 << (frameQLParser.ST_BUFFER - 818)) | (1 << (frameQLParser.ST_CENTROID - 818)) | (1 << (frameQLParser.ST_CONTAINS - 818)) | (1 << (frameQLParser.ST_CROSSES - 818)) | (1 << (frameQLParser.ST_DIFFERENCE - 818)) | (1 << (frameQLParser.ST_DIMENSION - 818)) | (1 << (frameQLParser.ST_DISJOINT - 818)) | (1 << (frameQLParser.ST_DISTANCE - 818)) | (1 << (frameQLParser.ST_ENDPOINT - 818)) | (1 << (frameQLParser.ST_ENVELOPE - 818)) | (1 << (frameQLParser.ST_EQUALS - 818)) | (1 << (frameQLParser.ST_EXTERIORRING - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYN - 818)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 818)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 818)) | (1 << (frameQLParser.ST_INTERIORRINGN - 818)) | (1 << (frameQLParser.ST_INTERSECTION - 818)) | (1 << (frameQLParser.ST_INTERSECTS - 818)) | (1 << (frameQLParser.ST_ISCLOSED - 818)) | (1 << (frameQLParser.ST_ISEMPTY - 818)) | (1 << (frameQLParser.ST_ISSIMPLE - 818)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINEFROMWKB - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 818)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 818)) | (1 << (frameQLParser.ST_NUMPOINTS - 818)) | (1 << (frameQLParser.ST_OVERLAPS - 818)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 818)) | (1 << (frameQLParser.ST_POINTFROMWKB - 818)) | (1 << (frameQLParser.ST_POINTN - 818)))) != 0) or ((((_la - 882)) & ~0x3f) == 0 and ((1 << (_la - 882)) & ((1 << (frameQLParser.ST_POLYFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYFROMWKB - 882)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 882)) | (1 << (frameQLParser.ST_SRID - 882)) | (1 << (frameQLParser.ST_STARTPOINT - 882)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 882)) | (1 << (frameQLParser.ST_TOUCHES - 882)) | (1 << (frameQLParser.ST_UNION - 882)) | (1 << (frameQLParser.ST_WITHIN - 882)) | (1 << (frameQLParser.ST_X - 882)) | (1 << (frameQLParser.ST_Y - 882)) | (1 << (frameQLParser.SUBDATE - 882)) | (1 << (frameQLParser.SUBSTRING_INDEX - 882)) | (1 << (frameQLParser.SUBTIME - 882)) | (1 << (frameQLParser.SYSTEM_USER - 882)) | (1 << (frameQLParser.TAN - 882)) | (1 << (frameQLParser.TIMEDIFF - 882)) | (1 << (frameQLParser.TIMESTAMPADD - 882)) | (1 << (frameQLParser.TIMESTAMPDIFF - 882)) | (1 << (frameQLParser.TIME_FORMAT - 882)) | (1 << (frameQLParser.TIME_TO_SEC - 882)) | (1 << (frameQLParser.TOUCHES - 882)) | (1 << (frameQLParser.TO_BASE64 - 882)) | (1 << (frameQLParser.TO_DAYS - 882)) | (1 << (frameQLParser.TO_SECONDS - 882)) | (1 << (frameQLParser.UCASE - 882)) | (1 << (frameQLParser.UNCOMPRESS - 882)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 882)) | (1 << (frameQLParser.UNHEX - 882)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 882)) | (1 << (frameQLParser.UPDATEXML - 882)) | (1 << (frameQLParser.UPPER - 882)) | (1 << (frameQLParser.UUID - 882)) | (1 << (frameQLParser.UUID_SHORT - 882)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 882)) | (1 << (frameQLParser.VERSION - 882)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 882)) | (1 << (frameQLParser.WEEKDAY - 882)) | (1 << (frameQLParser.WEEKOFYEAR - 882)) | (1 << (frameQLParser.WEIGHT_STRING - 882)) | (1 << (frameQLParser.WITHIN - 882)) | (1 << (frameQLParser.YEARWEEK - 882)) | (1 << (frameQLParser.Y_FUNCTION - 882)) | (1 << (frameQLParser.X_FUNCTION - 882)))) != 0) or ((((_la - 953)) & ~0x3f) == 0 and ((1 << (_la - 953)) & ((1 << (frameQLParser.LR_BRACKET - 953)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 953)) | (1 << (frameQLParser.STRING_LITERAL - 953)) | (1 << (frameQLParser.ID - 953)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 953)))) != 0)): - break - - - - self.state = 4094 - self.match(frameQLParser.END) - self.state = 4095 - self.match(frameQLParser.CASE) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class IfStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self._procedureSqlStatement = None # ProcedureSqlStatementContext - self.thenStatements = list() # of ProcedureSqlStatementContexts - self.elseStatements = list() # of ProcedureSqlStatementContexts - - def IF(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.IF) - else: - return self.getToken(frameQLParser.IF, i) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def THEN(self): - return self.getToken(frameQLParser.THEN, 0) - - def END(self): - return self.getToken(frameQLParser.END, 0) - - def elifAlternative(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ElifAlternativeContext) - else: - return self.getTypedRuleContext(frameQLParser.ElifAlternativeContext,i) - - - def ELSE(self): - return self.getToken(frameQLParser.ELSE, 0) - - def procedureSqlStatement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ProcedureSqlStatementContext) - else: - return self.getTypedRuleContext(frameQLParser.ProcedureSqlStatementContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_ifStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIfStatement" ): - listener.enterIfStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIfStatement" ): - listener.exitIfStatement(self) - - - - - def ifStatement(self): - - localctx = frameQLParser.IfStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 352, self.RULE_ifStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4097 - self.match(frameQLParser.IF) - self.state = 4098 - self.expression(0) - self.state = 4099 - self.match(frameQLParser.THEN) - self.state = 4101 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4100 - localctx._procedureSqlStatement = self.procedureSqlStatement() - localctx.thenStatements.append(localctx._procedureSqlStatement) - self.state = 4103 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 9)) & ~0x3f) == 0 and ((1 << (_la - 9)) & ((1 << (frameQLParser.ALTER - 9)) | (1 << (frameQLParser.ANALYZE - 9)) | (1 << (frameQLParser.CALL - 9)) | (1 << (frameQLParser.CASE - 9)) | (1 << (frameQLParser.CHANGE - 9)) | (1 << (frameQLParser.CHECK - 9)) | (1 << (frameQLParser.CREATE - 9)) | (1 << (frameQLParser.DATABASE - 9)) | (1 << (frameQLParser.DELETE - 9)) | (1 << (frameQLParser.DESC - 9)) | (1 << (frameQLParser.DESCRIBE - 9)) | (1 << (frameQLParser.DROP - 9)) | (1 << (frameQLParser.EXPLAIN - 9)) | (1 << (frameQLParser.FETCH - 9)) | (1 << (frameQLParser.GRANT - 9)) | (1 << (frameQLParser.IF - 9)))) != 0) or ((((_la - 75)) & ~0x3f) == 0 and ((1 << (_la - 75)) & ((1 << (frameQLParser.INSERT - 75)) | (1 << (frameQLParser.ITERATE - 75)) | (1 << (frameQLParser.KILL - 75)) | (1 << (frameQLParser.LEAVE - 75)) | (1 << (frameQLParser.LEFT - 75)) | (1 << (frameQLParser.LOAD - 75)) | (1 << (frameQLParser.LOCK - 75)) | (1 << (frameQLParser.LOOP - 75)) | (1 << (frameQLParser.OPTIMIZE - 75)) | (1 << (frameQLParser.PURGE - 75)) | (1 << (frameQLParser.RELEASE - 75)) | (1 << (frameQLParser.RENAME - 75)) | (1 << (frameQLParser.REPEAT - 75)) | (1 << (frameQLParser.REPLACE - 75)) | (1 << (frameQLParser.RETURN - 75)) | (1 << (frameQLParser.REVOKE - 75)) | (1 << (frameQLParser.RIGHT - 75)) | (1 << (frameQLParser.SELECT - 75)) | (1 << (frameQLParser.SET - 75)) | (1 << (frameQLParser.SHOW - 75)))) != 0) or ((((_la - 159)) & ~0x3f) == 0 and ((1 << (_la - 159)) & ((1 << (frameQLParser.UNLOCK - 159)) | (1 << (frameQLParser.UPDATE - 159)) | (1 << (frameQLParser.USE - 159)) | (1 << (frameQLParser.WHILE - 159)) | (1 << (frameQLParser.DATE - 159)) | (1 << (frameQLParser.TIME - 159)) | (1 << (frameQLParser.TIMESTAMP - 159)) | (1 << (frameQLParser.DATETIME - 159)) | (1 << (frameQLParser.YEAR - 159)) | (1 << (frameQLParser.TEXT - 159)) | (1 << (frameQLParser.ENUM - 159)) | (1 << (frameQLParser.SERIAL - 159)) | (1 << (frameQLParser.COUNT - 159)))) != 0) or ((((_la - 242)) & ~0x3f) == 0 and ((1 << (_la - 242)) & ((1 << (frameQLParser.POSITION - 242)) | (1 << (frameQLParser.ACCOUNT - 242)) | (1 << (frameQLParser.ACTION - 242)) | (1 << (frameQLParser.AFTER - 242)) | (1 << (frameQLParser.AGGREGATE - 242)) | (1 << (frameQLParser.ALGORITHM - 242)) | (1 << (frameQLParser.ANY - 242)) | (1 << (frameQLParser.AT - 242)) | (1 << (frameQLParser.AUTHORS - 242)) | (1 << (frameQLParser.AUTOCOMMIT - 242)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 242)) | (1 << (frameQLParser.AUTO_INCREMENT - 242)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 242)) | (1 << (frameQLParser.BEGIN - 242)) | (1 << (frameQLParser.BINLOG - 242)) | (1 << (frameQLParser.BIT - 242)) | (1 << (frameQLParser.BLOCK - 242)) | (1 << (frameQLParser.BOOL - 242)) | (1 << (frameQLParser.BOOLEAN - 242)) | (1 << (frameQLParser.BTREE - 242)) | (1 << (frameQLParser.CACHE - 242)) | (1 << (frameQLParser.CASCADED - 242)) | (1 << (frameQLParser.CHAIN - 242)) | (1 << (frameQLParser.CHANGED - 242)) | (1 << (frameQLParser.CHANNEL - 242)) | (1 << (frameQLParser.CHECKSUM - 242)) | (1 << (frameQLParser.CIPHER - 242)) | (1 << (frameQLParser.CLIENT - 242)) | (1 << (frameQLParser.CLOSE - 242)) | (1 << (frameQLParser.COALESCE - 242)) | (1 << (frameQLParser.CODE - 242)) | (1 << (frameQLParser.COLUMNS - 242)) | (1 << (frameQLParser.COLUMN_FORMAT - 242)) | (1 << (frameQLParser.COMMENT - 242)) | (1 << (frameQLParser.COMMIT - 242)) | (1 << (frameQLParser.COMPACT - 242)) | (1 << (frameQLParser.COMPLETION - 242)) | (1 << (frameQLParser.COMPRESSED - 242)) | (1 << (frameQLParser.COMPRESSION - 242)) | (1 << (frameQLParser.CONCURRENT - 242)) | (1 << (frameQLParser.CONNECTION - 242)) | (1 << (frameQLParser.CONSISTENT - 242)) | (1 << (frameQLParser.CONTAINS - 242)) | (1 << (frameQLParser.CONTEXT - 242)) | (1 << (frameQLParser.CONTRIBUTORS - 242)) | (1 << (frameQLParser.COPY - 242)) | (1 << (frameQLParser.CPU - 242)) | (1 << (frameQLParser.DATA - 242)) | (1 << (frameQLParser.DATAFILE - 242)) | (1 << (frameQLParser.DEALLOCATE - 242)) | (1 << (frameQLParser.DEFAULT_AUTH - 242)) | (1 << (frameQLParser.DEFINER - 242)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 242)) | (1 << (frameQLParser.DIRECTORY - 242)) | (1 << (frameQLParser.DISABLE - 242)) | (1 << (frameQLParser.DISCARD - 242)))) != 0) or ((((_la - 306)) & ~0x3f) == 0 and ((1 << (_la - 306)) & ((1 << (frameQLParser.DISK - 306)) | (1 << (frameQLParser.DO - 306)) | (1 << (frameQLParser.DUMPFILE - 306)) | (1 << (frameQLParser.DUPLICATE - 306)) | (1 << (frameQLParser.DYNAMIC - 306)) | (1 << (frameQLParser.ENABLE - 306)) | (1 << (frameQLParser.ENCRYPTION - 306)) | (1 << (frameQLParser.ENDS - 306)) | (1 << (frameQLParser.ENGINE - 306)) | (1 << (frameQLParser.ENGINES - 306)) | (1 << (frameQLParser.ERROR - 306)) | (1 << (frameQLParser.ERRORS - 306)) | (1 << (frameQLParser.ESCAPE - 306)) | (1 << (frameQLParser.EVEN - 306)) | (1 << (frameQLParser.EVENT - 306)) | (1 << (frameQLParser.EVENTS - 306)) | (1 << (frameQLParser.EVERY - 306)) | (1 << (frameQLParser.EXCHANGE - 306)) | (1 << (frameQLParser.EXCLUSIVE - 306)) | (1 << (frameQLParser.EXPIRE - 306)) | (1 << (frameQLParser.EXTENDED - 306)) | (1 << (frameQLParser.EXTENT_SIZE - 306)) | (1 << (frameQLParser.FAST - 306)) | (1 << (frameQLParser.FAULTS - 306)) | (1 << (frameQLParser.FIELDS - 306)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 306)) | (1 << (frameQLParser.FILTER - 306)) | (1 << (frameQLParser.FIRST - 306)) | (1 << (frameQLParser.FIXED - 306)) | (1 << (frameQLParser.FLUSH - 306)) | (1 << (frameQLParser.FOLLOWS - 306)) | (1 << (frameQLParser.FULL - 306)) | (1 << (frameQLParser.FUNCTION - 306)) | (1 << (frameQLParser.GLOBAL - 306)) | (1 << (frameQLParser.GRANTS - 306)) | (1 << (frameQLParser.GROUP_REPLICATION - 306)) | (1 << (frameQLParser.HANDLER - 306)) | (1 << (frameQLParser.HASH - 306)) | (1 << (frameQLParser.HELP - 306)) | (1 << (frameQLParser.HOST - 306)) | (1 << (frameQLParser.IDENTIFIED - 306)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 306)) | (1 << (frameQLParser.IMPORT - 306)) | (1 << (frameQLParser.INDEXES - 306)) | (1 << (frameQLParser.INITIAL_SIZE - 306)) | (1 << (frameQLParser.INPLACE - 306)) | (1 << (frameQLParser.INSERT_METHOD - 306)) | (1 << (frameQLParser.INSTALL - 306)) | (1 << (frameQLParser.INSTANCE - 306)) | (1 << (frameQLParser.INVOKER - 306)) | (1 << (frameQLParser.IO - 306)) | (1 << (frameQLParser.IO_THREAD - 306)) | (1 << (frameQLParser.IPC - 306)) | (1 << (frameQLParser.ISOLATION - 306)) | (1 << (frameQLParser.ISSUER - 306)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 306)) | (1 << (frameQLParser.LANGUAGE - 306)) | (1 << (frameQLParser.LAST - 306)))) != 0) or ((((_la - 370)) & ~0x3f) == 0 and ((1 << (_la - 370)) & ((1 << (frameQLParser.LEAVES - 370)) | (1 << (frameQLParser.LESS - 370)) | (1 << (frameQLParser.LEVEL - 370)) | (1 << (frameQLParser.LIST - 370)) | (1 << (frameQLParser.LOCAL - 370)) | (1 << (frameQLParser.LOGFILE - 370)) | (1 << (frameQLParser.LOGS - 370)) | (1 << (frameQLParser.MASTER - 370)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 370)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 370)) | (1 << (frameQLParser.MASTER_DELAY - 370)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 370)) | (1 << (frameQLParser.MASTER_HOST - 370)) | (1 << (frameQLParser.MASTER_LOG_FILE - 370)) | (1 << (frameQLParser.MASTER_LOG_POS - 370)) | (1 << (frameQLParser.MASTER_PASSWORD - 370)) | (1 << (frameQLParser.MASTER_PORT - 370)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 370)) | (1 << (frameQLParser.MASTER_SSL - 370)) | (1 << (frameQLParser.MASTER_SSL_CA - 370)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_CERT - 370)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 370)) | (1 << (frameQLParser.MASTER_SSL_CRL - 370)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_KEY - 370)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 370)) | (1 << (frameQLParser.MASTER_USER - 370)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_ROWS - 370)) | (1 << (frameQLParser.MAX_SIZE - 370)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 370)) | (1 << (frameQLParser.MEDIUM - 370)) | (1 << (frameQLParser.MERGE - 370)) | (1 << (frameQLParser.MID - 370)) | (1 << (frameQLParser.MIGRATE - 370)) | (1 << (frameQLParser.MIN_ROWS - 370)) | (1 << (frameQLParser.MODIFY - 370)) | (1 << (frameQLParser.MUTEX - 370)) | (1 << (frameQLParser.MYSQL - 370)) | (1 << (frameQLParser.NAME - 370)) | (1 << (frameQLParser.NAMES - 370)) | (1 << (frameQLParser.NCHAR - 370)) | (1 << (frameQLParser.NEVER - 370)) | (1 << (frameQLParser.NO - 370)) | (1 << (frameQLParser.NODEGROUP - 370)) | (1 << (frameQLParser.NONE - 370)) | (1 << (frameQLParser.OFFLINE - 370)) | (1 << (frameQLParser.OFFSET - 370)) | (1 << (frameQLParser.OJ - 370)) | (1 << (frameQLParser.OLD_PASSWORD - 370)) | (1 << (frameQLParser.ONE - 370)) | (1 << (frameQLParser.ONLINE - 370)) | (1 << (frameQLParser.ONLY - 370)) | (1 << (frameQLParser.OPEN - 370)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 370)) | (1 << (frameQLParser.OPTIONS - 370)) | (1 << (frameQLParser.OWNER - 370)) | (1 << (frameQLParser.PACK_KEYS - 370)) | (1 << (frameQLParser.PAGE - 370)))) != 0) or ((((_la - 434)) & ~0x3f) == 0 and ((1 << (_la - 434)) & ((1 << (frameQLParser.PARSER - 434)) | (1 << (frameQLParser.PARTIAL - 434)) | (1 << (frameQLParser.PARTITIONING - 434)) | (1 << (frameQLParser.PARTITIONS - 434)) | (1 << (frameQLParser.PASSWORD - 434)) | (1 << (frameQLParser.PHASE - 434)) | (1 << (frameQLParser.PLUGIN_DIR - 434)) | (1 << (frameQLParser.PLUGINS - 434)) | (1 << (frameQLParser.PORT - 434)) | (1 << (frameQLParser.PRECEDES - 434)) | (1 << (frameQLParser.PREPARE - 434)) | (1 << (frameQLParser.PRESERVE - 434)) | (1 << (frameQLParser.PREV - 434)) | (1 << (frameQLParser.PROCESSLIST - 434)) | (1 << (frameQLParser.PROFILE - 434)) | (1 << (frameQLParser.PROFILES - 434)) | (1 << (frameQLParser.PROXY - 434)) | (1 << (frameQLParser.QUERY - 434)) | (1 << (frameQLParser.QUICK - 434)) | (1 << (frameQLParser.REBUILD - 434)) | (1 << (frameQLParser.RECOVER - 434)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 434)) | (1 << (frameQLParser.REDUNDANT - 434)) | (1 << (frameQLParser.RELAY_LOG_FILE - 434)) | (1 << (frameQLParser.RELAY_LOG_POS - 434)) | (1 << (frameQLParser.RELAYLOG - 434)) | (1 << (frameQLParser.REMOVE - 434)) | (1 << (frameQLParser.REORGANIZE - 434)) | (1 << (frameQLParser.REPAIR - 434)) | (1 << (frameQLParser.REPLICATE_DO_DB - 434)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 434)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATION - 434)) | (1 << (frameQLParser.RESET - 434)) | (1 << (frameQLParser.RESUME - 434)) | (1 << (frameQLParser.RETURNS - 434)) | (1 << (frameQLParser.ROLLBACK - 434)) | (1 << (frameQLParser.ROLLUP - 434)) | (1 << (frameQLParser.ROTATE - 434)) | (1 << (frameQLParser.ROW - 434)) | (1 << (frameQLParser.ROWS - 434)) | (1 << (frameQLParser.ROW_FORMAT - 434)) | (1 << (frameQLParser.SAVEPOINT - 434)) | (1 << (frameQLParser.SCHEDULE - 434)) | (1 << (frameQLParser.SECURITY - 434)) | (1 << (frameQLParser.SERVER - 434)) | (1 << (frameQLParser.SESSION - 434)) | (1 << (frameQLParser.SHARE - 434)) | (1 << (frameQLParser.SHARED - 434)) | (1 << (frameQLParser.SIGNED - 434)) | (1 << (frameQLParser.SIMPLE - 434)) | (1 << (frameQLParser.SLAVE - 434)) | (1 << (frameQLParser.SNAPSHOT - 434)) | (1 << (frameQLParser.SOCKET - 434)) | (1 << (frameQLParser.SOME - 434)) | (1 << (frameQLParser.SOUNDS - 434)))) != 0) or ((((_la - 498)) & ~0x3f) == 0 and ((1 << (_la - 498)) & ((1 << (frameQLParser.SOURCE - 498)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 498)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 498)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 498)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 498)) | (1 << (frameQLParser.SQL_CACHE - 498)) | (1 << (frameQLParser.SQL_NO_CACHE - 498)) | (1 << (frameQLParser.SQL_THREAD - 498)) | (1 << (frameQLParser.START - 498)) | (1 << (frameQLParser.STARTS - 498)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 498)) | (1 << (frameQLParser.STATS_PERSISTENT - 498)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 498)) | (1 << (frameQLParser.STATUS - 498)) | (1 << (frameQLParser.STOP - 498)) | (1 << (frameQLParser.STORAGE - 498)) | (1 << (frameQLParser.STRING - 498)) | (1 << (frameQLParser.SUBJECT - 498)) | (1 << (frameQLParser.SUBPARTITION - 498)) | (1 << (frameQLParser.SUBPARTITIONS - 498)) | (1 << (frameQLParser.SUSPEND - 498)) | (1 << (frameQLParser.SWAPS - 498)) | (1 << (frameQLParser.SWITCHES - 498)) | (1 << (frameQLParser.TABLESPACE - 498)) | (1 << (frameQLParser.TEMPORARY - 498)) | (1 << (frameQLParser.TEMPTABLE - 498)) | (1 << (frameQLParser.THAN - 498)) | (1 << (frameQLParser.TRANSACTION - 498)) | (1 << (frameQLParser.TRUNCATE - 498)) | (1 << (frameQLParser.UNDEFINED - 498)) | (1 << (frameQLParser.UNDOFILE - 498)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 498)) | (1 << (frameQLParser.UNINSTALL - 498)) | (1 << (frameQLParser.UNKNOWN - 498)) | (1 << (frameQLParser.UPGRADE - 498)) | (1 << (frameQLParser.USER - 498)) | (1 << (frameQLParser.VALIDATION - 498)) | (1 << (frameQLParser.VALUE - 498)) | (1 << (frameQLParser.VARIABLES - 498)) | (1 << (frameQLParser.VIEW - 498)) | (1 << (frameQLParser.WAIT - 498)) | (1 << (frameQLParser.WARNINGS - 498)) | (1 << (frameQLParser.WITHOUT - 498)) | (1 << (frameQLParser.WORK - 498)) | (1 << (frameQLParser.WRAPPER - 498)) | (1 << (frameQLParser.X509 - 498)) | (1 << (frameQLParser.XA - 498)) | (1 << (frameQLParser.XML - 498)) | (1 << (frameQLParser.QUARTER - 498)) | (1 << (frameQLParser.MONTH - 498)) | (1 << (frameQLParser.DAY - 498)) | (1 << (frameQLParser.HOUR - 498)))) != 0) or ((((_la - 562)) & ~0x3f) == 0 and ((1 << (_la - 562)) & ((1 << (frameQLParser.MINUTE - 562)) | (1 << (frameQLParser.WEEK - 562)) | (1 << (frameQLParser.SECOND - 562)) | (1 << (frameQLParser.MICROSECOND - 562)) | (1 << (frameQLParser.TABLES - 562)) | (1 << (frameQLParser.ROUTINE - 562)) | (1 << (frameQLParser.EXECUTE - 562)) | (1 << (frameQLParser.FILE - 562)) | (1 << (frameQLParser.PROCESS - 562)) | (1 << (frameQLParser.RELOAD - 562)) | (1 << (frameQLParser.SHUTDOWN - 562)) | (1 << (frameQLParser.SUPER - 562)) | (1 << (frameQLParser.PRIVILEGES - 562)) | (1 << (frameQLParser.ARMSCII8 - 562)) | (1 << (frameQLParser.ASCII - 562)) | (1 << (frameQLParser.BIG5 - 562)) | (1 << (frameQLParser.CP1250 - 562)) | (1 << (frameQLParser.CP1251 - 562)) | (1 << (frameQLParser.CP1256 - 562)) | (1 << (frameQLParser.CP1257 - 562)) | (1 << (frameQLParser.CP850 - 562)) | (1 << (frameQLParser.CP852 - 562)) | (1 << (frameQLParser.CP866 - 562)) | (1 << (frameQLParser.CP932 - 562)) | (1 << (frameQLParser.DEC8 - 562)) | (1 << (frameQLParser.EUCJPMS - 562)) | (1 << (frameQLParser.EUCKR - 562)) | (1 << (frameQLParser.GB2312 - 562)) | (1 << (frameQLParser.GBK - 562)) | (1 << (frameQLParser.GEOSTD8 - 562)) | (1 << (frameQLParser.GREEK - 562)) | (1 << (frameQLParser.HEBREW - 562)) | (1 << (frameQLParser.HP8 - 562)) | (1 << (frameQLParser.KEYBCS2 - 562)) | (1 << (frameQLParser.KOI8R - 562)) | (1 << (frameQLParser.KOI8U - 562)) | (1 << (frameQLParser.LATIN1 - 562)) | (1 << (frameQLParser.LATIN2 - 562)) | (1 << (frameQLParser.LATIN5 - 562)) | (1 << (frameQLParser.LATIN7 - 562)) | (1 << (frameQLParser.MACCE - 562)) | (1 << (frameQLParser.MACROMAN - 562)) | (1 << (frameQLParser.SJIS - 562)) | (1 << (frameQLParser.SWE7 - 562)) | (1 << (frameQLParser.TIS620 - 562)) | (1 << (frameQLParser.UCS2 - 562)) | (1 << (frameQLParser.UJIS - 562)) | (1 << (frameQLParser.UTF16 - 562)) | (1 << (frameQLParser.UTF16LE - 562)) | (1 << (frameQLParser.UTF32 - 562)) | (1 << (frameQLParser.UTF8 - 562)) | (1 << (frameQLParser.UTF8MB3 - 562)) | (1 << (frameQLParser.UTF8MB4 - 562)) | (1 << (frameQLParser.ARCHIVE - 562)) | (1 << (frameQLParser.BLACKHOLE - 562)) | (1 << (frameQLParser.CSV - 562)) | (1 << (frameQLParser.FEDERATED - 562)) | (1 << (frameQLParser.INNODB - 562)) | (1 << (frameQLParser.MEMORY - 562)) | (1 << (frameQLParser.MRG_MYISAM - 562)) | (1 << (frameQLParser.MYISAM - 562)) | (1 << (frameQLParser.NDB - 562)) | (1 << (frameQLParser.NDBCLUSTER - 562)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 562)))) != 0) or ((((_la - 626)) & ~0x3f) == 0 and ((1 << (_la - 626)) & ((1 << (frameQLParser.REPEATABLE - 626)) | (1 << (frameQLParser.COMMITTED - 626)) | (1 << (frameQLParser.UNCOMMITTED - 626)) | (1 << (frameQLParser.SERIALIZABLE - 626)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 626)) | (1 << (frameQLParser.LINESTRING - 626)) | (1 << (frameQLParser.MULTILINESTRING - 626)) | (1 << (frameQLParser.MULTIPOINT - 626)) | (1 << (frameQLParser.MULTIPOLYGON - 626)) | (1 << (frameQLParser.POINT - 626)) | (1 << (frameQLParser.POLYGON - 626)) | (1 << (frameQLParser.ABS - 626)) | (1 << (frameQLParser.ACOS - 626)) | (1 << (frameQLParser.ADDDATE - 626)) | (1 << (frameQLParser.ADDTIME - 626)) | (1 << (frameQLParser.AES_DECRYPT - 626)) | (1 << (frameQLParser.AES_ENCRYPT - 626)) | (1 << (frameQLParser.AREA - 626)) | (1 << (frameQLParser.ASBINARY - 626)) | (1 << (frameQLParser.ASIN - 626)) | (1 << (frameQLParser.ASTEXT - 626)) | (1 << (frameQLParser.ASWKB - 626)) | (1 << (frameQLParser.ASWKT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 626)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 626)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 626)) | (1 << (frameQLParser.ATAN - 626)) | (1 << (frameQLParser.ATAN2 - 626)) | (1 << (frameQLParser.BENCHMARK - 626)) | (1 << (frameQLParser.BIN - 626)) | (1 << (frameQLParser.BIT_COUNT - 626)) | (1 << (frameQLParser.BIT_LENGTH - 626)) | (1 << (frameQLParser.BUFFER - 626)) | (1 << (frameQLParser.CEIL - 626)) | (1 << (frameQLParser.CEILING - 626)) | (1 << (frameQLParser.CENTROID - 626)) | (1 << (frameQLParser.CHARACTER_LENGTH - 626)) | (1 << (frameQLParser.CHARSET - 626)) | (1 << (frameQLParser.CHAR_LENGTH - 626)) | (1 << (frameQLParser.COERCIBILITY - 626)) | (1 << (frameQLParser.COLLATION - 626)) | (1 << (frameQLParser.COMPRESS - 626)) | (1 << (frameQLParser.CONCAT - 626)) | (1 << (frameQLParser.CONCAT_WS - 626)) | (1 << (frameQLParser.CONNECTION_ID - 626)) | (1 << (frameQLParser.CONV - 626)) | (1 << (frameQLParser.CONVERT_TZ - 626)) | (1 << (frameQLParser.COS - 626)) | (1 << (frameQLParser.COT - 626)) | (1 << (frameQLParser.CRC32 - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 626)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 626)) | (1 << (frameQLParser.CREATE_DIGEST - 626)) | (1 << (frameQLParser.CROSSES - 626)) | (1 << (frameQLParser.DATEDIFF - 626)) | (1 << (frameQLParser.DATE_FORMAT - 626)) | (1 << (frameQLParser.DAYNAME - 626)) | (1 << (frameQLParser.DAYOFMONTH - 626)) | (1 << (frameQLParser.DAYOFWEEK - 626)) | (1 << (frameQLParser.DAYOFYEAR - 626)) | (1 << (frameQLParser.DECODE - 626)))) != 0) or ((((_la - 690)) & ~0x3f) == 0 and ((1 << (_la - 690)) & ((1 << (frameQLParser.DEGREES - 690)) | (1 << (frameQLParser.DES_DECRYPT - 690)) | (1 << (frameQLParser.DES_ENCRYPT - 690)) | (1 << (frameQLParser.DIMENSION - 690)) | (1 << (frameQLParser.DISJOINT - 690)) | (1 << (frameQLParser.ELT - 690)) | (1 << (frameQLParser.ENCODE - 690)) | (1 << (frameQLParser.ENCRYPT - 690)) | (1 << (frameQLParser.ENDPOINT - 690)) | (1 << (frameQLParser.ENVELOPE - 690)) | (1 << (frameQLParser.EQUALS - 690)) | (1 << (frameQLParser.EXP - 690)) | (1 << (frameQLParser.EXPORT_SET - 690)) | (1 << (frameQLParser.EXTERIORRING - 690)) | (1 << (frameQLParser.EXTRACTVALUE - 690)) | (1 << (frameQLParser.FIELD - 690)) | (1 << (frameQLParser.FIND_IN_SET - 690)) | (1 << (frameQLParser.FLOOR - 690)) | (1 << (frameQLParser.FORMAT - 690)) | (1 << (frameQLParser.FOUND_ROWS - 690)) | (1 << (frameQLParser.FROM_BASE64 - 690)) | (1 << (frameQLParser.FROM_DAYS - 690)) | (1 << (frameQLParser.FROM_UNIXTIME - 690)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 690)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYN - 690)) | (1 << (frameQLParser.GEOMETRYTYPE - 690)) | (1 << (frameQLParser.GEOMFROMTEXT - 690)) | (1 << (frameQLParser.GEOMFROMWKB - 690)) | (1 << (frameQLParser.GET_FORMAT - 690)) | (1 << (frameQLParser.GET_LOCK - 690)) | (1 << (frameQLParser.GLENGTH - 690)) | (1 << (frameQLParser.GREATEST - 690)) | (1 << (frameQLParser.GTID_SUBSET - 690)) | (1 << (frameQLParser.GTID_SUBTRACT - 690)) | (1 << (frameQLParser.HEX - 690)) | (1 << (frameQLParser.IFNULL - 690)) | (1 << (frameQLParser.INET6_ATON - 690)) | (1 << (frameQLParser.INET6_NTOA - 690)) | (1 << (frameQLParser.INET_ATON - 690)) | (1 << (frameQLParser.INET_NTOA - 690)) | (1 << (frameQLParser.INSTR - 690)) | (1 << (frameQLParser.INTERIORRINGN - 690)) | (1 << (frameQLParser.INTERSECTS - 690)) | (1 << (frameQLParser.ISCLOSED - 690)) | (1 << (frameQLParser.ISEMPTY - 690)) | (1 << (frameQLParser.ISNULL - 690)) | (1 << (frameQLParser.ISSIMPLE - 690)) | (1 << (frameQLParser.IS_FREE_LOCK - 690)) | (1 << (frameQLParser.IS_IPV4 - 690)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 690)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 690)) | (1 << (frameQLParser.IS_IPV6 - 690)) | (1 << (frameQLParser.IS_USED_LOCK - 690)) | (1 << (frameQLParser.LAST_INSERT_ID - 690)) | (1 << (frameQLParser.LCASE - 690)) | (1 << (frameQLParser.LEAST - 690)) | (1 << (frameQLParser.LENGTH - 690)) | (1 << (frameQLParser.LINEFROMTEXT - 690)) | (1 << (frameQLParser.LINEFROMWKB - 690)))) != 0) or ((((_la - 754)) & ~0x3f) == 0 and ((1 << (_la - 754)) & ((1 << (frameQLParser.LINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.LN - 754)) | (1 << (frameQLParser.LOAD_FILE - 754)) | (1 << (frameQLParser.LOCATE - 754)) | (1 << (frameQLParser.LOG - 754)) | (1 << (frameQLParser.LOG10 - 754)) | (1 << (frameQLParser.LOG2 - 754)) | (1 << (frameQLParser.LOWER - 754)) | (1 << (frameQLParser.LPAD - 754)) | (1 << (frameQLParser.LTRIM - 754)) | (1 << (frameQLParser.MAKEDATE - 754)) | (1 << (frameQLParser.MAKETIME - 754)) | (1 << (frameQLParser.MAKE_SET - 754)) | (1 << (frameQLParser.MASTER_POS_WAIT - 754)) | (1 << (frameQLParser.MBRCONTAINS - 754)) | (1 << (frameQLParser.MBRDISJOINT - 754)) | (1 << (frameQLParser.MBREQUAL - 754)) | (1 << (frameQLParser.MBRINTERSECTS - 754)) | (1 << (frameQLParser.MBROVERLAPS - 754)) | (1 << (frameQLParser.MBRTOUCHES - 754)) | (1 << (frameQLParser.MBRWITHIN - 754)) | (1 << (frameQLParser.MD5 - 754)) | (1 << (frameQLParser.MLINEFROMTEXT - 754)) | (1 << (frameQLParser.MLINEFROMWKB - 754)) | (1 << (frameQLParser.MONTHNAME - 754)) | (1 << (frameQLParser.MPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MPOINTFROMWKB - 754)) | (1 << (frameQLParser.MPOLYFROMTEXT - 754)) | (1 << (frameQLParser.MPOLYFROMWKB - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 754)) | (1 << (frameQLParser.NAME_CONST - 754)) | (1 << (frameQLParser.NULLIF - 754)) | (1 << (frameQLParser.NUMGEOMETRIES - 754)) | (1 << (frameQLParser.NUMINTERIORRINGS - 754)) | (1 << (frameQLParser.NUMPOINTS - 754)) | (1 << (frameQLParser.OCT - 754)) | (1 << (frameQLParser.OCTET_LENGTH - 754)) | (1 << (frameQLParser.ORD - 754)) | (1 << (frameQLParser.OVERLAPS - 754)) | (1 << (frameQLParser.PERIOD_ADD - 754)) | (1 << (frameQLParser.PERIOD_DIFF - 754)) | (1 << (frameQLParser.PI - 754)) | (1 << (frameQLParser.POINTFROMTEXT - 754)) | (1 << (frameQLParser.POINTFROMWKB - 754)) | (1 << (frameQLParser.POINTN - 754)) | (1 << (frameQLParser.POLYFROMTEXT - 754)) | (1 << (frameQLParser.POLYFROMWKB - 754)) | (1 << (frameQLParser.POLYGONFROMTEXT - 754)) | (1 << (frameQLParser.POLYGONFROMWKB - 754)) | (1 << (frameQLParser.POW - 754)) | (1 << (frameQLParser.POWER - 754)) | (1 << (frameQLParser.QUOTE - 754)) | (1 << (frameQLParser.RADIANS - 754)) | (1 << (frameQLParser.RAND - 754)) | (1 << (frameQLParser.RANDOM_BYTES - 754)) | (1 << (frameQLParser.RELEASE_LOCK - 754)) | (1 << (frameQLParser.REVERSE - 754)) | (1 << (frameQLParser.ROUND - 754)))) != 0) or ((((_la - 818)) & ~0x3f) == 0 and ((1 << (_la - 818)) & ((1 << (frameQLParser.ROW_COUNT - 818)) | (1 << (frameQLParser.RPAD - 818)) | (1 << (frameQLParser.RTRIM - 818)) | (1 << (frameQLParser.SEC_TO_TIME - 818)) | (1 << (frameQLParser.SESSION_USER - 818)) | (1 << (frameQLParser.SHA - 818)) | (1 << (frameQLParser.SHA1 - 818)) | (1 << (frameQLParser.SHA2 - 818)) | (1 << (frameQLParser.SIGN - 818)) | (1 << (frameQLParser.SIN - 818)) | (1 << (frameQLParser.SLEEP - 818)) | (1 << (frameQLParser.SOUNDEX - 818)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 818)) | (1 << (frameQLParser.SQRT - 818)) | (1 << (frameQLParser.SRID - 818)) | (1 << (frameQLParser.STARTPOINT - 818)) | (1 << (frameQLParser.STRCMP - 818)) | (1 << (frameQLParser.STR_TO_DATE - 818)) | (1 << (frameQLParser.ST_AREA - 818)) | (1 << (frameQLParser.ST_ASBINARY - 818)) | (1 << (frameQLParser.ST_ASTEXT - 818)) | (1 << (frameQLParser.ST_ASWKB - 818)) | (1 << (frameQLParser.ST_ASWKT - 818)) | (1 << (frameQLParser.ST_BUFFER - 818)) | (1 << (frameQLParser.ST_CENTROID - 818)) | (1 << (frameQLParser.ST_CONTAINS - 818)) | (1 << (frameQLParser.ST_CROSSES - 818)) | (1 << (frameQLParser.ST_DIFFERENCE - 818)) | (1 << (frameQLParser.ST_DIMENSION - 818)) | (1 << (frameQLParser.ST_DISJOINT - 818)) | (1 << (frameQLParser.ST_DISTANCE - 818)) | (1 << (frameQLParser.ST_ENDPOINT - 818)) | (1 << (frameQLParser.ST_ENVELOPE - 818)) | (1 << (frameQLParser.ST_EQUALS - 818)) | (1 << (frameQLParser.ST_EXTERIORRING - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYN - 818)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 818)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 818)) | (1 << (frameQLParser.ST_INTERIORRINGN - 818)) | (1 << (frameQLParser.ST_INTERSECTION - 818)) | (1 << (frameQLParser.ST_INTERSECTS - 818)) | (1 << (frameQLParser.ST_ISCLOSED - 818)) | (1 << (frameQLParser.ST_ISEMPTY - 818)) | (1 << (frameQLParser.ST_ISSIMPLE - 818)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINEFROMWKB - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 818)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 818)) | (1 << (frameQLParser.ST_NUMPOINTS - 818)) | (1 << (frameQLParser.ST_OVERLAPS - 818)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 818)) | (1 << (frameQLParser.ST_POINTFROMWKB - 818)) | (1 << (frameQLParser.ST_POINTN - 818)))) != 0) or ((((_la - 882)) & ~0x3f) == 0 and ((1 << (_la - 882)) & ((1 << (frameQLParser.ST_POLYFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYFROMWKB - 882)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 882)) | (1 << (frameQLParser.ST_SRID - 882)) | (1 << (frameQLParser.ST_STARTPOINT - 882)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 882)) | (1 << (frameQLParser.ST_TOUCHES - 882)) | (1 << (frameQLParser.ST_UNION - 882)) | (1 << (frameQLParser.ST_WITHIN - 882)) | (1 << (frameQLParser.ST_X - 882)) | (1 << (frameQLParser.ST_Y - 882)) | (1 << (frameQLParser.SUBDATE - 882)) | (1 << (frameQLParser.SUBSTRING_INDEX - 882)) | (1 << (frameQLParser.SUBTIME - 882)) | (1 << (frameQLParser.SYSTEM_USER - 882)) | (1 << (frameQLParser.TAN - 882)) | (1 << (frameQLParser.TIMEDIFF - 882)) | (1 << (frameQLParser.TIMESTAMPADD - 882)) | (1 << (frameQLParser.TIMESTAMPDIFF - 882)) | (1 << (frameQLParser.TIME_FORMAT - 882)) | (1 << (frameQLParser.TIME_TO_SEC - 882)) | (1 << (frameQLParser.TOUCHES - 882)) | (1 << (frameQLParser.TO_BASE64 - 882)) | (1 << (frameQLParser.TO_DAYS - 882)) | (1 << (frameQLParser.TO_SECONDS - 882)) | (1 << (frameQLParser.UCASE - 882)) | (1 << (frameQLParser.UNCOMPRESS - 882)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 882)) | (1 << (frameQLParser.UNHEX - 882)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 882)) | (1 << (frameQLParser.UPDATEXML - 882)) | (1 << (frameQLParser.UPPER - 882)) | (1 << (frameQLParser.UUID - 882)) | (1 << (frameQLParser.UUID_SHORT - 882)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 882)) | (1 << (frameQLParser.VERSION - 882)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 882)) | (1 << (frameQLParser.WEEKDAY - 882)) | (1 << (frameQLParser.WEEKOFYEAR - 882)) | (1 << (frameQLParser.WEIGHT_STRING - 882)) | (1 << (frameQLParser.WITHIN - 882)) | (1 << (frameQLParser.YEARWEEK - 882)) | (1 << (frameQLParser.Y_FUNCTION - 882)) | (1 << (frameQLParser.X_FUNCTION - 882)))) != 0) or ((((_la - 953)) & ~0x3f) == 0 and ((1 << (_la - 953)) & ((1 << (frameQLParser.LR_BRACKET - 953)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 953)) | (1 << (frameQLParser.STRING_LITERAL - 953)) | (1 << (frameQLParser.ID - 953)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 953)))) != 0)): - break - - self.state = 4108 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.ELSEIF: - self.state = 4105 - self.elifAlternative() - self.state = 4110 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 4117 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ELSE: - self.state = 4111 - self.match(frameQLParser.ELSE) - self.state = 4113 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4112 - localctx._procedureSqlStatement = self.procedureSqlStatement() - localctx.elseStatements.append(localctx._procedureSqlStatement) - self.state = 4115 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 9)) & ~0x3f) == 0 and ((1 << (_la - 9)) & ((1 << (frameQLParser.ALTER - 9)) | (1 << (frameQLParser.ANALYZE - 9)) | (1 << (frameQLParser.CALL - 9)) | (1 << (frameQLParser.CASE - 9)) | (1 << (frameQLParser.CHANGE - 9)) | (1 << (frameQLParser.CHECK - 9)) | (1 << (frameQLParser.CREATE - 9)) | (1 << (frameQLParser.DATABASE - 9)) | (1 << (frameQLParser.DELETE - 9)) | (1 << (frameQLParser.DESC - 9)) | (1 << (frameQLParser.DESCRIBE - 9)) | (1 << (frameQLParser.DROP - 9)) | (1 << (frameQLParser.EXPLAIN - 9)) | (1 << (frameQLParser.FETCH - 9)) | (1 << (frameQLParser.GRANT - 9)) | (1 << (frameQLParser.IF - 9)))) != 0) or ((((_la - 75)) & ~0x3f) == 0 and ((1 << (_la - 75)) & ((1 << (frameQLParser.INSERT - 75)) | (1 << (frameQLParser.ITERATE - 75)) | (1 << (frameQLParser.KILL - 75)) | (1 << (frameQLParser.LEAVE - 75)) | (1 << (frameQLParser.LEFT - 75)) | (1 << (frameQLParser.LOAD - 75)) | (1 << (frameQLParser.LOCK - 75)) | (1 << (frameQLParser.LOOP - 75)) | (1 << (frameQLParser.OPTIMIZE - 75)) | (1 << (frameQLParser.PURGE - 75)) | (1 << (frameQLParser.RELEASE - 75)) | (1 << (frameQLParser.RENAME - 75)) | (1 << (frameQLParser.REPEAT - 75)) | (1 << (frameQLParser.REPLACE - 75)) | (1 << (frameQLParser.RETURN - 75)) | (1 << (frameQLParser.REVOKE - 75)) | (1 << (frameQLParser.RIGHT - 75)) | (1 << (frameQLParser.SELECT - 75)) | (1 << (frameQLParser.SET - 75)) | (1 << (frameQLParser.SHOW - 75)))) != 0) or ((((_la - 159)) & ~0x3f) == 0 and ((1 << (_la - 159)) & ((1 << (frameQLParser.UNLOCK - 159)) | (1 << (frameQLParser.UPDATE - 159)) | (1 << (frameQLParser.USE - 159)) | (1 << (frameQLParser.WHILE - 159)) | (1 << (frameQLParser.DATE - 159)) | (1 << (frameQLParser.TIME - 159)) | (1 << (frameQLParser.TIMESTAMP - 159)) | (1 << (frameQLParser.DATETIME - 159)) | (1 << (frameQLParser.YEAR - 159)) | (1 << (frameQLParser.TEXT - 159)) | (1 << (frameQLParser.ENUM - 159)) | (1 << (frameQLParser.SERIAL - 159)) | (1 << (frameQLParser.COUNT - 159)))) != 0) or ((((_la - 242)) & ~0x3f) == 0 and ((1 << (_la - 242)) & ((1 << (frameQLParser.POSITION - 242)) | (1 << (frameQLParser.ACCOUNT - 242)) | (1 << (frameQLParser.ACTION - 242)) | (1 << (frameQLParser.AFTER - 242)) | (1 << (frameQLParser.AGGREGATE - 242)) | (1 << (frameQLParser.ALGORITHM - 242)) | (1 << (frameQLParser.ANY - 242)) | (1 << (frameQLParser.AT - 242)) | (1 << (frameQLParser.AUTHORS - 242)) | (1 << (frameQLParser.AUTOCOMMIT - 242)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 242)) | (1 << (frameQLParser.AUTO_INCREMENT - 242)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 242)) | (1 << (frameQLParser.BEGIN - 242)) | (1 << (frameQLParser.BINLOG - 242)) | (1 << (frameQLParser.BIT - 242)) | (1 << (frameQLParser.BLOCK - 242)) | (1 << (frameQLParser.BOOL - 242)) | (1 << (frameQLParser.BOOLEAN - 242)) | (1 << (frameQLParser.BTREE - 242)) | (1 << (frameQLParser.CACHE - 242)) | (1 << (frameQLParser.CASCADED - 242)) | (1 << (frameQLParser.CHAIN - 242)) | (1 << (frameQLParser.CHANGED - 242)) | (1 << (frameQLParser.CHANNEL - 242)) | (1 << (frameQLParser.CHECKSUM - 242)) | (1 << (frameQLParser.CIPHER - 242)) | (1 << (frameQLParser.CLIENT - 242)) | (1 << (frameQLParser.CLOSE - 242)) | (1 << (frameQLParser.COALESCE - 242)) | (1 << (frameQLParser.CODE - 242)) | (1 << (frameQLParser.COLUMNS - 242)) | (1 << (frameQLParser.COLUMN_FORMAT - 242)) | (1 << (frameQLParser.COMMENT - 242)) | (1 << (frameQLParser.COMMIT - 242)) | (1 << (frameQLParser.COMPACT - 242)) | (1 << (frameQLParser.COMPLETION - 242)) | (1 << (frameQLParser.COMPRESSED - 242)) | (1 << (frameQLParser.COMPRESSION - 242)) | (1 << (frameQLParser.CONCURRENT - 242)) | (1 << (frameQLParser.CONNECTION - 242)) | (1 << (frameQLParser.CONSISTENT - 242)) | (1 << (frameQLParser.CONTAINS - 242)) | (1 << (frameQLParser.CONTEXT - 242)) | (1 << (frameQLParser.CONTRIBUTORS - 242)) | (1 << (frameQLParser.COPY - 242)) | (1 << (frameQLParser.CPU - 242)) | (1 << (frameQLParser.DATA - 242)) | (1 << (frameQLParser.DATAFILE - 242)) | (1 << (frameQLParser.DEALLOCATE - 242)) | (1 << (frameQLParser.DEFAULT_AUTH - 242)) | (1 << (frameQLParser.DEFINER - 242)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 242)) | (1 << (frameQLParser.DIRECTORY - 242)) | (1 << (frameQLParser.DISABLE - 242)) | (1 << (frameQLParser.DISCARD - 242)))) != 0) or ((((_la - 306)) & ~0x3f) == 0 and ((1 << (_la - 306)) & ((1 << (frameQLParser.DISK - 306)) | (1 << (frameQLParser.DO - 306)) | (1 << (frameQLParser.DUMPFILE - 306)) | (1 << (frameQLParser.DUPLICATE - 306)) | (1 << (frameQLParser.DYNAMIC - 306)) | (1 << (frameQLParser.ENABLE - 306)) | (1 << (frameQLParser.ENCRYPTION - 306)) | (1 << (frameQLParser.ENDS - 306)) | (1 << (frameQLParser.ENGINE - 306)) | (1 << (frameQLParser.ENGINES - 306)) | (1 << (frameQLParser.ERROR - 306)) | (1 << (frameQLParser.ERRORS - 306)) | (1 << (frameQLParser.ESCAPE - 306)) | (1 << (frameQLParser.EVEN - 306)) | (1 << (frameQLParser.EVENT - 306)) | (1 << (frameQLParser.EVENTS - 306)) | (1 << (frameQLParser.EVERY - 306)) | (1 << (frameQLParser.EXCHANGE - 306)) | (1 << (frameQLParser.EXCLUSIVE - 306)) | (1 << (frameQLParser.EXPIRE - 306)) | (1 << (frameQLParser.EXTENDED - 306)) | (1 << (frameQLParser.EXTENT_SIZE - 306)) | (1 << (frameQLParser.FAST - 306)) | (1 << (frameQLParser.FAULTS - 306)) | (1 << (frameQLParser.FIELDS - 306)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 306)) | (1 << (frameQLParser.FILTER - 306)) | (1 << (frameQLParser.FIRST - 306)) | (1 << (frameQLParser.FIXED - 306)) | (1 << (frameQLParser.FLUSH - 306)) | (1 << (frameQLParser.FOLLOWS - 306)) | (1 << (frameQLParser.FULL - 306)) | (1 << (frameQLParser.FUNCTION - 306)) | (1 << (frameQLParser.GLOBAL - 306)) | (1 << (frameQLParser.GRANTS - 306)) | (1 << (frameQLParser.GROUP_REPLICATION - 306)) | (1 << (frameQLParser.HANDLER - 306)) | (1 << (frameQLParser.HASH - 306)) | (1 << (frameQLParser.HELP - 306)) | (1 << (frameQLParser.HOST - 306)) | (1 << (frameQLParser.IDENTIFIED - 306)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 306)) | (1 << (frameQLParser.IMPORT - 306)) | (1 << (frameQLParser.INDEXES - 306)) | (1 << (frameQLParser.INITIAL_SIZE - 306)) | (1 << (frameQLParser.INPLACE - 306)) | (1 << (frameQLParser.INSERT_METHOD - 306)) | (1 << (frameQLParser.INSTALL - 306)) | (1 << (frameQLParser.INSTANCE - 306)) | (1 << (frameQLParser.INVOKER - 306)) | (1 << (frameQLParser.IO - 306)) | (1 << (frameQLParser.IO_THREAD - 306)) | (1 << (frameQLParser.IPC - 306)) | (1 << (frameQLParser.ISOLATION - 306)) | (1 << (frameQLParser.ISSUER - 306)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 306)) | (1 << (frameQLParser.LANGUAGE - 306)) | (1 << (frameQLParser.LAST - 306)))) != 0) or ((((_la - 370)) & ~0x3f) == 0 and ((1 << (_la - 370)) & ((1 << (frameQLParser.LEAVES - 370)) | (1 << (frameQLParser.LESS - 370)) | (1 << (frameQLParser.LEVEL - 370)) | (1 << (frameQLParser.LIST - 370)) | (1 << (frameQLParser.LOCAL - 370)) | (1 << (frameQLParser.LOGFILE - 370)) | (1 << (frameQLParser.LOGS - 370)) | (1 << (frameQLParser.MASTER - 370)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 370)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 370)) | (1 << (frameQLParser.MASTER_DELAY - 370)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 370)) | (1 << (frameQLParser.MASTER_HOST - 370)) | (1 << (frameQLParser.MASTER_LOG_FILE - 370)) | (1 << (frameQLParser.MASTER_LOG_POS - 370)) | (1 << (frameQLParser.MASTER_PASSWORD - 370)) | (1 << (frameQLParser.MASTER_PORT - 370)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 370)) | (1 << (frameQLParser.MASTER_SSL - 370)) | (1 << (frameQLParser.MASTER_SSL_CA - 370)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_CERT - 370)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 370)) | (1 << (frameQLParser.MASTER_SSL_CRL - 370)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_KEY - 370)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 370)) | (1 << (frameQLParser.MASTER_USER - 370)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_ROWS - 370)) | (1 << (frameQLParser.MAX_SIZE - 370)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 370)) | (1 << (frameQLParser.MEDIUM - 370)) | (1 << (frameQLParser.MERGE - 370)) | (1 << (frameQLParser.MID - 370)) | (1 << (frameQLParser.MIGRATE - 370)) | (1 << (frameQLParser.MIN_ROWS - 370)) | (1 << (frameQLParser.MODIFY - 370)) | (1 << (frameQLParser.MUTEX - 370)) | (1 << (frameQLParser.MYSQL - 370)) | (1 << (frameQLParser.NAME - 370)) | (1 << (frameQLParser.NAMES - 370)) | (1 << (frameQLParser.NCHAR - 370)) | (1 << (frameQLParser.NEVER - 370)) | (1 << (frameQLParser.NO - 370)) | (1 << (frameQLParser.NODEGROUP - 370)) | (1 << (frameQLParser.NONE - 370)) | (1 << (frameQLParser.OFFLINE - 370)) | (1 << (frameQLParser.OFFSET - 370)) | (1 << (frameQLParser.OJ - 370)) | (1 << (frameQLParser.OLD_PASSWORD - 370)) | (1 << (frameQLParser.ONE - 370)) | (1 << (frameQLParser.ONLINE - 370)) | (1 << (frameQLParser.ONLY - 370)) | (1 << (frameQLParser.OPEN - 370)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 370)) | (1 << (frameQLParser.OPTIONS - 370)) | (1 << (frameQLParser.OWNER - 370)) | (1 << (frameQLParser.PACK_KEYS - 370)) | (1 << (frameQLParser.PAGE - 370)))) != 0) or ((((_la - 434)) & ~0x3f) == 0 and ((1 << (_la - 434)) & ((1 << (frameQLParser.PARSER - 434)) | (1 << (frameQLParser.PARTIAL - 434)) | (1 << (frameQLParser.PARTITIONING - 434)) | (1 << (frameQLParser.PARTITIONS - 434)) | (1 << (frameQLParser.PASSWORD - 434)) | (1 << (frameQLParser.PHASE - 434)) | (1 << (frameQLParser.PLUGIN_DIR - 434)) | (1 << (frameQLParser.PLUGINS - 434)) | (1 << (frameQLParser.PORT - 434)) | (1 << (frameQLParser.PRECEDES - 434)) | (1 << (frameQLParser.PREPARE - 434)) | (1 << (frameQLParser.PRESERVE - 434)) | (1 << (frameQLParser.PREV - 434)) | (1 << (frameQLParser.PROCESSLIST - 434)) | (1 << (frameQLParser.PROFILE - 434)) | (1 << (frameQLParser.PROFILES - 434)) | (1 << (frameQLParser.PROXY - 434)) | (1 << (frameQLParser.QUERY - 434)) | (1 << (frameQLParser.QUICK - 434)) | (1 << (frameQLParser.REBUILD - 434)) | (1 << (frameQLParser.RECOVER - 434)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 434)) | (1 << (frameQLParser.REDUNDANT - 434)) | (1 << (frameQLParser.RELAY_LOG_FILE - 434)) | (1 << (frameQLParser.RELAY_LOG_POS - 434)) | (1 << (frameQLParser.RELAYLOG - 434)) | (1 << (frameQLParser.REMOVE - 434)) | (1 << (frameQLParser.REORGANIZE - 434)) | (1 << (frameQLParser.REPAIR - 434)) | (1 << (frameQLParser.REPLICATE_DO_DB - 434)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 434)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATION - 434)) | (1 << (frameQLParser.RESET - 434)) | (1 << (frameQLParser.RESUME - 434)) | (1 << (frameQLParser.RETURNS - 434)) | (1 << (frameQLParser.ROLLBACK - 434)) | (1 << (frameQLParser.ROLLUP - 434)) | (1 << (frameQLParser.ROTATE - 434)) | (1 << (frameQLParser.ROW - 434)) | (1 << (frameQLParser.ROWS - 434)) | (1 << (frameQLParser.ROW_FORMAT - 434)) | (1 << (frameQLParser.SAVEPOINT - 434)) | (1 << (frameQLParser.SCHEDULE - 434)) | (1 << (frameQLParser.SECURITY - 434)) | (1 << (frameQLParser.SERVER - 434)) | (1 << (frameQLParser.SESSION - 434)) | (1 << (frameQLParser.SHARE - 434)) | (1 << (frameQLParser.SHARED - 434)) | (1 << (frameQLParser.SIGNED - 434)) | (1 << (frameQLParser.SIMPLE - 434)) | (1 << (frameQLParser.SLAVE - 434)) | (1 << (frameQLParser.SNAPSHOT - 434)) | (1 << (frameQLParser.SOCKET - 434)) | (1 << (frameQLParser.SOME - 434)) | (1 << (frameQLParser.SOUNDS - 434)))) != 0) or ((((_la - 498)) & ~0x3f) == 0 and ((1 << (_la - 498)) & ((1 << (frameQLParser.SOURCE - 498)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 498)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 498)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 498)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 498)) | (1 << (frameQLParser.SQL_CACHE - 498)) | (1 << (frameQLParser.SQL_NO_CACHE - 498)) | (1 << (frameQLParser.SQL_THREAD - 498)) | (1 << (frameQLParser.START - 498)) | (1 << (frameQLParser.STARTS - 498)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 498)) | (1 << (frameQLParser.STATS_PERSISTENT - 498)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 498)) | (1 << (frameQLParser.STATUS - 498)) | (1 << (frameQLParser.STOP - 498)) | (1 << (frameQLParser.STORAGE - 498)) | (1 << (frameQLParser.STRING - 498)) | (1 << (frameQLParser.SUBJECT - 498)) | (1 << (frameQLParser.SUBPARTITION - 498)) | (1 << (frameQLParser.SUBPARTITIONS - 498)) | (1 << (frameQLParser.SUSPEND - 498)) | (1 << (frameQLParser.SWAPS - 498)) | (1 << (frameQLParser.SWITCHES - 498)) | (1 << (frameQLParser.TABLESPACE - 498)) | (1 << (frameQLParser.TEMPORARY - 498)) | (1 << (frameQLParser.TEMPTABLE - 498)) | (1 << (frameQLParser.THAN - 498)) | (1 << (frameQLParser.TRANSACTION - 498)) | (1 << (frameQLParser.TRUNCATE - 498)) | (1 << (frameQLParser.UNDEFINED - 498)) | (1 << (frameQLParser.UNDOFILE - 498)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 498)) | (1 << (frameQLParser.UNINSTALL - 498)) | (1 << (frameQLParser.UNKNOWN - 498)) | (1 << (frameQLParser.UPGRADE - 498)) | (1 << (frameQLParser.USER - 498)) | (1 << (frameQLParser.VALIDATION - 498)) | (1 << (frameQLParser.VALUE - 498)) | (1 << (frameQLParser.VARIABLES - 498)) | (1 << (frameQLParser.VIEW - 498)) | (1 << (frameQLParser.WAIT - 498)) | (1 << (frameQLParser.WARNINGS - 498)) | (1 << (frameQLParser.WITHOUT - 498)) | (1 << (frameQLParser.WORK - 498)) | (1 << (frameQLParser.WRAPPER - 498)) | (1 << (frameQLParser.X509 - 498)) | (1 << (frameQLParser.XA - 498)) | (1 << (frameQLParser.XML - 498)) | (1 << (frameQLParser.QUARTER - 498)) | (1 << (frameQLParser.MONTH - 498)) | (1 << (frameQLParser.DAY - 498)) | (1 << (frameQLParser.HOUR - 498)))) != 0) or ((((_la - 562)) & ~0x3f) == 0 and ((1 << (_la - 562)) & ((1 << (frameQLParser.MINUTE - 562)) | (1 << (frameQLParser.WEEK - 562)) | (1 << (frameQLParser.SECOND - 562)) | (1 << (frameQLParser.MICROSECOND - 562)) | (1 << (frameQLParser.TABLES - 562)) | (1 << (frameQLParser.ROUTINE - 562)) | (1 << (frameQLParser.EXECUTE - 562)) | (1 << (frameQLParser.FILE - 562)) | (1 << (frameQLParser.PROCESS - 562)) | (1 << (frameQLParser.RELOAD - 562)) | (1 << (frameQLParser.SHUTDOWN - 562)) | (1 << (frameQLParser.SUPER - 562)) | (1 << (frameQLParser.PRIVILEGES - 562)) | (1 << (frameQLParser.ARMSCII8 - 562)) | (1 << (frameQLParser.ASCII - 562)) | (1 << (frameQLParser.BIG5 - 562)) | (1 << (frameQLParser.CP1250 - 562)) | (1 << (frameQLParser.CP1251 - 562)) | (1 << (frameQLParser.CP1256 - 562)) | (1 << (frameQLParser.CP1257 - 562)) | (1 << (frameQLParser.CP850 - 562)) | (1 << (frameQLParser.CP852 - 562)) | (1 << (frameQLParser.CP866 - 562)) | (1 << (frameQLParser.CP932 - 562)) | (1 << (frameQLParser.DEC8 - 562)) | (1 << (frameQLParser.EUCJPMS - 562)) | (1 << (frameQLParser.EUCKR - 562)) | (1 << (frameQLParser.GB2312 - 562)) | (1 << (frameQLParser.GBK - 562)) | (1 << (frameQLParser.GEOSTD8 - 562)) | (1 << (frameQLParser.GREEK - 562)) | (1 << (frameQLParser.HEBREW - 562)) | (1 << (frameQLParser.HP8 - 562)) | (1 << (frameQLParser.KEYBCS2 - 562)) | (1 << (frameQLParser.KOI8R - 562)) | (1 << (frameQLParser.KOI8U - 562)) | (1 << (frameQLParser.LATIN1 - 562)) | (1 << (frameQLParser.LATIN2 - 562)) | (1 << (frameQLParser.LATIN5 - 562)) | (1 << (frameQLParser.LATIN7 - 562)) | (1 << (frameQLParser.MACCE - 562)) | (1 << (frameQLParser.MACROMAN - 562)) | (1 << (frameQLParser.SJIS - 562)) | (1 << (frameQLParser.SWE7 - 562)) | (1 << (frameQLParser.TIS620 - 562)) | (1 << (frameQLParser.UCS2 - 562)) | (1 << (frameQLParser.UJIS - 562)) | (1 << (frameQLParser.UTF16 - 562)) | (1 << (frameQLParser.UTF16LE - 562)) | (1 << (frameQLParser.UTF32 - 562)) | (1 << (frameQLParser.UTF8 - 562)) | (1 << (frameQLParser.UTF8MB3 - 562)) | (1 << (frameQLParser.UTF8MB4 - 562)) | (1 << (frameQLParser.ARCHIVE - 562)) | (1 << (frameQLParser.BLACKHOLE - 562)) | (1 << (frameQLParser.CSV - 562)) | (1 << (frameQLParser.FEDERATED - 562)) | (1 << (frameQLParser.INNODB - 562)) | (1 << (frameQLParser.MEMORY - 562)) | (1 << (frameQLParser.MRG_MYISAM - 562)) | (1 << (frameQLParser.MYISAM - 562)) | (1 << (frameQLParser.NDB - 562)) | (1 << (frameQLParser.NDBCLUSTER - 562)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 562)))) != 0) or ((((_la - 626)) & ~0x3f) == 0 and ((1 << (_la - 626)) & ((1 << (frameQLParser.REPEATABLE - 626)) | (1 << (frameQLParser.COMMITTED - 626)) | (1 << (frameQLParser.UNCOMMITTED - 626)) | (1 << (frameQLParser.SERIALIZABLE - 626)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 626)) | (1 << (frameQLParser.LINESTRING - 626)) | (1 << (frameQLParser.MULTILINESTRING - 626)) | (1 << (frameQLParser.MULTIPOINT - 626)) | (1 << (frameQLParser.MULTIPOLYGON - 626)) | (1 << (frameQLParser.POINT - 626)) | (1 << (frameQLParser.POLYGON - 626)) | (1 << (frameQLParser.ABS - 626)) | (1 << (frameQLParser.ACOS - 626)) | (1 << (frameQLParser.ADDDATE - 626)) | (1 << (frameQLParser.ADDTIME - 626)) | (1 << (frameQLParser.AES_DECRYPT - 626)) | (1 << (frameQLParser.AES_ENCRYPT - 626)) | (1 << (frameQLParser.AREA - 626)) | (1 << (frameQLParser.ASBINARY - 626)) | (1 << (frameQLParser.ASIN - 626)) | (1 << (frameQLParser.ASTEXT - 626)) | (1 << (frameQLParser.ASWKB - 626)) | (1 << (frameQLParser.ASWKT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 626)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 626)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 626)) | (1 << (frameQLParser.ATAN - 626)) | (1 << (frameQLParser.ATAN2 - 626)) | (1 << (frameQLParser.BENCHMARK - 626)) | (1 << (frameQLParser.BIN - 626)) | (1 << (frameQLParser.BIT_COUNT - 626)) | (1 << (frameQLParser.BIT_LENGTH - 626)) | (1 << (frameQLParser.BUFFER - 626)) | (1 << (frameQLParser.CEIL - 626)) | (1 << (frameQLParser.CEILING - 626)) | (1 << (frameQLParser.CENTROID - 626)) | (1 << (frameQLParser.CHARACTER_LENGTH - 626)) | (1 << (frameQLParser.CHARSET - 626)) | (1 << (frameQLParser.CHAR_LENGTH - 626)) | (1 << (frameQLParser.COERCIBILITY - 626)) | (1 << (frameQLParser.COLLATION - 626)) | (1 << (frameQLParser.COMPRESS - 626)) | (1 << (frameQLParser.CONCAT - 626)) | (1 << (frameQLParser.CONCAT_WS - 626)) | (1 << (frameQLParser.CONNECTION_ID - 626)) | (1 << (frameQLParser.CONV - 626)) | (1 << (frameQLParser.CONVERT_TZ - 626)) | (1 << (frameQLParser.COS - 626)) | (1 << (frameQLParser.COT - 626)) | (1 << (frameQLParser.CRC32 - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 626)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 626)) | (1 << (frameQLParser.CREATE_DIGEST - 626)) | (1 << (frameQLParser.CROSSES - 626)) | (1 << (frameQLParser.DATEDIFF - 626)) | (1 << (frameQLParser.DATE_FORMAT - 626)) | (1 << (frameQLParser.DAYNAME - 626)) | (1 << (frameQLParser.DAYOFMONTH - 626)) | (1 << (frameQLParser.DAYOFWEEK - 626)) | (1 << (frameQLParser.DAYOFYEAR - 626)) | (1 << (frameQLParser.DECODE - 626)))) != 0) or ((((_la - 690)) & ~0x3f) == 0 and ((1 << (_la - 690)) & ((1 << (frameQLParser.DEGREES - 690)) | (1 << (frameQLParser.DES_DECRYPT - 690)) | (1 << (frameQLParser.DES_ENCRYPT - 690)) | (1 << (frameQLParser.DIMENSION - 690)) | (1 << (frameQLParser.DISJOINT - 690)) | (1 << (frameQLParser.ELT - 690)) | (1 << (frameQLParser.ENCODE - 690)) | (1 << (frameQLParser.ENCRYPT - 690)) | (1 << (frameQLParser.ENDPOINT - 690)) | (1 << (frameQLParser.ENVELOPE - 690)) | (1 << (frameQLParser.EQUALS - 690)) | (1 << (frameQLParser.EXP - 690)) | (1 << (frameQLParser.EXPORT_SET - 690)) | (1 << (frameQLParser.EXTERIORRING - 690)) | (1 << (frameQLParser.EXTRACTVALUE - 690)) | (1 << (frameQLParser.FIELD - 690)) | (1 << (frameQLParser.FIND_IN_SET - 690)) | (1 << (frameQLParser.FLOOR - 690)) | (1 << (frameQLParser.FORMAT - 690)) | (1 << (frameQLParser.FOUND_ROWS - 690)) | (1 << (frameQLParser.FROM_BASE64 - 690)) | (1 << (frameQLParser.FROM_DAYS - 690)) | (1 << (frameQLParser.FROM_UNIXTIME - 690)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 690)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYN - 690)) | (1 << (frameQLParser.GEOMETRYTYPE - 690)) | (1 << (frameQLParser.GEOMFROMTEXT - 690)) | (1 << (frameQLParser.GEOMFROMWKB - 690)) | (1 << (frameQLParser.GET_FORMAT - 690)) | (1 << (frameQLParser.GET_LOCK - 690)) | (1 << (frameQLParser.GLENGTH - 690)) | (1 << (frameQLParser.GREATEST - 690)) | (1 << (frameQLParser.GTID_SUBSET - 690)) | (1 << (frameQLParser.GTID_SUBTRACT - 690)) | (1 << (frameQLParser.HEX - 690)) | (1 << (frameQLParser.IFNULL - 690)) | (1 << (frameQLParser.INET6_ATON - 690)) | (1 << (frameQLParser.INET6_NTOA - 690)) | (1 << (frameQLParser.INET_ATON - 690)) | (1 << (frameQLParser.INET_NTOA - 690)) | (1 << (frameQLParser.INSTR - 690)) | (1 << (frameQLParser.INTERIORRINGN - 690)) | (1 << (frameQLParser.INTERSECTS - 690)) | (1 << (frameQLParser.ISCLOSED - 690)) | (1 << (frameQLParser.ISEMPTY - 690)) | (1 << (frameQLParser.ISNULL - 690)) | (1 << (frameQLParser.ISSIMPLE - 690)) | (1 << (frameQLParser.IS_FREE_LOCK - 690)) | (1 << (frameQLParser.IS_IPV4 - 690)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 690)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 690)) | (1 << (frameQLParser.IS_IPV6 - 690)) | (1 << (frameQLParser.IS_USED_LOCK - 690)) | (1 << (frameQLParser.LAST_INSERT_ID - 690)) | (1 << (frameQLParser.LCASE - 690)) | (1 << (frameQLParser.LEAST - 690)) | (1 << (frameQLParser.LENGTH - 690)) | (1 << (frameQLParser.LINEFROMTEXT - 690)) | (1 << (frameQLParser.LINEFROMWKB - 690)))) != 0) or ((((_la - 754)) & ~0x3f) == 0 and ((1 << (_la - 754)) & ((1 << (frameQLParser.LINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.LN - 754)) | (1 << (frameQLParser.LOAD_FILE - 754)) | (1 << (frameQLParser.LOCATE - 754)) | (1 << (frameQLParser.LOG - 754)) | (1 << (frameQLParser.LOG10 - 754)) | (1 << (frameQLParser.LOG2 - 754)) | (1 << (frameQLParser.LOWER - 754)) | (1 << (frameQLParser.LPAD - 754)) | (1 << (frameQLParser.LTRIM - 754)) | (1 << (frameQLParser.MAKEDATE - 754)) | (1 << (frameQLParser.MAKETIME - 754)) | (1 << (frameQLParser.MAKE_SET - 754)) | (1 << (frameQLParser.MASTER_POS_WAIT - 754)) | (1 << (frameQLParser.MBRCONTAINS - 754)) | (1 << (frameQLParser.MBRDISJOINT - 754)) | (1 << (frameQLParser.MBREQUAL - 754)) | (1 << (frameQLParser.MBRINTERSECTS - 754)) | (1 << (frameQLParser.MBROVERLAPS - 754)) | (1 << (frameQLParser.MBRTOUCHES - 754)) | (1 << (frameQLParser.MBRWITHIN - 754)) | (1 << (frameQLParser.MD5 - 754)) | (1 << (frameQLParser.MLINEFROMTEXT - 754)) | (1 << (frameQLParser.MLINEFROMWKB - 754)) | (1 << (frameQLParser.MONTHNAME - 754)) | (1 << (frameQLParser.MPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MPOINTFROMWKB - 754)) | (1 << (frameQLParser.MPOLYFROMTEXT - 754)) | (1 << (frameQLParser.MPOLYFROMWKB - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 754)) | (1 << (frameQLParser.NAME_CONST - 754)) | (1 << (frameQLParser.NULLIF - 754)) | (1 << (frameQLParser.NUMGEOMETRIES - 754)) | (1 << (frameQLParser.NUMINTERIORRINGS - 754)) | (1 << (frameQLParser.NUMPOINTS - 754)) | (1 << (frameQLParser.OCT - 754)) | (1 << (frameQLParser.OCTET_LENGTH - 754)) | (1 << (frameQLParser.ORD - 754)) | (1 << (frameQLParser.OVERLAPS - 754)) | (1 << (frameQLParser.PERIOD_ADD - 754)) | (1 << (frameQLParser.PERIOD_DIFF - 754)) | (1 << (frameQLParser.PI - 754)) | (1 << (frameQLParser.POINTFROMTEXT - 754)) | (1 << (frameQLParser.POINTFROMWKB - 754)) | (1 << (frameQLParser.POINTN - 754)) | (1 << (frameQLParser.POLYFROMTEXT - 754)) | (1 << (frameQLParser.POLYFROMWKB - 754)) | (1 << (frameQLParser.POLYGONFROMTEXT - 754)) | (1 << (frameQLParser.POLYGONFROMWKB - 754)) | (1 << (frameQLParser.POW - 754)) | (1 << (frameQLParser.POWER - 754)) | (1 << (frameQLParser.QUOTE - 754)) | (1 << (frameQLParser.RADIANS - 754)) | (1 << (frameQLParser.RAND - 754)) | (1 << (frameQLParser.RANDOM_BYTES - 754)) | (1 << (frameQLParser.RELEASE_LOCK - 754)) | (1 << (frameQLParser.REVERSE - 754)) | (1 << (frameQLParser.ROUND - 754)))) != 0) or ((((_la - 818)) & ~0x3f) == 0 and ((1 << (_la - 818)) & ((1 << (frameQLParser.ROW_COUNT - 818)) | (1 << (frameQLParser.RPAD - 818)) | (1 << (frameQLParser.RTRIM - 818)) | (1 << (frameQLParser.SEC_TO_TIME - 818)) | (1 << (frameQLParser.SESSION_USER - 818)) | (1 << (frameQLParser.SHA - 818)) | (1 << (frameQLParser.SHA1 - 818)) | (1 << (frameQLParser.SHA2 - 818)) | (1 << (frameQLParser.SIGN - 818)) | (1 << (frameQLParser.SIN - 818)) | (1 << (frameQLParser.SLEEP - 818)) | (1 << (frameQLParser.SOUNDEX - 818)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 818)) | (1 << (frameQLParser.SQRT - 818)) | (1 << (frameQLParser.SRID - 818)) | (1 << (frameQLParser.STARTPOINT - 818)) | (1 << (frameQLParser.STRCMP - 818)) | (1 << (frameQLParser.STR_TO_DATE - 818)) | (1 << (frameQLParser.ST_AREA - 818)) | (1 << (frameQLParser.ST_ASBINARY - 818)) | (1 << (frameQLParser.ST_ASTEXT - 818)) | (1 << (frameQLParser.ST_ASWKB - 818)) | (1 << (frameQLParser.ST_ASWKT - 818)) | (1 << (frameQLParser.ST_BUFFER - 818)) | (1 << (frameQLParser.ST_CENTROID - 818)) | (1 << (frameQLParser.ST_CONTAINS - 818)) | (1 << (frameQLParser.ST_CROSSES - 818)) | (1 << (frameQLParser.ST_DIFFERENCE - 818)) | (1 << (frameQLParser.ST_DIMENSION - 818)) | (1 << (frameQLParser.ST_DISJOINT - 818)) | (1 << (frameQLParser.ST_DISTANCE - 818)) | (1 << (frameQLParser.ST_ENDPOINT - 818)) | (1 << (frameQLParser.ST_ENVELOPE - 818)) | (1 << (frameQLParser.ST_EQUALS - 818)) | (1 << (frameQLParser.ST_EXTERIORRING - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYN - 818)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 818)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 818)) | (1 << (frameQLParser.ST_INTERIORRINGN - 818)) | (1 << (frameQLParser.ST_INTERSECTION - 818)) | (1 << (frameQLParser.ST_INTERSECTS - 818)) | (1 << (frameQLParser.ST_ISCLOSED - 818)) | (1 << (frameQLParser.ST_ISEMPTY - 818)) | (1 << (frameQLParser.ST_ISSIMPLE - 818)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINEFROMWKB - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 818)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 818)) | (1 << (frameQLParser.ST_NUMPOINTS - 818)) | (1 << (frameQLParser.ST_OVERLAPS - 818)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 818)) | (1 << (frameQLParser.ST_POINTFROMWKB - 818)) | (1 << (frameQLParser.ST_POINTN - 818)))) != 0) or ((((_la - 882)) & ~0x3f) == 0 and ((1 << (_la - 882)) & ((1 << (frameQLParser.ST_POLYFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYFROMWKB - 882)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 882)) | (1 << (frameQLParser.ST_SRID - 882)) | (1 << (frameQLParser.ST_STARTPOINT - 882)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 882)) | (1 << (frameQLParser.ST_TOUCHES - 882)) | (1 << (frameQLParser.ST_UNION - 882)) | (1 << (frameQLParser.ST_WITHIN - 882)) | (1 << (frameQLParser.ST_X - 882)) | (1 << (frameQLParser.ST_Y - 882)) | (1 << (frameQLParser.SUBDATE - 882)) | (1 << (frameQLParser.SUBSTRING_INDEX - 882)) | (1 << (frameQLParser.SUBTIME - 882)) | (1 << (frameQLParser.SYSTEM_USER - 882)) | (1 << (frameQLParser.TAN - 882)) | (1 << (frameQLParser.TIMEDIFF - 882)) | (1 << (frameQLParser.TIMESTAMPADD - 882)) | (1 << (frameQLParser.TIMESTAMPDIFF - 882)) | (1 << (frameQLParser.TIME_FORMAT - 882)) | (1 << (frameQLParser.TIME_TO_SEC - 882)) | (1 << (frameQLParser.TOUCHES - 882)) | (1 << (frameQLParser.TO_BASE64 - 882)) | (1 << (frameQLParser.TO_DAYS - 882)) | (1 << (frameQLParser.TO_SECONDS - 882)) | (1 << (frameQLParser.UCASE - 882)) | (1 << (frameQLParser.UNCOMPRESS - 882)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 882)) | (1 << (frameQLParser.UNHEX - 882)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 882)) | (1 << (frameQLParser.UPDATEXML - 882)) | (1 << (frameQLParser.UPPER - 882)) | (1 << (frameQLParser.UUID - 882)) | (1 << (frameQLParser.UUID_SHORT - 882)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 882)) | (1 << (frameQLParser.VERSION - 882)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 882)) | (1 << (frameQLParser.WEEKDAY - 882)) | (1 << (frameQLParser.WEEKOFYEAR - 882)) | (1 << (frameQLParser.WEIGHT_STRING - 882)) | (1 << (frameQLParser.WITHIN - 882)) | (1 << (frameQLParser.YEARWEEK - 882)) | (1 << (frameQLParser.Y_FUNCTION - 882)) | (1 << (frameQLParser.X_FUNCTION - 882)))) != 0) or ((((_la - 953)) & ~0x3f) == 0 and ((1 << (_la - 953)) & ((1 << (frameQLParser.LR_BRACKET - 953)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 953)) | (1 << (frameQLParser.STRING_LITERAL - 953)) | (1 << (frameQLParser.ID - 953)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 953)))) != 0)): - break - - - - self.state = 4119 - self.match(frameQLParser.END) - self.state = 4120 - self.match(frameQLParser.IF) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class IterateStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ITERATE(self): - return self.getToken(frameQLParser.ITERATE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_iterateStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIterateStatement" ): - listener.enterIterateStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIterateStatement" ): - listener.exitIterateStatement(self) - - - - - def iterateStatement(self): - - localctx = frameQLParser.IterateStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 354, self.RULE_iterateStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 4122 - self.match(frameQLParser.ITERATE) - self.state = 4123 - self.uid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class LeaveStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LEAVE(self): - return self.getToken(frameQLParser.LEAVE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_leaveStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLeaveStatement" ): - listener.enterLeaveStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLeaveStatement" ): - listener.exitLeaveStatement(self) - - - - - def leaveStatement(self): - - localctx = frameQLParser.LeaveStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 356, self.RULE_leaveStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 4125 - self.match(frameQLParser.LEAVE) - self.state = 4126 - self.uid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class LoopStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LOOP(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.LOOP) - else: - return self.getToken(frameQLParser.LOOP, i) - - def END(self): - return self.getToken(frameQLParser.END, 0) - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def COLON_SYMB(self): - return self.getToken(frameQLParser.COLON_SYMB, 0) - - def procedureSqlStatement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ProcedureSqlStatementContext) - else: - return self.getTypedRuleContext(frameQLParser.ProcedureSqlStatementContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_loopStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLoopStatement" ): - listener.enterLoopStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLoopStatement" ): - listener.exitLoopStatement(self) - - - - - def loopStatement(self): - - localctx = frameQLParser.LoopStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 358, self.RULE_loopStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4131 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 4128 - self.uid() - self.state = 4129 - self.match(frameQLParser.COLON_SYMB) - - - self.state = 4133 - self.match(frameQLParser.LOOP) - self.state = 4135 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4134 - self.procedureSqlStatement() - self.state = 4137 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 9)) & ~0x3f) == 0 and ((1 << (_la - 9)) & ((1 << (frameQLParser.ALTER - 9)) | (1 << (frameQLParser.ANALYZE - 9)) | (1 << (frameQLParser.CALL - 9)) | (1 << (frameQLParser.CASE - 9)) | (1 << (frameQLParser.CHANGE - 9)) | (1 << (frameQLParser.CHECK - 9)) | (1 << (frameQLParser.CREATE - 9)) | (1 << (frameQLParser.DATABASE - 9)) | (1 << (frameQLParser.DELETE - 9)) | (1 << (frameQLParser.DESC - 9)) | (1 << (frameQLParser.DESCRIBE - 9)) | (1 << (frameQLParser.DROP - 9)) | (1 << (frameQLParser.EXPLAIN - 9)) | (1 << (frameQLParser.FETCH - 9)) | (1 << (frameQLParser.GRANT - 9)) | (1 << (frameQLParser.IF - 9)))) != 0) or ((((_la - 75)) & ~0x3f) == 0 and ((1 << (_la - 75)) & ((1 << (frameQLParser.INSERT - 75)) | (1 << (frameQLParser.ITERATE - 75)) | (1 << (frameQLParser.KILL - 75)) | (1 << (frameQLParser.LEAVE - 75)) | (1 << (frameQLParser.LEFT - 75)) | (1 << (frameQLParser.LOAD - 75)) | (1 << (frameQLParser.LOCK - 75)) | (1 << (frameQLParser.LOOP - 75)) | (1 << (frameQLParser.OPTIMIZE - 75)) | (1 << (frameQLParser.PURGE - 75)) | (1 << (frameQLParser.RELEASE - 75)) | (1 << (frameQLParser.RENAME - 75)) | (1 << (frameQLParser.REPEAT - 75)) | (1 << (frameQLParser.REPLACE - 75)) | (1 << (frameQLParser.RETURN - 75)) | (1 << (frameQLParser.REVOKE - 75)) | (1 << (frameQLParser.RIGHT - 75)) | (1 << (frameQLParser.SELECT - 75)) | (1 << (frameQLParser.SET - 75)) | (1 << (frameQLParser.SHOW - 75)))) != 0) or ((((_la - 159)) & ~0x3f) == 0 and ((1 << (_la - 159)) & ((1 << (frameQLParser.UNLOCK - 159)) | (1 << (frameQLParser.UPDATE - 159)) | (1 << (frameQLParser.USE - 159)) | (1 << (frameQLParser.WHILE - 159)) | (1 << (frameQLParser.DATE - 159)) | (1 << (frameQLParser.TIME - 159)) | (1 << (frameQLParser.TIMESTAMP - 159)) | (1 << (frameQLParser.DATETIME - 159)) | (1 << (frameQLParser.YEAR - 159)) | (1 << (frameQLParser.TEXT - 159)) | (1 << (frameQLParser.ENUM - 159)) | (1 << (frameQLParser.SERIAL - 159)) | (1 << (frameQLParser.COUNT - 159)))) != 0) or ((((_la - 242)) & ~0x3f) == 0 and ((1 << (_la - 242)) & ((1 << (frameQLParser.POSITION - 242)) | (1 << (frameQLParser.ACCOUNT - 242)) | (1 << (frameQLParser.ACTION - 242)) | (1 << (frameQLParser.AFTER - 242)) | (1 << (frameQLParser.AGGREGATE - 242)) | (1 << (frameQLParser.ALGORITHM - 242)) | (1 << (frameQLParser.ANY - 242)) | (1 << (frameQLParser.AT - 242)) | (1 << (frameQLParser.AUTHORS - 242)) | (1 << (frameQLParser.AUTOCOMMIT - 242)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 242)) | (1 << (frameQLParser.AUTO_INCREMENT - 242)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 242)) | (1 << (frameQLParser.BEGIN - 242)) | (1 << (frameQLParser.BINLOG - 242)) | (1 << (frameQLParser.BIT - 242)) | (1 << (frameQLParser.BLOCK - 242)) | (1 << (frameQLParser.BOOL - 242)) | (1 << (frameQLParser.BOOLEAN - 242)) | (1 << (frameQLParser.BTREE - 242)) | (1 << (frameQLParser.CACHE - 242)) | (1 << (frameQLParser.CASCADED - 242)) | (1 << (frameQLParser.CHAIN - 242)) | (1 << (frameQLParser.CHANGED - 242)) | (1 << (frameQLParser.CHANNEL - 242)) | (1 << (frameQLParser.CHECKSUM - 242)) | (1 << (frameQLParser.CIPHER - 242)) | (1 << (frameQLParser.CLIENT - 242)) | (1 << (frameQLParser.CLOSE - 242)) | (1 << (frameQLParser.COALESCE - 242)) | (1 << (frameQLParser.CODE - 242)) | (1 << (frameQLParser.COLUMNS - 242)) | (1 << (frameQLParser.COLUMN_FORMAT - 242)) | (1 << (frameQLParser.COMMENT - 242)) | (1 << (frameQLParser.COMMIT - 242)) | (1 << (frameQLParser.COMPACT - 242)) | (1 << (frameQLParser.COMPLETION - 242)) | (1 << (frameQLParser.COMPRESSED - 242)) | (1 << (frameQLParser.COMPRESSION - 242)) | (1 << (frameQLParser.CONCURRENT - 242)) | (1 << (frameQLParser.CONNECTION - 242)) | (1 << (frameQLParser.CONSISTENT - 242)) | (1 << (frameQLParser.CONTAINS - 242)) | (1 << (frameQLParser.CONTEXT - 242)) | (1 << (frameQLParser.CONTRIBUTORS - 242)) | (1 << (frameQLParser.COPY - 242)) | (1 << (frameQLParser.CPU - 242)) | (1 << (frameQLParser.DATA - 242)) | (1 << (frameQLParser.DATAFILE - 242)) | (1 << (frameQLParser.DEALLOCATE - 242)) | (1 << (frameQLParser.DEFAULT_AUTH - 242)) | (1 << (frameQLParser.DEFINER - 242)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 242)) | (1 << (frameQLParser.DIRECTORY - 242)) | (1 << (frameQLParser.DISABLE - 242)) | (1 << (frameQLParser.DISCARD - 242)))) != 0) or ((((_la - 306)) & ~0x3f) == 0 and ((1 << (_la - 306)) & ((1 << (frameQLParser.DISK - 306)) | (1 << (frameQLParser.DO - 306)) | (1 << (frameQLParser.DUMPFILE - 306)) | (1 << (frameQLParser.DUPLICATE - 306)) | (1 << (frameQLParser.DYNAMIC - 306)) | (1 << (frameQLParser.ENABLE - 306)) | (1 << (frameQLParser.ENCRYPTION - 306)) | (1 << (frameQLParser.ENDS - 306)) | (1 << (frameQLParser.ENGINE - 306)) | (1 << (frameQLParser.ENGINES - 306)) | (1 << (frameQLParser.ERROR - 306)) | (1 << (frameQLParser.ERRORS - 306)) | (1 << (frameQLParser.ESCAPE - 306)) | (1 << (frameQLParser.EVEN - 306)) | (1 << (frameQLParser.EVENT - 306)) | (1 << (frameQLParser.EVENTS - 306)) | (1 << (frameQLParser.EVERY - 306)) | (1 << (frameQLParser.EXCHANGE - 306)) | (1 << (frameQLParser.EXCLUSIVE - 306)) | (1 << (frameQLParser.EXPIRE - 306)) | (1 << (frameQLParser.EXTENDED - 306)) | (1 << (frameQLParser.EXTENT_SIZE - 306)) | (1 << (frameQLParser.FAST - 306)) | (1 << (frameQLParser.FAULTS - 306)) | (1 << (frameQLParser.FIELDS - 306)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 306)) | (1 << (frameQLParser.FILTER - 306)) | (1 << (frameQLParser.FIRST - 306)) | (1 << (frameQLParser.FIXED - 306)) | (1 << (frameQLParser.FLUSH - 306)) | (1 << (frameQLParser.FOLLOWS - 306)) | (1 << (frameQLParser.FULL - 306)) | (1 << (frameQLParser.FUNCTION - 306)) | (1 << (frameQLParser.GLOBAL - 306)) | (1 << (frameQLParser.GRANTS - 306)) | (1 << (frameQLParser.GROUP_REPLICATION - 306)) | (1 << (frameQLParser.HANDLER - 306)) | (1 << (frameQLParser.HASH - 306)) | (1 << (frameQLParser.HELP - 306)) | (1 << (frameQLParser.HOST - 306)) | (1 << (frameQLParser.IDENTIFIED - 306)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 306)) | (1 << (frameQLParser.IMPORT - 306)) | (1 << (frameQLParser.INDEXES - 306)) | (1 << (frameQLParser.INITIAL_SIZE - 306)) | (1 << (frameQLParser.INPLACE - 306)) | (1 << (frameQLParser.INSERT_METHOD - 306)) | (1 << (frameQLParser.INSTALL - 306)) | (1 << (frameQLParser.INSTANCE - 306)) | (1 << (frameQLParser.INVOKER - 306)) | (1 << (frameQLParser.IO - 306)) | (1 << (frameQLParser.IO_THREAD - 306)) | (1 << (frameQLParser.IPC - 306)) | (1 << (frameQLParser.ISOLATION - 306)) | (1 << (frameQLParser.ISSUER - 306)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 306)) | (1 << (frameQLParser.LANGUAGE - 306)) | (1 << (frameQLParser.LAST - 306)))) != 0) or ((((_la - 370)) & ~0x3f) == 0 and ((1 << (_la - 370)) & ((1 << (frameQLParser.LEAVES - 370)) | (1 << (frameQLParser.LESS - 370)) | (1 << (frameQLParser.LEVEL - 370)) | (1 << (frameQLParser.LIST - 370)) | (1 << (frameQLParser.LOCAL - 370)) | (1 << (frameQLParser.LOGFILE - 370)) | (1 << (frameQLParser.LOGS - 370)) | (1 << (frameQLParser.MASTER - 370)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 370)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 370)) | (1 << (frameQLParser.MASTER_DELAY - 370)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 370)) | (1 << (frameQLParser.MASTER_HOST - 370)) | (1 << (frameQLParser.MASTER_LOG_FILE - 370)) | (1 << (frameQLParser.MASTER_LOG_POS - 370)) | (1 << (frameQLParser.MASTER_PASSWORD - 370)) | (1 << (frameQLParser.MASTER_PORT - 370)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 370)) | (1 << (frameQLParser.MASTER_SSL - 370)) | (1 << (frameQLParser.MASTER_SSL_CA - 370)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_CERT - 370)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 370)) | (1 << (frameQLParser.MASTER_SSL_CRL - 370)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_KEY - 370)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 370)) | (1 << (frameQLParser.MASTER_USER - 370)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_ROWS - 370)) | (1 << (frameQLParser.MAX_SIZE - 370)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 370)) | (1 << (frameQLParser.MEDIUM - 370)) | (1 << (frameQLParser.MERGE - 370)) | (1 << (frameQLParser.MID - 370)) | (1 << (frameQLParser.MIGRATE - 370)) | (1 << (frameQLParser.MIN_ROWS - 370)) | (1 << (frameQLParser.MODIFY - 370)) | (1 << (frameQLParser.MUTEX - 370)) | (1 << (frameQLParser.MYSQL - 370)) | (1 << (frameQLParser.NAME - 370)) | (1 << (frameQLParser.NAMES - 370)) | (1 << (frameQLParser.NCHAR - 370)) | (1 << (frameQLParser.NEVER - 370)) | (1 << (frameQLParser.NO - 370)) | (1 << (frameQLParser.NODEGROUP - 370)) | (1 << (frameQLParser.NONE - 370)) | (1 << (frameQLParser.OFFLINE - 370)) | (1 << (frameQLParser.OFFSET - 370)) | (1 << (frameQLParser.OJ - 370)) | (1 << (frameQLParser.OLD_PASSWORD - 370)) | (1 << (frameQLParser.ONE - 370)) | (1 << (frameQLParser.ONLINE - 370)) | (1 << (frameQLParser.ONLY - 370)) | (1 << (frameQLParser.OPEN - 370)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 370)) | (1 << (frameQLParser.OPTIONS - 370)) | (1 << (frameQLParser.OWNER - 370)) | (1 << (frameQLParser.PACK_KEYS - 370)) | (1 << (frameQLParser.PAGE - 370)))) != 0) or ((((_la - 434)) & ~0x3f) == 0 and ((1 << (_la - 434)) & ((1 << (frameQLParser.PARSER - 434)) | (1 << (frameQLParser.PARTIAL - 434)) | (1 << (frameQLParser.PARTITIONING - 434)) | (1 << (frameQLParser.PARTITIONS - 434)) | (1 << (frameQLParser.PASSWORD - 434)) | (1 << (frameQLParser.PHASE - 434)) | (1 << (frameQLParser.PLUGIN_DIR - 434)) | (1 << (frameQLParser.PLUGINS - 434)) | (1 << (frameQLParser.PORT - 434)) | (1 << (frameQLParser.PRECEDES - 434)) | (1 << (frameQLParser.PREPARE - 434)) | (1 << (frameQLParser.PRESERVE - 434)) | (1 << (frameQLParser.PREV - 434)) | (1 << (frameQLParser.PROCESSLIST - 434)) | (1 << (frameQLParser.PROFILE - 434)) | (1 << (frameQLParser.PROFILES - 434)) | (1 << (frameQLParser.PROXY - 434)) | (1 << (frameQLParser.QUERY - 434)) | (1 << (frameQLParser.QUICK - 434)) | (1 << (frameQLParser.REBUILD - 434)) | (1 << (frameQLParser.RECOVER - 434)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 434)) | (1 << (frameQLParser.REDUNDANT - 434)) | (1 << (frameQLParser.RELAY_LOG_FILE - 434)) | (1 << (frameQLParser.RELAY_LOG_POS - 434)) | (1 << (frameQLParser.RELAYLOG - 434)) | (1 << (frameQLParser.REMOVE - 434)) | (1 << (frameQLParser.REORGANIZE - 434)) | (1 << (frameQLParser.REPAIR - 434)) | (1 << (frameQLParser.REPLICATE_DO_DB - 434)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 434)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATION - 434)) | (1 << (frameQLParser.RESET - 434)) | (1 << (frameQLParser.RESUME - 434)) | (1 << (frameQLParser.RETURNS - 434)) | (1 << (frameQLParser.ROLLBACK - 434)) | (1 << (frameQLParser.ROLLUP - 434)) | (1 << (frameQLParser.ROTATE - 434)) | (1 << (frameQLParser.ROW - 434)) | (1 << (frameQLParser.ROWS - 434)) | (1 << (frameQLParser.ROW_FORMAT - 434)) | (1 << (frameQLParser.SAVEPOINT - 434)) | (1 << (frameQLParser.SCHEDULE - 434)) | (1 << (frameQLParser.SECURITY - 434)) | (1 << (frameQLParser.SERVER - 434)) | (1 << (frameQLParser.SESSION - 434)) | (1 << (frameQLParser.SHARE - 434)) | (1 << (frameQLParser.SHARED - 434)) | (1 << (frameQLParser.SIGNED - 434)) | (1 << (frameQLParser.SIMPLE - 434)) | (1 << (frameQLParser.SLAVE - 434)) | (1 << (frameQLParser.SNAPSHOT - 434)) | (1 << (frameQLParser.SOCKET - 434)) | (1 << (frameQLParser.SOME - 434)) | (1 << (frameQLParser.SOUNDS - 434)))) != 0) or ((((_la - 498)) & ~0x3f) == 0 and ((1 << (_la - 498)) & ((1 << (frameQLParser.SOURCE - 498)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 498)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 498)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 498)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 498)) | (1 << (frameQLParser.SQL_CACHE - 498)) | (1 << (frameQLParser.SQL_NO_CACHE - 498)) | (1 << (frameQLParser.SQL_THREAD - 498)) | (1 << (frameQLParser.START - 498)) | (1 << (frameQLParser.STARTS - 498)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 498)) | (1 << (frameQLParser.STATS_PERSISTENT - 498)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 498)) | (1 << (frameQLParser.STATUS - 498)) | (1 << (frameQLParser.STOP - 498)) | (1 << (frameQLParser.STORAGE - 498)) | (1 << (frameQLParser.STRING - 498)) | (1 << (frameQLParser.SUBJECT - 498)) | (1 << (frameQLParser.SUBPARTITION - 498)) | (1 << (frameQLParser.SUBPARTITIONS - 498)) | (1 << (frameQLParser.SUSPEND - 498)) | (1 << (frameQLParser.SWAPS - 498)) | (1 << (frameQLParser.SWITCHES - 498)) | (1 << (frameQLParser.TABLESPACE - 498)) | (1 << (frameQLParser.TEMPORARY - 498)) | (1 << (frameQLParser.TEMPTABLE - 498)) | (1 << (frameQLParser.THAN - 498)) | (1 << (frameQLParser.TRANSACTION - 498)) | (1 << (frameQLParser.TRUNCATE - 498)) | (1 << (frameQLParser.UNDEFINED - 498)) | (1 << (frameQLParser.UNDOFILE - 498)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 498)) | (1 << (frameQLParser.UNINSTALL - 498)) | (1 << (frameQLParser.UNKNOWN - 498)) | (1 << (frameQLParser.UPGRADE - 498)) | (1 << (frameQLParser.USER - 498)) | (1 << (frameQLParser.VALIDATION - 498)) | (1 << (frameQLParser.VALUE - 498)) | (1 << (frameQLParser.VARIABLES - 498)) | (1 << (frameQLParser.VIEW - 498)) | (1 << (frameQLParser.WAIT - 498)) | (1 << (frameQLParser.WARNINGS - 498)) | (1 << (frameQLParser.WITHOUT - 498)) | (1 << (frameQLParser.WORK - 498)) | (1 << (frameQLParser.WRAPPER - 498)) | (1 << (frameQLParser.X509 - 498)) | (1 << (frameQLParser.XA - 498)) | (1 << (frameQLParser.XML - 498)) | (1 << (frameQLParser.QUARTER - 498)) | (1 << (frameQLParser.MONTH - 498)) | (1 << (frameQLParser.DAY - 498)) | (1 << (frameQLParser.HOUR - 498)))) != 0) or ((((_la - 562)) & ~0x3f) == 0 and ((1 << (_la - 562)) & ((1 << (frameQLParser.MINUTE - 562)) | (1 << (frameQLParser.WEEK - 562)) | (1 << (frameQLParser.SECOND - 562)) | (1 << (frameQLParser.MICROSECOND - 562)) | (1 << (frameQLParser.TABLES - 562)) | (1 << (frameQLParser.ROUTINE - 562)) | (1 << (frameQLParser.EXECUTE - 562)) | (1 << (frameQLParser.FILE - 562)) | (1 << (frameQLParser.PROCESS - 562)) | (1 << (frameQLParser.RELOAD - 562)) | (1 << (frameQLParser.SHUTDOWN - 562)) | (1 << (frameQLParser.SUPER - 562)) | (1 << (frameQLParser.PRIVILEGES - 562)) | (1 << (frameQLParser.ARMSCII8 - 562)) | (1 << (frameQLParser.ASCII - 562)) | (1 << (frameQLParser.BIG5 - 562)) | (1 << (frameQLParser.CP1250 - 562)) | (1 << (frameQLParser.CP1251 - 562)) | (1 << (frameQLParser.CP1256 - 562)) | (1 << (frameQLParser.CP1257 - 562)) | (1 << (frameQLParser.CP850 - 562)) | (1 << (frameQLParser.CP852 - 562)) | (1 << (frameQLParser.CP866 - 562)) | (1 << (frameQLParser.CP932 - 562)) | (1 << (frameQLParser.DEC8 - 562)) | (1 << (frameQLParser.EUCJPMS - 562)) | (1 << (frameQLParser.EUCKR - 562)) | (1 << (frameQLParser.GB2312 - 562)) | (1 << (frameQLParser.GBK - 562)) | (1 << (frameQLParser.GEOSTD8 - 562)) | (1 << (frameQLParser.GREEK - 562)) | (1 << (frameQLParser.HEBREW - 562)) | (1 << (frameQLParser.HP8 - 562)) | (1 << (frameQLParser.KEYBCS2 - 562)) | (1 << (frameQLParser.KOI8R - 562)) | (1 << (frameQLParser.KOI8U - 562)) | (1 << (frameQLParser.LATIN1 - 562)) | (1 << (frameQLParser.LATIN2 - 562)) | (1 << (frameQLParser.LATIN5 - 562)) | (1 << (frameQLParser.LATIN7 - 562)) | (1 << (frameQLParser.MACCE - 562)) | (1 << (frameQLParser.MACROMAN - 562)) | (1 << (frameQLParser.SJIS - 562)) | (1 << (frameQLParser.SWE7 - 562)) | (1 << (frameQLParser.TIS620 - 562)) | (1 << (frameQLParser.UCS2 - 562)) | (1 << (frameQLParser.UJIS - 562)) | (1 << (frameQLParser.UTF16 - 562)) | (1 << (frameQLParser.UTF16LE - 562)) | (1 << (frameQLParser.UTF32 - 562)) | (1 << (frameQLParser.UTF8 - 562)) | (1 << (frameQLParser.UTF8MB3 - 562)) | (1 << (frameQLParser.UTF8MB4 - 562)) | (1 << (frameQLParser.ARCHIVE - 562)) | (1 << (frameQLParser.BLACKHOLE - 562)) | (1 << (frameQLParser.CSV - 562)) | (1 << (frameQLParser.FEDERATED - 562)) | (1 << (frameQLParser.INNODB - 562)) | (1 << (frameQLParser.MEMORY - 562)) | (1 << (frameQLParser.MRG_MYISAM - 562)) | (1 << (frameQLParser.MYISAM - 562)) | (1 << (frameQLParser.NDB - 562)) | (1 << (frameQLParser.NDBCLUSTER - 562)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 562)))) != 0) or ((((_la - 626)) & ~0x3f) == 0 and ((1 << (_la - 626)) & ((1 << (frameQLParser.REPEATABLE - 626)) | (1 << (frameQLParser.COMMITTED - 626)) | (1 << (frameQLParser.UNCOMMITTED - 626)) | (1 << (frameQLParser.SERIALIZABLE - 626)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 626)) | (1 << (frameQLParser.LINESTRING - 626)) | (1 << (frameQLParser.MULTILINESTRING - 626)) | (1 << (frameQLParser.MULTIPOINT - 626)) | (1 << (frameQLParser.MULTIPOLYGON - 626)) | (1 << (frameQLParser.POINT - 626)) | (1 << (frameQLParser.POLYGON - 626)) | (1 << (frameQLParser.ABS - 626)) | (1 << (frameQLParser.ACOS - 626)) | (1 << (frameQLParser.ADDDATE - 626)) | (1 << (frameQLParser.ADDTIME - 626)) | (1 << (frameQLParser.AES_DECRYPT - 626)) | (1 << (frameQLParser.AES_ENCRYPT - 626)) | (1 << (frameQLParser.AREA - 626)) | (1 << (frameQLParser.ASBINARY - 626)) | (1 << (frameQLParser.ASIN - 626)) | (1 << (frameQLParser.ASTEXT - 626)) | (1 << (frameQLParser.ASWKB - 626)) | (1 << (frameQLParser.ASWKT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 626)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 626)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 626)) | (1 << (frameQLParser.ATAN - 626)) | (1 << (frameQLParser.ATAN2 - 626)) | (1 << (frameQLParser.BENCHMARK - 626)) | (1 << (frameQLParser.BIN - 626)) | (1 << (frameQLParser.BIT_COUNT - 626)) | (1 << (frameQLParser.BIT_LENGTH - 626)) | (1 << (frameQLParser.BUFFER - 626)) | (1 << (frameQLParser.CEIL - 626)) | (1 << (frameQLParser.CEILING - 626)) | (1 << (frameQLParser.CENTROID - 626)) | (1 << (frameQLParser.CHARACTER_LENGTH - 626)) | (1 << (frameQLParser.CHARSET - 626)) | (1 << (frameQLParser.CHAR_LENGTH - 626)) | (1 << (frameQLParser.COERCIBILITY - 626)) | (1 << (frameQLParser.COLLATION - 626)) | (1 << (frameQLParser.COMPRESS - 626)) | (1 << (frameQLParser.CONCAT - 626)) | (1 << (frameQLParser.CONCAT_WS - 626)) | (1 << (frameQLParser.CONNECTION_ID - 626)) | (1 << (frameQLParser.CONV - 626)) | (1 << (frameQLParser.CONVERT_TZ - 626)) | (1 << (frameQLParser.COS - 626)) | (1 << (frameQLParser.COT - 626)) | (1 << (frameQLParser.CRC32 - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 626)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 626)) | (1 << (frameQLParser.CREATE_DIGEST - 626)) | (1 << (frameQLParser.CROSSES - 626)) | (1 << (frameQLParser.DATEDIFF - 626)) | (1 << (frameQLParser.DATE_FORMAT - 626)) | (1 << (frameQLParser.DAYNAME - 626)) | (1 << (frameQLParser.DAYOFMONTH - 626)) | (1 << (frameQLParser.DAYOFWEEK - 626)) | (1 << (frameQLParser.DAYOFYEAR - 626)) | (1 << (frameQLParser.DECODE - 626)))) != 0) or ((((_la - 690)) & ~0x3f) == 0 and ((1 << (_la - 690)) & ((1 << (frameQLParser.DEGREES - 690)) | (1 << (frameQLParser.DES_DECRYPT - 690)) | (1 << (frameQLParser.DES_ENCRYPT - 690)) | (1 << (frameQLParser.DIMENSION - 690)) | (1 << (frameQLParser.DISJOINT - 690)) | (1 << (frameQLParser.ELT - 690)) | (1 << (frameQLParser.ENCODE - 690)) | (1 << (frameQLParser.ENCRYPT - 690)) | (1 << (frameQLParser.ENDPOINT - 690)) | (1 << (frameQLParser.ENVELOPE - 690)) | (1 << (frameQLParser.EQUALS - 690)) | (1 << (frameQLParser.EXP - 690)) | (1 << (frameQLParser.EXPORT_SET - 690)) | (1 << (frameQLParser.EXTERIORRING - 690)) | (1 << (frameQLParser.EXTRACTVALUE - 690)) | (1 << (frameQLParser.FIELD - 690)) | (1 << (frameQLParser.FIND_IN_SET - 690)) | (1 << (frameQLParser.FLOOR - 690)) | (1 << (frameQLParser.FORMAT - 690)) | (1 << (frameQLParser.FOUND_ROWS - 690)) | (1 << (frameQLParser.FROM_BASE64 - 690)) | (1 << (frameQLParser.FROM_DAYS - 690)) | (1 << (frameQLParser.FROM_UNIXTIME - 690)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 690)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYN - 690)) | (1 << (frameQLParser.GEOMETRYTYPE - 690)) | (1 << (frameQLParser.GEOMFROMTEXT - 690)) | (1 << (frameQLParser.GEOMFROMWKB - 690)) | (1 << (frameQLParser.GET_FORMAT - 690)) | (1 << (frameQLParser.GET_LOCK - 690)) | (1 << (frameQLParser.GLENGTH - 690)) | (1 << (frameQLParser.GREATEST - 690)) | (1 << (frameQLParser.GTID_SUBSET - 690)) | (1 << (frameQLParser.GTID_SUBTRACT - 690)) | (1 << (frameQLParser.HEX - 690)) | (1 << (frameQLParser.IFNULL - 690)) | (1 << (frameQLParser.INET6_ATON - 690)) | (1 << (frameQLParser.INET6_NTOA - 690)) | (1 << (frameQLParser.INET_ATON - 690)) | (1 << (frameQLParser.INET_NTOA - 690)) | (1 << (frameQLParser.INSTR - 690)) | (1 << (frameQLParser.INTERIORRINGN - 690)) | (1 << (frameQLParser.INTERSECTS - 690)) | (1 << (frameQLParser.ISCLOSED - 690)) | (1 << (frameQLParser.ISEMPTY - 690)) | (1 << (frameQLParser.ISNULL - 690)) | (1 << (frameQLParser.ISSIMPLE - 690)) | (1 << (frameQLParser.IS_FREE_LOCK - 690)) | (1 << (frameQLParser.IS_IPV4 - 690)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 690)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 690)) | (1 << (frameQLParser.IS_IPV6 - 690)) | (1 << (frameQLParser.IS_USED_LOCK - 690)) | (1 << (frameQLParser.LAST_INSERT_ID - 690)) | (1 << (frameQLParser.LCASE - 690)) | (1 << (frameQLParser.LEAST - 690)) | (1 << (frameQLParser.LENGTH - 690)) | (1 << (frameQLParser.LINEFROMTEXT - 690)) | (1 << (frameQLParser.LINEFROMWKB - 690)))) != 0) or ((((_la - 754)) & ~0x3f) == 0 and ((1 << (_la - 754)) & ((1 << (frameQLParser.LINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.LN - 754)) | (1 << (frameQLParser.LOAD_FILE - 754)) | (1 << (frameQLParser.LOCATE - 754)) | (1 << (frameQLParser.LOG - 754)) | (1 << (frameQLParser.LOG10 - 754)) | (1 << (frameQLParser.LOG2 - 754)) | (1 << (frameQLParser.LOWER - 754)) | (1 << (frameQLParser.LPAD - 754)) | (1 << (frameQLParser.LTRIM - 754)) | (1 << (frameQLParser.MAKEDATE - 754)) | (1 << (frameQLParser.MAKETIME - 754)) | (1 << (frameQLParser.MAKE_SET - 754)) | (1 << (frameQLParser.MASTER_POS_WAIT - 754)) | (1 << (frameQLParser.MBRCONTAINS - 754)) | (1 << (frameQLParser.MBRDISJOINT - 754)) | (1 << (frameQLParser.MBREQUAL - 754)) | (1 << (frameQLParser.MBRINTERSECTS - 754)) | (1 << (frameQLParser.MBROVERLAPS - 754)) | (1 << (frameQLParser.MBRTOUCHES - 754)) | (1 << (frameQLParser.MBRWITHIN - 754)) | (1 << (frameQLParser.MD5 - 754)) | (1 << (frameQLParser.MLINEFROMTEXT - 754)) | (1 << (frameQLParser.MLINEFROMWKB - 754)) | (1 << (frameQLParser.MONTHNAME - 754)) | (1 << (frameQLParser.MPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MPOINTFROMWKB - 754)) | (1 << (frameQLParser.MPOLYFROMTEXT - 754)) | (1 << (frameQLParser.MPOLYFROMWKB - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 754)) | (1 << (frameQLParser.NAME_CONST - 754)) | (1 << (frameQLParser.NULLIF - 754)) | (1 << (frameQLParser.NUMGEOMETRIES - 754)) | (1 << (frameQLParser.NUMINTERIORRINGS - 754)) | (1 << (frameQLParser.NUMPOINTS - 754)) | (1 << (frameQLParser.OCT - 754)) | (1 << (frameQLParser.OCTET_LENGTH - 754)) | (1 << (frameQLParser.ORD - 754)) | (1 << (frameQLParser.OVERLAPS - 754)) | (1 << (frameQLParser.PERIOD_ADD - 754)) | (1 << (frameQLParser.PERIOD_DIFF - 754)) | (1 << (frameQLParser.PI - 754)) | (1 << (frameQLParser.POINTFROMTEXT - 754)) | (1 << (frameQLParser.POINTFROMWKB - 754)) | (1 << (frameQLParser.POINTN - 754)) | (1 << (frameQLParser.POLYFROMTEXT - 754)) | (1 << (frameQLParser.POLYFROMWKB - 754)) | (1 << (frameQLParser.POLYGONFROMTEXT - 754)) | (1 << (frameQLParser.POLYGONFROMWKB - 754)) | (1 << (frameQLParser.POW - 754)) | (1 << (frameQLParser.POWER - 754)) | (1 << (frameQLParser.QUOTE - 754)) | (1 << (frameQLParser.RADIANS - 754)) | (1 << (frameQLParser.RAND - 754)) | (1 << (frameQLParser.RANDOM_BYTES - 754)) | (1 << (frameQLParser.RELEASE_LOCK - 754)) | (1 << (frameQLParser.REVERSE - 754)) | (1 << (frameQLParser.ROUND - 754)))) != 0) or ((((_la - 818)) & ~0x3f) == 0 and ((1 << (_la - 818)) & ((1 << (frameQLParser.ROW_COUNT - 818)) | (1 << (frameQLParser.RPAD - 818)) | (1 << (frameQLParser.RTRIM - 818)) | (1 << (frameQLParser.SEC_TO_TIME - 818)) | (1 << (frameQLParser.SESSION_USER - 818)) | (1 << (frameQLParser.SHA - 818)) | (1 << (frameQLParser.SHA1 - 818)) | (1 << (frameQLParser.SHA2 - 818)) | (1 << (frameQLParser.SIGN - 818)) | (1 << (frameQLParser.SIN - 818)) | (1 << (frameQLParser.SLEEP - 818)) | (1 << (frameQLParser.SOUNDEX - 818)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 818)) | (1 << (frameQLParser.SQRT - 818)) | (1 << (frameQLParser.SRID - 818)) | (1 << (frameQLParser.STARTPOINT - 818)) | (1 << (frameQLParser.STRCMP - 818)) | (1 << (frameQLParser.STR_TO_DATE - 818)) | (1 << (frameQLParser.ST_AREA - 818)) | (1 << (frameQLParser.ST_ASBINARY - 818)) | (1 << (frameQLParser.ST_ASTEXT - 818)) | (1 << (frameQLParser.ST_ASWKB - 818)) | (1 << (frameQLParser.ST_ASWKT - 818)) | (1 << (frameQLParser.ST_BUFFER - 818)) | (1 << (frameQLParser.ST_CENTROID - 818)) | (1 << (frameQLParser.ST_CONTAINS - 818)) | (1 << (frameQLParser.ST_CROSSES - 818)) | (1 << (frameQLParser.ST_DIFFERENCE - 818)) | (1 << (frameQLParser.ST_DIMENSION - 818)) | (1 << (frameQLParser.ST_DISJOINT - 818)) | (1 << (frameQLParser.ST_DISTANCE - 818)) | (1 << (frameQLParser.ST_ENDPOINT - 818)) | (1 << (frameQLParser.ST_ENVELOPE - 818)) | (1 << (frameQLParser.ST_EQUALS - 818)) | (1 << (frameQLParser.ST_EXTERIORRING - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYN - 818)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 818)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 818)) | (1 << (frameQLParser.ST_INTERIORRINGN - 818)) | (1 << (frameQLParser.ST_INTERSECTION - 818)) | (1 << (frameQLParser.ST_INTERSECTS - 818)) | (1 << (frameQLParser.ST_ISCLOSED - 818)) | (1 << (frameQLParser.ST_ISEMPTY - 818)) | (1 << (frameQLParser.ST_ISSIMPLE - 818)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINEFROMWKB - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 818)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 818)) | (1 << (frameQLParser.ST_NUMPOINTS - 818)) | (1 << (frameQLParser.ST_OVERLAPS - 818)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 818)) | (1 << (frameQLParser.ST_POINTFROMWKB - 818)) | (1 << (frameQLParser.ST_POINTN - 818)))) != 0) or ((((_la - 882)) & ~0x3f) == 0 and ((1 << (_la - 882)) & ((1 << (frameQLParser.ST_POLYFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYFROMWKB - 882)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 882)) | (1 << (frameQLParser.ST_SRID - 882)) | (1 << (frameQLParser.ST_STARTPOINT - 882)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 882)) | (1 << (frameQLParser.ST_TOUCHES - 882)) | (1 << (frameQLParser.ST_UNION - 882)) | (1 << (frameQLParser.ST_WITHIN - 882)) | (1 << (frameQLParser.ST_X - 882)) | (1 << (frameQLParser.ST_Y - 882)) | (1 << (frameQLParser.SUBDATE - 882)) | (1 << (frameQLParser.SUBSTRING_INDEX - 882)) | (1 << (frameQLParser.SUBTIME - 882)) | (1 << (frameQLParser.SYSTEM_USER - 882)) | (1 << (frameQLParser.TAN - 882)) | (1 << (frameQLParser.TIMEDIFF - 882)) | (1 << (frameQLParser.TIMESTAMPADD - 882)) | (1 << (frameQLParser.TIMESTAMPDIFF - 882)) | (1 << (frameQLParser.TIME_FORMAT - 882)) | (1 << (frameQLParser.TIME_TO_SEC - 882)) | (1 << (frameQLParser.TOUCHES - 882)) | (1 << (frameQLParser.TO_BASE64 - 882)) | (1 << (frameQLParser.TO_DAYS - 882)) | (1 << (frameQLParser.TO_SECONDS - 882)) | (1 << (frameQLParser.UCASE - 882)) | (1 << (frameQLParser.UNCOMPRESS - 882)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 882)) | (1 << (frameQLParser.UNHEX - 882)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 882)) | (1 << (frameQLParser.UPDATEXML - 882)) | (1 << (frameQLParser.UPPER - 882)) | (1 << (frameQLParser.UUID - 882)) | (1 << (frameQLParser.UUID_SHORT - 882)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 882)) | (1 << (frameQLParser.VERSION - 882)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 882)) | (1 << (frameQLParser.WEEKDAY - 882)) | (1 << (frameQLParser.WEEKOFYEAR - 882)) | (1 << (frameQLParser.WEIGHT_STRING - 882)) | (1 << (frameQLParser.WITHIN - 882)) | (1 << (frameQLParser.YEARWEEK - 882)) | (1 << (frameQLParser.Y_FUNCTION - 882)) | (1 << (frameQLParser.X_FUNCTION - 882)))) != 0) or ((((_la - 953)) & ~0x3f) == 0 and ((1 << (_la - 953)) & ((1 << (frameQLParser.LR_BRACKET - 953)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 953)) | (1 << (frameQLParser.STRING_LITERAL - 953)) | (1 << (frameQLParser.ID - 953)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 953)))) != 0)): - break - - self.state = 4139 - self.match(frameQLParser.END) - self.state = 4140 - self.match(frameQLParser.LOOP) - self.state = 4142 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 4141 - self.uid() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class RepeatStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def REPEAT(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.REPEAT) - else: - return self.getToken(frameQLParser.REPEAT, i) - - def UNTIL(self): - return self.getToken(frameQLParser.UNTIL, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def END(self): - return self.getToken(frameQLParser.END, 0) - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def COLON_SYMB(self): - return self.getToken(frameQLParser.COLON_SYMB, 0) - - def procedureSqlStatement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ProcedureSqlStatementContext) - else: - return self.getTypedRuleContext(frameQLParser.ProcedureSqlStatementContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_repeatStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRepeatStatement" ): - listener.enterRepeatStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRepeatStatement" ): - listener.exitRepeatStatement(self) - - - - - def repeatStatement(self): - - localctx = frameQLParser.RepeatStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 360, self.RULE_repeatStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4147 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 4144 - self.uid() - self.state = 4145 - self.match(frameQLParser.COLON_SYMB) - - - self.state = 4149 - self.match(frameQLParser.REPEAT) - self.state = 4151 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4150 - self.procedureSqlStatement() - self.state = 4153 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 9)) & ~0x3f) == 0 and ((1 << (_la - 9)) & ((1 << (frameQLParser.ALTER - 9)) | (1 << (frameQLParser.ANALYZE - 9)) | (1 << (frameQLParser.CALL - 9)) | (1 << (frameQLParser.CASE - 9)) | (1 << (frameQLParser.CHANGE - 9)) | (1 << (frameQLParser.CHECK - 9)) | (1 << (frameQLParser.CREATE - 9)) | (1 << (frameQLParser.DATABASE - 9)) | (1 << (frameQLParser.DELETE - 9)) | (1 << (frameQLParser.DESC - 9)) | (1 << (frameQLParser.DESCRIBE - 9)) | (1 << (frameQLParser.DROP - 9)) | (1 << (frameQLParser.EXPLAIN - 9)) | (1 << (frameQLParser.FETCH - 9)) | (1 << (frameQLParser.GRANT - 9)) | (1 << (frameQLParser.IF - 9)))) != 0) or ((((_la - 75)) & ~0x3f) == 0 and ((1 << (_la - 75)) & ((1 << (frameQLParser.INSERT - 75)) | (1 << (frameQLParser.ITERATE - 75)) | (1 << (frameQLParser.KILL - 75)) | (1 << (frameQLParser.LEAVE - 75)) | (1 << (frameQLParser.LEFT - 75)) | (1 << (frameQLParser.LOAD - 75)) | (1 << (frameQLParser.LOCK - 75)) | (1 << (frameQLParser.LOOP - 75)) | (1 << (frameQLParser.OPTIMIZE - 75)) | (1 << (frameQLParser.PURGE - 75)) | (1 << (frameQLParser.RELEASE - 75)) | (1 << (frameQLParser.RENAME - 75)) | (1 << (frameQLParser.REPEAT - 75)) | (1 << (frameQLParser.REPLACE - 75)) | (1 << (frameQLParser.RETURN - 75)) | (1 << (frameQLParser.REVOKE - 75)) | (1 << (frameQLParser.RIGHT - 75)) | (1 << (frameQLParser.SELECT - 75)) | (1 << (frameQLParser.SET - 75)) | (1 << (frameQLParser.SHOW - 75)))) != 0) or ((((_la - 159)) & ~0x3f) == 0 and ((1 << (_la - 159)) & ((1 << (frameQLParser.UNLOCK - 159)) | (1 << (frameQLParser.UPDATE - 159)) | (1 << (frameQLParser.USE - 159)) | (1 << (frameQLParser.WHILE - 159)) | (1 << (frameQLParser.DATE - 159)) | (1 << (frameQLParser.TIME - 159)) | (1 << (frameQLParser.TIMESTAMP - 159)) | (1 << (frameQLParser.DATETIME - 159)) | (1 << (frameQLParser.YEAR - 159)) | (1 << (frameQLParser.TEXT - 159)) | (1 << (frameQLParser.ENUM - 159)) | (1 << (frameQLParser.SERIAL - 159)) | (1 << (frameQLParser.COUNT - 159)))) != 0) or ((((_la - 242)) & ~0x3f) == 0 and ((1 << (_la - 242)) & ((1 << (frameQLParser.POSITION - 242)) | (1 << (frameQLParser.ACCOUNT - 242)) | (1 << (frameQLParser.ACTION - 242)) | (1 << (frameQLParser.AFTER - 242)) | (1 << (frameQLParser.AGGREGATE - 242)) | (1 << (frameQLParser.ALGORITHM - 242)) | (1 << (frameQLParser.ANY - 242)) | (1 << (frameQLParser.AT - 242)) | (1 << (frameQLParser.AUTHORS - 242)) | (1 << (frameQLParser.AUTOCOMMIT - 242)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 242)) | (1 << (frameQLParser.AUTO_INCREMENT - 242)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 242)) | (1 << (frameQLParser.BEGIN - 242)) | (1 << (frameQLParser.BINLOG - 242)) | (1 << (frameQLParser.BIT - 242)) | (1 << (frameQLParser.BLOCK - 242)) | (1 << (frameQLParser.BOOL - 242)) | (1 << (frameQLParser.BOOLEAN - 242)) | (1 << (frameQLParser.BTREE - 242)) | (1 << (frameQLParser.CACHE - 242)) | (1 << (frameQLParser.CASCADED - 242)) | (1 << (frameQLParser.CHAIN - 242)) | (1 << (frameQLParser.CHANGED - 242)) | (1 << (frameQLParser.CHANNEL - 242)) | (1 << (frameQLParser.CHECKSUM - 242)) | (1 << (frameQLParser.CIPHER - 242)) | (1 << (frameQLParser.CLIENT - 242)) | (1 << (frameQLParser.CLOSE - 242)) | (1 << (frameQLParser.COALESCE - 242)) | (1 << (frameQLParser.CODE - 242)) | (1 << (frameQLParser.COLUMNS - 242)) | (1 << (frameQLParser.COLUMN_FORMAT - 242)) | (1 << (frameQLParser.COMMENT - 242)) | (1 << (frameQLParser.COMMIT - 242)) | (1 << (frameQLParser.COMPACT - 242)) | (1 << (frameQLParser.COMPLETION - 242)) | (1 << (frameQLParser.COMPRESSED - 242)) | (1 << (frameQLParser.COMPRESSION - 242)) | (1 << (frameQLParser.CONCURRENT - 242)) | (1 << (frameQLParser.CONNECTION - 242)) | (1 << (frameQLParser.CONSISTENT - 242)) | (1 << (frameQLParser.CONTAINS - 242)) | (1 << (frameQLParser.CONTEXT - 242)) | (1 << (frameQLParser.CONTRIBUTORS - 242)) | (1 << (frameQLParser.COPY - 242)) | (1 << (frameQLParser.CPU - 242)) | (1 << (frameQLParser.DATA - 242)) | (1 << (frameQLParser.DATAFILE - 242)) | (1 << (frameQLParser.DEALLOCATE - 242)) | (1 << (frameQLParser.DEFAULT_AUTH - 242)) | (1 << (frameQLParser.DEFINER - 242)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 242)) | (1 << (frameQLParser.DIRECTORY - 242)) | (1 << (frameQLParser.DISABLE - 242)) | (1 << (frameQLParser.DISCARD - 242)))) != 0) or ((((_la - 306)) & ~0x3f) == 0 and ((1 << (_la - 306)) & ((1 << (frameQLParser.DISK - 306)) | (1 << (frameQLParser.DO - 306)) | (1 << (frameQLParser.DUMPFILE - 306)) | (1 << (frameQLParser.DUPLICATE - 306)) | (1 << (frameQLParser.DYNAMIC - 306)) | (1 << (frameQLParser.ENABLE - 306)) | (1 << (frameQLParser.ENCRYPTION - 306)) | (1 << (frameQLParser.ENDS - 306)) | (1 << (frameQLParser.ENGINE - 306)) | (1 << (frameQLParser.ENGINES - 306)) | (1 << (frameQLParser.ERROR - 306)) | (1 << (frameQLParser.ERRORS - 306)) | (1 << (frameQLParser.ESCAPE - 306)) | (1 << (frameQLParser.EVEN - 306)) | (1 << (frameQLParser.EVENT - 306)) | (1 << (frameQLParser.EVENTS - 306)) | (1 << (frameQLParser.EVERY - 306)) | (1 << (frameQLParser.EXCHANGE - 306)) | (1 << (frameQLParser.EXCLUSIVE - 306)) | (1 << (frameQLParser.EXPIRE - 306)) | (1 << (frameQLParser.EXTENDED - 306)) | (1 << (frameQLParser.EXTENT_SIZE - 306)) | (1 << (frameQLParser.FAST - 306)) | (1 << (frameQLParser.FAULTS - 306)) | (1 << (frameQLParser.FIELDS - 306)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 306)) | (1 << (frameQLParser.FILTER - 306)) | (1 << (frameQLParser.FIRST - 306)) | (1 << (frameQLParser.FIXED - 306)) | (1 << (frameQLParser.FLUSH - 306)) | (1 << (frameQLParser.FOLLOWS - 306)) | (1 << (frameQLParser.FULL - 306)) | (1 << (frameQLParser.FUNCTION - 306)) | (1 << (frameQLParser.GLOBAL - 306)) | (1 << (frameQLParser.GRANTS - 306)) | (1 << (frameQLParser.GROUP_REPLICATION - 306)) | (1 << (frameQLParser.HANDLER - 306)) | (1 << (frameQLParser.HASH - 306)) | (1 << (frameQLParser.HELP - 306)) | (1 << (frameQLParser.HOST - 306)) | (1 << (frameQLParser.IDENTIFIED - 306)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 306)) | (1 << (frameQLParser.IMPORT - 306)) | (1 << (frameQLParser.INDEXES - 306)) | (1 << (frameQLParser.INITIAL_SIZE - 306)) | (1 << (frameQLParser.INPLACE - 306)) | (1 << (frameQLParser.INSERT_METHOD - 306)) | (1 << (frameQLParser.INSTALL - 306)) | (1 << (frameQLParser.INSTANCE - 306)) | (1 << (frameQLParser.INVOKER - 306)) | (1 << (frameQLParser.IO - 306)) | (1 << (frameQLParser.IO_THREAD - 306)) | (1 << (frameQLParser.IPC - 306)) | (1 << (frameQLParser.ISOLATION - 306)) | (1 << (frameQLParser.ISSUER - 306)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 306)) | (1 << (frameQLParser.LANGUAGE - 306)) | (1 << (frameQLParser.LAST - 306)))) != 0) or ((((_la - 370)) & ~0x3f) == 0 and ((1 << (_la - 370)) & ((1 << (frameQLParser.LEAVES - 370)) | (1 << (frameQLParser.LESS - 370)) | (1 << (frameQLParser.LEVEL - 370)) | (1 << (frameQLParser.LIST - 370)) | (1 << (frameQLParser.LOCAL - 370)) | (1 << (frameQLParser.LOGFILE - 370)) | (1 << (frameQLParser.LOGS - 370)) | (1 << (frameQLParser.MASTER - 370)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 370)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 370)) | (1 << (frameQLParser.MASTER_DELAY - 370)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 370)) | (1 << (frameQLParser.MASTER_HOST - 370)) | (1 << (frameQLParser.MASTER_LOG_FILE - 370)) | (1 << (frameQLParser.MASTER_LOG_POS - 370)) | (1 << (frameQLParser.MASTER_PASSWORD - 370)) | (1 << (frameQLParser.MASTER_PORT - 370)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 370)) | (1 << (frameQLParser.MASTER_SSL - 370)) | (1 << (frameQLParser.MASTER_SSL_CA - 370)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_CERT - 370)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 370)) | (1 << (frameQLParser.MASTER_SSL_CRL - 370)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_KEY - 370)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 370)) | (1 << (frameQLParser.MASTER_USER - 370)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_ROWS - 370)) | (1 << (frameQLParser.MAX_SIZE - 370)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 370)) | (1 << (frameQLParser.MEDIUM - 370)) | (1 << (frameQLParser.MERGE - 370)) | (1 << (frameQLParser.MID - 370)) | (1 << (frameQLParser.MIGRATE - 370)) | (1 << (frameQLParser.MIN_ROWS - 370)) | (1 << (frameQLParser.MODIFY - 370)) | (1 << (frameQLParser.MUTEX - 370)) | (1 << (frameQLParser.MYSQL - 370)) | (1 << (frameQLParser.NAME - 370)) | (1 << (frameQLParser.NAMES - 370)) | (1 << (frameQLParser.NCHAR - 370)) | (1 << (frameQLParser.NEVER - 370)) | (1 << (frameQLParser.NO - 370)) | (1 << (frameQLParser.NODEGROUP - 370)) | (1 << (frameQLParser.NONE - 370)) | (1 << (frameQLParser.OFFLINE - 370)) | (1 << (frameQLParser.OFFSET - 370)) | (1 << (frameQLParser.OJ - 370)) | (1 << (frameQLParser.OLD_PASSWORD - 370)) | (1 << (frameQLParser.ONE - 370)) | (1 << (frameQLParser.ONLINE - 370)) | (1 << (frameQLParser.ONLY - 370)) | (1 << (frameQLParser.OPEN - 370)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 370)) | (1 << (frameQLParser.OPTIONS - 370)) | (1 << (frameQLParser.OWNER - 370)) | (1 << (frameQLParser.PACK_KEYS - 370)) | (1 << (frameQLParser.PAGE - 370)))) != 0) or ((((_la - 434)) & ~0x3f) == 0 and ((1 << (_la - 434)) & ((1 << (frameQLParser.PARSER - 434)) | (1 << (frameQLParser.PARTIAL - 434)) | (1 << (frameQLParser.PARTITIONING - 434)) | (1 << (frameQLParser.PARTITIONS - 434)) | (1 << (frameQLParser.PASSWORD - 434)) | (1 << (frameQLParser.PHASE - 434)) | (1 << (frameQLParser.PLUGIN_DIR - 434)) | (1 << (frameQLParser.PLUGINS - 434)) | (1 << (frameQLParser.PORT - 434)) | (1 << (frameQLParser.PRECEDES - 434)) | (1 << (frameQLParser.PREPARE - 434)) | (1 << (frameQLParser.PRESERVE - 434)) | (1 << (frameQLParser.PREV - 434)) | (1 << (frameQLParser.PROCESSLIST - 434)) | (1 << (frameQLParser.PROFILE - 434)) | (1 << (frameQLParser.PROFILES - 434)) | (1 << (frameQLParser.PROXY - 434)) | (1 << (frameQLParser.QUERY - 434)) | (1 << (frameQLParser.QUICK - 434)) | (1 << (frameQLParser.REBUILD - 434)) | (1 << (frameQLParser.RECOVER - 434)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 434)) | (1 << (frameQLParser.REDUNDANT - 434)) | (1 << (frameQLParser.RELAY_LOG_FILE - 434)) | (1 << (frameQLParser.RELAY_LOG_POS - 434)) | (1 << (frameQLParser.RELAYLOG - 434)) | (1 << (frameQLParser.REMOVE - 434)) | (1 << (frameQLParser.REORGANIZE - 434)) | (1 << (frameQLParser.REPAIR - 434)) | (1 << (frameQLParser.REPLICATE_DO_DB - 434)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 434)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATION - 434)) | (1 << (frameQLParser.RESET - 434)) | (1 << (frameQLParser.RESUME - 434)) | (1 << (frameQLParser.RETURNS - 434)) | (1 << (frameQLParser.ROLLBACK - 434)) | (1 << (frameQLParser.ROLLUP - 434)) | (1 << (frameQLParser.ROTATE - 434)) | (1 << (frameQLParser.ROW - 434)) | (1 << (frameQLParser.ROWS - 434)) | (1 << (frameQLParser.ROW_FORMAT - 434)) | (1 << (frameQLParser.SAVEPOINT - 434)) | (1 << (frameQLParser.SCHEDULE - 434)) | (1 << (frameQLParser.SECURITY - 434)) | (1 << (frameQLParser.SERVER - 434)) | (1 << (frameQLParser.SESSION - 434)) | (1 << (frameQLParser.SHARE - 434)) | (1 << (frameQLParser.SHARED - 434)) | (1 << (frameQLParser.SIGNED - 434)) | (1 << (frameQLParser.SIMPLE - 434)) | (1 << (frameQLParser.SLAVE - 434)) | (1 << (frameQLParser.SNAPSHOT - 434)) | (1 << (frameQLParser.SOCKET - 434)) | (1 << (frameQLParser.SOME - 434)) | (1 << (frameQLParser.SOUNDS - 434)))) != 0) or ((((_la - 498)) & ~0x3f) == 0 and ((1 << (_la - 498)) & ((1 << (frameQLParser.SOURCE - 498)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 498)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 498)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 498)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 498)) | (1 << (frameQLParser.SQL_CACHE - 498)) | (1 << (frameQLParser.SQL_NO_CACHE - 498)) | (1 << (frameQLParser.SQL_THREAD - 498)) | (1 << (frameQLParser.START - 498)) | (1 << (frameQLParser.STARTS - 498)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 498)) | (1 << (frameQLParser.STATS_PERSISTENT - 498)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 498)) | (1 << (frameQLParser.STATUS - 498)) | (1 << (frameQLParser.STOP - 498)) | (1 << (frameQLParser.STORAGE - 498)) | (1 << (frameQLParser.STRING - 498)) | (1 << (frameQLParser.SUBJECT - 498)) | (1 << (frameQLParser.SUBPARTITION - 498)) | (1 << (frameQLParser.SUBPARTITIONS - 498)) | (1 << (frameQLParser.SUSPEND - 498)) | (1 << (frameQLParser.SWAPS - 498)) | (1 << (frameQLParser.SWITCHES - 498)) | (1 << (frameQLParser.TABLESPACE - 498)) | (1 << (frameQLParser.TEMPORARY - 498)) | (1 << (frameQLParser.TEMPTABLE - 498)) | (1 << (frameQLParser.THAN - 498)) | (1 << (frameQLParser.TRANSACTION - 498)) | (1 << (frameQLParser.TRUNCATE - 498)) | (1 << (frameQLParser.UNDEFINED - 498)) | (1 << (frameQLParser.UNDOFILE - 498)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 498)) | (1 << (frameQLParser.UNINSTALL - 498)) | (1 << (frameQLParser.UNKNOWN - 498)) | (1 << (frameQLParser.UPGRADE - 498)) | (1 << (frameQLParser.USER - 498)) | (1 << (frameQLParser.VALIDATION - 498)) | (1 << (frameQLParser.VALUE - 498)) | (1 << (frameQLParser.VARIABLES - 498)) | (1 << (frameQLParser.VIEW - 498)) | (1 << (frameQLParser.WAIT - 498)) | (1 << (frameQLParser.WARNINGS - 498)) | (1 << (frameQLParser.WITHOUT - 498)) | (1 << (frameQLParser.WORK - 498)) | (1 << (frameQLParser.WRAPPER - 498)) | (1 << (frameQLParser.X509 - 498)) | (1 << (frameQLParser.XA - 498)) | (1 << (frameQLParser.XML - 498)) | (1 << (frameQLParser.QUARTER - 498)) | (1 << (frameQLParser.MONTH - 498)) | (1 << (frameQLParser.DAY - 498)) | (1 << (frameQLParser.HOUR - 498)))) != 0) or ((((_la - 562)) & ~0x3f) == 0 and ((1 << (_la - 562)) & ((1 << (frameQLParser.MINUTE - 562)) | (1 << (frameQLParser.WEEK - 562)) | (1 << (frameQLParser.SECOND - 562)) | (1 << (frameQLParser.MICROSECOND - 562)) | (1 << (frameQLParser.TABLES - 562)) | (1 << (frameQLParser.ROUTINE - 562)) | (1 << (frameQLParser.EXECUTE - 562)) | (1 << (frameQLParser.FILE - 562)) | (1 << (frameQLParser.PROCESS - 562)) | (1 << (frameQLParser.RELOAD - 562)) | (1 << (frameQLParser.SHUTDOWN - 562)) | (1 << (frameQLParser.SUPER - 562)) | (1 << (frameQLParser.PRIVILEGES - 562)) | (1 << (frameQLParser.ARMSCII8 - 562)) | (1 << (frameQLParser.ASCII - 562)) | (1 << (frameQLParser.BIG5 - 562)) | (1 << (frameQLParser.CP1250 - 562)) | (1 << (frameQLParser.CP1251 - 562)) | (1 << (frameQLParser.CP1256 - 562)) | (1 << (frameQLParser.CP1257 - 562)) | (1 << (frameQLParser.CP850 - 562)) | (1 << (frameQLParser.CP852 - 562)) | (1 << (frameQLParser.CP866 - 562)) | (1 << (frameQLParser.CP932 - 562)) | (1 << (frameQLParser.DEC8 - 562)) | (1 << (frameQLParser.EUCJPMS - 562)) | (1 << (frameQLParser.EUCKR - 562)) | (1 << (frameQLParser.GB2312 - 562)) | (1 << (frameQLParser.GBK - 562)) | (1 << (frameQLParser.GEOSTD8 - 562)) | (1 << (frameQLParser.GREEK - 562)) | (1 << (frameQLParser.HEBREW - 562)) | (1 << (frameQLParser.HP8 - 562)) | (1 << (frameQLParser.KEYBCS2 - 562)) | (1 << (frameQLParser.KOI8R - 562)) | (1 << (frameQLParser.KOI8U - 562)) | (1 << (frameQLParser.LATIN1 - 562)) | (1 << (frameQLParser.LATIN2 - 562)) | (1 << (frameQLParser.LATIN5 - 562)) | (1 << (frameQLParser.LATIN7 - 562)) | (1 << (frameQLParser.MACCE - 562)) | (1 << (frameQLParser.MACROMAN - 562)) | (1 << (frameQLParser.SJIS - 562)) | (1 << (frameQLParser.SWE7 - 562)) | (1 << (frameQLParser.TIS620 - 562)) | (1 << (frameQLParser.UCS2 - 562)) | (1 << (frameQLParser.UJIS - 562)) | (1 << (frameQLParser.UTF16 - 562)) | (1 << (frameQLParser.UTF16LE - 562)) | (1 << (frameQLParser.UTF32 - 562)) | (1 << (frameQLParser.UTF8 - 562)) | (1 << (frameQLParser.UTF8MB3 - 562)) | (1 << (frameQLParser.UTF8MB4 - 562)) | (1 << (frameQLParser.ARCHIVE - 562)) | (1 << (frameQLParser.BLACKHOLE - 562)) | (1 << (frameQLParser.CSV - 562)) | (1 << (frameQLParser.FEDERATED - 562)) | (1 << (frameQLParser.INNODB - 562)) | (1 << (frameQLParser.MEMORY - 562)) | (1 << (frameQLParser.MRG_MYISAM - 562)) | (1 << (frameQLParser.MYISAM - 562)) | (1 << (frameQLParser.NDB - 562)) | (1 << (frameQLParser.NDBCLUSTER - 562)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 562)))) != 0) or ((((_la - 626)) & ~0x3f) == 0 and ((1 << (_la - 626)) & ((1 << (frameQLParser.REPEATABLE - 626)) | (1 << (frameQLParser.COMMITTED - 626)) | (1 << (frameQLParser.UNCOMMITTED - 626)) | (1 << (frameQLParser.SERIALIZABLE - 626)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 626)) | (1 << (frameQLParser.LINESTRING - 626)) | (1 << (frameQLParser.MULTILINESTRING - 626)) | (1 << (frameQLParser.MULTIPOINT - 626)) | (1 << (frameQLParser.MULTIPOLYGON - 626)) | (1 << (frameQLParser.POINT - 626)) | (1 << (frameQLParser.POLYGON - 626)) | (1 << (frameQLParser.ABS - 626)) | (1 << (frameQLParser.ACOS - 626)) | (1 << (frameQLParser.ADDDATE - 626)) | (1 << (frameQLParser.ADDTIME - 626)) | (1 << (frameQLParser.AES_DECRYPT - 626)) | (1 << (frameQLParser.AES_ENCRYPT - 626)) | (1 << (frameQLParser.AREA - 626)) | (1 << (frameQLParser.ASBINARY - 626)) | (1 << (frameQLParser.ASIN - 626)) | (1 << (frameQLParser.ASTEXT - 626)) | (1 << (frameQLParser.ASWKB - 626)) | (1 << (frameQLParser.ASWKT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 626)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 626)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 626)) | (1 << (frameQLParser.ATAN - 626)) | (1 << (frameQLParser.ATAN2 - 626)) | (1 << (frameQLParser.BENCHMARK - 626)) | (1 << (frameQLParser.BIN - 626)) | (1 << (frameQLParser.BIT_COUNT - 626)) | (1 << (frameQLParser.BIT_LENGTH - 626)) | (1 << (frameQLParser.BUFFER - 626)) | (1 << (frameQLParser.CEIL - 626)) | (1 << (frameQLParser.CEILING - 626)) | (1 << (frameQLParser.CENTROID - 626)) | (1 << (frameQLParser.CHARACTER_LENGTH - 626)) | (1 << (frameQLParser.CHARSET - 626)) | (1 << (frameQLParser.CHAR_LENGTH - 626)) | (1 << (frameQLParser.COERCIBILITY - 626)) | (1 << (frameQLParser.COLLATION - 626)) | (1 << (frameQLParser.COMPRESS - 626)) | (1 << (frameQLParser.CONCAT - 626)) | (1 << (frameQLParser.CONCAT_WS - 626)) | (1 << (frameQLParser.CONNECTION_ID - 626)) | (1 << (frameQLParser.CONV - 626)) | (1 << (frameQLParser.CONVERT_TZ - 626)) | (1 << (frameQLParser.COS - 626)) | (1 << (frameQLParser.COT - 626)) | (1 << (frameQLParser.CRC32 - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 626)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 626)) | (1 << (frameQLParser.CREATE_DIGEST - 626)) | (1 << (frameQLParser.CROSSES - 626)) | (1 << (frameQLParser.DATEDIFF - 626)) | (1 << (frameQLParser.DATE_FORMAT - 626)) | (1 << (frameQLParser.DAYNAME - 626)) | (1 << (frameQLParser.DAYOFMONTH - 626)) | (1 << (frameQLParser.DAYOFWEEK - 626)) | (1 << (frameQLParser.DAYOFYEAR - 626)) | (1 << (frameQLParser.DECODE - 626)))) != 0) or ((((_la - 690)) & ~0x3f) == 0 and ((1 << (_la - 690)) & ((1 << (frameQLParser.DEGREES - 690)) | (1 << (frameQLParser.DES_DECRYPT - 690)) | (1 << (frameQLParser.DES_ENCRYPT - 690)) | (1 << (frameQLParser.DIMENSION - 690)) | (1 << (frameQLParser.DISJOINT - 690)) | (1 << (frameQLParser.ELT - 690)) | (1 << (frameQLParser.ENCODE - 690)) | (1 << (frameQLParser.ENCRYPT - 690)) | (1 << (frameQLParser.ENDPOINT - 690)) | (1 << (frameQLParser.ENVELOPE - 690)) | (1 << (frameQLParser.EQUALS - 690)) | (1 << (frameQLParser.EXP - 690)) | (1 << (frameQLParser.EXPORT_SET - 690)) | (1 << (frameQLParser.EXTERIORRING - 690)) | (1 << (frameQLParser.EXTRACTVALUE - 690)) | (1 << (frameQLParser.FIELD - 690)) | (1 << (frameQLParser.FIND_IN_SET - 690)) | (1 << (frameQLParser.FLOOR - 690)) | (1 << (frameQLParser.FORMAT - 690)) | (1 << (frameQLParser.FOUND_ROWS - 690)) | (1 << (frameQLParser.FROM_BASE64 - 690)) | (1 << (frameQLParser.FROM_DAYS - 690)) | (1 << (frameQLParser.FROM_UNIXTIME - 690)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 690)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYN - 690)) | (1 << (frameQLParser.GEOMETRYTYPE - 690)) | (1 << (frameQLParser.GEOMFROMTEXT - 690)) | (1 << (frameQLParser.GEOMFROMWKB - 690)) | (1 << (frameQLParser.GET_FORMAT - 690)) | (1 << (frameQLParser.GET_LOCK - 690)) | (1 << (frameQLParser.GLENGTH - 690)) | (1 << (frameQLParser.GREATEST - 690)) | (1 << (frameQLParser.GTID_SUBSET - 690)) | (1 << (frameQLParser.GTID_SUBTRACT - 690)) | (1 << (frameQLParser.HEX - 690)) | (1 << (frameQLParser.IFNULL - 690)) | (1 << (frameQLParser.INET6_ATON - 690)) | (1 << (frameQLParser.INET6_NTOA - 690)) | (1 << (frameQLParser.INET_ATON - 690)) | (1 << (frameQLParser.INET_NTOA - 690)) | (1 << (frameQLParser.INSTR - 690)) | (1 << (frameQLParser.INTERIORRINGN - 690)) | (1 << (frameQLParser.INTERSECTS - 690)) | (1 << (frameQLParser.ISCLOSED - 690)) | (1 << (frameQLParser.ISEMPTY - 690)) | (1 << (frameQLParser.ISNULL - 690)) | (1 << (frameQLParser.ISSIMPLE - 690)) | (1 << (frameQLParser.IS_FREE_LOCK - 690)) | (1 << (frameQLParser.IS_IPV4 - 690)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 690)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 690)) | (1 << (frameQLParser.IS_IPV6 - 690)) | (1 << (frameQLParser.IS_USED_LOCK - 690)) | (1 << (frameQLParser.LAST_INSERT_ID - 690)) | (1 << (frameQLParser.LCASE - 690)) | (1 << (frameQLParser.LEAST - 690)) | (1 << (frameQLParser.LENGTH - 690)) | (1 << (frameQLParser.LINEFROMTEXT - 690)) | (1 << (frameQLParser.LINEFROMWKB - 690)))) != 0) or ((((_la - 754)) & ~0x3f) == 0 and ((1 << (_la - 754)) & ((1 << (frameQLParser.LINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.LN - 754)) | (1 << (frameQLParser.LOAD_FILE - 754)) | (1 << (frameQLParser.LOCATE - 754)) | (1 << (frameQLParser.LOG - 754)) | (1 << (frameQLParser.LOG10 - 754)) | (1 << (frameQLParser.LOG2 - 754)) | (1 << (frameQLParser.LOWER - 754)) | (1 << (frameQLParser.LPAD - 754)) | (1 << (frameQLParser.LTRIM - 754)) | (1 << (frameQLParser.MAKEDATE - 754)) | (1 << (frameQLParser.MAKETIME - 754)) | (1 << (frameQLParser.MAKE_SET - 754)) | (1 << (frameQLParser.MASTER_POS_WAIT - 754)) | (1 << (frameQLParser.MBRCONTAINS - 754)) | (1 << (frameQLParser.MBRDISJOINT - 754)) | (1 << (frameQLParser.MBREQUAL - 754)) | (1 << (frameQLParser.MBRINTERSECTS - 754)) | (1 << (frameQLParser.MBROVERLAPS - 754)) | (1 << (frameQLParser.MBRTOUCHES - 754)) | (1 << (frameQLParser.MBRWITHIN - 754)) | (1 << (frameQLParser.MD5 - 754)) | (1 << (frameQLParser.MLINEFROMTEXT - 754)) | (1 << (frameQLParser.MLINEFROMWKB - 754)) | (1 << (frameQLParser.MONTHNAME - 754)) | (1 << (frameQLParser.MPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MPOINTFROMWKB - 754)) | (1 << (frameQLParser.MPOLYFROMTEXT - 754)) | (1 << (frameQLParser.MPOLYFROMWKB - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 754)) | (1 << (frameQLParser.NAME_CONST - 754)) | (1 << (frameQLParser.NULLIF - 754)) | (1 << (frameQLParser.NUMGEOMETRIES - 754)) | (1 << (frameQLParser.NUMINTERIORRINGS - 754)) | (1 << (frameQLParser.NUMPOINTS - 754)) | (1 << (frameQLParser.OCT - 754)) | (1 << (frameQLParser.OCTET_LENGTH - 754)) | (1 << (frameQLParser.ORD - 754)) | (1 << (frameQLParser.OVERLAPS - 754)) | (1 << (frameQLParser.PERIOD_ADD - 754)) | (1 << (frameQLParser.PERIOD_DIFF - 754)) | (1 << (frameQLParser.PI - 754)) | (1 << (frameQLParser.POINTFROMTEXT - 754)) | (1 << (frameQLParser.POINTFROMWKB - 754)) | (1 << (frameQLParser.POINTN - 754)) | (1 << (frameQLParser.POLYFROMTEXT - 754)) | (1 << (frameQLParser.POLYFROMWKB - 754)) | (1 << (frameQLParser.POLYGONFROMTEXT - 754)) | (1 << (frameQLParser.POLYGONFROMWKB - 754)) | (1 << (frameQLParser.POW - 754)) | (1 << (frameQLParser.POWER - 754)) | (1 << (frameQLParser.QUOTE - 754)) | (1 << (frameQLParser.RADIANS - 754)) | (1 << (frameQLParser.RAND - 754)) | (1 << (frameQLParser.RANDOM_BYTES - 754)) | (1 << (frameQLParser.RELEASE_LOCK - 754)) | (1 << (frameQLParser.REVERSE - 754)) | (1 << (frameQLParser.ROUND - 754)))) != 0) or ((((_la - 818)) & ~0x3f) == 0 and ((1 << (_la - 818)) & ((1 << (frameQLParser.ROW_COUNT - 818)) | (1 << (frameQLParser.RPAD - 818)) | (1 << (frameQLParser.RTRIM - 818)) | (1 << (frameQLParser.SEC_TO_TIME - 818)) | (1 << (frameQLParser.SESSION_USER - 818)) | (1 << (frameQLParser.SHA - 818)) | (1 << (frameQLParser.SHA1 - 818)) | (1 << (frameQLParser.SHA2 - 818)) | (1 << (frameQLParser.SIGN - 818)) | (1 << (frameQLParser.SIN - 818)) | (1 << (frameQLParser.SLEEP - 818)) | (1 << (frameQLParser.SOUNDEX - 818)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 818)) | (1 << (frameQLParser.SQRT - 818)) | (1 << (frameQLParser.SRID - 818)) | (1 << (frameQLParser.STARTPOINT - 818)) | (1 << (frameQLParser.STRCMP - 818)) | (1 << (frameQLParser.STR_TO_DATE - 818)) | (1 << (frameQLParser.ST_AREA - 818)) | (1 << (frameQLParser.ST_ASBINARY - 818)) | (1 << (frameQLParser.ST_ASTEXT - 818)) | (1 << (frameQLParser.ST_ASWKB - 818)) | (1 << (frameQLParser.ST_ASWKT - 818)) | (1 << (frameQLParser.ST_BUFFER - 818)) | (1 << (frameQLParser.ST_CENTROID - 818)) | (1 << (frameQLParser.ST_CONTAINS - 818)) | (1 << (frameQLParser.ST_CROSSES - 818)) | (1 << (frameQLParser.ST_DIFFERENCE - 818)) | (1 << (frameQLParser.ST_DIMENSION - 818)) | (1 << (frameQLParser.ST_DISJOINT - 818)) | (1 << (frameQLParser.ST_DISTANCE - 818)) | (1 << (frameQLParser.ST_ENDPOINT - 818)) | (1 << (frameQLParser.ST_ENVELOPE - 818)) | (1 << (frameQLParser.ST_EQUALS - 818)) | (1 << (frameQLParser.ST_EXTERIORRING - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYN - 818)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 818)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 818)) | (1 << (frameQLParser.ST_INTERIORRINGN - 818)) | (1 << (frameQLParser.ST_INTERSECTION - 818)) | (1 << (frameQLParser.ST_INTERSECTS - 818)) | (1 << (frameQLParser.ST_ISCLOSED - 818)) | (1 << (frameQLParser.ST_ISEMPTY - 818)) | (1 << (frameQLParser.ST_ISSIMPLE - 818)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINEFROMWKB - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 818)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 818)) | (1 << (frameQLParser.ST_NUMPOINTS - 818)) | (1 << (frameQLParser.ST_OVERLAPS - 818)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 818)) | (1 << (frameQLParser.ST_POINTFROMWKB - 818)) | (1 << (frameQLParser.ST_POINTN - 818)))) != 0) or ((((_la - 882)) & ~0x3f) == 0 and ((1 << (_la - 882)) & ((1 << (frameQLParser.ST_POLYFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYFROMWKB - 882)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 882)) | (1 << (frameQLParser.ST_SRID - 882)) | (1 << (frameQLParser.ST_STARTPOINT - 882)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 882)) | (1 << (frameQLParser.ST_TOUCHES - 882)) | (1 << (frameQLParser.ST_UNION - 882)) | (1 << (frameQLParser.ST_WITHIN - 882)) | (1 << (frameQLParser.ST_X - 882)) | (1 << (frameQLParser.ST_Y - 882)) | (1 << (frameQLParser.SUBDATE - 882)) | (1 << (frameQLParser.SUBSTRING_INDEX - 882)) | (1 << (frameQLParser.SUBTIME - 882)) | (1 << (frameQLParser.SYSTEM_USER - 882)) | (1 << (frameQLParser.TAN - 882)) | (1 << (frameQLParser.TIMEDIFF - 882)) | (1 << (frameQLParser.TIMESTAMPADD - 882)) | (1 << (frameQLParser.TIMESTAMPDIFF - 882)) | (1 << (frameQLParser.TIME_FORMAT - 882)) | (1 << (frameQLParser.TIME_TO_SEC - 882)) | (1 << (frameQLParser.TOUCHES - 882)) | (1 << (frameQLParser.TO_BASE64 - 882)) | (1 << (frameQLParser.TO_DAYS - 882)) | (1 << (frameQLParser.TO_SECONDS - 882)) | (1 << (frameQLParser.UCASE - 882)) | (1 << (frameQLParser.UNCOMPRESS - 882)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 882)) | (1 << (frameQLParser.UNHEX - 882)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 882)) | (1 << (frameQLParser.UPDATEXML - 882)) | (1 << (frameQLParser.UPPER - 882)) | (1 << (frameQLParser.UUID - 882)) | (1 << (frameQLParser.UUID_SHORT - 882)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 882)) | (1 << (frameQLParser.VERSION - 882)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 882)) | (1 << (frameQLParser.WEEKDAY - 882)) | (1 << (frameQLParser.WEEKOFYEAR - 882)) | (1 << (frameQLParser.WEIGHT_STRING - 882)) | (1 << (frameQLParser.WITHIN - 882)) | (1 << (frameQLParser.YEARWEEK - 882)) | (1 << (frameQLParser.Y_FUNCTION - 882)) | (1 << (frameQLParser.X_FUNCTION - 882)))) != 0) or ((((_la - 953)) & ~0x3f) == 0 and ((1 << (_la - 953)) & ((1 << (frameQLParser.LR_BRACKET - 953)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 953)) | (1 << (frameQLParser.STRING_LITERAL - 953)) | (1 << (frameQLParser.ID - 953)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 953)))) != 0)): - break - - self.state = 4155 - self.match(frameQLParser.UNTIL) - self.state = 4156 - self.expression(0) - self.state = 4157 - self.match(frameQLParser.END) - self.state = 4158 - self.match(frameQLParser.REPEAT) - self.state = 4160 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 4159 - self.uid() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ReturnStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def RETURN(self): - return self.getToken(frameQLParser.RETURN, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_returnStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterReturnStatement" ): - listener.enterReturnStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitReturnStatement" ): - listener.exitReturnStatement(self) - - - - - def returnStatement(self): - - localctx = frameQLParser.ReturnStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 362, self.RULE_returnStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 4162 - self.match(frameQLParser.RETURN) - self.state = 4163 - self.expression(0) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class WhileStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def WHILE(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.WHILE) - else: - return self.getToken(frameQLParser.WHILE, i) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def DO(self): - return self.getToken(frameQLParser.DO, 0) - - def END(self): - return self.getToken(frameQLParser.END, 0) - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def COLON_SYMB(self): - return self.getToken(frameQLParser.COLON_SYMB, 0) - - def procedureSqlStatement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ProcedureSqlStatementContext) - else: - return self.getTypedRuleContext(frameQLParser.ProcedureSqlStatementContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_whileStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterWhileStatement" ): - listener.enterWhileStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitWhileStatement" ): - listener.exitWhileStatement(self) - - - - - def whileStatement(self): - - localctx = frameQLParser.WhileStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 364, self.RULE_whileStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4168 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 4165 - self.uid() - self.state = 4166 - self.match(frameQLParser.COLON_SYMB) - - - self.state = 4170 - self.match(frameQLParser.WHILE) - self.state = 4171 - self.expression(0) - self.state = 4172 - self.match(frameQLParser.DO) - self.state = 4174 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4173 - self.procedureSqlStatement() - self.state = 4176 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 9)) & ~0x3f) == 0 and ((1 << (_la - 9)) & ((1 << (frameQLParser.ALTER - 9)) | (1 << (frameQLParser.ANALYZE - 9)) | (1 << (frameQLParser.CALL - 9)) | (1 << (frameQLParser.CASE - 9)) | (1 << (frameQLParser.CHANGE - 9)) | (1 << (frameQLParser.CHECK - 9)) | (1 << (frameQLParser.CREATE - 9)) | (1 << (frameQLParser.DATABASE - 9)) | (1 << (frameQLParser.DELETE - 9)) | (1 << (frameQLParser.DESC - 9)) | (1 << (frameQLParser.DESCRIBE - 9)) | (1 << (frameQLParser.DROP - 9)) | (1 << (frameQLParser.EXPLAIN - 9)) | (1 << (frameQLParser.FETCH - 9)) | (1 << (frameQLParser.GRANT - 9)) | (1 << (frameQLParser.IF - 9)))) != 0) or ((((_la - 75)) & ~0x3f) == 0 and ((1 << (_la - 75)) & ((1 << (frameQLParser.INSERT - 75)) | (1 << (frameQLParser.ITERATE - 75)) | (1 << (frameQLParser.KILL - 75)) | (1 << (frameQLParser.LEAVE - 75)) | (1 << (frameQLParser.LEFT - 75)) | (1 << (frameQLParser.LOAD - 75)) | (1 << (frameQLParser.LOCK - 75)) | (1 << (frameQLParser.LOOP - 75)) | (1 << (frameQLParser.OPTIMIZE - 75)) | (1 << (frameQLParser.PURGE - 75)) | (1 << (frameQLParser.RELEASE - 75)) | (1 << (frameQLParser.RENAME - 75)) | (1 << (frameQLParser.REPEAT - 75)) | (1 << (frameQLParser.REPLACE - 75)) | (1 << (frameQLParser.RETURN - 75)) | (1 << (frameQLParser.REVOKE - 75)) | (1 << (frameQLParser.RIGHT - 75)) | (1 << (frameQLParser.SELECT - 75)) | (1 << (frameQLParser.SET - 75)) | (1 << (frameQLParser.SHOW - 75)))) != 0) or ((((_la - 159)) & ~0x3f) == 0 and ((1 << (_la - 159)) & ((1 << (frameQLParser.UNLOCK - 159)) | (1 << (frameQLParser.UPDATE - 159)) | (1 << (frameQLParser.USE - 159)) | (1 << (frameQLParser.WHILE - 159)) | (1 << (frameQLParser.DATE - 159)) | (1 << (frameQLParser.TIME - 159)) | (1 << (frameQLParser.TIMESTAMP - 159)) | (1 << (frameQLParser.DATETIME - 159)) | (1 << (frameQLParser.YEAR - 159)) | (1 << (frameQLParser.TEXT - 159)) | (1 << (frameQLParser.ENUM - 159)) | (1 << (frameQLParser.SERIAL - 159)) | (1 << (frameQLParser.COUNT - 159)))) != 0) or ((((_la - 242)) & ~0x3f) == 0 and ((1 << (_la - 242)) & ((1 << (frameQLParser.POSITION - 242)) | (1 << (frameQLParser.ACCOUNT - 242)) | (1 << (frameQLParser.ACTION - 242)) | (1 << (frameQLParser.AFTER - 242)) | (1 << (frameQLParser.AGGREGATE - 242)) | (1 << (frameQLParser.ALGORITHM - 242)) | (1 << (frameQLParser.ANY - 242)) | (1 << (frameQLParser.AT - 242)) | (1 << (frameQLParser.AUTHORS - 242)) | (1 << (frameQLParser.AUTOCOMMIT - 242)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 242)) | (1 << (frameQLParser.AUTO_INCREMENT - 242)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 242)) | (1 << (frameQLParser.BEGIN - 242)) | (1 << (frameQLParser.BINLOG - 242)) | (1 << (frameQLParser.BIT - 242)) | (1 << (frameQLParser.BLOCK - 242)) | (1 << (frameQLParser.BOOL - 242)) | (1 << (frameQLParser.BOOLEAN - 242)) | (1 << (frameQLParser.BTREE - 242)) | (1 << (frameQLParser.CACHE - 242)) | (1 << (frameQLParser.CASCADED - 242)) | (1 << (frameQLParser.CHAIN - 242)) | (1 << (frameQLParser.CHANGED - 242)) | (1 << (frameQLParser.CHANNEL - 242)) | (1 << (frameQLParser.CHECKSUM - 242)) | (1 << (frameQLParser.CIPHER - 242)) | (1 << (frameQLParser.CLIENT - 242)) | (1 << (frameQLParser.CLOSE - 242)) | (1 << (frameQLParser.COALESCE - 242)) | (1 << (frameQLParser.CODE - 242)) | (1 << (frameQLParser.COLUMNS - 242)) | (1 << (frameQLParser.COLUMN_FORMAT - 242)) | (1 << (frameQLParser.COMMENT - 242)) | (1 << (frameQLParser.COMMIT - 242)) | (1 << (frameQLParser.COMPACT - 242)) | (1 << (frameQLParser.COMPLETION - 242)) | (1 << (frameQLParser.COMPRESSED - 242)) | (1 << (frameQLParser.COMPRESSION - 242)) | (1 << (frameQLParser.CONCURRENT - 242)) | (1 << (frameQLParser.CONNECTION - 242)) | (1 << (frameQLParser.CONSISTENT - 242)) | (1 << (frameQLParser.CONTAINS - 242)) | (1 << (frameQLParser.CONTEXT - 242)) | (1 << (frameQLParser.CONTRIBUTORS - 242)) | (1 << (frameQLParser.COPY - 242)) | (1 << (frameQLParser.CPU - 242)) | (1 << (frameQLParser.DATA - 242)) | (1 << (frameQLParser.DATAFILE - 242)) | (1 << (frameQLParser.DEALLOCATE - 242)) | (1 << (frameQLParser.DEFAULT_AUTH - 242)) | (1 << (frameQLParser.DEFINER - 242)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 242)) | (1 << (frameQLParser.DIRECTORY - 242)) | (1 << (frameQLParser.DISABLE - 242)) | (1 << (frameQLParser.DISCARD - 242)))) != 0) or ((((_la - 306)) & ~0x3f) == 0 and ((1 << (_la - 306)) & ((1 << (frameQLParser.DISK - 306)) | (1 << (frameQLParser.DO - 306)) | (1 << (frameQLParser.DUMPFILE - 306)) | (1 << (frameQLParser.DUPLICATE - 306)) | (1 << (frameQLParser.DYNAMIC - 306)) | (1 << (frameQLParser.ENABLE - 306)) | (1 << (frameQLParser.ENCRYPTION - 306)) | (1 << (frameQLParser.ENDS - 306)) | (1 << (frameQLParser.ENGINE - 306)) | (1 << (frameQLParser.ENGINES - 306)) | (1 << (frameQLParser.ERROR - 306)) | (1 << (frameQLParser.ERRORS - 306)) | (1 << (frameQLParser.ESCAPE - 306)) | (1 << (frameQLParser.EVEN - 306)) | (1 << (frameQLParser.EVENT - 306)) | (1 << (frameQLParser.EVENTS - 306)) | (1 << (frameQLParser.EVERY - 306)) | (1 << (frameQLParser.EXCHANGE - 306)) | (1 << (frameQLParser.EXCLUSIVE - 306)) | (1 << (frameQLParser.EXPIRE - 306)) | (1 << (frameQLParser.EXTENDED - 306)) | (1 << (frameQLParser.EXTENT_SIZE - 306)) | (1 << (frameQLParser.FAST - 306)) | (1 << (frameQLParser.FAULTS - 306)) | (1 << (frameQLParser.FIELDS - 306)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 306)) | (1 << (frameQLParser.FILTER - 306)) | (1 << (frameQLParser.FIRST - 306)) | (1 << (frameQLParser.FIXED - 306)) | (1 << (frameQLParser.FLUSH - 306)) | (1 << (frameQLParser.FOLLOWS - 306)) | (1 << (frameQLParser.FULL - 306)) | (1 << (frameQLParser.FUNCTION - 306)) | (1 << (frameQLParser.GLOBAL - 306)) | (1 << (frameQLParser.GRANTS - 306)) | (1 << (frameQLParser.GROUP_REPLICATION - 306)) | (1 << (frameQLParser.HANDLER - 306)) | (1 << (frameQLParser.HASH - 306)) | (1 << (frameQLParser.HELP - 306)) | (1 << (frameQLParser.HOST - 306)) | (1 << (frameQLParser.IDENTIFIED - 306)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 306)) | (1 << (frameQLParser.IMPORT - 306)) | (1 << (frameQLParser.INDEXES - 306)) | (1 << (frameQLParser.INITIAL_SIZE - 306)) | (1 << (frameQLParser.INPLACE - 306)) | (1 << (frameQLParser.INSERT_METHOD - 306)) | (1 << (frameQLParser.INSTALL - 306)) | (1 << (frameQLParser.INSTANCE - 306)) | (1 << (frameQLParser.INVOKER - 306)) | (1 << (frameQLParser.IO - 306)) | (1 << (frameQLParser.IO_THREAD - 306)) | (1 << (frameQLParser.IPC - 306)) | (1 << (frameQLParser.ISOLATION - 306)) | (1 << (frameQLParser.ISSUER - 306)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 306)) | (1 << (frameQLParser.LANGUAGE - 306)) | (1 << (frameQLParser.LAST - 306)))) != 0) or ((((_la - 370)) & ~0x3f) == 0 and ((1 << (_la - 370)) & ((1 << (frameQLParser.LEAVES - 370)) | (1 << (frameQLParser.LESS - 370)) | (1 << (frameQLParser.LEVEL - 370)) | (1 << (frameQLParser.LIST - 370)) | (1 << (frameQLParser.LOCAL - 370)) | (1 << (frameQLParser.LOGFILE - 370)) | (1 << (frameQLParser.LOGS - 370)) | (1 << (frameQLParser.MASTER - 370)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 370)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 370)) | (1 << (frameQLParser.MASTER_DELAY - 370)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 370)) | (1 << (frameQLParser.MASTER_HOST - 370)) | (1 << (frameQLParser.MASTER_LOG_FILE - 370)) | (1 << (frameQLParser.MASTER_LOG_POS - 370)) | (1 << (frameQLParser.MASTER_PASSWORD - 370)) | (1 << (frameQLParser.MASTER_PORT - 370)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 370)) | (1 << (frameQLParser.MASTER_SSL - 370)) | (1 << (frameQLParser.MASTER_SSL_CA - 370)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_CERT - 370)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 370)) | (1 << (frameQLParser.MASTER_SSL_CRL - 370)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_KEY - 370)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 370)) | (1 << (frameQLParser.MASTER_USER - 370)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_ROWS - 370)) | (1 << (frameQLParser.MAX_SIZE - 370)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 370)) | (1 << (frameQLParser.MEDIUM - 370)) | (1 << (frameQLParser.MERGE - 370)) | (1 << (frameQLParser.MID - 370)) | (1 << (frameQLParser.MIGRATE - 370)) | (1 << (frameQLParser.MIN_ROWS - 370)) | (1 << (frameQLParser.MODIFY - 370)) | (1 << (frameQLParser.MUTEX - 370)) | (1 << (frameQLParser.MYSQL - 370)) | (1 << (frameQLParser.NAME - 370)) | (1 << (frameQLParser.NAMES - 370)) | (1 << (frameQLParser.NCHAR - 370)) | (1 << (frameQLParser.NEVER - 370)) | (1 << (frameQLParser.NO - 370)) | (1 << (frameQLParser.NODEGROUP - 370)) | (1 << (frameQLParser.NONE - 370)) | (1 << (frameQLParser.OFFLINE - 370)) | (1 << (frameQLParser.OFFSET - 370)) | (1 << (frameQLParser.OJ - 370)) | (1 << (frameQLParser.OLD_PASSWORD - 370)) | (1 << (frameQLParser.ONE - 370)) | (1 << (frameQLParser.ONLINE - 370)) | (1 << (frameQLParser.ONLY - 370)) | (1 << (frameQLParser.OPEN - 370)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 370)) | (1 << (frameQLParser.OPTIONS - 370)) | (1 << (frameQLParser.OWNER - 370)) | (1 << (frameQLParser.PACK_KEYS - 370)) | (1 << (frameQLParser.PAGE - 370)))) != 0) or ((((_la - 434)) & ~0x3f) == 0 and ((1 << (_la - 434)) & ((1 << (frameQLParser.PARSER - 434)) | (1 << (frameQLParser.PARTIAL - 434)) | (1 << (frameQLParser.PARTITIONING - 434)) | (1 << (frameQLParser.PARTITIONS - 434)) | (1 << (frameQLParser.PASSWORD - 434)) | (1 << (frameQLParser.PHASE - 434)) | (1 << (frameQLParser.PLUGIN_DIR - 434)) | (1 << (frameQLParser.PLUGINS - 434)) | (1 << (frameQLParser.PORT - 434)) | (1 << (frameQLParser.PRECEDES - 434)) | (1 << (frameQLParser.PREPARE - 434)) | (1 << (frameQLParser.PRESERVE - 434)) | (1 << (frameQLParser.PREV - 434)) | (1 << (frameQLParser.PROCESSLIST - 434)) | (1 << (frameQLParser.PROFILE - 434)) | (1 << (frameQLParser.PROFILES - 434)) | (1 << (frameQLParser.PROXY - 434)) | (1 << (frameQLParser.QUERY - 434)) | (1 << (frameQLParser.QUICK - 434)) | (1 << (frameQLParser.REBUILD - 434)) | (1 << (frameQLParser.RECOVER - 434)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 434)) | (1 << (frameQLParser.REDUNDANT - 434)) | (1 << (frameQLParser.RELAY_LOG_FILE - 434)) | (1 << (frameQLParser.RELAY_LOG_POS - 434)) | (1 << (frameQLParser.RELAYLOG - 434)) | (1 << (frameQLParser.REMOVE - 434)) | (1 << (frameQLParser.REORGANIZE - 434)) | (1 << (frameQLParser.REPAIR - 434)) | (1 << (frameQLParser.REPLICATE_DO_DB - 434)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 434)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATION - 434)) | (1 << (frameQLParser.RESET - 434)) | (1 << (frameQLParser.RESUME - 434)) | (1 << (frameQLParser.RETURNS - 434)) | (1 << (frameQLParser.ROLLBACK - 434)) | (1 << (frameQLParser.ROLLUP - 434)) | (1 << (frameQLParser.ROTATE - 434)) | (1 << (frameQLParser.ROW - 434)) | (1 << (frameQLParser.ROWS - 434)) | (1 << (frameQLParser.ROW_FORMAT - 434)) | (1 << (frameQLParser.SAVEPOINT - 434)) | (1 << (frameQLParser.SCHEDULE - 434)) | (1 << (frameQLParser.SECURITY - 434)) | (1 << (frameQLParser.SERVER - 434)) | (1 << (frameQLParser.SESSION - 434)) | (1 << (frameQLParser.SHARE - 434)) | (1 << (frameQLParser.SHARED - 434)) | (1 << (frameQLParser.SIGNED - 434)) | (1 << (frameQLParser.SIMPLE - 434)) | (1 << (frameQLParser.SLAVE - 434)) | (1 << (frameQLParser.SNAPSHOT - 434)) | (1 << (frameQLParser.SOCKET - 434)) | (1 << (frameQLParser.SOME - 434)) | (1 << (frameQLParser.SOUNDS - 434)))) != 0) or ((((_la - 498)) & ~0x3f) == 0 and ((1 << (_la - 498)) & ((1 << (frameQLParser.SOURCE - 498)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 498)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 498)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 498)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 498)) | (1 << (frameQLParser.SQL_CACHE - 498)) | (1 << (frameQLParser.SQL_NO_CACHE - 498)) | (1 << (frameQLParser.SQL_THREAD - 498)) | (1 << (frameQLParser.START - 498)) | (1 << (frameQLParser.STARTS - 498)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 498)) | (1 << (frameQLParser.STATS_PERSISTENT - 498)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 498)) | (1 << (frameQLParser.STATUS - 498)) | (1 << (frameQLParser.STOP - 498)) | (1 << (frameQLParser.STORAGE - 498)) | (1 << (frameQLParser.STRING - 498)) | (1 << (frameQLParser.SUBJECT - 498)) | (1 << (frameQLParser.SUBPARTITION - 498)) | (1 << (frameQLParser.SUBPARTITIONS - 498)) | (1 << (frameQLParser.SUSPEND - 498)) | (1 << (frameQLParser.SWAPS - 498)) | (1 << (frameQLParser.SWITCHES - 498)) | (1 << (frameQLParser.TABLESPACE - 498)) | (1 << (frameQLParser.TEMPORARY - 498)) | (1 << (frameQLParser.TEMPTABLE - 498)) | (1 << (frameQLParser.THAN - 498)) | (1 << (frameQLParser.TRANSACTION - 498)) | (1 << (frameQLParser.TRUNCATE - 498)) | (1 << (frameQLParser.UNDEFINED - 498)) | (1 << (frameQLParser.UNDOFILE - 498)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 498)) | (1 << (frameQLParser.UNINSTALL - 498)) | (1 << (frameQLParser.UNKNOWN - 498)) | (1 << (frameQLParser.UPGRADE - 498)) | (1 << (frameQLParser.USER - 498)) | (1 << (frameQLParser.VALIDATION - 498)) | (1 << (frameQLParser.VALUE - 498)) | (1 << (frameQLParser.VARIABLES - 498)) | (1 << (frameQLParser.VIEW - 498)) | (1 << (frameQLParser.WAIT - 498)) | (1 << (frameQLParser.WARNINGS - 498)) | (1 << (frameQLParser.WITHOUT - 498)) | (1 << (frameQLParser.WORK - 498)) | (1 << (frameQLParser.WRAPPER - 498)) | (1 << (frameQLParser.X509 - 498)) | (1 << (frameQLParser.XA - 498)) | (1 << (frameQLParser.XML - 498)) | (1 << (frameQLParser.QUARTER - 498)) | (1 << (frameQLParser.MONTH - 498)) | (1 << (frameQLParser.DAY - 498)) | (1 << (frameQLParser.HOUR - 498)))) != 0) or ((((_la - 562)) & ~0x3f) == 0 and ((1 << (_la - 562)) & ((1 << (frameQLParser.MINUTE - 562)) | (1 << (frameQLParser.WEEK - 562)) | (1 << (frameQLParser.SECOND - 562)) | (1 << (frameQLParser.MICROSECOND - 562)) | (1 << (frameQLParser.TABLES - 562)) | (1 << (frameQLParser.ROUTINE - 562)) | (1 << (frameQLParser.EXECUTE - 562)) | (1 << (frameQLParser.FILE - 562)) | (1 << (frameQLParser.PROCESS - 562)) | (1 << (frameQLParser.RELOAD - 562)) | (1 << (frameQLParser.SHUTDOWN - 562)) | (1 << (frameQLParser.SUPER - 562)) | (1 << (frameQLParser.PRIVILEGES - 562)) | (1 << (frameQLParser.ARMSCII8 - 562)) | (1 << (frameQLParser.ASCII - 562)) | (1 << (frameQLParser.BIG5 - 562)) | (1 << (frameQLParser.CP1250 - 562)) | (1 << (frameQLParser.CP1251 - 562)) | (1 << (frameQLParser.CP1256 - 562)) | (1 << (frameQLParser.CP1257 - 562)) | (1 << (frameQLParser.CP850 - 562)) | (1 << (frameQLParser.CP852 - 562)) | (1 << (frameQLParser.CP866 - 562)) | (1 << (frameQLParser.CP932 - 562)) | (1 << (frameQLParser.DEC8 - 562)) | (1 << (frameQLParser.EUCJPMS - 562)) | (1 << (frameQLParser.EUCKR - 562)) | (1 << (frameQLParser.GB2312 - 562)) | (1 << (frameQLParser.GBK - 562)) | (1 << (frameQLParser.GEOSTD8 - 562)) | (1 << (frameQLParser.GREEK - 562)) | (1 << (frameQLParser.HEBREW - 562)) | (1 << (frameQLParser.HP8 - 562)) | (1 << (frameQLParser.KEYBCS2 - 562)) | (1 << (frameQLParser.KOI8R - 562)) | (1 << (frameQLParser.KOI8U - 562)) | (1 << (frameQLParser.LATIN1 - 562)) | (1 << (frameQLParser.LATIN2 - 562)) | (1 << (frameQLParser.LATIN5 - 562)) | (1 << (frameQLParser.LATIN7 - 562)) | (1 << (frameQLParser.MACCE - 562)) | (1 << (frameQLParser.MACROMAN - 562)) | (1 << (frameQLParser.SJIS - 562)) | (1 << (frameQLParser.SWE7 - 562)) | (1 << (frameQLParser.TIS620 - 562)) | (1 << (frameQLParser.UCS2 - 562)) | (1 << (frameQLParser.UJIS - 562)) | (1 << (frameQLParser.UTF16 - 562)) | (1 << (frameQLParser.UTF16LE - 562)) | (1 << (frameQLParser.UTF32 - 562)) | (1 << (frameQLParser.UTF8 - 562)) | (1 << (frameQLParser.UTF8MB3 - 562)) | (1 << (frameQLParser.UTF8MB4 - 562)) | (1 << (frameQLParser.ARCHIVE - 562)) | (1 << (frameQLParser.BLACKHOLE - 562)) | (1 << (frameQLParser.CSV - 562)) | (1 << (frameQLParser.FEDERATED - 562)) | (1 << (frameQLParser.INNODB - 562)) | (1 << (frameQLParser.MEMORY - 562)) | (1 << (frameQLParser.MRG_MYISAM - 562)) | (1 << (frameQLParser.MYISAM - 562)) | (1 << (frameQLParser.NDB - 562)) | (1 << (frameQLParser.NDBCLUSTER - 562)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 562)))) != 0) or ((((_la - 626)) & ~0x3f) == 0 and ((1 << (_la - 626)) & ((1 << (frameQLParser.REPEATABLE - 626)) | (1 << (frameQLParser.COMMITTED - 626)) | (1 << (frameQLParser.UNCOMMITTED - 626)) | (1 << (frameQLParser.SERIALIZABLE - 626)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 626)) | (1 << (frameQLParser.LINESTRING - 626)) | (1 << (frameQLParser.MULTILINESTRING - 626)) | (1 << (frameQLParser.MULTIPOINT - 626)) | (1 << (frameQLParser.MULTIPOLYGON - 626)) | (1 << (frameQLParser.POINT - 626)) | (1 << (frameQLParser.POLYGON - 626)) | (1 << (frameQLParser.ABS - 626)) | (1 << (frameQLParser.ACOS - 626)) | (1 << (frameQLParser.ADDDATE - 626)) | (1 << (frameQLParser.ADDTIME - 626)) | (1 << (frameQLParser.AES_DECRYPT - 626)) | (1 << (frameQLParser.AES_ENCRYPT - 626)) | (1 << (frameQLParser.AREA - 626)) | (1 << (frameQLParser.ASBINARY - 626)) | (1 << (frameQLParser.ASIN - 626)) | (1 << (frameQLParser.ASTEXT - 626)) | (1 << (frameQLParser.ASWKB - 626)) | (1 << (frameQLParser.ASWKT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 626)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 626)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 626)) | (1 << (frameQLParser.ATAN - 626)) | (1 << (frameQLParser.ATAN2 - 626)) | (1 << (frameQLParser.BENCHMARK - 626)) | (1 << (frameQLParser.BIN - 626)) | (1 << (frameQLParser.BIT_COUNT - 626)) | (1 << (frameQLParser.BIT_LENGTH - 626)) | (1 << (frameQLParser.BUFFER - 626)) | (1 << (frameQLParser.CEIL - 626)) | (1 << (frameQLParser.CEILING - 626)) | (1 << (frameQLParser.CENTROID - 626)) | (1 << (frameQLParser.CHARACTER_LENGTH - 626)) | (1 << (frameQLParser.CHARSET - 626)) | (1 << (frameQLParser.CHAR_LENGTH - 626)) | (1 << (frameQLParser.COERCIBILITY - 626)) | (1 << (frameQLParser.COLLATION - 626)) | (1 << (frameQLParser.COMPRESS - 626)) | (1 << (frameQLParser.CONCAT - 626)) | (1 << (frameQLParser.CONCAT_WS - 626)) | (1 << (frameQLParser.CONNECTION_ID - 626)) | (1 << (frameQLParser.CONV - 626)) | (1 << (frameQLParser.CONVERT_TZ - 626)) | (1 << (frameQLParser.COS - 626)) | (1 << (frameQLParser.COT - 626)) | (1 << (frameQLParser.CRC32 - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 626)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 626)) | (1 << (frameQLParser.CREATE_DIGEST - 626)) | (1 << (frameQLParser.CROSSES - 626)) | (1 << (frameQLParser.DATEDIFF - 626)) | (1 << (frameQLParser.DATE_FORMAT - 626)) | (1 << (frameQLParser.DAYNAME - 626)) | (1 << (frameQLParser.DAYOFMONTH - 626)) | (1 << (frameQLParser.DAYOFWEEK - 626)) | (1 << (frameQLParser.DAYOFYEAR - 626)) | (1 << (frameQLParser.DECODE - 626)))) != 0) or ((((_la - 690)) & ~0x3f) == 0 and ((1 << (_la - 690)) & ((1 << (frameQLParser.DEGREES - 690)) | (1 << (frameQLParser.DES_DECRYPT - 690)) | (1 << (frameQLParser.DES_ENCRYPT - 690)) | (1 << (frameQLParser.DIMENSION - 690)) | (1 << (frameQLParser.DISJOINT - 690)) | (1 << (frameQLParser.ELT - 690)) | (1 << (frameQLParser.ENCODE - 690)) | (1 << (frameQLParser.ENCRYPT - 690)) | (1 << (frameQLParser.ENDPOINT - 690)) | (1 << (frameQLParser.ENVELOPE - 690)) | (1 << (frameQLParser.EQUALS - 690)) | (1 << (frameQLParser.EXP - 690)) | (1 << (frameQLParser.EXPORT_SET - 690)) | (1 << (frameQLParser.EXTERIORRING - 690)) | (1 << (frameQLParser.EXTRACTVALUE - 690)) | (1 << (frameQLParser.FIELD - 690)) | (1 << (frameQLParser.FIND_IN_SET - 690)) | (1 << (frameQLParser.FLOOR - 690)) | (1 << (frameQLParser.FORMAT - 690)) | (1 << (frameQLParser.FOUND_ROWS - 690)) | (1 << (frameQLParser.FROM_BASE64 - 690)) | (1 << (frameQLParser.FROM_DAYS - 690)) | (1 << (frameQLParser.FROM_UNIXTIME - 690)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 690)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYN - 690)) | (1 << (frameQLParser.GEOMETRYTYPE - 690)) | (1 << (frameQLParser.GEOMFROMTEXT - 690)) | (1 << (frameQLParser.GEOMFROMWKB - 690)) | (1 << (frameQLParser.GET_FORMAT - 690)) | (1 << (frameQLParser.GET_LOCK - 690)) | (1 << (frameQLParser.GLENGTH - 690)) | (1 << (frameQLParser.GREATEST - 690)) | (1 << (frameQLParser.GTID_SUBSET - 690)) | (1 << (frameQLParser.GTID_SUBTRACT - 690)) | (1 << (frameQLParser.HEX - 690)) | (1 << (frameQLParser.IFNULL - 690)) | (1 << (frameQLParser.INET6_ATON - 690)) | (1 << (frameQLParser.INET6_NTOA - 690)) | (1 << (frameQLParser.INET_ATON - 690)) | (1 << (frameQLParser.INET_NTOA - 690)) | (1 << (frameQLParser.INSTR - 690)) | (1 << (frameQLParser.INTERIORRINGN - 690)) | (1 << (frameQLParser.INTERSECTS - 690)) | (1 << (frameQLParser.ISCLOSED - 690)) | (1 << (frameQLParser.ISEMPTY - 690)) | (1 << (frameQLParser.ISNULL - 690)) | (1 << (frameQLParser.ISSIMPLE - 690)) | (1 << (frameQLParser.IS_FREE_LOCK - 690)) | (1 << (frameQLParser.IS_IPV4 - 690)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 690)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 690)) | (1 << (frameQLParser.IS_IPV6 - 690)) | (1 << (frameQLParser.IS_USED_LOCK - 690)) | (1 << (frameQLParser.LAST_INSERT_ID - 690)) | (1 << (frameQLParser.LCASE - 690)) | (1 << (frameQLParser.LEAST - 690)) | (1 << (frameQLParser.LENGTH - 690)) | (1 << (frameQLParser.LINEFROMTEXT - 690)) | (1 << (frameQLParser.LINEFROMWKB - 690)))) != 0) or ((((_la - 754)) & ~0x3f) == 0 and ((1 << (_la - 754)) & ((1 << (frameQLParser.LINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.LN - 754)) | (1 << (frameQLParser.LOAD_FILE - 754)) | (1 << (frameQLParser.LOCATE - 754)) | (1 << (frameQLParser.LOG - 754)) | (1 << (frameQLParser.LOG10 - 754)) | (1 << (frameQLParser.LOG2 - 754)) | (1 << (frameQLParser.LOWER - 754)) | (1 << (frameQLParser.LPAD - 754)) | (1 << (frameQLParser.LTRIM - 754)) | (1 << (frameQLParser.MAKEDATE - 754)) | (1 << (frameQLParser.MAKETIME - 754)) | (1 << (frameQLParser.MAKE_SET - 754)) | (1 << (frameQLParser.MASTER_POS_WAIT - 754)) | (1 << (frameQLParser.MBRCONTAINS - 754)) | (1 << (frameQLParser.MBRDISJOINT - 754)) | (1 << (frameQLParser.MBREQUAL - 754)) | (1 << (frameQLParser.MBRINTERSECTS - 754)) | (1 << (frameQLParser.MBROVERLAPS - 754)) | (1 << (frameQLParser.MBRTOUCHES - 754)) | (1 << (frameQLParser.MBRWITHIN - 754)) | (1 << (frameQLParser.MD5 - 754)) | (1 << (frameQLParser.MLINEFROMTEXT - 754)) | (1 << (frameQLParser.MLINEFROMWKB - 754)) | (1 << (frameQLParser.MONTHNAME - 754)) | (1 << (frameQLParser.MPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MPOINTFROMWKB - 754)) | (1 << (frameQLParser.MPOLYFROMTEXT - 754)) | (1 << (frameQLParser.MPOLYFROMWKB - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 754)) | (1 << (frameQLParser.NAME_CONST - 754)) | (1 << (frameQLParser.NULLIF - 754)) | (1 << (frameQLParser.NUMGEOMETRIES - 754)) | (1 << (frameQLParser.NUMINTERIORRINGS - 754)) | (1 << (frameQLParser.NUMPOINTS - 754)) | (1 << (frameQLParser.OCT - 754)) | (1 << (frameQLParser.OCTET_LENGTH - 754)) | (1 << (frameQLParser.ORD - 754)) | (1 << (frameQLParser.OVERLAPS - 754)) | (1 << (frameQLParser.PERIOD_ADD - 754)) | (1 << (frameQLParser.PERIOD_DIFF - 754)) | (1 << (frameQLParser.PI - 754)) | (1 << (frameQLParser.POINTFROMTEXT - 754)) | (1 << (frameQLParser.POINTFROMWKB - 754)) | (1 << (frameQLParser.POINTN - 754)) | (1 << (frameQLParser.POLYFROMTEXT - 754)) | (1 << (frameQLParser.POLYFROMWKB - 754)) | (1 << (frameQLParser.POLYGONFROMTEXT - 754)) | (1 << (frameQLParser.POLYGONFROMWKB - 754)) | (1 << (frameQLParser.POW - 754)) | (1 << (frameQLParser.POWER - 754)) | (1 << (frameQLParser.QUOTE - 754)) | (1 << (frameQLParser.RADIANS - 754)) | (1 << (frameQLParser.RAND - 754)) | (1 << (frameQLParser.RANDOM_BYTES - 754)) | (1 << (frameQLParser.RELEASE_LOCK - 754)) | (1 << (frameQLParser.REVERSE - 754)) | (1 << (frameQLParser.ROUND - 754)))) != 0) or ((((_la - 818)) & ~0x3f) == 0 and ((1 << (_la - 818)) & ((1 << (frameQLParser.ROW_COUNT - 818)) | (1 << (frameQLParser.RPAD - 818)) | (1 << (frameQLParser.RTRIM - 818)) | (1 << (frameQLParser.SEC_TO_TIME - 818)) | (1 << (frameQLParser.SESSION_USER - 818)) | (1 << (frameQLParser.SHA - 818)) | (1 << (frameQLParser.SHA1 - 818)) | (1 << (frameQLParser.SHA2 - 818)) | (1 << (frameQLParser.SIGN - 818)) | (1 << (frameQLParser.SIN - 818)) | (1 << (frameQLParser.SLEEP - 818)) | (1 << (frameQLParser.SOUNDEX - 818)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 818)) | (1 << (frameQLParser.SQRT - 818)) | (1 << (frameQLParser.SRID - 818)) | (1 << (frameQLParser.STARTPOINT - 818)) | (1 << (frameQLParser.STRCMP - 818)) | (1 << (frameQLParser.STR_TO_DATE - 818)) | (1 << (frameQLParser.ST_AREA - 818)) | (1 << (frameQLParser.ST_ASBINARY - 818)) | (1 << (frameQLParser.ST_ASTEXT - 818)) | (1 << (frameQLParser.ST_ASWKB - 818)) | (1 << (frameQLParser.ST_ASWKT - 818)) | (1 << (frameQLParser.ST_BUFFER - 818)) | (1 << (frameQLParser.ST_CENTROID - 818)) | (1 << (frameQLParser.ST_CONTAINS - 818)) | (1 << (frameQLParser.ST_CROSSES - 818)) | (1 << (frameQLParser.ST_DIFFERENCE - 818)) | (1 << (frameQLParser.ST_DIMENSION - 818)) | (1 << (frameQLParser.ST_DISJOINT - 818)) | (1 << (frameQLParser.ST_DISTANCE - 818)) | (1 << (frameQLParser.ST_ENDPOINT - 818)) | (1 << (frameQLParser.ST_ENVELOPE - 818)) | (1 << (frameQLParser.ST_EQUALS - 818)) | (1 << (frameQLParser.ST_EXTERIORRING - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYN - 818)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 818)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 818)) | (1 << (frameQLParser.ST_INTERIORRINGN - 818)) | (1 << (frameQLParser.ST_INTERSECTION - 818)) | (1 << (frameQLParser.ST_INTERSECTS - 818)) | (1 << (frameQLParser.ST_ISCLOSED - 818)) | (1 << (frameQLParser.ST_ISEMPTY - 818)) | (1 << (frameQLParser.ST_ISSIMPLE - 818)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINEFROMWKB - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 818)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 818)) | (1 << (frameQLParser.ST_NUMPOINTS - 818)) | (1 << (frameQLParser.ST_OVERLAPS - 818)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 818)) | (1 << (frameQLParser.ST_POINTFROMWKB - 818)) | (1 << (frameQLParser.ST_POINTN - 818)))) != 0) or ((((_la - 882)) & ~0x3f) == 0 and ((1 << (_la - 882)) & ((1 << (frameQLParser.ST_POLYFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYFROMWKB - 882)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 882)) | (1 << (frameQLParser.ST_SRID - 882)) | (1 << (frameQLParser.ST_STARTPOINT - 882)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 882)) | (1 << (frameQLParser.ST_TOUCHES - 882)) | (1 << (frameQLParser.ST_UNION - 882)) | (1 << (frameQLParser.ST_WITHIN - 882)) | (1 << (frameQLParser.ST_X - 882)) | (1 << (frameQLParser.ST_Y - 882)) | (1 << (frameQLParser.SUBDATE - 882)) | (1 << (frameQLParser.SUBSTRING_INDEX - 882)) | (1 << (frameQLParser.SUBTIME - 882)) | (1 << (frameQLParser.SYSTEM_USER - 882)) | (1 << (frameQLParser.TAN - 882)) | (1 << (frameQLParser.TIMEDIFF - 882)) | (1 << (frameQLParser.TIMESTAMPADD - 882)) | (1 << (frameQLParser.TIMESTAMPDIFF - 882)) | (1 << (frameQLParser.TIME_FORMAT - 882)) | (1 << (frameQLParser.TIME_TO_SEC - 882)) | (1 << (frameQLParser.TOUCHES - 882)) | (1 << (frameQLParser.TO_BASE64 - 882)) | (1 << (frameQLParser.TO_DAYS - 882)) | (1 << (frameQLParser.TO_SECONDS - 882)) | (1 << (frameQLParser.UCASE - 882)) | (1 << (frameQLParser.UNCOMPRESS - 882)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 882)) | (1 << (frameQLParser.UNHEX - 882)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 882)) | (1 << (frameQLParser.UPDATEXML - 882)) | (1 << (frameQLParser.UPPER - 882)) | (1 << (frameQLParser.UUID - 882)) | (1 << (frameQLParser.UUID_SHORT - 882)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 882)) | (1 << (frameQLParser.VERSION - 882)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 882)) | (1 << (frameQLParser.WEEKDAY - 882)) | (1 << (frameQLParser.WEEKOFYEAR - 882)) | (1 << (frameQLParser.WEIGHT_STRING - 882)) | (1 << (frameQLParser.WITHIN - 882)) | (1 << (frameQLParser.YEARWEEK - 882)) | (1 << (frameQLParser.Y_FUNCTION - 882)) | (1 << (frameQLParser.X_FUNCTION - 882)))) != 0) or ((((_la - 953)) & ~0x3f) == 0 and ((1 << (_la - 953)) & ((1 << (frameQLParser.LR_BRACKET - 953)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 953)) | (1 << (frameQLParser.STRING_LITERAL - 953)) | (1 << (frameQLParser.ID - 953)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 953)))) != 0)): - break - - self.state = 4178 - self.match(frameQLParser.END) - self.state = 4179 - self.match(frameQLParser.WHILE) - self.state = 4181 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 4180 - self.uid() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CursorStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_cursorStatement - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class CloseCursorContext(CursorStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.CursorStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def CLOSE(self): - return self.getToken(frameQLParser.CLOSE, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCloseCursor" ): - listener.enterCloseCursor(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCloseCursor" ): - listener.exitCloseCursor(self) - - - class OpenCursorContext(CursorStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.CursorStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def OPEN(self): - return self.getToken(frameQLParser.OPEN, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterOpenCursor" ): - listener.enterOpenCursor(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitOpenCursor" ): - listener.exitOpenCursor(self) - - - class FetchCursorContext(CursorStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.CursorStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def FETCH(self): - return self.getToken(frameQLParser.FETCH, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def INTO(self): - return self.getToken(frameQLParser.INTO, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - def NEXT(self): - return self.getToken(frameQLParser.NEXT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFetchCursor" ): - listener.enterFetchCursor(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFetchCursor" ): - listener.exitFetchCursor(self) - - - - def cursorStatement(self): - - localctx = frameQLParser.CursorStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 366, self.RULE_cursorStatement) - self._la = 0 # Token type - try: - self.state = 4198 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.CLOSE]: - localctx = frameQLParser.CloseCursorContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 4183 - self.match(frameQLParser.CLOSE) - self.state = 4184 - self.uid() - pass - elif token in [frameQLParser.FETCH]: - localctx = frameQLParser.FetchCursorContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 4185 - self.match(frameQLParser.FETCH) - self.state = 4190 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FROM or _la==frameQLParser.NEXT: - self.state = 4187 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NEXT: - self.state = 4186 - self.match(frameQLParser.NEXT) - - - self.state = 4189 - self.match(frameQLParser.FROM) - - - self.state = 4192 - self.uid() - self.state = 4193 - self.match(frameQLParser.INTO) - self.state = 4194 - self.uidList() - pass - elif token in [frameQLParser.OPEN]: - localctx = frameQLParser.OpenCursorContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 4196 - self.match(frameQLParser.OPEN) - self.state = 4197 - self.uid() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DeclareVariableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DECLARE(self): - return self.getToken(frameQLParser.DECLARE, 0) - - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def dataType(self): - return self.getTypedRuleContext(frameQLParser.DataTypeContext,0) - - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def defaultValue(self): - return self.getTypedRuleContext(frameQLParser.DefaultValueContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_declareVariable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDeclareVariable" ): - listener.enterDeclareVariable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDeclareVariable" ): - listener.exitDeclareVariable(self) - - - - - def declareVariable(self): - - localctx = frameQLParser.DeclareVariableContext(self, self._ctx, self.state) - self.enterRule(localctx, 368, self.RULE_declareVariable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4200 - self.match(frameQLParser.DECLARE) - self.state = 4201 - self.uidList() - self.state = 4202 - self.dataType() - self.state = 4205 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFAULT: - self.state = 4203 - self.match(frameQLParser.DEFAULT) - self.state = 4204 - self.defaultValue() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DeclareConditionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DECLARE(self): - return self.getToken(frameQLParser.DECLARE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def CONDITION(self): - return self.getToken(frameQLParser.CONDITION, 0) - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def SQLSTATE(self): - return self.getToken(frameQLParser.SQLSTATE, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def VALUE(self): - return self.getToken(frameQLParser.VALUE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_declareCondition - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDeclareCondition" ): - listener.enterDeclareCondition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDeclareCondition" ): - listener.exitDeclareCondition(self) - - - - - def declareCondition(self): - - localctx = frameQLParser.DeclareConditionContext(self, self._ctx, self.state) - self.enterRule(localctx, 370, self.RULE_declareCondition) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4207 - self.match(frameQLParser.DECLARE) - self.state = 4208 - self.uid() - self.state = 4209 - self.match(frameQLParser.CONDITION) - self.state = 4210 - self.match(frameQLParser.FOR) - self.state = 4217 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ZERO_DECIMAL, frameQLParser.ONE_DECIMAL, frameQLParser.TWO_DECIMAL, frameQLParser.DECIMAL_LITERAL]: - self.state = 4211 - self.decimalLiteral() - pass - elif token in [frameQLParser.SQLSTATE]: - self.state = 4212 - self.match(frameQLParser.SQLSTATE) - self.state = 4214 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.VALUE: - self.state = 4213 - self.match(frameQLParser.VALUE) - - - self.state = 4216 - self.match(frameQLParser.STRING_LITERAL) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DeclareCursorContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DECLARE(self): - return self.getToken(frameQLParser.DECLARE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def CURSOR(self): - return self.getToken(frameQLParser.CURSOR, 0) - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_declareCursor - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDeclareCursor" ): - listener.enterDeclareCursor(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDeclareCursor" ): - listener.exitDeclareCursor(self) - - - - - def declareCursor(self): - - localctx = frameQLParser.DeclareCursorContext(self, self._ctx, self.state) - self.enterRule(localctx, 372, self.RULE_declareCursor) - try: - self.enterOuterAlt(localctx, 1) - self.state = 4219 - self.match(frameQLParser.DECLARE) - self.state = 4220 - self.uid() - self.state = 4221 - self.match(frameQLParser.CURSOR) - self.state = 4222 - self.match(frameQLParser.FOR) - self.state = 4223 - self.selectStatement() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DeclareHandlerContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.handlerAction = None # Token - - def DECLARE(self): - return self.getToken(frameQLParser.DECLARE, 0) - - def HANDLER(self): - return self.getToken(frameQLParser.HANDLER, 0) - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def handlerConditionValue(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.HandlerConditionValueContext) - else: - return self.getTypedRuleContext(frameQLParser.HandlerConditionValueContext,i) - - - def routineBody(self): - return self.getTypedRuleContext(frameQLParser.RoutineBodyContext,0) - - - def CONTINUE(self): - return self.getToken(frameQLParser.CONTINUE, 0) - - def EXIT(self): - return self.getToken(frameQLParser.EXIT, 0) - - def UNDO(self): - return self.getToken(frameQLParser.UNDO, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_declareHandler - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDeclareHandler" ): - listener.enterDeclareHandler(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDeclareHandler" ): - listener.exitDeclareHandler(self) - - - - - def declareHandler(self): - - localctx = frameQLParser.DeclareHandlerContext(self, self._ctx, self.state) - self.enterRule(localctx, 374, self.RULE_declareHandler) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4225 - self.match(frameQLParser.DECLARE) - self.state = 4226 - localctx.handlerAction = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.CONTINUE or _la==frameQLParser.EXIT or _la==frameQLParser.UNDO): - localctx.handlerAction = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4227 - self.match(frameQLParser.HANDLER) - self.state = 4228 - self.match(frameQLParser.FOR) - self.state = 4229 - self.handlerConditionValue() - self.state = 4234 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4230 - self.match(frameQLParser.COMMA) - self.state = 4231 - self.handlerConditionValue() - self.state = 4236 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 4237 - self.routineBody() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class HandlerConditionValueContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_handlerConditionValue - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class HandlerConditionWarningContext(HandlerConditionValueContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.HandlerConditionValueContext - super().__init__(parser) - self.copyFrom(ctx) - - def SQLWARNING(self): - return self.getToken(frameQLParser.SQLWARNING, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHandlerConditionWarning" ): - listener.enterHandlerConditionWarning(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHandlerConditionWarning" ): - listener.exitHandlerConditionWarning(self) - - - class HandlerConditionCodeContext(HandlerConditionValueContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.HandlerConditionValueContext - super().__init__(parser) - self.copyFrom(ctx) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHandlerConditionCode" ): - listener.enterHandlerConditionCode(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHandlerConditionCode" ): - listener.exitHandlerConditionCode(self) - - - class HandlerConditionNotfoundContext(HandlerConditionValueContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.HandlerConditionValueContext - super().__init__(parser) - self.copyFrom(ctx) - - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - def FOUND(self): - return self.getToken(frameQLParser.FOUND, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHandlerConditionNotfound" ): - listener.enterHandlerConditionNotfound(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHandlerConditionNotfound" ): - listener.exitHandlerConditionNotfound(self) - - - class HandlerConditionStateContext(HandlerConditionValueContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.HandlerConditionValueContext - super().__init__(parser) - self.copyFrom(ctx) - - def SQLSTATE(self): - return self.getToken(frameQLParser.SQLSTATE, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - def VALUE(self): - return self.getToken(frameQLParser.VALUE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHandlerConditionState" ): - listener.enterHandlerConditionState(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHandlerConditionState" ): - listener.exitHandlerConditionState(self) - - - class HandlerConditionExceptionContext(HandlerConditionValueContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.HandlerConditionValueContext - super().__init__(parser) - self.copyFrom(ctx) - - def SQLEXCEPTION(self): - return self.getToken(frameQLParser.SQLEXCEPTION, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHandlerConditionException" ): - listener.enterHandlerConditionException(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHandlerConditionException" ): - listener.exitHandlerConditionException(self) - - - class HandlerConditionNameContext(HandlerConditionValueContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.HandlerConditionValueContext - super().__init__(parser) - self.copyFrom(ctx) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHandlerConditionName" ): - listener.enterHandlerConditionName(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHandlerConditionName" ): - listener.exitHandlerConditionName(self) - - - - def handlerConditionValue(self): - - localctx = frameQLParser.HandlerConditionValueContext(self, self._ctx, self.state) - self.enterRule(localctx, 376, self.RULE_handlerConditionValue) - self._la = 0 # Token type - try: - self.state = 4250 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ZERO_DECIMAL, frameQLParser.ONE_DECIMAL, frameQLParser.TWO_DECIMAL, frameQLParser.DECIMAL_LITERAL]: - localctx = frameQLParser.HandlerConditionCodeContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 4239 - self.decimalLiteral() - pass - elif token in [frameQLParser.SQLSTATE]: - localctx = frameQLParser.HandlerConditionStateContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 4240 - self.match(frameQLParser.SQLSTATE) - self.state = 4242 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.VALUE: - self.state = 4241 - self.match(frameQLParser.VALUE) - - - self.state = 4244 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - localctx = frameQLParser.HandlerConditionNameContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 4245 - self.uid() - pass - elif token in [frameQLParser.SQLWARNING]: - localctx = frameQLParser.HandlerConditionWarningContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 4246 - self.match(frameQLParser.SQLWARNING) - pass - elif token in [frameQLParser.NOT]: - localctx = frameQLParser.HandlerConditionNotfoundContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 4247 - self.match(frameQLParser.NOT) - self.state = 4248 - self.match(frameQLParser.FOUND) - pass - elif token in [frameQLParser.SQLEXCEPTION]: - localctx = frameQLParser.HandlerConditionExceptionContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 4249 - self.match(frameQLParser.SQLEXCEPTION) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ProcedureSqlStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def SEMI(self): - return self.getToken(frameQLParser.SEMI, 0) - - def compoundStatement(self): - return self.getTypedRuleContext(frameQLParser.CompoundStatementContext,0) - - - def sqlStatement(self): - return self.getTypedRuleContext(frameQLParser.SqlStatementContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_procedureSqlStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterProcedureSqlStatement" ): - listener.enterProcedureSqlStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitProcedureSqlStatement" ): - listener.exitProcedureSqlStatement(self) - - - - - def procedureSqlStatement(self): - - localctx = frameQLParser.ProcedureSqlStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 378, self.RULE_procedureSqlStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 4254 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,607,self._ctx) - if la_ == 1: - self.state = 4252 - self.compoundStatement() - pass - - elif la_ == 2: - self.state = 4253 - self.sqlStatement() - pass - - - self.state = 4256 - self.match(frameQLParser.SEMI) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CaseAlternativeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def WHEN(self): - return self.getToken(frameQLParser.WHEN, 0) - - def THEN(self): - return self.getToken(frameQLParser.THEN, 0) - - def constant(self): - return self.getTypedRuleContext(frameQLParser.ConstantContext,0) - - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def procedureSqlStatement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ProcedureSqlStatementContext) - else: - return self.getTypedRuleContext(frameQLParser.ProcedureSqlStatementContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_caseAlternative - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCaseAlternative" ): - listener.enterCaseAlternative(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCaseAlternative" ): - listener.exitCaseAlternative(self) - - - - - def caseAlternative(self): - - localctx = frameQLParser.CaseAlternativeContext(self, self._ctx, self.state) - self.enterRule(localctx, 380, self.RULE_caseAlternative) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4258 - self.match(frameQLParser.WHEN) - self.state = 4261 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,608,self._ctx) - if la_ == 1: - self.state = 4259 - self.constant() - pass - - elif la_ == 2: - self.state = 4260 - self.expression(0) - pass - - - self.state = 4263 - self.match(frameQLParser.THEN) - self.state = 4265 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4264 - self.procedureSqlStatement() - self.state = 4267 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 9)) & ~0x3f) == 0 and ((1 << (_la - 9)) & ((1 << (frameQLParser.ALTER - 9)) | (1 << (frameQLParser.ANALYZE - 9)) | (1 << (frameQLParser.CALL - 9)) | (1 << (frameQLParser.CASE - 9)) | (1 << (frameQLParser.CHANGE - 9)) | (1 << (frameQLParser.CHECK - 9)) | (1 << (frameQLParser.CREATE - 9)) | (1 << (frameQLParser.DATABASE - 9)) | (1 << (frameQLParser.DELETE - 9)) | (1 << (frameQLParser.DESC - 9)) | (1 << (frameQLParser.DESCRIBE - 9)) | (1 << (frameQLParser.DROP - 9)) | (1 << (frameQLParser.EXPLAIN - 9)) | (1 << (frameQLParser.FETCH - 9)) | (1 << (frameQLParser.GRANT - 9)) | (1 << (frameQLParser.IF - 9)))) != 0) or ((((_la - 75)) & ~0x3f) == 0 and ((1 << (_la - 75)) & ((1 << (frameQLParser.INSERT - 75)) | (1 << (frameQLParser.ITERATE - 75)) | (1 << (frameQLParser.KILL - 75)) | (1 << (frameQLParser.LEAVE - 75)) | (1 << (frameQLParser.LEFT - 75)) | (1 << (frameQLParser.LOAD - 75)) | (1 << (frameQLParser.LOCK - 75)) | (1 << (frameQLParser.LOOP - 75)) | (1 << (frameQLParser.OPTIMIZE - 75)) | (1 << (frameQLParser.PURGE - 75)) | (1 << (frameQLParser.RELEASE - 75)) | (1 << (frameQLParser.RENAME - 75)) | (1 << (frameQLParser.REPEAT - 75)) | (1 << (frameQLParser.REPLACE - 75)) | (1 << (frameQLParser.RETURN - 75)) | (1 << (frameQLParser.REVOKE - 75)) | (1 << (frameQLParser.RIGHT - 75)) | (1 << (frameQLParser.SELECT - 75)) | (1 << (frameQLParser.SET - 75)) | (1 << (frameQLParser.SHOW - 75)))) != 0) or ((((_la - 159)) & ~0x3f) == 0 and ((1 << (_la - 159)) & ((1 << (frameQLParser.UNLOCK - 159)) | (1 << (frameQLParser.UPDATE - 159)) | (1 << (frameQLParser.USE - 159)) | (1 << (frameQLParser.WHILE - 159)) | (1 << (frameQLParser.DATE - 159)) | (1 << (frameQLParser.TIME - 159)) | (1 << (frameQLParser.TIMESTAMP - 159)) | (1 << (frameQLParser.DATETIME - 159)) | (1 << (frameQLParser.YEAR - 159)) | (1 << (frameQLParser.TEXT - 159)) | (1 << (frameQLParser.ENUM - 159)) | (1 << (frameQLParser.SERIAL - 159)) | (1 << (frameQLParser.COUNT - 159)))) != 0) or ((((_la - 242)) & ~0x3f) == 0 and ((1 << (_la - 242)) & ((1 << (frameQLParser.POSITION - 242)) | (1 << (frameQLParser.ACCOUNT - 242)) | (1 << (frameQLParser.ACTION - 242)) | (1 << (frameQLParser.AFTER - 242)) | (1 << (frameQLParser.AGGREGATE - 242)) | (1 << (frameQLParser.ALGORITHM - 242)) | (1 << (frameQLParser.ANY - 242)) | (1 << (frameQLParser.AT - 242)) | (1 << (frameQLParser.AUTHORS - 242)) | (1 << (frameQLParser.AUTOCOMMIT - 242)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 242)) | (1 << (frameQLParser.AUTO_INCREMENT - 242)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 242)) | (1 << (frameQLParser.BEGIN - 242)) | (1 << (frameQLParser.BINLOG - 242)) | (1 << (frameQLParser.BIT - 242)) | (1 << (frameQLParser.BLOCK - 242)) | (1 << (frameQLParser.BOOL - 242)) | (1 << (frameQLParser.BOOLEAN - 242)) | (1 << (frameQLParser.BTREE - 242)) | (1 << (frameQLParser.CACHE - 242)) | (1 << (frameQLParser.CASCADED - 242)) | (1 << (frameQLParser.CHAIN - 242)) | (1 << (frameQLParser.CHANGED - 242)) | (1 << (frameQLParser.CHANNEL - 242)) | (1 << (frameQLParser.CHECKSUM - 242)) | (1 << (frameQLParser.CIPHER - 242)) | (1 << (frameQLParser.CLIENT - 242)) | (1 << (frameQLParser.CLOSE - 242)) | (1 << (frameQLParser.COALESCE - 242)) | (1 << (frameQLParser.CODE - 242)) | (1 << (frameQLParser.COLUMNS - 242)) | (1 << (frameQLParser.COLUMN_FORMAT - 242)) | (1 << (frameQLParser.COMMENT - 242)) | (1 << (frameQLParser.COMMIT - 242)) | (1 << (frameQLParser.COMPACT - 242)) | (1 << (frameQLParser.COMPLETION - 242)) | (1 << (frameQLParser.COMPRESSED - 242)) | (1 << (frameQLParser.COMPRESSION - 242)) | (1 << (frameQLParser.CONCURRENT - 242)) | (1 << (frameQLParser.CONNECTION - 242)) | (1 << (frameQLParser.CONSISTENT - 242)) | (1 << (frameQLParser.CONTAINS - 242)) | (1 << (frameQLParser.CONTEXT - 242)) | (1 << (frameQLParser.CONTRIBUTORS - 242)) | (1 << (frameQLParser.COPY - 242)) | (1 << (frameQLParser.CPU - 242)) | (1 << (frameQLParser.DATA - 242)) | (1 << (frameQLParser.DATAFILE - 242)) | (1 << (frameQLParser.DEALLOCATE - 242)) | (1 << (frameQLParser.DEFAULT_AUTH - 242)) | (1 << (frameQLParser.DEFINER - 242)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 242)) | (1 << (frameQLParser.DIRECTORY - 242)) | (1 << (frameQLParser.DISABLE - 242)) | (1 << (frameQLParser.DISCARD - 242)))) != 0) or ((((_la - 306)) & ~0x3f) == 0 and ((1 << (_la - 306)) & ((1 << (frameQLParser.DISK - 306)) | (1 << (frameQLParser.DO - 306)) | (1 << (frameQLParser.DUMPFILE - 306)) | (1 << (frameQLParser.DUPLICATE - 306)) | (1 << (frameQLParser.DYNAMIC - 306)) | (1 << (frameQLParser.ENABLE - 306)) | (1 << (frameQLParser.ENCRYPTION - 306)) | (1 << (frameQLParser.ENDS - 306)) | (1 << (frameQLParser.ENGINE - 306)) | (1 << (frameQLParser.ENGINES - 306)) | (1 << (frameQLParser.ERROR - 306)) | (1 << (frameQLParser.ERRORS - 306)) | (1 << (frameQLParser.ESCAPE - 306)) | (1 << (frameQLParser.EVEN - 306)) | (1 << (frameQLParser.EVENT - 306)) | (1 << (frameQLParser.EVENTS - 306)) | (1 << (frameQLParser.EVERY - 306)) | (1 << (frameQLParser.EXCHANGE - 306)) | (1 << (frameQLParser.EXCLUSIVE - 306)) | (1 << (frameQLParser.EXPIRE - 306)) | (1 << (frameQLParser.EXTENDED - 306)) | (1 << (frameQLParser.EXTENT_SIZE - 306)) | (1 << (frameQLParser.FAST - 306)) | (1 << (frameQLParser.FAULTS - 306)) | (1 << (frameQLParser.FIELDS - 306)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 306)) | (1 << (frameQLParser.FILTER - 306)) | (1 << (frameQLParser.FIRST - 306)) | (1 << (frameQLParser.FIXED - 306)) | (1 << (frameQLParser.FLUSH - 306)) | (1 << (frameQLParser.FOLLOWS - 306)) | (1 << (frameQLParser.FULL - 306)) | (1 << (frameQLParser.FUNCTION - 306)) | (1 << (frameQLParser.GLOBAL - 306)) | (1 << (frameQLParser.GRANTS - 306)) | (1 << (frameQLParser.GROUP_REPLICATION - 306)) | (1 << (frameQLParser.HANDLER - 306)) | (1 << (frameQLParser.HASH - 306)) | (1 << (frameQLParser.HELP - 306)) | (1 << (frameQLParser.HOST - 306)) | (1 << (frameQLParser.IDENTIFIED - 306)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 306)) | (1 << (frameQLParser.IMPORT - 306)) | (1 << (frameQLParser.INDEXES - 306)) | (1 << (frameQLParser.INITIAL_SIZE - 306)) | (1 << (frameQLParser.INPLACE - 306)) | (1 << (frameQLParser.INSERT_METHOD - 306)) | (1 << (frameQLParser.INSTALL - 306)) | (1 << (frameQLParser.INSTANCE - 306)) | (1 << (frameQLParser.INVOKER - 306)) | (1 << (frameQLParser.IO - 306)) | (1 << (frameQLParser.IO_THREAD - 306)) | (1 << (frameQLParser.IPC - 306)) | (1 << (frameQLParser.ISOLATION - 306)) | (1 << (frameQLParser.ISSUER - 306)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 306)) | (1 << (frameQLParser.LANGUAGE - 306)) | (1 << (frameQLParser.LAST - 306)))) != 0) or ((((_la - 370)) & ~0x3f) == 0 and ((1 << (_la - 370)) & ((1 << (frameQLParser.LEAVES - 370)) | (1 << (frameQLParser.LESS - 370)) | (1 << (frameQLParser.LEVEL - 370)) | (1 << (frameQLParser.LIST - 370)) | (1 << (frameQLParser.LOCAL - 370)) | (1 << (frameQLParser.LOGFILE - 370)) | (1 << (frameQLParser.LOGS - 370)) | (1 << (frameQLParser.MASTER - 370)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 370)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 370)) | (1 << (frameQLParser.MASTER_DELAY - 370)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 370)) | (1 << (frameQLParser.MASTER_HOST - 370)) | (1 << (frameQLParser.MASTER_LOG_FILE - 370)) | (1 << (frameQLParser.MASTER_LOG_POS - 370)) | (1 << (frameQLParser.MASTER_PASSWORD - 370)) | (1 << (frameQLParser.MASTER_PORT - 370)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 370)) | (1 << (frameQLParser.MASTER_SSL - 370)) | (1 << (frameQLParser.MASTER_SSL_CA - 370)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_CERT - 370)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 370)) | (1 << (frameQLParser.MASTER_SSL_CRL - 370)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_KEY - 370)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 370)) | (1 << (frameQLParser.MASTER_USER - 370)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_ROWS - 370)) | (1 << (frameQLParser.MAX_SIZE - 370)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 370)) | (1 << (frameQLParser.MEDIUM - 370)) | (1 << (frameQLParser.MERGE - 370)) | (1 << (frameQLParser.MID - 370)) | (1 << (frameQLParser.MIGRATE - 370)) | (1 << (frameQLParser.MIN_ROWS - 370)) | (1 << (frameQLParser.MODIFY - 370)) | (1 << (frameQLParser.MUTEX - 370)) | (1 << (frameQLParser.MYSQL - 370)) | (1 << (frameQLParser.NAME - 370)) | (1 << (frameQLParser.NAMES - 370)) | (1 << (frameQLParser.NCHAR - 370)) | (1 << (frameQLParser.NEVER - 370)) | (1 << (frameQLParser.NO - 370)) | (1 << (frameQLParser.NODEGROUP - 370)) | (1 << (frameQLParser.NONE - 370)) | (1 << (frameQLParser.OFFLINE - 370)) | (1 << (frameQLParser.OFFSET - 370)) | (1 << (frameQLParser.OJ - 370)) | (1 << (frameQLParser.OLD_PASSWORD - 370)) | (1 << (frameQLParser.ONE - 370)) | (1 << (frameQLParser.ONLINE - 370)) | (1 << (frameQLParser.ONLY - 370)) | (1 << (frameQLParser.OPEN - 370)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 370)) | (1 << (frameQLParser.OPTIONS - 370)) | (1 << (frameQLParser.OWNER - 370)) | (1 << (frameQLParser.PACK_KEYS - 370)) | (1 << (frameQLParser.PAGE - 370)))) != 0) or ((((_la - 434)) & ~0x3f) == 0 and ((1 << (_la - 434)) & ((1 << (frameQLParser.PARSER - 434)) | (1 << (frameQLParser.PARTIAL - 434)) | (1 << (frameQLParser.PARTITIONING - 434)) | (1 << (frameQLParser.PARTITIONS - 434)) | (1 << (frameQLParser.PASSWORD - 434)) | (1 << (frameQLParser.PHASE - 434)) | (1 << (frameQLParser.PLUGIN_DIR - 434)) | (1 << (frameQLParser.PLUGINS - 434)) | (1 << (frameQLParser.PORT - 434)) | (1 << (frameQLParser.PRECEDES - 434)) | (1 << (frameQLParser.PREPARE - 434)) | (1 << (frameQLParser.PRESERVE - 434)) | (1 << (frameQLParser.PREV - 434)) | (1 << (frameQLParser.PROCESSLIST - 434)) | (1 << (frameQLParser.PROFILE - 434)) | (1 << (frameQLParser.PROFILES - 434)) | (1 << (frameQLParser.PROXY - 434)) | (1 << (frameQLParser.QUERY - 434)) | (1 << (frameQLParser.QUICK - 434)) | (1 << (frameQLParser.REBUILD - 434)) | (1 << (frameQLParser.RECOVER - 434)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 434)) | (1 << (frameQLParser.REDUNDANT - 434)) | (1 << (frameQLParser.RELAY_LOG_FILE - 434)) | (1 << (frameQLParser.RELAY_LOG_POS - 434)) | (1 << (frameQLParser.RELAYLOG - 434)) | (1 << (frameQLParser.REMOVE - 434)) | (1 << (frameQLParser.REORGANIZE - 434)) | (1 << (frameQLParser.REPAIR - 434)) | (1 << (frameQLParser.REPLICATE_DO_DB - 434)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 434)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATION - 434)) | (1 << (frameQLParser.RESET - 434)) | (1 << (frameQLParser.RESUME - 434)) | (1 << (frameQLParser.RETURNS - 434)) | (1 << (frameQLParser.ROLLBACK - 434)) | (1 << (frameQLParser.ROLLUP - 434)) | (1 << (frameQLParser.ROTATE - 434)) | (1 << (frameQLParser.ROW - 434)) | (1 << (frameQLParser.ROWS - 434)) | (1 << (frameQLParser.ROW_FORMAT - 434)) | (1 << (frameQLParser.SAVEPOINT - 434)) | (1 << (frameQLParser.SCHEDULE - 434)) | (1 << (frameQLParser.SECURITY - 434)) | (1 << (frameQLParser.SERVER - 434)) | (1 << (frameQLParser.SESSION - 434)) | (1 << (frameQLParser.SHARE - 434)) | (1 << (frameQLParser.SHARED - 434)) | (1 << (frameQLParser.SIGNED - 434)) | (1 << (frameQLParser.SIMPLE - 434)) | (1 << (frameQLParser.SLAVE - 434)) | (1 << (frameQLParser.SNAPSHOT - 434)) | (1 << (frameQLParser.SOCKET - 434)) | (1 << (frameQLParser.SOME - 434)) | (1 << (frameQLParser.SOUNDS - 434)))) != 0) or ((((_la - 498)) & ~0x3f) == 0 and ((1 << (_la - 498)) & ((1 << (frameQLParser.SOURCE - 498)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 498)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 498)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 498)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 498)) | (1 << (frameQLParser.SQL_CACHE - 498)) | (1 << (frameQLParser.SQL_NO_CACHE - 498)) | (1 << (frameQLParser.SQL_THREAD - 498)) | (1 << (frameQLParser.START - 498)) | (1 << (frameQLParser.STARTS - 498)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 498)) | (1 << (frameQLParser.STATS_PERSISTENT - 498)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 498)) | (1 << (frameQLParser.STATUS - 498)) | (1 << (frameQLParser.STOP - 498)) | (1 << (frameQLParser.STORAGE - 498)) | (1 << (frameQLParser.STRING - 498)) | (1 << (frameQLParser.SUBJECT - 498)) | (1 << (frameQLParser.SUBPARTITION - 498)) | (1 << (frameQLParser.SUBPARTITIONS - 498)) | (1 << (frameQLParser.SUSPEND - 498)) | (1 << (frameQLParser.SWAPS - 498)) | (1 << (frameQLParser.SWITCHES - 498)) | (1 << (frameQLParser.TABLESPACE - 498)) | (1 << (frameQLParser.TEMPORARY - 498)) | (1 << (frameQLParser.TEMPTABLE - 498)) | (1 << (frameQLParser.THAN - 498)) | (1 << (frameQLParser.TRANSACTION - 498)) | (1 << (frameQLParser.TRUNCATE - 498)) | (1 << (frameQLParser.UNDEFINED - 498)) | (1 << (frameQLParser.UNDOFILE - 498)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 498)) | (1 << (frameQLParser.UNINSTALL - 498)) | (1 << (frameQLParser.UNKNOWN - 498)) | (1 << (frameQLParser.UPGRADE - 498)) | (1 << (frameQLParser.USER - 498)) | (1 << (frameQLParser.VALIDATION - 498)) | (1 << (frameQLParser.VALUE - 498)) | (1 << (frameQLParser.VARIABLES - 498)) | (1 << (frameQLParser.VIEW - 498)) | (1 << (frameQLParser.WAIT - 498)) | (1 << (frameQLParser.WARNINGS - 498)) | (1 << (frameQLParser.WITHOUT - 498)) | (1 << (frameQLParser.WORK - 498)) | (1 << (frameQLParser.WRAPPER - 498)) | (1 << (frameQLParser.X509 - 498)) | (1 << (frameQLParser.XA - 498)) | (1 << (frameQLParser.XML - 498)) | (1 << (frameQLParser.QUARTER - 498)) | (1 << (frameQLParser.MONTH - 498)) | (1 << (frameQLParser.DAY - 498)) | (1 << (frameQLParser.HOUR - 498)))) != 0) or ((((_la - 562)) & ~0x3f) == 0 and ((1 << (_la - 562)) & ((1 << (frameQLParser.MINUTE - 562)) | (1 << (frameQLParser.WEEK - 562)) | (1 << (frameQLParser.SECOND - 562)) | (1 << (frameQLParser.MICROSECOND - 562)) | (1 << (frameQLParser.TABLES - 562)) | (1 << (frameQLParser.ROUTINE - 562)) | (1 << (frameQLParser.EXECUTE - 562)) | (1 << (frameQLParser.FILE - 562)) | (1 << (frameQLParser.PROCESS - 562)) | (1 << (frameQLParser.RELOAD - 562)) | (1 << (frameQLParser.SHUTDOWN - 562)) | (1 << (frameQLParser.SUPER - 562)) | (1 << (frameQLParser.PRIVILEGES - 562)) | (1 << (frameQLParser.ARMSCII8 - 562)) | (1 << (frameQLParser.ASCII - 562)) | (1 << (frameQLParser.BIG5 - 562)) | (1 << (frameQLParser.CP1250 - 562)) | (1 << (frameQLParser.CP1251 - 562)) | (1 << (frameQLParser.CP1256 - 562)) | (1 << (frameQLParser.CP1257 - 562)) | (1 << (frameQLParser.CP850 - 562)) | (1 << (frameQLParser.CP852 - 562)) | (1 << (frameQLParser.CP866 - 562)) | (1 << (frameQLParser.CP932 - 562)) | (1 << (frameQLParser.DEC8 - 562)) | (1 << (frameQLParser.EUCJPMS - 562)) | (1 << (frameQLParser.EUCKR - 562)) | (1 << (frameQLParser.GB2312 - 562)) | (1 << (frameQLParser.GBK - 562)) | (1 << (frameQLParser.GEOSTD8 - 562)) | (1 << (frameQLParser.GREEK - 562)) | (1 << (frameQLParser.HEBREW - 562)) | (1 << (frameQLParser.HP8 - 562)) | (1 << (frameQLParser.KEYBCS2 - 562)) | (1 << (frameQLParser.KOI8R - 562)) | (1 << (frameQLParser.KOI8U - 562)) | (1 << (frameQLParser.LATIN1 - 562)) | (1 << (frameQLParser.LATIN2 - 562)) | (1 << (frameQLParser.LATIN5 - 562)) | (1 << (frameQLParser.LATIN7 - 562)) | (1 << (frameQLParser.MACCE - 562)) | (1 << (frameQLParser.MACROMAN - 562)) | (1 << (frameQLParser.SJIS - 562)) | (1 << (frameQLParser.SWE7 - 562)) | (1 << (frameQLParser.TIS620 - 562)) | (1 << (frameQLParser.UCS2 - 562)) | (1 << (frameQLParser.UJIS - 562)) | (1 << (frameQLParser.UTF16 - 562)) | (1 << (frameQLParser.UTF16LE - 562)) | (1 << (frameQLParser.UTF32 - 562)) | (1 << (frameQLParser.UTF8 - 562)) | (1 << (frameQLParser.UTF8MB3 - 562)) | (1 << (frameQLParser.UTF8MB4 - 562)) | (1 << (frameQLParser.ARCHIVE - 562)) | (1 << (frameQLParser.BLACKHOLE - 562)) | (1 << (frameQLParser.CSV - 562)) | (1 << (frameQLParser.FEDERATED - 562)) | (1 << (frameQLParser.INNODB - 562)) | (1 << (frameQLParser.MEMORY - 562)) | (1 << (frameQLParser.MRG_MYISAM - 562)) | (1 << (frameQLParser.MYISAM - 562)) | (1 << (frameQLParser.NDB - 562)) | (1 << (frameQLParser.NDBCLUSTER - 562)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 562)))) != 0) or ((((_la - 626)) & ~0x3f) == 0 and ((1 << (_la - 626)) & ((1 << (frameQLParser.REPEATABLE - 626)) | (1 << (frameQLParser.COMMITTED - 626)) | (1 << (frameQLParser.UNCOMMITTED - 626)) | (1 << (frameQLParser.SERIALIZABLE - 626)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 626)) | (1 << (frameQLParser.LINESTRING - 626)) | (1 << (frameQLParser.MULTILINESTRING - 626)) | (1 << (frameQLParser.MULTIPOINT - 626)) | (1 << (frameQLParser.MULTIPOLYGON - 626)) | (1 << (frameQLParser.POINT - 626)) | (1 << (frameQLParser.POLYGON - 626)) | (1 << (frameQLParser.ABS - 626)) | (1 << (frameQLParser.ACOS - 626)) | (1 << (frameQLParser.ADDDATE - 626)) | (1 << (frameQLParser.ADDTIME - 626)) | (1 << (frameQLParser.AES_DECRYPT - 626)) | (1 << (frameQLParser.AES_ENCRYPT - 626)) | (1 << (frameQLParser.AREA - 626)) | (1 << (frameQLParser.ASBINARY - 626)) | (1 << (frameQLParser.ASIN - 626)) | (1 << (frameQLParser.ASTEXT - 626)) | (1 << (frameQLParser.ASWKB - 626)) | (1 << (frameQLParser.ASWKT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 626)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 626)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 626)) | (1 << (frameQLParser.ATAN - 626)) | (1 << (frameQLParser.ATAN2 - 626)) | (1 << (frameQLParser.BENCHMARK - 626)) | (1 << (frameQLParser.BIN - 626)) | (1 << (frameQLParser.BIT_COUNT - 626)) | (1 << (frameQLParser.BIT_LENGTH - 626)) | (1 << (frameQLParser.BUFFER - 626)) | (1 << (frameQLParser.CEIL - 626)) | (1 << (frameQLParser.CEILING - 626)) | (1 << (frameQLParser.CENTROID - 626)) | (1 << (frameQLParser.CHARACTER_LENGTH - 626)) | (1 << (frameQLParser.CHARSET - 626)) | (1 << (frameQLParser.CHAR_LENGTH - 626)) | (1 << (frameQLParser.COERCIBILITY - 626)) | (1 << (frameQLParser.COLLATION - 626)) | (1 << (frameQLParser.COMPRESS - 626)) | (1 << (frameQLParser.CONCAT - 626)) | (1 << (frameQLParser.CONCAT_WS - 626)) | (1 << (frameQLParser.CONNECTION_ID - 626)) | (1 << (frameQLParser.CONV - 626)) | (1 << (frameQLParser.CONVERT_TZ - 626)) | (1 << (frameQLParser.COS - 626)) | (1 << (frameQLParser.COT - 626)) | (1 << (frameQLParser.CRC32 - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 626)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 626)) | (1 << (frameQLParser.CREATE_DIGEST - 626)) | (1 << (frameQLParser.CROSSES - 626)) | (1 << (frameQLParser.DATEDIFF - 626)) | (1 << (frameQLParser.DATE_FORMAT - 626)) | (1 << (frameQLParser.DAYNAME - 626)) | (1 << (frameQLParser.DAYOFMONTH - 626)) | (1 << (frameQLParser.DAYOFWEEK - 626)) | (1 << (frameQLParser.DAYOFYEAR - 626)) | (1 << (frameQLParser.DECODE - 626)))) != 0) or ((((_la - 690)) & ~0x3f) == 0 and ((1 << (_la - 690)) & ((1 << (frameQLParser.DEGREES - 690)) | (1 << (frameQLParser.DES_DECRYPT - 690)) | (1 << (frameQLParser.DES_ENCRYPT - 690)) | (1 << (frameQLParser.DIMENSION - 690)) | (1 << (frameQLParser.DISJOINT - 690)) | (1 << (frameQLParser.ELT - 690)) | (1 << (frameQLParser.ENCODE - 690)) | (1 << (frameQLParser.ENCRYPT - 690)) | (1 << (frameQLParser.ENDPOINT - 690)) | (1 << (frameQLParser.ENVELOPE - 690)) | (1 << (frameQLParser.EQUALS - 690)) | (1 << (frameQLParser.EXP - 690)) | (1 << (frameQLParser.EXPORT_SET - 690)) | (1 << (frameQLParser.EXTERIORRING - 690)) | (1 << (frameQLParser.EXTRACTVALUE - 690)) | (1 << (frameQLParser.FIELD - 690)) | (1 << (frameQLParser.FIND_IN_SET - 690)) | (1 << (frameQLParser.FLOOR - 690)) | (1 << (frameQLParser.FORMAT - 690)) | (1 << (frameQLParser.FOUND_ROWS - 690)) | (1 << (frameQLParser.FROM_BASE64 - 690)) | (1 << (frameQLParser.FROM_DAYS - 690)) | (1 << (frameQLParser.FROM_UNIXTIME - 690)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 690)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYN - 690)) | (1 << (frameQLParser.GEOMETRYTYPE - 690)) | (1 << (frameQLParser.GEOMFROMTEXT - 690)) | (1 << (frameQLParser.GEOMFROMWKB - 690)) | (1 << (frameQLParser.GET_FORMAT - 690)) | (1 << (frameQLParser.GET_LOCK - 690)) | (1 << (frameQLParser.GLENGTH - 690)) | (1 << (frameQLParser.GREATEST - 690)) | (1 << (frameQLParser.GTID_SUBSET - 690)) | (1 << (frameQLParser.GTID_SUBTRACT - 690)) | (1 << (frameQLParser.HEX - 690)) | (1 << (frameQLParser.IFNULL - 690)) | (1 << (frameQLParser.INET6_ATON - 690)) | (1 << (frameQLParser.INET6_NTOA - 690)) | (1 << (frameQLParser.INET_ATON - 690)) | (1 << (frameQLParser.INET_NTOA - 690)) | (1 << (frameQLParser.INSTR - 690)) | (1 << (frameQLParser.INTERIORRINGN - 690)) | (1 << (frameQLParser.INTERSECTS - 690)) | (1 << (frameQLParser.ISCLOSED - 690)) | (1 << (frameQLParser.ISEMPTY - 690)) | (1 << (frameQLParser.ISNULL - 690)) | (1 << (frameQLParser.ISSIMPLE - 690)) | (1 << (frameQLParser.IS_FREE_LOCK - 690)) | (1 << (frameQLParser.IS_IPV4 - 690)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 690)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 690)) | (1 << (frameQLParser.IS_IPV6 - 690)) | (1 << (frameQLParser.IS_USED_LOCK - 690)) | (1 << (frameQLParser.LAST_INSERT_ID - 690)) | (1 << (frameQLParser.LCASE - 690)) | (1 << (frameQLParser.LEAST - 690)) | (1 << (frameQLParser.LENGTH - 690)) | (1 << (frameQLParser.LINEFROMTEXT - 690)) | (1 << (frameQLParser.LINEFROMWKB - 690)))) != 0) or ((((_la - 754)) & ~0x3f) == 0 and ((1 << (_la - 754)) & ((1 << (frameQLParser.LINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.LN - 754)) | (1 << (frameQLParser.LOAD_FILE - 754)) | (1 << (frameQLParser.LOCATE - 754)) | (1 << (frameQLParser.LOG - 754)) | (1 << (frameQLParser.LOG10 - 754)) | (1 << (frameQLParser.LOG2 - 754)) | (1 << (frameQLParser.LOWER - 754)) | (1 << (frameQLParser.LPAD - 754)) | (1 << (frameQLParser.LTRIM - 754)) | (1 << (frameQLParser.MAKEDATE - 754)) | (1 << (frameQLParser.MAKETIME - 754)) | (1 << (frameQLParser.MAKE_SET - 754)) | (1 << (frameQLParser.MASTER_POS_WAIT - 754)) | (1 << (frameQLParser.MBRCONTAINS - 754)) | (1 << (frameQLParser.MBRDISJOINT - 754)) | (1 << (frameQLParser.MBREQUAL - 754)) | (1 << (frameQLParser.MBRINTERSECTS - 754)) | (1 << (frameQLParser.MBROVERLAPS - 754)) | (1 << (frameQLParser.MBRTOUCHES - 754)) | (1 << (frameQLParser.MBRWITHIN - 754)) | (1 << (frameQLParser.MD5 - 754)) | (1 << (frameQLParser.MLINEFROMTEXT - 754)) | (1 << (frameQLParser.MLINEFROMWKB - 754)) | (1 << (frameQLParser.MONTHNAME - 754)) | (1 << (frameQLParser.MPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MPOINTFROMWKB - 754)) | (1 << (frameQLParser.MPOLYFROMTEXT - 754)) | (1 << (frameQLParser.MPOLYFROMWKB - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 754)) | (1 << (frameQLParser.NAME_CONST - 754)) | (1 << (frameQLParser.NULLIF - 754)) | (1 << (frameQLParser.NUMGEOMETRIES - 754)) | (1 << (frameQLParser.NUMINTERIORRINGS - 754)) | (1 << (frameQLParser.NUMPOINTS - 754)) | (1 << (frameQLParser.OCT - 754)) | (1 << (frameQLParser.OCTET_LENGTH - 754)) | (1 << (frameQLParser.ORD - 754)) | (1 << (frameQLParser.OVERLAPS - 754)) | (1 << (frameQLParser.PERIOD_ADD - 754)) | (1 << (frameQLParser.PERIOD_DIFF - 754)) | (1 << (frameQLParser.PI - 754)) | (1 << (frameQLParser.POINTFROMTEXT - 754)) | (1 << (frameQLParser.POINTFROMWKB - 754)) | (1 << (frameQLParser.POINTN - 754)) | (1 << (frameQLParser.POLYFROMTEXT - 754)) | (1 << (frameQLParser.POLYFROMWKB - 754)) | (1 << (frameQLParser.POLYGONFROMTEXT - 754)) | (1 << (frameQLParser.POLYGONFROMWKB - 754)) | (1 << (frameQLParser.POW - 754)) | (1 << (frameQLParser.POWER - 754)) | (1 << (frameQLParser.QUOTE - 754)) | (1 << (frameQLParser.RADIANS - 754)) | (1 << (frameQLParser.RAND - 754)) | (1 << (frameQLParser.RANDOM_BYTES - 754)) | (1 << (frameQLParser.RELEASE_LOCK - 754)) | (1 << (frameQLParser.REVERSE - 754)) | (1 << (frameQLParser.ROUND - 754)))) != 0) or ((((_la - 818)) & ~0x3f) == 0 and ((1 << (_la - 818)) & ((1 << (frameQLParser.ROW_COUNT - 818)) | (1 << (frameQLParser.RPAD - 818)) | (1 << (frameQLParser.RTRIM - 818)) | (1 << (frameQLParser.SEC_TO_TIME - 818)) | (1 << (frameQLParser.SESSION_USER - 818)) | (1 << (frameQLParser.SHA - 818)) | (1 << (frameQLParser.SHA1 - 818)) | (1 << (frameQLParser.SHA2 - 818)) | (1 << (frameQLParser.SIGN - 818)) | (1 << (frameQLParser.SIN - 818)) | (1 << (frameQLParser.SLEEP - 818)) | (1 << (frameQLParser.SOUNDEX - 818)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 818)) | (1 << (frameQLParser.SQRT - 818)) | (1 << (frameQLParser.SRID - 818)) | (1 << (frameQLParser.STARTPOINT - 818)) | (1 << (frameQLParser.STRCMP - 818)) | (1 << (frameQLParser.STR_TO_DATE - 818)) | (1 << (frameQLParser.ST_AREA - 818)) | (1 << (frameQLParser.ST_ASBINARY - 818)) | (1 << (frameQLParser.ST_ASTEXT - 818)) | (1 << (frameQLParser.ST_ASWKB - 818)) | (1 << (frameQLParser.ST_ASWKT - 818)) | (1 << (frameQLParser.ST_BUFFER - 818)) | (1 << (frameQLParser.ST_CENTROID - 818)) | (1 << (frameQLParser.ST_CONTAINS - 818)) | (1 << (frameQLParser.ST_CROSSES - 818)) | (1 << (frameQLParser.ST_DIFFERENCE - 818)) | (1 << (frameQLParser.ST_DIMENSION - 818)) | (1 << (frameQLParser.ST_DISJOINT - 818)) | (1 << (frameQLParser.ST_DISTANCE - 818)) | (1 << (frameQLParser.ST_ENDPOINT - 818)) | (1 << (frameQLParser.ST_ENVELOPE - 818)) | (1 << (frameQLParser.ST_EQUALS - 818)) | (1 << (frameQLParser.ST_EXTERIORRING - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYN - 818)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 818)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 818)) | (1 << (frameQLParser.ST_INTERIORRINGN - 818)) | (1 << (frameQLParser.ST_INTERSECTION - 818)) | (1 << (frameQLParser.ST_INTERSECTS - 818)) | (1 << (frameQLParser.ST_ISCLOSED - 818)) | (1 << (frameQLParser.ST_ISEMPTY - 818)) | (1 << (frameQLParser.ST_ISSIMPLE - 818)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINEFROMWKB - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 818)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 818)) | (1 << (frameQLParser.ST_NUMPOINTS - 818)) | (1 << (frameQLParser.ST_OVERLAPS - 818)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 818)) | (1 << (frameQLParser.ST_POINTFROMWKB - 818)) | (1 << (frameQLParser.ST_POINTN - 818)))) != 0) or ((((_la - 882)) & ~0x3f) == 0 and ((1 << (_la - 882)) & ((1 << (frameQLParser.ST_POLYFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYFROMWKB - 882)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 882)) | (1 << (frameQLParser.ST_SRID - 882)) | (1 << (frameQLParser.ST_STARTPOINT - 882)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 882)) | (1 << (frameQLParser.ST_TOUCHES - 882)) | (1 << (frameQLParser.ST_UNION - 882)) | (1 << (frameQLParser.ST_WITHIN - 882)) | (1 << (frameQLParser.ST_X - 882)) | (1 << (frameQLParser.ST_Y - 882)) | (1 << (frameQLParser.SUBDATE - 882)) | (1 << (frameQLParser.SUBSTRING_INDEX - 882)) | (1 << (frameQLParser.SUBTIME - 882)) | (1 << (frameQLParser.SYSTEM_USER - 882)) | (1 << (frameQLParser.TAN - 882)) | (1 << (frameQLParser.TIMEDIFF - 882)) | (1 << (frameQLParser.TIMESTAMPADD - 882)) | (1 << (frameQLParser.TIMESTAMPDIFF - 882)) | (1 << (frameQLParser.TIME_FORMAT - 882)) | (1 << (frameQLParser.TIME_TO_SEC - 882)) | (1 << (frameQLParser.TOUCHES - 882)) | (1 << (frameQLParser.TO_BASE64 - 882)) | (1 << (frameQLParser.TO_DAYS - 882)) | (1 << (frameQLParser.TO_SECONDS - 882)) | (1 << (frameQLParser.UCASE - 882)) | (1 << (frameQLParser.UNCOMPRESS - 882)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 882)) | (1 << (frameQLParser.UNHEX - 882)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 882)) | (1 << (frameQLParser.UPDATEXML - 882)) | (1 << (frameQLParser.UPPER - 882)) | (1 << (frameQLParser.UUID - 882)) | (1 << (frameQLParser.UUID_SHORT - 882)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 882)) | (1 << (frameQLParser.VERSION - 882)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 882)) | (1 << (frameQLParser.WEEKDAY - 882)) | (1 << (frameQLParser.WEEKOFYEAR - 882)) | (1 << (frameQLParser.WEIGHT_STRING - 882)) | (1 << (frameQLParser.WITHIN - 882)) | (1 << (frameQLParser.YEARWEEK - 882)) | (1 << (frameQLParser.Y_FUNCTION - 882)) | (1 << (frameQLParser.X_FUNCTION - 882)))) != 0) or ((((_la - 953)) & ~0x3f) == 0 and ((1 << (_la - 953)) & ((1 << (frameQLParser.LR_BRACKET - 953)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 953)) | (1 << (frameQLParser.STRING_LITERAL - 953)) | (1 << (frameQLParser.ID - 953)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 953)))) != 0)): - break - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ElifAlternativeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ELSEIF(self): - return self.getToken(frameQLParser.ELSEIF, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def THEN(self): - return self.getToken(frameQLParser.THEN, 0) - - def procedureSqlStatement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ProcedureSqlStatementContext) - else: - return self.getTypedRuleContext(frameQLParser.ProcedureSqlStatementContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_elifAlternative - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterElifAlternative" ): - listener.enterElifAlternative(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitElifAlternative" ): - listener.exitElifAlternative(self) - - - - - def elifAlternative(self): - - localctx = frameQLParser.ElifAlternativeContext(self, self._ctx, self.state) - self.enterRule(localctx, 382, self.RULE_elifAlternative) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4269 - self.match(frameQLParser.ELSEIF) - self.state = 4270 - self.expression(0) - self.state = 4271 - self.match(frameQLParser.THEN) - self.state = 4273 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4272 - self.procedureSqlStatement() - self.state = 4275 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 9)) & ~0x3f) == 0 and ((1 << (_la - 9)) & ((1 << (frameQLParser.ALTER - 9)) | (1 << (frameQLParser.ANALYZE - 9)) | (1 << (frameQLParser.CALL - 9)) | (1 << (frameQLParser.CASE - 9)) | (1 << (frameQLParser.CHANGE - 9)) | (1 << (frameQLParser.CHECK - 9)) | (1 << (frameQLParser.CREATE - 9)) | (1 << (frameQLParser.DATABASE - 9)) | (1 << (frameQLParser.DELETE - 9)) | (1 << (frameQLParser.DESC - 9)) | (1 << (frameQLParser.DESCRIBE - 9)) | (1 << (frameQLParser.DROP - 9)) | (1 << (frameQLParser.EXPLAIN - 9)) | (1 << (frameQLParser.FETCH - 9)) | (1 << (frameQLParser.GRANT - 9)) | (1 << (frameQLParser.IF - 9)))) != 0) or ((((_la - 75)) & ~0x3f) == 0 and ((1 << (_la - 75)) & ((1 << (frameQLParser.INSERT - 75)) | (1 << (frameQLParser.ITERATE - 75)) | (1 << (frameQLParser.KILL - 75)) | (1 << (frameQLParser.LEAVE - 75)) | (1 << (frameQLParser.LEFT - 75)) | (1 << (frameQLParser.LOAD - 75)) | (1 << (frameQLParser.LOCK - 75)) | (1 << (frameQLParser.LOOP - 75)) | (1 << (frameQLParser.OPTIMIZE - 75)) | (1 << (frameQLParser.PURGE - 75)) | (1 << (frameQLParser.RELEASE - 75)) | (1 << (frameQLParser.RENAME - 75)) | (1 << (frameQLParser.REPEAT - 75)) | (1 << (frameQLParser.REPLACE - 75)) | (1 << (frameQLParser.RETURN - 75)) | (1 << (frameQLParser.REVOKE - 75)) | (1 << (frameQLParser.RIGHT - 75)) | (1 << (frameQLParser.SELECT - 75)) | (1 << (frameQLParser.SET - 75)) | (1 << (frameQLParser.SHOW - 75)))) != 0) or ((((_la - 159)) & ~0x3f) == 0 and ((1 << (_la - 159)) & ((1 << (frameQLParser.UNLOCK - 159)) | (1 << (frameQLParser.UPDATE - 159)) | (1 << (frameQLParser.USE - 159)) | (1 << (frameQLParser.WHILE - 159)) | (1 << (frameQLParser.DATE - 159)) | (1 << (frameQLParser.TIME - 159)) | (1 << (frameQLParser.TIMESTAMP - 159)) | (1 << (frameQLParser.DATETIME - 159)) | (1 << (frameQLParser.YEAR - 159)) | (1 << (frameQLParser.TEXT - 159)) | (1 << (frameQLParser.ENUM - 159)) | (1 << (frameQLParser.SERIAL - 159)) | (1 << (frameQLParser.COUNT - 159)))) != 0) or ((((_la - 242)) & ~0x3f) == 0 and ((1 << (_la - 242)) & ((1 << (frameQLParser.POSITION - 242)) | (1 << (frameQLParser.ACCOUNT - 242)) | (1 << (frameQLParser.ACTION - 242)) | (1 << (frameQLParser.AFTER - 242)) | (1 << (frameQLParser.AGGREGATE - 242)) | (1 << (frameQLParser.ALGORITHM - 242)) | (1 << (frameQLParser.ANY - 242)) | (1 << (frameQLParser.AT - 242)) | (1 << (frameQLParser.AUTHORS - 242)) | (1 << (frameQLParser.AUTOCOMMIT - 242)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 242)) | (1 << (frameQLParser.AUTO_INCREMENT - 242)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 242)) | (1 << (frameQLParser.BEGIN - 242)) | (1 << (frameQLParser.BINLOG - 242)) | (1 << (frameQLParser.BIT - 242)) | (1 << (frameQLParser.BLOCK - 242)) | (1 << (frameQLParser.BOOL - 242)) | (1 << (frameQLParser.BOOLEAN - 242)) | (1 << (frameQLParser.BTREE - 242)) | (1 << (frameQLParser.CACHE - 242)) | (1 << (frameQLParser.CASCADED - 242)) | (1 << (frameQLParser.CHAIN - 242)) | (1 << (frameQLParser.CHANGED - 242)) | (1 << (frameQLParser.CHANNEL - 242)) | (1 << (frameQLParser.CHECKSUM - 242)) | (1 << (frameQLParser.CIPHER - 242)) | (1 << (frameQLParser.CLIENT - 242)) | (1 << (frameQLParser.CLOSE - 242)) | (1 << (frameQLParser.COALESCE - 242)) | (1 << (frameQLParser.CODE - 242)) | (1 << (frameQLParser.COLUMNS - 242)) | (1 << (frameQLParser.COLUMN_FORMAT - 242)) | (1 << (frameQLParser.COMMENT - 242)) | (1 << (frameQLParser.COMMIT - 242)) | (1 << (frameQLParser.COMPACT - 242)) | (1 << (frameQLParser.COMPLETION - 242)) | (1 << (frameQLParser.COMPRESSED - 242)) | (1 << (frameQLParser.COMPRESSION - 242)) | (1 << (frameQLParser.CONCURRENT - 242)) | (1 << (frameQLParser.CONNECTION - 242)) | (1 << (frameQLParser.CONSISTENT - 242)) | (1 << (frameQLParser.CONTAINS - 242)) | (1 << (frameQLParser.CONTEXT - 242)) | (1 << (frameQLParser.CONTRIBUTORS - 242)) | (1 << (frameQLParser.COPY - 242)) | (1 << (frameQLParser.CPU - 242)) | (1 << (frameQLParser.DATA - 242)) | (1 << (frameQLParser.DATAFILE - 242)) | (1 << (frameQLParser.DEALLOCATE - 242)) | (1 << (frameQLParser.DEFAULT_AUTH - 242)) | (1 << (frameQLParser.DEFINER - 242)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 242)) | (1 << (frameQLParser.DIRECTORY - 242)) | (1 << (frameQLParser.DISABLE - 242)) | (1 << (frameQLParser.DISCARD - 242)))) != 0) or ((((_la - 306)) & ~0x3f) == 0 and ((1 << (_la - 306)) & ((1 << (frameQLParser.DISK - 306)) | (1 << (frameQLParser.DO - 306)) | (1 << (frameQLParser.DUMPFILE - 306)) | (1 << (frameQLParser.DUPLICATE - 306)) | (1 << (frameQLParser.DYNAMIC - 306)) | (1 << (frameQLParser.ENABLE - 306)) | (1 << (frameQLParser.ENCRYPTION - 306)) | (1 << (frameQLParser.ENDS - 306)) | (1 << (frameQLParser.ENGINE - 306)) | (1 << (frameQLParser.ENGINES - 306)) | (1 << (frameQLParser.ERROR - 306)) | (1 << (frameQLParser.ERRORS - 306)) | (1 << (frameQLParser.ESCAPE - 306)) | (1 << (frameQLParser.EVEN - 306)) | (1 << (frameQLParser.EVENT - 306)) | (1 << (frameQLParser.EVENTS - 306)) | (1 << (frameQLParser.EVERY - 306)) | (1 << (frameQLParser.EXCHANGE - 306)) | (1 << (frameQLParser.EXCLUSIVE - 306)) | (1 << (frameQLParser.EXPIRE - 306)) | (1 << (frameQLParser.EXTENDED - 306)) | (1 << (frameQLParser.EXTENT_SIZE - 306)) | (1 << (frameQLParser.FAST - 306)) | (1 << (frameQLParser.FAULTS - 306)) | (1 << (frameQLParser.FIELDS - 306)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 306)) | (1 << (frameQLParser.FILTER - 306)) | (1 << (frameQLParser.FIRST - 306)) | (1 << (frameQLParser.FIXED - 306)) | (1 << (frameQLParser.FLUSH - 306)) | (1 << (frameQLParser.FOLLOWS - 306)) | (1 << (frameQLParser.FULL - 306)) | (1 << (frameQLParser.FUNCTION - 306)) | (1 << (frameQLParser.GLOBAL - 306)) | (1 << (frameQLParser.GRANTS - 306)) | (1 << (frameQLParser.GROUP_REPLICATION - 306)) | (1 << (frameQLParser.HANDLER - 306)) | (1 << (frameQLParser.HASH - 306)) | (1 << (frameQLParser.HELP - 306)) | (1 << (frameQLParser.HOST - 306)) | (1 << (frameQLParser.IDENTIFIED - 306)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 306)) | (1 << (frameQLParser.IMPORT - 306)) | (1 << (frameQLParser.INDEXES - 306)) | (1 << (frameQLParser.INITIAL_SIZE - 306)) | (1 << (frameQLParser.INPLACE - 306)) | (1 << (frameQLParser.INSERT_METHOD - 306)) | (1 << (frameQLParser.INSTALL - 306)) | (1 << (frameQLParser.INSTANCE - 306)) | (1 << (frameQLParser.INVOKER - 306)) | (1 << (frameQLParser.IO - 306)) | (1 << (frameQLParser.IO_THREAD - 306)) | (1 << (frameQLParser.IPC - 306)) | (1 << (frameQLParser.ISOLATION - 306)) | (1 << (frameQLParser.ISSUER - 306)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 306)) | (1 << (frameQLParser.LANGUAGE - 306)) | (1 << (frameQLParser.LAST - 306)))) != 0) or ((((_la - 370)) & ~0x3f) == 0 and ((1 << (_la - 370)) & ((1 << (frameQLParser.LEAVES - 370)) | (1 << (frameQLParser.LESS - 370)) | (1 << (frameQLParser.LEVEL - 370)) | (1 << (frameQLParser.LIST - 370)) | (1 << (frameQLParser.LOCAL - 370)) | (1 << (frameQLParser.LOGFILE - 370)) | (1 << (frameQLParser.LOGS - 370)) | (1 << (frameQLParser.MASTER - 370)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 370)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 370)) | (1 << (frameQLParser.MASTER_DELAY - 370)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 370)) | (1 << (frameQLParser.MASTER_HOST - 370)) | (1 << (frameQLParser.MASTER_LOG_FILE - 370)) | (1 << (frameQLParser.MASTER_LOG_POS - 370)) | (1 << (frameQLParser.MASTER_PASSWORD - 370)) | (1 << (frameQLParser.MASTER_PORT - 370)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 370)) | (1 << (frameQLParser.MASTER_SSL - 370)) | (1 << (frameQLParser.MASTER_SSL_CA - 370)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_CERT - 370)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 370)) | (1 << (frameQLParser.MASTER_SSL_CRL - 370)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_KEY - 370)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 370)) | (1 << (frameQLParser.MASTER_USER - 370)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_ROWS - 370)) | (1 << (frameQLParser.MAX_SIZE - 370)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 370)) | (1 << (frameQLParser.MEDIUM - 370)) | (1 << (frameQLParser.MERGE - 370)) | (1 << (frameQLParser.MID - 370)) | (1 << (frameQLParser.MIGRATE - 370)) | (1 << (frameQLParser.MIN_ROWS - 370)) | (1 << (frameQLParser.MODIFY - 370)) | (1 << (frameQLParser.MUTEX - 370)) | (1 << (frameQLParser.MYSQL - 370)) | (1 << (frameQLParser.NAME - 370)) | (1 << (frameQLParser.NAMES - 370)) | (1 << (frameQLParser.NCHAR - 370)) | (1 << (frameQLParser.NEVER - 370)) | (1 << (frameQLParser.NO - 370)) | (1 << (frameQLParser.NODEGROUP - 370)) | (1 << (frameQLParser.NONE - 370)) | (1 << (frameQLParser.OFFLINE - 370)) | (1 << (frameQLParser.OFFSET - 370)) | (1 << (frameQLParser.OJ - 370)) | (1 << (frameQLParser.OLD_PASSWORD - 370)) | (1 << (frameQLParser.ONE - 370)) | (1 << (frameQLParser.ONLINE - 370)) | (1 << (frameQLParser.ONLY - 370)) | (1 << (frameQLParser.OPEN - 370)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 370)) | (1 << (frameQLParser.OPTIONS - 370)) | (1 << (frameQLParser.OWNER - 370)) | (1 << (frameQLParser.PACK_KEYS - 370)) | (1 << (frameQLParser.PAGE - 370)))) != 0) or ((((_la - 434)) & ~0x3f) == 0 and ((1 << (_la - 434)) & ((1 << (frameQLParser.PARSER - 434)) | (1 << (frameQLParser.PARTIAL - 434)) | (1 << (frameQLParser.PARTITIONING - 434)) | (1 << (frameQLParser.PARTITIONS - 434)) | (1 << (frameQLParser.PASSWORD - 434)) | (1 << (frameQLParser.PHASE - 434)) | (1 << (frameQLParser.PLUGIN_DIR - 434)) | (1 << (frameQLParser.PLUGINS - 434)) | (1 << (frameQLParser.PORT - 434)) | (1 << (frameQLParser.PRECEDES - 434)) | (1 << (frameQLParser.PREPARE - 434)) | (1 << (frameQLParser.PRESERVE - 434)) | (1 << (frameQLParser.PREV - 434)) | (1 << (frameQLParser.PROCESSLIST - 434)) | (1 << (frameQLParser.PROFILE - 434)) | (1 << (frameQLParser.PROFILES - 434)) | (1 << (frameQLParser.PROXY - 434)) | (1 << (frameQLParser.QUERY - 434)) | (1 << (frameQLParser.QUICK - 434)) | (1 << (frameQLParser.REBUILD - 434)) | (1 << (frameQLParser.RECOVER - 434)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 434)) | (1 << (frameQLParser.REDUNDANT - 434)) | (1 << (frameQLParser.RELAY_LOG_FILE - 434)) | (1 << (frameQLParser.RELAY_LOG_POS - 434)) | (1 << (frameQLParser.RELAYLOG - 434)) | (1 << (frameQLParser.REMOVE - 434)) | (1 << (frameQLParser.REORGANIZE - 434)) | (1 << (frameQLParser.REPAIR - 434)) | (1 << (frameQLParser.REPLICATE_DO_DB - 434)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 434)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATION - 434)) | (1 << (frameQLParser.RESET - 434)) | (1 << (frameQLParser.RESUME - 434)) | (1 << (frameQLParser.RETURNS - 434)) | (1 << (frameQLParser.ROLLBACK - 434)) | (1 << (frameQLParser.ROLLUP - 434)) | (1 << (frameQLParser.ROTATE - 434)) | (1 << (frameQLParser.ROW - 434)) | (1 << (frameQLParser.ROWS - 434)) | (1 << (frameQLParser.ROW_FORMAT - 434)) | (1 << (frameQLParser.SAVEPOINT - 434)) | (1 << (frameQLParser.SCHEDULE - 434)) | (1 << (frameQLParser.SECURITY - 434)) | (1 << (frameQLParser.SERVER - 434)) | (1 << (frameQLParser.SESSION - 434)) | (1 << (frameQLParser.SHARE - 434)) | (1 << (frameQLParser.SHARED - 434)) | (1 << (frameQLParser.SIGNED - 434)) | (1 << (frameQLParser.SIMPLE - 434)) | (1 << (frameQLParser.SLAVE - 434)) | (1 << (frameQLParser.SNAPSHOT - 434)) | (1 << (frameQLParser.SOCKET - 434)) | (1 << (frameQLParser.SOME - 434)) | (1 << (frameQLParser.SOUNDS - 434)))) != 0) or ((((_la - 498)) & ~0x3f) == 0 and ((1 << (_la - 498)) & ((1 << (frameQLParser.SOURCE - 498)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 498)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 498)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 498)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 498)) | (1 << (frameQLParser.SQL_CACHE - 498)) | (1 << (frameQLParser.SQL_NO_CACHE - 498)) | (1 << (frameQLParser.SQL_THREAD - 498)) | (1 << (frameQLParser.START - 498)) | (1 << (frameQLParser.STARTS - 498)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 498)) | (1 << (frameQLParser.STATS_PERSISTENT - 498)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 498)) | (1 << (frameQLParser.STATUS - 498)) | (1 << (frameQLParser.STOP - 498)) | (1 << (frameQLParser.STORAGE - 498)) | (1 << (frameQLParser.STRING - 498)) | (1 << (frameQLParser.SUBJECT - 498)) | (1 << (frameQLParser.SUBPARTITION - 498)) | (1 << (frameQLParser.SUBPARTITIONS - 498)) | (1 << (frameQLParser.SUSPEND - 498)) | (1 << (frameQLParser.SWAPS - 498)) | (1 << (frameQLParser.SWITCHES - 498)) | (1 << (frameQLParser.TABLESPACE - 498)) | (1 << (frameQLParser.TEMPORARY - 498)) | (1 << (frameQLParser.TEMPTABLE - 498)) | (1 << (frameQLParser.THAN - 498)) | (1 << (frameQLParser.TRANSACTION - 498)) | (1 << (frameQLParser.TRUNCATE - 498)) | (1 << (frameQLParser.UNDEFINED - 498)) | (1 << (frameQLParser.UNDOFILE - 498)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 498)) | (1 << (frameQLParser.UNINSTALL - 498)) | (1 << (frameQLParser.UNKNOWN - 498)) | (1 << (frameQLParser.UPGRADE - 498)) | (1 << (frameQLParser.USER - 498)) | (1 << (frameQLParser.VALIDATION - 498)) | (1 << (frameQLParser.VALUE - 498)) | (1 << (frameQLParser.VARIABLES - 498)) | (1 << (frameQLParser.VIEW - 498)) | (1 << (frameQLParser.WAIT - 498)) | (1 << (frameQLParser.WARNINGS - 498)) | (1 << (frameQLParser.WITHOUT - 498)) | (1 << (frameQLParser.WORK - 498)) | (1 << (frameQLParser.WRAPPER - 498)) | (1 << (frameQLParser.X509 - 498)) | (1 << (frameQLParser.XA - 498)) | (1 << (frameQLParser.XML - 498)) | (1 << (frameQLParser.QUARTER - 498)) | (1 << (frameQLParser.MONTH - 498)) | (1 << (frameQLParser.DAY - 498)) | (1 << (frameQLParser.HOUR - 498)))) != 0) or ((((_la - 562)) & ~0x3f) == 0 and ((1 << (_la - 562)) & ((1 << (frameQLParser.MINUTE - 562)) | (1 << (frameQLParser.WEEK - 562)) | (1 << (frameQLParser.SECOND - 562)) | (1 << (frameQLParser.MICROSECOND - 562)) | (1 << (frameQLParser.TABLES - 562)) | (1 << (frameQLParser.ROUTINE - 562)) | (1 << (frameQLParser.EXECUTE - 562)) | (1 << (frameQLParser.FILE - 562)) | (1 << (frameQLParser.PROCESS - 562)) | (1 << (frameQLParser.RELOAD - 562)) | (1 << (frameQLParser.SHUTDOWN - 562)) | (1 << (frameQLParser.SUPER - 562)) | (1 << (frameQLParser.PRIVILEGES - 562)) | (1 << (frameQLParser.ARMSCII8 - 562)) | (1 << (frameQLParser.ASCII - 562)) | (1 << (frameQLParser.BIG5 - 562)) | (1 << (frameQLParser.CP1250 - 562)) | (1 << (frameQLParser.CP1251 - 562)) | (1 << (frameQLParser.CP1256 - 562)) | (1 << (frameQLParser.CP1257 - 562)) | (1 << (frameQLParser.CP850 - 562)) | (1 << (frameQLParser.CP852 - 562)) | (1 << (frameQLParser.CP866 - 562)) | (1 << (frameQLParser.CP932 - 562)) | (1 << (frameQLParser.DEC8 - 562)) | (1 << (frameQLParser.EUCJPMS - 562)) | (1 << (frameQLParser.EUCKR - 562)) | (1 << (frameQLParser.GB2312 - 562)) | (1 << (frameQLParser.GBK - 562)) | (1 << (frameQLParser.GEOSTD8 - 562)) | (1 << (frameQLParser.GREEK - 562)) | (1 << (frameQLParser.HEBREW - 562)) | (1 << (frameQLParser.HP8 - 562)) | (1 << (frameQLParser.KEYBCS2 - 562)) | (1 << (frameQLParser.KOI8R - 562)) | (1 << (frameQLParser.KOI8U - 562)) | (1 << (frameQLParser.LATIN1 - 562)) | (1 << (frameQLParser.LATIN2 - 562)) | (1 << (frameQLParser.LATIN5 - 562)) | (1 << (frameQLParser.LATIN7 - 562)) | (1 << (frameQLParser.MACCE - 562)) | (1 << (frameQLParser.MACROMAN - 562)) | (1 << (frameQLParser.SJIS - 562)) | (1 << (frameQLParser.SWE7 - 562)) | (1 << (frameQLParser.TIS620 - 562)) | (1 << (frameQLParser.UCS2 - 562)) | (1 << (frameQLParser.UJIS - 562)) | (1 << (frameQLParser.UTF16 - 562)) | (1 << (frameQLParser.UTF16LE - 562)) | (1 << (frameQLParser.UTF32 - 562)) | (1 << (frameQLParser.UTF8 - 562)) | (1 << (frameQLParser.UTF8MB3 - 562)) | (1 << (frameQLParser.UTF8MB4 - 562)) | (1 << (frameQLParser.ARCHIVE - 562)) | (1 << (frameQLParser.BLACKHOLE - 562)) | (1 << (frameQLParser.CSV - 562)) | (1 << (frameQLParser.FEDERATED - 562)) | (1 << (frameQLParser.INNODB - 562)) | (1 << (frameQLParser.MEMORY - 562)) | (1 << (frameQLParser.MRG_MYISAM - 562)) | (1 << (frameQLParser.MYISAM - 562)) | (1 << (frameQLParser.NDB - 562)) | (1 << (frameQLParser.NDBCLUSTER - 562)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 562)))) != 0) or ((((_la - 626)) & ~0x3f) == 0 and ((1 << (_la - 626)) & ((1 << (frameQLParser.REPEATABLE - 626)) | (1 << (frameQLParser.COMMITTED - 626)) | (1 << (frameQLParser.UNCOMMITTED - 626)) | (1 << (frameQLParser.SERIALIZABLE - 626)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 626)) | (1 << (frameQLParser.LINESTRING - 626)) | (1 << (frameQLParser.MULTILINESTRING - 626)) | (1 << (frameQLParser.MULTIPOINT - 626)) | (1 << (frameQLParser.MULTIPOLYGON - 626)) | (1 << (frameQLParser.POINT - 626)) | (1 << (frameQLParser.POLYGON - 626)) | (1 << (frameQLParser.ABS - 626)) | (1 << (frameQLParser.ACOS - 626)) | (1 << (frameQLParser.ADDDATE - 626)) | (1 << (frameQLParser.ADDTIME - 626)) | (1 << (frameQLParser.AES_DECRYPT - 626)) | (1 << (frameQLParser.AES_ENCRYPT - 626)) | (1 << (frameQLParser.AREA - 626)) | (1 << (frameQLParser.ASBINARY - 626)) | (1 << (frameQLParser.ASIN - 626)) | (1 << (frameQLParser.ASTEXT - 626)) | (1 << (frameQLParser.ASWKB - 626)) | (1 << (frameQLParser.ASWKT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 626)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 626)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 626)) | (1 << (frameQLParser.ATAN - 626)) | (1 << (frameQLParser.ATAN2 - 626)) | (1 << (frameQLParser.BENCHMARK - 626)) | (1 << (frameQLParser.BIN - 626)) | (1 << (frameQLParser.BIT_COUNT - 626)) | (1 << (frameQLParser.BIT_LENGTH - 626)) | (1 << (frameQLParser.BUFFER - 626)) | (1 << (frameQLParser.CEIL - 626)) | (1 << (frameQLParser.CEILING - 626)) | (1 << (frameQLParser.CENTROID - 626)) | (1 << (frameQLParser.CHARACTER_LENGTH - 626)) | (1 << (frameQLParser.CHARSET - 626)) | (1 << (frameQLParser.CHAR_LENGTH - 626)) | (1 << (frameQLParser.COERCIBILITY - 626)) | (1 << (frameQLParser.COLLATION - 626)) | (1 << (frameQLParser.COMPRESS - 626)) | (1 << (frameQLParser.CONCAT - 626)) | (1 << (frameQLParser.CONCAT_WS - 626)) | (1 << (frameQLParser.CONNECTION_ID - 626)) | (1 << (frameQLParser.CONV - 626)) | (1 << (frameQLParser.CONVERT_TZ - 626)) | (1 << (frameQLParser.COS - 626)) | (1 << (frameQLParser.COT - 626)) | (1 << (frameQLParser.CRC32 - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 626)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 626)) | (1 << (frameQLParser.CREATE_DIGEST - 626)) | (1 << (frameQLParser.CROSSES - 626)) | (1 << (frameQLParser.DATEDIFF - 626)) | (1 << (frameQLParser.DATE_FORMAT - 626)) | (1 << (frameQLParser.DAYNAME - 626)) | (1 << (frameQLParser.DAYOFMONTH - 626)) | (1 << (frameQLParser.DAYOFWEEK - 626)) | (1 << (frameQLParser.DAYOFYEAR - 626)) | (1 << (frameQLParser.DECODE - 626)))) != 0) or ((((_la - 690)) & ~0x3f) == 0 and ((1 << (_la - 690)) & ((1 << (frameQLParser.DEGREES - 690)) | (1 << (frameQLParser.DES_DECRYPT - 690)) | (1 << (frameQLParser.DES_ENCRYPT - 690)) | (1 << (frameQLParser.DIMENSION - 690)) | (1 << (frameQLParser.DISJOINT - 690)) | (1 << (frameQLParser.ELT - 690)) | (1 << (frameQLParser.ENCODE - 690)) | (1 << (frameQLParser.ENCRYPT - 690)) | (1 << (frameQLParser.ENDPOINT - 690)) | (1 << (frameQLParser.ENVELOPE - 690)) | (1 << (frameQLParser.EQUALS - 690)) | (1 << (frameQLParser.EXP - 690)) | (1 << (frameQLParser.EXPORT_SET - 690)) | (1 << (frameQLParser.EXTERIORRING - 690)) | (1 << (frameQLParser.EXTRACTVALUE - 690)) | (1 << (frameQLParser.FIELD - 690)) | (1 << (frameQLParser.FIND_IN_SET - 690)) | (1 << (frameQLParser.FLOOR - 690)) | (1 << (frameQLParser.FORMAT - 690)) | (1 << (frameQLParser.FOUND_ROWS - 690)) | (1 << (frameQLParser.FROM_BASE64 - 690)) | (1 << (frameQLParser.FROM_DAYS - 690)) | (1 << (frameQLParser.FROM_UNIXTIME - 690)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 690)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYN - 690)) | (1 << (frameQLParser.GEOMETRYTYPE - 690)) | (1 << (frameQLParser.GEOMFROMTEXT - 690)) | (1 << (frameQLParser.GEOMFROMWKB - 690)) | (1 << (frameQLParser.GET_FORMAT - 690)) | (1 << (frameQLParser.GET_LOCK - 690)) | (1 << (frameQLParser.GLENGTH - 690)) | (1 << (frameQLParser.GREATEST - 690)) | (1 << (frameQLParser.GTID_SUBSET - 690)) | (1 << (frameQLParser.GTID_SUBTRACT - 690)) | (1 << (frameQLParser.HEX - 690)) | (1 << (frameQLParser.IFNULL - 690)) | (1 << (frameQLParser.INET6_ATON - 690)) | (1 << (frameQLParser.INET6_NTOA - 690)) | (1 << (frameQLParser.INET_ATON - 690)) | (1 << (frameQLParser.INET_NTOA - 690)) | (1 << (frameQLParser.INSTR - 690)) | (1 << (frameQLParser.INTERIORRINGN - 690)) | (1 << (frameQLParser.INTERSECTS - 690)) | (1 << (frameQLParser.ISCLOSED - 690)) | (1 << (frameQLParser.ISEMPTY - 690)) | (1 << (frameQLParser.ISNULL - 690)) | (1 << (frameQLParser.ISSIMPLE - 690)) | (1 << (frameQLParser.IS_FREE_LOCK - 690)) | (1 << (frameQLParser.IS_IPV4 - 690)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 690)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 690)) | (1 << (frameQLParser.IS_IPV6 - 690)) | (1 << (frameQLParser.IS_USED_LOCK - 690)) | (1 << (frameQLParser.LAST_INSERT_ID - 690)) | (1 << (frameQLParser.LCASE - 690)) | (1 << (frameQLParser.LEAST - 690)) | (1 << (frameQLParser.LENGTH - 690)) | (1 << (frameQLParser.LINEFROMTEXT - 690)) | (1 << (frameQLParser.LINEFROMWKB - 690)))) != 0) or ((((_la - 754)) & ~0x3f) == 0 and ((1 << (_la - 754)) & ((1 << (frameQLParser.LINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.LN - 754)) | (1 << (frameQLParser.LOAD_FILE - 754)) | (1 << (frameQLParser.LOCATE - 754)) | (1 << (frameQLParser.LOG - 754)) | (1 << (frameQLParser.LOG10 - 754)) | (1 << (frameQLParser.LOG2 - 754)) | (1 << (frameQLParser.LOWER - 754)) | (1 << (frameQLParser.LPAD - 754)) | (1 << (frameQLParser.LTRIM - 754)) | (1 << (frameQLParser.MAKEDATE - 754)) | (1 << (frameQLParser.MAKETIME - 754)) | (1 << (frameQLParser.MAKE_SET - 754)) | (1 << (frameQLParser.MASTER_POS_WAIT - 754)) | (1 << (frameQLParser.MBRCONTAINS - 754)) | (1 << (frameQLParser.MBRDISJOINT - 754)) | (1 << (frameQLParser.MBREQUAL - 754)) | (1 << (frameQLParser.MBRINTERSECTS - 754)) | (1 << (frameQLParser.MBROVERLAPS - 754)) | (1 << (frameQLParser.MBRTOUCHES - 754)) | (1 << (frameQLParser.MBRWITHIN - 754)) | (1 << (frameQLParser.MD5 - 754)) | (1 << (frameQLParser.MLINEFROMTEXT - 754)) | (1 << (frameQLParser.MLINEFROMWKB - 754)) | (1 << (frameQLParser.MONTHNAME - 754)) | (1 << (frameQLParser.MPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MPOINTFROMWKB - 754)) | (1 << (frameQLParser.MPOLYFROMTEXT - 754)) | (1 << (frameQLParser.MPOLYFROMWKB - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 754)) | (1 << (frameQLParser.NAME_CONST - 754)) | (1 << (frameQLParser.NULLIF - 754)) | (1 << (frameQLParser.NUMGEOMETRIES - 754)) | (1 << (frameQLParser.NUMINTERIORRINGS - 754)) | (1 << (frameQLParser.NUMPOINTS - 754)) | (1 << (frameQLParser.OCT - 754)) | (1 << (frameQLParser.OCTET_LENGTH - 754)) | (1 << (frameQLParser.ORD - 754)) | (1 << (frameQLParser.OVERLAPS - 754)) | (1 << (frameQLParser.PERIOD_ADD - 754)) | (1 << (frameQLParser.PERIOD_DIFF - 754)) | (1 << (frameQLParser.PI - 754)) | (1 << (frameQLParser.POINTFROMTEXT - 754)) | (1 << (frameQLParser.POINTFROMWKB - 754)) | (1 << (frameQLParser.POINTN - 754)) | (1 << (frameQLParser.POLYFROMTEXT - 754)) | (1 << (frameQLParser.POLYFROMWKB - 754)) | (1 << (frameQLParser.POLYGONFROMTEXT - 754)) | (1 << (frameQLParser.POLYGONFROMWKB - 754)) | (1 << (frameQLParser.POW - 754)) | (1 << (frameQLParser.POWER - 754)) | (1 << (frameQLParser.QUOTE - 754)) | (1 << (frameQLParser.RADIANS - 754)) | (1 << (frameQLParser.RAND - 754)) | (1 << (frameQLParser.RANDOM_BYTES - 754)) | (1 << (frameQLParser.RELEASE_LOCK - 754)) | (1 << (frameQLParser.REVERSE - 754)) | (1 << (frameQLParser.ROUND - 754)))) != 0) or ((((_la - 818)) & ~0x3f) == 0 and ((1 << (_la - 818)) & ((1 << (frameQLParser.ROW_COUNT - 818)) | (1 << (frameQLParser.RPAD - 818)) | (1 << (frameQLParser.RTRIM - 818)) | (1 << (frameQLParser.SEC_TO_TIME - 818)) | (1 << (frameQLParser.SESSION_USER - 818)) | (1 << (frameQLParser.SHA - 818)) | (1 << (frameQLParser.SHA1 - 818)) | (1 << (frameQLParser.SHA2 - 818)) | (1 << (frameQLParser.SIGN - 818)) | (1 << (frameQLParser.SIN - 818)) | (1 << (frameQLParser.SLEEP - 818)) | (1 << (frameQLParser.SOUNDEX - 818)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 818)) | (1 << (frameQLParser.SQRT - 818)) | (1 << (frameQLParser.SRID - 818)) | (1 << (frameQLParser.STARTPOINT - 818)) | (1 << (frameQLParser.STRCMP - 818)) | (1 << (frameQLParser.STR_TO_DATE - 818)) | (1 << (frameQLParser.ST_AREA - 818)) | (1 << (frameQLParser.ST_ASBINARY - 818)) | (1 << (frameQLParser.ST_ASTEXT - 818)) | (1 << (frameQLParser.ST_ASWKB - 818)) | (1 << (frameQLParser.ST_ASWKT - 818)) | (1 << (frameQLParser.ST_BUFFER - 818)) | (1 << (frameQLParser.ST_CENTROID - 818)) | (1 << (frameQLParser.ST_CONTAINS - 818)) | (1 << (frameQLParser.ST_CROSSES - 818)) | (1 << (frameQLParser.ST_DIFFERENCE - 818)) | (1 << (frameQLParser.ST_DIMENSION - 818)) | (1 << (frameQLParser.ST_DISJOINT - 818)) | (1 << (frameQLParser.ST_DISTANCE - 818)) | (1 << (frameQLParser.ST_ENDPOINT - 818)) | (1 << (frameQLParser.ST_ENVELOPE - 818)) | (1 << (frameQLParser.ST_EQUALS - 818)) | (1 << (frameQLParser.ST_EXTERIORRING - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYN - 818)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 818)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 818)) | (1 << (frameQLParser.ST_INTERIORRINGN - 818)) | (1 << (frameQLParser.ST_INTERSECTION - 818)) | (1 << (frameQLParser.ST_INTERSECTS - 818)) | (1 << (frameQLParser.ST_ISCLOSED - 818)) | (1 << (frameQLParser.ST_ISEMPTY - 818)) | (1 << (frameQLParser.ST_ISSIMPLE - 818)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINEFROMWKB - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 818)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 818)) | (1 << (frameQLParser.ST_NUMPOINTS - 818)) | (1 << (frameQLParser.ST_OVERLAPS - 818)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 818)) | (1 << (frameQLParser.ST_POINTFROMWKB - 818)) | (1 << (frameQLParser.ST_POINTN - 818)))) != 0) or ((((_la - 882)) & ~0x3f) == 0 and ((1 << (_la - 882)) & ((1 << (frameQLParser.ST_POLYFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYFROMWKB - 882)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 882)) | (1 << (frameQLParser.ST_SRID - 882)) | (1 << (frameQLParser.ST_STARTPOINT - 882)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 882)) | (1 << (frameQLParser.ST_TOUCHES - 882)) | (1 << (frameQLParser.ST_UNION - 882)) | (1 << (frameQLParser.ST_WITHIN - 882)) | (1 << (frameQLParser.ST_X - 882)) | (1 << (frameQLParser.ST_Y - 882)) | (1 << (frameQLParser.SUBDATE - 882)) | (1 << (frameQLParser.SUBSTRING_INDEX - 882)) | (1 << (frameQLParser.SUBTIME - 882)) | (1 << (frameQLParser.SYSTEM_USER - 882)) | (1 << (frameQLParser.TAN - 882)) | (1 << (frameQLParser.TIMEDIFF - 882)) | (1 << (frameQLParser.TIMESTAMPADD - 882)) | (1 << (frameQLParser.TIMESTAMPDIFF - 882)) | (1 << (frameQLParser.TIME_FORMAT - 882)) | (1 << (frameQLParser.TIME_TO_SEC - 882)) | (1 << (frameQLParser.TOUCHES - 882)) | (1 << (frameQLParser.TO_BASE64 - 882)) | (1 << (frameQLParser.TO_DAYS - 882)) | (1 << (frameQLParser.TO_SECONDS - 882)) | (1 << (frameQLParser.UCASE - 882)) | (1 << (frameQLParser.UNCOMPRESS - 882)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 882)) | (1 << (frameQLParser.UNHEX - 882)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 882)) | (1 << (frameQLParser.UPDATEXML - 882)) | (1 << (frameQLParser.UPPER - 882)) | (1 << (frameQLParser.UUID - 882)) | (1 << (frameQLParser.UUID_SHORT - 882)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 882)) | (1 << (frameQLParser.VERSION - 882)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 882)) | (1 << (frameQLParser.WEEKDAY - 882)) | (1 << (frameQLParser.WEEKOFYEAR - 882)) | (1 << (frameQLParser.WEIGHT_STRING - 882)) | (1 << (frameQLParser.WITHIN - 882)) | (1 << (frameQLParser.YEARWEEK - 882)) | (1 << (frameQLParser.Y_FUNCTION - 882)) | (1 << (frameQLParser.X_FUNCTION - 882)))) != 0) or ((((_la - 953)) & ~0x3f) == 0 and ((1 << (_la - 953)) & ((1 << (frameQLParser.LR_BRACKET - 953)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 953)) | (1 << (frameQLParser.STRING_LITERAL - 953)) | (1 << (frameQLParser.ID - 953)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 953)))) != 0)): - break - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AlterUserContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_alterUser - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class AlterUserMysqlV56Context(AlterUserContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterUserContext - super().__init__(parser) - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - def USER(self): - return self.getToken(frameQLParser.USER, 0) - def userSpecification(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserSpecificationContext) - else: - return self.getTypedRuleContext(frameQLParser.UserSpecificationContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterUserMysqlV56" ): - listener.enterAlterUserMysqlV56(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterUserMysqlV56" ): - listener.exitAlterUserMysqlV56(self) - - - class AlterUserMysqlV57Context(AlterUserContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterUserContext - super().__init__(parser) - self.tlsNone = None # Token - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - def USER(self): - return self.getToken(frameQLParser.USER, 0) - def userAuthOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserAuthOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.UserAuthOptionContext,i) - - def ifExists(self): - return self.getTypedRuleContext(frameQLParser.IfExistsContext,0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - def REQUIRE(self): - return self.getToken(frameQLParser.REQUIRE, 0) - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - def userPasswordOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserPasswordOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.UserPasswordOptionContext,i) - - def userLockOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserLockOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.UserLockOptionContext,i) - - def tlsOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TlsOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.TlsOptionContext,i) - - def NONE(self): - return self.getToken(frameQLParser.NONE, 0) - def userResourceOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserResourceOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.UserResourceOptionContext,i) - - def AND(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.AND) - else: - return self.getToken(frameQLParser.AND, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterUserMysqlV57" ): - listener.enterAlterUserMysqlV57(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterUserMysqlV57" ): - listener.exitAlterUserMysqlV57(self) - - - - def alterUser(self): - - localctx = frameQLParser.AlterUserContext(self, self._ctx, self.state) - self.enterRule(localctx, 384, self.RULE_alterUser) - self._la = 0 # Token type - try: - self.state = 4331 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,622,self._ctx) - if la_ == 1: - localctx = frameQLParser.AlterUserMysqlV56Context(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 4277 - self.match(frameQLParser.ALTER) - self.state = 4278 - self.match(frameQLParser.USER) - self.state = 4279 - self.userSpecification() - self.state = 4284 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4280 - self.match(frameQLParser.COMMA) - self.state = 4281 - self.userSpecification() - self.state = 4286 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 2: - localctx = frameQLParser.AlterUserMysqlV57Context(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 4287 - self.match(frameQLParser.ALTER) - self.state = 4288 - self.match(frameQLParser.USER) - self.state = 4290 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 4289 - self.ifExists() - - - self.state = 4292 - self.userAuthOption() - self.state = 4297 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4293 - self.match(frameQLParser.COMMA) - self.state = 4294 - self.userAuthOption() - self.state = 4299 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 4314 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.REQUIRE: - self.state = 4300 - self.match(frameQLParser.REQUIRE) - self.state = 4312 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.NONE]: - self.state = 4301 - localctx.tlsNone = self.match(frameQLParser.NONE) - pass - elif token in [frameQLParser.SSL, frameQLParser.CIPHER, frameQLParser.ISSUER, frameQLParser.SUBJECT, frameQLParser.X509]: - self.state = 4302 - self.tlsOption() - self.state = 4309 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.AND or _la==frameQLParser.SSL or _la==frameQLParser.CIPHER or _la==frameQLParser.ISSUER or _la==frameQLParser.SUBJECT or _la==frameQLParser.X509: - self.state = 4304 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AND: - self.state = 4303 - self.match(frameQLParser.AND) - - - self.state = 4306 - self.tlsOption() - self.state = 4311 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - else: - raise NoViableAltException(self) - - - - self.state = 4322 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WITH: - self.state = 4316 - self.match(frameQLParser.WITH) - self.state = 4318 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4317 - self.userResourceOption() - self.state = 4320 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 398)) & ~0x3f) == 0 and ((1 << (_la - 398)) & ((1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 398)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 398)))) != 0)): - break - - - - self.state = 4328 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.ACCOUNT or _la==frameQLParser.PASSWORD: - self.state = 4326 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.PASSWORD]: - self.state = 4324 - self.userPasswordOption() - pass - elif token in [frameQLParser.ACCOUNT]: - self.state = 4325 - self.userLockOption() - pass - else: - raise NoViableAltException(self) - - self.state = 4330 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CreateUserContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_createUser - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class CreateUserMysqlV57Context(CreateUserContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.CreateUserContext - super().__init__(parser) - self.tlsNone = None # Token - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - def USER(self): - return self.getToken(frameQLParser.USER, 0) - def userAuthOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserAuthOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.UserAuthOptionContext,i) - - def ifNotExists(self): - return self.getTypedRuleContext(frameQLParser.IfNotExistsContext,0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - def REQUIRE(self): - return self.getToken(frameQLParser.REQUIRE, 0) - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - def userPasswordOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserPasswordOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.UserPasswordOptionContext,i) - - def userLockOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserLockOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.UserLockOptionContext,i) - - def tlsOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TlsOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.TlsOptionContext,i) - - def NONE(self): - return self.getToken(frameQLParser.NONE, 0) - def userResourceOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserResourceOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.UserResourceOptionContext,i) - - def AND(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.AND) - else: - return self.getToken(frameQLParser.AND, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateUserMysqlV57" ): - listener.enterCreateUserMysqlV57(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateUserMysqlV57" ): - listener.exitCreateUserMysqlV57(self) - - - class CreateUserMysqlV56Context(CreateUserContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.CreateUserContext - super().__init__(parser) - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - def USER(self): - return self.getToken(frameQLParser.USER, 0) - def userAuthOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserAuthOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.UserAuthOptionContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateUserMysqlV56" ): - listener.enterCreateUserMysqlV56(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateUserMysqlV56" ): - listener.exitCreateUserMysqlV56(self) - - - - def createUser(self): - - localctx = frameQLParser.CreateUserContext(self, self._ctx, self.state) - self.enterRule(localctx, 386, self.RULE_createUser) - self._la = 0 # Token type - try: - self.state = 4387 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,634,self._ctx) - if la_ == 1: - localctx = frameQLParser.CreateUserMysqlV56Context(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 4333 - self.match(frameQLParser.CREATE) - self.state = 4334 - self.match(frameQLParser.USER) - self.state = 4335 - self.userAuthOption() - self.state = 4340 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4336 - self.match(frameQLParser.COMMA) - self.state = 4337 - self.userAuthOption() - self.state = 4342 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 2: - localctx = frameQLParser.CreateUserMysqlV57Context(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 4343 - self.match(frameQLParser.CREATE) - self.state = 4344 - self.match(frameQLParser.USER) - self.state = 4346 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 4345 - self.ifNotExists() - - - self.state = 4348 - self.userAuthOption() - self.state = 4353 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4349 - self.match(frameQLParser.COMMA) - self.state = 4350 - self.userAuthOption() - self.state = 4355 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 4370 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.REQUIRE: - self.state = 4356 - self.match(frameQLParser.REQUIRE) - self.state = 4368 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.NONE]: - self.state = 4357 - localctx.tlsNone = self.match(frameQLParser.NONE) - pass - elif token in [frameQLParser.SSL, frameQLParser.CIPHER, frameQLParser.ISSUER, frameQLParser.SUBJECT, frameQLParser.X509]: - self.state = 4358 - self.tlsOption() - self.state = 4365 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.AND or _la==frameQLParser.SSL or _la==frameQLParser.CIPHER or _la==frameQLParser.ISSUER or _la==frameQLParser.SUBJECT or _la==frameQLParser.X509: - self.state = 4360 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AND: - self.state = 4359 - self.match(frameQLParser.AND) - - - self.state = 4362 - self.tlsOption() - self.state = 4367 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - else: - raise NoViableAltException(self) - - - - self.state = 4378 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WITH: - self.state = 4372 - self.match(frameQLParser.WITH) - self.state = 4374 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4373 - self.userResourceOption() - self.state = 4376 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 398)) & ~0x3f) == 0 and ((1 << (_la - 398)) & ((1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 398)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 398)))) != 0)): - break - - - - self.state = 4384 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.ACCOUNT or _la==frameQLParser.PASSWORD: - self.state = 4382 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.PASSWORD]: - self.state = 4380 - self.userPasswordOption() - pass - elif token in [frameQLParser.ACCOUNT]: - self.state = 4381 - self.userLockOption() - pass - else: - raise NoViableAltException(self) - - self.state = 4386 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DropUserContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def USER(self): - return self.getToken(frameQLParser.USER, 0) - - def userName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserNameContext) - else: - return self.getTypedRuleContext(frameQLParser.UserNameContext,i) - - - def ifExists(self): - return self.getTypedRuleContext(frameQLParser.IfExistsContext,0) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_dropUser - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropUser" ): - listener.enterDropUser(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropUser" ): - listener.exitDropUser(self) - - - - - def dropUser(self): - - localctx = frameQLParser.DropUserContext(self, self._ctx, self.state) - self.enterRule(localctx, 388, self.RULE_dropUser) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4389 - self.match(frameQLParser.DROP) - self.state = 4390 - self.match(frameQLParser.USER) - self.state = 4392 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 4391 - self.ifExists() - - - self.state = 4394 - self.userName() - self.state = 4399 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4395 - self.match(frameQLParser.COMMA) - self.state = 4396 - self.userName() - self.state = 4401 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class GrantStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.privilegeObject = None # Token - self.tlsNone = None # Token - - def GRANT(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.GRANT) - else: - return self.getToken(frameQLParser.GRANT, i) - - def privelegeClause(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PrivelegeClauseContext) - else: - return self.getTypedRuleContext(frameQLParser.PrivelegeClauseContext,i) - - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - - def privilegeLevel(self): - return self.getTypedRuleContext(frameQLParser.PrivilegeLevelContext,0) - - - def TO(self): - return self.getToken(frameQLParser.TO, 0) - - def userAuthOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserAuthOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.UserAuthOptionContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def REQUIRE(self): - return self.getToken(frameQLParser.REQUIRE, 0) - - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def FUNCTION(self): - return self.getToken(frameQLParser.FUNCTION, 0) - - def PROCEDURE(self): - return self.getToken(frameQLParser.PROCEDURE, 0) - - def tlsOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TlsOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.TlsOptionContext,i) - - - def NONE(self): - return self.getToken(frameQLParser.NONE, 0) - - def OPTION(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.OPTION) - else: - return self.getToken(frameQLParser.OPTION, i) - - def userResourceOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserResourceOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.UserResourceOptionContext,i) - - - def AND(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.AND) - else: - return self.getToken(frameQLParser.AND, i) - - def getRuleIndex(self): - return frameQLParser.RULE_grantStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterGrantStatement" ): - listener.enterGrantStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitGrantStatement" ): - listener.exitGrantStatement(self) - - - - - def grantStatement(self): - - localctx = frameQLParser.GrantStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 390, self.RULE_grantStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4402 - self.match(frameQLParser.GRANT) - self.state = 4403 - self.privelegeClause() - self.state = 4408 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4404 - self.match(frameQLParser.COMMA) - self.state = 4405 - self.privelegeClause() - self.state = 4410 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 4411 - self.match(frameQLParser.ON) - self.state = 4413 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,638,self._ctx) - if la_ == 1: - self.state = 4412 - localctx.privilegeObject = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.PROCEDURE or _la==frameQLParser.TABLE or _la==frameQLParser.FUNCTION): - localctx.privilegeObject = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 4415 - self.privilegeLevel() - self.state = 4416 - self.match(frameQLParser.TO) - self.state = 4417 - self.userAuthOption() - self.state = 4422 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4418 - self.match(frameQLParser.COMMA) - self.state = 4419 - self.userAuthOption() - self.state = 4424 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 4439 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.REQUIRE: - self.state = 4425 - self.match(frameQLParser.REQUIRE) - self.state = 4437 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.NONE]: - self.state = 4426 - localctx.tlsNone = self.match(frameQLParser.NONE) - pass - elif token in [frameQLParser.SSL, frameQLParser.CIPHER, frameQLParser.ISSUER, frameQLParser.SUBJECT, frameQLParser.X509]: - self.state = 4427 - self.tlsOption() - self.state = 4434 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.AND or _la==frameQLParser.SSL or _la==frameQLParser.CIPHER or _la==frameQLParser.ISSUER or _la==frameQLParser.SUBJECT or _la==frameQLParser.X509: - self.state = 4429 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AND: - self.state = 4428 - self.match(frameQLParser.AND) - - - self.state = 4431 - self.tlsOption() - self.state = 4436 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - else: - raise NoViableAltException(self) - - - - self.state = 4450 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WITH: - self.state = 4441 - self.match(frameQLParser.WITH) - self.state = 4447 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.GRANT or ((((_la - 398)) & ~0x3f) == 0 and ((1 << (_la - 398)) & ((1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 398)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 398)))) != 0): - self.state = 4445 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.GRANT]: - self.state = 4442 - self.match(frameQLParser.GRANT) - self.state = 4443 - self.match(frameQLParser.OPTION) - pass - elif token in [frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS]: - self.state = 4444 - self.userResourceOption() - pass - else: - raise NoViableAltException(self) - - self.state = 4449 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class GrantProxyContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.fromFirst = None # UserNameContext - self.toFirst = None # UserNameContext - self._userName = None # UserNameContext - self.toOther = list() # of UserNameContexts - - def GRANT(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.GRANT) - else: - return self.getToken(frameQLParser.GRANT, i) - - def PROXY(self): - return self.getToken(frameQLParser.PROXY, 0) - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - - def TO(self): - return self.getToken(frameQLParser.TO, 0) - - def userName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserNameContext) - else: - return self.getTypedRuleContext(frameQLParser.UserNameContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - - def OPTION(self): - return self.getToken(frameQLParser.OPTION, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_grantProxy - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterGrantProxy" ): - listener.enterGrantProxy(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitGrantProxy" ): - listener.exitGrantProxy(self) - - - - - def grantProxy(self): - - localctx = frameQLParser.GrantProxyContext(self, self._ctx, self.state) - self.enterRule(localctx, 392, self.RULE_grantProxy) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4452 - self.match(frameQLParser.GRANT) - self.state = 4453 - self.match(frameQLParser.PROXY) - self.state = 4454 - self.match(frameQLParser.ON) - self.state = 4455 - localctx.fromFirst = self.userName() - self.state = 4456 - self.match(frameQLParser.TO) - self.state = 4457 - localctx.toFirst = self.userName() - self.state = 4462 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4458 - self.match(frameQLParser.COMMA) - self.state = 4459 - localctx._userName = self.userName() - localctx.toOther.append(localctx._userName) - self.state = 4464 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 4468 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WITH: - self.state = 4465 - self.match(frameQLParser.WITH) - self.state = 4466 - self.match(frameQLParser.GRANT) - self.state = 4467 - self.match(frameQLParser.OPTION) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class RenameUserContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def RENAME(self): - return self.getToken(frameQLParser.RENAME, 0) - - def USER(self): - return self.getToken(frameQLParser.USER, 0) - - def renameUserClause(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.RenameUserClauseContext) - else: - return self.getTypedRuleContext(frameQLParser.RenameUserClauseContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_renameUser - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRenameUser" ): - listener.enterRenameUser(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRenameUser" ): - listener.exitRenameUser(self) - - - - - def renameUser(self): - - localctx = frameQLParser.RenameUserContext(self, self._ctx, self.state) - self.enterRule(localctx, 394, self.RULE_renameUser) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4470 - self.match(frameQLParser.RENAME) - self.state = 4471 - self.match(frameQLParser.USER) - self.state = 4472 - self.renameUserClause() - self.state = 4477 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4473 - self.match(frameQLParser.COMMA) - self.state = 4474 - self.renameUserClause() - self.state = 4479 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class RevokeStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_revokeStatement - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class DetailRevokeContext(RevokeStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.RevokeStatementContext - super().__init__(parser) - self.privilegeObject = None # Token - self.copyFrom(ctx) - - def REVOKE(self): - return self.getToken(frameQLParser.REVOKE, 0) - def privelegeClause(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PrivelegeClauseContext) - else: - return self.getTypedRuleContext(frameQLParser.PrivelegeClauseContext,i) - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - def privilegeLevel(self): - return self.getTypedRuleContext(frameQLParser.PrivilegeLevelContext,0) - - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - def userName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserNameContext) - else: - return self.getTypedRuleContext(frameQLParser.UserNameContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - def FUNCTION(self): - return self.getToken(frameQLParser.FUNCTION, 0) - def PROCEDURE(self): - return self.getToken(frameQLParser.PROCEDURE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDetailRevoke" ): - listener.enterDetailRevoke(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDetailRevoke" ): - listener.exitDetailRevoke(self) - - - class ShortRevokeContext(RevokeStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.RevokeStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def REVOKE(self): - return self.getToken(frameQLParser.REVOKE, 0) - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - def GRANT(self): - return self.getToken(frameQLParser.GRANT, 0) - def OPTION(self): - return self.getToken(frameQLParser.OPTION, 0) - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - def userName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserNameContext) - else: - return self.getTypedRuleContext(frameQLParser.UserNameContext,i) - - def PRIVILEGES(self): - return self.getToken(frameQLParser.PRIVILEGES, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShortRevoke" ): - listener.enterShortRevoke(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShortRevoke" ): - listener.exitShortRevoke(self) - - - - def revokeStatement(self): - - localctx = frameQLParser.RevokeStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 396, self.RULE_revokeStatement) - self._la = 0 # Token type - try: - self.state = 4520 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,655,self._ctx) - if la_ == 1: - localctx = frameQLParser.DetailRevokeContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 4480 - self.match(frameQLParser.REVOKE) - self.state = 4481 - self.privelegeClause() - self.state = 4486 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4482 - self.match(frameQLParser.COMMA) - self.state = 4483 - self.privelegeClause() - self.state = 4488 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 4489 - self.match(frameQLParser.ON) - self.state = 4491 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,651,self._ctx) - if la_ == 1: - self.state = 4490 - localctx.privilegeObject = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.PROCEDURE or _la==frameQLParser.TABLE or _la==frameQLParser.FUNCTION): - localctx.privilegeObject = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 4493 - self.privilegeLevel() - self.state = 4494 - self.match(frameQLParser.FROM) - self.state = 4495 - self.userName() - self.state = 4500 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4496 - self.match(frameQLParser.COMMA) - self.state = 4497 - self.userName() - self.state = 4502 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 2: - localctx = frameQLParser.ShortRevokeContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 4503 - self.match(frameQLParser.REVOKE) - self.state = 4504 - self.match(frameQLParser.ALL) - self.state = 4506 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PRIVILEGES: - self.state = 4505 - self.match(frameQLParser.PRIVILEGES) - - - self.state = 4508 - self.match(frameQLParser.COMMA) - self.state = 4509 - self.match(frameQLParser.GRANT) - self.state = 4510 - self.match(frameQLParser.OPTION) - self.state = 4511 - self.match(frameQLParser.FROM) - self.state = 4512 - self.userName() - self.state = 4517 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4513 - self.match(frameQLParser.COMMA) - self.state = 4514 - self.userName() - self.state = 4519 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class RevokeProxyContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.onUser = None # UserNameContext - self.fromFirst = None # UserNameContext - self._userName = None # UserNameContext - self.fromOther = list() # of UserNameContexts - - def REVOKE(self): - return self.getToken(frameQLParser.REVOKE, 0) - - def PROXY(self): - return self.getToken(frameQLParser.PROXY, 0) - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - - def userName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserNameContext) - else: - return self.getTypedRuleContext(frameQLParser.UserNameContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_revokeProxy - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRevokeProxy" ): - listener.enterRevokeProxy(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRevokeProxy" ): - listener.exitRevokeProxy(self) - - - - - def revokeProxy(self): - - localctx = frameQLParser.RevokeProxyContext(self, self._ctx, self.state) - self.enterRule(localctx, 398, self.RULE_revokeProxy) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4522 - self.match(frameQLParser.REVOKE) - self.state = 4523 - self.match(frameQLParser.PROXY) - self.state = 4524 - self.match(frameQLParser.ON) - self.state = 4525 - localctx.onUser = self.userName() - self.state = 4526 - self.match(frameQLParser.FROM) - self.state = 4527 - localctx.fromFirst = self.userName() - self.state = 4532 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4528 - self.match(frameQLParser.COMMA) - self.state = 4529 - localctx._userName = self.userName() - localctx.fromOther.append(localctx._userName) - self.state = 4534 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SetPasswordStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - - def PASSWORD(self): - return self.getToken(frameQLParser.PASSWORD, 0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def passwordFunctionClause(self): - return self.getTypedRuleContext(frameQLParser.PasswordFunctionClauseContext,0) - - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def userName(self): - return self.getTypedRuleContext(frameQLParser.UserNameContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_setPasswordStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetPasswordStatement" ): - listener.enterSetPasswordStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetPasswordStatement" ): - listener.exitSetPasswordStatement(self) - - - - - def setPasswordStatement(self): - - localctx = frameQLParser.SetPasswordStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 400, self.RULE_setPasswordStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4535 - self.match(frameQLParser.SET) - self.state = 4536 - self.match(frameQLParser.PASSWORD) - self.state = 4539 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR: - self.state = 4537 - self.match(frameQLParser.FOR) - self.state = 4538 - self.userName() - - - self.state = 4541 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 4544 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.OLD_PASSWORD, frameQLParser.PASSWORD]: - self.state = 4542 - self.passwordFunctionClause() - pass - elif token in [frameQLParser.STRING_LITERAL]: - self.state = 4543 - self.match(frameQLParser.STRING_LITERAL) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class UserSpecificationContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def userName(self): - return self.getTypedRuleContext(frameQLParser.UserNameContext,0) - - - def userPasswordOption(self): - return self.getTypedRuleContext(frameQLParser.UserPasswordOptionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_userSpecification - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUserSpecification" ): - listener.enterUserSpecification(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUserSpecification" ): - listener.exitUserSpecification(self) - - - - - def userSpecification(self): - - localctx = frameQLParser.UserSpecificationContext(self, self._ctx, self.state) - self.enterRule(localctx, 402, self.RULE_userSpecification) - try: - self.enterOuterAlt(localctx, 1) - self.state = 4546 - self.userName() - self.state = 4547 - self.userPasswordOption() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class UserAuthOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_userAuthOption - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class SimpleAuthOptionContext(UserAuthOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.UserAuthOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def userName(self): - return self.getTypedRuleContext(frameQLParser.UserNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSimpleAuthOption" ): - listener.enterSimpleAuthOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSimpleAuthOption" ): - listener.exitSimpleAuthOption(self) - - - class PasswordAuthOptionContext(UserAuthOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.UserAuthOptionContext - super().__init__(parser) - self.hashed = None # Token - self.copyFrom(ctx) - - def userName(self): - return self.getTypedRuleContext(frameQLParser.UserNameContext,0) - - def IDENTIFIED(self): - return self.getToken(frameQLParser.IDENTIFIED, 0) - def BY(self): - return self.getToken(frameQLParser.BY, 0) - def PASSWORD(self): - return self.getToken(frameQLParser.PASSWORD, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPasswordAuthOption" ): - listener.enterPasswordAuthOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPasswordAuthOption" ): - listener.exitPasswordAuthOption(self) - - - class StringAuthOptionContext(UserAuthOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.UserAuthOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def userName(self): - return self.getTypedRuleContext(frameQLParser.UserNameContext,0) - - def IDENTIFIED(self): - return self.getToken(frameQLParser.IDENTIFIED, 0) - def BY(self): - return self.getToken(frameQLParser.BY, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - def authPlugin(self): - return self.getTypedRuleContext(frameQLParser.AuthPluginContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStringAuthOption" ): - listener.enterStringAuthOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStringAuthOption" ): - listener.exitStringAuthOption(self) - - - class HashAuthOptionContext(UserAuthOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.UserAuthOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def userName(self): - return self.getTypedRuleContext(frameQLParser.UserNameContext,0) - - def IDENTIFIED(self): - return self.getToken(frameQLParser.IDENTIFIED, 0) - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - def authPlugin(self): - return self.getTypedRuleContext(frameQLParser.AuthPluginContext,0) - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHashAuthOption" ): - listener.enterHashAuthOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHashAuthOption" ): - listener.exitHashAuthOption(self) - - - - def userAuthOption(self): - - localctx = frameQLParser.UserAuthOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 404, self.RULE_userAuthOption) - self._la = 0 # Token type - try: - self.state = 4573 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,661,self._ctx) - if la_ == 1: - localctx = frameQLParser.PasswordAuthOptionContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 4549 - self.userName() - self.state = 4550 - self.match(frameQLParser.IDENTIFIED) - self.state = 4551 - self.match(frameQLParser.BY) - self.state = 4552 - self.match(frameQLParser.PASSWORD) - self.state = 4553 - localctx.hashed = self.match(frameQLParser.STRING_LITERAL) - pass - - elif la_ == 2: - localctx = frameQLParser.StringAuthOptionContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 4555 - self.userName() - self.state = 4556 - self.match(frameQLParser.IDENTIFIED) - self.state = 4559 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WITH: - self.state = 4557 - self.match(frameQLParser.WITH) - self.state = 4558 - self.authPlugin() - - - self.state = 4561 - self.match(frameQLParser.BY) - self.state = 4562 - self.match(frameQLParser.STRING_LITERAL) - pass - - elif la_ == 3: - localctx = frameQLParser.HashAuthOptionContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 4564 - self.userName() - self.state = 4565 - self.match(frameQLParser.IDENTIFIED) - self.state = 4566 - self.match(frameQLParser.WITH) - self.state = 4567 - self.authPlugin() - self.state = 4570 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS: - self.state = 4568 - self.match(frameQLParser.AS) - self.state = 4569 - self.match(frameQLParser.STRING_LITERAL) - - - pass - - elif la_ == 4: - localctx = frameQLParser.SimpleAuthOptionContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 4572 - self.userName() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TlsOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def SSL(self): - return self.getToken(frameQLParser.SSL, 0) - - def X509(self): - return self.getToken(frameQLParser.X509, 0) - - def CIPHER(self): - return self.getToken(frameQLParser.CIPHER, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def ISSUER(self): - return self.getToken(frameQLParser.ISSUER, 0) - - def SUBJECT(self): - return self.getToken(frameQLParser.SUBJECT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_tlsOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTlsOption" ): - listener.enterTlsOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTlsOption" ): - listener.exitTlsOption(self) - - - - - def tlsOption(self): - - localctx = frameQLParser.TlsOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 406, self.RULE_tlsOption) - try: - self.state = 4583 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.SSL]: - self.enterOuterAlt(localctx, 1) - self.state = 4575 - self.match(frameQLParser.SSL) - pass - elif token in [frameQLParser.X509]: - self.enterOuterAlt(localctx, 2) - self.state = 4576 - self.match(frameQLParser.X509) - pass - elif token in [frameQLParser.CIPHER]: - self.enterOuterAlt(localctx, 3) - self.state = 4577 - self.match(frameQLParser.CIPHER) - self.state = 4578 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.ISSUER]: - self.enterOuterAlt(localctx, 4) - self.state = 4579 - self.match(frameQLParser.ISSUER) - self.state = 4580 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.SUBJECT]: - self.enterOuterAlt(localctx, 5) - self.state = 4581 - self.match(frameQLParser.SUBJECT) - self.state = 4582 - self.match(frameQLParser.STRING_LITERAL) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class UserResourceOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def MAX_QUERIES_PER_HOUR(self): - return self.getToken(frameQLParser.MAX_QUERIES_PER_HOUR, 0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def MAX_UPDATES_PER_HOUR(self): - return self.getToken(frameQLParser.MAX_UPDATES_PER_HOUR, 0) - - def MAX_CONNECTIONS_PER_HOUR(self): - return self.getToken(frameQLParser.MAX_CONNECTIONS_PER_HOUR, 0) - - def MAX_USER_CONNECTIONS(self): - return self.getToken(frameQLParser.MAX_USER_CONNECTIONS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_userResourceOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUserResourceOption" ): - listener.enterUserResourceOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUserResourceOption" ): - listener.exitUserResourceOption(self) - - - - - def userResourceOption(self): - - localctx = frameQLParser.UserResourceOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 408, self.RULE_userResourceOption) - try: - self.state = 4593 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.MAX_QUERIES_PER_HOUR]: - self.enterOuterAlt(localctx, 1) - self.state = 4585 - self.match(frameQLParser.MAX_QUERIES_PER_HOUR) - self.state = 4586 - self.decimalLiteral() - pass - elif token in [frameQLParser.MAX_UPDATES_PER_HOUR]: - self.enterOuterAlt(localctx, 2) - self.state = 4587 - self.match(frameQLParser.MAX_UPDATES_PER_HOUR) - self.state = 4588 - self.decimalLiteral() - pass - elif token in [frameQLParser.MAX_CONNECTIONS_PER_HOUR]: - self.enterOuterAlt(localctx, 3) - self.state = 4589 - self.match(frameQLParser.MAX_CONNECTIONS_PER_HOUR) - self.state = 4590 - self.decimalLiteral() - pass - elif token in [frameQLParser.MAX_USER_CONNECTIONS]: - self.enterOuterAlt(localctx, 4) - self.state = 4591 - self.match(frameQLParser.MAX_USER_CONNECTIONS) - self.state = 4592 - self.decimalLiteral() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class UserPasswordOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.expireType = None # Token - - def PASSWORD(self): - return self.getToken(frameQLParser.PASSWORD, 0) - - def EXPIRE(self): - return self.getToken(frameQLParser.EXPIRE, 0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def DAY(self): - return self.getToken(frameQLParser.DAY, 0) - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def NEVER(self): - return self.getToken(frameQLParser.NEVER, 0) - - def INTERVAL(self): - return self.getToken(frameQLParser.INTERVAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_userPasswordOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUserPasswordOption" ): - listener.enterUserPasswordOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUserPasswordOption" ): - listener.exitUserPasswordOption(self) - - - - - def userPasswordOption(self): - - localctx = frameQLParser.UserPasswordOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 410, self.RULE_userPasswordOption) - try: - self.enterOuterAlt(localctx, 1) - self.state = 4595 - self.match(frameQLParser.PASSWORD) - self.state = 4596 - self.match(frameQLParser.EXPIRE) - self.state = 4603 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DEFAULT]: - self.state = 4597 - localctx.expireType = self.match(frameQLParser.DEFAULT) - pass - elif token in [frameQLParser.NEVER]: - self.state = 4598 - localctx.expireType = self.match(frameQLParser.NEVER) - pass - elif token in [frameQLParser.INTERVAL]: - self.state = 4599 - localctx.expireType = self.match(frameQLParser.INTERVAL) - self.state = 4600 - self.decimalLiteral() - self.state = 4601 - self.match(frameQLParser.DAY) - pass - elif token in [frameQLParser.EOF, frameQLParser.ACCOUNT, frameQLParser.PASSWORD, frameQLParser.MINUSMINUS, frameQLParser.COMMA, frameQLParser.SEMI]: - pass - else: - pass - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class UserLockOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.lockType = None # Token - - def ACCOUNT(self): - return self.getToken(frameQLParser.ACCOUNT, 0) - - def LOCK(self): - return self.getToken(frameQLParser.LOCK, 0) - - def UNLOCK(self): - return self.getToken(frameQLParser.UNLOCK, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_userLockOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUserLockOption" ): - listener.enterUserLockOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUserLockOption" ): - listener.exitUserLockOption(self) - - - - - def userLockOption(self): - - localctx = frameQLParser.UserLockOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 412, self.RULE_userLockOption) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4605 - self.match(frameQLParser.ACCOUNT) - self.state = 4606 - localctx.lockType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.LOCK or _la==frameQLParser.UNLOCK): - localctx.lockType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class PrivelegeClauseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def privilege(self): - return self.getTypedRuleContext(frameQLParser.PrivilegeContext,0) - - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_privelegeClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPrivelegeClause" ): - listener.enterPrivelegeClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPrivelegeClause" ): - listener.exitPrivelegeClause(self) - - - - - def privelegeClause(self): - - localctx = frameQLParser.PrivelegeClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 414, self.RULE_privelegeClause) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4608 - self.privilege() - self.state = 4613 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 4609 - self.match(frameQLParser.LR_BRACKET) - self.state = 4610 - self.uidList() - self.state = 4611 - self.match(frameQLParser.RR_BRACKET) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class PrivilegeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def PRIVILEGES(self): - return self.getToken(frameQLParser.PRIVILEGES, 0) - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - - def ROUTINE(self): - return self.getToken(frameQLParser.ROUTINE, 0) - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def TEMPORARY(self): - return self.getToken(frameQLParser.TEMPORARY, 0) - - def TABLES(self): - return self.getToken(frameQLParser.TABLES, 0) - - def VIEW(self): - return self.getToken(frameQLParser.VIEW, 0) - - def USER(self): - return self.getToken(frameQLParser.USER, 0) - - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - - def DELETE(self): - return self.getToken(frameQLParser.DELETE, 0) - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def EVENT(self): - return self.getToken(frameQLParser.EVENT, 0) - - def EXECUTE(self): - return self.getToken(frameQLParser.EXECUTE, 0) - - def FILE(self): - return self.getToken(frameQLParser.FILE, 0) - - def GRANT(self): - return self.getToken(frameQLParser.GRANT, 0) - - def OPTION(self): - return self.getToken(frameQLParser.OPTION, 0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - - def INSERT(self): - return self.getToken(frameQLParser.INSERT, 0) - - def LOCK(self): - return self.getToken(frameQLParser.LOCK, 0) - - def PROCESS(self): - return self.getToken(frameQLParser.PROCESS, 0) - - def PROXY(self): - return self.getToken(frameQLParser.PROXY, 0) - - def REFERENCES(self): - return self.getToken(frameQLParser.REFERENCES, 0) - - def RELOAD(self): - return self.getToken(frameQLParser.RELOAD, 0) - - def REPLICATION(self): - return self.getToken(frameQLParser.REPLICATION, 0) - - def CLIENT(self): - return self.getToken(frameQLParser.CLIENT, 0) - - def SLAVE(self): - return self.getToken(frameQLParser.SLAVE, 0) - - def SELECT(self): - return self.getToken(frameQLParser.SELECT, 0) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - - def DATABASES(self): - return self.getToken(frameQLParser.DATABASES, 0) - - def SHUTDOWN(self): - return self.getToken(frameQLParser.SHUTDOWN, 0) - - def SUPER(self): - return self.getToken(frameQLParser.SUPER, 0) - - def TRIGGER(self): - return self.getToken(frameQLParser.TRIGGER, 0) - - def UPDATE(self): - return self.getToken(frameQLParser.UPDATE, 0) - - def USAGE(self): - return self.getToken(frameQLParser.USAGE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_privilege - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPrivilege" ): - listener.enterPrivilege(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPrivilege" ): - listener.exitPrivilege(self) - - - - - def privilege(self): - - localctx = frameQLParser.PrivilegeContext(self, self._ctx, self.state) - self.enterRule(localctx, 416, self.RULE_privilege) - self._la = 0 # Token type - try: - self.state = 4657 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ALL]: - self.enterOuterAlt(localctx, 1) - self.state = 4615 - self.match(frameQLParser.ALL) - self.state = 4617 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PRIVILEGES: - self.state = 4616 - self.match(frameQLParser.PRIVILEGES) - - - pass - elif token in [frameQLParser.ALTER]: - self.enterOuterAlt(localctx, 2) - self.state = 4619 - self.match(frameQLParser.ALTER) - self.state = 4621 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ROUTINE: - self.state = 4620 - self.match(frameQLParser.ROUTINE) - - - pass - elif token in [frameQLParser.CREATE]: - self.enterOuterAlt(localctx, 3) - self.state = 4623 - self.match(frameQLParser.CREATE) - self.state = 4630 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.TEMPORARY]: - self.state = 4624 - self.match(frameQLParser.TEMPORARY) - self.state = 4625 - self.match(frameQLParser.TABLES) - pass - elif token in [frameQLParser.ROUTINE]: - self.state = 4626 - self.match(frameQLParser.ROUTINE) - pass - elif token in [frameQLParser.VIEW]: - self.state = 4627 - self.match(frameQLParser.VIEW) - pass - elif token in [frameQLParser.USER]: - self.state = 4628 - self.match(frameQLParser.USER) - pass - elif token in [frameQLParser.TABLESPACE]: - self.state = 4629 - self.match(frameQLParser.TABLESPACE) - pass - elif token in [frameQLParser.ON, frameQLParser.LR_BRACKET, frameQLParser.COMMA]: - pass - else: - pass - pass - elif token in [frameQLParser.DELETE]: - self.enterOuterAlt(localctx, 4) - self.state = 4632 - self.match(frameQLParser.DELETE) - pass - elif token in [frameQLParser.DROP]: - self.enterOuterAlt(localctx, 5) - self.state = 4633 - self.match(frameQLParser.DROP) - pass - elif token in [frameQLParser.EVENT]: - self.enterOuterAlt(localctx, 6) - self.state = 4634 - self.match(frameQLParser.EVENT) - pass - elif token in [frameQLParser.EXECUTE]: - self.enterOuterAlt(localctx, 7) - self.state = 4635 - self.match(frameQLParser.EXECUTE) - pass - elif token in [frameQLParser.FILE]: - self.enterOuterAlt(localctx, 8) - self.state = 4636 - self.match(frameQLParser.FILE) - pass - elif token in [frameQLParser.GRANT]: - self.enterOuterAlt(localctx, 9) - self.state = 4637 - self.match(frameQLParser.GRANT) - self.state = 4638 - self.match(frameQLParser.OPTION) - pass - elif token in [frameQLParser.INDEX]: - self.enterOuterAlt(localctx, 10) - self.state = 4639 - self.match(frameQLParser.INDEX) - pass - elif token in [frameQLParser.INSERT]: - self.enterOuterAlt(localctx, 11) - self.state = 4640 - self.match(frameQLParser.INSERT) - pass - elif token in [frameQLParser.LOCK]: - self.enterOuterAlt(localctx, 12) - self.state = 4641 - self.match(frameQLParser.LOCK) - self.state = 4642 - self.match(frameQLParser.TABLES) - pass - elif token in [frameQLParser.PROCESS]: - self.enterOuterAlt(localctx, 13) - self.state = 4643 - self.match(frameQLParser.PROCESS) - pass - elif token in [frameQLParser.PROXY]: - self.enterOuterAlt(localctx, 14) - self.state = 4644 - self.match(frameQLParser.PROXY) - pass - elif token in [frameQLParser.REFERENCES]: - self.enterOuterAlt(localctx, 15) - self.state = 4645 - self.match(frameQLParser.REFERENCES) - pass - elif token in [frameQLParser.RELOAD]: - self.enterOuterAlt(localctx, 16) - self.state = 4646 - self.match(frameQLParser.RELOAD) - pass - elif token in [frameQLParser.REPLICATION]: - self.enterOuterAlt(localctx, 17) - self.state = 4647 - self.match(frameQLParser.REPLICATION) - self.state = 4648 - _la = self._input.LA(1) - if not(_la==frameQLParser.CLIENT or _la==frameQLParser.SLAVE): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - elif token in [frameQLParser.SELECT]: - self.enterOuterAlt(localctx, 18) - self.state = 4649 - self.match(frameQLParser.SELECT) - pass - elif token in [frameQLParser.SHOW]: - self.enterOuterAlt(localctx, 19) - self.state = 4650 - self.match(frameQLParser.SHOW) - self.state = 4651 - _la = self._input.LA(1) - if not(_la==frameQLParser.DATABASES or _la==frameQLParser.VIEW): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - elif token in [frameQLParser.SHUTDOWN]: - self.enterOuterAlt(localctx, 20) - self.state = 4652 - self.match(frameQLParser.SHUTDOWN) - pass - elif token in [frameQLParser.SUPER]: - self.enterOuterAlt(localctx, 21) - self.state = 4653 - self.match(frameQLParser.SUPER) - pass - elif token in [frameQLParser.TRIGGER]: - self.enterOuterAlt(localctx, 22) - self.state = 4654 - self.match(frameQLParser.TRIGGER) - pass - elif token in [frameQLParser.UPDATE]: - self.enterOuterAlt(localctx, 23) - self.state = 4655 - self.match(frameQLParser.UPDATE) - pass - elif token in [frameQLParser.USAGE]: - self.enterOuterAlt(localctx, 24) - self.state = 4656 - self.match(frameQLParser.USAGE) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class PrivilegeLevelContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_privilegeLevel - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class DefiniteSchemaPrivLevelContext(PrivilegeLevelContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PrivilegeLevelContext - super().__init__(parser) - self.copyFrom(ctx) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def DOT(self): - return self.getToken(frameQLParser.DOT, 0) - def STAR(self): - return self.getToken(frameQLParser.STAR, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDefiniteSchemaPrivLevel" ): - listener.enterDefiniteSchemaPrivLevel(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDefiniteSchemaPrivLevel" ): - listener.exitDefiniteSchemaPrivLevel(self) - - - class DefiniteFullTablePrivLevelContext(PrivilegeLevelContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PrivilegeLevelContext - super().__init__(parser) - self.copyFrom(ctx) - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - def DOT(self): - return self.getToken(frameQLParser.DOT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDefiniteFullTablePrivLevel" ): - listener.enterDefiniteFullTablePrivLevel(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDefiniteFullTablePrivLevel" ): - listener.exitDefiniteFullTablePrivLevel(self) - - - class GlobalPrivLevelContext(PrivilegeLevelContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PrivilegeLevelContext - super().__init__(parser) - self.copyFrom(ctx) - - def STAR(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.STAR) - else: - return self.getToken(frameQLParser.STAR, i) - def DOT(self): - return self.getToken(frameQLParser.DOT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterGlobalPrivLevel" ): - listener.enterGlobalPrivLevel(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitGlobalPrivLevel" ): - listener.exitGlobalPrivLevel(self) - - - class DefiniteTablePrivLevelContext(PrivilegeLevelContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PrivilegeLevelContext - super().__init__(parser) - self.copyFrom(ctx) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDefiniteTablePrivLevel" ): - listener.enterDefiniteTablePrivLevel(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDefiniteTablePrivLevel" ): - listener.exitDefiniteTablePrivLevel(self) - - - class CurrentSchemaPriviLevelContext(PrivilegeLevelContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PrivilegeLevelContext - super().__init__(parser) - self.copyFrom(ctx) - - def STAR(self): - return self.getToken(frameQLParser.STAR, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCurrentSchemaPriviLevel" ): - listener.enterCurrentSchemaPriviLevel(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCurrentSchemaPriviLevel" ): - listener.exitCurrentSchemaPriviLevel(self) - - - - def privilegeLevel(self): - - localctx = frameQLParser.PrivilegeLevelContext(self, self._ctx, self.state) - self.enterRule(localctx, 418, self.RULE_privilegeLevel) - try: - self.state = 4672 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,670,self._ctx) - if la_ == 1: - localctx = frameQLParser.CurrentSchemaPriviLevelContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 4659 - self.match(frameQLParser.STAR) - pass - - elif la_ == 2: - localctx = frameQLParser.GlobalPrivLevelContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 4660 - self.match(frameQLParser.STAR) - self.state = 4661 - self.match(frameQLParser.DOT) - self.state = 4662 - self.match(frameQLParser.STAR) - pass - - elif la_ == 3: - localctx = frameQLParser.DefiniteSchemaPrivLevelContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 4663 - self.uid() - self.state = 4664 - self.match(frameQLParser.DOT) - self.state = 4665 - self.match(frameQLParser.STAR) - pass - - elif la_ == 4: - localctx = frameQLParser.DefiniteFullTablePrivLevelContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 4667 - self.uid() - self.state = 4668 - self.match(frameQLParser.DOT) - self.state = 4669 - self.uid() - pass - - elif la_ == 5: - localctx = frameQLParser.DefiniteTablePrivLevelContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 4671 - self.uid() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class RenameUserClauseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.fromFirst = None # UserNameContext - self.toFirst = None # UserNameContext - - def TO(self): - return self.getToken(frameQLParser.TO, 0) - - def userName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserNameContext) - else: - return self.getTypedRuleContext(frameQLParser.UserNameContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_renameUserClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRenameUserClause" ): - listener.enterRenameUserClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRenameUserClause" ): - listener.exitRenameUserClause(self) - - - - - def renameUserClause(self): - - localctx = frameQLParser.RenameUserClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 420, self.RULE_renameUserClause) - try: - self.enterOuterAlt(localctx, 1) - self.state = 4674 - localctx.fromFirst = self.userName() - self.state = 4675 - self.match(frameQLParser.TO) - self.state = 4676 - localctx.toFirst = self.userName() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AnalyzeTableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.actionOption = None # Token - - def ANALYZE(self): - return self.getToken(frameQLParser.ANALYZE, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def tables(self): - return self.getTypedRuleContext(frameQLParser.TablesContext,0) - - - def NO_WRITE_TO_BINLOG(self): - return self.getToken(frameQLParser.NO_WRITE_TO_BINLOG, 0) - - def LOCAL(self): - return self.getToken(frameQLParser.LOCAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_analyzeTable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAnalyzeTable" ): - listener.enterAnalyzeTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAnalyzeTable" ): - listener.exitAnalyzeTable(self) - - - - - def analyzeTable(self): - - localctx = frameQLParser.AnalyzeTableContext(self, self._ctx, self.state) - self.enterRule(localctx, 422, self.RULE_analyzeTable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4678 - self.match(frameQLParser.ANALYZE) - self.state = 4680 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NO_WRITE_TO_BINLOG or _la==frameQLParser.LOCAL: - self.state = 4679 - localctx.actionOption = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.NO_WRITE_TO_BINLOG or _la==frameQLParser.LOCAL): - localctx.actionOption = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 4682 - self.match(frameQLParser.TABLE) - self.state = 4683 - self.tables() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CheckTableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CHECK(self): - return self.getToken(frameQLParser.CHECK, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def tables(self): - return self.getTypedRuleContext(frameQLParser.TablesContext,0) - - - def checkTableOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.CheckTableOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.CheckTableOptionContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_checkTable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCheckTable" ): - listener.enterCheckTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCheckTable" ): - listener.exitCheckTable(self) - - - - - def checkTable(self): - - localctx = frameQLParser.CheckTableContext(self, self._ctx, self.state) - self.enterRule(localctx, 424, self.RULE_checkTable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4685 - self.match(frameQLParser.CHECK) - self.state = 4686 - self.match(frameQLParser.TABLE) - self.state = 4687 - self.tables() - self.state = 4691 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.FOR or ((((_la - 272)) & ~0x3f) == 0 and ((1 << (_la - 272)) & ((1 << (frameQLParser.CHANGED - 272)) | (1 << (frameQLParser.EXTENDED - 272)) | (1 << (frameQLParser.FAST - 272)))) != 0) or _la==frameQLParser.MEDIUM or _la==frameQLParser.QUICK: - self.state = 4688 - self.checkTableOption() - self.state = 4693 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ChecksumTableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.actionOption = None # Token - - def CHECKSUM(self): - return self.getToken(frameQLParser.CHECKSUM, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def tables(self): - return self.getTypedRuleContext(frameQLParser.TablesContext,0) - - - def QUICK(self): - return self.getToken(frameQLParser.QUICK, 0) - - def EXTENDED(self): - return self.getToken(frameQLParser.EXTENDED, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_checksumTable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterChecksumTable" ): - listener.enterChecksumTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitChecksumTable" ): - listener.exitChecksumTable(self) - - - - - def checksumTable(self): - - localctx = frameQLParser.ChecksumTableContext(self, self._ctx, self.state) - self.enterRule(localctx, 426, self.RULE_checksumTable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4694 - self.match(frameQLParser.CHECKSUM) - self.state = 4695 - self.match(frameQLParser.TABLE) - self.state = 4696 - self.tables() - self.state = 4698 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EXTENDED or _la==frameQLParser.QUICK: - self.state = 4697 - localctx.actionOption = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.EXTENDED or _la==frameQLParser.QUICK): - localctx.actionOption = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class OptimizeTableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.actionOption = None # Token - - def OPTIMIZE(self): - return self.getToken(frameQLParser.OPTIMIZE, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def tables(self): - return self.getTypedRuleContext(frameQLParser.TablesContext,0) - - - def NO_WRITE_TO_BINLOG(self): - return self.getToken(frameQLParser.NO_WRITE_TO_BINLOG, 0) - - def LOCAL(self): - return self.getToken(frameQLParser.LOCAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_optimizeTable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterOptimizeTable" ): - listener.enterOptimizeTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitOptimizeTable" ): - listener.exitOptimizeTable(self) - - - - - def optimizeTable(self): - - localctx = frameQLParser.OptimizeTableContext(self, self._ctx, self.state) - self.enterRule(localctx, 428, self.RULE_optimizeTable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4700 - self.match(frameQLParser.OPTIMIZE) - self.state = 4702 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NO_WRITE_TO_BINLOG or _la==frameQLParser.LOCAL: - self.state = 4701 - localctx.actionOption = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.NO_WRITE_TO_BINLOG or _la==frameQLParser.LOCAL): - localctx.actionOption = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 4704 - self.match(frameQLParser.TABLE) - self.state = 4705 - self.tables() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class RepairTableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.actionOption = None # Token - - def REPAIR(self): - return self.getToken(frameQLParser.REPAIR, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def tables(self): - return self.getTypedRuleContext(frameQLParser.TablesContext,0) - - - def QUICK(self): - return self.getToken(frameQLParser.QUICK, 0) - - def EXTENDED(self): - return self.getToken(frameQLParser.EXTENDED, 0) - - def USE_FRM(self): - return self.getToken(frameQLParser.USE_FRM, 0) - - def NO_WRITE_TO_BINLOG(self): - return self.getToken(frameQLParser.NO_WRITE_TO_BINLOG, 0) - - def LOCAL(self): - return self.getToken(frameQLParser.LOCAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_repairTable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRepairTable" ): - listener.enterRepairTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRepairTable" ): - listener.exitRepairTable(self) - - - - - def repairTable(self): - - localctx = frameQLParser.RepairTableContext(self, self._ctx, self.state) - self.enterRule(localctx, 430, self.RULE_repairTable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4707 - self.match(frameQLParser.REPAIR) - self.state = 4709 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NO_WRITE_TO_BINLOG or _la==frameQLParser.LOCAL: - self.state = 4708 - localctx.actionOption = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.NO_WRITE_TO_BINLOG or _la==frameQLParser.LOCAL): - localctx.actionOption = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 4711 - self.match(frameQLParser.TABLE) - self.state = 4712 - self.tables() - self.state = 4714 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.QUICK: - self.state = 4713 - self.match(frameQLParser.QUICK) - - - self.state = 4717 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EXTENDED: - self.state = 4716 - self.match(frameQLParser.EXTENDED) - - - self.state = 4720 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.USE_FRM: - self.state = 4719 - self.match(frameQLParser.USE_FRM) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CheckTableOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def UPGRADE(self): - return self.getToken(frameQLParser.UPGRADE, 0) - - def QUICK(self): - return self.getToken(frameQLParser.QUICK, 0) - - def FAST(self): - return self.getToken(frameQLParser.FAST, 0) - - def MEDIUM(self): - return self.getToken(frameQLParser.MEDIUM, 0) - - def EXTENDED(self): - return self.getToken(frameQLParser.EXTENDED, 0) - - def CHANGED(self): - return self.getToken(frameQLParser.CHANGED, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_checkTableOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCheckTableOption" ): - listener.enterCheckTableOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCheckTableOption" ): - listener.exitCheckTableOption(self) - - - - - def checkTableOption(self): - - localctx = frameQLParser.CheckTableOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 432, self.RULE_checkTableOption) - try: - self.state = 4729 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.FOR]: - self.enterOuterAlt(localctx, 1) - self.state = 4722 - self.match(frameQLParser.FOR) - self.state = 4723 - self.match(frameQLParser.UPGRADE) - pass - elif token in [frameQLParser.QUICK]: - self.enterOuterAlt(localctx, 2) - self.state = 4724 - self.match(frameQLParser.QUICK) - pass - elif token in [frameQLParser.FAST]: - self.enterOuterAlt(localctx, 3) - self.state = 4725 - self.match(frameQLParser.FAST) - pass - elif token in [frameQLParser.MEDIUM]: - self.enterOuterAlt(localctx, 4) - self.state = 4726 - self.match(frameQLParser.MEDIUM) - pass - elif token in [frameQLParser.EXTENDED]: - self.enterOuterAlt(localctx, 5) - self.state = 4727 - self.match(frameQLParser.EXTENDED) - pass - elif token in [frameQLParser.CHANGED]: - self.enterOuterAlt(localctx, 6) - self.state = 4728 - self.match(frameQLParser.CHANGED) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CreateUdfunctionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.returnType = None # Token - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def FUNCTION(self): - return self.getToken(frameQLParser.FUNCTION, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def RETURNS(self): - return self.getToken(frameQLParser.RETURNS, 0) - - def SONAME(self): - return self.getToken(frameQLParser.SONAME, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def STRING(self): - return self.getToken(frameQLParser.STRING, 0) - - def INTEGER(self): - return self.getToken(frameQLParser.INTEGER, 0) - - def REAL(self): - return self.getToken(frameQLParser.REAL, 0) - - def DECIMAL(self): - return self.getToken(frameQLParser.DECIMAL, 0) - - def AGGREGATE(self): - return self.getToken(frameQLParser.AGGREGATE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_createUdfunction - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateUdfunction" ): - listener.enterCreateUdfunction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateUdfunction" ): - listener.exitCreateUdfunction(self) - - - - - def createUdfunction(self): - - localctx = frameQLParser.CreateUdfunctionContext(self, self._ctx, self.state) - self.enterRule(localctx, 434, self.RULE_createUdfunction) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4731 - self.match(frameQLParser.CREATE) - self.state = 4733 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AGGREGATE: - self.state = 4732 - self.match(frameQLParser.AGGREGATE) - - - self.state = 4735 - self.match(frameQLParser.FUNCTION) - self.state = 4736 - self.uid() - self.state = 4737 - self.match(frameQLParser.RETURNS) - self.state = 4738 - localctx.returnType = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 177)) & ~0x3f) == 0 and ((1 << (_la - 177)) & ((1 << (frameQLParser.INTEGER - 177)) | (1 << (frameQLParser.REAL - 177)) | (1 << (frameQLParser.DECIMAL - 177)))) != 0) or _la==frameQLParser.STRING): - localctx.returnType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4739 - self.match(frameQLParser.SONAME) - self.state = 4740 - self.match(frameQLParser.STRING_LITERAL) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class InstallPluginContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def INSTALL(self): - return self.getToken(frameQLParser.INSTALL, 0) - - def PLUGIN(self): - return self.getToken(frameQLParser.PLUGIN, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def SONAME(self): - return self.getToken(frameQLParser.SONAME, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_installPlugin - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterInstallPlugin" ): - listener.enterInstallPlugin(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitInstallPlugin" ): - listener.exitInstallPlugin(self) - - - - - def installPlugin(self): - - localctx = frameQLParser.InstallPluginContext(self, self._ctx, self.state) - self.enterRule(localctx, 436, self.RULE_installPlugin) - try: - self.enterOuterAlt(localctx, 1) - self.state = 4742 - self.match(frameQLParser.INSTALL) - self.state = 4743 - self.match(frameQLParser.PLUGIN) - self.state = 4744 - self.uid() - self.state = 4745 - self.match(frameQLParser.SONAME) - self.state = 4746 - self.match(frameQLParser.STRING_LITERAL) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class UninstallPluginContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def UNINSTALL(self): - return self.getToken(frameQLParser.UNINSTALL, 0) - - def PLUGIN(self): - return self.getToken(frameQLParser.PLUGIN, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_uninstallPlugin - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUninstallPlugin" ): - listener.enterUninstallPlugin(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUninstallPlugin" ): - listener.exitUninstallPlugin(self) - - - - - def uninstallPlugin(self): - - localctx = frameQLParser.UninstallPluginContext(self, self._ctx, self.state) - self.enterRule(localctx, 438, self.RULE_uninstallPlugin) - try: - self.enterOuterAlt(localctx, 1) - self.state = 4748 - self.match(frameQLParser.UNINSTALL) - self.state = 4749 - self.match(frameQLParser.PLUGIN) - self.state = 4750 - self.uid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SetStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_setStatement - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class SetTransactionContext(SetStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SetStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def setTransactionStatement(self): - return self.getTypedRuleContext(frameQLParser.SetTransactionStatementContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetTransaction" ): - listener.enterSetTransaction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetTransaction" ): - listener.exitSetTransaction(self) - - - class SetCharsetContext(SetStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SetStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SET(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.SET) - else: - return self.getToken(frameQLParser.SET, i) - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - def CHARSET(self): - return self.getToken(frameQLParser.CHARSET, 0) - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetCharset" ): - listener.enterSetCharset(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetCharset" ): - listener.exitSetCharset(self) - - - class SetNamesContext(SetStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SetStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - def NAMES(self): - return self.getToken(frameQLParser.NAMES, 0) - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - def COLLATE(self): - return self.getToken(frameQLParser.COLLATE, 0) - def collationName(self): - return self.getTypedRuleContext(frameQLParser.CollationNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetNames" ): - listener.enterSetNames(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetNames" ): - listener.exitSetNames(self) - - - class SetPasswordContext(SetStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SetStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def setPasswordStatement(self): - return self.getTypedRuleContext(frameQLParser.SetPasswordStatementContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetPassword" ): - listener.enterSetPassword(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetPassword" ): - listener.exitSetPassword(self) - - - class SetAutocommitContext(SetStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SetStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def setAutocommitStatement(self): - return self.getTypedRuleContext(frameQLParser.SetAutocommitStatementContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetAutocommit" ): - listener.enterSetAutocommit(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetAutocommit" ): - listener.exitSetAutocommit(self) - - - class SetVariableContext(SetStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SetStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - def variableClause(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.VariableClauseContext) - else: - return self.getTypedRuleContext(frameQLParser.VariableClauseContext,i) - - def EQUAL_SYMBOL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.EQUAL_SYMBOL) - else: - return self.getToken(frameQLParser.EQUAL_SYMBOL, i) - def expression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetVariable" ): - listener.enterSetVariable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetVariable" ): - listener.exitSetVariable(self) - - - - def setStatement(self): - - localctx = frameQLParser.SetStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 440, self.RULE_setStatement) - self._la = 0 # Token type - try: - self.state = 4789 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,686,self._ctx) - if la_ == 1: - localctx = frameQLParser.SetVariableContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 4752 - self.match(frameQLParser.SET) - self.state = 4753 - self.variableClause() - self.state = 4754 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 4755 - self.expression(0) - self.state = 4763 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4756 - self.match(frameQLParser.COMMA) - self.state = 4757 - self.variableClause() - self.state = 4758 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 4759 - self.expression(0) - self.state = 4765 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 2: - localctx = frameQLParser.SetCharsetContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 4766 - self.match(frameQLParser.SET) - self.state = 4770 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.CHARACTER]: - self.state = 4767 - self.match(frameQLParser.CHARACTER) - self.state = 4768 - self.match(frameQLParser.SET) - pass - elif token in [frameQLParser.CHARSET]: - self.state = 4769 - self.match(frameQLParser.CHARSET) - pass - else: - raise NoViableAltException(self) - - self.state = 4774 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.BINARY, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL]: - self.state = 4772 - self.charsetName() - pass - elif token in [frameQLParser.DEFAULT]: - self.state = 4773 - self.match(frameQLParser.DEFAULT) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 3: - localctx = frameQLParser.SetNamesContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 4776 - self.match(frameQLParser.SET) - self.state = 4777 - self.match(frameQLParser.NAMES) - self.state = 4784 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.BINARY, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL]: - self.state = 4778 - self.charsetName() - self.state = 4781 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLLATE: - self.state = 4779 - self.match(frameQLParser.COLLATE) - self.state = 4780 - self.collationName() - - - pass - elif token in [frameQLParser.DEFAULT]: - self.state = 4783 - self.match(frameQLParser.DEFAULT) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 4: - localctx = frameQLParser.SetPasswordContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 4786 - self.setPasswordStatement() - pass - - elif la_ == 5: - localctx = frameQLParser.SetTransactionContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 4787 - self.setTransactionStatement() - pass - - elif la_ == 6: - localctx = frameQLParser.SetAutocommitContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 4788 - self.setAutocommitStatement() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ShowStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_showStatement - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class ShowOpenTablesContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.schemaFormat = None # Token - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def OPEN(self): - return self.getToken(frameQLParser.OPEN, 0) - def TABLES(self): - return self.getToken(frameQLParser.TABLES, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def showFilter(self): - return self.getTypedRuleContext(frameQLParser.ShowFilterContext,0) - - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - def IN(self): - return self.getToken(frameQLParser.IN, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowOpenTables" ): - listener.enterShowOpenTables(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowOpenTables" ): - listener.exitShowOpenTables(self) - - - class ShowGlobalInfoContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def showGlobalInfoClause(self): - return self.getTypedRuleContext(frameQLParser.ShowGlobalInfoClauseContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowGlobalInfo" ): - listener.enterShowGlobalInfo(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowGlobalInfo" ): - listener.exitShowGlobalInfo(self) - - - class ShowCreateFullIdObjectContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.namedEntity = None # Token - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - def EVENT(self): - return self.getToken(frameQLParser.EVENT, 0) - def FUNCTION(self): - return self.getToken(frameQLParser.FUNCTION, 0) - def PROCEDURE(self): - return self.getToken(frameQLParser.PROCEDURE, 0) - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - def TRIGGER(self): - return self.getToken(frameQLParser.TRIGGER, 0) - def VIEW(self): - return self.getToken(frameQLParser.VIEW, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowCreateFullIdObject" ): - listener.enterShowCreateFullIdObject(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowCreateFullIdObject" ): - listener.exitShowCreateFullIdObject(self) - - - class ShowCreateUserContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - def USER(self): - return self.getToken(frameQLParser.USER, 0) - def userName(self): - return self.getTypedRuleContext(frameQLParser.UserNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowCreateUser" ): - listener.enterShowCreateUser(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowCreateUser" ): - listener.exitShowCreateUser(self) - - - class ShowErrorsContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.errorFormat = None # Token - self.offset = None # DecimalLiteralContext - self.rowCount = None # DecimalLiteralContext - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def ERRORS(self): - return self.getToken(frameQLParser.ERRORS, 0) - def WARNINGS(self): - return self.getToken(frameQLParser.WARNINGS, 0) - def LIMIT(self): - return self.getToken(frameQLParser.LIMIT, 0) - def decimalLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DecimalLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,i) - - def COMMA(self): - return self.getToken(frameQLParser.COMMA, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowErrors" ): - listener.enterShowErrors(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowErrors" ): - listener.exitShowErrors(self) - - - class ShowCountErrorsContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.errorFormat = None # Token - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def COUNT(self): - return self.getToken(frameQLParser.COUNT, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def STAR(self): - return self.getToken(frameQLParser.STAR, 0) - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def ERRORS(self): - return self.getToken(frameQLParser.ERRORS, 0) - def WARNINGS(self): - return self.getToken(frameQLParser.WARNINGS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowCountErrors" ): - listener.enterShowCountErrors(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowCountErrors" ): - listener.exitShowCountErrors(self) - - - class ShowObjectFilterContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def showCommonEntity(self): - return self.getTypedRuleContext(frameQLParser.ShowCommonEntityContext,0) - - def showFilter(self): - return self.getTypedRuleContext(frameQLParser.ShowFilterContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowObjectFilter" ): - listener.enterShowObjectFilter(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowObjectFilter" ): - listener.exitShowObjectFilter(self) - - - class ShowCreateDbContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.schemaFormat = None # Token - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def DATABASE(self): - return self.getToken(frameQLParser.DATABASE, 0) - def SCHEMA(self): - return self.getToken(frameQLParser.SCHEMA, 0) - def ifNotExists(self): - return self.getTypedRuleContext(frameQLParser.IfNotExistsContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowCreateDb" ): - listener.enterShowCreateDb(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowCreateDb" ): - listener.exitShowCreateDb(self) - - - class ShowEngineContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.engineOption = None # Token - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - def engineName(self): - return self.getTypedRuleContext(frameQLParser.EngineNameContext,0) - - def STATUS(self): - return self.getToken(frameQLParser.STATUS, 0) - def MUTEX(self): - return self.getToken(frameQLParser.MUTEX, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowEngine" ): - listener.enterShowEngine(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowEngine" ): - listener.exitShowEngine(self) - - - class ShowSchemaFilterContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.schemaFormat = None # Token - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def showSchemaEntity(self): - return self.getTypedRuleContext(frameQLParser.ShowSchemaEntityContext,0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def showFilter(self): - return self.getTypedRuleContext(frameQLParser.ShowFilterContext,0) - - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - def IN(self): - return self.getToken(frameQLParser.IN, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowSchemaFilter" ): - listener.enterShowSchemaFilter(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowSchemaFilter" ): - listener.exitShowSchemaFilter(self) - - - class ShowIndexesContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.indexFormat = None # Token - self.tableFormat = None # Token - self.schemaFormat = None # Token - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - def INDEXES(self): - return self.getToken(frameQLParser.INDEXES, 0) - def KEYS(self): - return self.getToken(frameQLParser.KEYS, 0) - def FROM(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.FROM) - else: - return self.getToken(frameQLParser.FROM, i) - def IN(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.IN) - else: - return self.getToken(frameQLParser.IN, i) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def WHERE(self): - return self.getToken(frameQLParser.WHERE, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowIndexes" ): - listener.enterShowIndexes(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowIndexes" ): - listener.exitShowIndexes(self) - - - class ShowLogEventsContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.logFormat = None # Token - self.filename = None # Token - self.fromPosition = None # DecimalLiteralContext - self.offset = None # DecimalLiteralContext - self.rowCount = None # DecimalLiteralContext - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def EVENTS(self): - return self.getToken(frameQLParser.EVENTS, 0) - def BINLOG(self): - return self.getToken(frameQLParser.BINLOG, 0) - def RELAYLOG(self): - return self.getToken(frameQLParser.RELAYLOG, 0) - def IN(self): - return self.getToken(frameQLParser.IN, 0) - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - def LIMIT(self): - return self.getToken(frameQLParser.LIMIT, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - def decimalLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DecimalLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,i) - - def COMMA(self): - return self.getToken(frameQLParser.COMMA, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowLogEvents" ): - listener.enterShowLogEvents(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowLogEvents" ): - listener.exitShowLogEvents(self) - - - class ShowMasterLogsContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.logFormat = None # Token - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def LOGS(self): - return self.getToken(frameQLParser.LOGS, 0) - def BINARY(self): - return self.getToken(frameQLParser.BINARY, 0) - def MASTER(self): - return self.getToken(frameQLParser.MASTER, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowMasterLogs" ): - listener.enterShowMasterLogs(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowMasterLogs" ): - listener.exitShowMasterLogs(self) - - - class ShowGrantsContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def GRANTS(self): - return self.getToken(frameQLParser.GRANTS, 0) - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - def userName(self): - return self.getTypedRuleContext(frameQLParser.UserNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowGrants" ): - listener.enterShowGrants(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowGrants" ): - listener.exitShowGrants(self) - - - class ShowSlaveStatusContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def SLAVE(self): - return self.getToken(frameQLParser.SLAVE, 0) - def STATUS(self): - return self.getToken(frameQLParser.STATUS, 0) - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - def CHANNEL(self): - return self.getToken(frameQLParser.CHANNEL, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowSlaveStatus" ): - listener.enterShowSlaveStatus(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowSlaveStatus" ): - listener.exitShowSlaveStatus(self) - - - class ShowRoutineContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.routine = None # Token - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def CODE(self): - return self.getToken(frameQLParser.CODE, 0) - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - def FUNCTION(self): - return self.getToken(frameQLParser.FUNCTION, 0) - def PROCEDURE(self): - return self.getToken(frameQLParser.PROCEDURE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowRoutine" ): - listener.enterShowRoutine(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowRoutine" ): - listener.exitShowRoutine(self) - - - class ShowProfileContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.queryCount = None # DecimalLiteralContext - self.offset = None # DecimalLiteralContext - self.rowCount = None # DecimalLiteralContext - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def PROFILE(self): - return self.getToken(frameQLParser.PROFILE, 0) - def showProfileType(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ShowProfileTypeContext) - else: - return self.getTypedRuleContext(frameQLParser.ShowProfileTypeContext,i) - - def LIMIT(self): - return self.getToken(frameQLParser.LIMIT, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - def QUERY(self): - return self.getToken(frameQLParser.QUERY, 0) - def decimalLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DecimalLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowProfile" ): - listener.enterShowProfile(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowProfile" ): - listener.exitShowProfile(self) - - - class ShowColumnsContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.columnsFormat = None # Token - self.tableFormat = None # Token - self.schemaFormat = None # Token - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - def COLUMNS(self): - return self.getToken(frameQLParser.COLUMNS, 0) - def FIELDS(self): - return self.getToken(frameQLParser.FIELDS, 0) - def FROM(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.FROM) - else: - return self.getToken(frameQLParser.FROM, i) - def IN(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.IN) - else: - return self.getToken(frameQLParser.IN, i) - def FULL(self): - return self.getToken(frameQLParser.FULL, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def showFilter(self): - return self.getTypedRuleContext(frameQLParser.ShowFilterContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowColumns" ): - listener.enterShowColumns(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowColumns" ): - listener.exitShowColumns(self) - - - - def showStatement(self): - - localctx = frameQLParser.ShowStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 442, self.RULE_showStatement) - self._la = 0 # Token type - try: - self.state = 4942 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,708,self._ctx) - if la_ == 1: - localctx = frameQLParser.ShowMasterLogsContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 4791 - self.match(frameQLParser.SHOW) - self.state = 4792 - localctx.logFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.BINARY or _la==frameQLParser.MASTER): - localctx.logFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4793 - self.match(frameQLParser.LOGS) - pass - - elif la_ == 2: - localctx = frameQLParser.ShowLogEventsContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 4794 - self.match(frameQLParser.SHOW) - self.state = 4795 - localctx.logFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.BINLOG or _la==frameQLParser.RELAYLOG): - localctx.logFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4796 - self.match(frameQLParser.EVENTS) - self.state = 4799 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IN: - self.state = 4797 - self.match(frameQLParser.IN) - self.state = 4798 - localctx.filename = self.match(frameQLParser.STRING_LITERAL) - - - self.state = 4803 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FROM: - self.state = 4801 - self.match(frameQLParser.FROM) - self.state = 4802 - localctx.fromPosition = self.decimalLiteral() - - - self.state = 4812 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LIMIT: - self.state = 4805 - self.match(frameQLParser.LIMIT) - self.state = 4809 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,689,self._ctx) - if la_ == 1: - self.state = 4806 - localctx.offset = self.decimalLiteral() - self.state = 4807 - self.match(frameQLParser.COMMA) - - - self.state = 4811 - localctx.rowCount = self.decimalLiteral() - - - pass - - elif la_ == 3: - localctx = frameQLParser.ShowObjectFilterContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 4814 - self.match(frameQLParser.SHOW) - self.state = 4815 - self.showCommonEntity() - self.state = 4817 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LIKE or _la==frameQLParser.WHERE: - self.state = 4816 - self.showFilter() - - - pass - - elif la_ == 4: - localctx = frameQLParser.ShowColumnsContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 4819 - self.match(frameQLParser.SHOW) - self.state = 4821 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FULL: - self.state = 4820 - self.match(frameQLParser.FULL) - - - self.state = 4823 - localctx.columnsFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.COLUMNS or _la==frameQLParser.FIELDS): - localctx.columnsFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4824 - localctx.tableFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FROM or _la==frameQLParser.IN): - localctx.tableFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4825 - self.tableName() - self.state = 4828 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FROM or _la==frameQLParser.IN: - self.state = 4826 - localctx.schemaFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FROM or _la==frameQLParser.IN): - localctx.schemaFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4827 - self.uid() - - - self.state = 4831 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LIKE or _la==frameQLParser.WHERE: - self.state = 4830 - self.showFilter() - - - pass - - elif la_ == 5: - localctx = frameQLParser.ShowCreateDbContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 4833 - self.match(frameQLParser.SHOW) - self.state = 4834 - self.match(frameQLParser.CREATE) - self.state = 4835 - localctx.schemaFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DATABASE or _la==frameQLParser.SCHEMA): - localctx.schemaFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4837 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 4836 - self.ifNotExists() - - - self.state = 4839 - self.uid() - pass - - elif la_ == 6: - localctx = frameQLParser.ShowCreateFullIdObjectContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 4840 - self.match(frameQLParser.SHOW) - self.state = 4841 - self.match(frameQLParser.CREATE) - self.state = 4842 - localctx.namedEntity = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 115)) & ~0x3f) == 0 and ((1 << (_la - 115)) & ((1 << (frameQLParser.PROCEDURE - 115)) | (1 << (frameQLParser.TABLE - 115)) | (1 << (frameQLParser.TRIGGER - 115)))) != 0) or _la==frameQLParser.EVENT or _la==frameQLParser.FUNCTION or _la==frameQLParser.VIEW): - localctx.namedEntity = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4843 - self.fullId() - pass - - elif la_ == 7: - localctx = frameQLParser.ShowCreateUserContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 4844 - self.match(frameQLParser.SHOW) - self.state = 4845 - self.match(frameQLParser.CREATE) - self.state = 4846 - self.match(frameQLParser.USER) - self.state = 4847 - self.userName() - pass - - elif la_ == 8: - localctx = frameQLParser.ShowEngineContext(self, localctx) - self.enterOuterAlt(localctx, 8) - self.state = 4848 - self.match(frameQLParser.SHOW) - self.state = 4849 - self.match(frameQLParser.ENGINE) - self.state = 4850 - self.engineName() - self.state = 4851 - localctx.engineOption = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.MUTEX or _la==frameQLParser.STATUS): - localctx.engineOption = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 9: - localctx = frameQLParser.ShowGlobalInfoContext(self, localctx) - self.enterOuterAlt(localctx, 9) - self.state = 4853 - self.match(frameQLParser.SHOW) - self.state = 4854 - self.showGlobalInfoClause() - pass - - elif la_ == 10: - localctx = frameQLParser.ShowErrorsContext(self, localctx) - self.enterOuterAlt(localctx, 10) - self.state = 4855 - self.match(frameQLParser.SHOW) - self.state = 4856 - localctx.errorFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ERRORS or _la==frameQLParser.WARNINGS): - localctx.errorFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - self.state = 4857 - self.match(frameQLParser.LIMIT) - self.state = 4861 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,696,self._ctx) - if la_ == 1: - self.state = 4858 - localctx.offset = self.decimalLiteral() - self.state = 4859 - self.match(frameQLParser.COMMA) - - - self.state = 4863 - localctx.rowCount = self.decimalLiteral() - pass - - elif la_ == 11: - localctx = frameQLParser.ShowCountErrorsContext(self, localctx) - self.enterOuterAlt(localctx, 11) - self.state = 4864 - self.match(frameQLParser.SHOW) - self.state = 4865 - self.match(frameQLParser.COUNT) - self.state = 4866 - self.match(frameQLParser.LR_BRACKET) - self.state = 4867 - self.match(frameQLParser.STAR) - self.state = 4868 - self.match(frameQLParser.RR_BRACKET) - self.state = 4869 - localctx.errorFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ERRORS or _la==frameQLParser.WARNINGS): - localctx.errorFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 12: - localctx = frameQLParser.ShowSchemaFilterContext(self, localctx) - self.enterOuterAlt(localctx, 12) - self.state = 4870 - self.match(frameQLParser.SHOW) - self.state = 4871 - self.showSchemaEntity() - self.state = 4874 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FROM or _la==frameQLParser.IN: - self.state = 4872 - localctx.schemaFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FROM or _la==frameQLParser.IN): - localctx.schemaFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4873 - self.uid() - - - self.state = 4877 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LIKE or _la==frameQLParser.WHERE: - self.state = 4876 - self.showFilter() - - - pass - - elif la_ == 13: - localctx = frameQLParser.ShowRoutineContext(self, localctx) - self.enterOuterAlt(localctx, 13) - self.state = 4879 - self.match(frameQLParser.SHOW) - self.state = 4880 - localctx.routine = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.PROCEDURE or _la==frameQLParser.FUNCTION): - localctx.routine = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4881 - self.match(frameQLParser.CODE) - self.state = 4882 - self.fullId() - pass - - elif la_ == 14: - localctx = frameQLParser.ShowGrantsContext(self, localctx) - self.enterOuterAlt(localctx, 14) - self.state = 4883 - self.match(frameQLParser.SHOW) - self.state = 4884 - self.match(frameQLParser.GRANTS) - self.state = 4887 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR: - self.state = 4885 - self.match(frameQLParser.FOR) - self.state = 4886 - self.userName() - - - pass - - elif la_ == 15: - localctx = frameQLParser.ShowIndexesContext(self, localctx) - self.enterOuterAlt(localctx, 15) - self.state = 4889 - self.match(frameQLParser.SHOW) - self.state = 4890 - localctx.indexFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.INDEX or _la==frameQLParser.KEYS or _la==frameQLParser.INDEXES): - localctx.indexFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4891 - localctx.tableFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FROM or _la==frameQLParser.IN): - localctx.tableFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4892 - self.tableName() - self.state = 4895 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FROM or _la==frameQLParser.IN: - self.state = 4893 - localctx.schemaFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FROM or _la==frameQLParser.IN): - localctx.schemaFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4894 - self.uid() - - - self.state = 4899 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WHERE: - self.state = 4897 - self.match(frameQLParser.WHERE) - self.state = 4898 - self.expression(0) - - - pass - - elif la_ == 16: - localctx = frameQLParser.ShowOpenTablesContext(self, localctx) - self.enterOuterAlt(localctx, 16) - self.state = 4901 - self.match(frameQLParser.SHOW) - self.state = 4902 - self.match(frameQLParser.OPEN) - self.state = 4903 - self.match(frameQLParser.TABLES) - self.state = 4906 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FROM or _la==frameQLParser.IN: - self.state = 4904 - localctx.schemaFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FROM or _la==frameQLParser.IN): - localctx.schemaFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4905 - self.uid() - - - self.state = 4909 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LIKE or _la==frameQLParser.WHERE: - self.state = 4908 - self.showFilter() - - - pass - - elif la_ == 17: - localctx = frameQLParser.ShowProfileContext(self, localctx) - self.enterOuterAlt(localctx, 17) - self.state = 4911 - self.match(frameQLParser.SHOW) - self.state = 4912 - self.match(frameQLParser.PROFILE) - self.state = 4913 - self.showProfileType() - self.state = 4918 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4914 - self.match(frameQLParser.COMMA) - self.state = 4915 - self.showProfileType() - self.state = 4920 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 4924 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR: - self.state = 4921 - self.match(frameQLParser.FOR) - self.state = 4922 - self.match(frameQLParser.QUERY) - self.state = 4923 - localctx.queryCount = self.decimalLiteral() - - - self.state = 4926 - self.match(frameQLParser.LIMIT) - self.state = 4930 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,706,self._ctx) - if la_ == 1: - self.state = 4927 - localctx.offset = self.decimalLiteral() - self.state = 4928 - self.match(frameQLParser.COMMA) - - - self.state = 4932 - localctx.rowCount = self.decimalLiteral() - pass - - elif la_ == 18: - localctx = frameQLParser.ShowSlaveStatusContext(self, localctx) - self.enterOuterAlt(localctx, 18) - self.state = 4934 - self.match(frameQLParser.SHOW) - self.state = 4935 - self.match(frameQLParser.SLAVE) - self.state = 4936 - self.match(frameQLParser.STATUS) - self.state = 4940 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR: - self.state = 4937 - self.match(frameQLParser.FOR) - self.state = 4938 - self.match(frameQLParser.CHANNEL) - self.state = 4939 - self.match(frameQLParser.STRING_LITERAL) - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class VariableClauseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LOCAL_ID(self): - return self.getToken(frameQLParser.LOCAL_ID, 0) - - def GLOBAL_ID(self): - return self.getToken(frameQLParser.GLOBAL_ID, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def GLOBAL(self): - return self.getToken(frameQLParser.GLOBAL, 0) - - def SESSION(self): - return self.getToken(frameQLParser.SESSION, 0) - - def AT_SIGN(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.AT_SIGN) - else: - return self.getToken(frameQLParser.AT_SIGN, i) - - def getRuleIndex(self): - return frameQLParser.RULE_variableClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterVariableClause" ): - listener.enterVariableClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitVariableClause" ): - listener.exitVariableClause(self) - - - - - def variableClause(self): - - localctx = frameQLParser.VariableClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 444, self.RULE_variableClause) - self._la = 0 # Token type - try: - self.state = 4954 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.LOCAL_ID]: - self.enterOuterAlt(localctx, 1) - self.state = 4944 - self.match(frameQLParser.LOCAL_ID) - pass - elif token in [frameQLParser.GLOBAL_ID]: - self.enterOuterAlt(localctx, 2) - self.state = 4945 - self.match(frameQLParser.GLOBAL_ID) - pass - elif token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.AT_SIGN, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.enterOuterAlt(localctx, 3) - self.state = 4951 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,710,self._ctx) - if la_ == 1: - self.state = 4948 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AT_SIGN: - self.state = 4946 - self.match(frameQLParser.AT_SIGN) - self.state = 4947 - self.match(frameQLParser.AT_SIGN) - - - self.state = 4950 - _la = self._input.LA(1) - if not(_la==frameQLParser.GLOBAL or _la==frameQLParser.SESSION): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 4953 - self.uid() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ShowCommonEntityContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - - def COLLATION(self): - return self.getToken(frameQLParser.COLLATION, 0) - - def DATABASES(self): - return self.getToken(frameQLParser.DATABASES, 0) - - def SCHEMAS(self): - return self.getToken(frameQLParser.SCHEMAS, 0) - - def FUNCTION(self): - return self.getToken(frameQLParser.FUNCTION, 0) - - def STATUS(self): - return self.getToken(frameQLParser.STATUS, 0) - - def PROCEDURE(self): - return self.getToken(frameQLParser.PROCEDURE, 0) - - def VARIABLES(self): - return self.getToken(frameQLParser.VARIABLES, 0) - - def GLOBAL(self): - return self.getToken(frameQLParser.GLOBAL, 0) - - def SESSION(self): - return self.getToken(frameQLParser.SESSION, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_showCommonEntity - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowCommonEntity" ): - listener.enterShowCommonEntity(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowCommonEntity" ): - listener.exitShowCommonEntity(self) - - - - - def showCommonEntity(self): - - localctx = frameQLParser.ShowCommonEntityContext(self, self._ctx, self.state) - self.enterRule(localctx, 446, self.RULE_showCommonEntity) - self._la = 0 # Token type - try: - self.state = 4969 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.CHARACTER]: - self.enterOuterAlt(localctx, 1) - self.state = 4956 - self.match(frameQLParser.CHARACTER) - self.state = 4957 - self.match(frameQLParser.SET) - pass - elif token in [frameQLParser.COLLATION]: - self.enterOuterAlt(localctx, 2) - self.state = 4958 - self.match(frameQLParser.COLLATION) - pass - elif token in [frameQLParser.DATABASES]: - self.enterOuterAlt(localctx, 3) - self.state = 4959 - self.match(frameQLParser.DATABASES) - pass - elif token in [frameQLParser.SCHEMAS]: - self.enterOuterAlt(localctx, 4) - self.state = 4960 - self.match(frameQLParser.SCHEMAS) - pass - elif token in [frameQLParser.FUNCTION]: - self.enterOuterAlt(localctx, 5) - self.state = 4961 - self.match(frameQLParser.FUNCTION) - self.state = 4962 - self.match(frameQLParser.STATUS) - pass - elif token in [frameQLParser.PROCEDURE]: - self.enterOuterAlt(localctx, 6) - self.state = 4963 - self.match(frameQLParser.PROCEDURE) - self.state = 4964 - self.match(frameQLParser.STATUS) - pass - elif token in [frameQLParser.GLOBAL, frameQLParser.SESSION, frameQLParser.STATUS, frameQLParser.VARIABLES]: - self.enterOuterAlt(localctx, 7) - self.state = 4966 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.GLOBAL or _la==frameQLParser.SESSION: - self.state = 4965 - _la = self._input.LA(1) - if not(_la==frameQLParser.GLOBAL or _la==frameQLParser.SESSION): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 4968 - _la = self._input.LA(1) - if not(_la==frameQLParser.STATUS or _la==frameQLParser.VARIABLES): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ShowFilterContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LIKE(self): - return self.getToken(frameQLParser.LIKE, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def WHERE(self): - return self.getToken(frameQLParser.WHERE, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_showFilter - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowFilter" ): - listener.enterShowFilter(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowFilter" ): - listener.exitShowFilter(self) - - - - - def showFilter(self): - - localctx = frameQLParser.ShowFilterContext(self, self._ctx, self.state) - self.enterRule(localctx, 448, self.RULE_showFilter) - try: - self.state = 4975 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.LIKE]: - self.enterOuterAlt(localctx, 1) - self.state = 4971 - self.match(frameQLParser.LIKE) - self.state = 4972 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.WHERE]: - self.enterOuterAlt(localctx, 2) - self.state = 4973 - self.match(frameQLParser.WHERE) - self.state = 4974 - self.expression(0) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ShowGlobalInfoClauseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ENGINES(self): - return self.getToken(frameQLParser.ENGINES, 0) - - def STORAGE(self): - return self.getToken(frameQLParser.STORAGE, 0) - - def MASTER(self): - return self.getToken(frameQLParser.MASTER, 0) - - def STATUS(self): - return self.getToken(frameQLParser.STATUS, 0) - - def PLUGINS(self): - return self.getToken(frameQLParser.PLUGINS, 0) - - def PRIVILEGES(self): - return self.getToken(frameQLParser.PRIVILEGES, 0) - - def PROCESSLIST(self): - return self.getToken(frameQLParser.PROCESSLIST, 0) - - def FULL(self): - return self.getToken(frameQLParser.FULL, 0) - - def PROFILES(self): - return self.getToken(frameQLParser.PROFILES, 0) - - def SLAVE(self): - return self.getToken(frameQLParser.SLAVE, 0) - - def HOSTS(self): - return self.getToken(frameQLParser.HOSTS, 0) - - def AUTHORS(self): - return self.getToken(frameQLParser.AUTHORS, 0) - - def CONTRIBUTORS(self): - return self.getToken(frameQLParser.CONTRIBUTORS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_showGlobalInfoClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowGlobalInfoClause" ): - listener.enterShowGlobalInfoClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowGlobalInfoClause" ): - listener.exitShowGlobalInfoClause(self) - - - - - def showGlobalInfoClause(self): - - localctx = frameQLParser.ShowGlobalInfoClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 450, self.RULE_showGlobalInfoClause) - self._la = 0 # Token type - try: - self.state = 4994 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ENGINES, frameQLParser.STORAGE]: - self.enterOuterAlt(localctx, 1) - self.state = 4978 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.STORAGE: - self.state = 4977 - self.match(frameQLParser.STORAGE) - - - self.state = 4980 - self.match(frameQLParser.ENGINES) - pass - elif token in [frameQLParser.MASTER]: - self.enterOuterAlt(localctx, 2) - self.state = 4981 - self.match(frameQLParser.MASTER) - self.state = 4982 - self.match(frameQLParser.STATUS) - pass - elif token in [frameQLParser.PLUGINS]: - self.enterOuterAlt(localctx, 3) - self.state = 4983 - self.match(frameQLParser.PLUGINS) - pass - elif token in [frameQLParser.PRIVILEGES]: - self.enterOuterAlt(localctx, 4) - self.state = 4984 - self.match(frameQLParser.PRIVILEGES) - pass - elif token in [frameQLParser.FULL, frameQLParser.PROCESSLIST]: - self.enterOuterAlt(localctx, 5) - self.state = 4986 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FULL: - self.state = 4985 - self.match(frameQLParser.FULL) - - - self.state = 4988 - self.match(frameQLParser.PROCESSLIST) - pass - elif token in [frameQLParser.PROFILES]: - self.enterOuterAlt(localctx, 6) - self.state = 4989 - self.match(frameQLParser.PROFILES) - pass - elif token in [frameQLParser.SLAVE]: - self.enterOuterAlt(localctx, 7) - self.state = 4990 - self.match(frameQLParser.SLAVE) - self.state = 4991 - self.match(frameQLParser.HOSTS) - pass - elif token in [frameQLParser.AUTHORS]: - self.enterOuterAlt(localctx, 8) - self.state = 4992 - self.match(frameQLParser.AUTHORS) - pass - elif token in [frameQLParser.CONTRIBUTORS]: - self.enterOuterAlt(localctx, 9) - self.state = 4993 - self.match(frameQLParser.CONTRIBUTORS) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ShowSchemaEntityContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def EVENTS(self): - return self.getToken(frameQLParser.EVENTS, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def STATUS(self): - return self.getToken(frameQLParser.STATUS, 0) - - def TABLES(self): - return self.getToken(frameQLParser.TABLES, 0) - - def FULL(self): - return self.getToken(frameQLParser.FULL, 0) - - def TRIGGERS(self): - return self.getToken(frameQLParser.TRIGGERS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_showSchemaEntity - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowSchemaEntity" ): - listener.enterShowSchemaEntity(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowSchemaEntity" ): - listener.exitShowSchemaEntity(self) - - - - - def showSchemaEntity(self): - - localctx = frameQLParser.ShowSchemaEntityContext(self, self._ctx, self.state) - self.enterRule(localctx, 452, self.RULE_showSchemaEntity) - self._la = 0 # Token type - try: - self.state = 5004 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.EVENTS]: - self.enterOuterAlt(localctx, 1) - self.state = 4996 - self.match(frameQLParser.EVENTS) - pass - elif token in [frameQLParser.TABLE]: - self.enterOuterAlt(localctx, 2) - self.state = 4997 - self.match(frameQLParser.TABLE) - self.state = 4998 - self.match(frameQLParser.STATUS) - pass - elif token in [frameQLParser.FULL, frameQLParser.TABLES]: - self.enterOuterAlt(localctx, 3) - self.state = 5000 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FULL: - self.state = 4999 - self.match(frameQLParser.FULL) - - - self.state = 5002 - self.match(frameQLParser.TABLES) - pass - elif token in [frameQLParser.TRIGGERS]: - self.enterOuterAlt(localctx, 4) - self.state = 5003 - self.match(frameQLParser.TRIGGERS) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ShowProfileTypeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def BLOCK(self): - return self.getToken(frameQLParser.BLOCK, 0) - - def IO(self): - return self.getToken(frameQLParser.IO, 0) - - def CONTEXT(self): - return self.getToken(frameQLParser.CONTEXT, 0) - - def SWITCHES(self): - return self.getToken(frameQLParser.SWITCHES, 0) - - def CPU(self): - return self.getToken(frameQLParser.CPU, 0) - - def IPC(self): - return self.getToken(frameQLParser.IPC, 0) - - def MEMORY(self): - return self.getToken(frameQLParser.MEMORY, 0) - - def PAGE(self): - return self.getToken(frameQLParser.PAGE, 0) - - def FAULTS(self): - return self.getToken(frameQLParser.FAULTS, 0) - - def SOURCE(self): - return self.getToken(frameQLParser.SOURCE, 0) - - def SWAPS(self): - return self.getToken(frameQLParser.SWAPS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_showProfileType - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowProfileType" ): - listener.enterShowProfileType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowProfileType" ): - listener.exitShowProfileType(self) - - - - - def showProfileType(self): - - localctx = frameQLParser.ShowProfileTypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 454, self.RULE_showProfileType) - try: - self.state = 5018 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ALL]: - self.enterOuterAlt(localctx, 1) - self.state = 5006 - self.match(frameQLParser.ALL) - pass - elif token in [frameQLParser.BLOCK]: - self.enterOuterAlt(localctx, 2) - self.state = 5007 - self.match(frameQLParser.BLOCK) - self.state = 5008 - self.match(frameQLParser.IO) - pass - elif token in [frameQLParser.CONTEXT]: - self.enterOuterAlt(localctx, 3) - self.state = 5009 - self.match(frameQLParser.CONTEXT) - self.state = 5010 - self.match(frameQLParser.SWITCHES) - pass - elif token in [frameQLParser.CPU]: - self.enterOuterAlt(localctx, 4) - self.state = 5011 - self.match(frameQLParser.CPU) - pass - elif token in [frameQLParser.IPC]: - self.enterOuterAlt(localctx, 5) - self.state = 5012 - self.match(frameQLParser.IPC) - pass - elif token in [frameQLParser.MEMORY]: - self.enterOuterAlt(localctx, 6) - self.state = 5013 - self.match(frameQLParser.MEMORY) - pass - elif token in [frameQLParser.PAGE]: - self.enterOuterAlt(localctx, 7) - self.state = 5014 - self.match(frameQLParser.PAGE) - self.state = 5015 - self.match(frameQLParser.FAULTS) - pass - elif token in [frameQLParser.SOURCE]: - self.enterOuterAlt(localctx, 8) - self.state = 5016 - self.match(frameQLParser.SOURCE) - pass - elif token in [frameQLParser.SWAPS]: - self.enterOuterAlt(localctx, 9) - self.state = 5017 - self.match(frameQLParser.SWAPS) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class BinlogStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def BINLOG(self): - return self.getToken(frameQLParser.BINLOG, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_binlogStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBinlogStatement" ): - listener.enterBinlogStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBinlogStatement" ): - listener.exitBinlogStatement(self) - - - - - def binlogStatement(self): - - localctx = frameQLParser.BinlogStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 456, self.RULE_binlogStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5020 - self.match(frameQLParser.BINLOG) - self.state = 5021 - self.match(frameQLParser.STRING_LITERAL) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CacheIndexStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.schema = None # UidContext - - def CACHE(self): - return self.getToken(frameQLParser.CACHE, 0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - - def tableIndexes(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TableIndexesContext) - else: - return self.getTypedRuleContext(frameQLParser.TableIndexesContext,i) - - - def IN(self): - return self.getToken(frameQLParser.IN, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_cacheIndexStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCacheIndexStatement" ): - listener.enterCacheIndexStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCacheIndexStatement" ): - listener.exitCacheIndexStatement(self) - - - - - def cacheIndexStatement(self): - - localctx = frameQLParser.CacheIndexStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 458, self.RULE_cacheIndexStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5023 - self.match(frameQLParser.CACHE) - self.state = 5024 - self.match(frameQLParser.INDEX) - self.state = 5025 - self.tableIndexes() - self.state = 5030 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5026 - self.match(frameQLParser.COMMA) - self.state = 5027 - self.tableIndexes() - self.state = 5032 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 5040 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PARTITION: - self.state = 5033 - self.match(frameQLParser.PARTITION) - self.state = 5034 - self.match(frameQLParser.LR_BRACKET) - self.state = 5037 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.state = 5035 - self.uidList() - pass - elif token in [frameQLParser.ALL]: - self.state = 5036 - self.match(frameQLParser.ALL) - pass - else: - raise NoViableAltException(self) - - self.state = 5039 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 5042 - self.match(frameQLParser.IN) - self.state = 5043 - localctx.schema = self.uid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class FlushStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.flushFormat = None # Token - - def FLUSH(self): - return self.getToken(frameQLParser.FLUSH, 0) - - def flushOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.FlushOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.FlushOptionContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def NO_WRITE_TO_BINLOG(self): - return self.getToken(frameQLParser.NO_WRITE_TO_BINLOG, 0) - - def LOCAL(self): - return self.getToken(frameQLParser.LOCAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_flushStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFlushStatement" ): - listener.enterFlushStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFlushStatement" ): - listener.exitFlushStatement(self) - - - - - def flushStatement(self): - - localctx = frameQLParser.FlushStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 460, self.RULE_flushStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5045 - self.match(frameQLParser.FLUSH) - self.state = 5047 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NO_WRITE_TO_BINLOG or _la==frameQLParser.LOCAL: - self.state = 5046 - localctx.flushFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.NO_WRITE_TO_BINLOG or _la==frameQLParser.LOCAL): - localctx.flushFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 5049 - self.flushOption() - self.state = 5054 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5050 - self.match(frameQLParser.COMMA) - self.state = 5051 - self.flushOption() - self.state = 5056 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class KillStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.connectionFormat = None # Token - - def KILL(self): - return self.getToken(frameQLParser.KILL, 0) - - def decimalLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DecimalLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,i) - - - def CONNECTION(self): - return self.getToken(frameQLParser.CONNECTION, 0) - - def QUERY(self): - return self.getToken(frameQLParser.QUERY, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_killStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterKillStatement" ): - listener.enterKillStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitKillStatement" ): - listener.exitKillStatement(self) - - - - - def killStatement(self): - - localctx = frameQLParser.KillStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 462, self.RULE_killStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5057 - self.match(frameQLParser.KILL) - self.state = 5059 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CONNECTION or _la==frameQLParser.QUERY: - self.state = 5058 - localctx.connectionFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.CONNECTION or _la==frameQLParser.QUERY): - localctx.connectionFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 5062 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 5061 - self.decimalLiteral() - self.state = 5064 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 958)) & ~0x3f) == 0 and ((1 << (_la - 958)) & ((1 << (frameQLParser.ZERO_DECIMAL - 958)) | (1 << (frameQLParser.ONE_DECIMAL - 958)) | (1 << (frameQLParser.TWO_DECIMAL - 958)) | (1 << (frameQLParser.DECIMAL_LITERAL - 958)))) != 0)): - break - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class LoadIndexIntoCacheContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LOAD(self): - return self.getToken(frameQLParser.LOAD, 0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - - def INTO(self): - return self.getToken(frameQLParser.INTO, 0) - - def CACHE(self): - return self.getToken(frameQLParser.CACHE, 0) - - def loadedTableIndexes(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.LoadedTableIndexesContext) - else: - return self.getTypedRuleContext(frameQLParser.LoadedTableIndexesContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_loadIndexIntoCache - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLoadIndexIntoCache" ): - listener.enterLoadIndexIntoCache(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLoadIndexIntoCache" ): - listener.exitLoadIndexIntoCache(self) - - - - - def loadIndexIntoCache(self): - - localctx = frameQLParser.LoadIndexIntoCacheContext(self, self._ctx, self.state) - self.enterRule(localctx, 464, self.RULE_loadIndexIntoCache) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5066 - self.match(frameQLParser.LOAD) - self.state = 5067 - self.match(frameQLParser.INDEX) - self.state = 5068 - self.match(frameQLParser.INTO) - self.state = 5069 - self.match(frameQLParser.CACHE) - self.state = 5070 - self.loadedTableIndexes() - self.state = 5075 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5071 - self.match(frameQLParser.COMMA) - self.state = 5072 - self.loadedTableIndexes() - self.state = 5077 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ResetStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def RESET(self): - return self.getToken(frameQLParser.RESET, 0) - - def QUERY(self): - return self.getToken(frameQLParser.QUERY, 0) - - def CACHE(self): - return self.getToken(frameQLParser.CACHE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_resetStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterResetStatement" ): - listener.enterResetStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitResetStatement" ): - listener.exitResetStatement(self) - - - - - def resetStatement(self): - - localctx = frameQLParser.ResetStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 466, self.RULE_resetStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5078 - self.match(frameQLParser.RESET) - self.state = 5079 - self.match(frameQLParser.QUERY) - self.state = 5080 - self.match(frameQLParser.CACHE) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ShutdownStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def SHUTDOWN(self): - return self.getToken(frameQLParser.SHUTDOWN, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_shutdownStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShutdownStatement" ): - listener.enterShutdownStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShutdownStatement" ): - listener.exitShutdownStatement(self) - - - - - def shutdownStatement(self): - - localctx = frameQLParser.ShutdownStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 468, self.RULE_shutdownStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5082 - self.match(frameQLParser.SHUTDOWN) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TableIndexesContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.indexFormat = None # Token - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_tableIndexes - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableIndexes" ): - listener.enterTableIndexes(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableIndexes" ): - listener.exitTableIndexes(self) - - - - - def tableIndexes(self): - - localctx = frameQLParser.TableIndexesContext(self, self._ctx, self.state) - self.enterRule(localctx, 470, self.RULE_tableIndexes) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5084 - self.tableName() - self.state = 5092 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INDEX or _la==frameQLParser.KEY or _la==frameQLParser.LR_BRACKET: - self.state = 5086 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INDEX or _la==frameQLParser.KEY: - self.state = 5085 - localctx.indexFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.INDEX or _la==frameQLParser.KEY): - localctx.indexFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 5088 - self.match(frameQLParser.LR_BRACKET) - self.state = 5089 - self.uidList() - self.state = 5090 - self.match(frameQLParser.RR_BRACKET) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class FlushOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_flushOption - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class TableFlushOptionContext(FlushOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.FlushOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def TABLES(self): - return self.getToken(frameQLParser.TABLES, 0) - def tables(self): - return self.getTypedRuleContext(frameQLParser.TablesContext,0) - - def flushTableOption(self): - return self.getTypedRuleContext(frameQLParser.FlushTableOptionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableFlushOption" ): - listener.enterTableFlushOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableFlushOption" ): - listener.exitTableFlushOption(self) - - - class ChannelFlushOptionContext(FlushOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.FlushOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def RELAY(self): - return self.getToken(frameQLParser.RELAY, 0) - def LOGS(self): - return self.getToken(frameQLParser.LOGS, 0) - def channelOption(self): - return self.getTypedRuleContext(frameQLParser.ChannelOptionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterChannelFlushOption" ): - listener.enterChannelFlushOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitChannelFlushOption" ): - listener.exitChannelFlushOption(self) - - - class SimpleFlushOptionContext(FlushOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.FlushOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def DES_KEY_FILE(self): - return self.getToken(frameQLParser.DES_KEY_FILE, 0) - def HOSTS(self): - return self.getToken(frameQLParser.HOSTS, 0) - def LOGS(self): - return self.getToken(frameQLParser.LOGS, 0) - def OPTIMIZER_COSTS(self): - return self.getToken(frameQLParser.OPTIMIZER_COSTS, 0) - def PRIVILEGES(self): - return self.getToken(frameQLParser.PRIVILEGES, 0) - def QUERY(self): - return self.getToken(frameQLParser.QUERY, 0) - def CACHE(self): - return self.getToken(frameQLParser.CACHE, 0) - def STATUS(self): - return self.getToken(frameQLParser.STATUS, 0) - def USER_RESOURCES(self): - return self.getToken(frameQLParser.USER_RESOURCES, 0) - def TABLES(self): - return self.getToken(frameQLParser.TABLES, 0) - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - def READ(self): - return self.getToken(frameQLParser.READ, 0) - def LOCK(self): - return self.getToken(frameQLParser.LOCK, 0) - def BINARY(self): - return self.getToken(frameQLParser.BINARY, 0) - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - def ERROR(self): - return self.getToken(frameQLParser.ERROR, 0) - def GENERAL(self): - return self.getToken(frameQLParser.GENERAL, 0) - def RELAY(self): - return self.getToken(frameQLParser.RELAY, 0) - def SLOW(self): - return self.getToken(frameQLParser.SLOW, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSimpleFlushOption" ): - listener.enterSimpleFlushOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSimpleFlushOption" ): - listener.exitSimpleFlushOption(self) - - - - def flushOption(self): - - localctx = frameQLParser.FlushOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 472, self.RULE_flushOption) - self._la = 0 # Token type - try: - self.state = 5124 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,736,self._ctx) - if la_ == 1: - localctx = frameQLParser.SimpleFlushOptionContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 5112 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DES_KEY_FILE]: - self.state = 5094 - self.match(frameQLParser.DES_KEY_FILE) - pass - elif token in [frameQLParser.HOSTS]: - self.state = 5095 - self.match(frameQLParser.HOSTS) - pass - elif token in [frameQLParser.BINARY, frameQLParser.ENGINE, frameQLParser.ERROR, frameQLParser.GENERAL, frameQLParser.LOGS, frameQLParser.RELAY, frameQLParser.SLOW]: - self.state = 5097 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.BINARY or ((((_la - 315)) & ~0x3f) == 0 and ((1 << (_la - 315)) & ((1 << (frameQLParser.ENGINE - 315)) | (1 << (frameQLParser.ERROR - 315)) | (1 << (frameQLParser.GENERAL - 315)))) != 0) or _la==frameQLParser.RELAY or _la==frameQLParser.SLOW: - self.state = 5096 - _la = self._input.LA(1) - if not(_la==frameQLParser.BINARY or ((((_la - 315)) & ~0x3f) == 0 and ((1 << (_la - 315)) & ((1 << (frameQLParser.ENGINE - 315)) | (1 << (frameQLParser.ERROR - 315)) | (1 << (frameQLParser.GENERAL - 315)))) != 0) or _la==frameQLParser.RELAY or _la==frameQLParser.SLOW): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 5099 - self.match(frameQLParser.LOGS) - pass - elif token in [frameQLParser.OPTIMIZER_COSTS]: - self.state = 5100 - self.match(frameQLParser.OPTIMIZER_COSTS) - pass - elif token in [frameQLParser.PRIVILEGES]: - self.state = 5101 - self.match(frameQLParser.PRIVILEGES) - pass - elif token in [frameQLParser.QUERY]: - self.state = 5102 - self.match(frameQLParser.QUERY) - self.state = 5103 - self.match(frameQLParser.CACHE) - pass - elif token in [frameQLParser.STATUS]: - self.state = 5104 - self.match(frameQLParser.STATUS) - pass - elif token in [frameQLParser.USER_RESOURCES]: - self.state = 5105 - self.match(frameQLParser.USER_RESOURCES) - pass - elif token in [frameQLParser.TABLES]: - self.state = 5106 - self.match(frameQLParser.TABLES) - self.state = 5110 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WITH: - self.state = 5107 - self.match(frameQLParser.WITH) - self.state = 5108 - self.match(frameQLParser.READ) - self.state = 5109 - self.match(frameQLParser.LOCK) - - - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 2: - localctx = frameQLParser.ChannelFlushOptionContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 5114 - self.match(frameQLParser.RELAY) - self.state = 5115 - self.match(frameQLParser.LOGS) - self.state = 5117 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR: - self.state = 5116 - self.channelOption() - - - pass - - elif la_ == 3: - localctx = frameQLParser.TableFlushOptionContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 5119 - self.match(frameQLParser.TABLES) - self.state = 5120 - self.tables() - self.state = 5122 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR or _la==frameQLParser.WITH: - self.state = 5121 - self.flushTableOption() - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class FlushTableOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - - def READ(self): - return self.getToken(frameQLParser.READ, 0) - - def LOCK(self): - return self.getToken(frameQLParser.LOCK, 0) - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def EXPORT(self): - return self.getToken(frameQLParser.EXPORT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_flushTableOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFlushTableOption" ): - listener.enterFlushTableOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFlushTableOption" ): - listener.exitFlushTableOption(self) - - - - - def flushTableOption(self): - - localctx = frameQLParser.FlushTableOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 474, self.RULE_flushTableOption) - try: - self.state = 5131 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.WITH]: - self.enterOuterAlt(localctx, 1) - self.state = 5126 - self.match(frameQLParser.WITH) - self.state = 5127 - self.match(frameQLParser.READ) - self.state = 5128 - self.match(frameQLParser.LOCK) - pass - elif token in [frameQLParser.FOR]: - self.enterOuterAlt(localctx, 2) - self.state = 5129 - self.match(frameQLParser.FOR) - self.state = 5130 - self.match(frameQLParser.EXPORT) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class LoadedTableIndexesContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.partitionList = None # UidListContext - self.indexFormat = None # Token - self.indexList = None # UidListContext - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - - def LR_BRACKET(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.LR_BRACKET) - else: - return self.getToken(frameQLParser.LR_BRACKET, i) - - def RR_BRACKET(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.RR_BRACKET) - else: - return self.getToken(frameQLParser.RR_BRACKET, i) - - def IGNORE(self): - return self.getToken(frameQLParser.IGNORE, 0) - - def LEAVES(self): - return self.getToken(frameQLParser.LEAVES, 0) - - def uidList(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidListContext) - else: - return self.getTypedRuleContext(frameQLParser.UidListContext,i) - - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_loadedTableIndexes - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLoadedTableIndexes" ): - listener.enterLoadedTableIndexes(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLoadedTableIndexes" ): - listener.exitLoadedTableIndexes(self) - - - - - def loadedTableIndexes(self): - - localctx = frameQLParser.LoadedTableIndexesContext(self, self._ctx, self.state) - self.enterRule(localctx, 476, self.RULE_loadedTableIndexes) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5133 - self.tableName() - self.state = 5141 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PARTITION: - self.state = 5134 - self.match(frameQLParser.PARTITION) - self.state = 5135 - self.match(frameQLParser.LR_BRACKET) - self.state = 5138 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.state = 5136 - localctx.partitionList = self.uidList() - pass - elif token in [frameQLParser.ALL]: - self.state = 5137 - self.match(frameQLParser.ALL) - pass - else: - raise NoViableAltException(self) - - self.state = 5140 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 5150 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INDEX or _la==frameQLParser.KEY or _la==frameQLParser.LR_BRACKET: - self.state = 5144 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INDEX or _la==frameQLParser.KEY: - self.state = 5143 - localctx.indexFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.INDEX or _la==frameQLParser.KEY): - localctx.indexFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 5146 - self.match(frameQLParser.LR_BRACKET) - self.state = 5147 - localctx.indexList = self.uidList() - self.state = 5148 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 5154 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE: - self.state = 5152 - self.match(frameQLParser.IGNORE) - self.state = 5153 - self.match(frameQLParser.LEAVES) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SimpleDescribeStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.command = None # Token - self.column = None # UidContext - self.pattern = None # Token - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def EXPLAIN(self): - return self.getToken(frameQLParser.EXPLAIN, 0) - - def DESCRIBE(self): - return self.getToken(frameQLParser.DESCRIBE, 0) - - def DESC(self): - return self.getToken(frameQLParser.DESC, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_simpleDescribeStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSimpleDescribeStatement" ): - listener.enterSimpleDescribeStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSimpleDescribeStatement" ): - listener.exitSimpleDescribeStatement(self) - - - - - def simpleDescribeStatement(self): - - localctx = frameQLParser.SimpleDescribeStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 478, self.RULE_simpleDescribeStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5156 - localctx.command = self._input.LT(1) - _la = self._input.LA(1) - if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << frameQLParser.DESC) | (1 << frameQLParser.DESCRIBE) | (1 << frameQLParser.EXPLAIN))) != 0)): - localctx.command = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5157 - self.tableName() - self.state = 5160 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,743,self._ctx) - if la_ == 1: - self.state = 5158 - localctx.column = self.uid() - - elif la_ == 2: - self.state = 5159 - localctx.pattern = self.match(frameQLParser.STRING_LITERAL) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class FullDescribeStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.command = None # Token - self.formatType = None # Token - self.formatValue = None # Token - - def describeObjectClause(self): - return self.getTypedRuleContext(frameQLParser.DescribeObjectClauseContext,0) - - - def EXPLAIN(self): - return self.getToken(frameQLParser.EXPLAIN, 0) - - def DESCRIBE(self): - return self.getToken(frameQLParser.DESCRIBE, 0) - - def DESC(self): - return self.getToken(frameQLParser.DESC, 0) - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def EXTENDED(self): - return self.getToken(frameQLParser.EXTENDED, 0) - - def PARTITIONS(self): - return self.getToken(frameQLParser.PARTITIONS, 0) - - def FORMAT(self): - return self.getToken(frameQLParser.FORMAT, 0) - - def TRADITIONAL(self): - return self.getToken(frameQLParser.TRADITIONAL, 0) - - def JSON(self): - return self.getToken(frameQLParser.JSON, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_fullDescribeStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFullDescribeStatement" ): - listener.enterFullDescribeStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFullDescribeStatement" ): - listener.exitFullDescribeStatement(self) - - - - - def fullDescribeStatement(self): - - localctx = frameQLParser.FullDescribeStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 480, self.RULE_fullDescribeStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5162 - localctx.command = self._input.LT(1) - _la = self._input.LA(1) - if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << frameQLParser.DESC) | (1 << frameQLParser.DESCRIBE) | (1 << frameQLParser.EXPLAIN))) != 0)): - localctx.command = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5166 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EXTENDED or _la==frameQLParser.PARTITIONS or _la==frameQLParser.FORMAT: - self.state = 5163 - localctx.formatType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.EXTENDED or _la==frameQLParser.PARTITIONS or _la==frameQLParser.FORMAT): - localctx.formatType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5164 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 5165 - localctx.formatValue = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.JSON or _la==frameQLParser.TRADITIONAL): - localctx.formatValue = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 5168 - self.describeObjectClause() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class HelpStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def HELP(self): - return self.getToken(frameQLParser.HELP, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_helpStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHelpStatement" ): - listener.enterHelpStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHelpStatement" ): - listener.exitHelpStatement(self) - - - - - def helpStatement(self): - - localctx = frameQLParser.HelpStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 482, self.RULE_helpStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5170 - self.match(frameQLParser.HELP) - self.state = 5171 - self.match(frameQLParser.STRING_LITERAL) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class UseStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def USE(self): - return self.getToken(frameQLParser.USE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_useStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUseStatement" ): - listener.enterUseStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUseStatement" ): - listener.exitUseStatement(self) - - - - - def useStatement(self): - - localctx = frameQLParser.UseStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 484, self.RULE_useStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5173 - self.match(frameQLParser.USE) - self.state = 5174 - self.uid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DescribeObjectClauseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_describeObjectClause - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class DescribeStatementsContext(DescribeObjectClauseContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.DescribeObjectClauseContext - super().__init__(parser) - self.copyFrom(ctx) - - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - def deleteStatement(self): - return self.getTypedRuleContext(frameQLParser.DeleteStatementContext,0) - - def insertStatement(self): - return self.getTypedRuleContext(frameQLParser.InsertStatementContext,0) - - def replaceStatement(self): - return self.getTypedRuleContext(frameQLParser.ReplaceStatementContext,0) - - def updateStatement(self): - return self.getTypedRuleContext(frameQLParser.UpdateStatementContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDescribeStatements" ): - listener.enterDescribeStatements(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDescribeStatements" ): - listener.exitDescribeStatements(self) - - - class DescribeConnectionContext(DescribeObjectClauseContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.DescribeObjectClauseContext - super().__init__(parser) - self.copyFrom(ctx) - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - def CONNECTION(self): - return self.getToken(frameQLParser.CONNECTION, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDescribeConnection" ): - listener.enterDescribeConnection(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDescribeConnection" ): - listener.exitDescribeConnection(self) - - - - def describeObjectClause(self): - - localctx = frameQLParser.DescribeObjectClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 486, self.RULE_describeObjectClause) - try: - self.state = 5186 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DELETE, frameQLParser.INSERT, frameQLParser.REPLACE, frameQLParser.SELECT, frameQLParser.UPDATE, frameQLParser.LR_BRACKET]: - localctx = frameQLParser.DescribeStatementsContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 5181 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.SELECT, frameQLParser.LR_BRACKET]: - self.state = 5176 - self.selectStatement() - pass - elif token in [frameQLParser.DELETE]: - self.state = 5177 - self.deleteStatement() - pass - elif token in [frameQLParser.INSERT]: - self.state = 5178 - self.insertStatement() - pass - elif token in [frameQLParser.REPLACE]: - self.state = 5179 - self.replaceStatement() - pass - elif token in [frameQLParser.UPDATE]: - self.state = 5180 - self.updateStatement() - pass - else: - raise NoViableAltException(self) - - pass - elif token in [frameQLParser.FOR]: - localctx = frameQLParser.DescribeConnectionContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 5183 - self.match(frameQLParser.FOR) - self.state = 5184 - self.match(frameQLParser.CONNECTION) - self.state = 5185 - self.uid() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class FullIdContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def DOT_ID(self): - return self.getToken(frameQLParser.DOT_ID, 0) - - def DOT(self): - return self.getToken(frameQLParser.DOT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_fullId - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFullId" ): - listener.enterFullId(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFullId" ): - listener.exitFullId(self) - - - - - def fullId(self): - - localctx = frameQLParser.FullIdContext(self, self._ctx, self.state) - self.enterRule(localctx, 488, self.RULE_fullId) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5188 - self.uid() - self.state = 5192 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,747,self._ctx) - if la_ == 1: - self.state = 5189 - self.match(frameQLParser.DOT_ID) - - elif la_ == 2: - self.state = 5190 - self.match(frameQLParser.DOT) - self.state = 5191 - self.uid() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TableNameContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_tableName - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableName" ): - listener.enterTableName(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableName" ): - listener.exitTableName(self) - - - - - def tableName(self): - - localctx = frameQLParser.TableNameContext(self, self._ctx, self.state) - self.enterRule(localctx, 490, self.RULE_tableName) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5194 - self.fullId() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class FullColumnNameContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def dottedId(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DottedIdContext) - else: - return self.getTypedRuleContext(frameQLParser.DottedIdContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_fullColumnName - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFullColumnName" ): - listener.enterFullColumnName(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFullColumnName" ): - listener.exitFullColumnName(self) - - - - - def fullColumnName(self): - - localctx = frameQLParser.FullColumnNameContext(self, self._ctx, self.state) - self.enterRule(localctx, 492, self.RULE_fullColumnName) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5196 - self.uid() - self.state = 5201 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,749,self._ctx) - if la_ == 1: - self.state = 5197 - self.dottedId() - self.state = 5199 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,748,self._ctx) - if la_ == 1: - self.state = 5198 - self.dottedId() - - - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class IndexColumnNameContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.sortType = None # Token - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def ASC(self): - return self.getToken(frameQLParser.ASC, 0) - - def DESC(self): - return self.getToken(frameQLParser.DESC, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_indexColumnName - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIndexColumnName" ): - listener.enterIndexColumnName(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIndexColumnName" ): - listener.exitIndexColumnName(self) - - - - - def indexColumnName(self): - - localctx = frameQLParser.IndexColumnNameContext(self, self._ctx, self.state) - self.enterRule(localctx, 494, self.RULE_indexColumnName) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5203 - self.uid() - self.state = 5208 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 5204 - self.match(frameQLParser.LR_BRACKET) - self.state = 5205 - self.decimalLiteral() - self.state = 5206 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 5211 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ASC or _la==frameQLParser.DESC: - self.state = 5210 - localctx.sortType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ASC or _la==frameQLParser.DESC): - localctx.sortType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class UserNameContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def STRING_USER_NAME(self): - return self.getToken(frameQLParser.STRING_USER_NAME, 0) - - def ID(self): - return self.getToken(frameQLParser.ID, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_userName - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUserName" ): - listener.enterUserName(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUserName" ): - listener.exitUserName(self) - - - - - def userName(self): - - localctx = frameQLParser.UserNameContext(self, self._ctx, self.state) - self.enterRule(localctx, 496, self.RULE_userName) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5213 - _la = self._input.LA(1) - if not(_la==frameQLParser.ID or _la==frameQLParser.STRING_USER_NAME): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class MysqlVariableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LOCAL_ID(self): - return self.getToken(frameQLParser.LOCAL_ID, 0) - - def GLOBAL_ID(self): - return self.getToken(frameQLParser.GLOBAL_ID, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_mysqlVariable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMysqlVariable" ): - listener.enterMysqlVariable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMysqlVariable" ): - listener.exitMysqlVariable(self) - - - - - def mysqlVariable(self): - - localctx = frameQLParser.MysqlVariableContext(self, self._ctx, self.state) - self.enterRule(localctx, 498, self.RULE_mysqlVariable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5215 - _la = self._input.LA(1) - if not(_la==frameQLParser.LOCAL_ID or _la==frameQLParser.GLOBAL_ID): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CharsetNameContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def BINARY(self): - return self.getToken(frameQLParser.BINARY, 0) - - def charsetNameBase(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameBaseContext,0) - - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def CHARSET_REVERSE_QOUTE_STRING(self): - return self.getToken(frameQLParser.CHARSET_REVERSE_QOUTE_STRING, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_charsetName - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCharsetName" ): - listener.enterCharsetName(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCharsetName" ): - listener.exitCharsetName(self) - - - - - def charsetName(self): - - localctx = frameQLParser.CharsetNameContext(self, self._ctx, self.state) - self.enterRule(localctx, 500, self.RULE_charsetName) - try: - self.state = 5221 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.BINARY]: - self.enterOuterAlt(localctx, 1) - self.state = 5217 - self.match(frameQLParser.BINARY) - pass - elif token in [frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4]: - self.enterOuterAlt(localctx, 2) - self.state = 5218 - self.charsetNameBase() - pass - elif token in [frameQLParser.STRING_LITERAL]: - self.enterOuterAlt(localctx, 3) - self.state = 5219 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.CHARSET_REVERSE_QOUTE_STRING]: - self.enterOuterAlt(localctx, 4) - self.state = 5220 - self.match(frameQLParser.CHARSET_REVERSE_QOUTE_STRING) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CollationNameContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_collationName - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCollationName" ): - listener.enterCollationName(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCollationName" ): - listener.exitCollationName(self) - - - - - def collationName(self): - - localctx = frameQLParser.CollationNameContext(self, self._ctx, self.state) - self.enterRule(localctx, 502, self.RULE_collationName) - try: - self.state = 5225 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,753,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 5223 - self.uid() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 5224 - self.match(frameQLParser.STRING_LITERAL) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class EngineNameContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ARCHIVE(self): - return self.getToken(frameQLParser.ARCHIVE, 0) - - def BLACKHOLE(self): - return self.getToken(frameQLParser.BLACKHOLE, 0) - - def CSV(self): - return self.getToken(frameQLParser.CSV, 0) - - def FEDERATED(self): - return self.getToken(frameQLParser.FEDERATED, 0) - - def INNODB(self): - return self.getToken(frameQLParser.INNODB, 0) - - def MEMORY(self): - return self.getToken(frameQLParser.MEMORY, 0) - - def MRG_MYISAM(self): - return self.getToken(frameQLParser.MRG_MYISAM, 0) - - def MYISAM(self): - return self.getToken(frameQLParser.MYISAM, 0) - - def NDB(self): - return self.getToken(frameQLParser.NDB, 0) - - def NDBCLUSTER(self): - return self.getToken(frameQLParser.NDBCLUSTER, 0) - - def PERFOMANCE_SCHEMA(self): - return self.getToken(frameQLParser.PERFOMANCE_SCHEMA, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def REVERSE_QUOTE_ID(self): - return self.getToken(frameQLParser.REVERSE_QUOTE_ID, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_engineName - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterEngineName" ): - listener.enterEngineName(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitEngineName" ): - listener.exitEngineName(self) - - - - - def engineName(self): - - localctx = frameQLParser.EngineNameContext(self, self._ctx, self.state) - self.enterRule(localctx, 504, self.RULE_engineName) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5227 - _la = self._input.LA(1) - if not(((((_la - 615)) & ~0x3f) == 0 and ((1 << (_la - 615)) & ((1 << (frameQLParser.ARCHIVE - 615)) | (1 << (frameQLParser.BLACKHOLE - 615)) | (1 << (frameQLParser.CSV - 615)) | (1 << (frameQLParser.FEDERATED - 615)) | (1 << (frameQLParser.INNODB - 615)) | (1 << (frameQLParser.MEMORY - 615)) | (1 << (frameQLParser.MRG_MYISAM - 615)) | (1 << (frameQLParser.MYISAM - 615)) | (1 << (frameQLParser.NDB - 615)) | (1 << (frameQLParser.NDBCLUSTER - 615)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 615)))) != 0) or _la==frameQLParser.STRING_LITERAL or _la==frameQLParser.REVERSE_QUOTE_ID): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class UuidSetContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def decimalLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DecimalLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,i) - - - def MINUS(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.MINUS) - else: - return self.getToken(frameQLParser.MINUS, i) - - def COLON_SYMB(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COLON_SYMB) - else: - return self.getToken(frameQLParser.COLON_SYMB, i) - - def getRuleIndex(self): - return frameQLParser.RULE_uuidSet - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUuidSet" ): - listener.enterUuidSet(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUuidSet" ): - listener.exitUuidSet(self) - - - - - def uuidSet(self): - - localctx = frameQLParser.UuidSetContext(self, self._ctx, self.state) - self.enterRule(localctx, 506, self.RULE_uuidSet) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5229 - self.decimalLiteral() - self.state = 5230 - self.match(frameQLParser.MINUS) - self.state = 5231 - self.decimalLiteral() - self.state = 5232 - self.match(frameQLParser.MINUS) - self.state = 5233 - self.decimalLiteral() - self.state = 5234 - self.match(frameQLParser.MINUS) - self.state = 5235 - self.decimalLiteral() - self.state = 5236 - self.match(frameQLParser.MINUS) - self.state = 5237 - self.decimalLiteral() - self.state = 5243 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 5238 - self.match(frameQLParser.COLON_SYMB) - self.state = 5239 - self.decimalLiteral() - self.state = 5240 - self.match(frameQLParser.MINUS) - self.state = 5241 - self.decimalLiteral() - self.state = 5245 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==frameQLParser.COLON_SYMB): - break - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class XidContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.globalTableUid = None # XuidStringIdContext - self.qualifier = None # XuidStringIdContext - self.idFormat = None # DecimalLiteralContext - - def xuidStringId(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.XuidStringIdContext) - else: - return self.getTypedRuleContext(frameQLParser.XuidStringIdContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_xid - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterXid" ): - listener.enterXid(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitXid" ): - listener.exitXid(self) - - - - - def xid(self): - - localctx = frameQLParser.XidContext(self, self._ctx, self.state) - self.enterRule(localctx, 508, self.RULE_xid) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5247 - localctx.globalTableUid = self.xuidStringId() - self.state = 5254 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COMMA: - self.state = 5248 - self.match(frameQLParser.COMMA) - self.state = 5249 - localctx.qualifier = self.xuidStringId() - self.state = 5252 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COMMA: - self.state = 5250 - self.match(frameQLParser.COMMA) - self.state = 5251 - localctx.idFormat = self.decimalLiteral() - - - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class XuidStringIdContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def BIT_STRING(self): - return self.getToken(frameQLParser.BIT_STRING, 0) - - def HEXADECIMAL_LITERAL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.HEXADECIMAL_LITERAL) - else: - return self.getToken(frameQLParser.HEXADECIMAL_LITERAL, i) - - def getRuleIndex(self): - return frameQLParser.RULE_xuidStringId - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterXuidStringId" ): - listener.enterXuidStringId(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitXuidStringId" ): - listener.exitXuidStringId(self) - - - - - def xuidStringId(self): - - localctx = frameQLParser.XuidStringIdContext(self, self._ctx, self.state) - self.enterRule(localctx, 510, self.RULE_xuidStringId) - self._la = 0 # Token type - try: - self.state = 5263 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.STRING_LITERAL]: - self.enterOuterAlt(localctx, 1) - self.state = 5256 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.BIT_STRING]: - self.enterOuterAlt(localctx, 2) - self.state = 5257 - self.match(frameQLParser.BIT_STRING) - pass - elif token in [frameQLParser.HEXADECIMAL_LITERAL]: - self.enterOuterAlt(localctx, 3) - self.state = 5259 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 5258 - self.match(frameQLParser.HEXADECIMAL_LITERAL) - self.state = 5261 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==frameQLParser.HEXADECIMAL_LITERAL): - break - - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AuthPluginContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_authPlugin - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAuthPlugin" ): - listener.enterAuthPlugin(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAuthPlugin" ): - listener.exitAuthPlugin(self) - - - - - def authPlugin(self): - - localctx = frameQLParser.AuthPluginContext(self, self._ctx, self.state) - self.enterRule(localctx, 512, self.RULE_authPlugin) - try: - self.state = 5267 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,759,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 5265 - self.uid() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 5266 - self.match(frameQLParser.STRING_LITERAL) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class UidContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def simpleId(self): - return self.getTypedRuleContext(frameQLParser.SimpleIdContext,0) - - - def REVERSE_QUOTE_ID(self): - return self.getToken(frameQLParser.REVERSE_QUOTE_ID, 0) - - def CHARSET_REVERSE_QOUTE_STRING(self): - return self.getToken(frameQLParser.CHARSET_REVERSE_QOUTE_STRING, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_uid - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUid" ): - listener.enterUid(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUid" ): - listener.exitUid(self) - - - - - def uid(self): - - localctx = frameQLParser.UidContext(self, self._ctx, self.state) - self.enterRule(localctx, 514, self.RULE_uid) - try: - self.state = 5272 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,760,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 5269 - self.simpleId() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 5270 - self.match(frameQLParser.REVERSE_QUOTE_ID) - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 5271 - self.match(frameQLParser.CHARSET_REVERSE_QOUTE_STRING) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SimpleIdContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ID(self): - return self.getToken(frameQLParser.ID, 0) - - def charsetNameBase(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameBaseContext,0) - - - def transactionLevelBase(self): - return self.getTypedRuleContext(frameQLParser.TransactionLevelBaseContext,0) - - - def engineName(self): - return self.getTypedRuleContext(frameQLParser.EngineNameContext,0) - - - def privilegesBase(self): - return self.getTypedRuleContext(frameQLParser.PrivilegesBaseContext,0) - - - def intervalTypeBase(self): - return self.getTypedRuleContext(frameQLParser.IntervalTypeBaseContext,0) - - - def dataTypeBase(self): - return self.getTypedRuleContext(frameQLParser.DataTypeBaseContext,0) - - - def keywordsCanBeId(self): - return self.getTypedRuleContext(frameQLParser.KeywordsCanBeIdContext,0) - - - def functionNameBase(self): - return self.getTypedRuleContext(frameQLParser.FunctionNameBaseContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_simpleId - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSimpleId" ): - listener.enterSimpleId(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSimpleId" ): - listener.exitSimpleId(self) - - - - - def simpleId(self): - - localctx = frameQLParser.SimpleIdContext(self, self._ctx, self.state) - self.enterRule(localctx, 516, self.RULE_simpleId) - try: - self.state = 5283 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,761,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 5274 - self.match(frameQLParser.ID) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 5275 - self.charsetNameBase() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 5276 - self.transactionLevelBase() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 5277 - self.engineName() - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 5278 - self.privilegesBase() - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 5279 - self.intervalTypeBase() - pass - - elif la_ == 7: - self.enterOuterAlt(localctx, 7) - self.state = 5280 - self.dataTypeBase() - pass - - elif la_ == 8: - self.enterOuterAlt(localctx, 8) - self.state = 5281 - self.keywordsCanBeId() - pass - - elif la_ == 9: - self.enterOuterAlt(localctx, 9) - self.state = 5282 - self.functionNameBase() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DottedIdContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DOT_ID(self): - return self.getToken(frameQLParser.DOT_ID, 0) - - def DOT(self): - return self.getToken(frameQLParser.DOT, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_dottedId - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDottedId" ): - listener.enterDottedId(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDottedId" ): - listener.exitDottedId(self) - - - - - def dottedId(self): - - localctx = frameQLParser.DottedIdContext(self, self._ctx, self.state) - self.enterRule(localctx, 518, self.RULE_dottedId) - try: - self.state = 5288 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DOT_ID]: - self.enterOuterAlt(localctx, 1) - self.state = 5285 - self.match(frameQLParser.DOT_ID) - pass - elif token in [frameQLParser.DOT]: - self.enterOuterAlt(localctx, 2) - self.state = 5286 - self.match(frameQLParser.DOT) - self.state = 5287 - self.uid() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DecimalLiteralContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DECIMAL_LITERAL(self): - return self.getToken(frameQLParser.DECIMAL_LITERAL, 0) - - def ZERO_DECIMAL(self): - return self.getToken(frameQLParser.ZERO_DECIMAL, 0) - - def ONE_DECIMAL(self): - return self.getToken(frameQLParser.ONE_DECIMAL, 0) - - def TWO_DECIMAL(self): - return self.getToken(frameQLParser.TWO_DECIMAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_decimalLiteral - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDecimalLiteral" ): - listener.enterDecimalLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDecimalLiteral" ): - listener.exitDecimalLiteral(self) - - - - - def decimalLiteral(self): - - localctx = frameQLParser.DecimalLiteralContext(self, self._ctx, self.state) - self.enterRule(localctx, 520, self.RULE_decimalLiteral) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5290 - _la = self._input.LA(1) - if not(((((_la - 958)) & ~0x3f) == 0 and ((1 << (_la - 958)) & ((1 << (frameQLParser.ZERO_DECIMAL - 958)) | (1 << (frameQLParser.ONE_DECIMAL - 958)) | (1 << (frameQLParser.TWO_DECIMAL - 958)) | (1 << (frameQLParser.DECIMAL_LITERAL - 958)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class FileSizeLiteralContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def FILESIZE_LITERAL(self): - return self.getToken(frameQLParser.FILESIZE_LITERAL, 0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_fileSizeLiteral - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFileSizeLiteral" ): - listener.enterFileSizeLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFileSizeLiteral" ): - listener.exitFileSizeLiteral(self) - - - - - def fileSizeLiteral(self): - - localctx = frameQLParser.FileSizeLiteralContext(self, self._ctx, self.state) - self.enterRule(localctx, 522, self.RULE_fileSizeLiteral) - try: - self.state = 5294 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.FILESIZE_LITERAL]: - self.enterOuterAlt(localctx, 1) - self.state = 5292 - self.match(frameQLParser.FILESIZE_LITERAL) - pass - elif token in [frameQLParser.ZERO_DECIMAL, frameQLParser.ONE_DECIMAL, frameQLParser.TWO_DECIMAL, frameQLParser.DECIMAL_LITERAL]: - self.enterOuterAlt(localctx, 2) - self.state = 5293 - self.decimalLiteral() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class StringLiteralContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def STRING_LITERAL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.STRING_LITERAL) - else: - return self.getToken(frameQLParser.STRING_LITERAL, i) - - def START_NATIONAL_STRING_LITERAL(self): - return self.getToken(frameQLParser.START_NATIONAL_STRING_LITERAL, 0) - - def STRING_CHARSET_NAME(self): - return self.getToken(frameQLParser.STRING_CHARSET_NAME, 0) - - def COLLATE(self): - return self.getToken(frameQLParser.COLLATE, 0) - - def collationName(self): - return self.getTypedRuleContext(frameQLParser.CollationNameContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_stringLiteral - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStringLiteral" ): - listener.enterStringLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStringLiteral" ): - listener.exitStringLiteral(self) - - - - - def stringLiteral(self): - - localctx = frameQLParser.StringLiteralContext(self, self._ctx, self.state) - self.enterRule(localctx, 524, self.RULE_stringLiteral) - self._la = 0 # Token type - try: - self.state = 5319 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,770,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 5301 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.STRING_LITERAL, frameQLParser.STRING_CHARSET_NAME]: - self.state = 5297 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.STRING_CHARSET_NAME: - self.state = 5296 - self.match(frameQLParser.STRING_CHARSET_NAME) - - - self.state = 5299 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.START_NATIONAL_STRING_LITERAL]: - self.state = 5300 - self.match(frameQLParser.START_NATIONAL_STRING_LITERAL) - pass - else: - raise NoViableAltException(self) - - self.state = 5304 - self._errHandler.sync(self) - _alt = 1 - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt == 1: - self.state = 5303 - self.match(frameQLParser.STRING_LITERAL) - - else: - raise NoViableAltException(self) - self.state = 5306 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,766,self._ctx) - - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 5313 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.STRING_LITERAL, frameQLParser.STRING_CHARSET_NAME]: - self.state = 5309 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.STRING_CHARSET_NAME: - self.state = 5308 - self.match(frameQLParser.STRING_CHARSET_NAME) - - - self.state = 5311 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.START_NATIONAL_STRING_LITERAL]: - self.state = 5312 - self.match(frameQLParser.START_NATIONAL_STRING_LITERAL) - pass - else: - raise NoViableAltException(self) - - self.state = 5317 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,769,self._ctx) - if la_ == 1: - self.state = 5315 - self.match(frameQLParser.COLLATE) - self.state = 5316 - self.collationName() - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class BooleanLiteralContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def TRUE(self): - return self.getToken(frameQLParser.TRUE, 0) - - def FALSE(self): - return self.getToken(frameQLParser.FALSE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_booleanLiteral - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBooleanLiteral" ): - listener.enterBooleanLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBooleanLiteral" ): - listener.exitBooleanLiteral(self) - - - - - def booleanLiteral(self): - - localctx = frameQLParser.BooleanLiteralContext(self, self._ctx, self.state) - self.enterRule(localctx, 526, self.RULE_booleanLiteral) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5321 - _la = self._input.LA(1) - if not(_la==frameQLParser.FALSE or _la==frameQLParser.TRUE): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class HexadecimalLiteralContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def HEXADECIMAL_LITERAL(self): - return self.getToken(frameQLParser.HEXADECIMAL_LITERAL, 0) - - def STRING_CHARSET_NAME(self): - return self.getToken(frameQLParser.STRING_CHARSET_NAME, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_hexadecimalLiteral - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHexadecimalLiteral" ): - listener.enterHexadecimalLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHexadecimalLiteral" ): - listener.exitHexadecimalLiteral(self) - - - - - def hexadecimalLiteral(self): - - localctx = frameQLParser.HexadecimalLiteralContext(self, self._ctx, self.state) - self.enterRule(localctx, 528, self.RULE_hexadecimalLiteral) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5324 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.STRING_CHARSET_NAME: - self.state = 5323 - self.match(frameQLParser.STRING_CHARSET_NAME) - - - self.state = 5326 - self.match(frameQLParser.HEXADECIMAL_LITERAL) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class NullNotnullContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def NULL_LITERAL(self): - return self.getToken(frameQLParser.NULL_LITERAL, 0) - - def NULL_SPEC_LITERAL(self): - return self.getToken(frameQLParser.NULL_SPEC_LITERAL, 0) - - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_nullNotnull - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterNullNotnull" ): - listener.enterNullNotnull(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitNullNotnull" ): - listener.exitNullNotnull(self) - - - - - def nullNotnull(self): - - localctx = frameQLParser.NullNotnullContext(self, self._ctx, self.state) - self.enterRule(localctx, 530, self.RULE_nullNotnull) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5329 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NOT: - self.state = 5328 - self.match(frameQLParser.NOT) - - - self.state = 5331 - _la = self._input.LA(1) - if not(_la==frameQLParser.NULL_LITERAL or _la==frameQLParser.NULL_SPEC_LITERAL): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ConstantContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.nullLiteral = None # Token - - def stringLiteral(self): - return self.getTypedRuleContext(frameQLParser.StringLiteralContext,0) - - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def MINUS(self): - return self.getToken(frameQLParser.MINUS, 0) - - def hexadecimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.HexadecimalLiteralContext,0) - - - def booleanLiteral(self): - return self.getTypedRuleContext(frameQLParser.BooleanLiteralContext,0) - - - def REAL_LITERAL(self): - return self.getToken(frameQLParser.REAL_LITERAL, 0) - - def BIT_STRING(self): - return self.getToken(frameQLParser.BIT_STRING, 0) - - def NULL_LITERAL(self): - return self.getToken(frameQLParser.NULL_LITERAL, 0) - - def NULL_SPEC_LITERAL(self): - return self.getToken(frameQLParser.NULL_SPEC_LITERAL, 0) - - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_constant - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterConstant" ): - listener.enterConstant(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitConstant" ): - listener.exitConstant(self) - - - - - def constant(self): - - localctx = frameQLParser.ConstantContext(self, self._ctx, self.state) - self.enterRule(localctx, 532, self.RULE_constant) - self._la = 0 # Token type - try: - self.state = 5345 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,774,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 5333 - self.stringLiteral() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 5334 - self.decimalLiteral() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 5335 - self.match(frameQLParser.MINUS) - self.state = 5336 - self.decimalLiteral() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 5337 - self.hexadecimalLiteral() - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 5338 - self.booleanLiteral() - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 5339 - self.match(frameQLParser.REAL_LITERAL) - pass - - elif la_ == 7: - self.enterOuterAlt(localctx, 7) - self.state = 5340 - self.match(frameQLParser.BIT_STRING) - pass - - elif la_ == 8: - self.enterOuterAlt(localctx, 8) - self.state = 5342 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NOT: - self.state = 5341 - self.match(frameQLParser.NOT) - - - self.state = 5344 - localctx.nullLiteral = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.NULL_LITERAL or _la==frameQLParser.NULL_SPEC_LITERAL): - localctx.nullLiteral = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DataTypeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_dataType - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class SpatialDataTypeContext(DataTypeContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.DataTypeContext - super().__init__(parser) - self.typeName = None # Token - self.copyFrom(ctx) - - def GEOMETRYCOLLECTION(self): - return self.getToken(frameQLParser.GEOMETRYCOLLECTION, 0) - def LINESTRING(self): - return self.getToken(frameQLParser.LINESTRING, 0) - def MULTILINESTRING(self): - return self.getToken(frameQLParser.MULTILINESTRING, 0) - def MULTIPOINT(self): - return self.getToken(frameQLParser.MULTIPOINT, 0) - def MULTIPOLYGON(self): - return self.getToken(frameQLParser.MULTIPOLYGON, 0) - def POINT(self): - return self.getToken(frameQLParser.POINT, 0) - def POLYGON(self): - return self.getToken(frameQLParser.POLYGON, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSpatialDataType" ): - listener.enterSpatialDataType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSpatialDataType" ): - listener.exitSpatialDataType(self) - - - class CollectionDataTypeContext(DataTypeContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.DataTypeContext - super().__init__(parser) - self.typeName = None # Token - self.copyFrom(ctx) - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def STRING_LITERAL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.STRING_LITERAL) - else: - return self.getToken(frameQLParser.STRING_LITERAL, i) - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def ENUM(self): - return self.getToken(frameQLParser.ENUM, 0) - def SET(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.SET) - else: - return self.getToken(frameQLParser.SET, i) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - def BINARY(self): - return self.getToken(frameQLParser.BINARY, 0) - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - def COLLATE(self): - return self.getToken(frameQLParser.COLLATE, 0) - def collationName(self): - return self.getTypedRuleContext(frameQLParser.CollationNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCollectionDataType" ): - listener.enterCollectionDataType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCollectionDataType" ): - listener.exitCollectionDataType(self) - - - class DimensionDataTypeContext(DataTypeContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.DataTypeContext - super().__init__(parser) - self.typeName = None # Token - self.copyFrom(ctx) - - def TINYINT(self): - return self.getToken(frameQLParser.TINYINT, 0) - def SMALLINT(self): - return self.getToken(frameQLParser.SMALLINT, 0) - def MEDIUMINT(self): - return self.getToken(frameQLParser.MEDIUMINT, 0) - def INT(self): - return self.getToken(frameQLParser.INT, 0) - def INTEGER(self): - return self.getToken(frameQLParser.INTEGER, 0) - def BIGINT(self): - return self.getToken(frameQLParser.BIGINT, 0) - def lengthOneDimension(self): - return self.getTypedRuleContext(frameQLParser.LengthOneDimensionContext,0) - - def UNSIGNED(self): - return self.getToken(frameQLParser.UNSIGNED, 0) - def ZEROFILL(self): - return self.getToken(frameQLParser.ZEROFILL, 0) - def REAL(self): - return self.getToken(frameQLParser.REAL, 0) - def DOUBLE(self): - return self.getToken(frameQLParser.DOUBLE, 0) - def FLOAT(self): - return self.getToken(frameQLParser.FLOAT, 0) - def lengthTwoDimension(self): - return self.getTypedRuleContext(frameQLParser.LengthTwoDimensionContext,0) - - def DECIMAL(self): - return self.getToken(frameQLParser.DECIMAL, 0) - def NUMERIC(self): - return self.getToken(frameQLParser.NUMERIC, 0) - def lengthTwoOptionalDimension(self): - return self.getTypedRuleContext(frameQLParser.LengthTwoOptionalDimensionContext,0) - - def BIT(self): - return self.getToken(frameQLParser.BIT, 0) - def TIME(self): - return self.getToken(frameQLParser.TIME, 0) - def TIMESTAMP(self): - return self.getToken(frameQLParser.TIMESTAMP, 0) - def DATETIME(self): - return self.getToken(frameQLParser.DATETIME, 0) - def BINARY(self): - return self.getToken(frameQLParser.BINARY, 0) - def VARBINARY(self): - return self.getToken(frameQLParser.VARBINARY, 0) - def YEAR(self): - return self.getToken(frameQLParser.YEAR, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDimensionDataType" ): - listener.enterDimensionDataType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDimensionDataType" ): - listener.exitDimensionDataType(self) - - - class StringDataTypeContext(DataTypeContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.DataTypeContext - super().__init__(parser) - self.typeName = None # Token - self.copyFrom(ctx) - - def CHAR(self): - return self.getToken(frameQLParser.CHAR, 0) - def VARCHAR(self): - return self.getToken(frameQLParser.VARCHAR, 0) - def TINYTEXT(self): - return self.getToken(frameQLParser.TINYTEXT, 0) - def TEXT(self): - return self.getToken(frameQLParser.TEXT, 0) - def MEDIUMTEXT(self): - return self.getToken(frameQLParser.MEDIUMTEXT, 0) - def LONGTEXT(self): - return self.getToken(frameQLParser.LONGTEXT, 0) - def lengthOneDimension(self): - return self.getTypedRuleContext(frameQLParser.LengthOneDimensionContext,0) - - def BINARY(self): - return self.getToken(frameQLParser.BINARY, 0) - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - def SET(self): - return self.getToken(frameQLParser.SET, 0) - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - def COLLATE(self): - return self.getToken(frameQLParser.COLLATE, 0) - def collationName(self): - return self.getTypedRuleContext(frameQLParser.CollationNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStringDataType" ): - listener.enterStringDataType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStringDataType" ): - listener.exitStringDataType(self) - - - class SimpleDataTypeContext(DataTypeContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.DataTypeContext - super().__init__(parser) - self.typeName = None # Token - self.copyFrom(ctx) - - def DATE(self): - return self.getToken(frameQLParser.DATE, 0) - def TINYBLOB(self): - return self.getToken(frameQLParser.TINYBLOB, 0) - def BLOB(self): - return self.getToken(frameQLParser.BLOB, 0) - def MEDIUMBLOB(self): - return self.getToken(frameQLParser.MEDIUMBLOB, 0) - def LONGBLOB(self): - return self.getToken(frameQLParser.LONGBLOB, 0) - def BOOL(self): - return self.getToken(frameQLParser.BOOL, 0) - def BOOLEAN(self): - return self.getToken(frameQLParser.BOOLEAN, 0) - def SERIAL(self): - return self.getToken(frameQLParser.SERIAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSimpleDataType" ): - listener.enterSimpleDataType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSimpleDataType" ): - listener.exitSimpleDataType(self) - - - - def dataType(self): - - localctx = frameQLParser.DataTypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 534, self.RULE_dataType) - self._la = 0 # Token type - try: - self.state = 5422 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.CHAR, frameQLParser.VARCHAR, frameQLParser.TINYTEXT, frameQLParser.TEXT, frameQLParser.MEDIUMTEXT, frameQLParser.LONGTEXT]: - localctx = frameQLParser.StringDataTypeContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 5347 - localctx.typeName = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 189)) & ~0x3f) == 0 and ((1 << (_la - 189)) & ((1 << (frameQLParser.CHAR - 189)) | (1 << (frameQLParser.VARCHAR - 189)) | (1 << (frameQLParser.TINYTEXT - 189)) | (1 << (frameQLParser.TEXT - 189)) | (1 << (frameQLParser.MEDIUMTEXT - 189)) | (1 << (frameQLParser.LONGTEXT - 189)))) != 0)): - localctx.typeName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5349 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,775,self._ctx) - if la_ == 1: - self.state = 5348 - self.lengthOneDimension() - - - self.state = 5352 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.BINARY: - self.state = 5351 - self.match(frameQLParser.BINARY) - - - self.state = 5357 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CHARACTER: - self.state = 5354 - self.match(frameQLParser.CHARACTER) - self.state = 5355 - self.match(frameQLParser.SET) - self.state = 5356 - self.charsetName() - - - self.state = 5361 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLLATE: - self.state = 5359 - self.match(frameQLParser.COLLATE) - self.state = 5360 - self.collationName() - - - pass - elif token in [frameQLParser.TINYINT, frameQLParser.SMALLINT, frameQLParser.MEDIUMINT, frameQLParser.INT, frameQLParser.INTEGER, frameQLParser.BIGINT]: - localctx = frameQLParser.DimensionDataTypeContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 5363 - localctx.typeName = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 173)) & ~0x3f) == 0 and ((1 << (_la - 173)) & ((1 << (frameQLParser.TINYINT - 173)) | (1 << (frameQLParser.SMALLINT - 173)) | (1 << (frameQLParser.MEDIUMINT - 173)) | (1 << (frameQLParser.INT - 173)) | (1 << (frameQLParser.INTEGER - 173)) | (1 << (frameQLParser.BIGINT - 173)))) != 0)): - localctx.typeName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5365 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,779,self._ctx) - if la_ == 1: - self.state = 5364 - self.lengthOneDimension() - - - self.state = 5368 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.UNSIGNED: - self.state = 5367 - self.match(frameQLParser.UNSIGNED) - - - self.state = 5371 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ZEROFILL: - self.state = 5370 - self.match(frameQLParser.ZEROFILL) - - - pass - elif token in [frameQLParser.REAL, frameQLParser.DOUBLE, frameQLParser.FLOAT]: - localctx = frameQLParser.DimensionDataTypeContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 5373 - localctx.typeName = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 179)) & ~0x3f) == 0 and ((1 << (_la - 179)) & ((1 << (frameQLParser.REAL - 179)) | (1 << (frameQLParser.DOUBLE - 179)) | (1 << (frameQLParser.FLOAT - 179)))) != 0)): - localctx.typeName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5375 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,782,self._ctx) - if la_ == 1: - self.state = 5374 - self.lengthTwoDimension() - - - self.state = 5378 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.UNSIGNED: - self.state = 5377 - self.match(frameQLParser.UNSIGNED) - - - self.state = 5381 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ZEROFILL: - self.state = 5380 - self.match(frameQLParser.ZEROFILL) - - - pass - elif token in [frameQLParser.DECIMAL, frameQLParser.NUMERIC]: - localctx = frameQLParser.DimensionDataTypeContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 5383 - localctx.typeName = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DECIMAL or _la==frameQLParser.NUMERIC): - localctx.typeName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5385 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,785,self._ctx) - if la_ == 1: - self.state = 5384 - self.lengthTwoOptionalDimension() - - - self.state = 5388 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.UNSIGNED: - self.state = 5387 - self.match(frameQLParser.UNSIGNED) - - - self.state = 5391 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ZEROFILL: - self.state = 5390 - self.match(frameQLParser.ZEROFILL) - - - pass - elif token in [frameQLParser.DATE, frameQLParser.TINYBLOB, frameQLParser.BLOB, frameQLParser.MEDIUMBLOB, frameQLParser.LONGBLOB, frameQLParser.SERIAL, frameQLParser.BOOL, frameQLParser.BOOLEAN]: - localctx = frameQLParser.SimpleDataTypeContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 5393 - localctx.typeName = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TINYBLOB - 184)) | (1 << (frameQLParser.BLOB - 184)) | (1 << (frameQLParser.MEDIUMBLOB - 184)) | (1 << (frameQLParser.LONGBLOB - 184)) | (1 << (frameQLParser.SERIAL - 184)))) != 0) or _la==frameQLParser.BOOL or _la==frameQLParser.BOOLEAN): - localctx.typeName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - elif token in [frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.BINARY, frameQLParser.VARBINARY, frameQLParser.BIT]: - localctx = frameQLParser.DimensionDataTypeContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 5394 - localctx.typeName = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 185)) & ~0x3f) == 0 and ((1 << (_la - 185)) & ((1 << (frameQLParser.TIME - 185)) | (1 << (frameQLParser.TIMESTAMP - 185)) | (1 << (frameQLParser.DATETIME - 185)) | (1 << (frameQLParser.YEAR - 185)) | (1 << (frameQLParser.BINARY - 185)) | (1 << (frameQLParser.VARBINARY - 185)))) != 0) or _la==frameQLParser.BIT): - localctx.typeName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5396 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,788,self._ctx) - if la_ == 1: - self.state = 5395 - self.lengthOneDimension() - - - pass - elif token in [frameQLParser.SET, frameQLParser.ENUM]: - localctx = frameQLParser.CollectionDataTypeContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 5398 - localctx.typeName = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.SET or _la==frameQLParser.ENUM): - localctx.typeName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5399 - self.match(frameQLParser.LR_BRACKET) - self.state = 5400 - self.match(frameQLParser.STRING_LITERAL) - self.state = 5405 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5401 - self.match(frameQLParser.COMMA) - self.state = 5402 - self.match(frameQLParser.STRING_LITERAL) - self.state = 5407 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 5408 - self.match(frameQLParser.RR_BRACKET) - self.state = 5410 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.BINARY: - self.state = 5409 - self.match(frameQLParser.BINARY) - - - self.state = 5415 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CHARACTER: - self.state = 5412 - self.match(frameQLParser.CHARACTER) - self.state = 5413 - self.match(frameQLParser.SET) - self.state = 5414 - self.charsetName() - - - self.state = 5419 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLLATE: - self.state = 5417 - self.match(frameQLParser.COLLATE) - self.state = 5418 - self.collationName() - - - pass - elif token in [frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON]: - localctx = frameQLParser.SpatialDataTypeContext(self, localctx) - self.enterOuterAlt(localctx, 8) - self.state = 5421 - localctx.typeName = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 630)) & ~0x3f) == 0 and ((1 << (_la - 630)) & ((1 << (frameQLParser.GEOMETRYCOLLECTION - 630)) | (1 << (frameQLParser.LINESTRING - 630)) | (1 << (frameQLParser.MULTILINESTRING - 630)) | (1 << (frameQLParser.MULTIPOINT - 630)) | (1 << (frameQLParser.MULTIPOLYGON - 630)) | (1 << (frameQLParser.POINT - 630)) | (1 << (frameQLParser.POLYGON - 630)))) != 0)): - localctx.typeName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ConvertedDataTypeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.typeName = None # Token - - def BINARY(self): - return self.getToken(frameQLParser.BINARY, 0) - - def NCHAR(self): - return self.getToken(frameQLParser.NCHAR, 0) - - def lengthOneDimension(self): - return self.getTypedRuleContext(frameQLParser.LengthOneDimensionContext,0) - - - def CHAR(self): - return self.getToken(frameQLParser.CHAR, 0) - - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - - def DATE(self): - return self.getToken(frameQLParser.DATE, 0) - - def DATETIME(self): - return self.getToken(frameQLParser.DATETIME, 0) - - def TIME(self): - return self.getToken(frameQLParser.TIME, 0) - - def DECIMAL(self): - return self.getToken(frameQLParser.DECIMAL, 0) - - def lengthTwoDimension(self): - return self.getTypedRuleContext(frameQLParser.LengthTwoDimensionContext,0) - - - def SIGNED(self): - return self.getToken(frameQLParser.SIGNED, 0) - - def UNSIGNED(self): - return self.getToken(frameQLParser.UNSIGNED, 0) - - def INTEGER(self): - return self.getToken(frameQLParser.INTEGER, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_convertedDataType - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterConvertedDataType" ): - listener.enterConvertedDataType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitConvertedDataType" ): - listener.exitConvertedDataType(self) - - - - - def convertedDataType(self): - - localctx = frameQLParser.ConvertedDataTypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 536, self.RULE_convertedDataType) - self._la = 0 # Token type - try: - self.state = 5446 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.BINARY, frameQLParser.NCHAR]: - self.enterOuterAlt(localctx, 1) - self.state = 5424 - localctx.typeName = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.BINARY or _la==frameQLParser.NCHAR): - localctx.typeName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5426 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 5425 - self.lengthOneDimension() - - - pass - elif token in [frameQLParser.CHAR]: - self.enterOuterAlt(localctx, 2) - self.state = 5428 - localctx.typeName = self.match(frameQLParser.CHAR) - self.state = 5430 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 5429 - self.lengthOneDimension() - - - self.state = 5435 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CHARACTER: - self.state = 5432 - self.match(frameQLParser.CHARACTER) - self.state = 5433 - self.match(frameQLParser.SET) - self.state = 5434 - self.charsetName() - - - pass - elif token in [frameQLParser.DATE, frameQLParser.TIME, frameQLParser.DATETIME]: - self.enterOuterAlt(localctx, 3) - self.state = 5437 - localctx.typeName = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.DATETIME - 184)))) != 0)): - localctx.typeName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - elif token in [frameQLParser.DECIMAL]: - self.enterOuterAlt(localctx, 4) - self.state = 5438 - localctx.typeName = self.match(frameQLParser.DECIMAL) - self.state = 5440 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 5439 - self.lengthTwoDimension() - - - pass - elif token in [frameQLParser.UNSIGNED, frameQLParser.SIGNED]: - self.enterOuterAlt(localctx, 5) - self.state = 5442 - _la = self._input.LA(1) - if not(_la==frameQLParser.UNSIGNED or _la==frameQLParser.SIGNED): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5444 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INTEGER: - self.state = 5443 - self.match(frameQLParser.INTEGER) - - - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class LengthOneDimensionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_lengthOneDimension - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLengthOneDimension" ): - listener.enterLengthOneDimension(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLengthOneDimension" ): - listener.exitLengthOneDimension(self) - - - - - def lengthOneDimension(self): - - localctx = frameQLParser.LengthOneDimensionContext(self, self._ctx, self.state) - self.enterRule(localctx, 538, self.RULE_lengthOneDimension) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5448 - self.match(frameQLParser.LR_BRACKET) - self.state = 5449 - self.decimalLiteral() - self.state = 5450 - self.match(frameQLParser.RR_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class LengthTwoDimensionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def decimalLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DecimalLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,i) - - - def COMMA(self): - return self.getToken(frameQLParser.COMMA, 0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_lengthTwoDimension - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLengthTwoDimension" ): - listener.enterLengthTwoDimension(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLengthTwoDimension" ): - listener.exitLengthTwoDimension(self) - - - - - def lengthTwoDimension(self): - - localctx = frameQLParser.LengthTwoDimensionContext(self, self._ctx, self.state) - self.enterRule(localctx, 540, self.RULE_lengthTwoDimension) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5452 - self.match(frameQLParser.LR_BRACKET) - self.state = 5453 - self.decimalLiteral() - self.state = 5454 - self.match(frameQLParser.COMMA) - self.state = 5455 - self.decimalLiteral() - self.state = 5456 - self.match(frameQLParser.RR_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class LengthTwoOptionalDimensionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def decimalLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DecimalLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,i) - - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def COMMA(self): - return self.getToken(frameQLParser.COMMA, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_lengthTwoOptionalDimension - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLengthTwoOptionalDimension" ): - listener.enterLengthTwoOptionalDimension(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLengthTwoOptionalDimension" ): - listener.exitLengthTwoOptionalDimension(self) - - - - - def lengthTwoOptionalDimension(self): - - localctx = frameQLParser.LengthTwoOptionalDimensionContext(self, self._ctx, self.state) - self.enterRule(localctx, 542, self.RULE_lengthTwoOptionalDimension) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5458 - self.match(frameQLParser.LR_BRACKET) - self.state = 5459 - self.decimalLiteral() - self.state = 5462 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COMMA: - self.state = 5460 - self.match(frameQLParser.COMMA) - self.state = 5461 - self.decimalLiteral() - - - self.state = 5464 - self.match(frameQLParser.RR_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class UidListContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_uidList - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUidList" ): - listener.enterUidList(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUidList" ): - listener.exitUidList(self) - - - - - def uidList(self): - - localctx = frameQLParser.UidListContext(self, self._ctx, self.state) - self.enterRule(localctx, 544, self.RULE_uidList) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5466 - self.uid() - self.state = 5471 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,801,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 5467 - self.match(frameQLParser.COMMA) - self.state = 5468 - self.uid() - self.state = 5473 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,801,self._ctx) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TablesContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def tableName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TableNameContext) - else: - return self.getTypedRuleContext(frameQLParser.TableNameContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_tables - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTables" ): - listener.enterTables(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTables" ): - listener.exitTables(self) - - - - - def tables(self): - - localctx = frameQLParser.TablesContext(self, self._ctx, self.state) - self.enterRule(localctx, 546, self.RULE_tables) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5474 - self.tableName() - self.state = 5479 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,802,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 5475 - self.match(frameQLParser.COMMA) - self.state = 5476 - self.tableName() - self.state = 5481 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,802,self._ctx) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class IndexColumnNamesContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def indexColumnName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IndexColumnNameContext) - else: - return self.getTypedRuleContext(frameQLParser.IndexColumnNameContext,i) - - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_indexColumnNames - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIndexColumnNames" ): - listener.enterIndexColumnNames(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIndexColumnNames" ): - listener.exitIndexColumnNames(self) - - - - - def indexColumnNames(self): - - localctx = frameQLParser.IndexColumnNamesContext(self, self._ctx, self.state) - self.enterRule(localctx, 548, self.RULE_indexColumnNames) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5482 - self.match(frameQLParser.LR_BRACKET) - self.state = 5483 - self.indexColumnName() - self.state = 5488 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5484 - self.match(frameQLParser.COMMA) - self.state = 5485 - self.indexColumnName() - self.state = 5490 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 5491 - self.match(frameQLParser.RR_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ExpressionsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def expression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_expressions - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExpressions" ): - listener.enterExpressions(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExpressions" ): - listener.exitExpressions(self) - - - - - def expressions(self): - - localctx = frameQLParser.ExpressionsContext(self, self._ctx, self.state) - self.enterRule(localctx, 550, self.RULE_expressions) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5493 - self.expression(0) - self.state = 5498 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5494 - self.match(frameQLParser.COMMA) - self.state = 5495 - self.expression(0) - self.state = 5500 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ExpressionsWithDefaultsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def expressionOrDefault(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionOrDefaultContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionOrDefaultContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_expressionsWithDefaults - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExpressionsWithDefaults" ): - listener.enterExpressionsWithDefaults(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExpressionsWithDefaults" ): - listener.exitExpressionsWithDefaults(self) - - - - - def expressionsWithDefaults(self): - - localctx = frameQLParser.ExpressionsWithDefaultsContext(self, self._ctx, self.state) - self.enterRule(localctx, 552, self.RULE_expressionsWithDefaults) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5501 - self.expressionOrDefault() - self.state = 5506 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5502 - self.match(frameQLParser.COMMA) - self.state = 5503 - self.expressionOrDefault() - self.state = 5508 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ConstantsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def constant(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ConstantContext) - else: - return self.getTypedRuleContext(frameQLParser.ConstantContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_constants - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterConstants" ): - listener.enterConstants(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitConstants" ): - listener.exitConstants(self) - - - - - def constants(self): - - localctx = frameQLParser.ConstantsContext(self, self._ctx, self.state) - self.enterRule(localctx, 554, self.RULE_constants) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5509 - self.constant() - self.state = 5514 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5510 - self.match(frameQLParser.COMMA) - self.state = 5511 - self.constant() - self.state = 5516 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SimpleStringsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def STRING_LITERAL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.STRING_LITERAL) - else: - return self.getToken(frameQLParser.STRING_LITERAL, i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_simpleStrings - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSimpleStrings" ): - listener.enterSimpleStrings(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSimpleStrings" ): - listener.exitSimpleStrings(self) - - - - - def simpleStrings(self): - - localctx = frameQLParser.SimpleStringsContext(self, self._ctx, self.state) - self.enterRule(localctx, 556, self.RULE_simpleStrings) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5517 - self.match(frameQLParser.STRING_LITERAL) - self.state = 5522 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5518 - self.match(frameQLParser.COMMA) - self.state = 5519 - self.match(frameQLParser.STRING_LITERAL) - self.state = 5524 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class UserVariablesContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LOCAL_ID(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.LOCAL_ID) - else: - return self.getToken(frameQLParser.LOCAL_ID, i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_userVariables - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUserVariables" ): - listener.enterUserVariables(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUserVariables" ): - listener.exitUserVariables(self) - - - - - def userVariables(self): - - localctx = frameQLParser.UserVariablesContext(self, self._ctx, self.state) - self.enterRule(localctx, 558, self.RULE_userVariables) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5525 - self.match(frameQLParser.LOCAL_ID) - self.state = 5530 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5526 - self.match(frameQLParser.COMMA) - self.state = 5527 - self.match(frameQLParser.LOCAL_ID) - self.state = 5532 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DefaultValueContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def NULL_LITERAL(self): - return self.getToken(frameQLParser.NULL_LITERAL, 0) - - def constant(self): - return self.getTypedRuleContext(frameQLParser.ConstantContext,0) - - - def currentTimestamp(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.CurrentTimestampContext) - else: - return self.getTypedRuleContext(frameQLParser.CurrentTimestampContext,i) - - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - - def UPDATE(self): - return self.getToken(frameQLParser.UPDATE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_defaultValue - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDefaultValue" ): - listener.enterDefaultValue(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDefaultValue" ): - listener.exitDefaultValue(self) - - - - - def defaultValue(self): - - localctx = frameQLParser.DefaultValueContext(self, self._ctx, self.state) - self.enterRule(localctx, 560, self.RULE_defaultValue) - self._la = 0 # Token type - try: - self.state = 5541 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,810,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 5533 - self.match(frameQLParser.NULL_LITERAL) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 5534 - self.constant() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 5535 - self.currentTimestamp() - self.state = 5539 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ON: - self.state = 5536 - self.match(frameQLParser.ON) - self.state = 5537 - self.match(frameQLParser.UPDATE) - self.state = 5538 - self.currentTimestamp() - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CurrentTimestampContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def NOW(self): - return self.getToken(frameQLParser.NOW, 0) - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def CURRENT_TIMESTAMP(self): - return self.getToken(frameQLParser.CURRENT_TIMESTAMP, 0) - - def LOCALTIME(self): - return self.getToken(frameQLParser.LOCALTIME, 0) - - def LOCALTIMESTAMP(self): - return self.getToken(frameQLParser.LOCALTIMESTAMP, 0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_currentTimestamp - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCurrentTimestamp" ): - listener.enterCurrentTimestamp(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCurrentTimestamp" ): - listener.exitCurrentTimestamp(self) - - - - - def currentTimestamp(self): - - localctx = frameQLParser.CurrentTimestampContext(self, self._ctx, self.state) - self.enterRule(localctx, 562, self.RULE_currentTimestamp) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5557 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.CURRENT_TIMESTAMP, frameQLParser.LOCALTIME, frameQLParser.LOCALTIMESTAMP]: - self.state = 5543 - _la = self._input.LA(1) - if not(((((_la - 233)) & ~0x3f) == 0 and ((1 << (_la - 233)) & ((1 << (frameQLParser.CURRENT_TIMESTAMP - 233)) | (1 << (frameQLParser.LOCALTIME - 233)) | (1 << (frameQLParser.LOCALTIMESTAMP - 233)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5549 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 5544 - self.match(frameQLParser.LR_BRACKET) - self.state = 5546 - self._errHandler.sync(self) - _la = self._input.LA(1) - if ((((_la - 958)) & ~0x3f) == 0 and ((1 << (_la - 958)) & ((1 << (frameQLParser.ZERO_DECIMAL - 958)) | (1 << (frameQLParser.ONE_DECIMAL - 958)) | (1 << (frameQLParser.TWO_DECIMAL - 958)) | (1 << (frameQLParser.DECIMAL_LITERAL - 958)))) != 0): - self.state = 5545 - self.decimalLiteral() - - - self.state = 5548 - self.match(frameQLParser.RR_BRACKET) - - - pass - elif token in [frameQLParser.NOW]: - self.state = 5551 - self.match(frameQLParser.NOW) - self.state = 5552 - self.match(frameQLParser.LR_BRACKET) - self.state = 5554 - self._errHandler.sync(self) - _la = self._input.LA(1) - if ((((_la - 958)) & ~0x3f) == 0 and ((1 << (_la - 958)) & ((1 << (frameQLParser.ZERO_DECIMAL - 958)) | (1 << (frameQLParser.ONE_DECIMAL - 958)) | (1 << (frameQLParser.TWO_DECIMAL - 958)) | (1 << (frameQLParser.DECIMAL_LITERAL - 958)))) != 0): - self.state = 5553 - self.decimalLiteral() - - - self.state = 5556 - self.match(frameQLParser.RR_BRACKET) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ExpressionOrDefaultContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_expressionOrDefault - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExpressionOrDefault" ): - listener.enterExpressionOrDefault(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExpressionOrDefault" ): - listener.exitExpressionOrDefault(self) - - - - - def expressionOrDefault(self): - - localctx = frameQLParser.ExpressionOrDefaultContext(self, self._ctx, self.state) - self.enterRule(localctx, 564, self.RULE_expressionOrDefault) - try: - self.state = 5561 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.CASE, frameQLParser.CAST, frameQLParser.CONVERT, frameQLParser.CURRENT_USER, frameQLParser.DATABASE, frameQLParser.EXISTS, frameQLParser.FALSE, frameQLParser.IF, frameQLParser.INSERT, frameQLParser.INTERVAL, frameQLParser.LEFT, frameQLParser.NOT, frameQLParser.NULL_LITERAL, frameQLParser.REPLACE, frameQLParser.RIGHT, frameQLParser.TRUE, frameQLParser.VALUES, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.CHAR, frameQLParser.BINARY, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.AVG, frameQLParser.BIT_AND, frameQLParser.BIT_OR, frameQLParser.BIT_XOR, frameQLParser.COUNT, frameQLParser.GROUP_CONCAT, frameQLParser.MAX, frameQLParser.MIN, frameQLParser.STD, frameQLParser.STDDEV, frameQLParser.STDDEV_POP, frameQLParser.STDDEV_SAMP, frameQLParser.SUM, frameQLParser.VAR_POP, frameQLParser.VAR_SAMP, frameQLParser.VARIANCE, frameQLParser.FCOUNT, frameQLParser.CURRENT_DATE, frameQLParser.CURRENT_TIME, frameQLParser.CURRENT_TIMESTAMP, frameQLParser.LOCALTIME, frameQLParser.CURDATE, frameQLParser.CURTIME, frameQLParser.DATE_ADD, frameQLParser.DATE_SUB, frameQLParser.EXTRACT, frameQLParser.LOCALTIMESTAMP, frameQLParser.NOW, frameQLParser.POSITION, frameQLParser.SUBSTR, frameQLParser.SUBSTRING, frameQLParser.SYSDATE, frameQLParser.TRIM, frameQLParser.UTC_DATE, frameQLParser.UTC_TIME, frameQLParser.UTC_TIMESTAMP, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.PLUS, frameQLParser.MINUS, frameQLParser.EXCLAMATION_SYMBOL, frameQLParser.BIT_NOT_OP, frameQLParser.LR_BRACKET, frameQLParser.ZERO_DECIMAL, frameQLParser.ONE_DECIMAL, frameQLParser.TWO_DECIMAL, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.START_NATIONAL_STRING_LITERAL, frameQLParser.STRING_LITERAL, frameQLParser.DECIMAL_LITERAL, frameQLParser.HEXADECIMAL_LITERAL, frameQLParser.REAL_LITERAL, frameQLParser.NULL_SPEC_LITERAL, frameQLParser.BIT_STRING, frameQLParser.STRING_CHARSET_NAME, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID, frameQLParser.LOCAL_ID, frameQLParser.GLOBAL_ID]: - self.enterOuterAlt(localctx, 1) - self.state = 5559 - self.expression(0) - pass - elif token in [frameQLParser.DEFAULT]: - self.enterOuterAlt(localctx, 2) - self.state = 5560 - self.match(frameQLParser.DEFAULT) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class IfExistsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def IF(self): - return self.getToken(frameQLParser.IF, 0) - - def EXISTS(self): - return self.getToken(frameQLParser.EXISTS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_ifExists - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIfExists" ): - listener.enterIfExists(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIfExists" ): - listener.exitIfExists(self) - - - - - def ifExists(self): - - localctx = frameQLParser.IfExistsContext(self, self._ctx, self.state) - self.enterRule(localctx, 566, self.RULE_ifExists) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5563 - self.match(frameQLParser.IF) - self.state = 5564 - self.match(frameQLParser.EXISTS) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class IfNotExistsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def IF(self): - return self.getToken(frameQLParser.IF, 0) - - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def EXISTS(self): - return self.getToken(frameQLParser.EXISTS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_ifNotExists - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIfNotExists" ): - listener.enterIfNotExists(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIfNotExists" ): - listener.exitIfNotExists(self) - - - - - def ifNotExists(self): - - localctx = frameQLParser.IfNotExistsContext(self, self._ctx, self.state) - self.enterRule(localctx, 568, self.RULE_ifNotExists) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5566 - self.match(frameQLParser.IF) - self.state = 5567 - self.match(frameQLParser.NOT) - self.state = 5568 - self.match(frameQLParser.EXISTS) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class FunctionCallContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_functionCall - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class SpecificFunctionCallContext(FunctionCallContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.FunctionCallContext - super().__init__(parser) - self.copyFrom(ctx) - - def specificFunction(self): - return self.getTypedRuleContext(frameQLParser.SpecificFunctionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSpecificFunctionCall" ): - listener.enterSpecificFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSpecificFunctionCall" ): - listener.exitSpecificFunctionCall(self) - - - class PasswordFunctionCallContext(FunctionCallContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.FunctionCallContext - super().__init__(parser) - self.copyFrom(ctx) - - def passwordFunctionClause(self): - return self.getTypedRuleContext(frameQLParser.PasswordFunctionClauseContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPasswordFunctionCall" ): - listener.enterPasswordFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPasswordFunctionCall" ): - listener.exitPasswordFunctionCall(self) - - - class UdfFunctionCallContext(FunctionCallContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.FunctionCallContext - super().__init__(parser) - self.copyFrom(ctx) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def functionArgs(self): - return self.getTypedRuleContext(frameQLParser.FunctionArgsContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUdfFunctionCall" ): - listener.enterUdfFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUdfFunctionCall" ): - listener.exitUdfFunctionCall(self) - - - class AggregateFunctionCallContext(FunctionCallContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.FunctionCallContext - super().__init__(parser) - self.copyFrom(ctx) - - def aggregateWindowedFunction(self): - return self.getTypedRuleContext(frameQLParser.AggregateWindowedFunctionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAggregateFunctionCall" ): - listener.enterAggregateFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAggregateFunctionCall" ): - listener.exitAggregateFunctionCall(self) - - - class ScalarFunctionCallContext(FunctionCallContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.FunctionCallContext - super().__init__(parser) - self.copyFrom(ctx) - - def scalarFunctionName(self): - return self.getTypedRuleContext(frameQLParser.ScalarFunctionNameContext,0) - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def functionArgs(self): - return self.getTypedRuleContext(frameQLParser.FunctionArgsContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterScalarFunctionCall" ): - listener.enterScalarFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitScalarFunctionCall" ): - listener.exitScalarFunctionCall(self) - - - - def functionCall(self): - - localctx = frameQLParser.FunctionCallContext(self, self._ctx, self.state) - self.enterRule(localctx, 570, self.RULE_functionCall) - self._la = 0 # Token type - try: - self.state = 5587 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,818,self._ctx) - if la_ == 1: - localctx = frameQLParser.SpecificFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 5570 - self.specificFunction() - pass - - elif la_ == 2: - localctx = frameQLParser.AggregateFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 5571 - self.aggregateWindowedFunction() - pass - - elif la_ == 3: - localctx = frameQLParser.ScalarFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 5572 - self.scalarFunctionName() - self.state = 5573 - self.match(frameQLParser.LR_BRACKET) - self.state = 5575 - self._errHandler.sync(self) - _la = self._input.LA(1) - if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << frameQLParser.CASE) | (1 << frameQLParser.CAST) | (1 << frameQLParser.CONVERT) | (1 << frameQLParser.CURRENT_USER) | (1 << frameQLParser.DATABASE) | (1 << frameQLParser.EXISTS) | (1 << frameQLParser.FALSE))) != 0) or ((((_la - 68)) & ~0x3f) == 0 and ((1 << (_la - 68)) & ((1 << (frameQLParser.IF - 68)) | (1 << (frameQLParser.INSERT - 68)) | (1 << (frameQLParser.INTERVAL - 68)) | (1 << (frameQLParser.LEFT - 68)) | (1 << (frameQLParser.NOT - 68)) | (1 << (frameQLParser.NULL_LITERAL - 68)) | (1 << (frameQLParser.REPLACE - 68)) | (1 << (frameQLParser.RIGHT - 68)))) != 0) or ((((_la - 155)) & ~0x3f) == 0 and ((1 << (_la - 155)) & ((1 << (frameQLParser.TRUE - 155)) | (1 << (frameQLParser.VALUES - 155)) | (1 << (frameQLParser.DATE - 155)) | (1 << (frameQLParser.TIME - 155)) | (1 << (frameQLParser.TIMESTAMP - 155)) | (1 << (frameQLParser.DATETIME - 155)) | (1 << (frameQLParser.YEAR - 155)) | (1 << (frameQLParser.CHAR - 155)) | (1 << (frameQLParser.BINARY - 155)) | (1 << (frameQLParser.TEXT - 155)) | (1 << (frameQLParser.ENUM - 155)) | (1 << (frameQLParser.SERIAL - 155)) | (1 << (frameQLParser.AVG - 155)) | (1 << (frameQLParser.BIT_AND - 155)) | (1 << (frameQLParser.BIT_OR - 155)) | (1 << (frameQLParser.BIT_XOR - 155)) | (1 << (frameQLParser.COUNT - 155)))) != 0) or ((((_la - 219)) & ~0x3f) == 0 and ((1 << (_la - 219)) & ((1 << (frameQLParser.GROUP_CONCAT - 219)) | (1 << (frameQLParser.MAX - 219)) | (1 << (frameQLParser.MIN - 219)) | (1 << (frameQLParser.STD - 219)) | (1 << (frameQLParser.STDDEV - 219)) | (1 << (frameQLParser.STDDEV_POP - 219)) | (1 << (frameQLParser.STDDEV_SAMP - 219)) | (1 << (frameQLParser.SUM - 219)) | (1 << (frameQLParser.VAR_POP - 219)) | (1 << (frameQLParser.VAR_SAMP - 219)) | (1 << (frameQLParser.VARIANCE - 219)) | (1 << (frameQLParser.FCOUNT - 219)) | (1 << (frameQLParser.CURRENT_DATE - 219)) | (1 << (frameQLParser.CURRENT_TIME - 219)) | (1 << (frameQLParser.CURRENT_TIMESTAMP - 219)) | (1 << (frameQLParser.LOCALTIME - 219)) | (1 << (frameQLParser.CURDATE - 219)) | (1 << (frameQLParser.CURTIME - 219)) | (1 << (frameQLParser.DATE_ADD - 219)) | (1 << (frameQLParser.DATE_SUB - 219)) | (1 << (frameQLParser.EXTRACT - 219)) | (1 << (frameQLParser.LOCALTIMESTAMP - 219)) | (1 << (frameQLParser.NOW - 219)) | (1 << (frameQLParser.POSITION - 219)) | (1 << (frameQLParser.SUBSTR - 219)) | (1 << (frameQLParser.SUBSTRING - 219)) | (1 << (frameQLParser.SYSDATE - 219)) | (1 << (frameQLParser.TRIM - 219)) | (1 << (frameQLParser.UTC_DATE - 219)) | (1 << (frameQLParser.UTC_TIME - 219)) | (1 << (frameQLParser.UTC_TIMESTAMP - 219)) | (1 << (frameQLParser.ACCOUNT - 219)) | (1 << (frameQLParser.ACTION - 219)) | (1 << (frameQLParser.AFTER - 219)) | (1 << (frameQLParser.AGGREGATE - 219)) | (1 << (frameQLParser.ALGORITHM - 219)) | (1 << (frameQLParser.ANY - 219)) | (1 << (frameQLParser.AT - 219)) | (1 << (frameQLParser.AUTHORS - 219)) | (1 << (frameQLParser.AUTOCOMMIT - 219)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 219)) | (1 << (frameQLParser.AUTO_INCREMENT - 219)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 219)) | (1 << (frameQLParser.BEGIN - 219)) | (1 << (frameQLParser.BINLOG - 219)) | (1 << (frameQLParser.BIT - 219)) | (1 << (frameQLParser.BLOCK - 219)) | (1 << (frameQLParser.BOOL - 219)) | (1 << (frameQLParser.BOOLEAN - 219)) | (1 << (frameQLParser.BTREE - 219)) | (1 << (frameQLParser.CASCADED - 219)) | (1 << (frameQLParser.CHAIN - 219)) | (1 << (frameQLParser.CHANGED - 219)) | (1 << (frameQLParser.CHANNEL - 219)) | (1 << (frameQLParser.CHECKSUM - 219)) | (1 << (frameQLParser.CIPHER - 219)) | (1 << (frameQLParser.CLIENT - 219)) | (1 << (frameQLParser.COALESCE - 219)) | (1 << (frameQLParser.CODE - 219)) | (1 << (frameQLParser.COLUMNS - 219)) | (1 << (frameQLParser.COLUMN_FORMAT - 219)) | (1 << (frameQLParser.COMMENT - 219)))) != 0) or ((((_la - 283)) & ~0x3f) == 0 and ((1 << (_la - 283)) & ((1 << (frameQLParser.COMMIT - 283)) | (1 << (frameQLParser.COMPACT - 283)) | (1 << (frameQLParser.COMPLETION - 283)) | (1 << (frameQLParser.COMPRESSED - 283)) | (1 << (frameQLParser.COMPRESSION - 283)) | (1 << (frameQLParser.CONCURRENT - 283)) | (1 << (frameQLParser.CONNECTION - 283)) | (1 << (frameQLParser.CONSISTENT - 283)) | (1 << (frameQLParser.CONTAINS - 283)) | (1 << (frameQLParser.CONTEXT - 283)) | (1 << (frameQLParser.CONTRIBUTORS - 283)) | (1 << (frameQLParser.COPY - 283)) | (1 << (frameQLParser.CPU - 283)) | (1 << (frameQLParser.DATA - 283)) | (1 << (frameQLParser.DATAFILE - 283)) | (1 << (frameQLParser.DEALLOCATE - 283)) | (1 << (frameQLParser.DEFAULT_AUTH - 283)) | (1 << (frameQLParser.DEFINER - 283)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 283)) | (1 << (frameQLParser.DIRECTORY - 283)) | (1 << (frameQLParser.DISABLE - 283)) | (1 << (frameQLParser.DISCARD - 283)) | (1 << (frameQLParser.DISK - 283)) | (1 << (frameQLParser.DO - 283)) | (1 << (frameQLParser.DUMPFILE - 283)) | (1 << (frameQLParser.DUPLICATE - 283)) | (1 << (frameQLParser.DYNAMIC - 283)) | (1 << (frameQLParser.ENABLE - 283)) | (1 << (frameQLParser.ENCRYPTION - 283)) | (1 << (frameQLParser.ENDS - 283)) | (1 << (frameQLParser.ENGINE - 283)) | (1 << (frameQLParser.ENGINES - 283)) | (1 << (frameQLParser.ERROR - 283)) | (1 << (frameQLParser.ERRORS - 283)) | (1 << (frameQLParser.ESCAPE - 283)) | (1 << (frameQLParser.EVEN - 283)) | (1 << (frameQLParser.EVENT - 283)) | (1 << (frameQLParser.EVENTS - 283)) | (1 << (frameQLParser.EVERY - 283)) | (1 << (frameQLParser.EXCHANGE - 283)) | (1 << (frameQLParser.EXCLUSIVE - 283)) | (1 << (frameQLParser.EXPIRE - 283)) | (1 << (frameQLParser.EXTENDED - 283)) | (1 << (frameQLParser.EXTENT_SIZE - 283)) | (1 << (frameQLParser.FAST - 283)) | (1 << (frameQLParser.FAULTS - 283)) | (1 << (frameQLParser.FIELDS - 283)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 283)) | (1 << (frameQLParser.FILTER - 283)) | (1 << (frameQLParser.FIRST - 283)) | (1 << (frameQLParser.FIXED - 283)) | (1 << (frameQLParser.FOLLOWS - 283)) | (1 << (frameQLParser.FULL - 283)) | (1 << (frameQLParser.FUNCTION - 283)) | (1 << (frameQLParser.GLOBAL - 283)) | (1 << (frameQLParser.GRANTS - 283)) | (1 << (frameQLParser.GROUP_REPLICATION - 283)))) != 0) or ((((_la - 347)) & ~0x3f) == 0 and ((1 << (_la - 347)) & ((1 << (frameQLParser.HASH - 347)) | (1 << (frameQLParser.HOST - 347)) | (1 << (frameQLParser.IDENTIFIED - 347)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 347)) | (1 << (frameQLParser.IMPORT - 347)) | (1 << (frameQLParser.INDEXES - 347)) | (1 << (frameQLParser.INITIAL_SIZE - 347)) | (1 << (frameQLParser.INPLACE - 347)) | (1 << (frameQLParser.INSERT_METHOD - 347)) | (1 << (frameQLParser.INSTANCE - 347)) | (1 << (frameQLParser.INVOKER - 347)) | (1 << (frameQLParser.IO - 347)) | (1 << (frameQLParser.IO_THREAD - 347)) | (1 << (frameQLParser.IPC - 347)) | (1 << (frameQLParser.ISOLATION - 347)) | (1 << (frameQLParser.ISSUER - 347)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 347)) | (1 << (frameQLParser.LANGUAGE - 347)) | (1 << (frameQLParser.LAST - 347)) | (1 << (frameQLParser.LEAVES - 347)) | (1 << (frameQLParser.LESS - 347)) | (1 << (frameQLParser.LEVEL - 347)) | (1 << (frameQLParser.LIST - 347)) | (1 << (frameQLParser.LOCAL - 347)) | (1 << (frameQLParser.LOGFILE - 347)) | (1 << (frameQLParser.LOGS - 347)) | (1 << (frameQLParser.MASTER - 347)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 347)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 347)) | (1 << (frameQLParser.MASTER_DELAY - 347)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 347)) | (1 << (frameQLParser.MASTER_HOST - 347)) | (1 << (frameQLParser.MASTER_LOG_FILE - 347)) | (1 << (frameQLParser.MASTER_LOG_POS - 347)) | (1 << (frameQLParser.MASTER_PASSWORD - 347)) | (1 << (frameQLParser.MASTER_PORT - 347)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 347)) | (1 << (frameQLParser.MASTER_SSL - 347)) | (1 << (frameQLParser.MASTER_SSL_CA - 347)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 347)) | (1 << (frameQLParser.MASTER_SSL_CERT - 347)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 347)) | (1 << (frameQLParser.MASTER_SSL_CRL - 347)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 347)) | (1 << (frameQLParser.MASTER_SSL_KEY - 347)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 347)) | (1 << (frameQLParser.MASTER_USER - 347)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 347)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 347)) | (1 << (frameQLParser.MAX_ROWS - 347)) | (1 << (frameQLParser.MAX_SIZE - 347)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 347)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 347)) | (1 << (frameQLParser.MEDIUM - 347)) | (1 << (frameQLParser.MERGE - 347)) | (1 << (frameQLParser.MID - 347)) | (1 << (frameQLParser.MIGRATE - 347)) | (1 << (frameQLParser.MIN_ROWS - 347)) | (1 << (frameQLParser.MODIFY - 347)))) != 0) or ((((_la - 411)) & ~0x3f) == 0 and ((1 << (_la - 411)) & ((1 << (frameQLParser.MUTEX - 411)) | (1 << (frameQLParser.MYSQL - 411)) | (1 << (frameQLParser.NAME - 411)) | (1 << (frameQLParser.NAMES - 411)) | (1 << (frameQLParser.NCHAR - 411)) | (1 << (frameQLParser.NEVER - 411)) | (1 << (frameQLParser.NO - 411)) | (1 << (frameQLParser.NODEGROUP - 411)) | (1 << (frameQLParser.NONE - 411)) | (1 << (frameQLParser.OFFLINE - 411)) | (1 << (frameQLParser.OFFSET - 411)) | (1 << (frameQLParser.OJ - 411)) | (1 << (frameQLParser.OLD_PASSWORD - 411)) | (1 << (frameQLParser.ONE - 411)) | (1 << (frameQLParser.ONLINE - 411)) | (1 << (frameQLParser.ONLY - 411)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 411)) | (1 << (frameQLParser.OPTIONS - 411)) | (1 << (frameQLParser.OWNER - 411)) | (1 << (frameQLParser.PACK_KEYS - 411)) | (1 << (frameQLParser.PAGE - 411)) | (1 << (frameQLParser.PARSER - 411)) | (1 << (frameQLParser.PARTIAL - 411)) | (1 << (frameQLParser.PARTITIONING - 411)) | (1 << (frameQLParser.PARTITIONS - 411)) | (1 << (frameQLParser.PASSWORD - 411)) | (1 << (frameQLParser.PHASE - 411)) | (1 << (frameQLParser.PLUGIN_DIR - 411)) | (1 << (frameQLParser.PLUGINS - 411)) | (1 << (frameQLParser.PORT - 411)) | (1 << (frameQLParser.PRECEDES - 411)) | (1 << (frameQLParser.PREPARE - 411)) | (1 << (frameQLParser.PRESERVE - 411)) | (1 << (frameQLParser.PREV - 411)) | (1 << (frameQLParser.PROCESSLIST - 411)) | (1 << (frameQLParser.PROFILE - 411)) | (1 << (frameQLParser.PROFILES - 411)) | (1 << (frameQLParser.PROXY - 411)) | (1 << (frameQLParser.QUERY - 411)) | (1 << (frameQLParser.QUICK - 411)) | (1 << (frameQLParser.REBUILD - 411)) | (1 << (frameQLParser.RECOVER - 411)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 411)) | (1 << (frameQLParser.REDUNDANT - 411)) | (1 << (frameQLParser.RELAY_LOG_FILE - 411)) | (1 << (frameQLParser.RELAY_LOG_POS - 411)) | (1 << (frameQLParser.RELAYLOG - 411)) | (1 << (frameQLParser.REMOVE - 411)) | (1 << (frameQLParser.REORGANIZE - 411)) | (1 << (frameQLParser.REPAIR - 411)) | (1 << (frameQLParser.REPLICATE_DO_DB - 411)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 411)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 411)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 411)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 411)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 411)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 411)) | (1 << (frameQLParser.REPLICATION - 411)) | (1 << (frameQLParser.RESUME - 411)))) != 0) or ((((_la - 475)) & ~0x3f) == 0 and ((1 << (_la - 475)) & ((1 << (frameQLParser.RETURNS - 475)) | (1 << (frameQLParser.ROLLBACK - 475)) | (1 << (frameQLParser.ROLLUP - 475)) | (1 << (frameQLParser.ROTATE - 475)) | (1 << (frameQLParser.ROW - 475)) | (1 << (frameQLParser.ROWS - 475)) | (1 << (frameQLParser.ROW_FORMAT - 475)) | (1 << (frameQLParser.SAVEPOINT - 475)) | (1 << (frameQLParser.SCHEDULE - 475)) | (1 << (frameQLParser.SECURITY - 475)) | (1 << (frameQLParser.SERVER - 475)) | (1 << (frameQLParser.SESSION - 475)) | (1 << (frameQLParser.SHARE - 475)) | (1 << (frameQLParser.SHARED - 475)) | (1 << (frameQLParser.SIGNED - 475)) | (1 << (frameQLParser.SIMPLE - 475)) | (1 << (frameQLParser.SLAVE - 475)) | (1 << (frameQLParser.SNAPSHOT - 475)) | (1 << (frameQLParser.SOCKET - 475)) | (1 << (frameQLParser.SOME - 475)) | (1 << (frameQLParser.SOUNDS - 475)) | (1 << (frameQLParser.SOURCE - 475)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 475)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 475)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 475)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 475)) | (1 << (frameQLParser.SQL_CACHE - 475)) | (1 << (frameQLParser.SQL_NO_CACHE - 475)) | (1 << (frameQLParser.SQL_THREAD - 475)) | (1 << (frameQLParser.START - 475)) | (1 << (frameQLParser.STARTS - 475)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 475)) | (1 << (frameQLParser.STATS_PERSISTENT - 475)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 475)) | (1 << (frameQLParser.STATUS - 475)) | (1 << (frameQLParser.STOP - 475)) | (1 << (frameQLParser.STORAGE - 475)) | (1 << (frameQLParser.STRING - 475)) | (1 << (frameQLParser.SUBJECT - 475)) | (1 << (frameQLParser.SUBPARTITION - 475)) | (1 << (frameQLParser.SUBPARTITIONS - 475)) | (1 << (frameQLParser.SUSPEND - 475)) | (1 << (frameQLParser.SWAPS - 475)) | (1 << (frameQLParser.SWITCHES - 475)) | (1 << (frameQLParser.TABLESPACE - 475)) | (1 << (frameQLParser.TEMPORARY - 475)) | (1 << (frameQLParser.TEMPTABLE - 475)) | (1 << (frameQLParser.THAN - 475)) | (1 << (frameQLParser.TRANSACTION - 475)) | (1 << (frameQLParser.TRUNCATE - 475)) | (1 << (frameQLParser.UNDEFINED - 475)) | (1 << (frameQLParser.UNDOFILE - 475)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 475)) | (1 << (frameQLParser.UNKNOWN - 475)) | (1 << (frameQLParser.UPGRADE - 475)) | (1 << (frameQLParser.USER - 475)))) != 0) or ((((_la - 540)) & ~0x3f) == 0 and ((1 << (_la - 540)) & ((1 << (frameQLParser.VALIDATION - 540)) | (1 << (frameQLParser.VALUE - 540)) | (1 << (frameQLParser.VARIABLES - 540)) | (1 << (frameQLParser.VIEW - 540)) | (1 << (frameQLParser.WAIT - 540)) | (1 << (frameQLParser.WARNINGS - 540)) | (1 << (frameQLParser.WITHOUT - 540)) | (1 << (frameQLParser.WORK - 540)) | (1 << (frameQLParser.WRAPPER - 540)) | (1 << (frameQLParser.X509 - 540)) | (1 << (frameQLParser.XA - 540)) | (1 << (frameQLParser.XML - 540)) | (1 << (frameQLParser.QUARTER - 540)) | (1 << (frameQLParser.MONTH - 540)) | (1 << (frameQLParser.DAY - 540)) | (1 << (frameQLParser.HOUR - 540)) | (1 << (frameQLParser.MINUTE - 540)) | (1 << (frameQLParser.WEEK - 540)) | (1 << (frameQLParser.SECOND - 540)) | (1 << (frameQLParser.MICROSECOND - 540)) | (1 << (frameQLParser.TABLES - 540)) | (1 << (frameQLParser.ROUTINE - 540)) | (1 << (frameQLParser.EXECUTE - 540)) | (1 << (frameQLParser.FILE - 540)) | (1 << (frameQLParser.PROCESS - 540)) | (1 << (frameQLParser.RELOAD - 540)) | (1 << (frameQLParser.SHUTDOWN - 540)) | (1 << (frameQLParser.SUPER - 540)) | (1 << (frameQLParser.PRIVILEGES - 540)) | (1 << (frameQLParser.ARMSCII8 - 540)) | (1 << (frameQLParser.ASCII - 540)) | (1 << (frameQLParser.BIG5 - 540)) | (1 << (frameQLParser.CP1250 - 540)) | (1 << (frameQLParser.CP1251 - 540)) | (1 << (frameQLParser.CP1256 - 540)) | (1 << (frameQLParser.CP1257 - 540)) | (1 << (frameQLParser.CP850 - 540)) | (1 << (frameQLParser.CP852 - 540)) | (1 << (frameQLParser.CP866 - 540)) | (1 << (frameQLParser.CP932 - 540)) | (1 << (frameQLParser.DEC8 - 540)) | (1 << (frameQLParser.EUCJPMS - 540)) | (1 << (frameQLParser.EUCKR - 540)) | (1 << (frameQLParser.GB2312 - 540)) | (1 << (frameQLParser.GBK - 540)) | (1 << (frameQLParser.GEOSTD8 - 540)) | (1 << (frameQLParser.GREEK - 540)) | (1 << (frameQLParser.HEBREW - 540)) | (1 << (frameQLParser.HP8 - 540)) | (1 << (frameQLParser.KEYBCS2 - 540)) | (1 << (frameQLParser.KOI8R - 540)) | (1 << (frameQLParser.KOI8U - 540)) | (1 << (frameQLParser.LATIN1 - 540)) | (1 << (frameQLParser.LATIN2 - 540)) | (1 << (frameQLParser.LATIN5 - 540)) | (1 << (frameQLParser.LATIN7 - 540)) | (1 << (frameQLParser.MACCE - 540)) | (1 << (frameQLParser.MACROMAN - 540)))) != 0) or ((((_la - 604)) & ~0x3f) == 0 and ((1 << (_la - 604)) & ((1 << (frameQLParser.SJIS - 604)) | (1 << (frameQLParser.SWE7 - 604)) | (1 << (frameQLParser.TIS620 - 604)) | (1 << (frameQLParser.UCS2 - 604)) | (1 << (frameQLParser.UJIS - 604)) | (1 << (frameQLParser.UTF16 - 604)) | (1 << (frameQLParser.UTF16LE - 604)) | (1 << (frameQLParser.UTF32 - 604)) | (1 << (frameQLParser.UTF8 - 604)) | (1 << (frameQLParser.UTF8MB3 - 604)) | (1 << (frameQLParser.UTF8MB4 - 604)) | (1 << (frameQLParser.ARCHIVE - 604)) | (1 << (frameQLParser.BLACKHOLE - 604)) | (1 << (frameQLParser.CSV - 604)) | (1 << (frameQLParser.FEDERATED - 604)) | (1 << (frameQLParser.INNODB - 604)) | (1 << (frameQLParser.MEMORY - 604)) | (1 << (frameQLParser.MRG_MYISAM - 604)) | (1 << (frameQLParser.MYISAM - 604)) | (1 << (frameQLParser.NDB - 604)) | (1 << (frameQLParser.NDBCLUSTER - 604)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 604)) | (1 << (frameQLParser.REPEATABLE - 604)) | (1 << (frameQLParser.COMMITTED - 604)) | (1 << (frameQLParser.UNCOMMITTED - 604)) | (1 << (frameQLParser.SERIALIZABLE - 604)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 604)) | (1 << (frameQLParser.LINESTRING - 604)) | (1 << (frameQLParser.MULTILINESTRING - 604)) | (1 << (frameQLParser.MULTIPOINT - 604)) | (1 << (frameQLParser.MULTIPOLYGON - 604)) | (1 << (frameQLParser.POINT - 604)) | (1 << (frameQLParser.POLYGON - 604)) | (1 << (frameQLParser.ABS - 604)) | (1 << (frameQLParser.ACOS - 604)) | (1 << (frameQLParser.ADDDATE - 604)) | (1 << (frameQLParser.ADDTIME - 604)) | (1 << (frameQLParser.AES_DECRYPT - 604)) | (1 << (frameQLParser.AES_ENCRYPT - 604)) | (1 << (frameQLParser.AREA - 604)) | (1 << (frameQLParser.ASBINARY - 604)) | (1 << (frameQLParser.ASIN - 604)) | (1 << (frameQLParser.ASTEXT - 604)) | (1 << (frameQLParser.ASWKB - 604)) | (1 << (frameQLParser.ASWKT - 604)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 604)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 604)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 604)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 604)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 604)) | (1 << (frameQLParser.ATAN - 604)) | (1 << (frameQLParser.ATAN2 - 604)) | (1 << (frameQLParser.BENCHMARK - 604)) | (1 << (frameQLParser.BIN - 604)) | (1 << (frameQLParser.BIT_COUNT - 604)) | (1 << (frameQLParser.BIT_LENGTH - 604)) | (1 << (frameQLParser.BUFFER - 604)) | (1 << (frameQLParser.CEIL - 604)) | (1 << (frameQLParser.CEILING - 604)) | (1 << (frameQLParser.CENTROID - 604)) | (1 << (frameQLParser.CHARACTER_LENGTH - 604)) | (1 << (frameQLParser.CHARSET - 604)) | (1 << (frameQLParser.CHAR_LENGTH - 604)) | (1 << (frameQLParser.COERCIBILITY - 604)))) != 0) or ((((_la - 668)) & ~0x3f) == 0 and ((1 << (_la - 668)) & ((1 << (frameQLParser.COLLATION - 668)) | (1 << (frameQLParser.COMPRESS - 668)) | (1 << (frameQLParser.CONCAT - 668)) | (1 << (frameQLParser.CONCAT_WS - 668)) | (1 << (frameQLParser.CONNECTION_ID - 668)) | (1 << (frameQLParser.CONV - 668)) | (1 << (frameQLParser.CONVERT_TZ - 668)) | (1 << (frameQLParser.COS - 668)) | (1 << (frameQLParser.COT - 668)) | (1 << (frameQLParser.CRC32 - 668)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 668)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 668)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 668)) | (1 << (frameQLParser.CREATE_DIGEST - 668)) | (1 << (frameQLParser.CROSSES - 668)) | (1 << (frameQLParser.DATEDIFF - 668)) | (1 << (frameQLParser.DATE_FORMAT - 668)) | (1 << (frameQLParser.DAYNAME - 668)) | (1 << (frameQLParser.DAYOFMONTH - 668)) | (1 << (frameQLParser.DAYOFWEEK - 668)) | (1 << (frameQLParser.DAYOFYEAR - 668)) | (1 << (frameQLParser.DECODE - 668)) | (1 << (frameQLParser.DEGREES - 668)) | (1 << (frameQLParser.DES_DECRYPT - 668)) | (1 << (frameQLParser.DES_ENCRYPT - 668)) | (1 << (frameQLParser.DIMENSION - 668)) | (1 << (frameQLParser.DISJOINT - 668)) | (1 << (frameQLParser.ELT - 668)) | (1 << (frameQLParser.ENCODE - 668)) | (1 << (frameQLParser.ENCRYPT - 668)) | (1 << (frameQLParser.ENDPOINT - 668)) | (1 << (frameQLParser.ENVELOPE - 668)) | (1 << (frameQLParser.EQUALS - 668)) | (1 << (frameQLParser.EXP - 668)) | (1 << (frameQLParser.EXPORT_SET - 668)) | (1 << (frameQLParser.EXTERIORRING - 668)) | (1 << (frameQLParser.EXTRACTVALUE - 668)) | (1 << (frameQLParser.FIELD - 668)) | (1 << (frameQLParser.FIND_IN_SET - 668)) | (1 << (frameQLParser.FLOOR - 668)) | (1 << (frameQLParser.FORMAT - 668)) | (1 << (frameQLParser.FOUND_ROWS - 668)) | (1 << (frameQLParser.FROM_BASE64 - 668)) | (1 << (frameQLParser.FROM_DAYS - 668)) | (1 << (frameQLParser.FROM_UNIXTIME - 668)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 668)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 668)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 668)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 668)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 668)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 668)) | (1 << (frameQLParser.GEOMETRYN - 668)) | (1 << (frameQLParser.GEOMETRYTYPE - 668)) | (1 << (frameQLParser.GEOMFROMTEXT - 668)) | (1 << (frameQLParser.GEOMFROMWKB - 668)) | (1 << (frameQLParser.GET_FORMAT - 668)) | (1 << (frameQLParser.GET_LOCK - 668)) | (1 << (frameQLParser.GLENGTH - 668)) | (1 << (frameQLParser.GREATEST - 668)) | (1 << (frameQLParser.GTID_SUBSET - 668)) | (1 << (frameQLParser.GTID_SUBTRACT - 668)) | (1 << (frameQLParser.HEX - 668)) | (1 << (frameQLParser.IFNULL - 668)) | (1 << (frameQLParser.INET6_ATON - 668)))) != 0) or ((((_la - 732)) & ~0x3f) == 0 and ((1 << (_la - 732)) & ((1 << (frameQLParser.INET6_NTOA - 732)) | (1 << (frameQLParser.INET_ATON - 732)) | (1 << (frameQLParser.INET_NTOA - 732)) | (1 << (frameQLParser.INSTR - 732)) | (1 << (frameQLParser.INTERIORRINGN - 732)) | (1 << (frameQLParser.INTERSECTS - 732)) | (1 << (frameQLParser.ISCLOSED - 732)) | (1 << (frameQLParser.ISEMPTY - 732)) | (1 << (frameQLParser.ISNULL - 732)) | (1 << (frameQLParser.ISSIMPLE - 732)) | (1 << (frameQLParser.IS_FREE_LOCK - 732)) | (1 << (frameQLParser.IS_IPV4 - 732)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 732)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 732)) | (1 << (frameQLParser.IS_IPV6 - 732)) | (1 << (frameQLParser.IS_USED_LOCK - 732)) | (1 << (frameQLParser.LAST_INSERT_ID - 732)) | (1 << (frameQLParser.LCASE - 732)) | (1 << (frameQLParser.LEAST - 732)) | (1 << (frameQLParser.LENGTH - 732)) | (1 << (frameQLParser.LINEFROMTEXT - 732)) | (1 << (frameQLParser.LINEFROMWKB - 732)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 732)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 732)) | (1 << (frameQLParser.LN - 732)) | (1 << (frameQLParser.LOAD_FILE - 732)) | (1 << (frameQLParser.LOCATE - 732)) | (1 << (frameQLParser.LOG - 732)) | (1 << (frameQLParser.LOG10 - 732)) | (1 << (frameQLParser.LOG2 - 732)) | (1 << (frameQLParser.LOWER - 732)) | (1 << (frameQLParser.LPAD - 732)) | (1 << (frameQLParser.LTRIM - 732)) | (1 << (frameQLParser.MAKEDATE - 732)) | (1 << (frameQLParser.MAKETIME - 732)) | (1 << (frameQLParser.MAKE_SET - 732)) | (1 << (frameQLParser.MASTER_POS_WAIT - 732)) | (1 << (frameQLParser.MBRCONTAINS - 732)) | (1 << (frameQLParser.MBRDISJOINT - 732)) | (1 << (frameQLParser.MBREQUAL - 732)) | (1 << (frameQLParser.MBRINTERSECTS - 732)) | (1 << (frameQLParser.MBROVERLAPS - 732)) | (1 << (frameQLParser.MBRTOUCHES - 732)) | (1 << (frameQLParser.MBRWITHIN - 732)) | (1 << (frameQLParser.MD5 - 732)) | (1 << (frameQLParser.MLINEFROMTEXT - 732)) | (1 << (frameQLParser.MLINEFROMWKB - 732)) | (1 << (frameQLParser.MONTHNAME - 732)) | (1 << (frameQLParser.MPOINTFROMTEXT - 732)) | (1 << (frameQLParser.MPOINTFROMWKB - 732)) | (1 << (frameQLParser.MPOLYFROMTEXT - 732)) | (1 << (frameQLParser.MPOLYFROMWKB - 732)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 732)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 732)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 732)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 732)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 732)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 732)) | (1 << (frameQLParser.NAME_CONST - 732)) | (1 << (frameQLParser.NULLIF - 732)) | (1 << (frameQLParser.NUMGEOMETRIES - 732)) | (1 << (frameQLParser.NUMINTERIORRINGS - 732)) | (1 << (frameQLParser.NUMPOINTS - 732)) | (1 << (frameQLParser.OCT - 732)))) != 0) or ((((_la - 796)) & ~0x3f) == 0 and ((1 << (_la - 796)) & ((1 << (frameQLParser.OCTET_LENGTH - 796)) | (1 << (frameQLParser.ORD - 796)) | (1 << (frameQLParser.OVERLAPS - 796)) | (1 << (frameQLParser.PERIOD_ADD - 796)) | (1 << (frameQLParser.PERIOD_DIFF - 796)) | (1 << (frameQLParser.PI - 796)) | (1 << (frameQLParser.POINTFROMTEXT - 796)) | (1 << (frameQLParser.POINTFROMWKB - 796)) | (1 << (frameQLParser.POINTN - 796)) | (1 << (frameQLParser.POLYFROMTEXT - 796)) | (1 << (frameQLParser.POLYFROMWKB - 796)) | (1 << (frameQLParser.POLYGONFROMTEXT - 796)) | (1 << (frameQLParser.POLYGONFROMWKB - 796)) | (1 << (frameQLParser.POW - 796)) | (1 << (frameQLParser.POWER - 796)) | (1 << (frameQLParser.QUOTE - 796)) | (1 << (frameQLParser.RADIANS - 796)) | (1 << (frameQLParser.RAND - 796)) | (1 << (frameQLParser.RANDOM_BYTES - 796)) | (1 << (frameQLParser.RELEASE_LOCK - 796)) | (1 << (frameQLParser.REVERSE - 796)) | (1 << (frameQLParser.ROUND - 796)) | (1 << (frameQLParser.ROW_COUNT - 796)) | (1 << (frameQLParser.RPAD - 796)) | (1 << (frameQLParser.RTRIM - 796)) | (1 << (frameQLParser.SEC_TO_TIME - 796)) | (1 << (frameQLParser.SESSION_USER - 796)) | (1 << (frameQLParser.SHA - 796)) | (1 << (frameQLParser.SHA1 - 796)) | (1 << (frameQLParser.SHA2 - 796)) | (1 << (frameQLParser.SIGN - 796)) | (1 << (frameQLParser.SIN - 796)) | (1 << (frameQLParser.SLEEP - 796)) | (1 << (frameQLParser.SOUNDEX - 796)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 796)) | (1 << (frameQLParser.SQRT - 796)) | (1 << (frameQLParser.SRID - 796)) | (1 << (frameQLParser.STARTPOINT - 796)) | (1 << (frameQLParser.STRCMP - 796)) | (1 << (frameQLParser.STR_TO_DATE - 796)) | (1 << (frameQLParser.ST_AREA - 796)) | (1 << (frameQLParser.ST_ASBINARY - 796)) | (1 << (frameQLParser.ST_ASTEXT - 796)) | (1 << (frameQLParser.ST_ASWKB - 796)) | (1 << (frameQLParser.ST_ASWKT - 796)) | (1 << (frameQLParser.ST_BUFFER - 796)) | (1 << (frameQLParser.ST_CENTROID - 796)) | (1 << (frameQLParser.ST_CONTAINS - 796)) | (1 << (frameQLParser.ST_CROSSES - 796)) | (1 << (frameQLParser.ST_DIFFERENCE - 796)) | (1 << (frameQLParser.ST_DIMENSION - 796)) | (1 << (frameQLParser.ST_DISJOINT - 796)) | (1 << (frameQLParser.ST_DISTANCE - 796)) | (1 << (frameQLParser.ST_ENDPOINT - 796)) | (1 << (frameQLParser.ST_ENVELOPE - 796)) | (1 << (frameQLParser.ST_EQUALS - 796)) | (1 << (frameQLParser.ST_EXTERIORRING - 796)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 796)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 796)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 796)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 796)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 796)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 796)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 796)))) != 0) or ((((_la - 860)) & ~0x3f) == 0 and ((1 << (_la - 860)) & ((1 << (frameQLParser.ST_GEOMETRYN - 860)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 860)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 860)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 860)) | (1 << (frameQLParser.ST_INTERIORRINGN - 860)) | (1 << (frameQLParser.ST_INTERSECTION - 860)) | (1 << (frameQLParser.ST_INTERSECTS - 860)) | (1 << (frameQLParser.ST_ISCLOSED - 860)) | (1 << (frameQLParser.ST_ISEMPTY - 860)) | (1 << (frameQLParser.ST_ISSIMPLE - 860)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 860)) | (1 << (frameQLParser.ST_LINEFROMWKB - 860)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 860)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 860)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 860)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 860)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 860)) | (1 << (frameQLParser.ST_NUMPOINTS - 860)) | (1 << (frameQLParser.ST_OVERLAPS - 860)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 860)) | (1 << (frameQLParser.ST_POINTFROMWKB - 860)) | (1 << (frameQLParser.ST_POINTN - 860)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 860)) | (1 << (frameQLParser.ST_POLYFROMWKB - 860)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 860)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 860)) | (1 << (frameQLParser.ST_SRID - 860)) | (1 << (frameQLParser.ST_STARTPOINT - 860)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 860)) | (1 << (frameQLParser.ST_TOUCHES - 860)) | (1 << (frameQLParser.ST_UNION - 860)) | (1 << (frameQLParser.ST_WITHIN - 860)) | (1 << (frameQLParser.ST_X - 860)) | (1 << (frameQLParser.ST_Y - 860)) | (1 << (frameQLParser.SUBDATE - 860)) | (1 << (frameQLParser.SUBSTRING_INDEX - 860)) | (1 << (frameQLParser.SUBTIME - 860)) | (1 << (frameQLParser.SYSTEM_USER - 860)) | (1 << (frameQLParser.TAN - 860)) | (1 << (frameQLParser.TIMEDIFF - 860)) | (1 << (frameQLParser.TIMESTAMPADD - 860)) | (1 << (frameQLParser.TIMESTAMPDIFF - 860)) | (1 << (frameQLParser.TIME_FORMAT - 860)) | (1 << (frameQLParser.TIME_TO_SEC - 860)) | (1 << (frameQLParser.TOUCHES - 860)) | (1 << (frameQLParser.TO_BASE64 - 860)) | (1 << (frameQLParser.TO_DAYS - 860)) | (1 << (frameQLParser.TO_SECONDS - 860)) | (1 << (frameQLParser.UCASE - 860)) | (1 << (frameQLParser.UNCOMPRESS - 860)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 860)) | (1 << (frameQLParser.UNHEX - 860)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 860)) | (1 << (frameQLParser.UPDATEXML - 860)) | (1 << (frameQLParser.UPPER - 860)) | (1 << (frameQLParser.UUID - 860)) | (1 << (frameQLParser.UUID_SHORT - 860)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 860)) | (1 << (frameQLParser.VERSION - 860)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 860)) | (1 << (frameQLParser.WEEKDAY - 860)) | (1 << (frameQLParser.WEEKOFYEAR - 860)) | (1 << (frameQLParser.WEIGHT_STRING - 860)) | (1 << (frameQLParser.WITHIN - 860)))) != 0) or ((((_la - 924)) & ~0x3f) == 0 and ((1 << (_la - 924)) & ((1 << (frameQLParser.YEARWEEK - 924)) | (1 << (frameQLParser.Y_FUNCTION - 924)) | (1 << (frameQLParser.X_FUNCTION - 924)) | (1 << (frameQLParser.PLUS - 924)) | (1 << (frameQLParser.MINUS - 924)) | (1 << (frameQLParser.EXCLAMATION_SYMBOL - 924)) | (1 << (frameQLParser.BIT_NOT_OP - 924)) | (1 << (frameQLParser.LR_BRACKET - 924)) | (1 << (frameQLParser.ZERO_DECIMAL - 924)) | (1 << (frameQLParser.ONE_DECIMAL - 924)) | (1 << (frameQLParser.TWO_DECIMAL - 924)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 924)) | (1 << (frameQLParser.START_NATIONAL_STRING_LITERAL - 924)) | (1 << (frameQLParser.STRING_LITERAL - 924)) | (1 << (frameQLParser.DECIMAL_LITERAL - 924)) | (1 << (frameQLParser.HEXADECIMAL_LITERAL - 924)) | (1 << (frameQLParser.REAL_LITERAL - 924)) | (1 << (frameQLParser.NULL_SPEC_LITERAL - 924)) | (1 << (frameQLParser.BIT_STRING - 924)) | (1 << (frameQLParser.STRING_CHARSET_NAME - 924)) | (1 << (frameQLParser.ID - 924)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 924)) | (1 << (frameQLParser.LOCAL_ID - 924)) | (1 << (frameQLParser.GLOBAL_ID - 924)))) != 0): - self.state = 5574 - self.functionArgs() - - - self.state = 5577 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 4: - localctx = frameQLParser.UdfFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 5579 - self.fullId() - self.state = 5580 - self.match(frameQLParser.LR_BRACKET) - self.state = 5582 - self._errHandler.sync(self) - _la = self._input.LA(1) - if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << frameQLParser.CASE) | (1 << frameQLParser.CAST) | (1 << frameQLParser.CONVERT) | (1 << frameQLParser.CURRENT_USER) | (1 << frameQLParser.DATABASE) | (1 << frameQLParser.EXISTS) | (1 << frameQLParser.FALSE))) != 0) or ((((_la - 68)) & ~0x3f) == 0 and ((1 << (_la - 68)) & ((1 << (frameQLParser.IF - 68)) | (1 << (frameQLParser.INSERT - 68)) | (1 << (frameQLParser.INTERVAL - 68)) | (1 << (frameQLParser.LEFT - 68)) | (1 << (frameQLParser.NOT - 68)) | (1 << (frameQLParser.NULL_LITERAL - 68)) | (1 << (frameQLParser.REPLACE - 68)) | (1 << (frameQLParser.RIGHT - 68)))) != 0) or ((((_la - 155)) & ~0x3f) == 0 and ((1 << (_la - 155)) & ((1 << (frameQLParser.TRUE - 155)) | (1 << (frameQLParser.VALUES - 155)) | (1 << (frameQLParser.DATE - 155)) | (1 << (frameQLParser.TIME - 155)) | (1 << (frameQLParser.TIMESTAMP - 155)) | (1 << (frameQLParser.DATETIME - 155)) | (1 << (frameQLParser.YEAR - 155)) | (1 << (frameQLParser.CHAR - 155)) | (1 << (frameQLParser.BINARY - 155)) | (1 << (frameQLParser.TEXT - 155)) | (1 << (frameQLParser.ENUM - 155)) | (1 << (frameQLParser.SERIAL - 155)) | (1 << (frameQLParser.AVG - 155)) | (1 << (frameQLParser.BIT_AND - 155)) | (1 << (frameQLParser.BIT_OR - 155)) | (1 << (frameQLParser.BIT_XOR - 155)) | (1 << (frameQLParser.COUNT - 155)))) != 0) or ((((_la - 219)) & ~0x3f) == 0 and ((1 << (_la - 219)) & ((1 << (frameQLParser.GROUP_CONCAT - 219)) | (1 << (frameQLParser.MAX - 219)) | (1 << (frameQLParser.MIN - 219)) | (1 << (frameQLParser.STD - 219)) | (1 << (frameQLParser.STDDEV - 219)) | (1 << (frameQLParser.STDDEV_POP - 219)) | (1 << (frameQLParser.STDDEV_SAMP - 219)) | (1 << (frameQLParser.SUM - 219)) | (1 << (frameQLParser.VAR_POP - 219)) | (1 << (frameQLParser.VAR_SAMP - 219)) | (1 << (frameQLParser.VARIANCE - 219)) | (1 << (frameQLParser.FCOUNT - 219)) | (1 << (frameQLParser.CURRENT_DATE - 219)) | (1 << (frameQLParser.CURRENT_TIME - 219)) | (1 << (frameQLParser.CURRENT_TIMESTAMP - 219)) | (1 << (frameQLParser.LOCALTIME - 219)) | (1 << (frameQLParser.CURDATE - 219)) | (1 << (frameQLParser.CURTIME - 219)) | (1 << (frameQLParser.DATE_ADD - 219)) | (1 << (frameQLParser.DATE_SUB - 219)) | (1 << (frameQLParser.EXTRACT - 219)) | (1 << (frameQLParser.LOCALTIMESTAMP - 219)) | (1 << (frameQLParser.NOW - 219)) | (1 << (frameQLParser.POSITION - 219)) | (1 << (frameQLParser.SUBSTR - 219)) | (1 << (frameQLParser.SUBSTRING - 219)) | (1 << (frameQLParser.SYSDATE - 219)) | (1 << (frameQLParser.TRIM - 219)) | (1 << (frameQLParser.UTC_DATE - 219)) | (1 << (frameQLParser.UTC_TIME - 219)) | (1 << (frameQLParser.UTC_TIMESTAMP - 219)) | (1 << (frameQLParser.ACCOUNT - 219)) | (1 << (frameQLParser.ACTION - 219)) | (1 << (frameQLParser.AFTER - 219)) | (1 << (frameQLParser.AGGREGATE - 219)) | (1 << (frameQLParser.ALGORITHM - 219)) | (1 << (frameQLParser.ANY - 219)) | (1 << (frameQLParser.AT - 219)) | (1 << (frameQLParser.AUTHORS - 219)) | (1 << (frameQLParser.AUTOCOMMIT - 219)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 219)) | (1 << (frameQLParser.AUTO_INCREMENT - 219)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 219)) | (1 << (frameQLParser.BEGIN - 219)) | (1 << (frameQLParser.BINLOG - 219)) | (1 << (frameQLParser.BIT - 219)) | (1 << (frameQLParser.BLOCK - 219)) | (1 << (frameQLParser.BOOL - 219)) | (1 << (frameQLParser.BOOLEAN - 219)) | (1 << (frameQLParser.BTREE - 219)) | (1 << (frameQLParser.CASCADED - 219)) | (1 << (frameQLParser.CHAIN - 219)) | (1 << (frameQLParser.CHANGED - 219)) | (1 << (frameQLParser.CHANNEL - 219)) | (1 << (frameQLParser.CHECKSUM - 219)) | (1 << (frameQLParser.CIPHER - 219)) | (1 << (frameQLParser.CLIENT - 219)) | (1 << (frameQLParser.COALESCE - 219)) | (1 << (frameQLParser.CODE - 219)) | (1 << (frameQLParser.COLUMNS - 219)) | (1 << (frameQLParser.COLUMN_FORMAT - 219)) | (1 << (frameQLParser.COMMENT - 219)))) != 0) or ((((_la - 283)) & ~0x3f) == 0 and ((1 << (_la - 283)) & ((1 << (frameQLParser.COMMIT - 283)) | (1 << (frameQLParser.COMPACT - 283)) | (1 << (frameQLParser.COMPLETION - 283)) | (1 << (frameQLParser.COMPRESSED - 283)) | (1 << (frameQLParser.COMPRESSION - 283)) | (1 << (frameQLParser.CONCURRENT - 283)) | (1 << (frameQLParser.CONNECTION - 283)) | (1 << (frameQLParser.CONSISTENT - 283)) | (1 << (frameQLParser.CONTAINS - 283)) | (1 << (frameQLParser.CONTEXT - 283)) | (1 << (frameQLParser.CONTRIBUTORS - 283)) | (1 << (frameQLParser.COPY - 283)) | (1 << (frameQLParser.CPU - 283)) | (1 << (frameQLParser.DATA - 283)) | (1 << (frameQLParser.DATAFILE - 283)) | (1 << (frameQLParser.DEALLOCATE - 283)) | (1 << (frameQLParser.DEFAULT_AUTH - 283)) | (1 << (frameQLParser.DEFINER - 283)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 283)) | (1 << (frameQLParser.DIRECTORY - 283)) | (1 << (frameQLParser.DISABLE - 283)) | (1 << (frameQLParser.DISCARD - 283)) | (1 << (frameQLParser.DISK - 283)) | (1 << (frameQLParser.DO - 283)) | (1 << (frameQLParser.DUMPFILE - 283)) | (1 << (frameQLParser.DUPLICATE - 283)) | (1 << (frameQLParser.DYNAMIC - 283)) | (1 << (frameQLParser.ENABLE - 283)) | (1 << (frameQLParser.ENCRYPTION - 283)) | (1 << (frameQLParser.ENDS - 283)) | (1 << (frameQLParser.ENGINE - 283)) | (1 << (frameQLParser.ENGINES - 283)) | (1 << (frameQLParser.ERROR - 283)) | (1 << (frameQLParser.ERRORS - 283)) | (1 << (frameQLParser.ESCAPE - 283)) | (1 << (frameQLParser.EVEN - 283)) | (1 << (frameQLParser.EVENT - 283)) | (1 << (frameQLParser.EVENTS - 283)) | (1 << (frameQLParser.EVERY - 283)) | (1 << (frameQLParser.EXCHANGE - 283)) | (1 << (frameQLParser.EXCLUSIVE - 283)) | (1 << (frameQLParser.EXPIRE - 283)) | (1 << (frameQLParser.EXTENDED - 283)) | (1 << (frameQLParser.EXTENT_SIZE - 283)) | (1 << (frameQLParser.FAST - 283)) | (1 << (frameQLParser.FAULTS - 283)) | (1 << (frameQLParser.FIELDS - 283)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 283)) | (1 << (frameQLParser.FILTER - 283)) | (1 << (frameQLParser.FIRST - 283)) | (1 << (frameQLParser.FIXED - 283)) | (1 << (frameQLParser.FOLLOWS - 283)) | (1 << (frameQLParser.FULL - 283)) | (1 << (frameQLParser.FUNCTION - 283)) | (1 << (frameQLParser.GLOBAL - 283)) | (1 << (frameQLParser.GRANTS - 283)) | (1 << (frameQLParser.GROUP_REPLICATION - 283)))) != 0) or ((((_la - 347)) & ~0x3f) == 0 and ((1 << (_la - 347)) & ((1 << (frameQLParser.HASH - 347)) | (1 << (frameQLParser.HOST - 347)) | (1 << (frameQLParser.IDENTIFIED - 347)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 347)) | (1 << (frameQLParser.IMPORT - 347)) | (1 << (frameQLParser.INDEXES - 347)) | (1 << (frameQLParser.INITIAL_SIZE - 347)) | (1 << (frameQLParser.INPLACE - 347)) | (1 << (frameQLParser.INSERT_METHOD - 347)) | (1 << (frameQLParser.INSTANCE - 347)) | (1 << (frameQLParser.INVOKER - 347)) | (1 << (frameQLParser.IO - 347)) | (1 << (frameQLParser.IO_THREAD - 347)) | (1 << (frameQLParser.IPC - 347)) | (1 << (frameQLParser.ISOLATION - 347)) | (1 << (frameQLParser.ISSUER - 347)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 347)) | (1 << (frameQLParser.LANGUAGE - 347)) | (1 << (frameQLParser.LAST - 347)) | (1 << (frameQLParser.LEAVES - 347)) | (1 << (frameQLParser.LESS - 347)) | (1 << (frameQLParser.LEVEL - 347)) | (1 << (frameQLParser.LIST - 347)) | (1 << (frameQLParser.LOCAL - 347)) | (1 << (frameQLParser.LOGFILE - 347)) | (1 << (frameQLParser.LOGS - 347)) | (1 << (frameQLParser.MASTER - 347)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 347)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 347)) | (1 << (frameQLParser.MASTER_DELAY - 347)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 347)) | (1 << (frameQLParser.MASTER_HOST - 347)) | (1 << (frameQLParser.MASTER_LOG_FILE - 347)) | (1 << (frameQLParser.MASTER_LOG_POS - 347)) | (1 << (frameQLParser.MASTER_PASSWORD - 347)) | (1 << (frameQLParser.MASTER_PORT - 347)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 347)) | (1 << (frameQLParser.MASTER_SSL - 347)) | (1 << (frameQLParser.MASTER_SSL_CA - 347)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 347)) | (1 << (frameQLParser.MASTER_SSL_CERT - 347)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 347)) | (1 << (frameQLParser.MASTER_SSL_CRL - 347)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 347)) | (1 << (frameQLParser.MASTER_SSL_KEY - 347)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 347)) | (1 << (frameQLParser.MASTER_USER - 347)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 347)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 347)) | (1 << (frameQLParser.MAX_ROWS - 347)) | (1 << (frameQLParser.MAX_SIZE - 347)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 347)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 347)) | (1 << (frameQLParser.MEDIUM - 347)) | (1 << (frameQLParser.MERGE - 347)) | (1 << (frameQLParser.MID - 347)) | (1 << (frameQLParser.MIGRATE - 347)) | (1 << (frameQLParser.MIN_ROWS - 347)) | (1 << (frameQLParser.MODIFY - 347)))) != 0) or ((((_la - 411)) & ~0x3f) == 0 and ((1 << (_la - 411)) & ((1 << (frameQLParser.MUTEX - 411)) | (1 << (frameQLParser.MYSQL - 411)) | (1 << (frameQLParser.NAME - 411)) | (1 << (frameQLParser.NAMES - 411)) | (1 << (frameQLParser.NCHAR - 411)) | (1 << (frameQLParser.NEVER - 411)) | (1 << (frameQLParser.NO - 411)) | (1 << (frameQLParser.NODEGROUP - 411)) | (1 << (frameQLParser.NONE - 411)) | (1 << (frameQLParser.OFFLINE - 411)) | (1 << (frameQLParser.OFFSET - 411)) | (1 << (frameQLParser.OJ - 411)) | (1 << (frameQLParser.OLD_PASSWORD - 411)) | (1 << (frameQLParser.ONE - 411)) | (1 << (frameQLParser.ONLINE - 411)) | (1 << (frameQLParser.ONLY - 411)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 411)) | (1 << (frameQLParser.OPTIONS - 411)) | (1 << (frameQLParser.OWNER - 411)) | (1 << (frameQLParser.PACK_KEYS - 411)) | (1 << (frameQLParser.PAGE - 411)) | (1 << (frameQLParser.PARSER - 411)) | (1 << (frameQLParser.PARTIAL - 411)) | (1 << (frameQLParser.PARTITIONING - 411)) | (1 << (frameQLParser.PARTITIONS - 411)) | (1 << (frameQLParser.PASSWORD - 411)) | (1 << (frameQLParser.PHASE - 411)) | (1 << (frameQLParser.PLUGIN_DIR - 411)) | (1 << (frameQLParser.PLUGINS - 411)) | (1 << (frameQLParser.PORT - 411)) | (1 << (frameQLParser.PRECEDES - 411)) | (1 << (frameQLParser.PREPARE - 411)) | (1 << (frameQLParser.PRESERVE - 411)) | (1 << (frameQLParser.PREV - 411)) | (1 << (frameQLParser.PROCESSLIST - 411)) | (1 << (frameQLParser.PROFILE - 411)) | (1 << (frameQLParser.PROFILES - 411)) | (1 << (frameQLParser.PROXY - 411)) | (1 << (frameQLParser.QUERY - 411)) | (1 << (frameQLParser.QUICK - 411)) | (1 << (frameQLParser.REBUILD - 411)) | (1 << (frameQLParser.RECOVER - 411)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 411)) | (1 << (frameQLParser.REDUNDANT - 411)) | (1 << (frameQLParser.RELAY_LOG_FILE - 411)) | (1 << (frameQLParser.RELAY_LOG_POS - 411)) | (1 << (frameQLParser.RELAYLOG - 411)) | (1 << (frameQLParser.REMOVE - 411)) | (1 << (frameQLParser.REORGANIZE - 411)) | (1 << (frameQLParser.REPAIR - 411)) | (1 << (frameQLParser.REPLICATE_DO_DB - 411)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 411)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 411)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 411)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 411)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 411)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 411)) | (1 << (frameQLParser.REPLICATION - 411)) | (1 << (frameQLParser.RESUME - 411)))) != 0) or ((((_la - 475)) & ~0x3f) == 0 and ((1 << (_la - 475)) & ((1 << (frameQLParser.RETURNS - 475)) | (1 << (frameQLParser.ROLLBACK - 475)) | (1 << (frameQLParser.ROLLUP - 475)) | (1 << (frameQLParser.ROTATE - 475)) | (1 << (frameQLParser.ROW - 475)) | (1 << (frameQLParser.ROWS - 475)) | (1 << (frameQLParser.ROW_FORMAT - 475)) | (1 << (frameQLParser.SAVEPOINT - 475)) | (1 << (frameQLParser.SCHEDULE - 475)) | (1 << (frameQLParser.SECURITY - 475)) | (1 << (frameQLParser.SERVER - 475)) | (1 << (frameQLParser.SESSION - 475)) | (1 << (frameQLParser.SHARE - 475)) | (1 << (frameQLParser.SHARED - 475)) | (1 << (frameQLParser.SIGNED - 475)) | (1 << (frameQLParser.SIMPLE - 475)) | (1 << (frameQLParser.SLAVE - 475)) | (1 << (frameQLParser.SNAPSHOT - 475)) | (1 << (frameQLParser.SOCKET - 475)) | (1 << (frameQLParser.SOME - 475)) | (1 << (frameQLParser.SOUNDS - 475)) | (1 << (frameQLParser.SOURCE - 475)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 475)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 475)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 475)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 475)) | (1 << (frameQLParser.SQL_CACHE - 475)) | (1 << (frameQLParser.SQL_NO_CACHE - 475)) | (1 << (frameQLParser.SQL_THREAD - 475)) | (1 << (frameQLParser.START - 475)) | (1 << (frameQLParser.STARTS - 475)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 475)) | (1 << (frameQLParser.STATS_PERSISTENT - 475)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 475)) | (1 << (frameQLParser.STATUS - 475)) | (1 << (frameQLParser.STOP - 475)) | (1 << (frameQLParser.STORAGE - 475)) | (1 << (frameQLParser.STRING - 475)) | (1 << (frameQLParser.SUBJECT - 475)) | (1 << (frameQLParser.SUBPARTITION - 475)) | (1 << (frameQLParser.SUBPARTITIONS - 475)) | (1 << (frameQLParser.SUSPEND - 475)) | (1 << (frameQLParser.SWAPS - 475)) | (1 << (frameQLParser.SWITCHES - 475)) | (1 << (frameQLParser.TABLESPACE - 475)) | (1 << (frameQLParser.TEMPORARY - 475)) | (1 << (frameQLParser.TEMPTABLE - 475)) | (1 << (frameQLParser.THAN - 475)) | (1 << (frameQLParser.TRANSACTION - 475)) | (1 << (frameQLParser.TRUNCATE - 475)) | (1 << (frameQLParser.UNDEFINED - 475)) | (1 << (frameQLParser.UNDOFILE - 475)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 475)) | (1 << (frameQLParser.UNKNOWN - 475)) | (1 << (frameQLParser.UPGRADE - 475)) | (1 << (frameQLParser.USER - 475)))) != 0) or ((((_la - 540)) & ~0x3f) == 0 and ((1 << (_la - 540)) & ((1 << (frameQLParser.VALIDATION - 540)) | (1 << (frameQLParser.VALUE - 540)) | (1 << (frameQLParser.VARIABLES - 540)) | (1 << (frameQLParser.VIEW - 540)) | (1 << (frameQLParser.WAIT - 540)) | (1 << (frameQLParser.WARNINGS - 540)) | (1 << (frameQLParser.WITHOUT - 540)) | (1 << (frameQLParser.WORK - 540)) | (1 << (frameQLParser.WRAPPER - 540)) | (1 << (frameQLParser.X509 - 540)) | (1 << (frameQLParser.XA - 540)) | (1 << (frameQLParser.XML - 540)) | (1 << (frameQLParser.QUARTER - 540)) | (1 << (frameQLParser.MONTH - 540)) | (1 << (frameQLParser.DAY - 540)) | (1 << (frameQLParser.HOUR - 540)) | (1 << (frameQLParser.MINUTE - 540)) | (1 << (frameQLParser.WEEK - 540)) | (1 << (frameQLParser.SECOND - 540)) | (1 << (frameQLParser.MICROSECOND - 540)) | (1 << (frameQLParser.TABLES - 540)) | (1 << (frameQLParser.ROUTINE - 540)) | (1 << (frameQLParser.EXECUTE - 540)) | (1 << (frameQLParser.FILE - 540)) | (1 << (frameQLParser.PROCESS - 540)) | (1 << (frameQLParser.RELOAD - 540)) | (1 << (frameQLParser.SHUTDOWN - 540)) | (1 << (frameQLParser.SUPER - 540)) | (1 << (frameQLParser.PRIVILEGES - 540)) | (1 << (frameQLParser.ARMSCII8 - 540)) | (1 << (frameQLParser.ASCII - 540)) | (1 << (frameQLParser.BIG5 - 540)) | (1 << (frameQLParser.CP1250 - 540)) | (1 << (frameQLParser.CP1251 - 540)) | (1 << (frameQLParser.CP1256 - 540)) | (1 << (frameQLParser.CP1257 - 540)) | (1 << (frameQLParser.CP850 - 540)) | (1 << (frameQLParser.CP852 - 540)) | (1 << (frameQLParser.CP866 - 540)) | (1 << (frameQLParser.CP932 - 540)) | (1 << (frameQLParser.DEC8 - 540)) | (1 << (frameQLParser.EUCJPMS - 540)) | (1 << (frameQLParser.EUCKR - 540)) | (1 << (frameQLParser.GB2312 - 540)) | (1 << (frameQLParser.GBK - 540)) | (1 << (frameQLParser.GEOSTD8 - 540)) | (1 << (frameQLParser.GREEK - 540)) | (1 << (frameQLParser.HEBREW - 540)) | (1 << (frameQLParser.HP8 - 540)) | (1 << (frameQLParser.KEYBCS2 - 540)) | (1 << (frameQLParser.KOI8R - 540)) | (1 << (frameQLParser.KOI8U - 540)) | (1 << (frameQLParser.LATIN1 - 540)) | (1 << (frameQLParser.LATIN2 - 540)) | (1 << (frameQLParser.LATIN5 - 540)) | (1 << (frameQLParser.LATIN7 - 540)) | (1 << (frameQLParser.MACCE - 540)) | (1 << (frameQLParser.MACROMAN - 540)))) != 0) or ((((_la - 604)) & ~0x3f) == 0 and ((1 << (_la - 604)) & ((1 << (frameQLParser.SJIS - 604)) | (1 << (frameQLParser.SWE7 - 604)) | (1 << (frameQLParser.TIS620 - 604)) | (1 << (frameQLParser.UCS2 - 604)) | (1 << (frameQLParser.UJIS - 604)) | (1 << (frameQLParser.UTF16 - 604)) | (1 << (frameQLParser.UTF16LE - 604)) | (1 << (frameQLParser.UTF32 - 604)) | (1 << (frameQLParser.UTF8 - 604)) | (1 << (frameQLParser.UTF8MB3 - 604)) | (1 << (frameQLParser.UTF8MB4 - 604)) | (1 << (frameQLParser.ARCHIVE - 604)) | (1 << (frameQLParser.BLACKHOLE - 604)) | (1 << (frameQLParser.CSV - 604)) | (1 << (frameQLParser.FEDERATED - 604)) | (1 << (frameQLParser.INNODB - 604)) | (1 << (frameQLParser.MEMORY - 604)) | (1 << (frameQLParser.MRG_MYISAM - 604)) | (1 << (frameQLParser.MYISAM - 604)) | (1 << (frameQLParser.NDB - 604)) | (1 << (frameQLParser.NDBCLUSTER - 604)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 604)) | (1 << (frameQLParser.REPEATABLE - 604)) | (1 << (frameQLParser.COMMITTED - 604)) | (1 << (frameQLParser.UNCOMMITTED - 604)) | (1 << (frameQLParser.SERIALIZABLE - 604)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 604)) | (1 << (frameQLParser.LINESTRING - 604)) | (1 << (frameQLParser.MULTILINESTRING - 604)) | (1 << (frameQLParser.MULTIPOINT - 604)) | (1 << (frameQLParser.MULTIPOLYGON - 604)) | (1 << (frameQLParser.POINT - 604)) | (1 << (frameQLParser.POLYGON - 604)) | (1 << (frameQLParser.ABS - 604)) | (1 << (frameQLParser.ACOS - 604)) | (1 << (frameQLParser.ADDDATE - 604)) | (1 << (frameQLParser.ADDTIME - 604)) | (1 << (frameQLParser.AES_DECRYPT - 604)) | (1 << (frameQLParser.AES_ENCRYPT - 604)) | (1 << (frameQLParser.AREA - 604)) | (1 << (frameQLParser.ASBINARY - 604)) | (1 << (frameQLParser.ASIN - 604)) | (1 << (frameQLParser.ASTEXT - 604)) | (1 << (frameQLParser.ASWKB - 604)) | (1 << (frameQLParser.ASWKT - 604)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 604)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 604)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 604)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 604)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 604)) | (1 << (frameQLParser.ATAN - 604)) | (1 << (frameQLParser.ATAN2 - 604)) | (1 << (frameQLParser.BENCHMARK - 604)) | (1 << (frameQLParser.BIN - 604)) | (1 << (frameQLParser.BIT_COUNT - 604)) | (1 << (frameQLParser.BIT_LENGTH - 604)) | (1 << (frameQLParser.BUFFER - 604)) | (1 << (frameQLParser.CEIL - 604)) | (1 << (frameQLParser.CEILING - 604)) | (1 << (frameQLParser.CENTROID - 604)) | (1 << (frameQLParser.CHARACTER_LENGTH - 604)) | (1 << (frameQLParser.CHARSET - 604)) | (1 << (frameQLParser.CHAR_LENGTH - 604)) | (1 << (frameQLParser.COERCIBILITY - 604)))) != 0) or ((((_la - 668)) & ~0x3f) == 0 and ((1 << (_la - 668)) & ((1 << (frameQLParser.COLLATION - 668)) | (1 << (frameQLParser.COMPRESS - 668)) | (1 << (frameQLParser.CONCAT - 668)) | (1 << (frameQLParser.CONCAT_WS - 668)) | (1 << (frameQLParser.CONNECTION_ID - 668)) | (1 << (frameQLParser.CONV - 668)) | (1 << (frameQLParser.CONVERT_TZ - 668)) | (1 << (frameQLParser.COS - 668)) | (1 << (frameQLParser.COT - 668)) | (1 << (frameQLParser.CRC32 - 668)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 668)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 668)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 668)) | (1 << (frameQLParser.CREATE_DIGEST - 668)) | (1 << (frameQLParser.CROSSES - 668)) | (1 << (frameQLParser.DATEDIFF - 668)) | (1 << (frameQLParser.DATE_FORMAT - 668)) | (1 << (frameQLParser.DAYNAME - 668)) | (1 << (frameQLParser.DAYOFMONTH - 668)) | (1 << (frameQLParser.DAYOFWEEK - 668)) | (1 << (frameQLParser.DAYOFYEAR - 668)) | (1 << (frameQLParser.DECODE - 668)) | (1 << (frameQLParser.DEGREES - 668)) | (1 << (frameQLParser.DES_DECRYPT - 668)) | (1 << (frameQLParser.DES_ENCRYPT - 668)) | (1 << (frameQLParser.DIMENSION - 668)) | (1 << (frameQLParser.DISJOINT - 668)) | (1 << (frameQLParser.ELT - 668)) | (1 << (frameQLParser.ENCODE - 668)) | (1 << (frameQLParser.ENCRYPT - 668)) | (1 << (frameQLParser.ENDPOINT - 668)) | (1 << (frameQLParser.ENVELOPE - 668)) | (1 << (frameQLParser.EQUALS - 668)) | (1 << (frameQLParser.EXP - 668)) | (1 << (frameQLParser.EXPORT_SET - 668)) | (1 << (frameQLParser.EXTERIORRING - 668)) | (1 << (frameQLParser.EXTRACTVALUE - 668)) | (1 << (frameQLParser.FIELD - 668)) | (1 << (frameQLParser.FIND_IN_SET - 668)) | (1 << (frameQLParser.FLOOR - 668)) | (1 << (frameQLParser.FORMAT - 668)) | (1 << (frameQLParser.FOUND_ROWS - 668)) | (1 << (frameQLParser.FROM_BASE64 - 668)) | (1 << (frameQLParser.FROM_DAYS - 668)) | (1 << (frameQLParser.FROM_UNIXTIME - 668)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 668)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 668)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 668)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 668)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 668)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 668)) | (1 << (frameQLParser.GEOMETRYN - 668)) | (1 << (frameQLParser.GEOMETRYTYPE - 668)) | (1 << (frameQLParser.GEOMFROMTEXT - 668)) | (1 << (frameQLParser.GEOMFROMWKB - 668)) | (1 << (frameQLParser.GET_FORMAT - 668)) | (1 << (frameQLParser.GET_LOCK - 668)) | (1 << (frameQLParser.GLENGTH - 668)) | (1 << (frameQLParser.GREATEST - 668)) | (1 << (frameQLParser.GTID_SUBSET - 668)) | (1 << (frameQLParser.GTID_SUBTRACT - 668)) | (1 << (frameQLParser.HEX - 668)) | (1 << (frameQLParser.IFNULL - 668)) | (1 << (frameQLParser.INET6_ATON - 668)))) != 0) or ((((_la - 732)) & ~0x3f) == 0 and ((1 << (_la - 732)) & ((1 << (frameQLParser.INET6_NTOA - 732)) | (1 << (frameQLParser.INET_ATON - 732)) | (1 << (frameQLParser.INET_NTOA - 732)) | (1 << (frameQLParser.INSTR - 732)) | (1 << (frameQLParser.INTERIORRINGN - 732)) | (1 << (frameQLParser.INTERSECTS - 732)) | (1 << (frameQLParser.ISCLOSED - 732)) | (1 << (frameQLParser.ISEMPTY - 732)) | (1 << (frameQLParser.ISNULL - 732)) | (1 << (frameQLParser.ISSIMPLE - 732)) | (1 << (frameQLParser.IS_FREE_LOCK - 732)) | (1 << (frameQLParser.IS_IPV4 - 732)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 732)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 732)) | (1 << (frameQLParser.IS_IPV6 - 732)) | (1 << (frameQLParser.IS_USED_LOCK - 732)) | (1 << (frameQLParser.LAST_INSERT_ID - 732)) | (1 << (frameQLParser.LCASE - 732)) | (1 << (frameQLParser.LEAST - 732)) | (1 << (frameQLParser.LENGTH - 732)) | (1 << (frameQLParser.LINEFROMTEXT - 732)) | (1 << (frameQLParser.LINEFROMWKB - 732)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 732)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 732)) | (1 << (frameQLParser.LN - 732)) | (1 << (frameQLParser.LOAD_FILE - 732)) | (1 << (frameQLParser.LOCATE - 732)) | (1 << (frameQLParser.LOG - 732)) | (1 << (frameQLParser.LOG10 - 732)) | (1 << (frameQLParser.LOG2 - 732)) | (1 << (frameQLParser.LOWER - 732)) | (1 << (frameQLParser.LPAD - 732)) | (1 << (frameQLParser.LTRIM - 732)) | (1 << (frameQLParser.MAKEDATE - 732)) | (1 << (frameQLParser.MAKETIME - 732)) | (1 << (frameQLParser.MAKE_SET - 732)) | (1 << (frameQLParser.MASTER_POS_WAIT - 732)) | (1 << (frameQLParser.MBRCONTAINS - 732)) | (1 << (frameQLParser.MBRDISJOINT - 732)) | (1 << (frameQLParser.MBREQUAL - 732)) | (1 << (frameQLParser.MBRINTERSECTS - 732)) | (1 << (frameQLParser.MBROVERLAPS - 732)) | (1 << (frameQLParser.MBRTOUCHES - 732)) | (1 << (frameQLParser.MBRWITHIN - 732)) | (1 << (frameQLParser.MD5 - 732)) | (1 << (frameQLParser.MLINEFROMTEXT - 732)) | (1 << (frameQLParser.MLINEFROMWKB - 732)) | (1 << (frameQLParser.MONTHNAME - 732)) | (1 << (frameQLParser.MPOINTFROMTEXT - 732)) | (1 << (frameQLParser.MPOINTFROMWKB - 732)) | (1 << (frameQLParser.MPOLYFROMTEXT - 732)) | (1 << (frameQLParser.MPOLYFROMWKB - 732)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 732)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 732)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 732)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 732)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 732)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 732)) | (1 << (frameQLParser.NAME_CONST - 732)) | (1 << (frameQLParser.NULLIF - 732)) | (1 << (frameQLParser.NUMGEOMETRIES - 732)) | (1 << (frameQLParser.NUMINTERIORRINGS - 732)) | (1 << (frameQLParser.NUMPOINTS - 732)) | (1 << (frameQLParser.OCT - 732)))) != 0) or ((((_la - 796)) & ~0x3f) == 0 and ((1 << (_la - 796)) & ((1 << (frameQLParser.OCTET_LENGTH - 796)) | (1 << (frameQLParser.ORD - 796)) | (1 << (frameQLParser.OVERLAPS - 796)) | (1 << (frameQLParser.PERIOD_ADD - 796)) | (1 << (frameQLParser.PERIOD_DIFF - 796)) | (1 << (frameQLParser.PI - 796)) | (1 << (frameQLParser.POINTFROMTEXT - 796)) | (1 << (frameQLParser.POINTFROMWKB - 796)) | (1 << (frameQLParser.POINTN - 796)) | (1 << (frameQLParser.POLYFROMTEXT - 796)) | (1 << (frameQLParser.POLYFROMWKB - 796)) | (1 << (frameQLParser.POLYGONFROMTEXT - 796)) | (1 << (frameQLParser.POLYGONFROMWKB - 796)) | (1 << (frameQLParser.POW - 796)) | (1 << (frameQLParser.POWER - 796)) | (1 << (frameQLParser.QUOTE - 796)) | (1 << (frameQLParser.RADIANS - 796)) | (1 << (frameQLParser.RAND - 796)) | (1 << (frameQLParser.RANDOM_BYTES - 796)) | (1 << (frameQLParser.RELEASE_LOCK - 796)) | (1 << (frameQLParser.REVERSE - 796)) | (1 << (frameQLParser.ROUND - 796)) | (1 << (frameQLParser.ROW_COUNT - 796)) | (1 << (frameQLParser.RPAD - 796)) | (1 << (frameQLParser.RTRIM - 796)) | (1 << (frameQLParser.SEC_TO_TIME - 796)) | (1 << (frameQLParser.SESSION_USER - 796)) | (1 << (frameQLParser.SHA - 796)) | (1 << (frameQLParser.SHA1 - 796)) | (1 << (frameQLParser.SHA2 - 796)) | (1 << (frameQLParser.SIGN - 796)) | (1 << (frameQLParser.SIN - 796)) | (1 << (frameQLParser.SLEEP - 796)) | (1 << (frameQLParser.SOUNDEX - 796)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 796)) | (1 << (frameQLParser.SQRT - 796)) | (1 << (frameQLParser.SRID - 796)) | (1 << (frameQLParser.STARTPOINT - 796)) | (1 << (frameQLParser.STRCMP - 796)) | (1 << (frameQLParser.STR_TO_DATE - 796)) | (1 << (frameQLParser.ST_AREA - 796)) | (1 << (frameQLParser.ST_ASBINARY - 796)) | (1 << (frameQLParser.ST_ASTEXT - 796)) | (1 << (frameQLParser.ST_ASWKB - 796)) | (1 << (frameQLParser.ST_ASWKT - 796)) | (1 << (frameQLParser.ST_BUFFER - 796)) | (1 << (frameQLParser.ST_CENTROID - 796)) | (1 << (frameQLParser.ST_CONTAINS - 796)) | (1 << (frameQLParser.ST_CROSSES - 796)) | (1 << (frameQLParser.ST_DIFFERENCE - 796)) | (1 << (frameQLParser.ST_DIMENSION - 796)) | (1 << (frameQLParser.ST_DISJOINT - 796)) | (1 << (frameQLParser.ST_DISTANCE - 796)) | (1 << (frameQLParser.ST_ENDPOINT - 796)) | (1 << (frameQLParser.ST_ENVELOPE - 796)) | (1 << (frameQLParser.ST_EQUALS - 796)) | (1 << (frameQLParser.ST_EXTERIORRING - 796)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 796)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 796)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 796)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 796)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 796)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 796)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 796)))) != 0) or ((((_la - 860)) & ~0x3f) == 0 and ((1 << (_la - 860)) & ((1 << (frameQLParser.ST_GEOMETRYN - 860)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 860)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 860)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 860)) | (1 << (frameQLParser.ST_INTERIORRINGN - 860)) | (1 << (frameQLParser.ST_INTERSECTION - 860)) | (1 << (frameQLParser.ST_INTERSECTS - 860)) | (1 << (frameQLParser.ST_ISCLOSED - 860)) | (1 << (frameQLParser.ST_ISEMPTY - 860)) | (1 << (frameQLParser.ST_ISSIMPLE - 860)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 860)) | (1 << (frameQLParser.ST_LINEFROMWKB - 860)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 860)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 860)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 860)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 860)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 860)) | (1 << (frameQLParser.ST_NUMPOINTS - 860)) | (1 << (frameQLParser.ST_OVERLAPS - 860)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 860)) | (1 << (frameQLParser.ST_POINTFROMWKB - 860)) | (1 << (frameQLParser.ST_POINTN - 860)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 860)) | (1 << (frameQLParser.ST_POLYFROMWKB - 860)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 860)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 860)) | (1 << (frameQLParser.ST_SRID - 860)) | (1 << (frameQLParser.ST_STARTPOINT - 860)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 860)) | (1 << (frameQLParser.ST_TOUCHES - 860)) | (1 << (frameQLParser.ST_UNION - 860)) | (1 << (frameQLParser.ST_WITHIN - 860)) | (1 << (frameQLParser.ST_X - 860)) | (1 << (frameQLParser.ST_Y - 860)) | (1 << (frameQLParser.SUBDATE - 860)) | (1 << (frameQLParser.SUBSTRING_INDEX - 860)) | (1 << (frameQLParser.SUBTIME - 860)) | (1 << (frameQLParser.SYSTEM_USER - 860)) | (1 << (frameQLParser.TAN - 860)) | (1 << (frameQLParser.TIMEDIFF - 860)) | (1 << (frameQLParser.TIMESTAMPADD - 860)) | (1 << (frameQLParser.TIMESTAMPDIFF - 860)) | (1 << (frameQLParser.TIME_FORMAT - 860)) | (1 << (frameQLParser.TIME_TO_SEC - 860)) | (1 << (frameQLParser.TOUCHES - 860)) | (1 << (frameQLParser.TO_BASE64 - 860)) | (1 << (frameQLParser.TO_DAYS - 860)) | (1 << (frameQLParser.TO_SECONDS - 860)) | (1 << (frameQLParser.UCASE - 860)) | (1 << (frameQLParser.UNCOMPRESS - 860)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 860)) | (1 << (frameQLParser.UNHEX - 860)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 860)) | (1 << (frameQLParser.UPDATEXML - 860)) | (1 << (frameQLParser.UPPER - 860)) | (1 << (frameQLParser.UUID - 860)) | (1 << (frameQLParser.UUID_SHORT - 860)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 860)) | (1 << (frameQLParser.VERSION - 860)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 860)) | (1 << (frameQLParser.WEEKDAY - 860)) | (1 << (frameQLParser.WEEKOFYEAR - 860)) | (1 << (frameQLParser.WEIGHT_STRING - 860)) | (1 << (frameQLParser.WITHIN - 860)))) != 0) or ((((_la - 924)) & ~0x3f) == 0 and ((1 << (_la - 924)) & ((1 << (frameQLParser.YEARWEEK - 924)) | (1 << (frameQLParser.Y_FUNCTION - 924)) | (1 << (frameQLParser.X_FUNCTION - 924)) | (1 << (frameQLParser.PLUS - 924)) | (1 << (frameQLParser.MINUS - 924)) | (1 << (frameQLParser.EXCLAMATION_SYMBOL - 924)) | (1 << (frameQLParser.BIT_NOT_OP - 924)) | (1 << (frameQLParser.LR_BRACKET - 924)) | (1 << (frameQLParser.ZERO_DECIMAL - 924)) | (1 << (frameQLParser.ONE_DECIMAL - 924)) | (1 << (frameQLParser.TWO_DECIMAL - 924)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 924)) | (1 << (frameQLParser.START_NATIONAL_STRING_LITERAL - 924)) | (1 << (frameQLParser.STRING_LITERAL - 924)) | (1 << (frameQLParser.DECIMAL_LITERAL - 924)) | (1 << (frameQLParser.HEXADECIMAL_LITERAL - 924)) | (1 << (frameQLParser.REAL_LITERAL - 924)) | (1 << (frameQLParser.NULL_SPEC_LITERAL - 924)) | (1 << (frameQLParser.BIT_STRING - 924)) | (1 << (frameQLParser.STRING_CHARSET_NAME - 924)) | (1 << (frameQLParser.ID - 924)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 924)) | (1 << (frameQLParser.LOCAL_ID - 924)) | (1 << (frameQLParser.GLOBAL_ID - 924)))) != 0): - self.state = 5581 - self.functionArgs() - - - self.state = 5584 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 5: - localctx = frameQLParser.PasswordFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 5586 - self.passwordFunctionClause() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SpecificFunctionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_specificFunction - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class PositionFunctionCallContext(SpecificFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SpecificFunctionContext - super().__init__(parser) - self.positionString = None # StringLiteralContext - self.positionExpression = None # ExpressionContext - self.inString = None # StringLiteralContext - self.inExpression = None # ExpressionContext - self.copyFrom(ctx) - - def POSITION(self): - return self.getToken(frameQLParser.POSITION, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def IN(self): - return self.getToken(frameQLParser.IN, 0) - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def stringLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.StringLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.StringLiteralContext,i) - - def expression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPositionFunctionCall" ): - listener.enterPositionFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPositionFunctionCall" ): - listener.exitPositionFunctionCall(self) - - - class TrimFunctionCallContext(SpecificFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SpecificFunctionContext - super().__init__(parser) - self.positioinForm = None # Token - self.sourceString = None # StringLiteralContext - self.sourceExpression = None # ExpressionContext - self.fromString = None # StringLiteralContext - self.fromExpression = None # ExpressionContext - self.copyFrom(ctx) - - def TRIM(self): - return self.getToken(frameQLParser.TRIM, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def BOTH(self): - return self.getToken(frameQLParser.BOTH, 0) - def LEADING(self): - return self.getToken(frameQLParser.LEADING, 0) - def TRAILING(self): - return self.getToken(frameQLParser.TRAILING, 0) - def stringLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.StringLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.StringLiteralContext,i) - - def expression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTrimFunctionCall" ): - listener.enterTrimFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTrimFunctionCall" ): - listener.exitTrimFunctionCall(self) - - - class SimpleFunctionCallContext(SpecificFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SpecificFunctionContext - super().__init__(parser) - self.copyFrom(ctx) - - def CURRENT_DATE(self): - return self.getToken(frameQLParser.CURRENT_DATE, 0) - def CURRENT_TIME(self): - return self.getToken(frameQLParser.CURRENT_TIME, 0) - def CURRENT_TIMESTAMP(self): - return self.getToken(frameQLParser.CURRENT_TIMESTAMP, 0) - def CURRENT_USER(self): - return self.getToken(frameQLParser.CURRENT_USER, 0) - def LOCALTIME(self): - return self.getToken(frameQLParser.LOCALTIME, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSimpleFunctionCall" ): - listener.enterSimpleFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSimpleFunctionCall" ): - listener.exitSimpleFunctionCall(self) - - - class CharFunctionCallContext(SpecificFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SpecificFunctionContext - super().__init__(parser) - self.copyFrom(ctx) - - def CHAR(self): - return self.getToken(frameQLParser.CHAR, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def functionArgs(self): - return self.getTypedRuleContext(frameQLParser.FunctionArgsContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def USING(self): - return self.getToken(frameQLParser.USING, 0) - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCharFunctionCall" ): - listener.enterCharFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCharFunctionCall" ): - listener.exitCharFunctionCall(self) - - - class WeightFunctionCallContext(SpecificFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SpecificFunctionContext - super().__init__(parser) - self.stringFormat = None # Token - self.copyFrom(ctx) - - def WEIGHT_STRING(self): - return self.getToken(frameQLParser.WEIGHT_STRING, 0) - def LR_BRACKET(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.LR_BRACKET) - else: - return self.getToken(frameQLParser.LR_BRACKET, i) - def RR_BRACKET(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.RR_BRACKET) - else: - return self.getToken(frameQLParser.RR_BRACKET, i) - def stringLiteral(self): - return self.getTypedRuleContext(frameQLParser.StringLiteralContext,0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - def levelsInWeightString(self): - return self.getTypedRuleContext(frameQLParser.LevelsInWeightStringContext,0) - - def CHAR(self): - return self.getToken(frameQLParser.CHAR, 0) - def BINARY(self): - return self.getToken(frameQLParser.BINARY, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterWeightFunctionCall" ): - listener.enterWeightFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitWeightFunctionCall" ): - listener.exitWeightFunctionCall(self) - - - class GetFormatFunctionCallContext(SpecificFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SpecificFunctionContext - super().__init__(parser) - self.datetimeFormat = None # Token - self.copyFrom(ctx) - - def GET_FORMAT(self): - return self.getToken(frameQLParser.GET_FORMAT, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def COMMA(self): - return self.getToken(frameQLParser.COMMA, 0) - def stringLiteral(self): - return self.getTypedRuleContext(frameQLParser.StringLiteralContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def DATE(self): - return self.getToken(frameQLParser.DATE, 0) - def TIME(self): - return self.getToken(frameQLParser.TIME, 0) - def DATETIME(self): - return self.getToken(frameQLParser.DATETIME, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterGetFormatFunctionCall" ): - listener.enterGetFormatFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitGetFormatFunctionCall" ): - listener.exitGetFormatFunctionCall(self) - - - class CaseFunctionCallContext(SpecificFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SpecificFunctionContext - super().__init__(parser) - self.elseArg = None # FunctionArgContext - self.copyFrom(ctx) - - def CASE(self): - return self.getToken(frameQLParser.CASE, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def END(self): - return self.getToken(frameQLParser.END, 0) - def caseFuncAlternative(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.CaseFuncAlternativeContext) - else: - return self.getTypedRuleContext(frameQLParser.CaseFuncAlternativeContext,i) - - def ELSE(self): - return self.getToken(frameQLParser.ELSE, 0) - def functionArg(self): - return self.getTypedRuleContext(frameQLParser.FunctionArgContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCaseFunctionCall" ): - listener.enterCaseFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCaseFunctionCall" ): - listener.exitCaseFunctionCall(self) - - - class ExtractFunctionCallContext(SpecificFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SpecificFunctionContext - super().__init__(parser) - self.sourceString = None # StringLiteralContext - self.sourceExpression = None # ExpressionContext - self.copyFrom(ctx) - - def EXTRACT(self): - return self.getToken(frameQLParser.EXTRACT, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def intervalType(self): - return self.getTypedRuleContext(frameQLParser.IntervalTypeContext,0) - - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def stringLiteral(self): - return self.getTypedRuleContext(frameQLParser.StringLiteralContext,0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExtractFunctionCall" ): - listener.enterExtractFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExtractFunctionCall" ): - listener.exitExtractFunctionCall(self) - - - class DataTypeFunctionCallContext(SpecificFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SpecificFunctionContext - super().__init__(parser) - self.separator = None # Token - self.copyFrom(ctx) - - def CONVERT(self): - return self.getToken(frameQLParser.CONVERT, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def convertedDataType(self): - return self.getTypedRuleContext(frameQLParser.ConvertedDataTypeContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def COMMA(self): - return self.getToken(frameQLParser.COMMA, 0) - def USING(self): - return self.getToken(frameQLParser.USING, 0) - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - def CAST(self): - return self.getToken(frameQLParser.CAST, 0) - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDataTypeFunctionCall" ): - listener.enterDataTypeFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDataTypeFunctionCall" ): - listener.exitDataTypeFunctionCall(self) - - - class ValuesFunctionCallContext(SpecificFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SpecificFunctionContext - super().__init__(parser) - self.copyFrom(ctx) - - def VALUES(self): - return self.getToken(frameQLParser.VALUES, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def fullColumnName(self): - return self.getTypedRuleContext(frameQLParser.FullColumnNameContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterValuesFunctionCall" ): - listener.enterValuesFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitValuesFunctionCall" ): - listener.exitValuesFunctionCall(self) - - - class SubstrFunctionCallContext(SpecificFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SpecificFunctionContext - super().__init__(parser) - self.sourceString = None # StringLiteralContext - self.sourceExpression = None # ExpressionContext - self.fromDecimal = None # DecimalLiteralContext - self.fromExpression = None # ExpressionContext - self.forDecimal = None # DecimalLiteralContext - self.forExpression = None # ExpressionContext - self.copyFrom(ctx) - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def SUBSTR(self): - return self.getToken(frameQLParser.SUBSTR, 0) - def SUBSTRING(self): - return self.getToken(frameQLParser.SUBSTRING, 0) - def stringLiteral(self): - return self.getTypedRuleContext(frameQLParser.StringLiteralContext,0) - - def expression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionContext,i) - - def decimalLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DecimalLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,i) - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSubstrFunctionCall" ): - listener.enterSubstrFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSubstrFunctionCall" ): - listener.exitSubstrFunctionCall(self) - - - - def specificFunction(self): - - localctx = frameQLParser.SpecificFunctionContext(self, self._ctx, self.state) - self.enterRule(localctx, 572, self.RULE_specificFunction) - self._la = 0 # Token type - try: - self.state = 5746 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,838,self._ctx) - if la_ == 1: - localctx = frameQLParser.SimpleFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 5589 - _la = self._input.LA(1) - if not(_la==frameQLParser.CURRENT_USER or ((((_la - 231)) & ~0x3f) == 0 and ((1 << (_la - 231)) & ((1 << (frameQLParser.CURRENT_DATE - 231)) | (1 << (frameQLParser.CURRENT_TIME - 231)) | (1 << (frameQLParser.CURRENT_TIMESTAMP - 231)) | (1 << (frameQLParser.LOCALTIME - 231)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 2: - localctx = frameQLParser.DataTypeFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 5590 - self.match(frameQLParser.CONVERT) - self.state = 5591 - self.match(frameQLParser.LR_BRACKET) - self.state = 5592 - self.expression(0) - self.state = 5593 - localctx.separator = self.match(frameQLParser.COMMA) - self.state = 5594 - self.convertedDataType() - self.state = 5595 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 3: - localctx = frameQLParser.DataTypeFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 5597 - self.match(frameQLParser.CONVERT) - self.state = 5598 - self.match(frameQLParser.LR_BRACKET) - self.state = 5599 - self.expression(0) - self.state = 5600 - self.match(frameQLParser.USING) - self.state = 5601 - self.charsetName() - self.state = 5602 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 4: - localctx = frameQLParser.DataTypeFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 5604 - self.match(frameQLParser.CAST) - self.state = 5605 - self.match(frameQLParser.LR_BRACKET) - self.state = 5606 - self.expression(0) - self.state = 5607 - self.match(frameQLParser.AS) - self.state = 5608 - self.convertedDataType() - self.state = 5609 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 5: - localctx = frameQLParser.ValuesFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 5611 - self.match(frameQLParser.VALUES) - self.state = 5612 - self.match(frameQLParser.LR_BRACKET) - self.state = 5613 - self.fullColumnName() - self.state = 5614 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 6: - localctx = frameQLParser.CaseFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 5616 - self.match(frameQLParser.CASE) - self.state = 5617 - self.expression(0) - self.state = 5619 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 5618 - self.caseFuncAlternative() - self.state = 5621 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==frameQLParser.WHEN): - break - - self.state = 5625 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ELSE: - self.state = 5623 - self.match(frameQLParser.ELSE) - self.state = 5624 - localctx.elseArg = self.functionArg() - - - self.state = 5627 - self.match(frameQLParser.END) - pass - - elif la_ == 7: - localctx = frameQLParser.CaseFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 5629 - self.match(frameQLParser.CASE) - self.state = 5631 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 5630 - self.caseFuncAlternative() - self.state = 5633 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==frameQLParser.WHEN): - break - - self.state = 5637 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ELSE: - self.state = 5635 - self.match(frameQLParser.ELSE) - self.state = 5636 - localctx.elseArg = self.functionArg() - - - self.state = 5639 - self.match(frameQLParser.END) - pass - - elif la_ == 8: - localctx = frameQLParser.CharFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 8) - self.state = 5641 - self.match(frameQLParser.CHAR) - self.state = 5642 - self.match(frameQLParser.LR_BRACKET) - self.state = 5643 - self.functionArgs() - self.state = 5646 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.USING: - self.state = 5644 - self.match(frameQLParser.USING) - self.state = 5645 - self.charsetName() - - - self.state = 5648 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 9: - localctx = frameQLParser.PositionFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 9) - self.state = 5650 - self.match(frameQLParser.POSITION) - self.state = 5651 - self.match(frameQLParser.LR_BRACKET) - self.state = 5654 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,824,self._ctx) - if la_ == 1: - self.state = 5652 - localctx.positionString = self.stringLiteral() - pass - - elif la_ == 2: - self.state = 5653 - localctx.positionExpression = self.expression(0) - pass - - - self.state = 5656 - self.match(frameQLParser.IN) - self.state = 5659 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,825,self._ctx) - if la_ == 1: - self.state = 5657 - localctx.inString = self.stringLiteral() - pass - - elif la_ == 2: - self.state = 5658 - localctx.inExpression = self.expression(0) - pass - - - self.state = 5661 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 10: - localctx = frameQLParser.SubstrFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 10) - self.state = 5663 - _la = self._input.LA(1) - if not(_la==frameQLParser.SUBSTR or _la==frameQLParser.SUBSTRING): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5664 - self.match(frameQLParser.LR_BRACKET) - self.state = 5667 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,826,self._ctx) - if la_ == 1: - self.state = 5665 - localctx.sourceString = self.stringLiteral() - pass - - elif la_ == 2: - self.state = 5666 - localctx.sourceExpression = self.expression(0) - pass - - - self.state = 5669 - self.match(frameQLParser.FROM) - self.state = 5672 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,827,self._ctx) - if la_ == 1: - self.state = 5670 - localctx.fromDecimal = self.decimalLiteral() - pass - - elif la_ == 2: - self.state = 5671 - localctx.fromExpression = self.expression(0) - pass - - - self.state = 5679 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR: - self.state = 5674 - self.match(frameQLParser.FOR) - self.state = 5677 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,828,self._ctx) - if la_ == 1: - self.state = 5675 - localctx.forDecimal = self.decimalLiteral() - pass - - elif la_ == 2: - self.state = 5676 - localctx.forExpression = self.expression(0) - pass - - - - - self.state = 5681 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 11: - localctx = frameQLParser.TrimFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 11) - self.state = 5683 - self.match(frameQLParser.TRIM) - self.state = 5684 - self.match(frameQLParser.LR_BRACKET) - self.state = 5685 - localctx.positioinForm = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.BOTH or _la==frameQLParser.LEADING or _la==frameQLParser.TRAILING): - localctx.positioinForm = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5688 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,830,self._ctx) - if la_ == 1: - self.state = 5686 - localctx.sourceString = self.stringLiteral() - - elif la_ == 2: - self.state = 5687 - localctx.sourceExpression = self.expression(0) - - - self.state = 5690 - self.match(frameQLParser.FROM) - self.state = 5693 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,831,self._ctx) - if la_ == 1: - self.state = 5691 - localctx.fromString = self.stringLiteral() - pass - - elif la_ == 2: - self.state = 5692 - localctx.fromExpression = self.expression(0) - pass - - - self.state = 5695 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 12: - localctx = frameQLParser.TrimFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 12) - self.state = 5697 - self.match(frameQLParser.TRIM) - self.state = 5698 - self.match(frameQLParser.LR_BRACKET) - self.state = 5701 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,832,self._ctx) - if la_ == 1: - self.state = 5699 - localctx.sourceString = self.stringLiteral() - pass - - elif la_ == 2: - self.state = 5700 - localctx.sourceExpression = self.expression(0) - pass - - - self.state = 5703 - self.match(frameQLParser.FROM) - self.state = 5706 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,833,self._ctx) - if la_ == 1: - self.state = 5704 - localctx.fromString = self.stringLiteral() - pass - - elif la_ == 2: - self.state = 5705 - localctx.fromExpression = self.expression(0) - pass - - - self.state = 5708 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 13: - localctx = frameQLParser.WeightFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 13) - self.state = 5710 - self.match(frameQLParser.WEIGHT_STRING) - self.state = 5711 - self.match(frameQLParser.LR_BRACKET) - self.state = 5714 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,834,self._ctx) - if la_ == 1: - self.state = 5712 - self.stringLiteral() - pass - - elif la_ == 2: - self.state = 5713 - self.expression(0) - pass - - - self.state = 5722 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS: - self.state = 5716 - self.match(frameQLParser.AS) - self.state = 5717 - localctx.stringFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.CHAR or _la==frameQLParser.BINARY): - localctx.stringFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5718 - self.match(frameQLParser.LR_BRACKET) - self.state = 5719 - self.decimalLiteral() - self.state = 5720 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 5725 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LEVEL: - self.state = 5724 - self.levelsInWeightString() - - - self.state = 5727 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 14: - localctx = frameQLParser.ExtractFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 14) - self.state = 5729 - self.match(frameQLParser.EXTRACT) - self.state = 5730 - self.match(frameQLParser.LR_BRACKET) - self.state = 5731 - self.intervalType() - self.state = 5732 - self.match(frameQLParser.FROM) - self.state = 5735 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,837,self._ctx) - if la_ == 1: - self.state = 5733 - localctx.sourceString = self.stringLiteral() - pass - - elif la_ == 2: - self.state = 5734 - localctx.sourceExpression = self.expression(0) - pass - - - self.state = 5737 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 15: - localctx = frameQLParser.GetFormatFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 15) - self.state = 5739 - self.match(frameQLParser.GET_FORMAT) - self.state = 5740 - self.match(frameQLParser.LR_BRACKET) - self.state = 5741 - localctx.datetimeFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.DATETIME - 184)))) != 0)): - localctx.datetimeFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5742 - self.match(frameQLParser.COMMA) - self.state = 5743 - self.stringLiteral() - self.state = 5744 - self.match(frameQLParser.RR_BRACKET) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CaseFuncAlternativeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.condition = None # FunctionArgContext - self.consequent = None # FunctionArgContext - - def WHEN(self): - return self.getToken(frameQLParser.WHEN, 0) - - def THEN(self): - return self.getToken(frameQLParser.THEN, 0) - - def functionArg(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.FunctionArgContext) - else: - return self.getTypedRuleContext(frameQLParser.FunctionArgContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_caseFuncAlternative - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCaseFuncAlternative" ): - listener.enterCaseFuncAlternative(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCaseFuncAlternative" ): - listener.exitCaseFuncAlternative(self) - - - - - def caseFuncAlternative(self): - - localctx = frameQLParser.CaseFuncAlternativeContext(self, self._ctx, self.state) - self.enterRule(localctx, 574, self.RULE_caseFuncAlternative) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5748 - self.match(frameQLParser.WHEN) - self.state = 5749 - localctx.condition = self.functionArg() - self.state = 5750 - self.match(frameQLParser.THEN) - self.state = 5751 - localctx.consequent = self.functionArg() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class LevelsInWeightStringContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_levelsInWeightString - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class LevelWeightRangeContext(LevelsInWeightStringContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.LevelsInWeightStringContext - super().__init__(parser) - self.firstLevel = None # DecimalLiteralContext - self.lastLevel = None # DecimalLiteralContext - self.copyFrom(ctx) - - def LEVEL(self): - return self.getToken(frameQLParser.LEVEL, 0) - def MINUS(self): - return self.getToken(frameQLParser.MINUS, 0) - def decimalLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DecimalLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLevelWeightRange" ): - listener.enterLevelWeightRange(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLevelWeightRange" ): - listener.exitLevelWeightRange(self) - - - class LevelWeightListContext(LevelsInWeightStringContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.LevelsInWeightStringContext - super().__init__(parser) - self.copyFrom(ctx) - - def LEVEL(self): - return self.getToken(frameQLParser.LEVEL, 0) - def levelInWeightListElement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.LevelInWeightListElementContext) - else: - return self.getTypedRuleContext(frameQLParser.LevelInWeightListElementContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLevelWeightList" ): - listener.enterLevelWeightList(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLevelWeightList" ): - listener.exitLevelWeightList(self) - - - - def levelsInWeightString(self): - - localctx = frameQLParser.LevelsInWeightStringContext(self, self._ctx, self.state) - self.enterRule(localctx, 576, self.RULE_levelsInWeightString) - self._la = 0 # Token type - try: - self.state = 5767 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,840,self._ctx) - if la_ == 1: - localctx = frameQLParser.LevelWeightListContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 5753 - self.match(frameQLParser.LEVEL) - self.state = 5754 - self.levelInWeightListElement() - self.state = 5759 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5755 - self.match(frameQLParser.COMMA) - self.state = 5756 - self.levelInWeightListElement() - self.state = 5761 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 2: - localctx = frameQLParser.LevelWeightRangeContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 5762 - self.match(frameQLParser.LEVEL) - self.state = 5763 - localctx.firstLevel = self.decimalLiteral() - self.state = 5764 - self.match(frameQLParser.MINUS) - self.state = 5765 - localctx.lastLevel = self.decimalLiteral() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class LevelInWeightListElementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.orderType = None # Token - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def ASC(self): - return self.getToken(frameQLParser.ASC, 0) - - def DESC(self): - return self.getToken(frameQLParser.DESC, 0) - - def REVERSE(self): - return self.getToken(frameQLParser.REVERSE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_levelInWeightListElement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLevelInWeightListElement" ): - listener.enterLevelInWeightListElement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLevelInWeightListElement" ): - listener.exitLevelInWeightListElement(self) - - - - - def levelInWeightListElement(self): - - localctx = frameQLParser.LevelInWeightListElementContext(self, self._ctx, self.state) - self.enterRule(localctx, 578, self.RULE_levelInWeightListElement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5769 - self.decimalLiteral() - self.state = 5771 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ASC or _la==frameQLParser.DESC or _la==frameQLParser.REVERSE: - self.state = 5770 - localctx.orderType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ASC or _la==frameQLParser.DESC or _la==frameQLParser.REVERSE): - localctx.orderType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AggregateWindowedFunctionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.aggregator = None # Token - self.starArg = None # Token - self.separator = None # Token - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def functionArg(self): - return self.getTypedRuleContext(frameQLParser.FunctionArgContext,0) - - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def AVG(self): - return self.getToken(frameQLParser.AVG, 0) - - def MAX(self): - return self.getToken(frameQLParser.MAX, 0) - - def MIN(self): - return self.getToken(frameQLParser.MIN, 0) - - def SUM(self): - return self.getToken(frameQLParser.SUM, 0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def DISTINCT(self): - return self.getToken(frameQLParser.DISTINCT, 0) - - def COUNT(self): - return self.getToken(frameQLParser.COUNT, 0) - - def STAR(self): - return self.getToken(frameQLParser.STAR, 0) - - def functionArgs(self): - return self.getTypedRuleContext(frameQLParser.FunctionArgsContext,0) - - - def FCOUNT(self): - return self.getToken(frameQLParser.FCOUNT, 0) - - def BIT_AND(self): - return self.getToken(frameQLParser.BIT_AND, 0) - - def BIT_OR(self): - return self.getToken(frameQLParser.BIT_OR, 0) - - def BIT_XOR(self): - return self.getToken(frameQLParser.BIT_XOR, 0) - - def STD(self): - return self.getToken(frameQLParser.STD, 0) - - def STDDEV(self): - return self.getToken(frameQLParser.STDDEV, 0) - - def STDDEV_POP(self): - return self.getToken(frameQLParser.STDDEV_POP, 0) - - def STDDEV_SAMP(self): - return self.getToken(frameQLParser.STDDEV_SAMP, 0) - - def VAR_POP(self): - return self.getToken(frameQLParser.VAR_POP, 0) - - def VAR_SAMP(self): - return self.getToken(frameQLParser.VAR_SAMP, 0) - - def VARIANCE(self): - return self.getToken(frameQLParser.VARIANCE, 0) - - def GROUP_CONCAT(self): - return self.getToken(frameQLParser.GROUP_CONCAT, 0) - - def ORDER(self): - return self.getToken(frameQLParser.ORDER, 0) - - def BY(self): - return self.getToken(frameQLParser.BY, 0) - - def orderByExpression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.OrderByExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.OrderByExpressionContext,i) - - - def SEPARATOR(self): - return self.getToken(frameQLParser.SEPARATOR, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_aggregateWindowedFunction - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAggregateWindowedFunction" ): - listener.enterAggregateWindowedFunction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAggregateWindowedFunction" ): - listener.exitAggregateWindowedFunction(self) - - - - - def aggregateWindowedFunction(self): - - localctx = frameQLParser.AggregateWindowedFunctionContext(self, self._ctx, self.state) - self.enterRule(localctx, 580, self.RULE_aggregateWindowedFunction) - self._la = 0 # Token type - try: - self.state = 5833 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,850,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 5773 - _la = self._input.LA(1) - if not(((((_la - 214)) & ~0x3f) == 0 and ((1 << (_la - 214)) & ((1 << (frameQLParser.AVG - 214)) | (1 << (frameQLParser.MAX - 214)) | (1 << (frameQLParser.MIN - 214)) | (1 << (frameQLParser.SUM - 214)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5774 - self.match(frameQLParser.LR_BRACKET) - self.state = 5776 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALL or _la==frameQLParser.DISTINCT: - self.state = 5775 - localctx.aggregator = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ALL or _la==frameQLParser.DISTINCT): - localctx.aggregator = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 5778 - self.functionArg() - self.state = 5779 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 5781 - self.match(frameQLParser.COUNT) - self.state = 5782 - self.match(frameQLParser.LR_BRACKET) - self.state = 5788 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.STAR]: - self.state = 5783 - localctx.starArg = self.match(frameQLParser.STAR) - pass - elif token in [frameQLParser.ALL, frameQLParser.CASE, frameQLParser.CAST, frameQLParser.CONVERT, frameQLParser.CURRENT_USER, frameQLParser.DATABASE, frameQLParser.EXISTS, frameQLParser.FALSE, frameQLParser.IF, frameQLParser.INSERT, frameQLParser.INTERVAL, frameQLParser.LEFT, frameQLParser.NOT, frameQLParser.NULL_LITERAL, frameQLParser.REPLACE, frameQLParser.RIGHT, frameQLParser.TRUE, frameQLParser.VALUES, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.CHAR, frameQLParser.BINARY, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.AVG, frameQLParser.BIT_AND, frameQLParser.BIT_OR, frameQLParser.BIT_XOR, frameQLParser.COUNT, frameQLParser.GROUP_CONCAT, frameQLParser.MAX, frameQLParser.MIN, frameQLParser.STD, frameQLParser.STDDEV, frameQLParser.STDDEV_POP, frameQLParser.STDDEV_SAMP, frameQLParser.SUM, frameQLParser.VAR_POP, frameQLParser.VAR_SAMP, frameQLParser.VARIANCE, frameQLParser.FCOUNT, frameQLParser.CURRENT_DATE, frameQLParser.CURRENT_TIME, frameQLParser.CURRENT_TIMESTAMP, frameQLParser.LOCALTIME, frameQLParser.CURDATE, frameQLParser.CURTIME, frameQLParser.DATE_ADD, frameQLParser.DATE_SUB, frameQLParser.EXTRACT, frameQLParser.LOCALTIMESTAMP, frameQLParser.NOW, frameQLParser.POSITION, frameQLParser.SUBSTR, frameQLParser.SUBSTRING, frameQLParser.SYSDATE, frameQLParser.TRIM, frameQLParser.UTC_DATE, frameQLParser.UTC_TIME, frameQLParser.UTC_TIMESTAMP, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.PLUS, frameQLParser.MINUS, frameQLParser.EXCLAMATION_SYMBOL, frameQLParser.BIT_NOT_OP, frameQLParser.LR_BRACKET, frameQLParser.ZERO_DECIMAL, frameQLParser.ONE_DECIMAL, frameQLParser.TWO_DECIMAL, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.START_NATIONAL_STRING_LITERAL, frameQLParser.STRING_LITERAL, frameQLParser.DECIMAL_LITERAL, frameQLParser.HEXADECIMAL_LITERAL, frameQLParser.REAL_LITERAL, frameQLParser.NULL_SPEC_LITERAL, frameQLParser.BIT_STRING, frameQLParser.STRING_CHARSET_NAME, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID, frameQLParser.LOCAL_ID, frameQLParser.GLOBAL_ID]: - self.state = 5785 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALL: - self.state = 5784 - localctx.aggregator = self.match(frameQLParser.ALL) - - - self.state = 5787 - self.functionArg() - pass - else: - raise NoViableAltException(self) - - self.state = 5790 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 5791 - self.match(frameQLParser.COUNT) - self.state = 5792 - self.match(frameQLParser.LR_BRACKET) - self.state = 5793 - localctx.aggregator = self.match(frameQLParser.DISTINCT) - self.state = 5794 - self.functionArgs() - self.state = 5795 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 5797 - self.match(frameQLParser.FCOUNT) - self.state = 5798 - self.match(frameQLParser.LR_BRACKET) - - self.state = 5799 - localctx.starArg = self.match(frameQLParser.STAR) - self.state = 5800 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 5801 - _la = self._input.LA(1) - if not(((((_la - 215)) & ~0x3f) == 0 and ((1 << (_la - 215)) & ((1 << (frameQLParser.BIT_AND - 215)) | (1 << (frameQLParser.BIT_OR - 215)) | (1 << (frameQLParser.BIT_XOR - 215)) | (1 << (frameQLParser.STD - 215)) | (1 << (frameQLParser.STDDEV - 215)) | (1 << (frameQLParser.STDDEV_POP - 215)) | (1 << (frameQLParser.STDDEV_SAMP - 215)) | (1 << (frameQLParser.VAR_POP - 215)) | (1 << (frameQLParser.VAR_SAMP - 215)) | (1 << (frameQLParser.VARIANCE - 215)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5802 - self.match(frameQLParser.LR_BRACKET) - self.state = 5804 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALL: - self.state = 5803 - localctx.aggregator = self.match(frameQLParser.ALL) - - - self.state = 5806 - self.functionArg() - self.state = 5807 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 5809 - self.match(frameQLParser.GROUP_CONCAT) - self.state = 5810 - self.match(frameQLParser.LR_BRACKET) - self.state = 5812 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DISTINCT: - self.state = 5811 - localctx.aggregator = self.match(frameQLParser.DISTINCT) - - - self.state = 5814 - self.functionArgs() - self.state = 5825 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ORDER: - self.state = 5815 - self.match(frameQLParser.ORDER) - self.state = 5816 - self.match(frameQLParser.BY) - self.state = 5817 - self.orderByExpression() - self.state = 5822 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5818 - self.match(frameQLParser.COMMA) - self.state = 5819 - self.orderByExpression() - self.state = 5824 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - self.state = 5829 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SEPARATOR: - self.state = 5827 - self.match(frameQLParser.SEPARATOR) - self.state = 5828 - localctx.separator = self.match(frameQLParser.STRING_LITERAL) - - - self.state = 5831 - self.match(frameQLParser.RR_BRACKET) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ScalarFunctionNameContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def functionNameBase(self): - return self.getTypedRuleContext(frameQLParser.FunctionNameBaseContext,0) - - - def ASCII(self): - return self.getToken(frameQLParser.ASCII, 0) - - def CURDATE(self): - return self.getToken(frameQLParser.CURDATE, 0) - - def CURRENT_DATE(self): - return self.getToken(frameQLParser.CURRENT_DATE, 0) - - def CURRENT_TIME(self): - return self.getToken(frameQLParser.CURRENT_TIME, 0) - - def CURRENT_TIMESTAMP(self): - return self.getToken(frameQLParser.CURRENT_TIMESTAMP, 0) - - def CURTIME(self): - return self.getToken(frameQLParser.CURTIME, 0) - - def DATE_ADD(self): - return self.getToken(frameQLParser.DATE_ADD, 0) - - def DATE_SUB(self): - return self.getToken(frameQLParser.DATE_SUB, 0) - - def IF(self): - return self.getToken(frameQLParser.IF, 0) - - def INSERT(self): - return self.getToken(frameQLParser.INSERT, 0) - - def LOCALTIME(self): - return self.getToken(frameQLParser.LOCALTIME, 0) - - def LOCALTIMESTAMP(self): - return self.getToken(frameQLParser.LOCALTIMESTAMP, 0) - - def MID(self): - return self.getToken(frameQLParser.MID, 0) - - def NOW(self): - return self.getToken(frameQLParser.NOW, 0) - - def REPLACE(self): - return self.getToken(frameQLParser.REPLACE, 0) - - def SUBSTR(self): - return self.getToken(frameQLParser.SUBSTR, 0) - - def SUBSTRING(self): - return self.getToken(frameQLParser.SUBSTRING, 0) - - def SYSDATE(self): - return self.getToken(frameQLParser.SYSDATE, 0) - - def TRIM(self): - return self.getToken(frameQLParser.TRIM, 0) - - def UTC_DATE(self): - return self.getToken(frameQLParser.UTC_DATE, 0) - - def UTC_TIME(self): - return self.getToken(frameQLParser.UTC_TIME, 0) - - def UTC_TIMESTAMP(self): - return self.getToken(frameQLParser.UTC_TIMESTAMP, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_scalarFunctionName - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterScalarFunctionName" ): - listener.enterScalarFunctionName(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitScalarFunctionName" ): - listener.exitScalarFunctionName(self) - - - - - def scalarFunctionName(self): - - localctx = frameQLParser.ScalarFunctionNameContext(self, self._ctx, self.state) - self.enterRule(localctx, 582, self.RULE_scalarFunctionName) - try: - self.state = 5858 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.YEAR, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION]: - self.enterOuterAlt(localctx, 1) - self.state = 5835 - self.functionNameBase() - pass - elif token in [frameQLParser.ASCII]: - self.enterOuterAlt(localctx, 2) - self.state = 5836 - self.match(frameQLParser.ASCII) - pass - elif token in [frameQLParser.CURDATE]: - self.enterOuterAlt(localctx, 3) - self.state = 5837 - self.match(frameQLParser.CURDATE) - pass - elif token in [frameQLParser.CURRENT_DATE]: - self.enterOuterAlt(localctx, 4) - self.state = 5838 - self.match(frameQLParser.CURRENT_DATE) - pass - elif token in [frameQLParser.CURRENT_TIME]: - self.enterOuterAlt(localctx, 5) - self.state = 5839 - self.match(frameQLParser.CURRENT_TIME) - pass - elif token in [frameQLParser.CURRENT_TIMESTAMP]: - self.enterOuterAlt(localctx, 6) - self.state = 5840 - self.match(frameQLParser.CURRENT_TIMESTAMP) - pass - elif token in [frameQLParser.CURTIME]: - self.enterOuterAlt(localctx, 7) - self.state = 5841 - self.match(frameQLParser.CURTIME) - pass - elif token in [frameQLParser.DATE_ADD]: - self.enterOuterAlt(localctx, 8) - self.state = 5842 - self.match(frameQLParser.DATE_ADD) - pass - elif token in [frameQLParser.DATE_SUB]: - self.enterOuterAlt(localctx, 9) - self.state = 5843 - self.match(frameQLParser.DATE_SUB) - pass - elif token in [frameQLParser.IF]: - self.enterOuterAlt(localctx, 10) - self.state = 5844 - self.match(frameQLParser.IF) - pass - elif token in [frameQLParser.INSERT]: - self.enterOuterAlt(localctx, 11) - self.state = 5845 - self.match(frameQLParser.INSERT) - pass - elif token in [frameQLParser.LOCALTIME]: - self.enterOuterAlt(localctx, 12) - self.state = 5846 - self.match(frameQLParser.LOCALTIME) - pass - elif token in [frameQLParser.LOCALTIMESTAMP]: - self.enterOuterAlt(localctx, 13) - self.state = 5847 - self.match(frameQLParser.LOCALTIMESTAMP) - pass - elif token in [frameQLParser.MID]: - self.enterOuterAlt(localctx, 14) - self.state = 5848 - self.match(frameQLParser.MID) - pass - elif token in [frameQLParser.NOW]: - self.enterOuterAlt(localctx, 15) - self.state = 5849 - self.match(frameQLParser.NOW) - pass - elif token in [frameQLParser.REPLACE]: - self.enterOuterAlt(localctx, 16) - self.state = 5850 - self.match(frameQLParser.REPLACE) - pass - elif token in [frameQLParser.SUBSTR]: - self.enterOuterAlt(localctx, 17) - self.state = 5851 - self.match(frameQLParser.SUBSTR) - pass - elif token in [frameQLParser.SUBSTRING]: - self.enterOuterAlt(localctx, 18) - self.state = 5852 - self.match(frameQLParser.SUBSTRING) - pass - elif token in [frameQLParser.SYSDATE]: - self.enterOuterAlt(localctx, 19) - self.state = 5853 - self.match(frameQLParser.SYSDATE) - pass - elif token in [frameQLParser.TRIM]: - self.enterOuterAlt(localctx, 20) - self.state = 5854 - self.match(frameQLParser.TRIM) - pass - elif token in [frameQLParser.UTC_DATE]: - self.enterOuterAlt(localctx, 21) - self.state = 5855 - self.match(frameQLParser.UTC_DATE) - pass - elif token in [frameQLParser.UTC_TIME]: - self.enterOuterAlt(localctx, 22) - self.state = 5856 - self.match(frameQLParser.UTC_TIME) - pass - elif token in [frameQLParser.UTC_TIMESTAMP]: - self.enterOuterAlt(localctx, 23) - self.state = 5857 - self.match(frameQLParser.UTC_TIMESTAMP) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class PasswordFunctionClauseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.functionName = None # Token - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - - def functionArg(self): - return self.getTypedRuleContext(frameQLParser.FunctionArgContext,0) - - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def PASSWORD(self): - return self.getToken(frameQLParser.PASSWORD, 0) - - def OLD_PASSWORD(self): - return self.getToken(frameQLParser.OLD_PASSWORD, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_passwordFunctionClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPasswordFunctionClause" ): - listener.enterPasswordFunctionClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPasswordFunctionClause" ): - listener.exitPasswordFunctionClause(self) - - - - - def passwordFunctionClause(self): - - localctx = frameQLParser.PasswordFunctionClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 584, self.RULE_passwordFunctionClause) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5860 - localctx.functionName = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.OLD_PASSWORD or _la==frameQLParser.PASSWORD): - localctx.functionName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5861 - self.match(frameQLParser.LR_BRACKET) - self.state = 5862 - self.functionArg() - self.state = 5863 - self.match(frameQLParser.RR_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class FunctionArgsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def constant(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ConstantContext) - else: - return self.getTypedRuleContext(frameQLParser.ConstantContext,i) - - - def fullColumnName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.FullColumnNameContext) - else: - return self.getTypedRuleContext(frameQLParser.FullColumnNameContext,i) - - - def functionCall(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.FunctionCallContext) - else: - return self.getTypedRuleContext(frameQLParser.FunctionCallContext,i) - - - def expression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def getRuleIndex(self): - return frameQLParser.RULE_functionArgs - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFunctionArgs" ): - listener.enterFunctionArgs(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFunctionArgs" ): - listener.exitFunctionArgs(self) - - - - - def functionArgs(self): - - localctx = frameQLParser.FunctionArgsContext(self, self._ctx, self.state) - self.enterRule(localctx, 586, self.RULE_functionArgs) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5869 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,852,self._ctx) - if la_ == 1: - self.state = 5865 - self.constant() - pass - - elif la_ == 2: - self.state = 5866 - self.fullColumnName() - pass - - elif la_ == 3: - self.state = 5867 - self.functionCall() - pass - - elif la_ == 4: - self.state = 5868 - self.expression(0) - pass - - - self.state = 5880 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5871 - self.match(frameQLParser.COMMA) - self.state = 5876 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,853,self._ctx) - if la_ == 1: - self.state = 5872 - self.constant() - pass - - elif la_ == 2: - self.state = 5873 - self.fullColumnName() - pass - - elif la_ == 3: - self.state = 5874 - self.functionCall() - pass - - elif la_ == 4: - self.state = 5875 - self.expression(0) - pass - - - self.state = 5882 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class FunctionArgContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def constant(self): - return self.getTypedRuleContext(frameQLParser.ConstantContext,0) - - - def fullColumnName(self): - return self.getTypedRuleContext(frameQLParser.FullColumnNameContext,0) - - - def functionCall(self): - return self.getTypedRuleContext(frameQLParser.FunctionCallContext,0) - - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_functionArg - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFunctionArg" ): - listener.enterFunctionArg(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFunctionArg" ): - listener.exitFunctionArg(self) - - - - - def functionArg(self): - - localctx = frameQLParser.FunctionArgContext(self, self._ctx, self.state) - self.enterRule(localctx, 588, self.RULE_functionArg) - try: - self.state = 5887 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,855,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 5883 - self.constant() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 5884 - self.fullColumnName() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 5885 - self.functionCall() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 5886 - self.expression(0) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ExpressionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_expression - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - class IsExpressionContext(ExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionContext - super().__init__(parser) - self.testValue = None # Token - self.copyFrom(ctx) - - def predicate(self): - return self.getTypedRuleContext(frameQLParser.PredicateContext,0) - - def IS(self): - return self.getToken(frameQLParser.IS, 0) - def TRUE(self): - return self.getToken(frameQLParser.TRUE, 0) - def FALSE(self): - return self.getToken(frameQLParser.FALSE, 0) - def UNKNOWN(self): - return self.getToken(frameQLParser.UNKNOWN, 0) - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIsExpression" ): - listener.enterIsExpression(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIsExpression" ): - listener.exitIsExpression(self) - - - class NotExpressionContext(ExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionContext - super().__init__(parser) - self.notOperator = None # Token - self.copyFrom(ctx) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - def EXCLAMATION_SYMBOL(self): - return self.getToken(frameQLParser.EXCLAMATION_SYMBOL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterNotExpression" ): - listener.enterNotExpression(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitNotExpression" ): - listener.exitNotExpression(self) - - - class LogicalExpressionContext(ExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def expression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionContext,i) - - def logicalOperator(self): - return self.getTypedRuleContext(frameQLParser.LogicalOperatorContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLogicalExpression" ): - listener.enterLogicalExpression(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLogicalExpression" ): - listener.exitLogicalExpression(self) - - - class PredicateExpressionContext(ExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def predicate(self): - return self.getTypedRuleContext(frameQLParser.PredicateContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPredicateExpression" ): - listener.enterPredicateExpression(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPredicateExpression" ): - listener.exitPredicateExpression(self) - - - - def expression(self, _p:int=0): - _parentctx = self._ctx - _parentState = self.state - localctx = frameQLParser.ExpressionContext(self, self._ctx, _parentState) - _prevctx = localctx - _startState = 590 - self.enterRecursionRule(localctx, 590, self.RULE_expression, _p) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5900 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,857,self._ctx) - if la_ == 1: - localctx = frameQLParser.NotExpressionContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - - self.state = 5890 - localctx.notOperator = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.NOT or _la==frameQLParser.EXCLAMATION_SYMBOL): - localctx.notOperator = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5891 - self.expression(4) - pass - - elif la_ == 2: - localctx = frameQLParser.IsExpressionContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 5892 - self.predicate(0) - self.state = 5893 - self.match(frameQLParser.IS) - self.state = 5895 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NOT: - self.state = 5894 - self.match(frameQLParser.NOT) - - - self.state = 5897 - localctx.testValue = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FALSE or _la==frameQLParser.TRUE or _la==frameQLParser.UNKNOWN): - localctx.testValue = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 3: - localctx = frameQLParser.PredicateExpressionContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 5899 - self.predicate(0) - pass - - - self._ctx.stop = self._input.LT(-1) - self.state = 5908 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,858,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - if self._parseListeners is not None: - self.triggerExitRuleEvent() - _prevctx = localctx - localctx = frameQLParser.LogicalExpressionContext(self, frameQLParser.ExpressionContext(self, _parentctx, _parentState)) - self.pushNewRecursionContext(localctx, _startState, self.RULE_expression) - self.state = 5902 - if not self.precpred(self._ctx, 3): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 3)") - self.state = 5903 - self.logicalOperator() - self.state = 5904 - self.expression(4) - self.state = 5910 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,858,self._ctx) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.unrollRecursionContexts(_parentctx) - return localctx - - - class PredicateContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_predicate - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - class SoundsLikePredicateContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PredicateContext - super().__init__(parser) - self.copyFrom(ctx) - - def predicate(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PredicateContext) - else: - return self.getTypedRuleContext(frameQLParser.PredicateContext,i) - - def SOUNDS(self): - return self.getToken(frameQLParser.SOUNDS, 0) - def LIKE(self): - return self.getToken(frameQLParser.LIKE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSoundsLikePredicate" ): - listener.enterSoundsLikePredicate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSoundsLikePredicate" ): - listener.exitSoundsLikePredicate(self) - - - class ExpressionAtomPredicateContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PredicateContext - super().__init__(parser) - self.copyFrom(ctx) - - def expressionAtom(self): - return self.getTypedRuleContext(frameQLParser.ExpressionAtomContext,0) - - def LOCAL_ID(self): - return self.getToken(frameQLParser.LOCAL_ID, 0) - def VAR_ASSIGN(self): - return self.getToken(frameQLParser.VAR_ASSIGN, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExpressionAtomPredicate" ): - listener.enterExpressionAtomPredicate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExpressionAtomPredicate" ): - listener.exitExpressionAtomPredicate(self) - - - class InPredicateContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PredicateContext - super().__init__(parser) - self.copyFrom(ctx) - - def predicate(self): - return self.getTypedRuleContext(frameQLParser.PredicateContext,0) - - def IN(self): - return self.getToken(frameQLParser.IN, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - def expressions(self): - return self.getTypedRuleContext(frameQLParser.ExpressionsContext,0) - - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterInPredicate" ): - listener.enterInPredicate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitInPredicate" ): - listener.exitInPredicate(self) - - - class SubqueryComparasionPredicateContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PredicateContext - super().__init__(parser) - self.quantifier = None # Token - self.copyFrom(ctx) - - def predicate(self): - return self.getTypedRuleContext(frameQLParser.PredicateContext,0) - - def comparisonOperator(self): - return self.getTypedRuleContext(frameQLParser.ComparisonOperatorContext,0) - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - def ANY(self): - return self.getToken(frameQLParser.ANY, 0) - def SOME(self): - return self.getToken(frameQLParser.SOME, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSubqueryComparasionPredicate" ): - listener.enterSubqueryComparasionPredicate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSubqueryComparasionPredicate" ): - listener.exitSubqueryComparasionPredicate(self) - - - class BetweenPredicateContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PredicateContext - super().__init__(parser) - self.copyFrom(ctx) - - def predicate(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PredicateContext) - else: - return self.getTypedRuleContext(frameQLParser.PredicateContext,i) - - def BETWEEN(self): - return self.getToken(frameQLParser.BETWEEN, 0) - def AND(self): - return self.getToken(frameQLParser.AND, 0) - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBetweenPredicate" ): - listener.enterBetweenPredicate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBetweenPredicate" ): - listener.exitBetweenPredicate(self) - - - class BinaryComparasionPredicateContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PredicateContext - super().__init__(parser) - self.left = None # PredicateContext - self.right = None # PredicateContext - self.copyFrom(ctx) - - def comparisonOperator(self): - return self.getTypedRuleContext(frameQLParser.ComparisonOperatorContext,0) - - def predicate(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PredicateContext) - else: - return self.getTypedRuleContext(frameQLParser.PredicateContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBinaryComparasionPredicate" ): - listener.enterBinaryComparasionPredicate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBinaryComparasionPredicate" ): - listener.exitBinaryComparasionPredicate(self) - - - class IsNullPredicateContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PredicateContext - super().__init__(parser) - self.copyFrom(ctx) - - def predicate(self): - return self.getTypedRuleContext(frameQLParser.PredicateContext,0) - - def IS(self): - return self.getToken(frameQLParser.IS, 0) - def nullNotnull(self): - return self.getTypedRuleContext(frameQLParser.NullNotnullContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIsNullPredicate" ): - listener.enterIsNullPredicate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIsNullPredicate" ): - listener.exitIsNullPredicate(self) - - - class LikePredicateContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PredicateContext - super().__init__(parser) - self.copyFrom(ctx) - - def predicate(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PredicateContext) - else: - return self.getTypedRuleContext(frameQLParser.PredicateContext,i) - - def LIKE(self): - return self.getToken(frameQLParser.LIKE, 0) - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - def ESCAPE(self): - return self.getToken(frameQLParser.ESCAPE, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLikePredicate" ): - listener.enterLikePredicate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLikePredicate" ): - listener.exitLikePredicate(self) - - - class RegexpPredicateContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PredicateContext - super().__init__(parser) - self.regex = None # Token - self.copyFrom(ctx) - - def predicate(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PredicateContext) - else: - return self.getTypedRuleContext(frameQLParser.PredicateContext,i) - - def REGEXP(self): - return self.getToken(frameQLParser.REGEXP, 0) - def RLIKE(self): - return self.getToken(frameQLParser.RLIKE, 0) - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRegexpPredicate" ): - listener.enterRegexpPredicate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRegexpPredicate" ): - listener.exitRegexpPredicate(self) - - - - def predicate(self, _p:int=0): - _parentctx = self._ctx - _parentState = self.state - localctx = frameQLParser.PredicateContext(self, self._ctx, _parentState) - _prevctx = localctx - _startState = 592 - self.enterRecursionRule(localctx, 592, self.RULE_predicate, _p) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - localctx = frameQLParser.ExpressionAtomPredicateContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - - self.state = 5914 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,859,self._ctx) - if la_ == 1: - self.state = 5912 - self.match(frameQLParser.LOCAL_ID) - self.state = 5913 - self.match(frameQLParser.VAR_ASSIGN) - - - self.state = 5916 - self.expressionAtom(0) - self._ctx.stop = self._input.LT(-1) - self.state = 5975 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,867,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - if self._parseListeners is not None: - self.triggerExitRuleEvent() - _prevctx = localctx - self.state = 5973 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,866,self._ctx) - if la_ == 1: - localctx = frameQLParser.BinaryComparasionPredicateContext(self, frameQLParser.PredicateContext(self, _parentctx, _parentState)) - localctx.left = _prevctx - self.pushNewRecursionContext(localctx, _startState, self.RULE_predicate) - self.state = 5918 - if not self.precpred(self._ctx, 7): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 7)") - self.state = 5919 - self.comparisonOperator() - self.state = 5920 - localctx.right = self.predicate(8) - pass - - elif la_ == 2: - localctx = frameQLParser.BetweenPredicateContext(self, frameQLParser.PredicateContext(self, _parentctx, _parentState)) - self.pushNewRecursionContext(localctx, _startState, self.RULE_predicate) - self.state = 5922 - if not self.precpred(self._ctx, 5): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 5)") - self.state = 5924 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NOT: - self.state = 5923 - self.match(frameQLParser.NOT) - - - self.state = 5926 - self.match(frameQLParser.BETWEEN) - self.state = 5927 - self.predicate(0) - self.state = 5928 - self.match(frameQLParser.AND) - self.state = 5929 - self.predicate(6) - pass - - elif la_ == 3: - localctx = frameQLParser.SoundsLikePredicateContext(self, frameQLParser.PredicateContext(self, _parentctx, _parentState)) - self.pushNewRecursionContext(localctx, _startState, self.RULE_predicate) - self.state = 5931 - if not self.precpred(self._ctx, 4): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 4)") - self.state = 5932 - self.match(frameQLParser.SOUNDS) - self.state = 5933 - self.match(frameQLParser.LIKE) - self.state = 5934 - self.predicate(5) - pass - - elif la_ == 4: - localctx = frameQLParser.RegexpPredicateContext(self, frameQLParser.PredicateContext(self, _parentctx, _parentState)) - self.pushNewRecursionContext(localctx, _startState, self.RULE_predicate) - self.state = 5935 - if not self.precpred(self._ctx, 2): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 2)") - self.state = 5937 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NOT: - self.state = 5936 - self.match(frameQLParser.NOT) - - - self.state = 5939 - localctx.regex = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.REGEXP or _la==frameQLParser.RLIKE): - localctx.regex = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5940 - self.predicate(3) - pass - - elif la_ == 5: - localctx = frameQLParser.InPredicateContext(self, frameQLParser.PredicateContext(self, _parentctx, _parentState)) - self.pushNewRecursionContext(localctx, _startState, self.RULE_predicate) - self.state = 5941 - if not self.precpred(self._ctx, 9): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 9)") - self.state = 5943 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NOT: - self.state = 5942 - self.match(frameQLParser.NOT) - - - self.state = 5945 - self.match(frameQLParser.IN) - self.state = 5946 - self.match(frameQLParser.LR_BRACKET) - self.state = 5949 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,863,self._ctx) - if la_ == 1: - self.state = 5947 - self.selectStatement() - pass - - elif la_ == 2: - self.state = 5948 - self.expressions() - pass - - - self.state = 5951 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 6: - localctx = frameQLParser.IsNullPredicateContext(self, frameQLParser.PredicateContext(self, _parentctx, _parentState)) - self.pushNewRecursionContext(localctx, _startState, self.RULE_predicate) - self.state = 5953 - if not self.precpred(self._ctx, 8): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 8)") - self.state = 5954 - self.match(frameQLParser.IS) - self.state = 5955 - self.nullNotnull() - pass - - elif la_ == 7: - localctx = frameQLParser.SubqueryComparasionPredicateContext(self, frameQLParser.PredicateContext(self, _parentctx, _parentState)) - self.pushNewRecursionContext(localctx, _startState, self.RULE_predicate) - self.state = 5956 - if not self.precpred(self._ctx, 6): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 6)") - self.state = 5957 - self.comparisonOperator() - self.state = 5958 - localctx.quantifier = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ALL or _la==frameQLParser.ANY or _la==frameQLParser.SOME): - localctx.quantifier = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5959 - self.match(frameQLParser.LR_BRACKET) - self.state = 5960 - self.selectStatement() - self.state = 5961 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 8: - localctx = frameQLParser.LikePredicateContext(self, frameQLParser.PredicateContext(self, _parentctx, _parentState)) - self.pushNewRecursionContext(localctx, _startState, self.RULE_predicate) - self.state = 5963 - if not self.precpred(self._ctx, 3): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 3)") - self.state = 5965 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NOT: - self.state = 5964 - self.match(frameQLParser.NOT) - - - self.state = 5967 - self.match(frameQLParser.LIKE) - self.state = 5968 - self.predicate(0) - self.state = 5971 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,865,self._ctx) - if la_ == 1: - self.state = 5969 - self.match(frameQLParser.ESCAPE) - self.state = 5970 - self.match(frameQLParser.STRING_LITERAL) - - - pass - - - self.state = 5977 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,867,self._ctx) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.unrollRecursionContexts(_parentctx) - return localctx - - - class ExpressionAtomContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_expressionAtom - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - class UnaryExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def unaryOperator(self): - return self.getTypedRuleContext(frameQLParser.UnaryOperatorContext,0) - - def expressionAtom(self): - return self.getTypedRuleContext(frameQLParser.ExpressionAtomContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUnaryExpressionAtom" ): - listener.enterUnaryExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUnaryExpressionAtom" ): - listener.exitUnaryExpressionAtom(self) - - - class CollateExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def expressionAtom(self): - return self.getTypedRuleContext(frameQLParser.ExpressionAtomContext,0) - - def COLLATE(self): - return self.getToken(frameQLParser.COLLATE, 0) - def collationName(self): - return self.getTypedRuleContext(frameQLParser.CollationNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCollateExpressionAtom" ): - listener.enterCollateExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCollateExpressionAtom" ): - listener.exitCollateExpressionAtom(self) - - - class SubqueryExpessionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSubqueryExpessionAtom" ): - listener.enterSubqueryExpessionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSubqueryExpessionAtom" ): - listener.exitSubqueryExpessionAtom(self) - - - class MysqlVariableExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def mysqlVariable(self): - return self.getTypedRuleContext(frameQLParser.MysqlVariableContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMysqlVariableExpressionAtom" ): - listener.enterMysqlVariableExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMysqlVariableExpressionAtom" ): - listener.exitMysqlVariableExpressionAtom(self) - - - class NestedExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def expression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionContext,i) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterNestedExpressionAtom" ): - listener.enterNestedExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitNestedExpressionAtom" ): - listener.exitNestedExpressionAtom(self) - - - class NestedRowExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def ROW(self): - return self.getToken(frameQLParser.ROW, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def expression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionContext,i) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.COMMA) - else: - return self.getToken(frameQLParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterNestedRowExpressionAtom" ): - listener.enterNestedRowExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitNestedRowExpressionAtom" ): - listener.exitNestedRowExpressionAtom(self) - - - class MathExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.left = None # ExpressionAtomContext - self.right = None # ExpressionAtomContext - self.copyFrom(ctx) - - def mathOperator(self): - return self.getTypedRuleContext(frameQLParser.MathOperatorContext,0) - - def expressionAtom(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionAtomContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionAtomContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMathExpressionAtom" ): - listener.enterMathExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMathExpressionAtom" ): - listener.exitMathExpressionAtom(self) - - - class IntervalExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def INTERVAL(self): - return self.getToken(frameQLParser.INTERVAL, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def intervalType(self): - return self.getTypedRuleContext(frameQLParser.IntervalTypeContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIntervalExpressionAtom" ): - listener.enterIntervalExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIntervalExpressionAtom" ): - listener.exitIntervalExpressionAtom(self) - - - class ExistsExpessionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def EXISTS(self): - return self.getToken(frameQLParser.EXISTS, 0) - def LR_BRACKET(self): - return self.getToken(frameQLParser.LR_BRACKET, 0) - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - def RR_BRACKET(self): - return self.getToken(frameQLParser.RR_BRACKET, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExistsExpessionAtom" ): - listener.enterExistsExpessionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExistsExpessionAtom" ): - listener.exitExistsExpessionAtom(self) - - - class ConstantExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def constant(self): - return self.getTypedRuleContext(frameQLParser.ConstantContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterConstantExpressionAtom" ): - listener.enterConstantExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitConstantExpressionAtom" ): - listener.exitConstantExpressionAtom(self) - - - class FunctionCallExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def functionCall(self): - return self.getTypedRuleContext(frameQLParser.FunctionCallContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFunctionCallExpressionAtom" ): - listener.enterFunctionCallExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFunctionCallExpressionAtom" ): - listener.exitFunctionCallExpressionAtom(self) - - - class BinaryExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def BINARY(self): - return self.getToken(frameQLParser.BINARY, 0) - def expressionAtom(self): - return self.getTypedRuleContext(frameQLParser.ExpressionAtomContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBinaryExpressionAtom" ): - listener.enterBinaryExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBinaryExpressionAtom" ): - listener.exitBinaryExpressionAtom(self) - - - class FullColumnNameExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def fullColumnName(self): - return self.getTypedRuleContext(frameQLParser.FullColumnNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFullColumnNameExpressionAtom" ): - listener.enterFullColumnNameExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFullColumnNameExpressionAtom" ): - listener.exitFullColumnNameExpressionAtom(self) - - - class BitExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.left = None # ExpressionAtomContext - self.right = None # ExpressionAtomContext - self.copyFrom(ctx) - - def bitOperator(self): - return self.getTypedRuleContext(frameQLParser.BitOperatorContext,0) - - def expressionAtom(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionAtomContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionAtomContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBitExpressionAtom" ): - listener.enterBitExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBitExpressionAtom" ): - listener.exitBitExpressionAtom(self) - - - - def expressionAtom(self, _p:int=0): - _parentctx = self._ctx - _parentState = self.state - localctx = frameQLParser.ExpressionAtomContext(self, self._ctx, _parentState) - _prevctx = localctx - _startState = 594 - self.enterRecursionRule(localctx, 594, self.RULE_expressionAtom, _p) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 6023 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,870,self._ctx) - if la_ == 1: - localctx = frameQLParser.ConstantExpressionAtomContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - - self.state = 5979 - self.constant() - pass - - elif la_ == 2: - localctx = frameQLParser.FullColumnNameExpressionAtomContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 5980 - self.fullColumnName() - pass - - elif la_ == 3: - localctx = frameQLParser.FunctionCallExpressionAtomContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 5981 - self.functionCall() - pass - - elif la_ == 4: - localctx = frameQLParser.MysqlVariableExpressionAtomContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 5982 - self.mysqlVariable() - pass - - elif la_ == 5: - localctx = frameQLParser.UnaryExpressionAtomContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 5983 - self.unaryOperator() - self.state = 5984 - self.expressionAtom(9) - pass - - elif la_ == 6: - localctx = frameQLParser.BinaryExpressionAtomContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 5986 - self.match(frameQLParser.BINARY) - self.state = 5987 - self.expressionAtom(8) - pass - - elif la_ == 7: - localctx = frameQLParser.NestedExpressionAtomContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 5988 - self.match(frameQLParser.LR_BRACKET) - self.state = 5989 - self.expression(0) - self.state = 5994 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5990 - self.match(frameQLParser.COMMA) - self.state = 5991 - self.expression(0) - self.state = 5996 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 5997 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 8: - localctx = frameQLParser.NestedRowExpressionAtomContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 5999 - self.match(frameQLParser.ROW) - self.state = 6000 - self.match(frameQLParser.LR_BRACKET) - self.state = 6001 - self.expression(0) - self.state = 6004 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 6002 - self.match(frameQLParser.COMMA) - self.state = 6003 - self.expression(0) - self.state = 6006 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==frameQLParser.COMMA): - break - - self.state = 6008 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 9: - localctx = frameQLParser.ExistsExpessionAtomContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 6010 - self.match(frameQLParser.EXISTS) - self.state = 6011 - self.match(frameQLParser.LR_BRACKET) - self.state = 6012 - self.selectStatement() - self.state = 6013 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 10: - localctx = frameQLParser.SubqueryExpessionAtomContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 6015 - self.match(frameQLParser.LR_BRACKET) - self.state = 6016 - self.selectStatement() - self.state = 6017 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 11: - localctx = frameQLParser.IntervalExpressionAtomContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 6019 - self.match(frameQLParser.INTERVAL) - self.state = 6020 - self.expression(0) - self.state = 6021 - self.intervalType() - pass - - - self._ctx.stop = self._input.LT(-1) - self.state = 6038 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,872,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - if self._parseListeners is not None: - self.triggerExitRuleEvent() - _prevctx = localctx - self.state = 6036 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,871,self._ctx) - if la_ == 1: - localctx = frameQLParser.BitExpressionAtomContext(self, frameQLParser.ExpressionAtomContext(self, _parentctx, _parentState)) - localctx.left = _prevctx - self.pushNewRecursionContext(localctx, _startState, self.RULE_expressionAtom) - self.state = 6025 - if not self.precpred(self._ctx, 2): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 2)") - self.state = 6026 - self.bitOperator() - self.state = 6027 - localctx.right = self.expressionAtom(3) - pass - - elif la_ == 2: - localctx = frameQLParser.MathExpressionAtomContext(self, frameQLParser.ExpressionAtomContext(self, _parentctx, _parentState)) - localctx.left = _prevctx - self.pushNewRecursionContext(localctx, _startState, self.RULE_expressionAtom) - self.state = 6029 - if not self.precpred(self._ctx, 1): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 1)") - self.state = 6030 - self.mathOperator() - self.state = 6031 - localctx.right = self.expressionAtom(2) - pass - - elif la_ == 3: - localctx = frameQLParser.CollateExpressionAtomContext(self, frameQLParser.ExpressionAtomContext(self, _parentctx, _parentState)) - self.pushNewRecursionContext(localctx, _startState, self.RULE_expressionAtom) - self.state = 6033 - if not self.precpred(self._ctx, 11): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 11)") - self.state = 6034 - self.match(frameQLParser.COLLATE) - self.state = 6035 - self.collationName() - pass - - - self.state = 6040 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,872,self._ctx) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.unrollRecursionContexts(_parentctx) - return localctx - - - class UnaryOperatorContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def EXCLAMATION_SYMBOL(self): - return self.getToken(frameQLParser.EXCLAMATION_SYMBOL, 0) - - def BIT_NOT_OP(self): - return self.getToken(frameQLParser.BIT_NOT_OP, 0) - - def PLUS(self): - return self.getToken(frameQLParser.PLUS, 0) - - def MINUS(self): - return self.getToken(frameQLParser.MINUS, 0) - - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_unaryOperator - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUnaryOperator" ): - listener.enterUnaryOperator(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUnaryOperator" ): - listener.exitUnaryOperator(self) - - - - - def unaryOperator(self): - - localctx = frameQLParser.UnaryOperatorContext(self, self._ctx, self.state) - self.enterRule(localctx, 596, self.RULE_unaryOperator) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 6041 - _la = self._input.LA(1) - if not(_la==frameQLParser.NOT or ((((_la - 939)) & ~0x3f) == 0 and ((1 << (_la - 939)) & ((1 << (frameQLParser.PLUS - 939)) | (1 << (frameQLParser.MINUS - 939)) | (1 << (frameQLParser.EXCLAMATION_SYMBOL - 939)) | (1 << (frameQLParser.BIT_NOT_OP - 939)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ComparisonOperatorContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def EQUAL_SYMBOL(self): - return self.getToken(frameQLParser.EQUAL_SYMBOL, 0) - - def GREATER_SYMBOL(self): - return self.getToken(frameQLParser.GREATER_SYMBOL, 0) - - def LESS_SYMBOL(self): - return self.getToken(frameQLParser.LESS_SYMBOL, 0) - - def EXCLAMATION_SYMBOL(self): - return self.getToken(frameQLParser.EXCLAMATION_SYMBOL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_comparisonOperator - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterComparisonOperator" ): - listener.enterComparisonOperator(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitComparisonOperator" ): - listener.exitComparisonOperator(self) - - - - - def comparisonOperator(self): - - localctx = frameQLParser.ComparisonOperatorContext(self, self._ctx, self.state) - self.enterRule(localctx, 598, self.RULE_comparisonOperator) - try: - self.state = 6057 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,873,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 6043 - self.match(frameQLParser.EQUAL_SYMBOL) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 6044 - self.match(frameQLParser.GREATER_SYMBOL) - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 6045 - self.match(frameQLParser.LESS_SYMBOL) - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 6046 - self.match(frameQLParser.LESS_SYMBOL) - self.state = 6047 - self.match(frameQLParser.EQUAL_SYMBOL) - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 6048 - self.match(frameQLParser.GREATER_SYMBOL) - self.state = 6049 - self.match(frameQLParser.EQUAL_SYMBOL) - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 6050 - self.match(frameQLParser.LESS_SYMBOL) - self.state = 6051 - self.match(frameQLParser.GREATER_SYMBOL) - pass - - elif la_ == 7: - self.enterOuterAlt(localctx, 7) - self.state = 6052 - self.match(frameQLParser.EXCLAMATION_SYMBOL) - self.state = 6053 - self.match(frameQLParser.EQUAL_SYMBOL) - pass - - elif la_ == 8: - self.enterOuterAlt(localctx, 8) - self.state = 6054 - self.match(frameQLParser.LESS_SYMBOL) - self.state = 6055 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 6056 - self.match(frameQLParser.GREATER_SYMBOL) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class LogicalOperatorContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def AND(self): - return self.getToken(frameQLParser.AND, 0) - - def BIT_AND_OP(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.BIT_AND_OP) - else: - return self.getToken(frameQLParser.BIT_AND_OP, i) - - def XOR(self): - return self.getToken(frameQLParser.XOR, 0) - - def OR(self): - return self.getToken(frameQLParser.OR, 0) - - def BIT_OR_OP(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.BIT_OR_OP) - else: - return self.getToken(frameQLParser.BIT_OR_OP, i) - - def getRuleIndex(self): - return frameQLParser.RULE_logicalOperator - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLogicalOperator" ): - listener.enterLogicalOperator(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLogicalOperator" ): - listener.exitLogicalOperator(self) - - - - - def logicalOperator(self): - - localctx = frameQLParser.LogicalOperatorContext(self, self._ctx, self.state) - self.enterRule(localctx, 600, self.RULE_logicalOperator) - try: - self.state = 6066 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.AND]: - self.enterOuterAlt(localctx, 1) - self.state = 6059 - self.match(frameQLParser.AND) - pass - elif token in [frameQLParser.BIT_AND_OP]: - self.enterOuterAlt(localctx, 2) - self.state = 6060 - self.match(frameQLParser.BIT_AND_OP) - self.state = 6061 - self.match(frameQLParser.BIT_AND_OP) - pass - elif token in [frameQLParser.XOR]: - self.enterOuterAlt(localctx, 3) - self.state = 6062 - self.match(frameQLParser.XOR) - pass - elif token in [frameQLParser.OR]: - self.enterOuterAlt(localctx, 4) - self.state = 6063 - self.match(frameQLParser.OR) - pass - elif token in [frameQLParser.BIT_OR_OP]: - self.enterOuterAlt(localctx, 5) - self.state = 6064 - self.match(frameQLParser.BIT_OR_OP) - self.state = 6065 - self.match(frameQLParser.BIT_OR_OP) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class BitOperatorContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LESS_SYMBOL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.LESS_SYMBOL) - else: - return self.getToken(frameQLParser.LESS_SYMBOL, i) - - def GREATER_SYMBOL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.GREATER_SYMBOL) - else: - return self.getToken(frameQLParser.GREATER_SYMBOL, i) - - def BIT_AND_OP(self): - return self.getToken(frameQLParser.BIT_AND_OP, 0) - - def BIT_XOR_OP(self): - return self.getToken(frameQLParser.BIT_XOR_OP, 0) - - def BIT_OR_OP(self): - return self.getToken(frameQLParser.BIT_OR_OP, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_bitOperator - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBitOperator" ): - listener.enterBitOperator(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBitOperator" ): - listener.exitBitOperator(self) - - - - - def bitOperator(self): - - localctx = frameQLParser.BitOperatorContext(self, self._ctx, self.state) - self.enterRule(localctx, 602, self.RULE_bitOperator) - try: - self.state = 6075 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.LESS_SYMBOL]: - self.enterOuterAlt(localctx, 1) - self.state = 6068 - self.match(frameQLParser.LESS_SYMBOL) - self.state = 6069 - self.match(frameQLParser.LESS_SYMBOL) - pass - elif token in [frameQLParser.GREATER_SYMBOL]: - self.enterOuterAlt(localctx, 2) - self.state = 6070 - self.match(frameQLParser.GREATER_SYMBOL) - self.state = 6071 - self.match(frameQLParser.GREATER_SYMBOL) - pass - elif token in [frameQLParser.BIT_AND_OP]: - self.enterOuterAlt(localctx, 3) - self.state = 6072 - self.match(frameQLParser.BIT_AND_OP) - pass - elif token in [frameQLParser.BIT_XOR_OP]: - self.enterOuterAlt(localctx, 4) - self.state = 6073 - self.match(frameQLParser.BIT_XOR_OP) - pass - elif token in [frameQLParser.BIT_OR_OP]: - self.enterOuterAlt(localctx, 5) - self.state = 6074 - self.match(frameQLParser.BIT_OR_OP) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class MathOperatorContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def STAR(self): - return self.getToken(frameQLParser.STAR, 0) - - def DIVIDE(self): - return self.getToken(frameQLParser.DIVIDE, 0) - - def MODULE(self): - return self.getToken(frameQLParser.MODULE, 0) - - def DIV(self): - return self.getToken(frameQLParser.DIV, 0) - - def MOD(self): - return self.getToken(frameQLParser.MOD, 0) - - def PLUS(self): - return self.getToken(frameQLParser.PLUS, 0) - - def MINUS(self): - return self.getToken(frameQLParser.MINUS, 0) - - def MINUSMINUS(self): - return self.getToken(frameQLParser.MINUSMINUS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_mathOperator - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMathOperator" ): - listener.enterMathOperator(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMathOperator" ): - listener.exitMathOperator(self) - - - - - def mathOperator(self): - - localctx = frameQLParser.MathOperatorContext(self, self._ctx, self.state) - self.enterRule(localctx, 604, self.RULE_mathOperator) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 6077 - _la = self._input.LA(1) - if not(((((_la - 936)) & ~0x3f) == 0 and ((1 << (_la - 936)) & ((1 << (frameQLParser.STAR - 936)) | (1 << (frameQLParser.DIVIDE - 936)) | (1 << (frameQLParser.MODULE - 936)) | (1 << (frameQLParser.PLUS - 936)) | (1 << (frameQLParser.MINUSMINUS - 936)) | (1 << (frameQLParser.MINUS - 936)) | (1 << (frameQLParser.DIV - 936)) | (1 << (frameQLParser.MOD - 936)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CharsetNameBaseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ARMSCII8(self): - return self.getToken(frameQLParser.ARMSCII8, 0) - - def ASCII(self): - return self.getToken(frameQLParser.ASCII, 0) - - def BIG5(self): - return self.getToken(frameQLParser.BIG5, 0) - - def CP1250(self): - return self.getToken(frameQLParser.CP1250, 0) - - def CP1251(self): - return self.getToken(frameQLParser.CP1251, 0) - - def CP1256(self): - return self.getToken(frameQLParser.CP1256, 0) - - def CP1257(self): - return self.getToken(frameQLParser.CP1257, 0) - - def CP850(self): - return self.getToken(frameQLParser.CP850, 0) - - def CP852(self): - return self.getToken(frameQLParser.CP852, 0) - - def CP866(self): - return self.getToken(frameQLParser.CP866, 0) - - def CP932(self): - return self.getToken(frameQLParser.CP932, 0) - - def DEC8(self): - return self.getToken(frameQLParser.DEC8, 0) - - def EUCJPMS(self): - return self.getToken(frameQLParser.EUCJPMS, 0) - - def EUCKR(self): - return self.getToken(frameQLParser.EUCKR, 0) - - def GB2312(self): - return self.getToken(frameQLParser.GB2312, 0) - - def GBK(self): - return self.getToken(frameQLParser.GBK, 0) - - def GEOSTD8(self): - return self.getToken(frameQLParser.GEOSTD8, 0) - - def GREEK(self): - return self.getToken(frameQLParser.GREEK, 0) - - def HEBREW(self): - return self.getToken(frameQLParser.HEBREW, 0) - - def HP8(self): - return self.getToken(frameQLParser.HP8, 0) - - def KEYBCS2(self): - return self.getToken(frameQLParser.KEYBCS2, 0) - - def KOI8R(self): - return self.getToken(frameQLParser.KOI8R, 0) - - def KOI8U(self): - return self.getToken(frameQLParser.KOI8U, 0) - - def LATIN1(self): - return self.getToken(frameQLParser.LATIN1, 0) - - def LATIN2(self): - return self.getToken(frameQLParser.LATIN2, 0) - - def LATIN5(self): - return self.getToken(frameQLParser.LATIN5, 0) - - def LATIN7(self): - return self.getToken(frameQLParser.LATIN7, 0) - - def MACCE(self): - return self.getToken(frameQLParser.MACCE, 0) - - def MACROMAN(self): - return self.getToken(frameQLParser.MACROMAN, 0) - - def SJIS(self): - return self.getToken(frameQLParser.SJIS, 0) - - def SWE7(self): - return self.getToken(frameQLParser.SWE7, 0) - - def TIS620(self): - return self.getToken(frameQLParser.TIS620, 0) - - def UCS2(self): - return self.getToken(frameQLParser.UCS2, 0) - - def UJIS(self): - return self.getToken(frameQLParser.UJIS, 0) - - def UTF16(self): - return self.getToken(frameQLParser.UTF16, 0) - - def UTF16LE(self): - return self.getToken(frameQLParser.UTF16LE, 0) - - def UTF32(self): - return self.getToken(frameQLParser.UTF32, 0) - - def UTF8(self): - return self.getToken(frameQLParser.UTF8, 0) - - def UTF8MB3(self): - return self.getToken(frameQLParser.UTF8MB3, 0) - - def UTF8MB4(self): - return self.getToken(frameQLParser.UTF8MB4, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_charsetNameBase - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCharsetNameBase" ): - listener.enterCharsetNameBase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCharsetNameBase" ): - listener.exitCharsetNameBase(self) - - - - - def charsetNameBase(self): - - localctx = frameQLParser.CharsetNameBaseContext(self, self._ctx, self.state) - self.enterRule(localctx, 606, self.RULE_charsetNameBase) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 6079 - _la = self._input.LA(1) - if not(((((_la - 575)) & ~0x3f) == 0 and ((1 << (_la - 575)) & ((1 << (frameQLParser.ARMSCII8 - 575)) | (1 << (frameQLParser.ASCII - 575)) | (1 << (frameQLParser.BIG5 - 575)) | (1 << (frameQLParser.CP1250 - 575)) | (1 << (frameQLParser.CP1251 - 575)) | (1 << (frameQLParser.CP1256 - 575)) | (1 << (frameQLParser.CP1257 - 575)) | (1 << (frameQLParser.CP850 - 575)) | (1 << (frameQLParser.CP852 - 575)) | (1 << (frameQLParser.CP866 - 575)) | (1 << (frameQLParser.CP932 - 575)) | (1 << (frameQLParser.DEC8 - 575)) | (1 << (frameQLParser.EUCJPMS - 575)) | (1 << (frameQLParser.EUCKR - 575)) | (1 << (frameQLParser.GB2312 - 575)) | (1 << (frameQLParser.GBK - 575)) | (1 << (frameQLParser.GEOSTD8 - 575)) | (1 << (frameQLParser.GREEK - 575)) | (1 << (frameQLParser.HEBREW - 575)) | (1 << (frameQLParser.HP8 - 575)) | (1 << (frameQLParser.KEYBCS2 - 575)) | (1 << (frameQLParser.KOI8R - 575)) | (1 << (frameQLParser.KOI8U - 575)) | (1 << (frameQLParser.LATIN1 - 575)) | (1 << (frameQLParser.LATIN2 - 575)) | (1 << (frameQLParser.LATIN5 - 575)) | (1 << (frameQLParser.LATIN7 - 575)) | (1 << (frameQLParser.MACCE - 575)) | (1 << (frameQLParser.MACROMAN - 575)) | (1 << (frameQLParser.SJIS - 575)) | (1 << (frameQLParser.SWE7 - 575)) | (1 << (frameQLParser.TIS620 - 575)) | (1 << (frameQLParser.UCS2 - 575)) | (1 << (frameQLParser.UJIS - 575)) | (1 << (frameQLParser.UTF16 - 575)) | (1 << (frameQLParser.UTF16LE - 575)) | (1 << (frameQLParser.UTF32 - 575)) | (1 << (frameQLParser.UTF8 - 575)) | (1 << (frameQLParser.UTF8MB3 - 575)) | (1 << (frameQLParser.UTF8MB4 - 575)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TransactionLevelBaseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def REPEATABLE(self): - return self.getToken(frameQLParser.REPEATABLE, 0) - - def COMMITTED(self): - return self.getToken(frameQLParser.COMMITTED, 0) - - def UNCOMMITTED(self): - return self.getToken(frameQLParser.UNCOMMITTED, 0) - - def SERIALIZABLE(self): - return self.getToken(frameQLParser.SERIALIZABLE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_transactionLevelBase - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTransactionLevelBase" ): - listener.enterTransactionLevelBase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTransactionLevelBase" ): - listener.exitTransactionLevelBase(self) - - - - - def transactionLevelBase(self): - - localctx = frameQLParser.TransactionLevelBaseContext(self, self._ctx, self.state) - self.enterRule(localctx, 608, self.RULE_transactionLevelBase) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 6081 - _la = self._input.LA(1) - if not(((((_la - 626)) & ~0x3f) == 0 and ((1 << (_la - 626)) & ((1 << (frameQLParser.REPEATABLE - 626)) | (1 << (frameQLParser.COMMITTED - 626)) | (1 << (frameQLParser.UNCOMMITTED - 626)) | (1 << (frameQLParser.SERIALIZABLE - 626)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class PrivilegesBaseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def TABLES(self): - return self.getToken(frameQLParser.TABLES, 0) - - def ROUTINE(self): - return self.getToken(frameQLParser.ROUTINE, 0) - - def EXECUTE(self): - return self.getToken(frameQLParser.EXECUTE, 0) - - def FILE(self): - return self.getToken(frameQLParser.FILE, 0) - - def PROCESS(self): - return self.getToken(frameQLParser.PROCESS, 0) - - def RELOAD(self): - return self.getToken(frameQLParser.RELOAD, 0) - - def SHUTDOWN(self): - return self.getToken(frameQLParser.SHUTDOWN, 0) - - def SUPER(self): - return self.getToken(frameQLParser.SUPER, 0) - - def PRIVILEGES(self): - return self.getToken(frameQLParser.PRIVILEGES, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_privilegesBase - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPrivilegesBase" ): - listener.enterPrivilegesBase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPrivilegesBase" ): - listener.exitPrivilegesBase(self) - - - - - def privilegesBase(self): - - localctx = frameQLParser.PrivilegesBaseContext(self, self._ctx, self.state) - self.enterRule(localctx, 610, self.RULE_privilegesBase) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 6083 - _la = self._input.LA(1) - if not(((((_la - 566)) & ~0x3f) == 0 and ((1 << (_la - 566)) & ((1 << (frameQLParser.TABLES - 566)) | (1 << (frameQLParser.ROUTINE - 566)) | (1 << (frameQLParser.EXECUTE - 566)) | (1 << (frameQLParser.FILE - 566)) | (1 << (frameQLParser.PROCESS - 566)) | (1 << (frameQLParser.RELOAD - 566)) | (1 << (frameQLParser.SHUTDOWN - 566)) | (1 << (frameQLParser.SUPER - 566)) | (1 << (frameQLParser.PRIVILEGES - 566)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class IntervalTypeBaseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def QUARTER(self): - return self.getToken(frameQLParser.QUARTER, 0) - - def MONTH(self): - return self.getToken(frameQLParser.MONTH, 0) - - def DAY(self): - return self.getToken(frameQLParser.DAY, 0) - - def HOUR(self): - return self.getToken(frameQLParser.HOUR, 0) - - def MINUTE(self): - return self.getToken(frameQLParser.MINUTE, 0) - - def WEEK(self): - return self.getToken(frameQLParser.WEEK, 0) - - def SECOND(self): - return self.getToken(frameQLParser.SECOND, 0) - - def MICROSECOND(self): - return self.getToken(frameQLParser.MICROSECOND, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_intervalTypeBase - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIntervalTypeBase" ): - listener.enterIntervalTypeBase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIntervalTypeBase" ): - listener.exitIntervalTypeBase(self) - - - - - def intervalTypeBase(self): - - localctx = frameQLParser.IntervalTypeBaseContext(self, self._ctx, self.state) - self.enterRule(localctx, 612, self.RULE_intervalTypeBase) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 6085 - _la = self._input.LA(1) - if not(((((_la - 558)) & ~0x3f) == 0 and ((1 << (_la - 558)) & ((1 << (frameQLParser.QUARTER - 558)) | (1 << (frameQLParser.MONTH - 558)) | (1 << (frameQLParser.DAY - 558)) | (1 << (frameQLParser.HOUR - 558)) | (1 << (frameQLParser.MINUTE - 558)) | (1 << (frameQLParser.WEEK - 558)) | (1 << (frameQLParser.SECOND - 558)) | (1 << (frameQLParser.MICROSECOND - 558)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DataTypeBaseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DATE(self): - return self.getToken(frameQLParser.DATE, 0) - - def TIME(self): - return self.getToken(frameQLParser.TIME, 0) - - def TIMESTAMP(self): - return self.getToken(frameQLParser.TIMESTAMP, 0) - - def DATETIME(self): - return self.getToken(frameQLParser.DATETIME, 0) - - def YEAR(self): - return self.getToken(frameQLParser.YEAR, 0) - - def ENUM(self): - return self.getToken(frameQLParser.ENUM, 0) - - def TEXT(self): - return self.getToken(frameQLParser.TEXT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_dataTypeBase - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDataTypeBase" ): - listener.enterDataTypeBase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDataTypeBase" ): - listener.exitDataTypeBase(self) - - - - - def dataTypeBase(self): - - localctx = frameQLParser.DataTypeBaseContext(self, self._ctx, self.state) - self.enterRule(localctx, 614, self.RULE_dataTypeBase) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 6087 - _la = self._input.LA(1) - if not(((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class KeywordsCanBeIdContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ACCOUNT(self): - return self.getToken(frameQLParser.ACCOUNT, 0) - - def ACTION(self): - return self.getToken(frameQLParser.ACTION, 0) - - def AFTER(self): - return self.getToken(frameQLParser.AFTER, 0) - - def AGGREGATE(self): - return self.getToken(frameQLParser.AGGREGATE, 0) - - def ALGORITHM(self): - return self.getToken(frameQLParser.ALGORITHM, 0) - - def ANY(self): - return self.getToken(frameQLParser.ANY, 0) - - def AT(self): - return self.getToken(frameQLParser.AT, 0) - - def AUTHORS(self): - return self.getToken(frameQLParser.AUTHORS, 0) - - def AUTOCOMMIT(self): - return self.getToken(frameQLParser.AUTOCOMMIT, 0) - - def AUTOEXTEND_SIZE(self): - return self.getToken(frameQLParser.AUTOEXTEND_SIZE, 0) - - def AUTO_INCREMENT(self): - return self.getToken(frameQLParser.AUTO_INCREMENT, 0) - - def AVG_ROW_LENGTH(self): - return self.getToken(frameQLParser.AVG_ROW_LENGTH, 0) - - def BEGIN(self): - return self.getToken(frameQLParser.BEGIN, 0) - - def BINLOG(self): - return self.getToken(frameQLParser.BINLOG, 0) - - def BIT(self): - return self.getToken(frameQLParser.BIT, 0) - - def BLOCK(self): - return self.getToken(frameQLParser.BLOCK, 0) - - def BOOL(self): - return self.getToken(frameQLParser.BOOL, 0) - - def BOOLEAN(self): - return self.getToken(frameQLParser.BOOLEAN, 0) - - def BTREE(self): - return self.getToken(frameQLParser.BTREE, 0) - - def CASCADED(self): - return self.getToken(frameQLParser.CASCADED, 0) - - def CHAIN(self): - return self.getToken(frameQLParser.CHAIN, 0) - - def CHANGED(self): - return self.getToken(frameQLParser.CHANGED, 0) - - def CHANNEL(self): - return self.getToken(frameQLParser.CHANNEL, 0) - - def CHECKSUM(self): - return self.getToken(frameQLParser.CHECKSUM, 0) - - def CIPHER(self): - return self.getToken(frameQLParser.CIPHER, 0) - - def CLIENT(self): - return self.getToken(frameQLParser.CLIENT, 0) - - def COALESCE(self): - return self.getToken(frameQLParser.COALESCE, 0) - - def CODE(self): - return self.getToken(frameQLParser.CODE, 0) - - def COLUMNS(self): - return self.getToken(frameQLParser.COLUMNS, 0) - - def COLUMN_FORMAT(self): - return self.getToken(frameQLParser.COLUMN_FORMAT, 0) - - def COMMENT(self): - return self.getToken(frameQLParser.COMMENT, 0) - - def COMMIT(self): - return self.getToken(frameQLParser.COMMIT, 0) - - def COMPACT(self): - return self.getToken(frameQLParser.COMPACT, 0) - - def COMPLETION(self): - return self.getToken(frameQLParser.COMPLETION, 0) - - def COMPRESSED(self): - return self.getToken(frameQLParser.COMPRESSED, 0) - - def COMPRESSION(self): - return self.getToken(frameQLParser.COMPRESSION, 0) - - def CONCURRENT(self): - return self.getToken(frameQLParser.CONCURRENT, 0) - - def CONNECTION(self): - return self.getToken(frameQLParser.CONNECTION, 0) - - def CONSISTENT(self): - return self.getToken(frameQLParser.CONSISTENT, 0) - - def CONTAINS(self): - return self.getToken(frameQLParser.CONTAINS, 0) - - def CONTEXT(self): - return self.getToken(frameQLParser.CONTEXT, 0) - - def CONTRIBUTORS(self): - return self.getToken(frameQLParser.CONTRIBUTORS, 0) - - def COPY(self): - return self.getToken(frameQLParser.COPY, 0) - - def CPU(self): - return self.getToken(frameQLParser.CPU, 0) - - def DATA(self): - return self.getToken(frameQLParser.DATA, 0) - - def DATAFILE(self): - return self.getToken(frameQLParser.DATAFILE, 0) - - def DEALLOCATE(self): - return self.getToken(frameQLParser.DEALLOCATE, 0) - - def DEFAULT_AUTH(self): - return self.getToken(frameQLParser.DEFAULT_AUTH, 0) - - def DEFINER(self): - return self.getToken(frameQLParser.DEFINER, 0) - - def DELAY_KEY_WRITE(self): - return self.getToken(frameQLParser.DELAY_KEY_WRITE, 0) - - def DIRECTORY(self): - return self.getToken(frameQLParser.DIRECTORY, 0) - - def DISABLE(self): - return self.getToken(frameQLParser.DISABLE, 0) - - def DISCARD(self): - return self.getToken(frameQLParser.DISCARD, 0) - - def DISK(self): - return self.getToken(frameQLParser.DISK, 0) - - def DO(self): - return self.getToken(frameQLParser.DO, 0) - - def DUMPFILE(self): - return self.getToken(frameQLParser.DUMPFILE, 0) - - def DUPLICATE(self): - return self.getToken(frameQLParser.DUPLICATE, 0) - - def DYNAMIC(self): - return self.getToken(frameQLParser.DYNAMIC, 0) - - def ENABLE(self): - return self.getToken(frameQLParser.ENABLE, 0) - - def ENCRYPTION(self): - return self.getToken(frameQLParser.ENCRYPTION, 0) - - def ENDS(self): - return self.getToken(frameQLParser.ENDS, 0) - - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - - def ENGINES(self): - return self.getToken(frameQLParser.ENGINES, 0) - - def ERROR(self): - return self.getToken(frameQLParser.ERROR, 0) - - def ERRORS(self): - return self.getToken(frameQLParser.ERRORS, 0) - - def ESCAPE(self): - return self.getToken(frameQLParser.ESCAPE, 0) - - def EVEN(self): - return self.getToken(frameQLParser.EVEN, 0) - - def EVENT(self): - return self.getToken(frameQLParser.EVENT, 0) - - def EVENTS(self): - return self.getToken(frameQLParser.EVENTS, 0) - - def EVERY(self): - return self.getToken(frameQLParser.EVERY, 0) - - def EXCHANGE(self): - return self.getToken(frameQLParser.EXCHANGE, 0) - - def EXCLUSIVE(self): - return self.getToken(frameQLParser.EXCLUSIVE, 0) - - def EXPIRE(self): - return self.getToken(frameQLParser.EXPIRE, 0) - - def EXTENDED(self): - return self.getToken(frameQLParser.EXTENDED, 0) - - def EXTENT_SIZE(self): - return self.getToken(frameQLParser.EXTENT_SIZE, 0) - - def FAST(self): - return self.getToken(frameQLParser.FAST, 0) - - def FAULTS(self): - return self.getToken(frameQLParser.FAULTS, 0) - - def FIELDS(self): - return self.getToken(frameQLParser.FIELDS, 0) - - def FILE_BLOCK_SIZE(self): - return self.getToken(frameQLParser.FILE_BLOCK_SIZE, 0) - - def FILTER(self): - return self.getToken(frameQLParser.FILTER, 0) - - def FIRST(self): - return self.getToken(frameQLParser.FIRST, 0) - - def FIXED(self): - return self.getToken(frameQLParser.FIXED, 0) - - def FOLLOWS(self): - return self.getToken(frameQLParser.FOLLOWS, 0) - - def FULL(self): - return self.getToken(frameQLParser.FULL, 0) - - def FUNCTION(self): - return self.getToken(frameQLParser.FUNCTION, 0) - - def GLOBAL(self): - return self.getToken(frameQLParser.GLOBAL, 0) - - def GRANTS(self): - return self.getToken(frameQLParser.GRANTS, 0) - - def GROUP_REPLICATION(self): - return self.getToken(frameQLParser.GROUP_REPLICATION, 0) - - def HASH(self): - return self.getToken(frameQLParser.HASH, 0) - - def HOST(self): - return self.getToken(frameQLParser.HOST, 0) - - def IDENTIFIED(self): - return self.getToken(frameQLParser.IDENTIFIED, 0) - - def IGNORE_SERVER_IDS(self): - return self.getToken(frameQLParser.IGNORE_SERVER_IDS, 0) - - def IMPORT(self): - return self.getToken(frameQLParser.IMPORT, 0) - - def INDEXES(self): - return self.getToken(frameQLParser.INDEXES, 0) - - def INITIAL_SIZE(self): - return self.getToken(frameQLParser.INITIAL_SIZE, 0) - - def INPLACE(self): - return self.getToken(frameQLParser.INPLACE, 0) - - def INSERT_METHOD(self): - return self.getToken(frameQLParser.INSERT_METHOD, 0) - - def INSTANCE(self): - return self.getToken(frameQLParser.INSTANCE, 0) - - def INVOKER(self): - return self.getToken(frameQLParser.INVOKER, 0) - - def IO(self): - return self.getToken(frameQLParser.IO, 0) - - def IO_THREAD(self): - return self.getToken(frameQLParser.IO_THREAD, 0) - - def IPC(self): - return self.getToken(frameQLParser.IPC, 0) - - def ISOLATION(self): - return self.getToken(frameQLParser.ISOLATION, 0) - - def ISSUER(self): - return self.getToken(frameQLParser.ISSUER, 0) - - def KEY_BLOCK_SIZE(self): - return self.getToken(frameQLParser.KEY_BLOCK_SIZE, 0) - - def LANGUAGE(self): - return self.getToken(frameQLParser.LANGUAGE, 0) - - def LAST(self): - return self.getToken(frameQLParser.LAST, 0) - - def LEAVES(self): - return self.getToken(frameQLParser.LEAVES, 0) - - def LESS(self): - return self.getToken(frameQLParser.LESS, 0) - - def LEVEL(self): - return self.getToken(frameQLParser.LEVEL, 0) - - def LIST(self): - return self.getToken(frameQLParser.LIST, 0) - - def LOCAL(self): - return self.getToken(frameQLParser.LOCAL, 0) - - def LOGFILE(self): - return self.getToken(frameQLParser.LOGFILE, 0) - - def LOGS(self): - return self.getToken(frameQLParser.LOGS, 0) - - def MASTER(self): - return self.getToken(frameQLParser.MASTER, 0) - - def MASTER_AUTO_POSITION(self): - return self.getToken(frameQLParser.MASTER_AUTO_POSITION, 0) - - def MASTER_CONNECT_RETRY(self): - return self.getToken(frameQLParser.MASTER_CONNECT_RETRY, 0) - - def MASTER_DELAY(self): - return self.getToken(frameQLParser.MASTER_DELAY, 0) - - def MASTER_HEARTBEAT_PERIOD(self): - return self.getToken(frameQLParser.MASTER_HEARTBEAT_PERIOD, 0) - - def MASTER_HOST(self): - return self.getToken(frameQLParser.MASTER_HOST, 0) - - def MASTER_LOG_FILE(self): - return self.getToken(frameQLParser.MASTER_LOG_FILE, 0) - - def MASTER_LOG_POS(self): - return self.getToken(frameQLParser.MASTER_LOG_POS, 0) - - def MASTER_PASSWORD(self): - return self.getToken(frameQLParser.MASTER_PASSWORD, 0) - - def MASTER_PORT(self): - return self.getToken(frameQLParser.MASTER_PORT, 0) - - def MASTER_RETRY_COUNT(self): - return self.getToken(frameQLParser.MASTER_RETRY_COUNT, 0) - - def MASTER_SSL(self): - return self.getToken(frameQLParser.MASTER_SSL, 0) - - def MASTER_SSL_CA(self): - return self.getToken(frameQLParser.MASTER_SSL_CA, 0) - - def MASTER_SSL_CAPATH(self): - return self.getToken(frameQLParser.MASTER_SSL_CAPATH, 0) - - def MASTER_SSL_CERT(self): - return self.getToken(frameQLParser.MASTER_SSL_CERT, 0) - - def MASTER_SSL_CIPHER(self): - return self.getToken(frameQLParser.MASTER_SSL_CIPHER, 0) - - def MASTER_SSL_CRL(self): - return self.getToken(frameQLParser.MASTER_SSL_CRL, 0) - - def MASTER_SSL_CRLPATH(self): - return self.getToken(frameQLParser.MASTER_SSL_CRLPATH, 0) - - def MASTER_SSL_KEY(self): - return self.getToken(frameQLParser.MASTER_SSL_KEY, 0) - - def MASTER_TLS_VERSION(self): - return self.getToken(frameQLParser.MASTER_TLS_VERSION, 0) - - def MASTER_USER(self): - return self.getToken(frameQLParser.MASTER_USER, 0) - - def MAX_CONNECTIONS_PER_HOUR(self): - return self.getToken(frameQLParser.MAX_CONNECTIONS_PER_HOUR, 0) - - def MAX_QUERIES_PER_HOUR(self): - return self.getToken(frameQLParser.MAX_QUERIES_PER_HOUR, 0) - - def MAX_ROWS(self): - return self.getToken(frameQLParser.MAX_ROWS, 0) - - def MAX_SIZE(self): - return self.getToken(frameQLParser.MAX_SIZE, 0) - - def MAX_UPDATES_PER_HOUR(self): - return self.getToken(frameQLParser.MAX_UPDATES_PER_HOUR, 0) - - def MAX_USER_CONNECTIONS(self): - return self.getToken(frameQLParser.MAX_USER_CONNECTIONS, 0) - - def MEDIUM(self): - return self.getToken(frameQLParser.MEDIUM, 0) - - def MEMORY(self): - return self.getToken(frameQLParser.MEMORY, 0) - - def MERGE(self): - return self.getToken(frameQLParser.MERGE, 0) - - def MID(self): - return self.getToken(frameQLParser.MID, 0) - - def MIGRATE(self): - return self.getToken(frameQLParser.MIGRATE, 0) - - def MIN_ROWS(self): - return self.getToken(frameQLParser.MIN_ROWS, 0) - - def MODIFY(self): - return self.getToken(frameQLParser.MODIFY, 0) - - def MUTEX(self): - return self.getToken(frameQLParser.MUTEX, 0) - - def MYSQL(self): - return self.getToken(frameQLParser.MYSQL, 0) - - def NAME(self): - return self.getToken(frameQLParser.NAME, 0) - - def NAMES(self): - return self.getToken(frameQLParser.NAMES, 0) - - def NCHAR(self): - return self.getToken(frameQLParser.NCHAR, 0) - - def NEVER(self): - return self.getToken(frameQLParser.NEVER, 0) - - def NO(self): - return self.getToken(frameQLParser.NO, 0) - - def NODEGROUP(self): - return self.getToken(frameQLParser.NODEGROUP, 0) - - def NONE(self): - return self.getToken(frameQLParser.NONE, 0) - - def OFFLINE(self): - return self.getToken(frameQLParser.OFFLINE, 0) - - def OFFSET(self): - return self.getToken(frameQLParser.OFFSET, 0) - - def OJ(self): - return self.getToken(frameQLParser.OJ, 0) - - def OLD_PASSWORD(self): - return self.getToken(frameQLParser.OLD_PASSWORD, 0) - - def ONE(self): - return self.getToken(frameQLParser.ONE, 0) - - def ONLINE(self): - return self.getToken(frameQLParser.ONLINE, 0) - - def ONLY(self): - return self.getToken(frameQLParser.ONLY, 0) - - def OPTIMIZER_COSTS(self): - return self.getToken(frameQLParser.OPTIMIZER_COSTS, 0) - - def OPTIONS(self): - return self.getToken(frameQLParser.OPTIONS, 0) - - def OWNER(self): - return self.getToken(frameQLParser.OWNER, 0) - - def PACK_KEYS(self): - return self.getToken(frameQLParser.PACK_KEYS, 0) - - def PAGE(self): - return self.getToken(frameQLParser.PAGE, 0) - - def PARSER(self): - return self.getToken(frameQLParser.PARSER, 0) - - def PARTIAL(self): - return self.getToken(frameQLParser.PARTIAL, 0) - - def PARTITIONING(self): - return self.getToken(frameQLParser.PARTITIONING, 0) - - def PARTITIONS(self): - return self.getToken(frameQLParser.PARTITIONS, 0) - - def PASSWORD(self): - return self.getToken(frameQLParser.PASSWORD, 0) - - def PHASE(self): - return self.getToken(frameQLParser.PHASE, 0) - - def PLUGINS(self): - return self.getToken(frameQLParser.PLUGINS, 0) - - def PLUGIN_DIR(self): - return self.getToken(frameQLParser.PLUGIN_DIR, 0) - - def PORT(self): - return self.getToken(frameQLParser.PORT, 0) - - def PRECEDES(self): - return self.getToken(frameQLParser.PRECEDES, 0) - - def PREPARE(self): - return self.getToken(frameQLParser.PREPARE, 0) - - def PRESERVE(self): - return self.getToken(frameQLParser.PRESERVE, 0) - - def PREV(self): - return self.getToken(frameQLParser.PREV, 0) - - def PROCESSLIST(self): - return self.getToken(frameQLParser.PROCESSLIST, 0) - - def PROFILE(self): - return self.getToken(frameQLParser.PROFILE, 0) - - def PROFILES(self): - return self.getToken(frameQLParser.PROFILES, 0) - - def PROXY(self): - return self.getToken(frameQLParser.PROXY, 0) - - def QUERY(self): - return self.getToken(frameQLParser.QUERY, 0) - - def QUICK(self): - return self.getToken(frameQLParser.QUICK, 0) - - def REBUILD(self): - return self.getToken(frameQLParser.REBUILD, 0) - - def RECOVER(self): - return self.getToken(frameQLParser.RECOVER, 0) - - def REDO_BUFFER_SIZE(self): - return self.getToken(frameQLParser.REDO_BUFFER_SIZE, 0) - - def REDUNDANT(self): - return self.getToken(frameQLParser.REDUNDANT, 0) - - def RELAYLOG(self): - return self.getToken(frameQLParser.RELAYLOG, 0) - - def RELAY_LOG_FILE(self): - return self.getToken(frameQLParser.RELAY_LOG_FILE, 0) - - def RELAY_LOG_POS(self): - return self.getToken(frameQLParser.RELAY_LOG_POS, 0) - - def REMOVE(self): - return self.getToken(frameQLParser.REMOVE, 0) - - def REORGANIZE(self): - return self.getToken(frameQLParser.REORGANIZE, 0) - - def REPAIR(self): - return self.getToken(frameQLParser.REPAIR, 0) - - def REPLICATE_DO_DB(self): - return self.getToken(frameQLParser.REPLICATE_DO_DB, 0) - - def REPLICATE_DO_TABLE(self): - return self.getToken(frameQLParser.REPLICATE_DO_TABLE, 0) - - def REPLICATE_IGNORE_DB(self): - return self.getToken(frameQLParser.REPLICATE_IGNORE_DB, 0) - - def REPLICATE_IGNORE_TABLE(self): - return self.getToken(frameQLParser.REPLICATE_IGNORE_TABLE, 0) - - def REPLICATE_REWRITE_DB(self): - return self.getToken(frameQLParser.REPLICATE_REWRITE_DB, 0) - - def REPLICATE_WILD_DO_TABLE(self): - return self.getToken(frameQLParser.REPLICATE_WILD_DO_TABLE, 0) - - def REPLICATE_WILD_IGNORE_TABLE(self): - return self.getToken(frameQLParser.REPLICATE_WILD_IGNORE_TABLE, 0) - - def REPLICATION(self): - return self.getToken(frameQLParser.REPLICATION, 0) - - def RESUME(self): - return self.getToken(frameQLParser.RESUME, 0) - - def RETURNS(self): - return self.getToken(frameQLParser.RETURNS, 0) - - def ROLLBACK(self): - return self.getToken(frameQLParser.ROLLBACK, 0) - - def ROLLUP(self): - return self.getToken(frameQLParser.ROLLUP, 0) - - def ROTATE(self): - return self.getToken(frameQLParser.ROTATE, 0) - - def ROW(self): - return self.getToken(frameQLParser.ROW, 0) - - def ROWS(self): - return self.getToken(frameQLParser.ROWS, 0) - - def ROW_FORMAT(self): - return self.getToken(frameQLParser.ROW_FORMAT, 0) - - def SAVEPOINT(self): - return self.getToken(frameQLParser.SAVEPOINT, 0) - - def SCHEDULE(self): - return self.getToken(frameQLParser.SCHEDULE, 0) - - def SECURITY(self): - return self.getToken(frameQLParser.SECURITY, 0) - - def SERIAL(self): - return self.getToken(frameQLParser.SERIAL, 0) - - def SERVER(self): - return self.getToken(frameQLParser.SERVER, 0) - - def SESSION(self): - return self.getToken(frameQLParser.SESSION, 0) - - def SHARE(self): - return self.getToken(frameQLParser.SHARE, 0) - - def SHARED(self): - return self.getToken(frameQLParser.SHARED, 0) - - def SIGNED(self): - return self.getToken(frameQLParser.SIGNED, 0) - - def SIMPLE(self): - return self.getToken(frameQLParser.SIMPLE, 0) - - def SLAVE(self): - return self.getToken(frameQLParser.SLAVE, 0) - - def SNAPSHOT(self): - return self.getToken(frameQLParser.SNAPSHOT, 0) - - def SOCKET(self): - return self.getToken(frameQLParser.SOCKET, 0) - - def SOME(self): - return self.getToken(frameQLParser.SOME, 0) - - def SOUNDS(self): - return self.getToken(frameQLParser.SOUNDS, 0) - - def SOURCE(self): - return self.getToken(frameQLParser.SOURCE, 0) - - def SQL_AFTER_GTIDS(self): - return self.getToken(frameQLParser.SQL_AFTER_GTIDS, 0) - - def SQL_AFTER_MTS_GAPS(self): - return self.getToken(frameQLParser.SQL_AFTER_MTS_GAPS, 0) - - def SQL_BEFORE_GTIDS(self): - return self.getToken(frameQLParser.SQL_BEFORE_GTIDS, 0) - - def SQL_BUFFER_RESULT(self): - return self.getToken(frameQLParser.SQL_BUFFER_RESULT, 0) - - def SQL_CACHE(self): - return self.getToken(frameQLParser.SQL_CACHE, 0) - - def SQL_NO_CACHE(self): - return self.getToken(frameQLParser.SQL_NO_CACHE, 0) - - def SQL_THREAD(self): - return self.getToken(frameQLParser.SQL_THREAD, 0) - - def START(self): - return self.getToken(frameQLParser.START, 0) - - def STARTS(self): - return self.getToken(frameQLParser.STARTS, 0) - - def STATS_AUTO_RECALC(self): - return self.getToken(frameQLParser.STATS_AUTO_RECALC, 0) - - def STATS_PERSISTENT(self): - return self.getToken(frameQLParser.STATS_PERSISTENT, 0) - - def STATS_SAMPLE_PAGES(self): - return self.getToken(frameQLParser.STATS_SAMPLE_PAGES, 0) - - def STATUS(self): - return self.getToken(frameQLParser.STATUS, 0) - - def STOP(self): - return self.getToken(frameQLParser.STOP, 0) - - def STORAGE(self): - return self.getToken(frameQLParser.STORAGE, 0) - - def STRING(self): - return self.getToken(frameQLParser.STRING, 0) - - def SUBJECT(self): - return self.getToken(frameQLParser.SUBJECT, 0) - - def SUBPARTITION(self): - return self.getToken(frameQLParser.SUBPARTITION, 0) - - def SUBPARTITIONS(self): - return self.getToken(frameQLParser.SUBPARTITIONS, 0) - - def SUSPEND(self): - return self.getToken(frameQLParser.SUSPEND, 0) - - def SWAPS(self): - return self.getToken(frameQLParser.SWAPS, 0) - - def SWITCHES(self): - return self.getToken(frameQLParser.SWITCHES, 0) - - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - - def TEMPORARY(self): - return self.getToken(frameQLParser.TEMPORARY, 0) - - def TEMPTABLE(self): - return self.getToken(frameQLParser.TEMPTABLE, 0) - - def THAN(self): - return self.getToken(frameQLParser.THAN, 0) - - def TRANSACTION(self): - return self.getToken(frameQLParser.TRANSACTION, 0) - - def TRUNCATE(self): - return self.getToken(frameQLParser.TRUNCATE, 0) - - def UNDEFINED(self): - return self.getToken(frameQLParser.UNDEFINED, 0) - - def UNDOFILE(self): - return self.getToken(frameQLParser.UNDOFILE, 0) - - def UNDO_BUFFER_SIZE(self): - return self.getToken(frameQLParser.UNDO_BUFFER_SIZE, 0) - - def UNKNOWN(self): - return self.getToken(frameQLParser.UNKNOWN, 0) - - def UPGRADE(self): - return self.getToken(frameQLParser.UPGRADE, 0) - - def USER(self): - return self.getToken(frameQLParser.USER, 0) - - def VALIDATION(self): - return self.getToken(frameQLParser.VALIDATION, 0) - - def VALUE(self): - return self.getToken(frameQLParser.VALUE, 0) - - def VARIABLES(self): - return self.getToken(frameQLParser.VARIABLES, 0) - - def VIEW(self): - return self.getToken(frameQLParser.VIEW, 0) - - def WAIT(self): - return self.getToken(frameQLParser.WAIT, 0) - - def WARNINGS(self): - return self.getToken(frameQLParser.WARNINGS, 0) - - def WITHOUT(self): - return self.getToken(frameQLParser.WITHOUT, 0) - - def WORK(self): - return self.getToken(frameQLParser.WORK, 0) - - def WRAPPER(self): - return self.getToken(frameQLParser.WRAPPER, 0) - - def X509(self): - return self.getToken(frameQLParser.X509, 0) - - def XA(self): - return self.getToken(frameQLParser.XA, 0) - - def XML(self): - return self.getToken(frameQLParser.XML, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_keywordsCanBeId - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterKeywordsCanBeId" ): - listener.enterKeywordsCanBeId(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitKeywordsCanBeId" ): - listener.exitKeywordsCanBeId(self) - - - - - def keywordsCanBeId(self): - - localctx = frameQLParser.KeywordsCanBeIdContext(self, self._ctx, self.state) - self.enterRule(localctx, 616, self.RULE_keywordsCanBeId) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 6089 - _la = self._input.LA(1) - if not(((((_la - 202)) & ~0x3f) == 0 and ((1 << (_la - 202)) & ((1 << (frameQLParser.SERIAL - 202)) | (1 << (frameQLParser.ACCOUNT - 202)) | (1 << (frameQLParser.ACTION - 202)) | (1 << (frameQLParser.AFTER - 202)) | (1 << (frameQLParser.AGGREGATE - 202)) | (1 << (frameQLParser.ALGORITHM - 202)) | (1 << (frameQLParser.ANY - 202)) | (1 << (frameQLParser.AT - 202)) | (1 << (frameQLParser.AUTHORS - 202)) | (1 << (frameQLParser.AUTOCOMMIT - 202)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 202)) | (1 << (frameQLParser.AUTO_INCREMENT - 202)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 202)) | (1 << (frameQLParser.BEGIN - 202)) | (1 << (frameQLParser.BINLOG - 202)) | (1 << (frameQLParser.BIT - 202)) | (1 << (frameQLParser.BLOCK - 202)))) != 0) or ((((_la - 266)) & ~0x3f) == 0 and ((1 << (_la - 266)) & ((1 << (frameQLParser.BOOL - 266)) | (1 << (frameQLParser.BOOLEAN - 266)) | (1 << (frameQLParser.BTREE - 266)) | (1 << (frameQLParser.CASCADED - 266)) | (1 << (frameQLParser.CHAIN - 266)) | (1 << (frameQLParser.CHANGED - 266)) | (1 << (frameQLParser.CHANNEL - 266)) | (1 << (frameQLParser.CHECKSUM - 266)) | (1 << (frameQLParser.CIPHER - 266)) | (1 << (frameQLParser.CLIENT - 266)) | (1 << (frameQLParser.COALESCE - 266)) | (1 << (frameQLParser.CODE - 266)) | (1 << (frameQLParser.COLUMNS - 266)) | (1 << (frameQLParser.COLUMN_FORMAT - 266)) | (1 << (frameQLParser.COMMENT - 266)) | (1 << (frameQLParser.COMMIT - 266)) | (1 << (frameQLParser.COMPACT - 266)) | (1 << (frameQLParser.COMPLETION - 266)) | (1 << (frameQLParser.COMPRESSED - 266)) | (1 << (frameQLParser.COMPRESSION - 266)) | (1 << (frameQLParser.CONCURRENT - 266)) | (1 << (frameQLParser.CONNECTION - 266)) | (1 << (frameQLParser.CONSISTENT - 266)) | (1 << (frameQLParser.CONTAINS - 266)) | (1 << (frameQLParser.CONTEXT - 266)) | (1 << (frameQLParser.CONTRIBUTORS - 266)) | (1 << (frameQLParser.COPY - 266)) | (1 << (frameQLParser.CPU - 266)) | (1 << (frameQLParser.DATA - 266)) | (1 << (frameQLParser.DATAFILE - 266)) | (1 << (frameQLParser.DEALLOCATE - 266)) | (1 << (frameQLParser.DEFAULT_AUTH - 266)) | (1 << (frameQLParser.DEFINER - 266)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 266)) | (1 << (frameQLParser.DIRECTORY - 266)) | (1 << (frameQLParser.DISABLE - 266)) | (1 << (frameQLParser.DISCARD - 266)) | (1 << (frameQLParser.DISK - 266)) | (1 << (frameQLParser.DO - 266)) | (1 << (frameQLParser.DUMPFILE - 266)) | (1 << (frameQLParser.DUPLICATE - 266)) | (1 << (frameQLParser.DYNAMIC - 266)) | (1 << (frameQLParser.ENABLE - 266)) | (1 << (frameQLParser.ENCRYPTION - 266)) | (1 << (frameQLParser.ENDS - 266)) | (1 << (frameQLParser.ENGINE - 266)) | (1 << (frameQLParser.ENGINES - 266)) | (1 << (frameQLParser.ERROR - 266)) | (1 << (frameQLParser.ERRORS - 266)) | (1 << (frameQLParser.ESCAPE - 266)) | (1 << (frameQLParser.EVEN - 266)) | (1 << (frameQLParser.EVENT - 266)) | (1 << (frameQLParser.EVENTS - 266)) | (1 << (frameQLParser.EVERY - 266)) | (1 << (frameQLParser.EXCHANGE - 266)) | (1 << (frameQLParser.EXCLUSIVE - 266)) | (1 << (frameQLParser.EXPIRE - 266)) | (1 << (frameQLParser.EXTENDED - 266)) | (1 << (frameQLParser.EXTENT_SIZE - 266)))) != 0) or ((((_la - 330)) & ~0x3f) == 0 and ((1 << (_la - 330)) & ((1 << (frameQLParser.FAST - 330)) | (1 << (frameQLParser.FAULTS - 330)) | (1 << (frameQLParser.FIELDS - 330)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 330)) | (1 << (frameQLParser.FILTER - 330)) | (1 << (frameQLParser.FIRST - 330)) | (1 << (frameQLParser.FIXED - 330)) | (1 << (frameQLParser.FOLLOWS - 330)) | (1 << (frameQLParser.FULL - 330)) | (1 << (frameQLParser.FUNCTION - 330)) | (1 << (frameQLParser.GLOBAL - 330)) | (1 << (frameQLParser.GRANTS - 330)) | (1 << (frameQLParser.GROUP_REPLICATION - 330)) | (1 << (frameQLParser.HASH - 330)) | (1 << (frameQLParser.HOST - 330)) | (1 << (frameQLParser.IDENTIFIED - 330)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 330)) | (1 << (frameQLParser.IMPORT - 330)) | (1 << (frameQLParser.INDEXES - 330)) | (1 << (frameQLParser.INITIAL_SIZE - 330)) | (1 << (frameQLParser.INPLACE - 330)) | (1 << (frameQLParser.INSERT_METHOD - 330)) | (1 << (frameQLParser.INSTANCE - 330)) | (1 << (frameQLParser.INVOKER - 330)) | (1 << (frameQLParser.IO - 330)) | (1 << (frameQLParser.IO_THREAD - 330)) | (1 << (frameQLParser.IPC - 330)) | (1 << (frameQLParser.ISOLATION - 330)) | (1 << (frameQLParser.ISSUER - 330)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 330)) | (1 << (frameQLParser.LANGUAGE - 330)) | (1 << (frameQLParser.LAST - 330)) | (1 << (frameQLParser.LEAVES - 330)) | (1 << (frameQLParser.LESS - 330)) | (1 << (frameQLParser.LEVEL - 330)) | (1 << (frameQLParser.LIST - 330)) | (1 << (frameQLParser.LOCAL - 330)) | (1 << (frameQLParser.LOGFILE - 330)) | (1 << (frameQLParser.LOGS - 330)) | (1 << (frameQLParser.MASTER - 330)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 330)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 330)) | (1 << (frameQLParser.MASTER_DELAY - 330)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 330)) | (1 << (frameQLParser.MASTER_HOST - 330)) | (1 << (frameQLParser.MASTER_LOG_FILE - 330)) | (1 << (frameQLParser.MASTER_LOG_POS - 330)) | (1 << (frameQLParser.MASTER_PASSWORD - 330)) | (1 << (frameQLParser.MASTER_PORT - 330)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 330)) | (1 << (frameQLParser.MASTER_SSL - 330)) | (1 << (frameQLParser.MASTER_SSL_CA - 330)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 330)) | (1 << (frameQLParser.MASTER_SSL_CERT - 330)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 330)) | (1 << (frameQLParser.MASTER_SSL_CRL - 330)))) != 0) or ((((_la - 394)) & ~0x3f) == 0 and ((1 << (_la - 394)) & ((1 << (frameQLParser.MASTER_SSL_CRLPATH - 394)) | (1 << (frameQLParser.MASTER_SSL_KEY - 394)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 394)) | (1 << (frameQLParser.MASTER_USER - 394)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 394)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 394)) | (1 << (frameQLParser.MAX_ROWS - 394)) | (1 << (frameQLParser.MAX_SIZE - 394)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 394)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 394)) | (1 << (frameQLParser.MEDIUM - 394)) | (1 << (frameQLParser.MERGE - 394)) | (1 << (frameQLParser.MID - 394)) | (1 << (frameQLParser.MIGRATE - 394)) | (1 << (frameQLParser.MIN_ROWS - 394)) | (1 << (frameQLParser.MODIFY - 394)) | (1 << (frameQLParser.MUTEX - 394)) | (1 << (frameQLParser.MYSQL - 394)) | (1 << (frameQLParser.NAME - 394)) | (1 << (frameQLParser.NAMES - 394)) | (1 << (frameQLParser.NCHAR - 394)) | (1 << (frameQLParser.NEVER - 394)) | (1 << (frameQLParser.NO - 394)) | (1 << (frameQLParser.NODEGROUP - 394)) | (1 << (frameQLParser.NONE - 394)) | (1 << (frameQLParser.OFFLINE - 394)) | (1 << (frameQLParser.OFFSET - 394)) | (1 << (frameQLParser.OJ - 394)) | (1 << (frameQLParser.OLD_PASSWORD - 394)) | (1 << (frameQLParser.ONE - 394)) | (1 << (frameQLParser.ONLINE - 394)) | (1 << (frameQLParser.ONLY - 394)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 394)) | (1 << (frameQLParser.OPTIONS - 394)) | (1 << (frameQLParser.OWNER - 394)) | (1 << (frameQLParser.PACK_KEYS - 394)) | (1 << (frameQLParser.PAGE - 394)) | (1 << (frameQLParser.PARSER - 394)) | (1 << (frameQLParser.PARTIAL - 394)) | (1 << (frameQLParser.PARTITIONING - 394)) | (1 << (frameQLParser.PARTITIONS - 394)) | (1 << (frameQLParser.PASSWORD - 394)) | (1 << (frameQLParser.PHASE - 394)) | (1 << (frameQLParser.PLUGIN_DIR - 394)) | (1 << (frameQLParser.PLUGINS - 394)) | (1 << (frameQLParser.PORT - 394)) | (1 << (frameQLParser.PRECEDES - 394)) | (1 << (frameQLParser.PREPARE - 394)) | (1 << (frameQLParser.PRESERVE - 394)) | (1 << (frameQLParser.PREV - 394)) | (1 << (frameQLParser.PROCESSLIST - 394)) | (1 << (frameQLParser.PROFILE - 394)) | (1 << (frameQLParser.PROFILES - 394)) | (1 << (frameQLParser.PROXY - 394)) | (1 << (frameQLParser.QUERY - 394)) | (1 << (frameQLParser.QUICK - 394)) | (1 << (frameQLParser.REBUILD - 394)) | (1 << (frameQLParser.RECOVER - 394)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 394)) | (1 << (frameQLParser.REDUNDANT - 394)))) != 0) or ((((_la - 459)) & ~0x3f) == 0 and ((1 << (_la - 459)) & ((1 << (frameQLParser.RELAY_LOG_FILE - 459)) | (1 << (frameQLParser.RELAY_LOG_POS - 459)) | (1 << (frameQLParser.RELAYLOG - 459)) | (1 << (frameQLParser.REMOVE - 459)) | (1 << (frameQLParser.REORGANIZE - 459)) | (1 << (frameQLParser.REPAIR - 459)) | (1 << (frameQLParser.REPLICATE_DO_DB - 459)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 459)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 459)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 459)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 459)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 459)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 459)) | (1 << (frameQLParser.REPLICATION - 459)) | (1 << (frameQLParser.RESUME - 459)) | (1 << (frameQLParser.RETURNS - 459)) | (1 << (frameQLParser.ROLLBACK - 459)) | (1 << (frameQLParser.ROLLUP - 459)) | (1 << (frameQLParser.ROTATE - 459)) | (1 << (frameQLParser.ROW - 459)) | (1 << (frameQLParser.ROWS - 459)) | (1 << (frameQLParser.ROW_FORMAT - 459)) | (1 << (frameQLParser.SAVEPOINT - 459)) | (1 << (frameQLParser.SCHEDULE - 459)) | (1 << (frameQLParser.SECURITY - 459)) | (1 << (frameQLParser.SERVER - 459)) | (1 << (frameQLParser.SESSION - 459)) | (1 << (frameQLParser.SHARE - 459)) | (1 << (frameQLParser.SHARED - 459)) | (1 << (frameQLParser.SIGNED - 459)) | (1 << (frameQLParser.SIMPLE - 459)) | (1 << (frameQLParser.SLAVE - 459)) | (1 << (frameQLParser.SNAPSHOT - 459)) | (1 << (frameQLParser.SOCKET - 459)) | (1 << (frameQLParser.SOME - 459)) | (1 << (frameQLParser.SOUNDS - 459)) | (1 << (frameQLParser.SOURCE - 459)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 459)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 459)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 459)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 459)) | (1 << (frameQLParser.SQL_CACHE - 459)) | (1 << (frameQLParser.SQL_NO_CACHE - 459)) | (1 << (frameQLParser.SQL_THREAD - 459)) | (1 << (frameQLParser.START - 459)) | (1 << (frameQLParser.STARTS - 459)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 459)) | (1 << (frameQLParser.STATS_PERSISTENT - 459)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 459)) | (1 << (frameQLParser.STATUS - 459)) | (1 << (frameQLParser.STOP - 459)) | (1 << (frameQLParser.STORAGE - 459)) | (1 << (frameQLParser.STRING - 459)) | (1 << (frameQLParser.SUBJECT - 459)) | (1 << (frameQLParser.SUBPARTITION - 459)) | (1 << (frameQLParser.SUBPARTITIONS - 459)) | (1 << (frameQLParser.SUSPEND - 459)) | (1 << (frameQLParser.SWAPS - 459)) | (1 << (frameQLParser.SWITCHES - 459)) | (1 << (frameQLParser.TABLESPACE - 459)))) != 0) or ((((_la - 523)) & ~0x3f) == 0 and ((1 << (_la - 523)) & ((1 << (frameQLParser.TEMPORARY - 523)) | (1 << (frameQLParser.TEMPTABLE - 523)) | (1 << (frameQLParser.THAN - 523)) | (1 << (frameQLParser.TRANSACTION - 523)) | (1 << (frameQLParser.TRUNCATE - 523)) | (1 << (frameQLParser.UNDEFINED - 523)) | (1 << (frameQLParser.UNDOFILE - 523)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 523)) | (1 << (frameQLParser.UNKNOWN - 523)) | (1 << (frameQLParser.UPGRADE - 523)) | (1 << (frameQLParser.USER - 523)) | (1 << (frameQLParser.VALIDATION - 523)) | (1 << (frameQLParser.VALUE - 523)) | (1 << (frameQLParser.VARIABLES - 523)) | (1 << (frameQLParser.VIEW - 523)) | (1 << (frameQLParser.WAIT - 523)) | (1 << (frameQLParser.WARNINGS - 523)) | (1 << (frameQLParser.WITHOUT - 523)) | (1 << (frameQLParser.WORK - 523)) | (1 << (frameQLParser.WRAPPER - 523)) | (1 << (frameQLParser.X509 - 523)) | (1 << (frameQLParser.XA - 523)) | (1 << (frameQLParser.XML - 523)))) != 0) or _la==frameQLParser.MEMORY): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class FunctionNameBaseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ABS(self): - return self.getToken(frameQLParser.ABS, 0) - - def ACOS(self): - return self.getToken(frameQLParser.ACOS, 0) - - def ADDDATE(self): - return self.getToken(frameQLParser.ADDDATE, 0) - - def ADDTIME(self): - return self.getToken(frameQLParser.ADDTIME, 0) - - def AES_DECRYPT(self): - return self.getToken(frameQLParser.AES_DECRYPT, 0) - - def AES_ENCRYPT(self): - return self.getToken(frameQLParser.AES_ENCRYPT, 0) - - def AREA(self): - return self.getToken(frameQLParser.AREA, 0) - - def ASBINARY(self): - return self.getToken(frameQLParser.ASBINARY, 0) - - def ASIN(self): - return self.getToken(frameQLParser.ASIN, 0) - - def ASTEXT(self): - return self.getToken(frameQLParser.ASTEXT, 0) - - def ASWKB(self): - return self.getToken(frameQLParser.ASWKB, 0) - - def ASWKT(self): - return self.getToken(frameQLParser.ASWKT, 0) - - def ASYMMETRIC_DECRYPT(self): - return self.getToken(frameQLParser.ASYMMETRIC_DECRYPT, 0) - - def ASYMMETRIC_DERIVE(self): - return self.getToken(frameQLParser.ASYMMETRIC_DERIVE, 0) - - def ASYMMETRIC_ENCRYPT(self): - return self.getToken(frameQLParser.ASYMMETRIC_ENCRYPT, 0) - - def ASYMMETRIC_SIGN(self): - return self.getToken(frameQLParser.ASYMMETRIC_SIGN, 0) - - def ASYMMETRIC_VERIFY(self): - return self.getToken(frameQLParser.ASYMMETRIC_VERIFY, 0) - - def ATAN(self): - return self.getToken(frameQLParser.ATAN, 0) - - def ATAN2(self): - return self.getToken(frameQLParser.ATAN2, 0) - - def BENCHMARK(self): - return self.getToken(frameQLParser.BENCHMARK, 0) - - def BIN(self): - return self.getToken(frameQLParser.BIN, 0) - - def BIT_COUNT(self): - return self.getToken(frameQLParser.BIT_COUNT, 0) - - def BIT_LENGTH(self): - return self.getToken(frameQLParser.BIT_LENGTH, 0) - - def BUFFER(self): - return self.getToken(frameQLParser.BUFFER, 0) - - def CEIL(self): - return self.getToken(frameQLParser.CEIL, 0) - - def CEILING(self): - return self.getToken(frameQLParser.CEILING, 0) - - def CENTROID(self): - return self.getToken(frameQLParser.CENTROID, 0) - - def CHARACTER_LENGTH(self): - return self.getToken(frameQLParser.CHARACTER_LENGTH, 0) - - def CHARSET(self): - return self.getToken(frameQLParser.CHARSET, 0) - - def CHAR_LENGTH(self): - return self.getToken(frameQLParser.CHAR_LENGTH, 0) - - def COERCIBILITY(self): - return self.getToken(frameQLParser.COERCIBILITY, 0) - - def COLLATION(self): - return self.getToken(frameQLParser.COLLATION, 0) - - def COMPRESS(self): - return self.getToken(frameQLParser.COMPRESS, 0) - - def CONCAT(self): - return self.getToken(frameQLParser.CONCAT, 0) - - def CONCAT_WS(self): - return self.getToken(frameQLParser.CONCAT_WS, 0) - - def CONNECTION_ID(self): - return self.getToken(frameQLParser.CONNECTION_ID, 0) - - def CONV(self): - return self.getToken(frameQLParser.CONV, 0) - - def CONVERT_TZ(self): - return self.getToken(frameQLParser.CONVERT_TZ, 0) - - def COS(self): - return self.getToken(frameQLParser.COS, 0) - - def COT(self): - return self.getToken(frameQLParser.COT, 0) - - def COUNT(self): - return self.getToken(frameQLParser.COUNT, 0) - - def CRC32(self): - return self.getToken(frameQLParser.CRC32, 0) - - def CREATE_ASYMMETRIC_PRIV_KEY(self): - return self.getToken(frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, 0) - - def CREATE_ASYMMETRIC_PUB_KEY(self): - return self.getToken(frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, 0) - - def CREATE_DH_PARAMETERS(self): - return self.getToken(frameQLParser.CREATE_DH_PARAMETERS, 0) - - def CREATE_DIGEST(self): - return self.getToken(frameQLParser.CREATE_DIGEST, 0) - - def CROSSES(self): - return self.getToken(frameQLParser.CROSSES, 0) - - def DATABASE(self): - return self.getToken(frameQLParser.DATABASE, 0) - - def DATE(self): - return self.getToken(frameQLParser.DATE, 0) - - def DATEDIFF(self): - return self.getToken(frameQLParser.DATEDIFF, 0) - - def DATE_FORMAT(self): - return self.getToken(frameQLParser.DATE_FORMAT, 0) - - def DAY(self): - return self.getToken(frameQLParser.DAY, 0) - - def DAYNAME(self): - return self.getToken(frameQLParser.DAYNAME, 0) - - def DAYOFMONTH(self): - return self.getToken(frameQLParser.DAYOFMONTH, 0) - - def DAYOFWEEK(self): - return self.getToken(frameQLParser.DAYOFWEEK, 0) - - def DAYOFYEAR(self): - return self.getToken(frameQLParser.DAYOFYEAR, 0) - - def DECODE(self): - return self.getToken(frameQLParser.DECODE, 0) - - def DEGREES(self): - return self.getToken(frameQLParser.DEGREES, 0) - - def DES_DECRYPT(self): - return self.getToken(frameQLParser.DES_DECRYPT, 0) - - def DES_ENCRYPT(self): - return self.getToken(frameQLParser.DES_ENCRYPT, 0) - - def DIMENSION(self): - return self.getToken(frameQLParser.DIMENSION, 0) - - def DISJOINT(self): - return self.getToken(frameQLParser.DISJOINT, 0) - - def ELT(self): - return self.getToken(frameQLParser.ELT, 0) - - def ENCODE(self): - return self.getToken(frameQLParser.ENCODE, 0) - - def ENCRYPT(self): - return self.getToken(frameQLParser.ENCRYPT, 0) - - def ENDPOINT(self): - return self.getToken(frameQLParser.ENDPOINT, 0) - - def ENVELOPE(self): - return self.getToken(frameQLParser.ENVELOPE, 0) - - def EQUALS(self): - return self.getToken(frameQLParser.EQUALS, 0) - - def EXP(self): - return self.getToken(frameQLParser.EXP, 0) - - def EXPORT_SET(self): - return self.getToken(frameQLParser.EXPORT_SET, 0) - - def EXTERIORRING(self): - return self.getToken(frameQLParser.EXTERIORRING, 0) - - def EXTRACTVALUE(self): - return self.getToken(frameQLParser.EXTRACTVALUE, 0) - - def FIELD(self): - return self.getToken(frameQLParser.FIELD, 0) - - def FIND_IN_SET(self): - return self.getToken(frameQLParser.FIND_IN_SET, 0) - - def FLOOR(self): - return self.getToken(frameQLParser.FLOOR, 0) - - def FORMAT(self): - return self.getToken(frameQLParser.FORMAT, 0) - - def FOUND_ROWS(self): - return self.getToken(frameQLParser.FOUND_ROWS, 0) - - def FROM_BASE64(self): - return self.getToken(frameQLParser.FROM_BASE64, 0) - - def FROM_DAYS(self): - return self.getToken(frameQLParser.FROM_DAYS, 0) - - def FROM_UNIXTIME(self): - return self.getToken(frameQLParser.FROM_UNIXTIME, 0) - - def GEOMCOLLFROMTEXT(self): - return self.getToken(frameQLParser.GEOMCOLLFROMTEXT, 0) - - def GEOMCOLLFROMWKB(self): - return self.getToken(frameQLParser.GEOMCOLLFROMWKB, 0) - - def GEOMETRYCOLLECTION(self): - return self.getToken(frameQLParser.GEOMETRYCOLLECTION, 0) - - def GEOMETRYCOLLECTIONFROMTEXT(self): - return self.getToken(frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, 0) - - def GEOMETRYCOLLECTIONFROMWKB(self): - return self.getToken(frameQLParser.GEOMETRYCOLLECTIONFROMWKB, 0) - - def GEOMETRYFROMTEXT(self): - return self.getToken(frameQLParser.GEOMETRYFROMTEXT, 0) - - def GEOMETRYFROMWKB(self): - return self.getToken(frameQLParser.GEOMETRYFROMWKB, 0) - - def GEOMETRYN(self): - return self.getToken(frameQLParser.GEOMETRYN, 0) - - def GEOMETRYTYPE(self): - return self.getToken(frameQLParser.GEOMETRYTYPE, 0) - - def GEOMFROMTEXT(self): - return self.getToken(frameQLParser.GEOMFROMTEXT, 0) - - def GEOMFROMWKB(self): - return self.getToken(frameQLParser.GEOMFROMWKB, 0) - - def GET_FORMAT(self): - return self.getToken(frameQLParser.GET_FORMAT, 0) - - def GET_LOCK(self): - return self.getToken(frameQLParser.GET_LOCK, 0) - - def GLENGTH(self): - return self.getToken(frameQLParser.GLENGTH, 0) - - def GREATEST(self): - return self.getToken(frameQLParser.GREATEST, 0) - - def GTID_SUBSET(self): - return self.getToken(frameQLParser.GTID_SUBSET, 0) - - def GTID_SUBTRACT(self): - return self.getToken(frameQLParser.GTID_SUBTRACT, 0) - - def HEX(self): - return self.getToken(frameQLParser.HEX, 0) - - def HOUR(self): - return self.getToken(frameQLParser.HOUR, 0) - - def IFNULL(self): - return self.getToken(frameQLParser.IFNULL, 0) - - def INET6_ATON(self): - return self.getToken(frameQLParser.INET6_ATON, 0) - - def INET6_NTOA(self): - return self.getToken(frameQLParser.INET6_NTOA, 0) - - def INET_ATON(self): - return self.getToken(frameQLParser.INET_ATON, 0) - - def INET_NTOA(self): - return self.getToken(frameQLParser.INET_NTOA, 0) - - def INSTR(self): - return self.getToken(frameQLParser.INSTR, 0) - - def INTERIORRINGN(self): - return self.getToken(frameQLParser.INTERIORRINGN, 0) - - def INTERSECTS(self): - return self.getToken(frameQLParser.INTERSECTS, 0) - - def ISCLOSED(self): - return self.getToken(frameQLParser.ISCLOSED, 0) - - def ISEMPTY(self): - return self.getToken(frameQLParser.ISEMPTY, 0) - - def ISNULL(self): - return self.getToken(frameQLParser.ISNULL, 0) - - def ISSIMPLE(self): - return self.getToken(frameQLParser.ISSIMPLE, 0) - - def IS_FREE_LOCK(self): - return self.getToken(frameQLParser.IS_FREE_LOCK, 0) - - def IS_IPV4(self): - return self.getToken(frameQLParser.IS_IPV4, 0) - - def IS_IPV4_COMPAT(self): - return self.getToken(frameQLParser.IS_IPV4_COMPAT, 0) - - def IS_IPV4_MAPPED(self): - return self.getToken(frameQLParser.IS_IPV4_MAPPED, 0) - - def IS_IPV6(self): - return self.getToken(frameQLParser.IS_IPV6, 0) - - def IS_USED_LOCK(self): - return self.getToken(frameQLParser.IS_USED_LOCK, 0) - - def LAST_INSERT_ID(self): - return self.getToken(frameQLParser.LAST_INSERT_ID, 0) - - def LCASE(self): - return self.getToken(frameQLParser.LCASE, 0) - - def LEAST(self): - return self.getToken(frameQLParser.LEAST, 0) - - def LEFT(self): - return self.getToken(frameQLParser.LEFT, 0) - - def LENGTH(self): - return self.getToken(frameQLParser.LENGTH, 0) - - def LINEFROMTEXT(self): - return self.getToken(frameQLParser.LINEFROMTEXT, 0) - - def LINEFROMWKB(self): - return self.getToken(frameQLParser.LINEFROMWKB, 0) - - def LINESTRING(self): - return self.getToken(frameQLParser.LINESTRING, 0) - - def LINESTRINGFROMTEXT(self): - return self.getToken(frameQLParser.LINESTRINGFROMTEXT, 0) - - def LINESTRINGFROMWKB(self): - return self.getToken(frameQLParser.LINESTRINGFROMWKB, 0) - - def LN(self): - return self.getToken(frameQLParser.LN, 0) - - def LOAD_FILE(self): - return self.getToken(frameQLParser.LOAD_FILE, 0) - - def LOCATE(self): - return self.getToken(frameQLParser.LOCATE, 0) - - def LOG(self): - return self.getToken(frameQLParser.LOG, 0) - - def LOG10(self): - return self.getToken(frameQLParser.LOG10, 0) - - def LOG2(self): - return self.getToken(frameQLParser.LOG2, 0) - - def LOWER(self): - return self.getToken(frameQLParser.LOWER, 0) - - def LPAD(self): - return self.getToken(frameQLParser.LPAD, 0) - - def LTRIM(self): - return self.getToken(frameQLParser.LTRIM, 0) - - def MAKEDATE(self): - return self.getToken(frameQLParser.MAKEDATE, 0) - - def MAKETIME(self): - return self.getToken(frameQLParser.MAKETIME, 0) - - def MAKE_SET(self): - return self.getToken(frameQLParser.MAKE_SET, 0) - - def MASTER_POS_WAIT(self): - return self.getToken(frameQLParser.MASTER_POS_WAIT, 0) - - def MBRCONTAINS(self): - return self.getToken(frameQLParser.MBRCONTAINS, 0) - - def MBRDISJOINT(self): - return self.getToken(frameQLParser.MBRDISJOINT, 0) - - def MBREQUAL(self): - return self.getToken(frameQLParser.MBREQUAL, 0) - - def MBRINTERSECTS(self): - return self.getToken(frameQLParser.MBRINTERSECTS, 0) - - def MBROVERLAPS(self): - return self.getToken(frameQLParser.MBROVERLAPS, 0) - - def MBRTOUCHES(self): - return self.getToken(frameQLParser.MBRTOUCHES, 0) - - def MBRWITHIN(self): - return self.getToken(frameQLParser.MBRWITHIN, 0) - - def MD5(self): - return self.getToken(frameQLParser.MD5, 0) - - def MICROSECOND(self): - return self.getToken(frameQLParser.MICROSECOND, 0) - - def MINUTE(self): - return self.getToken(frameQLParser.MINUTE, 0) - - def MLINEFROMTEXT(self): - return self.getToken(frameQLParser.MLINEFROMTEXT, 0) - - def MLINEFROMWKB(self): - return self.getToken(frameQLParser.MLINEFROMWKB, 0) - - def MONTH(self): - return self.getToken(frameQLParser.MONTH, 0) - - def MONTHNAME(self): - return self.getToken(frameQLParser.MONTHNAME, 0) - - def MPOINTFROMTEXT(self): - return self.getToken(frameQLParser.MPOINTFROMTEXT, 0) - - def MPOINTFROMWKB(self): - return self.getToken(frameQLParser.MPOINTFROMWKB, 0) - - def MPOLYFROMTEXT(self): - return self.getToken(frameQLParser.MPOLYFROMTEXT, 0) - - def MPOLYFROMWKB(self): - return self.getToken(frameQLParser.MPOLYFROMWKB, 0) - - def MULTILINESTRING(self): - return self.getToken(frameQLParser.MULTILINESTRING, 0) - - def MULTILINESTRINGFROMTEXT(self): - return self.getToken(frameQLParser.MULTILINESTRINGFROMTEXT, 0) - - def MULTILINESTRINGFROMWKB(self): - return self.getToken(frameQLParser.MULTILINESTRINGFROMWKB, 0) - - def MULTIPOINT(self): - return self.getToken(frameQLParser.MULTIPOINT, 0) - - def MULTIPOINTFROMTEXT(self): - return self.getToken(frameQLParser.MULTIPOINTFROMTEXT, 0) - - def MULTIPOINTFROMWKB(self): - return self.getToken(frameQLParser.MULTIPOINTFROMWKB, 0) - - def MULTIPOLYGON(self): - return self.getToken(frameQLParser.MULTIPOLYGON, 0) - - def MULTIPOLYGONFROMTEXT(self): - return self.getToken(frameQLParser.MULTIPOLYGONFROMTEXT, 0) - - def MULTIPOLYGONFROMWKB(self): - return self.getToken(frameQLParser.MULTIPOLYGONFROMWKB, 0) - - def NAME_CONST(self): - return self.getToken(frameQLParser.NAME_CONST, 0) - - def NULLIF(self): - return self.getToken(frameQLParser.NULLIF, 0) - - def NUMGEOMETRIES(self): - return self.getToken(frameQLParser.NUMGEOMETRIES, 0) - - def NUMINTERIORRINGS(self): - return self.getToken(frameQLParser.NUMINTERIORRINGS, 0) - - def NUMPOINTS(self): - return self.getToken(frameQLParser.NUMPOINTS, 0) - - def OCT(self): - return self.getToken(frameQLParser.OCT, 0) - - def OCTET_LENGTH(self): - return self.getToken(frameQLParser.OCTET_LENGTH, 0) - - def ORD(self): - return self.getToken(frameQLParser.ORD, 0) - - def OVERLAPS(self): - return self.getToken(frameQLParser.OVERLAPS, 0) - - def PERIOD_ADD(self): - return self.getToken(frameQLParser.PERIOD_ADD, 0) - - def PERIOD_DIFF(self): - return self.getToken(frameQLParser.PERIOD_DIFF, 0) - - def PI(self): - return self.getToken(frameQLParser.PI, 0) - - def POINT(self): - return self.getToken(frameQLParser.POINT, 0) - - def POINTFROMTEXT(self): - return self.getToken(frameQLParser.POINTFROMTEXT, 0) - - def POINTFROMWKB(self): - return self.getToken(frameQLParser.POINTFROMWKB, 0) - - def POINTN(self): - return self.getToken(frameQLParser.POINTN, 0) - - def POLYFROMTEXT(self): - return self.getToken(frameQLParser.POLYFROMTEXT, 0) - - def POLYFROMWKB(self): - return self.getToken(frameQLParser.POLYFROMWKB, 0) - - def POLYGON(self): - return self.getToken(frameQLParser.POLYGON, 0) - - def POLYGONFROMTEXT(self): - return self.getToken(frameQLParser.POLYGONFROMTEXT, 0) - - def POLYGONFROMWKB(self): - return self.getToken(frameQLParser.POLYGONFROMWKB, 0) - - def POSITION(self): - return self.getToken(frameQLParser.POSITION, 0) - - def POW(self): - return self.getToken(frameQLParser.POW, 0) - - def POWER(self): - return self.getToken(frameQLParser.POWER, 0) - - def QUARTER(self): - return self.getToken(frameQLParser.QUARTER, 0) - - def QUOTE(self): - return self.getToken(frameQLParser.QUOTE, 0) - - def RADIANS(self): - return self.getToken(frameQLParser.RADIANS, 0) - - def RAND(self): - return self.getToken(frameQLParser.RAND, 0) - - def RANDOM_BYTES(self): - return self.getToken(frameQLParser.RANDOM_BYTES, 0) - - def RELEASE_LOCK(self): - return self.getToken(frameQLParser.RELEASE_LOCK, 0) - - def REVERSE(self): - return self.getToken(frameQLParser.REVERSE, 0) - - def RIGHT(self): - return self.getToken(frameQLParser.RIGHT, 0) - - def ROUND(self): - return self.getToken(frameQLParser.ROUND, 0) - - def ROW_COUNT(self): - return self.getToken(frameQLParser.ROW_COUNT, 0) - - def RPAD(self): - return self.getToken(frameQLParser.RPAD, 0) - - def RTRIM(self): - return self.getToken(frameQLParser.RTRIM, 0) - - def SECOND(self): - return self.getToken(frameQLParser.SECOND, 0) - - def SEC_TO_TIME(self): - return self.getToken(frameQLParser.SEC_TO_TIME, 0) - - def SESSION_USER(self): - return self.getToken(frameQLParser.SESSION_USER, 0) - - def SHA(self): - return self.getToken(frameQLParser.SHA, 0) - - def SHA1(self): - return self.getToken(frameQLParser.SHA1, 0) - - def SHA2(self): - return self.getToken(frameQLParser.SHA2, 0) - - def SIGN(self): - return self.getToken(frameQLParser.SIGN, 0) - - def SIN(self): - return self.getToken(frameQLParser.SIN, 0) - - def SLEEP(self): - return self.getToken(frameQLParser.SLEEP, 0) - - def SOUNDEX(self): - return self.getToken(frameQLParser.SOUNDEX, 0) - - def SQL_THREAD_WAIT_AFTER_GTIDS(self): - return self.getToken(frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, 0) - - def SQRT(self): - return self.getToken(frameQLParser.SQRT, 0) - - def SRID(self): - return self.getToken(frameQLParser.SRID, 0) - - def STARTPOINT(self): - return self.getToken(frameQLParser.STARTPOINT, 0) - - def STRCMP(self): - return self.getToken(frameQLParser.STRCMP, 0) - - def STR_TO_DATE(self): - return self.getToken(frameQLParser.STR_TO_DATE, 0) - - def ST_AREA(self): - return self.getToken(frameQLParser.ST_AREA, 0) - - def ST_ASBINARY(self): - return self.getToken(frameQLParser.ST_ASBINARY, 0) - - def ST_ASTEXT(self): - return self.getToken(frameQLParser.ST_ASTEXT, 0) - - def ST_ASWKB(self): - return self.getToken(frameQLParser.ST_ASWKB, 0) - - def ST_ASWKT(self): - return self.getToken(frameQLParser.ST_ASWKT, 0) - - def ST_BUFFER(self): - return self.getToken(frameQLParser.ST_BUFFER, 0) - - def ST_CENTROID(self): - return self.getToken(frameQLParser.ST_CENTROID, 0) - - def ST_CONTAINS(self): - return self.getToken(frameQLParser.ST_CONTAINS, 0) - - def ST_CROSSES(self): - return self.getToken(frameQLParser.ST_CROSSES, 0) - - def ST_DIFFERENCE(self): - return self.getToken(frameQLParser.ST_DIFFERENCE, 0) - - def ST_DIMENSION(self): - return self.getToken(frameQLParser.ST_DIMENSION, 0) - - def ST_DISJOINT(self): - return self.getToken(frameQLParser.ST_DISJOINT, 0) - - def ST_DISTANCE(self): - return self.getToken(frameQLParser.ST_DISTANCE, 0) - - def ST_ENDPOINT(self): - return self.getToken(frameQLParser.ST_ENDPOINT, 0) - - def ST_ENVELOPE(self): - return self.getToken(frameQLParser.ST_ENVELOPE, 0) - - def ST_EQUALS(self): - return self.getToken(frameQLParser.ST_EQUALS, 0) - - def ST_EXTERIORRING(self): - return self.getToken(frameQLParser.ST_EXTERIORRING, 0) - - def ST_GEOMCOLLFROMTEXT(self): - return self.getToken(frameQLParser.ST_GEOMCOLLFROMTEXT, 0) - - def ST_GEOMCOLLFROMTXT(self): - return self.getToken(frameQLParser.ST_GEOMCOLLFROMTXT, 0) - - def ST_GEOMCOLLFROMWKB(self): - return self.getToken(frameQLParser.ST_GEOMCOLLFROMWKB, 0) - - def ST_GEOMETRYCOLLECTIONFROMTEXT(self): - return self.getToken(frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, 0) - - def ST_GEOMETRYCOLLECTIONFROMWKB(self): - return self.getToken(frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, 0) - - def ST_GEOMETRYFROMTEXT(self): - return self.getToken(frameQLParser.ST_GEOMETRYFROMTEXT, 0) - - def ST_GEOMETRYFROMWKB(self): - return self.getToken(frameQLParser.ST_GEOMETRYFROMWKB, 0) - - def ST_GEOMETRYN(self): - return self.getToken(frameQLParser.ST_GEOMETRYN, 0) - - def ST_GEOMETRYTYPE(self): - return self.getToken(frameQLParser.ST_GEOMETRYTYPE, 0) - - def ST_GEOMFROMTEXT(self): - return self.getToken(frameQLParser.ST_GEOMFROMTEXT, 0) - - def ST_GEOMFROMWKB(self): - return self.getToken(frameQLParser.ST_GEOMFROMWKB, 0) - - def ST_INTERIORRINGN(self): - return self.getToken(frameQLParser.ST_INTERIORRINGN, 0) - - def ST_INTERSECTION(self): - return self.getToken(frameQLParser.ST_INTERSECTION, 0) - - def ST_INTERSECTS(self): - return self.getToken(frameQLParser.ST_INTERSECTS, 0) - - def ST_ISCLOSED(self): - return self.getToken(frameQLParser.ST_ISCLOSED, 0) - - def ST_ISEMPTY(self): - return self.getToken(frameQLParser.ST_ISEMPTY, 0) - - def ST_ISSIMPLE(self): - return self.getToken(frameQLParser.ST_ISSIMPLE, 0) - - def ST_LINEFROMTEXT(self): - return self.getToken(frameQLParser.ST_LINEFROMTEXT, 0) - - def ST_LINEFROMWKB(self): - return self.getToken(frameQLParser.ST_LINEFROMWKB, 0) - - def ST_LINESTRINGFROMTEXT(self): - return self.getToken(frameQLParser.ST_LINESTRINGFROMTEXT, 0) - - def ST_LINESTRINGFROMWKB(self): - return self.getToken(frameQLParser.ST_LINESTRINGFROMWKB, 0) - - def ST_NUMGEOMETRIES(self): - return self.getToken(frameQLParser.ST_NUMGEOMETRIES, 0) - - def ST_NUMINTERIORRING(self): - return self.getToken(frameQLParser.ST_NUMINTERIORRING, 0) - - def ST_NUMINTERIORRINGS(self): - return self.getToken(frameQLParser.ST_NUMINTERIORRINGS, 0) - - def ST_NUMPOINTS(self): - return self.getToken(frameQLParser.ST_NUMPOINTS, 0) - - def ST_OVERLAPS(self): - return self.getToken(frameQLParser.ST_OVERLAPS, 0) - - def ST_POINTFROMTEXT(self): - return self.getToken(frameQLParser.ST_POINTFROMTEXT, 0) - - def ST_POINTFROMWKB(self): - return self.getToken(frameQLParser.ST_POINTFROMWKB, 0) - - def ST_POINTN(self): - return self.getToken(frameQLParser.ST_POINTN, 0) - - def ST_POLYFROMTEXT(self): - return self.getToken(frameQLParser.ST_POLYFROMTEXT, 0) - - def ST_POLYFROMWKB(self): - return self.getToken(frameQLParser.ST_POLYFROMWKB, 0) - - def ST_POLYGONFROMTEXT(self): - return self.getToken(frameQLParser.ST_POLYGONFROMTEXT, 0) - - def ST_POLYGONFROMWKB(self): - return self.getToken(frameQLParser.ST_POLYGONFROMWKB, 0) - - def ST_SRID(self): - return self.getToken(frameQLParser.ST_SRID, 0) - - def ST_STARTPOINT(self): - return self.getToken(frameQLParser.ST_STARTPOINT, 0) - - def ST_SYMDIFFERENCE(self): - return self.getToken(frameQLParser.ST_SYMDIFFERENCE, 0) - - def ST_TOUCHES(self): - return self.getToken(frameQLParser.ST_TOUCHES, 0) - - def ST_UNION(self): - return self.getToken(frameQLParser.ST_UNION, 0) - - def ST_WITHIN(self): - return self.getToken(frameQLParser.ST_WITHIN, 0) - - def ST_X(self): - return self.getToken(frameQLParser.ST_X, 0) - - def ST_Y(self): - return self.getToken(frameQLParser.ST_Y, 0) - - def SUBDATE(self): - return self.getToken(frameQLParser.SUBDATE, 0) - - def SUBSTRING_INDEX(self): - return self.getToken(frameQLParser.SUBSTRING_INDEX, 0) - - def SUBTIME(self): - return self.getToken(frameQLParser.SUBTIME, 0) - - def SYSTEM_USER(self): - return self.getToken(frameQLParser.SYSTEM_USER, 0) - - def TAN(self): - return self.getToken(frameQLParser.TAN, 0) - - def TIME(self): - return self.getToken(frameQLParser.TIME, 0) - - def TIMEDIFF(self): - return self.getToken(frameQLParser.TIMEDIFF, 0) - - def TIMESTAMP(self): - return self.getToken(frameQLParser.TIMESTAMP, 0) - - def TIMESTAMPADD(self): - return self.getToken(frameQLParser.TIMESTAMPADD, 0) - - def TIMESTAMPDIFF(self): - return self.getToken(frameQLParser.TIMESTAMPDIFF, 0) - - def TIME_FORMAT(self): - return self.getToken(frameQLParser.TIME_FORMAT, 0) - - def TIME_TO_SEC(self): - return self.getToken(frameQLParser.TIME_TO_SEC, 0) - - def TOUCHES(self): - return self.getToken(frameQLParser.TOUCHES, 0) - - def TO_BASE64(self): - return self.getToken(frameQLParser.TO_BASE64, 0) - - def TO_DAYS(self): - return self.getToken(frameQLParser.TO_DAYS, 0) - - def TO_SECONDS(self): - return self.getToken(frameQLParser.TO_SECONDS, 0) - - def UCASE(self): - return self.getToken(frameQLParser.UCASE, 0) - - def UNCOMPRESS(self): - return self.getToken(frameQLParser.UNCOMPRESS, 0) - - def UNCOMPRESSED_LENGTH(self): - return self.getToken(frameQLParser.UNCOMPRESSED_LENGTH, 0) - - def UNHEX(self): - return self.getToken(frameQLParser.UNHEX, 0) - - def UNIX_TIMESTAMP(self): - return self.getToken(frameQLParser.UNIX_TIMESTAMP, 0) - - def UPDATEXML(self): - return self.getToken(frameQLParser.UPDATEXML, 0) - - def UPPER(self): - return self.getToken(frameQLParser.UPPER, 0) - - def UUID(self): - return self.getToken(frameQLParser.UUID, 0) - - def UUID_SHORT(self): - return self.getToken(frameQLParser.UUID_SHORT, 0) - - def VALIDATE_PASSWORD_STRENGTH(self): - return self.getToken(frameQLParser.VALIDATE_PASSWORD_STRENGTH, 0) - - def VERSION(self): - return self.getToken(frameQLParser.VERSION, 0) - - def WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS(self): - return self.getToken(frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, 0) - - def WEEK(self): - return self.getToken(frameQLParser.WEEK, 0) - - def WEEKDAY(self): - return self.getToken(frameQLParser.WEEKDAY, 0) - - def WEEKOFYEAR(self): - return self.getToken(frameQLParser.WEEKOFYEAR, 0) - - def WEIGHT_STRING(self): - return self.getToken(frameQLParser.WEIGHT_STRING, 0) - - def WITHIN(self): - return self.getToken(frameQLParser.WITHIN, 0) - - def YEAR(self): - return self.getToken(frameQLParser.YEAR, 0) - - def YEARWEEK(self): - return self.getToken(frameQLParser.YEARWEEK, 0) - - def Y_FUNCTION(self): - return self.getToken(frameQLParser.Y_FUNCTION, 0) - - def X_FUNCTION(self): - return self.getToken(frameQLParser.X_FUNCTION, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_functionNameBase - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFunctionNameBase" ): - listener.enterFunctionNameBase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFunctionNameBase" ): - listener.exitFunctionNameBase(self) - - - - - def functionNameBase(self): - - localctx = frameQLParser.FunctionNameBaseContext(self, self._ctx, self.state) - self.enterRule(localctx, 618, self.RULE_functionNameBase) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 6091 - _la = self._input.LA(1) - if not(_la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 558)) & ~0x3f) == 0 and ((1 << (_la - 558)) & ((1 << (frameQLParser.QUARTER - 558)) | (1 << (frameQLParser.MONTH - 558)) | (1 << (frameQLParser.DAY - 558)) | (1 << (frameQLParser.HOUR - 558)) | (1 << (frameQLParser.MINUTE - 558)) | (1 << (frameQLParser.WEEK - 558)) | (1 << (frameQLParser.SECOND - 558)) | (1 << (frameQLParser.MICROSECOND - 558)))) != 0) or ((((_la - 630)) & ~0x3f) == 0 and ((1 << (_la - 630)) & ((1 << (frameQLParser.GEOMETRYCOLLECTION - 630)) | (1 << (frameQLParser.LINESTRING - 630)) | (1 << (frameQLParser.MULTILINESTRING - 630)) | (1 << (frameQLParser.MULTIPOINT - 630)) | (1 << (frameQLParser.MULTIPOLYGON - 630)) | (1 << (frameQLParser.POINT - 630)) | (1 << (frameQLParser.POLYGON - 630)) | (1 << (frameQLParser.ABS - 630)) | (1 << (frameQLParser.ACOS - 630)) | (1 << (frameQLParser.ADDDATE - 630)) | (1 << (frameQLParser.ADDTIME - 630)) | (1 << (frameQLParser.AES_DECRYPT - 630)) | (1 << (frameQLParser.AES_ENCRYPT - 630)) | (1 << (frameQLParser.AREA - 630)) | (1 << (frameQLParser.ASBINARY - 630)) | (1 << (frameQLParser.ASIN - 630)) | (1 << (frameQLParser.ASTEXT - 630)) | (1 << (frameQLParser.ASWKB - 630)) | (1 << (frameQLParser.ASWKT - 630)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 630)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 630)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 630)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 630)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 630)) | (1 << (frameQLParser.ATAN - 630)) | (1 << (frameQLParser.ATAN2 - 630)) | (1 << (frameQLParser.BENCHMARK - 630)) | (1 << (frameQLParser.BIN - 630)) | (1 << (frameQLParser.BIT_COUNT - 630)) | (1 << (frameQLParser.BIT_LENGTH - 630)) | (1 << (frameQLParser.BUFFER - 630)) | (1 << (frameQLParser.CEIL - 630)) | (1 << (frameQLParser.CEILING - 630)) | (1 << (frameQLParser.CENTROID - 630)) | (1 << (frameQLParser.CHARACTER_LENGTH - 630)) | (1 << (frameQLParser.CHARSET - 630)) | (1 << (frameQLParser.CHAR_LENGTH - 630)) | (1 << (frameQLParser.COERCIBILITY - 630)) | (1 << (frameQLParser.COLLATION - 630)) | (1 << (frameQLParser.COMPRESS - 630)) | (1 << (frameQLParser.CONCAT - 630)) | (1 << (frameQLParser.CONCAT_WS - 630)) | (1 << (frameQLParser.CONNECTION_ID - 630)) | (1 << (frameQLParser.CONV - 630)) | (1 << (frameQLParser.CONVERT_TZ - 630)) | (1 << (frameQLParser.COS - 630)) | (1 << (frameQLParser.COT - 630)) | (1 << (frameQLParser.CRC32 - 630)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 630)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 630)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 630)) | (1 << (frameQLParser.CREATE_DIGEST - 630)) | (1 << (frameQLParser.CROSSES - 630)) | (1 << (frameQLParser.DATEDIFF - 630)) | (1 << (frameQLParser.DATE_FORMAT - 630)) | (1 << (frameQLParser.DAYNAME - 630)) | (1 << (frameQLParser.DAYOFMONTH - 630)) | (1 << (frameQLParser.DAYOFWEEK - 630)) | (1 << (frameQLParser.DAYOFYEAR - 630)) | (1 << (frameQLParser.DECODE - 630)) | (1 << (frameQLParser.DEGREES - 630)) | (1 << (frameQLParser.DES_DECRYPT - 630)) | (1 << (frameQLParser.DES_ENCRYPT - 630)) | (1 << (frameQLParser.DIMENSION - 630)))) != 0) or ((((_la - 694)) & ~0x3f) == 0 and ((1 << (_la - 694)) & ((1 << (frameQLParser.DISJOINT - 694)) | (1 << (frameQLParser.ELT - 694)) | (1 << (frameQLParser.ENCODE - 694)) | (1 << (frameQLParser.ENCRYPT - 694)) | (1 << (frameQLParser.ENDPOINT - 694)) | (1 << (frameQLParser.ENVELOPE - 694)) | (1 << (frameQLParser.EQUALS - 694)) | (1 << (frameQLParser.EXP - 694)) | (1 << (frameQLParser.EXPORT_SET - 694)) | (1 << (frameQLParser.EXTERIORRING - 694)) | (1 << (frameQLParser.EXTRACTVALUE - 694)) | (1 << (frameQLParser.FIELD - 694)) | (1 << (frameQLParser.FIND_IN_SET - 694)) | (1 << (frameQLParser.FLOOR - 694)) | (1 << (frameQLParser.FORMAT - 694)) | (1 << (frameQLParser.FOUND_ROWS - 694)) | (1 << (frameQLParser.FROM_BASE64 - 694)) | (1 << (frameQLParser.FROM_DAYS - 694)) | (1 << (frameQLParser.FROM_UNIXTIME - 694)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 694)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 694)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 694)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 694)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 694)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 694)) | (1 << (frameQLParser.GEOMETRYN - 694)) | (1 << (frameQLParser.GEOMETRYTYPE - 694)) | (1 << (frameQLParser.GEOMFROMTEXT - 694)) | (1 << (frameQLParser.GEOMFROMWKB - 694)) | (1 << (frameQLParser.GET_FORMAT - 694)) | (1 << (frameQLParser.GET_LOCK - 694)) | (1 << (frameQLParser.GLENGTH - 694)) | (1 << (frameQLParser.GREATEST - 694)) | (1 << (frameQLParser.GTID_SUBSET - 694)) | (1 << (frameQLParser.GTID_SUBTRACT - 694)) | (1 << (frameQLParser.HEX - 694)) | (1 << (frameQLParser.IFNULL - 694)) | (1 << (frameQLParser.INET6_ATON - 694)) | (1 << (frameQLParser.INET6_NTOA - 694)) | (1 << (frameQLParser.INET_ATON - 694)) | (1 << (frameQLParser.INET_NTOA - 694)) | (1 << (frameQLParser.INSTR - 694)) | (1 << (frameQLParser.INTERIORRINGN - 694)) | (1 << (frameQLParser.INTERSECTS - 694)) | (1 << (frameQLParser.ISCLOSED - 694)) | (1 << (frameQLParser.ISEMPTY - 694)) | (1 << (frameQLParser.ISNULL - 694)) | (1 << (frameQLParser.ISSIMPLE - 694)) | (1 << (frameQLParser.IS_FREE_LOCK - 694)) | (1 << (frameQLParser.IS_IPV4 - 694)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 694)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 694)) | (1 << (frameQLParser.IS_IPV6 - 694)) | (1 << (frameQLParser.IS_USED_LOCK - 694)) | (1 << (frameQLParser.LAST_INSERT_ID - 694)) | (1 << (frameQLParser.LCASE - 694)) | (1 << (frameQLParser.LEAST - 694)) | (1 << (frameQLParser.LENGTH - 694)) | (1 << (frameQLParser.LINEFROMTEXT - 694)) | (1 << (frameQLParser.LINEFROMWKB - 694)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 694)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 694)) | (1 << (frameQLParser.LN - 694)) | (1 << (frameQLParser.LOAD_FILE - 694)))) != 0) or ((((_la - 758)) & ~0x3f) == 0 and ((1 << (_la - 758)) & ((1 << (frameQLParser.LOCATE - 758)) | (1 << (frameQLParser.LOG - 758)) | (1 << (frameQLParser.LOG10 - 758)) | (1 << (frameQLParser.LOG2 - 758)) | (1 << (frameQLParser.LOWER - 758)) | (1 << (frameQLParser.LPAD - 758)) | (1 << (frameQLParser.LTRIM - 758)) | (1 << (frameQLParser.MAKEDATE - 758)) | (1 << (frameQLParser.MAKETIME - 758)) | (1 << (frameQLParser.MAKE_SET - 758)) | (1 << (frameQLParser.MASTER_POS_WAIT - 758)) | (1 << (frameQLParser.MBRCONTAINS - 758)) | (1 << (frameQLParser.MBRDISJOINT - 758)) | (1 << (frameQLParser.MBREQUAL - 758)) | (1 << (frameQLParser.MBRINTERSECTS - 758)) | (1 << (frameQLParser.MBROVERLAPS - 758)) | (1 << (frameQLParser.MBRTOUCHES - 758)) | (1 << (frameQLParser.MBRWITHIN - 758)) | (1 << (frameQLParser.MD5 - 758)) | (1 << (frameQLParser.MLINEFROMTEXT - 758)) | (1 << (frameQLParser.MLINEFROMWKB - 758)) | (1 << (frameQLParser.MONTHNAME - 758)) | (1 << (frameQLParser.MPOINTFROMTEXT - 758)) | (1 << (frameQLParser.MPOINTFROMWKB - 758)) | (1 << (frameQLParser.MPOLYFROMTEXT - 758)) | (1 << (frameQLParser.MPOLYFROMWKB - 758)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 758)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 758)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 758)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 758)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 758)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 758)) | (1 << (frameQLParser.NAME_CONST - 758)) | (1 << (frameQLParser.NULLIF - 758)) | (1 << (frameQLParser.NUMGEOMETRIES - 758)) | (1 << (frameQLParser.NUMINTERIORRINGS - 758)) | (1 << (frameQLParser.NUMPOINTS - 758)) | (1 << (frameQLParser.OCT - 758)) | (1 << (frameQLParser.OCTET_LENGTH - 758)) | (1 << (frameQLParser.ORD - 758)) | (1 << (frameQLParser.OVERLAPS - 758)) | (1 << (frameQLParser.PERIOD_ADD - 758)) | (1 << (frameQLParser.PERIOD_DIFF - 758)) | (1 << (frameQLParser.PI - 758)) | (1 << (frameQLParser.POINTFROMTEXT - 758)) | (1 << (frameQLParser.POINTFROMWKB - 758)) | (1 << (frameQLParser.POINTN - 758)) | (1 << (frameQLParser.POLYFROMTEXT - 758)) | (1 << (frameQLParser.POLYFROMWKB - 758)) | (1 << (frameQLParser.POLYGONFROMTEXT - 758)) | (1 << (frameQLParser.POLYGONFROMWKB - 758)) | (1 << (frameQLParser.POW - 758)) | (1 << (frameQLParser.POWER - 758)) | (1 << (frameQLParser.QUOTE - 758)) | (1 << (frameQLParser.RADIANS - 758)) | (1 << (frameQLParser.RAND - 758)) | (1 << (frameQLParser.RANDOM_BYTES - 758)) | (1 << (frameQLParser.RELEASE_LOCK - 758)) | (1 << (frameQLParser.REVERSE - 758)) | (1 << (frameQLParser.ROUND - 758)) | (1 << (frameQLParser.ROW_COUNT - 758)) | (1 << (frameQLParser.RPAD - 758)) | (1 << (frameQLParser.RTRIM - 758)) | (1 << (frameQLParser.SEC_TO_TIME - 758)))) != 0) or ((((_la - 822)) & ~0x3f) == 0 and ((1 << (_la - 822)) & ((1 << (frameQLParser.SESSION_USER - 822)) | (1 << (frameQLParser.SHA - 822)) | (1 << (frameQLParser.SHA1 - 822)) | (1 << (frameQLParser.SHA2 - 822)) | (1 << (frameQLParser.SIGN - 822)) | (1 << (frameQLParser.SIN - 822)) | (1 << (frameQLParser.SLEEP - 822)) | (1 << (frameQLParser.SOUNDEX - 822)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 822)) | (1 << (frameQLParser.SQRT - 822)) | (1 << (frameQLParser.SRID - 822)) | (1 << (frameQLParser.STARTPOINT - 822)) | (1 << (frameQLParser.STRCMP - 822)) | (1 << (frameQLParser.STR_TO_DATE - 822)) | (1 << (frameQLParser.ST_AREA - 822)) | (1 << (frameQLParser.ST_ASBINARY - 822)) | (1 << (frameQLParser.ST_ASTEXT - 822)) | (1 << (frameQLParser.ST_ASWKB - 822)) | (1 << (frameQLParser.ST_ASWKT - 822)) | (1 << (frameQLParser.ST_BUFFER - 822)) | (1 << (frameQLParser.ST_CENTROID - 822)) | (1 << (frameQLParser.ST_CONTAINS - 822)) | (1 << (frameQLParser.ST_CROSSES - 822)) | (1 << (frameQLParser.ST_DIFFERENCE - 822)) | (1 << (frameQLParser.ST_DIMENSION - 822)) | (1 << (frameQLParser.ST_DISJOINT - 822)) | (1 << (frameQLParser.ST_DISTANCE - 822)) | (1 << (frameQLParser.ST_ENDPOINT - 822)) | (1 << (frameQLParser.ST_ENVELOPE - 822)) | (1 << (frameQLParser.ST_EQUALS - 822)) | (1 << (frameQLParser.ST_EXTERIORRING - 822)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 822)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 822)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 822)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 822)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 822)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 822)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 822)) | (1 << (frameQLParser.ST_GEOMETRYN - 822)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 822)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 822)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 822)) | (1 << (frameQLParser.ST_INTERIORRINGN - 822)) | (1 << (frameQLParser.ST_INTERSECTION - 822)) | (1 << (frameQLParser.ST_INTERSECTS - 822)) | (1 << (frameQLParser.ST_ISCLOSED - 822)) | (1 << (frameQLParser.ST_ISEMPTY - 822)) | (1 << (frameQLParser.ST_ISSIMPLE - 822)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 822)) | (1 << (frameQLParser.ST_LINEFROMWKB - 822)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 822)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 822)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 822)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 822)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 822)) | (1 << (frameQLParser.ST_NUMPOINTS - 822)) | (1 << (frameQLParser.ST_OVERLAPS - 822)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 822)) | (1 << (frameQLParser.ST_POINTFROMWKB - 822)) | (1 << (frameQLParser.ST_POINTN - 822)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 822)) | (1 << (frameQLParser.ST_POLYFROMWKB - 822)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 822)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 822)))) != 0) or ((((_la - 886)) & ~0x3f) == 0 and ((1 << (_la - 886)) & ((1 << (frameQLParser.ST_SRID - 886)) | (1 << (frameQLParser.ST_STARTPOINT - 886)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 886)) | (1 << (frameQLParser.ST_TOUCHES - 886)) | (1 << (frameQLParser.ST_UNION - 886)) | (1 << (frameQLParser.ST_WITHIN - 886)) | (1 << (frameQLParser.ST_X - 886)) | (1 << (frameQLParser.ST_Y - 886)) | (1 << (frameQLParser.SUBDATE - 886)) | (1 << (frameQLParser.SUBSTRING_INDEX - 886)) | (1 << (frameQLParser.SUBTIME - 886)) | (1 << (frameQLParser.SYSTEM_USER - 886)) | (1 << (frameQLParser.TAN - 886)) | (1 << (frameQLParser.TIMEDIFF - 886)) | (1 << (frameQLParser.TIMESTAMPADD - 886)) | (1 << (frameQLParser.TIMESTAMPDIFF - 886)) | (1 << (frameQLParser.TIME_FORMAT - 886)) | (1 << (frameQLParser.TIME_TO_SEC - 886)) | (1 << (frameQLParser.TOUCHES - 886)) | (1 << (frameQLParser.TO_BASE64 - 886)) | (1 << (frameQLParser.TO_DAYS - 886)) | (1 << (frameQLParser.TO_SECONDS - 886)) | (1 << (frameQLParser.UCASE - 886)) | (1 << (frameQLParser.UNCOMPRESS - 886)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 886)) | (1 << (frameQLParser.UNHEX - 886)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 886)) | (1 << (frameQLParser.UPDATEXML - 886)) | (1 << (frameQLParser.UPPER - 886)) | (1 << (frameQLParser.UUID - 886)) | (1 << (frameQLParser.UUID_SHORT - 886)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 886)) | (1 << (frameQLParser.VERSION - 886)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 886)) | (1 << (frameQLParser.WEEKDAY - 886)) | (1 << (frameQLParser.WEEKOFYEAR - 886)) | (1 << (frameQLParser.WEIGHT_STRING - 886)) | (1 << (frameQLParser.WITHIN - 886)) | (1 << (frameQLParser.YEARWEEK - 886)) | (1 << (frameQLParser.Y_FUNCTION - 886)) | (1 << (frameQLParser.X_FUNCTION - 886)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - - def sempred(self, localctx:RuleContext, ruleIndex:int, predIndex:int): - if self._predicates == None: - self._predicates = dict() - self._predicates[295] = self.expression_sempred - self._predicates[296] = self.predicate_sempred - self._predicates[297] = self.expressionAtom_sempred - pred = self._predicates.get(ruleIndex, None) - if pred is None: - raise Exception("No predicate with index:" + str(ruleIndex)) - else: - return pred(localctx, predIndex) - - def expression_sempred(self, localctx:ExpressionContext, predIndex:int): - if predIndex == 0: - return self.precpred(self._ctx, 3) - - - def predicate_sempred(self, localctx:PredicateContext, predIndex:int): - if predIndex == 1: - return self.precpred(self._ctx, 7) - - - if predIndex == 2: - return self.precpred(self._ctx, 5) - - - if predIndex == 3: - return self.precpred(self._ctx, 4) - - - if predIndex == 4: - return self.precpred(self._ctx, 2) - - - if predIndex == 5: - return self.precpred(self._ctx, 9) - - - if predIndex == 6: - return self.precpred(self._ctx, 8) - - - if predIndex == 7: - return self.precpred(self._ctx, 6) - - - if predIndex == 8: - return self.precpred(self._ctx, 3) - - - def expressionAtom_sempred(self, localctx:ExpressionAtomContext, predIndex:int): - if predIndex == 9: - return self.precpred(self._ctx, 2) - - - if predIndex == 10: - return self.precpred(self._ctx, 1) - - - if predIndex == 11: - return self.precpred(self._ctx, 11) - - - - - diff --git a/Grammar/frameQL/grammar/test/frameQLParser.tokens b/Grammar/frameQL/grammar/test/frameQLParser.tokens deleted file mode 100644 index 30b8e8a9db..0000000000 --- a/Grammar/frameQL/grammar/test/frameQLParser.tokens +++ /dev/null @@ -1,1941 +0,0 @@ -SPACE=1 -SPEC_MYSQL_COMMENT=2 -COMMENT_INPUT=3 -LINE_COMMENT=4 -ERRORBOUND=5 -CONFLEVEL=6 -ADD=7 -ALL=8 -ALTER=9 -ALWAYS=10 -ANALYZE=11 -AND=12 -AS=13 -ASC=14 -BEFORE=15 -BETWEEN=16 -BOTH=17 -BY=18 -CALL=19 -CASCADE=20 -CASE=21 -CAST=22 -CHANGE=23 -CHARACTER=24 -CHECK=25 -COLLATE=26 -COLUMN=27 -CONDITION=28 -CONSTRAINT=29 -CONTINUE=30 -CONVERT=31 -CREATE=32 -CROSS=33 -CURRENT_USER=34 -CURSOR=35 -DATABASE=36 -DATABASES=37 -DECLARE=38 -DEFAULT=39 -DELAYED=40 -DELETE=41 -DESC=42 -DESCRIBE=43 -DETERMINISTIC=44 -DISTINCT=45 -DISTINCTROW=46 -DROP=47 -EACH=48 -ELSE=49 -ELSEIF=50 -ENCLOSED=51 -ESCAPED=52 -EXISTS=53 -EXIT=54 -EXPLAIN=55 -FALSE=56 -FETCH=57 -FOR=58 -FORCE=59 -FOREIGN=60 -FROM=61 -FULLTEXT=62 -GENERATED=63 -GRANT=64 -GROUP=65 -HAVING=66 -HIGH_PRIORITY=67 -IF=68 -IGNORE=69 -IN=70 -INDEX=71 -INFILE=72 -INNER=73 -INOUT=74 -INSERT=75 -INTERVAL=76 -INTO=77 -IS=78 -ITERATE=79 -JOIN=80 -KEY=81 -KEYS=82 -KILL=83 -LEADING=84 -LEAVE=85 -LEFT=86 -LIKE=87 -LIMIT=88 -LINEAR=89 -LINES=90 -LOAD=91 -LOCK=92 -LOOP=93 -LOW_PRIORITY=94 -MASTER_BIND=95 -MASTER_SSL_VERIFY_SERVER_CERT=96 -MATCH=97 -MAXVALUE=98 -MODIFIES=99 -NATURAL=100 -NOT=101 -NO_WRITE_TO_BINLOG=102 -NULL_LITERAL=103 -ON=104 -OPTIMIZE=105 -OPTION=106 -OPTIONALLY=107 -OR=108 -ORDER=109 -OUT=110 -OUTER=111 -OUTFILE=112 -PARTITION=113 -PRIMARY=114 -PROCEDURE=115 -PURGE=116 -RANGE=117 -READ=118 -READS=119 -REFERENCES=120 -REGEXP=121 -RELEASE=122 -RENAME=123 -REPEAT=124 -REPLACE=125 -REQUIRE=126 -RESTRICT=127 -RETURN=128 -REVOKE=129 -RIGHT=130 -RLIKE=131 -SCHEMA=132 -SCHEMAS=133 -SELECT=134 -SET=135 -SEPARATOR=136 -SHOW=137 -SPATIAL=138 -SQL=139 -SQLEXCEPTION=140 -SQLSTATE=141 -SQLWARNING=142 -SQL_BIG_RESULT=143 -SQL_CALC_FOUND_ROWS=144 -SQL_SMALL_RESULT=145 -SSL=146 -STARTING=147 -STRAIGHT_JOIN=148 -TABLE=149 -TERMINATED=150 -THEN=151 -TO=152 -TRAILING=153 -TRIGGER=154 -TRUE=155 -UNDO=156 -UNION=157 -UNIQUE=158 -UNLOCK=159 -UNSIGNED=160 -UPDATE=161 -USAGE=162 -USE=163 -USING=164 -VALUES=165 -WHEN=166 -WHERE=167 -WHILE=168 -WITH=169 -WRITE=170 -XOR=171 -ZEROFILL=172 -TINYINT=173 -SMALLINT=174 -MEDIUMINT=175 -INT=176 -INTEGER=177 -BIGINT=178 -REAL=179 -DOUBLE=180 -FLOAT=181 -DECIMAL=182 -NUMERIC=183 -DATE=184 -TIME=185 -TIMESTAMP=186 -DATETIME=187 -YEAR=188 -CHAR=189 -VARCHAR=190 -BINARY=191 -VARBINARY=192 -TINYBLOB=193 -BLOB=194 -MEDIUMBLOB=195 -LONGBLOB=196 -TINYTEXT=197 -TEXT=198 -MEDIUMTEXT=199 -LONGTEXT=200 -ENUM=201 -SERIAL=202 -YEAR_MONTH=203 -DAY_HOUR=204 -DAY_MINUTE=205 -DAY_SECOND=206 -HOUR_MINUTE=207 -HOUR_SECOND=208 -MINUTE_SECOND=209 -SECOND_MICROSECOND=210 -MINUTE_MICROSECOND=211 -HOUR_MICROSECOND=212 -DAY_MICROSECOND=213 -AVG=214 -BIT_AND=215 -BIT_OR=216 -BIT_XOR=217 -COUNT=218 -GROUP_CONCAT=219 -MAX=220 -MIN=221 -STD=222 -STDDEV=223 -STDDEV_POP=224 -STDDEV_SAMP=225 -SUM=226 -VAR_POP=227 -VAR_SAMP=228 -VARIANCE=229 -FCOUNT=230 -CURRENT_DATE=231 -CURRENT_TIME=232 -CURRENT_TIMESTAMP=233 -LOCALTIME=234 -CURDATE=235 -CURTIME=236 -DATE_ADD=237 -DATE_SUB=238 -EXTRACT=239 -LOCALTIMESTAMP=240 -NOW=241 -POSITION=242 -SUBSTR=243 -SUBSTRING=244 -SYSDATE=245 -TRIM=246 -UTC_DATE=247 -UTC_TIME=248 -UTC_TIMESTAMP=249 -ACCOUNT=250 -ACTION=251 -AFTER=252 -AGGREGATE=253 -ALGORITHM=254 -ANY=255 -AT=256 -AUTHORS=257 -AUTOCOMMIT=258 -AUTOEXTEND_SIZE=259 -AUTO_INCREMENT=260 -AVG_ROW_LENGTH=261 -BEGIN=262 -BINLOG=263 -BIT=264 -BLOCK=265 -BOOL=266 -BOOLEAN=267 -BTREE=268 -CACHE=269 -CASCADED=270 -CHAIN=271 -CHANGED=272 -CHANNEL=273 -CHECKSUM=274 -CIPHER=275 -CLIENT=276 -CLOSE=277 -COALESCE=278 -CODE=279 -COLUMNS=280 -COLUMN_FORMAT=281 -COMMENT=282 -COMMIT=283 -COMPACT=284 -COMPLETION=285 -COMPRESSED=286 -COMPRESSION=287 -CONCURRENT=288 -CONNECTION=289 -CONSISTENT=290 -CONTAINS=291 -CONTEXT=292 -CONTRIBUTORS=293 -COPY=294 -CPU=295 -DATA=296 -DATAFILE=297 -DEALLOCATE=298 -DEFAULT_AUTH=299 -DEFINER=300 -DELAY_KEY_WRITE=301 -DES_KEY_FILE=302 -DIRECTORY=303 -DISABLE=304 -DISCARD=305 -DISK=306 -DO=307 -DUMPFILE=308 -DUPLICATE=309 -DYNAMIC=310 -ENABLE=311 -ENCRYPTION=312 -END=313 -ENDS=314 -ENGINE=315 -ENGINES=316 -ERROR=317 -ERRORS=318 -ESCAPE=319 -EVEN=320 -EVENT=321 -EVENTS=322 -EVERY=323 -EXCHANGE=324 -EXCLUSIVE=325 -EXPIRE=326 -EXPORT=327 -EXTENDED=328 -EXTENT_SIZE=329 -FAST=330 -FAULTS=331 -FIELDS=332 -FILE_BLOCK_SIZE=333 -FILTER=334 -FIRST=335 -FIXED=336 -FLUSH=337 -FOLLOWS=338 -FOUND=339 -FULL=340 -FUNCTION=341 -GENERAL=342 -GLOBAL=343 -GRANTS=344 -GROUP_REPLICATION=345 -HANDLER=346 -HASH=347 -HELP=348 -HOST=349 -HOSTS=350 -IDENTIFIED=351 -IGNORE_SERVER_IDS=352 -IMPORT=353 -INDEXES=354 -INITIAL_SIZE=355 -INPLACE=356 -INSERT_METHOD=357 -INSTALL=358 -INSTANCE=359 -INVOKER=360 -IO=361 -IO_THREAD=362 -IPC=363 -ISOLATION=364 -ISSUER=365 -JSON=366 -KEY_BLOCK_SIZE=367 -LANGUAGE=368 -LAST=369 -LEAVES=370 -LESS=371 -LEVEL=372 -LIST=373 -LOCAL=374 -LOGFILE=375 -LOGS=376 -MASTER=377 -MASTER_AUTO_POSITION=378 -MASTER_CONNECT_RETRY=379 -MASTER_DELAY=380 -MASTER_HEARTBEAT_PERIOD=381 -MASTER_HOST=382 -MASTER_LOG_FILE=383 -MASTER_LOG_POS=384 -MASTER_PASSWORD=385 -MASTER_PORT=386 -MASTER_RETRY_COUNT=387 -MASTER_SSL=388 -MASTER_SSL_CA=389 -MASTER_SSL_CAPATH=390 -MASTER_SSL_CERT=391 -MASTER_SSL_CIPHER=392 -MASTER_SSL_CRL=393 -MASTER_SSL_CRLPATH=394 -MASTER_SSL_KEY=395 -MASTER_TLS_VERSION=396 -MASTER_USER=397 -MAX_CONNECTIONS_PER_HOUR=398 -MAX_QUERIES_PER_HOUR=399 -MAX_ROWS=400 -MAX_SIZE=401 -MAX_UPDATES_PER_HOUR=402 -MAX_USER_CONNECTIONS=403 -MEDIUM=404 -MERGE=405 -MID=406 -MIGRATE=407 -MIN_ROWS=408 -MODE=409 -MODIFY=410 -MUTEX=411 -MYSQL=412 -NAME=413 -NAMES=414 -NCHAR=415 -NEVER=416 -NEXT=417 -NO=418 -NODEGROUP=419 -NONE=420 -OFFLINE=421 -OFFSET=422 -OJ=423 -OLD_PASSWORD=424 -ONE=425 -ONLINE=426 -ONLY=427 -OPEN=428 -OPTIMIZER_COSTS=429 -OPTIONS=430 -OWNER=431 -PACK_KEYS=432 -PAGE=433 -PARSER=434 -PARTIAL=435 -PARTITIONING=436 -PARTITIONS=437 -PASSWORD=438 -PHASE=439 -PLUGIN=440 -PLUGIN_DIR=441 -PLUGINS=442 -PORT=443 -PRECEDES=444 -PREPARE=445 -PRESERVE=446 -PREV=447 -PROCESSLIST=448 -PROFILE=449 -PROFILES=450 -PROXY=451 -QUERY=452 -QUICK=453 -REBUILD=454 -RECOVER=455 -REDO_BUFFER_SIZE=456 -REDUNDANT=457 -RELAY=458 -RELAY_LOG_FILE=459 -RELAY_LOG_POS=460 -RELAYLOG=461 -REMOVE=462 -REORGANIZE=463 -REPAIR=464 -REPLICATE_DO_DB=465 -REPLICATE_DO_TABLE=466 -REPLICATE_IGNORE_DB=467 -REPLICATE_IGNORE_TABLE=468 -REPLICATE_REWRITE_DB=469 -REPLICATE_WILD_DO_TABLE=470 -REPLICATE_WILD_IGNORE_TABLE=471 -REPLICATION=472 -RESET=473 -RESUME=474 -RETURNS=475 -ROLLBACK=476 -ROLLUP=477 -ROTATE=478 -ROW=479 -ROWS=480 -ROW_FORMAT=481 -SAVEPOINT=482 -SCHEDULE=483 -SECURITY=484 -SERVER=485 -SESSION=486 -SHARE=487 -SHARED=488 -SIGNED=489 -SIMPLE=490 -SLAVE=491 -SLOW=492 -SNAPSHOT=493 -SOCKET=494 -SOME=495 -SONAME=496 -SOUNDS=497 -SOURCE=498 -SQL_AFTER_GTIDS=499 -SQL_AFTER_MTS_GAPS=500 -SQL_BEFORE_GTIDS=501 -SQL_BUFFER_RESULT=502 -SQL_CACHE=503 -SQL_NO_CACHE=504 -SQL_THREAD=505 -START=506 -STARTS=507 -STATS_AUTO_RECALC=508 -STATS_PERSISTENT=509 -STATS_SAMPLE_PAGES=510 -STATUS=511 -STOP=512 -STORAGE=513 -STORED=514 -STRING=515 -SUBJECT=516 -SUBPARTITION=517 -SUBPARTITIONS=518 -SUSPEND=519 -SWAPS=520 -SWITCHES=521 -TABLESPACE=522 -TEMPORARY=523 -TEMPTABLE=524 -THAN=525 -TRADITIONAL=526 -TRANSACTION=527 -TRIGGERS=528 -TRUNCATE=529 -UNDEFINED=530 -UNDOFILE=531 -UNDO_BUFFER_SIZE=532 -UNINSTALL=533 -UNKNOWN=534 -UNTIL=535 -UPGRADE=536 -USER=537 -USE_FRM=538 -USER_RESOURCES=539 -VALIDATION=540 -VALUE=541 -VARIABLES=542 -VIEW=543 -VIRTUAL=544 -WAIT=545 -WARNINGS=546 -WITHOUT=547 -WORK=548 -WRAPPER=549 -X509=550 -XA=551 -XML=552 -EUR=553 -USA=554 -JIS=555 -ISO=556 -INTERNAL=557 -QUARTER=558 -MONTH=559 -DAY=560 -HOUR=561 -MINUTE=562 -WEEK=563 -SECOND=564 -MICROSECOND=565 -TABLES=566 -ROUTINE=567 -EXECUTE=568 -FILE=569 -PROCESS=570 -RELOAD=571 -SHUTDOWN=572 -SUPER=573 -PRIVILEGES=574 -ARMSCII8=575 -ASCII=576 -BIG5=577 -CP1250=578 -CP1251=579 -CP1256=580 -CP1257=581 -CP850=582 -CP852=583 -CP866=584 -CP932=585 -DEC8=586 -EUCJPMS=587 -EUCKR=588 -GB2312=589 -GBK=590 -GEOSTD8=591 -GREEK=592 -HEBREW=593 -HP8=594 -KEYBCS2=595 -KOI8R=596 -KOI8U=597 -LATIN1=598 -LATIN2=599 -LATIN5=600 -LATIN7=601 -MACCE=602 -MACROMAN=603 -SJIS=604 -SWE7=605 -TIS620=606 -UCS2=607 -UJIS=608 -UTF16=609 -UTF16LE=610 -UTF32=611 -UTF8=612 -UTF8MB3=613 -UTF8MB4=614 -ARCHIVE=615 -BLACKHOLE=616 -CSV=617 -FEDERATED=618 -INNODB=619 -MEMORY=620 -MRG_MYISAM=621 -MYISAM=622 -NDB=623 -NDBCLUSTER=624 -PERFOMANCE_SCHEMA=625 -REPEATABLE=626 -COMMITTED=627 -UNCOMMITTED=628 -SERIALIZABLE=629 -GEOMETRYCOLLECTION=630 -LINESTRING=631 -MULTILINESTRING=632 -MULTIPOINT=633 -MULTIPOLYGON=634 -POINT=635 -POLYGON=636 -ABS=637 -ACOS=638 -ADDDATE=639 -ADDTIME=640 -AES_DECRYPT=641 -AES_ENCRYPT=642 -AREA=643 -ASBINARY=644 -ASIN=645 -ASTEXT=646 -ASWKB=647 -ASWKT=648 -ASYMMETRIC_DECRYPT=649 -ASYMMETRIC_DERIVE=650 -ASYMMETRIC_ENCRYPT=651 -ASYMMETRIC_SIGN=652 -ASYMMETRIC_VERIFY=653 -ATAN=654 -ATAN2=655 -BENCHMARK=656 -BIN=657 -BIT_COUNT=658 -BIT_LENGTH=659 -BUFFER=660 -CEIL=661 -CEILING=662 -CENTROID=663 -CHARACTER_LENGTH=664 -CHARSET=665 -CHAR_LENGTH=666 -COERCIBILITY=667 -COLLATION=668 -COMPRESS=669 -CONCAT=670 -CONCAT_WS=671 -CONNECTION_ID=672 -CONV=673 -CONVERT_TZ=674 -COS=675 -COT=676 -CRC32=677 -CREATE_ASYMMETRIC_PRIV_KEY=678 -CREATE_ASYMMETRIC_PUB_KEY=679 -CREATE_DH_PARAMETERS=680 -CREATE_DIGEST=681 -CROSSES=682 -DATEDIFF=683 -DATE_FORMAT=684 -DAYNAME=685 -DAYOFMONTH=686 -DAYOFWEEK=687 -DAYOFYEAR=688 -DECODE=689 -DEGREES=690 -DES_DECRYPT=691 -DES_ENCRYPT=692 -DIMENSION=693 -DISJOINT=694 -ELT=695 -ENCODE=696 -ENCRYPT=697 -ENDPOINT=698 -ENVELOPE=699 -EQUALS=700 -EXP=701 -EXPORT_SET=702 -EXTERIORRING=703 -EXTRACTVALUE=704 -FIELD=705 -FIND_IN_SET=706 -FLOOR=707 -FORMAT=708 -FOUND_ROWS=709 -FROM_BASE64=710 -FROM_DAYS=711 -FROM_UNIXTIME=712 -GEOMCOLLFROMTEXT=713 -GEOMCOLLFROMWKB=714 -GEOMETRYCOLLECTIONFROMTEXT=715 -GEOMETRYCOLLECTIONFROMWKB=716 -GEOMETRYFROMTEXT=717 -GEOMETRYFROMWKB=718 -GEOMETRYN=719 -GEOMETRYTYPE=720 -GEOMFROMTEXT=721 -GEOMFROMWKB=722 -GET_FORMAT=723 -GET_LOCK=724 -GLENGTH=725 -GREATEST=726 -GTID_SUBSET=727 -GTID_SUBTRACT=728 -HEX=729 -IFNULL=730 -INET6_ATON=731 -INET6_NTOA=732 -INET_ATON=733 -INET_NTOA=734 -INSTR=735 -INTERIORRINGN=736 -INTERSECTS=737 -ISCLOSED=738 -ISEMPTY=739 -ISNULL=740 -ISSIMPLE=741 -IS_FREE_LOCK=742 -IS_IPV4=743 -IS_IPV4_COMPAT=744 -IS_IPV4_MAPPED=745 -IS_IPV6=746 -IS_USED_LOCK=747 -LAST_INSERT_ID=748 -LCASE=749 -LEAST=750 -LENGTH=751 -LINEFROMTEXT=752 -LINEFROMWKB=753 -LINESTRINGFROMTEXT=754 -LINESTRINGFROMWKB=755 -LN=756 -LOAD_FILE=757 -LOCATE=758 -LOG=759 -LOG10=760 -LOG2=761 -LOWER=762 -LPAD=763 -LTRIM=764 -MAKEDATE=765 -MAKETIME=766 -MAKE_SET=767 -MASTER_POS_WAIT=768 -MBRCONTAINS=769 -MBRDISJOINT=770 -MBREQUAL=771 -MBRINTERSECTS=772 -MBROVERLAPS=773 -MBRTOUCHES=774 -MBRWITHIN=775 -MD5=776 -MLINEFROMTEXT=777 -MLINEFROMWKB=778 -MONTHNAME=779 -MPOINTFROMTEXT=780 -MPOINTFROMWKB=781 -MPOLYFROMTEXT=782 -MPOLYFROMWKB=783 -MULTILINESTRINGFROMTEXT=784 -MULTILINESTRINGFROMWKB=785 -MULTIPOINTFROMTEXT=786 -MULTIPOINTFROMWKB=787 -MULTIPOLYGONFROMTEXT=788 -MULTIPOLYGONFROMWKB=789 -NAME_CONST=790 -NULLIF=791 -NUMGEOMETRIES=792 -NUMINTERIORRINGS=793 -NUMPOINTS=794 -OCT=795 -OCTET_LENGTH=796 -ORD=797 -OVERLAPS=798 -PERIOD_ADD=799 -PERIOD_DIFF=800 -PI=801 -POINTFROMTEXT=802 -POINTFROMWKB=803 -POINTN=804 -POLYFROMTEXT=805 -POLYFROMWKB=806 -POLYGONFROMTEXT=807 -POLYGONFROMWKB=808 -POW=809 -POWER=810 -QUOTE=811 -RADIANS=812 -RAND=813 -RANDOM_BYTES=814 -RELEASE_LOCK=815 -REVERSE=816 -ROUND=817 -ROW_COUNT=818 -RPAD=819 -RTRIM=820 -SEC_TO_TIME=821 -SESSION_USER=822 -SHA=823 -SHA1=824 -SHA2=825 -SIGN=826 -SIN=827 -SLEEP=828 -SOUNDEX=829 -SQL_THREAD_WAIT_AFTER_GTIDS=830 -SQRT=831 -SRID=832 -STARTPOINT=833 -STRCMP=834 -STR_TO_DATE=835 -ST_AREA=836 -ST_ASBINARY=837 -ST_ASTEXT=838 -ST_ASWKB=839 -ST_ASWKT=840 -ST_BUFFER=841 -ST_CENTROID=842 -ST_CONTAINS=843 -ST_CROSSES=844 -ST_DIFFERENCE=845 -ST_DIMENSION=846 -ST_DISJOINT=847 -ST_DISTANCE=848 -ST_ENDPOINT=849 -ST_ENVELOPE=850 -ST_EQUALS=851 -ST_EXTERIORRING=852 -ST_GEOMCOLLFROMTEXT=853 -ST_GEOMCOLLFROMTXT=854 -ST_GEOMCOLLFROMWKB=855 -ST_GEOMETRYCOLLECTIONFROMTEXT=856 -ST_GEOMETRYCOLLECTIONFROMWKB=857 -ST_GEOMETRYFROMTEXT=858 -ST_GEOMETRYFROMWKB=859 -ST_GEOMETRYN=860 -ST_GEOMETRYTYPE=861 -ST_GEOMFROMTEXT=862 -ST_GEOMFROMWKB=863 -ST_INTERIORRINGN=864 -ST_INTERSECTION=865 -ST_INTERSECTS=866 -ST_ISCLOSED=867 -ST_ISEMPTY=868 -ST_ISSIMPLE=869 -ST_LINEFROMTEXT=870 -ST_LINEFROMWKB=871 -ST_LINESTRINGFROMTEXT=872 -ST_LINESTRINGFROMWKB=873 -ST_NUMGEOMETRIES=874 -ST_NUMINTERIORRING=875 -ST_NUMINTERIORRINGS=876 -ST_NUMPOINTS=877 -ST_OVERLAPS=878 -ST_POINTFROMTEXT=879 -ST_POINTFROMWKB=880 -ST_POINTN=881 -ST_POLYFROMTEXT=882 -ST_POLYFROMWKB=883 -ST_POLYGONFROMTEXT=884 -ST_POLYGONFROMWKB=885 -ST_SRID=886 -ST_STARTPOINT=887 -ST_SYMDIFFERENCE=888 -ST_TOUCHES=889 -ST_UNION=890 -ST_WITHIN=891 -ST_X=892 -ST_Y=893 -SUBDATE=894 -SUBSTRING_INDEX=895 -SUBTIME=896 -SYSTEM_USER=897 -TAN=898 -TIMEDIFF=899 -TIMESTAMPADD=900 -TIMESTAMPDIFF=901 -TIME_FORMAT=902 -TIME_TO_SEC=903 -TOUCHES=904 -TO_BASE64=905 -TO_DAYS=906 -TO_SECONDS=907 -UCASE=908 -UNCOMPRESS=909 -UNCOMPRESSED_LENGTH=910 -UNHEX=911 -UNIX_TIMESTAMP=912 -UPDATEXML=913 -UPPER=914 -UUID=915 -UUID_SHORT=916 -VALIDATE_PASSWORD_STRENGTH=917 -VERSION=918 -WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS=919 -WEEKDAY=920 -WEEKOFYEAR=921 -WEIGHT_STRING=922 -WITHIN=923 -YEARWEEK=924 -Y_FUNCTION=925 -X_FUNCTION=926 -VAR_ASSIGN=927 -PLUS_ASSIGN=928 -MINUS_ASSIGN=929 -MULT_ASSIGN=930 -DIV_ASSIGN=931 -MOD_ASSIGN=932 -AND_ASSIGN=933 -XOR_ASSIGN=934 -OR_ASSIGN=935 -STAR=936 -DIVIDE=937 -MODULE=938 -PLUS=939 -MINUSMINUS=940 -MINUS=941 -DIV=942 -MOD=943 -EQUAL_SYMBOL=944 -GREATER_SYMBOL=945 -LESS_SYMBOL=946 -EXCLAMATION_SYMBOL=947 -BIT_NOT_OP=948 -BIT_OR_OP=949 -BIT_AND_OP=950 -BIT_XOR_OP=951 -DOT=952 -LR_BRACKET=953 -RR_BRACKET=954 -COMMA=955 -SEMI=956 -AT_SIGN=957 -ZERO_DECIMAL=958 -ONE_DECIMAL=959 -TWO_DECIMAL=960 -SINGLE_QUOTE_SYMB=961 -DOUBLE_QUOTE_SYMB=962 -REVERSE_QUOTE_SYMB=963 -COLON_SYMB=964 -CHARSET_REVERSE_QOUTE_STRING=965 -FILESIZE_LITERAL=966 -START_NATIONAL_STRING_LITERAL=967 -STRING_LITERAL=968 -DECIMAL_LITERAL=969 -HEXADECIMAL_LITERAL=970 -REAL_LITERAL=971 -NULL_SPEC_LITERAL=972 -BIT_STRING=973 -STRING_CHARSET_NAME=974 -DOT_ID=975 -ID=976 -REVERSE_QUOTE_ID=977 -STRING_USER_NAME=978 -LOCAL_ID=979 -GLOBAL_ID=980 -ERROR_RECONGNIGION=981 -'ERROR_WITHIN'=5 -'AT_CONFIDENCE'=6 -'ADD'=7 -'ALL'=8 -'ALTER'=9 -'ALWAYS'=10 -'ANALYZE'=11 -'AND'=12 -'AS'=13 -'ASC'=14 -'BEFORE'=15 -'BETWEEN'=16 -'BOTH'=17 -'BY'=18 -'CALL'=19 -'CASCADE'=20 -'CASE'=21 -'CAST'=22 -'CHANGE'=23 -'CHARACTER'=24 -'CHECK'=25 -'COLLATE'=26 -'COLUMN'=27 -'CONDITION'=28 -'CONSTRAINT'=29 -'CONTINUE'=30 -'CONVERT'=31 -'CREATE'=32 -'CROSS'=33 -'CURRENT_USER'=34 -'CURSOR'=35 -'DATABASE'=36 -'DATABASES'=37 -'DECLARE'=38 -'DEFAULT'=39 -'DELAYED'=40 -'DELETE'=41 -'DESC'=42 -'DESCRIBE'=43 -'DETERMINISTIC'=44 -'DISTINCT'=45 -'DISTINCTROW'=46 -'DROP'=47 -'EACH'=48 -'ELSE'=49 -'ELSEIF'=50 -'ENCLOSED'=51 -'ESCAPED'=52 -'EXISTS'=53 -'EXIT'=54 -'EXPLAIN'=55 -'FALSE'=56 -'FETCH'=57 -'FOR'=58 -'FORCE'=59 -'FOREIGN'=60 -'FROM'=61 -'FULLTEXT'=62 -'GENERATED'=63 -'GRANT'=64 -'GROUP'=65 -'HAVING'=66 -'HIGH_PRIORITY'=67 -'IF'=68 -'IGNORE'=69 -'IN'=70 -'INDEX'=71 -'INFILE'=72 -'INNER'=73 -'INOUT'=74 -'INSERT'=75 -'INTERVAL'=76 -'INTO'=77 -'IS'=78 -'ITERATE'=79 -'JOIN'=80 -'KEY'=81 -'KEYS'=82 -'KILL'=83 -'LEADING'=84 -'LEAVE'=85 -'LEFT'=86 -'LIKE'=87 -'LIMIT'=88 -'LINEAR'=89 -'LINES'=90 -'LOAD'=91 -'LOCK'=92 -'LOOP'=93 -'LOW_PRIORITY'=94 -'MASTER_BIND'=95 -'MASTER_SSL_VERIFY_SERVER_CERT'=96 -'MATCH'=97 -'MAXVALUE'=98 -'MODIFIES'=99 -'NATURAL'=100 -'NOT'=101 -'NO_WRITE_TO_BINLOG'=102 -'NULL'=103 -'ON'=104 -'OPTIMIZE'=105 -'OPTION'=106 -'OPTIONALLY'=107 -'OR'=108 -'ORDER'=109 -'OUT'=110 -'OUTER'=111 -'OUTFILE'=112 -'PARTITION'=113 -'PRIMARY'=114 -'PROCEDURE'=115 -'PURGE'=116 -'RANGE'=117 -'READ'=118 -'READS'=119 -'REFERENCES'=120 -'REGEXP'=121 -'RELEASE'=122 -'RENAME'=123 -'REPEAT'=124 -'REPLACE'=125 -'REQUIRE'=126 -'RESTRICT'=127 -'RETURN'=128 -'REVOKE'=129 -'RIGHT'=130 -'RLIKE'=131 -'SCHEMA'=132 -'SCHEMAS'=133 -'SELECT'=134 -'SET'=135 -'SEPARATOR'=136 -'SHOW'=137 -'SPATIAL'=138 -'SQL'=139 -'SQLEXCEPTION'=140 -'SQLSTATE'=141 -'SQLWARNING'=142 -'SQL_BIG_RESULT'=143 -'SQL_CALC_FOUND_ROWS'=144 -'SQL_SMALL_RESULT'=145 -'SSL'=146 -'STARTING'=147 -'STRAIGHT_JOIN'=148 -'TABLE'=149 -'TERMINATED'=150 -'THEN'=151 -'TO'=152 -'TRAILING'=153 -'TRIGGER'=154 -'TRUE'=155 -'UNDO'=156 -'UNION'=157 -'UNIQUE'=158 -'UNLOCK'=159 -'UNSIGNED'=160 -'UPDATE'=161 -'USAGE'=162 -'USE'=163 -'USING'=164 -'VALUES'=165 -'WHEN'=166 -'WHERE'=167 -'WHILE'=168 -'WITH'=169 -'WRITE'=170 -'XOR'=171 -'ZEROFILL'=172 -'TINYINT'=173 -'SMALLINT'=174 -'MEDIUMINT'=175 -'INT'=176 -'INTEGER'=177 -'BIGINT'=178 -'REAL'=179 -'DOUBLE'=180 -'FLOAT'=181 -'DECIMAL'=182 -'NUMERIC'=183 -'DATE'=184 -'TIME'=185 -'TIMESTAMP'=186 -'DATETIME'=187 -'YEAR'=188 -'CHAR'=189 -'VARCHAR'=190 -'BINARY'=191 -'VARBINARY'=192 -'TINYBLOB'=193 -'BLOB'=194 -'MEDIUMBLOB'=195 -'LONGBLOB'=196 -'TINYTEXT'=197 -'TEXT'=198 -'MEDIUMTEXT'=199 -'LONGTEXT'=200 -'ENUM'=201 -'SERIAL'=202 -'YEAR_MONTH'=203 -'DAY_HOUR'=204 -'DAY_MINUTE'=205 -'DAY_SECOND'=206 -'HOUR_MINUTE'=207 -'HOUR_SECOND'=208 -'MINUTE_SECOND'=209 -'SECOND_MICROSECOND'=210 -'MINUTE_MICROSECOND'=211 -'HOUR_MICROSECOND'=212 -'DAY_MICROSECOND'=213 -'AVG'=214 -'BIT_AND'=215 -'BIT_OR'=216 -'BIT_XOR'=217 -'COUNT'=218 -'GROUP_CONCAT'=219 -'MAX'=220 -'MIN'=221 -'STD'=222 -'STDDEV'=223 -'STDDEV_POP'=224 -'STDDEV_SAMP'=225 -'SUM'=226 -'VAR_POP'=227 -'VAR_SAMP'=228 -'VARIANCE'=229 -'FCOUNT'=230 -'CURRENT_DATE'=231 -'CURRENT_TIME'=232 -'CURRENT_TIMESTAMP'=233 -'LOCALTIME'=234 -'CURDATE'=235 -'CURTIME'=236 -'DATE_ADD'=237 -'DATE_SUB'=238 -'EXTRACT'=239 -'LOCALTIMESTAMP'=240 -'NOW'=241 -'POSITION'=242 -'SUBSTR'=243 -'SUBSTRING'=244 -'SYSDATE'=245 -'TRIM'=246 -'UTC_DATE'=247 -'UTC_TIME'=248 -'UTC_TIMESTAMP'=249 -'ACCOUNT'=250 -'ACTION'=251 -'AFTER'=252 -'AGGREGATE'=253 -'ALGORITHM'=254 -'ANY'=255 -'AT'=256 -'AUTHORS'=257 -'AUTOCOMMIT'=258 -'AUTOEXTEND_SIZE'=259 -'AUTO_INCREMENT'=260 -'AVG_ROW_LENGTH'=261 -'BEGIN'=262 -'BINLOG'=263 -'BIT'=264 -'BLOCK'=265 -'BOOL'=266 -'BOOLEAN'=267 -'BTREE'=268 -'CACHE'=269 -'CASCADED'=270 -'CHAIN'=271 -'CHANGED'=272 -'CHANNEL'=273 -'CHECKSUM'=274 -'CIPHER'=275 -'CLIENT'=276 -'CLOSE'=277 -'COALESCE'=278 -'CODE'=279 -'COLUMNS'=280 -'COLUMN_FORMAT'=281 -'COMMENT'=282 -'COMMIT'=283 -'COMPACT'=284 -'COMPLETION'=285 -'COMPRESSED'=286 -'COMPRESSION'=287 -'CONCURRENT'=288 -'CONNECTION'=289 -'CONSISTENT'=290 -'CONTAINS'=291 -'CONTEXT'=292 -'CONTRIBUTORS'=293 -'COPY'=294 -'CPU'=295 -'DATA'=296 -'DATAFILE'=297 -'DEALLOCATE'=298 -'DEFAULT_AUTH'=299 -'DEFINER'=300 -'DELAY_KEY_WRITE'=301 -'DES_KEY_FILE'=302 -'DIRECTORY'=303 -'DISABLE'=304 -'DISCARD'=305 -'DISK'=306 -'DO'=307 -'DUMPFILE'=308 -'DUPLICATE'=309 -'DYNAMIC'=310 -'ENABLE'=311 -'ENCRYPTION'=312 -'END'=313 -'ENDS'=314 -'ENGINE'=315 -'ENGINES'=316 -'ERROR'=317 -'ERRORS'=318 -'ESCAPE'=319 -'EVEN'=320 -'EVENT'=321 -'EVENTS'=322 -'EVERY'=323 -'EXCHANGE'=324 -'EXCLUSIVE'=325 -'EXPIRE'=326 -'EXPORT'=327 -'EXTENDED'=328 -'EXTENT_SIZE'=329 -'FAST'=330 -'FAULTS'=331 -'FIELDS'=332 -'FILE_BLOCK_SIZE'=333 -'FILTER'=334 -'FIRST'=335 -'FIXED'=336 -'FLUSH'=337 -'FOLLOWS'=338 -'FOUND'=339 -'FULL'=340 -'FUNCTION'=341 -'GENERAL'=342 -'GLOBAL'=343 -'GRANTS'=344 -'GROUP_REPLICATION'=345 -'HANDLER'=346 -'HASH'=347 -'HELP'=348 -'HOST'=349 -'HOSTS'=350 -'IDENTIFIED'=351 -'IGNORE_SERVER_IDS'=352 -'IMPORT'=353 -'INDEXES'=354 -'INITIAL_SIZE'=355 -'INPLACE'=356 -'INSERT_METHOD'=357 -'INSTALL'=358 -'INSTANCE'=359 -'INVOKER'=360 -'IO'=361 -'IO_THREAD'=362 -'IPC'=363 -'ISOLATION'=364 -'ISSUER'=365 -'JSON'=366 -'KEY_BLOCK_SIZE'=367 -'LANGUAGE'=368 -'LAST'=369 -'LEAVES'=370 -'LESS'=371 -'LEVEL'=372 -'LIST'=373 -'LOCAL'=374 -'LOGFILE'=375 -'LOGS'=376 -'MASTER'=377 -'MASTER_AUTO_POSITION'=378 -'MASTER_CONNECT_RETRY'=379 -'MASTER_DELAY'=380 -'MASTER_HEARTBEAT_PERIOD'=381 -'MASTER_HOST'=382 -'MASTER_LOG_FILE'=383 -'MASTER_LOG_POS'=384 -'MASTER_PASSWORD'=385 -'MASTER_PORT'=386 -'MASTER_RETRY_COUNT'=387 -'MASTER_SSL'=388 -'MASTER_SSL_CA'=389 -'MASTER_SSL_CAPATH'=390 -'MASTER_SSL_CERT'=391 -'MASTER_SSL_CIPHER'=392 -'MASTER_SSL_CRL'=393 -'MASTER_SSL_CRLPATH'=394 -'MASTER_SSL_KEY'=395 -'MASTER_TLS_VERSION'=396 -'MASTER_USER'=397 -'MAX_CONNECTIONS_PER_HOUR'=398 -'MAX_QUERIES_PER_HOUR'=399 -'MAX_ROWS'=400 -'MAX_SIZE'=401 -'MAX_UPDATES_PER_HOUR'=402 -'MAX_USER_CONNECTIONS'=403 -'MEDIUM'=404 -'MERGE'=405 -'MID'=406 -'MIGRATE'=407 -'MIN_ROWS'=408 -'MODE'=409 -'MODIFY'=410 -'MUTEX'=411 -'MYSQL'=412 -'NAME'=413 -'NAMES'=414 -'NCHAR'=415 -'NEVER'=416 -'NEXT'=417 -'NO'=418 -'NODEGROUP'=419 -'NONE'=420 -'OFFLINE'=421 -'OFFSET'=422 -'OJ'=423 -'OLD_PASSWORD'=424 -'ONE'=425 -'ONLINE'=426 -'ONLY'=427 -'OPEN'=428 -'OPTIMIZER_COSTS'=429 -'OPTIONS'=430 -'OWNER'=431 -'PACK_KEYS'=432 -'PAGE'=433 -'PARSER'=434 -'PARTIAL'=435 -'PARTITIONING'=436 -'PARTITIONS'=437 -'PASSWORD'=438 -'PHASE'=439 -'PLUGIN'=440 -'PLUGIN_DIR'=441 -'PLUGINS'=442 -'PORT'=443 -'PRECEDES'=444 -'PREPARE'=445 -'PRESERVE'=446 -'PREV'=447 -'PROCESSLIST'=448 -'PROFILE'=449 -'PROFILES'=450 -'PROXY'=451 -'QUERY'=452 -'QUICK'=453 -'REBUILD'=454 -'RECOVER'=455 -'REDO_BUFFER_SIZE'=456 -'REDUNDANT'=457 -'RELAY'=458 -'RELAY_LOG_FILE'=459 -'RELAY_LOG_POS'=460 -'RELAYLOG'=461 -'REMOVE'=462 -'REORGANIZE'=463 -'REPAIR'=464 -'REPLICATE_DO_DB'=465 -'REPLICATE_DO_TABLE'=466 -'REPLICATE_IGNORE_DB'=467 -'REPLICATE_IGNORE_TABLE'=468 -'REPLICATE_REWRITE_DB'=469 -'REPLICATE_WILD_DO_TABLE'=470 -'REPLICATE_WILD_IGNORE_TABLE'=471 -'REPLICATION'=472 -'RESET'=473 -'RESUME'=474 -'RETURNS'=475 -'ROLLBACK'=476 -'ROLLUP'=477 -'ROTATE'=478 -'ROW'=479 -'ROWS'=480 -'ROW_FORMAT'=481 -'SAVEPOINT'=482 -'SCHEDULE'=483 -'SECURITY'=484 -'SERVER'=485 -'SESSION'=486 -'SHARE'=487 -'SHARED'=488 -'SIGNED'=489 -'SIMPLE'=490 -'SLAVE'=491 -'SLOW'=492 -'SNAPSHOT'=493 -'SOCKET'=494 -'SOME'=495 -'SONAME'=496 -'SOUNDS'=497 -'SOURCE'=498 -'SQL_AFTER_GTIDS'=499 -'SQL_AFTER_MTS_GAPS'=500 -'SQL_BEFORE_GTIDS'=501 -'SQL_BUFFER_RESULT'=502 -'SQL_CACHE'=503 -'SQL_NO_CACHE'=504 -'SQL_THREAD'=505 -'START'=506 -'STARTS'=507 -'STATS_AUTO_RECALC'=508 -'STATS_PERSISTENT'=509 -'STATS_SAMPLE_PAGES'=510 -'STATUS'=511 -'STOP'=512 -'STORAGE'=513 -'STORED'=514 -'STRING'=515 -'SUBJECT'=516 -'SUBPARTITION'=517 -'SUBPARTITIONS'=518 -'SUSPEND'=519 -'SWAPS'=520 -'SWITCHES'=521 -'TABLESPACE'=522 -'TEMPORARY'=523 -'TEMPTABLE'=524 -'THAN'=525 -'TRADITIONAL'=526 -'TRANSACTION'=527 -'TRIGGERS'=528 -'TRUNCATE'=529 -'UNDEFINED'=530 -'UNDOFILE'=531 -'UNDO_BUFFER_SIZE'=532 -'UNINSTALL'=533 -'UNKNOWN'=534 -'UNTIL'=535 -'UPGRADE'=536 -'USER'=537 -'USE_FRM'=538 -'USER_RESOURCES'=539 -'VALIDATION'=540 -'VALUE'=541 -'VARIABLES'=542 -'VIEW'=543 -'VIRTUAL'=544 -'WAIT'=545 -'WARNINGS'=546 -'WITHOUT'=547 -'WORK'=548 -'WRAPPER'=549 -'X509'=550 -'XA'=551 -'XML'=552 -'EUR'=553 -'USA'=554 -'JIS'=555 -'ISO'=556 -'INTERNAL'=557 -'QUARTER'=558 -'MONTH'=559 -'DAY'=560 -'HOUR'=561 -'MINUTE'=562 -'WEEK'=563 -'SECOND'=564 -'MICROSECOND'=565 -'TABLES'=566 -'ROUTINE'=567 -'EXECUTE'=568 -'FILE'=569 -'PROCESS'=570 -'RELOAD'=571 -'SHUTDOWN'=572 -'SUPER'=573 -'PRIVILEGES'=574 -'ARMSCII8'=575 -'ASCII'=576 -'BIG5'=577 -'CP1250'=578 -'CP1251'=579 -'CP1256'=580 -'CP1257'=581 -'CP850'=582 -'CP852'=583 -'CP866'=584 -'CP932'=585 -'DEC8'=586 -'EUCJPMS'=587 -'EUCKR'=588 -'GB2312'=589 -'GBK'=590 -'GEOSTD8'=591 -'GREEK'=592 -'HEBREW'=593 -'HP8'=594 -'KEYBCS2'=595 -'KOI8R'=596 -'KOI8U'=597 -'LATIN1'=598 -'LATIN2'=599 -'LATIN5'=600 -'LATIN7'=601 -'MACCE'=602 -'MACROMAN'=603 -'SJIS'=604 -'SWE7'=605 -'TIS620'=606 -'UCS2'=607 -'UJIS'=608 -'UTF16'=609 -'UTF16LE'=610 -'UTF32'=611 -'UTF8'=612 -'UTF8MB3'=613 -'UTF8MB4'=614 -'ARCHIVE'=615 -'BLACKHOLE'=616 -'CSV'=617 -'FEDERATED'=618 -'INNODB'=619 -'MEMORY'=620 -'MRG_MYISAM'=621 -'MYISAM'=622 -'NDB'=623 -'NDBCLUSTER'=624 -'PERFOMANCE_SCHEMA'=625 -'REPEATABLE'=626 -'COMMITTED'=627 -'UNCOMMITTED'=628 -'SERIALIZABLE'=629 -'GEOMETRYCOLLECTION'=630 -'LINESTRING'=631 -'MULTILINESTRING'=632 -'MULTIPOINT'=633 -'MULTIPOLYGON'=634 -'POINT'=635 -'POLYGON'=636 -'ABS'=637 -'ACOS'=638 -'ADDDATE'=639 -'ADDTIME'=640 -'AES_DECRYPT'=641 -'AES_ENCRYPT'=642 -'AREA'=643 -'ASBINARY'=644 -'ASIN'=645 -'ASTEXT'=646 -'ASWKB'=647 -'ASWKT'=648 -'ASYMMETRIC_DECRYPT'=649 -'ASYMMETRIC_DERIVE'=650 -'ASYMMETRIC_ENCRYPT'=651 -'ASYMMETRIC_SIGN'=652 -'ASYMMETRIC_VERIFY'=653 -'ATAN'=654 -'ATAN2'=655 -'BENCHMARK'=656 -'BIN'=657 -'BIT_COUNT'=658 -'BIT_LENGTH'=659 -'BUFFER'=660 -'CEIL'=661 -'CEILING'=662 -'CENTROID'=663 -'CHARACTER_LENGTH'=664 -'CHARSET'=665 -'CHAR_LENGTH'=666 -'COERCIBILITY'=667 -'COLLATION'=668 -'COMPRESS'=669 -'CONCAT'=670 -'CONCAT_WS'=671 -'CONNECTION_ID'=672 -'CONV'=673 -'CONVERT_TZ'=674 -'COS'=675 -'COT'=676 -'CRC32'=677 -'CREATE_ASYMMETRIC_PRIV_KEY'=678 -'CREATE_ASYMMETRIC_PUB_KEY'=679 -'CREATE_DH_PARAMETERS'=680 -'CREATE_DIGEST'=681 -'CROSSES'=682 -'DATEDIFF'=683 -'DATE_FORMAT'=684 -'DAYNAME'=685 -'DAYOFMONTH'=686 -'DAYOFWEEK'=687 -'DAYOFYEAR'=688 -'DECODE'=689 -'DEGREES'=690 -'DES_DECRYPT'=691 -'DES_ENCRYPT'=692 -'DIMENSION'=693 -'DISJOINT'=694 -'ELT'=695 -'ENCODE'=696 -'ENCRYPT'=697 -'ENDPOINT'=698 -'ENVELOPE'=699 -'EQUALS'=700 -'EXP'=701 -'EXPORT_SET'=702 -'EXTERIORRING'=703 -'EXTRACTVALUE'=704 -'FIELD'=705 -'FIND_IN_SET'=706 -'FLOOR'=707 -'FORMAT'=708 -'FOUND_ROWS'=709 -'FROM_BASE64'=710 -'FROM_DAYS'=711 -'FROM_UNIXTIME'=712 -'GEOMCOLLFROMTEXT'=713 -'GEOMCOLLFROMWKB'=714 -'GEOMETRYCOLLECTIONFROMTEXT'=715 -'GEOMETRYCOLLECTIONFROMWKB'=716 -'GEOMETRYFROMTEXT'=717 -'GEOMETRYFROMWKB'=718 -'GEOMETRYN'=719 -'GEOMETRYTYPE'=720 -'GEOMFROMTEXT'=721 -'GEOMFROMWKB'=722 -'GET_FORMAT'=723 -'GET_LOCK'=724 -'GLENGTH'=725 -'GREATEST'=726 -'GTID_SUBSET'=727 -'GTID_SUBTRACT'=728 -'HEX'=729 -'IFNULL'=730 -'INET6_ATON'=731 -'INET6_NTOA'=732 -'INET_ATON'=733 -'INET_NTOA'=734 -'INSTR'=735 -'INTERIORRINGN'=736 -'INTERSECTS'=737 -'ISCLOSED'=738 -'ISEMPTY'=739 -'ISNULL'=740 -'ISSIMPLE'=741 -'IS_FREE_LOCK'=742 -'IS_IPV4'=743 -'IS_IPV4_COMPAT'=744 -'IS_IPV4_MAPPED'=745 -'IS_IPV6'=746 -'IS_USED_LOCK'=747 -'LAST_INSERT_ID'=748 -'LCASE'=749 -'LEAST'=750 -'LENGTH'=751 -'LINEFROMTEXT'=752 -'LINEFROMWKB'=753 -'LINESTRINGFROMTEXT'=754 -'LINESTRINGFROMWKB'=755 -'LN'=756 -'LOAD_FILE'=757 -'LOCATE'=758 -'LOG'=759 -'LOG10'=760 -'LOG2'=761 -'LOWER'=762 -'LPAD'=763 -'LTRIM'=764 -'MAKEDATE'=765 -'MAKETIME'=766 -'MAKE_SET'=767 -'MASTER_POS_WAIT'=768 -'MBRCONTAINS'=769 -'MBRDISJOINT'=770 -'MBREQUAL'=771 -'MBRINTERSECTS'=772 -'MBROVERLAPS'=773 -'MBRTOUCHES'=774 -'MBRWITHIN'=775 -'MD5'=776 -'MLINEFROMTEXT'=777 -'MLINEFROMWKB'=778 -'MONTHNAME'=779 -'MPOINTFROMTEXT'=780 -'MPOINTFROMWKB'=781 -'MPOLYFROMTEXT'=782 -'MPOLYFROMWKB'=783 -'MULTILINESTRINGFROMTEXT'=784 -'MULTILINESTRINGFROMWKB'=785 -'MULTIPOINTFROMTEXT'=786 -'MULTIPOINTFROMWKB'=787 -'MULTIPOLYGONFROMTEXT'=788 -'MULTIPOLYGONFROMWKB'=789 -'NAME_CONST'=790 -'NULLIF'=791 -'NUMGEOMETRIES'=792 -'NUMINTERIORRINGS'=793 -'NUMPOINTS'=794 -'OCT'=795 -'OCTET_LENGTH'=796 -'ORD'=797 -'OVERLAPS'=798 -'PERIOD_ADD'=799 -'PERIOD_DIFF'=800 -'PI'=801 -'POINTFROMTEXT'=802 -'POINTFROMWKB'=803 -'POINTN'=804 -'POLYFROMTEXT'=805 -'POLYFROMWKB'=806 -'POLYGONFROMTEXT'=807 -'POLYGONFROMWKB'=808 -'POW'=809 -'POWER'=810 -'QUOTE'=811 -'RADIANS'=812 -'RAND'=813 -'RANDOM_BYTES'=814 -'RELEASE_LOCK'=815 -'REVERSE'=816 -'ROUND'=817 -'ROW_COUNT'=818 -'RPAD'=819 -'RTRIM'=820 -'SEC_TO_TIME'=821 -'SESSION_USER'=822 -'SHA'=823 -'SHA1'=824 -'SHA2'=825 -'SIGN'=826 -'SIN'=827 -'SLEEP'=828 -'SOUNDEX'=829 -'SQL_THREAD_WAIT_AFTER_GTIDS'=830 -'SQRT'=831 -'SRID'=832 -'STARTPOINT'=833 -'STRCMP'=834 -'STR_TO_DATE'=835 -'ST_AREA'=836 -'ST_ASBINARY'=837 -'ST_ASTEXT'=838 -'ST_ASWKB'=839 -'ST_ASWKT'=840 -'ST_BUFFER'=841 -'ST_CENTROID'=842 -'ST_CONTAINS'=843 -'ST_CROSSES'=844 -'ST_DIFFERENCE'=845 -'ST_DIMENSION'=846 -'ST_DISJOINT'=847 -'ST_DISTANCE'=848 -'ST_ENDPOINT'=849 -'ST_ENVELOPE'=850 -'ST_EQUALS'=851 -'ST_EXTERIORRING'=852 -'ST_GEOMCOLLFROMTEXT'=853 -'ST_GEOMCOLLFROMTXT'=854 -'ST_GEOMCOLLFROMWKB'=855 -'ST_GEOMETRYCOLLECTIONFROMTEXT'=856 -'ST_GEOMETRYCOLLECTIONFROMWKB'=857 -'ST_GEOMETRYFROMTEXT'=858 -'ST_GEOMETRYFROMWKB'=859 -'ST_GEOMETRYN'=860 -'ST_GEOMETRYTYPE'=861 -'ST_GEOMFROMTEXT'=862 -'ST_GEOMFROMWKB'=863 -'ST_INTERIORRINGN'=864 -'ST_INTERSECTION'=865 -'ST_INTERSECTS'=866 -'ST_ISCLOSED'=867 -'ST_ISEMPTY'=868 -'ST_ISSIMPLE'=869 -'ST_LINEFROMTEXT'=870 -'ST_LINEFROMWKB'=871 -'ST_LINESTRINGFROMTEXT'=872 -'ST_LINESTRINGFROMWKB'=873 -'ST_NUMGEOMETRIES'=874 -'ST_NUMINTERIORRING'=875 -'ST_NUMINTERIORRINGS'=876 -'ST_NUMPOINTS'=877 -'ST_OVERLAPS'=878 -'ST_POINTFROMTEXT'=879 -'ST_POINTFROMWKB'=880 -'ST_POINTN'=881 -'ST_POLYFROMTEXT'=882 -'ST_POLYFROMWKB'=883 -'ST_POLYGONFROMTEXT'=884 -'ST_POLYGONFROMWKB'=885 -'ST_SRID'=886 -'ST_STARTPOINT'=887 -'ST_SYMDIFFERENCE'=888 -'ST_TOUCHES'=889 -'ST_UNION'=890 -'ST_WITHIN'=891 -'ST_X'=892 -'ST_Y'=893 -'SUBDATE'=894 -'SUBSTRING_INDEX'=895 -'SUBTIME'=896 -'SYSTEM_USER'=897 -'TAN'=898 -'TIMEDIFF'=899 -'TIMESTAMPADD'=900 -'TIMESTAMPDIFF'=901 -'TIME_FORMAT'=902 -'TIME_TO_SEC'=903 -'TOUCHES'=904 -'TO_BASE64'=905 -'TO_DAYS'=906 -'TO_SECONDS'=907 -'UCASE'=908 -'UNCOMPRESS'=909 -'UNCOMPRESSED_LENGTH'=910 -'UNHEX'=911 -'UNIX_TIMESTAMP'=912 -'UPDATEXML'=913 -'UPPER'=914 -'UUID'=915 -'UUID_SHORT'=916 -'VALIDATE_PASSWORD_STRENGTH'=917 -'VERSION'=918 -'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS'=919 -'WEEKDAY'=920 -'WEEKOFYEAR'=921 -'WEIGHT_STRING'=922 -'WITHIN'=923 -'YEARWEEK'=924 -'Y'=925 -'X'=926 -':='=927 -'+='=928 -'-='=929 -'*='=930 -'/='=931 -'%='=932 -'&='=933 -'^='=934 -'|='=935 -'*'=936 -'/'=937 -'%'=938 -'+'=939 -'--'=940 -'-'=941 -'DIV'=942 -'MOD'=943 -'='=944 -'>'=945 -'<'=946 -'!'=947 -'~'=948 -'|'=949 -'&'=950 -'^'=951 -'.'=952 -'('=953 -')'=954 -','=955 -';'=956 -'@'=957 -'0'=958 -'1'=959 -'2'=960 -'\''=961 -'"'=962 -'`'=963 -':'=964 diff --git a/Grammar/frameQL/grammar/test/frameQLParserListener.py b/Grammar/frameQL/grammar/test/frameQLParserListener.py deleted file mode 100644 index c926c6ac6d..0000000000 --- a/Grammar/frameQL/grammar/test/frameQLParserListener.py +++ /dev/null @@ -1,4807 +0,0 @@ -# Generated from frameQLParser.g4 by ANTLR 4.7.2 -from antlr4 import * -if __name__ is not None and "." in __name__: - from .frameQLParser import frameQLParser -else: - from frameQLParser import frameQLParser - -# This class defines a complete listener for a parse tree produced by frameQLParser. -class frameQLParserListener(ParseTreeListener): - - def __init__(self): - self.temp_split_list = [] # temporary list storing a splitted predicate - self.predicate_list = [] # temporary list storing the predicates - self.output_predicate = [] - self.output_operator = [] - #self.bothInParentheses = False - - # Enter a parse tree produced by frameQLParser#root. - def enterRoot(self, ctx:frameQLParser.RootContext): - pass - - # Exit a parse tree produced by frameQLParser#root. - def exitRoot(self, ctx:frameQLParser.RootContext): - pass - - - # Enter a parse tree produced by frameQLParser#sqlStatements. - def enterSqlStatements(self, ctx:frameQLParser.SqlStatementsContext): - pass - - # Exit a parse tree produced by frameQLParser#sqlStatements. - def exitSqlStatements(self, ctx:frameQLParser.SqlStatementsContext): - pass - - - # Enter a parse tree produced by frameQLParser#sqlStatement. - def enterSqlStatement(self, ctx:frameQLParser.SqlStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#sqlStatement. - def exitSqlStatement(self, ctx:frameQLParser.SqlStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#emptyStatement. - def enterEmptyStatement(self, ctx:frameQLParser.EmptyStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#emptyStatement. - def exitEmptyStatement(self, ctx:frameQLParser.EmptyStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#ddlStatement. - def enterDdlStatement(self, ctx:frameQLParser.DdlStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#ddlStatement. - def exitDdlStatement(self, ctx:frameQLParser.DdlStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#dmlStatement. - def enterDmlStatement(self, ctx:frameQLParser.DmlStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#dmlStatement. - def exitDmlStatement(self, ctx:frameQLParser.DmlStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#transactionStatement. - def enterTransactionStatement(self, ctx:frameQLParser.TransactionStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#transactionStatement. - def exitTransactionStatement(self, ctx:frameQLParser.TransactionStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#replicationStatement. - def enterReplicationStatement(self, ctx:frameQLParser.ReplicationStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#replicationStatement. - def exitReplicationStatement(self, ctx:frameQLParser.ReplicationStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#preparedStatement. - def enterPreparedStatement(self, ctx:frameQLParser.PreparedStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#preparedStatement. - def exitPreparedStatement(self, ctx:frameQLParser.PreparedStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#compoundStatement. - def enterCompoundStatement(self, ctx:frameQLParser.CompoundStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#compoundStatement. - def exitCompoundStatement(self, ctx:frameQLParser.CompoundStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#administrationStatement. - def enterAdministrationStatement(self, ctx:frameQLParser.AdministrationStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#administrationStatement. - def exitAdministrationStatement(self, ctx:frameQLParser.AdministrationStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#utilityStatement. - def enterUtilityStatement(self, ctx:frameQLParser.UtilityStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#utilityStatement. - def exitUtilityStatement(self, ctx:frameQLParser.UtilityStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#createDatabase. - def enterCreateDatabase(self, ctx:frameQLParser.CreateDatabaseContext): - pass - - # Exit a parse tree produced by frameQLParser#createDatabase. - def exitCreateDatabase(self, ctx:frameQLParser.CreateDatabaseContext): - pass - - - # Enter a parse tree produced by frameQLParser#createEvent. - def enterCreateEvent(self, ctx:frameQLParser.CreateEventContext): - pass - - # Exit a parse tree produced by frameQLParser#createEvent. - def exitCreateEvent(self, ctx:frameQLParser.CreateEventContext): - pass - - - # Enter a parse tree produced by frameQLParser#createIndex. - def enterCreateIndex(self, ctx:frameQLParser.CreateIndexContext): - pass - - # Exit a parse tree produced by frameQLParser#createIndex. - def exitCreateIndex(self, ctx:frameQLParser.CreateIndexContext): - pass - - - # Enter a parse tree produced by frameQLParser#createLogfileGroup. - def enterCreateLogfileGroup(self, ctx:frameQLParser.CreateLogfileGroupContext): - pass - - # Exit a parse tree produced by frameQLParser#createLogfileGroup. - def exitCreateLogfileGroup(self, ctx:frameQLParser.CreateLogfileGroupContext): - pass - - - # Enter a parse tree produced by frameQLParser#createProcedure. - def enterCreateProcedure(self, ctx:frameQLParser.CreateProcedureContext): - pass - - # Exit a parse tree produced by frameQLParser#createProcedure. - def exitCreateProcedure(self, ctx:frameQLParser.CreateProcedureContext): - pass - - - # Enter a parse tree produced by frameQLParser#createFunction. - def enterCreateFunction(self, ctx:frameQLParser.CreateFunctionContext): - pass - - # Exit a parse tree produced by frameQLParser#createFunction. - def exitCreateFunction(self, ctx:frameQLParser.CreateFunctionContext): - pass - - - # Enter a parse tree produced by frameQLParser#createServer. - def enterCreateServer(self, ctx:frameQLParser.CreateServerContext): - pass - - # Exit a parse tree produced by frameQLParser#createServer. - def exitCreateServer(self, ctx:frameQLParser.CreateServerContext): - pass - - - # Enter a parse tree produced by frameQLParser#copyCreateTable. - def enterCopyCreateTable(self, ctx:frameQLParser.CopyCreateTableContext): - pass - - # Exit a parse tree produced by frameQLParser#copyCreateTable. - def exitCopyCreateTable(self, ctx:frameQLParser.CopyCreateTableContext): - pass - - - # Enter a parse tree produced by frameQLParser#queryCreateTable. - def enterQueryCreateTable(self, ctx:frameQLParser.QueryCreateTableContext): - pass - - # Exit a parse tree produced by frameQLParser#queryCreateTable. - def exitQueryCreateTable(self, ctx:frameQLParser.QueryCreateTableContext): - pass - - - # Enter a parse tree produced by frameQLParser#columnCreateTable. - def enterColumnCreateTable(self, ctx:frameQLParser.ColumnCreateTableContext): - pass - - # Exit a parse tree produced by frameQLParser#columnCreateTable. - def exitColumnCreateTable(self, ctx:frameQLParser.ColumnCreateTableContext): - pass - - - # Enter a parse tree produced by frameQLParser#createTablespaceInnodb. - def enterCreateTablespaceInnodb(self, ctx:frameQLParser.CreateTablespaceInnodbContext): - pass - - # Exit a parse tree produced by frameQLParser#createTablespaceInnodb. - def exitCreateTablespaceInnodb(self, ctx:frameQLParser.CreateTablespaceInnodbContext): - pass - - - # Enter a parse tree produced by frameQLParser#createTablespaceNdb. - def enterCreateTablespaceNdb(self, ctx:frameQLParser.CreateTablespaceNdbContext): - pass - - # Exit a parse tree produced by frameQLParser#createTablespaceNdb. - def exitCreateTablespaceNdb(self, ctx:frameQLParser.CreateTablespaceNdbContext): - pass - - - # Enter a parse tree produced by frameQLParser#createTrigger. - def enterCreateTrigger(self, ctx:frameQLParser.CreateTriggerContext): - pass - - # Exit a parse tree produced by frameQLParser#createTrigger. - def exitCreateTrigger(self, ctx:frameQLParser.CreateTriggerContext): - pass - - - # Enter a parse tree produced by frameQLParser#createView. - def enterCreateView(self, ctx:frameQLParser.CreateViewContext): - pass - - # Exit a parse tree produced by frameQLParser#createView. - def exitCreateView(self, ctx:frameQLParser.CreateViewContext): - pass - - - # Enter a parse tree produced by frameQLParser#createDatabaseOption. - def enterCreateDatabaseOption(self, ctx:frameQLParser.CreateDatabaseOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#createDatabaseOption. - def exitCreateDatabaseOption(self, ctx:frameQLParser.CreateDatabaseOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#ownerStatement. - def enterOwnerStatement(self, ctx:frameQLParser.OwnerStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#ownerStatement. - def exitOwnerStatement(self, ctx:frameQLParser.OwnerStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#preciseSchedule. - def enterPreciseSchedule(self, ctx:frameQLParser.PreciseScheduleContext): - pass - - # Exit a parse tree produced by frameQLParser#preciseSchedule. - def exitPreciseSchedule(self, ctx:frameQLParser.PreciseScheduleContext): - pass - - - # Enter a parse tree produced by frameQLParser#intervalSchedule. - def enterIntervalSchedule(self, ctx:frameQLParser.IntervalScheduleContext): - pass - - # Exit a parse tree produced by frameQLParser#intervalSchedule. - def exitIntervalSchedule(self, ctx:frameQLParser.IntervalScheduleContext): - pass - - - # Enter a parse tree produced by frameQLParser#timestampValue. - def enterTimestampValue(self, ctx:frameQLParser.TimestampValueContext): - pass - - # Exit a parse tree produced by frameQLParser#timestampValue. - def exitTimestampValue(self, ctx:frameQLParser.TimestampValueContext): - pass - - - # Enter a parse tree produced by frameQLParser#intervalExpr. - def enterIntervalExpr(self, ctx:frameQLParser.IntervalExprContext): - pass - - # Exit a parse tree produced by frameQLParser#intervalExpr. - def exitIntervalExpr(self, ctx:frameQLParser.IntervalExprContext): - pass - - - # Enter a parse tree produced by frameQLParser#intervalType. - def enterIntervalType(self, ctx:frameQLParser.IntervalTypeContext): - pass - - # Exit a parse tree produced by frameQLParser#intervalType. - def exitIntervalType(self, ctx:frameQLParser.IntervalTypeContext): - pass - - - # Enter a parse tree produced by frameQLParser#enableType. - def enterEnableType(self, ctx:frameQLParser.EnableTypeContext): - pass - - # Exit a parse tree produced by frameQLParser#enableType. - def exitEnableType(self, ctx:frameQLParser.EnableTypeContext): - pass - - - # Enter a parse tree produced by frameQLParser#indexType. - def enterIndexType(self, ctx:frameQLParser.IndexTypeContext): - pass - - # Exit a parse tree produced by frameQLParser#indexType. - def exitIndexType(self, ctx:frameQLParser.IndexTypeContext): - pass - - - # Enter a parse tree produced by frameQLParser#indexOption. - def enterIndexOption(self, ctx:frameQLParser.IndexOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#indexOption. - def exitIndexOption(self, ctx:frameQLParser.IndexOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#procedureParameter. - def enterProcedureParameter(self, ctx:frameQLParser.ProcedureParameterContext): - pass - - # Exit a parse tree produced by frameQLParser#procedureParameter. - def exitProcedureParameter(self, ctx:frameQLParser.ProcedureParameterContext): - pass - - - # Enter a parse tree produced by frameQLParser#functionParameter. - def enterFunctionParameter(self, ctx:frameQLParser.FunctionParameterContext): - pass - - # Exit a parse tree produced by frameQLParser#functionParameter. - def exitFunctionParameter(self, ctx:frameQLParser.FunctionParameterContext): - pass - - - # Enter a parse tree produced by frameQLParser#routineComment. - def enterRoutineComment(self, ctx:frameQLParser.RoutineCommentContext): - pass - - # Exit a parse tree produced by frameQLParser#routineComment. - def exitRoutineComment(self, ctx:frameQLParser.RoutineCommentContext): - pass - - - # Enter a parse tree produced by frameQLParser#routineLanguage. - def enterRoutineLanguage(self, ctx:frameQLParser.RoutineLanguageContext): - pass - - # Exit a parse tree produced by frameQLParser#routineLanguage. - def exitRoutineLanguage(self, ctx:frameQLParser.RoutineLanguageContext): - pass - - - # Enter a parse tree produced by frameQLParser#routineBehavior. - def enterRoutineBehavior(self, ctx:frameQLParser.RoutineBehaviorContext): - pass - - # Exit a parse tree produced by frameQLParser#routineBehavior. - def exitRoutineBehavior(self, ctx:frameQLParser.RoutineBehaviorContext): - pass - - - # Enter a parse tree produced by frameQLParser#routineData. - def enterRoutineData(self, ctx:frameQLParser.RoutineDataContext): - pass - - # Exit a parse tree produced by frameQLParser#routineData. - def exitRoutineData(self, ctx:frameQLParser.RoutineDataContext): - pass - - - # Enter a parse tree produced by frameQLParser#routineSecurity. - def enterRoutineSecurity(self, ctx:frameQLParser.RoutineSecurityContext): - pass - - # Exit a parse tree produced by frameQLParser#routineSecurity. - def exitRoutineSecurity(self, ctx:frameQLParser.RoutineSecurityContext): - pass - - - # Enter a parse tree produced by frameQLParser#serverOption. - def enterServerOption(self, ctx:frameQLParser.ServerOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#serverOption. - def exitServerOption(self, ctx:frameQLParser.ServerOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#createDefinitions. - def enterCreateDefinitions(self, ctx:frameQLParser.CreateDefinitionsContext): - pass - - # Exit a parse tree produced by frameQLParser#createDefinitions. - def exitCreateDefinitions(self, ctx:frameQLParser.CreateDefinitionsContext): - pass - - - # Enter a parse tree produced by frameQLParser#columnDeclaration. - def enterColumnDeclaration(self, ctx:frameQLParser.ColumnDeclarationContext): - pass - - # Exit a parse tree produced by frameQLParser#columnDeclaration. - def exitColumnDeclaration(self, ctx:frameQLParser.ColumnDeclarationContext): - pass - - - # Enter a parse tree produced by frameQLParser#constraintDeclaration. - def enterConstraintDeclaration(self, ctx:frameQLParser.ConstraintDeclarationContext): - pass - - # Exit a parse tree produced by frameQLParser#constraintDeclaration. - def exitConstraintDeclaration(self, ctx:frameQLParser.ConstraintDeclarationContext): - pass - - - # Enter a parse tree produced by frameQLParser#indexDeclaration. - def enterIndexDeclaration(self, ctx:frameQLParser.IndexDeclarationContext): - pass - - # Exit a parse tree produced by frameQLParser#indexDeclaration. - def exitIndexDeclaration(self, ctx:frameQLParser.IndexDeclarationContext): - pass - - - # Enter a parse tree produced by frameQLParser#columnDefinition. - def enterColumnDefinition(self, ctx:frameQLParser.ColumnDefinitionContext): - pass - - # Exit a parse tree produced by frameQLParser#columnDefinition. - def exitColumnDefinition(self, ctx:frameQLParser.ColumnDefinitionContext): - pass - - - # Enter a parse tree produced by frameQLParser#nullColumnConstraint. - def enterNullColumnConstraint(self, ctx:frameQLParser.NullColumnConstraintContext): - pass - - # Exit a parse tree produced by frameQLParser#nullColumnConstraint. - def exitNullColumnConstraint(self, ctx:frameQLParser.NullColumnConstraintContext): - pass - - - # Enter a parse tree produced by frameQLParser#defaultColumnConstraint. - def enterDefaultColumnConstraint(self, ctx:frameQLParser.DefaultColumnConstraintContext): - pass - - # Exit a parse tree produced by frameQLParser#defaultColumnConstraint. - def exitDefaultColumnConstraint(self, ctx:frameQLParser.DefaultColumnConstraintContext): - pass - - - # Enter a parse tree produced by frameQLParser#autoIncrementColumnConstraint. - def enterAutoIncrementColumnConstraint(self, ctx:frameQLParser.AutoIncrementColumnConstraintContext): - pass - - # Exit a parse tree produced by frameQLParser#autoIncrementColumnConstraint. - def exitAutoIncrementColumnConstraint(self, ctx:frameQLParser.AutoIncrementColumnConstraintContext): - pass - - - # Enter a parse tree produced by frameQLParser#primaryKeyColumnConstraint. - def enterPrimaryKeyColumnConstraint(self, ctx:frameQLParser.PrimaryKeyColumnConstraintContext): - pass - - # Exit a parse tree produced by frameQLParser#primaryKeyColumnConstraint. - def exitPrimaryKeyColumnConstraint(self, ctx:frameQLParser.PrimaryKeyColumnConstraintContext): - pass - - - # Enter a parse tree produced by frameQLParser#uniqueKeyColumnConstraint. - def enterUniqueKeyColumnConstraint(self, ctx:frameQLParser.UniqueKeyColumnConstraintContext): - pass - - # Exit a parse tree produced by frameQLParser#uniqueKeyColumnConstraint. - def exitUniqueKeyColumnConstraint(self, ctx:frameQLParser.UniqueKeyColumnConstraintContext): - pass - - - # Enter a parse tree produced by frameQLParser#commentColumnConstraint. - def enterCommentColumnConstraint(self, ctx:frameQLParser.CommentColumnConstraintContext): - pass - - # Exit a parse tree produced by frameQLParser#commentColumnConstraint. - def exitCommentColumnConstraint(self, ctx:frameQLParser.CommentColumnConstraintContext): - pass - - - # Enter a parse tree produced by frameQLParser#formatColumnConstraint. - def enterFormatColumnConstraint(self, ctx:frameQLParser.FormatColumnConstraintContext): - pass - - # Exit a parse tree produced by frameQLParser#formatColumnConstraint. - def exitFormatColumnConstraint(self, ctx:frameQLParser.FormatColumnConstraintContext): - pass - - - # Enter a parse tree produced by frameQLParser#storageColumnConstraint. - def enterStorageColumnConstraint(self, ctx:frameQLParser.StorageColumnConstraintContext): - pass - - # Exit a parse tree produced by frameQLParser#storageColumnConstraint. - def exitStorageColumnConstraint(self, ctx:frameQLParser.StorageColumnConstraintContext): - pass - - - # Enter a parse tree produced by frameQLParser#referenceColumnConstraint. - def enterReferenceColumnConstraint(self, ctx:frameQLParser.ReferenceColumnConstraintContext): - pass - - # Exit a parse tree produced by frameQLParser#referenceColumnConstraint. - def exitReferenceColumnConstraint(self, ctx:frameQLParser.ReferenceColumnConstraintContext): - pass - - - # Enter a parse tree produced by frameQLParser#generatedColumnConstraint. - def enterGeneratedColumnConstraint(self, ctx:frameQLParser.GeneratedColumnConstraintContext): - pass - - # Exit a parse tree produced by frameQLParser#generatedColumnConstraint. - def exitGeneratedColumnConstraint(self, ctx:frameQLParser.GeneratedColumnConstraintContext): - pass - - - # Enter a parse tree produced by frameQLParser#serialDefaultColumnConstraint. - def enterSerialDefaultColumnConstraint(self, ctx:frameQLParser.SerialDefaultColumnConstraintContext): - pass - - # Exit a parse tree produced by frameQLParser#serialDefaultColumnConstraint. - def exitSerialDefaultColumnConstraint(self, ctx:frameQLParser.SerialDefaultColumnConstraintContext): - pass - - - # Enter a parse tree produced by frameQLParser#primaryKeyTableConstraint. - def enterPrimaryKeyTableConstraint(self, ctx:frameQLParser.PrimaryKeyTableConstraintContext): - pass - - # Exit a parse tree produced by frameQLParser#primaryKeyTableConstraint. - def exitPrimaryKeyTableConstraint(self, ctx:frameQLParser.PrimaryKeyTableConstraintContext): - pass - - - # Enter a parse tree produced by frameQLParser#uniqueKeyTableConstraint. - def enterUniqueKeyTableConstraint(self, ctx:frameQLParser.UniqueKeyTableConstraintContext): - pass - - # Exit a parse tree produced by frameQLParser#uniqueKeyTableConstraint. - def exitUniqueKeyTableConstraint(self, ctx:frameQLParser.UniqueKeyTableConstraintContext): - pass - - - # Enter a parse tree produced by frameQLParser#foreignKeyTableConstraint. - def enterForeignKeyTableConstraint(self, ctx:frameQLParser.ForeignKeyTableConstraintContext): - pass - - # Exit a parse tree produced by frameQLParser#foreignKeyTableConstraint. - def exitForeignKeyTableConstraint(self, ctx:frameQLParser.ForeignKeyTableConstraintContext): - pass - - - # Enter a parse tree produced by frameQLParser#checkTableConstraint. - def enterCheckTableConstraint(self, ctx:frameQLParser.CheckTableConstraintContext): - pass - - # Exit a parse tree produced by frameQLParser#checkTableConstraint. - def exitCheckTableConstraint(self, ctx:frameQLParser.CheckTableConstraintContext): - pass - - - # Enter a parse tree produced by frameQLParser#referenceDefinition. - def enterReferenceDefinition(self, ctx:frameQLParser.ReferenceDefinitionContext): - pass - - # Exit a parse tree produced by frameQLParser#referenceDefinition. - def exitReferenceDefinition(self, ctx:frameQLParser.ReferenceDefinitionContext): - pass - - - # Enter a parse tree produced by frameQLParser#referenceAction. - def enterReferenceAction(self, ctx:frameQLParser.ReferenceActionContext): - pass - - # Exit a parse tree produced by frameQLParser#referenceAction. - def exitReferenceAction(self, ctx:frameQLParser.ReferenceActionContext): - pass - - - # Enter a parse tree produced by frameQLParser#referenceControlType. - def enterReferenceControlType(self, ctx:frameQLParser.ReferenceControlTypeContext): - pass - - # Exit a parse tree produced by frameQLParser#referenceControlType. - def exitReferenceControlType(self, ctx:frameQLParser.ReferenceControlTypeContext): - pass - - - # Enter a parse tree produced by frameQLParser#simpleIndexDeclaration. - def enterSimpleIndexDeclaration(self, ctx:frameQLParser.SimpleIndexDeclarationContext): - pass - - # Exit a parse tree produced by frameQLParser#simpleIndexDeclaration. - def exitSimpleIndexDeclaration(self, ctx:frameQLParser.SimpleIndexDeclarationContext): - pass - - - # Enter a parse tree produced by frameQLParser#specialIndexDeclaration. - def enterSpecialIndexDeclaration(self, ctx:frameQLParser.SpecialIndexDeclarationContext): - pass - - # Exit a parse tree produced by frameQLParser#specialIndexDeclaration. - def exitSpecialIndexDeclaration(self, ctx:frameQLParser.SpecialIndexDeclarationContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionEngine. - def enterTableOptionEngine(self, ctx:frameQLParser.TableOptionEngineContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionEngine. - def exitTableOptionEngine(self, ctx:frameQLParser.TableOptionEngineContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionAutoIncrement. - def enterTableOptionAutoIncrement(self, ctx:frameQLParser.TableOptionAutoIncrementContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionAutoIncrement. - def exitTableOptionAutoIncrement(self, ctx:frameQLParser.TableOptionAutoIncrementContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionAverage. - def enterTableOptionAverage(self, ctx:frameQLParser.TableOptionAverageContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionAverage. - def exitTableOptionAverage(self, ctx:frameQLParser.TableOptionAverageContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionCharset. - def enterTableOptionCharset(self, ctx:frameQLParser.TableOptionCharsetContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionCharset. - def exitTableOptionCharset(self, ctx:frameQLParser.TableOptionCharsetContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionChecksum. - def enterTableOptionChecksum(self, ctx:frameQLParser.TableOptionChecksumContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionChecksum. - def exitTableOptionChecksum(self, ctx:frameQLParser.TableOptionChecksumContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionCollate. - def enterTableOptionCollate(self, ctx:frameQLParser.TableOptionCollateContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionCollate. - def exitTableOptionCollate(self, ctx:frameQLParser.TableOptionCollateContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionComment. - def enterTableOptionComment(self, ctx:frameQLParser.TableOptionCommentContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionComment. - def exitTableOptionComment(self, ctx:frameQLParser.TableOptionCommentContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionCompression. - def enterTableOptionCompression(self, ctx:frameQLParser.TableOptionCompressionContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionCompression. - def exitTableOptionCompression(self, ctx:frameQLParser.TableOptionCompressionContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionConnection. - def enterTableOptionConnection(self, ctx:frameQLParser.TableOptionConnectionContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionConnection. - def exitTableOptionConnection(self, ctx:frameQLParser.TableOptionConnectionContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionDataDirectory. - def enterTableOptionDataDirectory(self, ctx:frameQLParser.TableOptionDataDirectoryContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionDataDirectory. - def exitTableOptionDataDirectory(self, ctx:frameQLParser.TableOptionDataDirectoryContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionDelay. - def enterTableOptionDelay(self, ctx:frameQLParser.TableOptionDelayContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionDelay. - def exitTableOptionDelay(self, ctx:frameQLParser.TableOptionDelayContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionEncryption. - def enterTableOptionEncryption(self, ctx:frameQLParser.TableOptionEncryptionContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionEncryption. - def exitTableOptionEncryption(self, ctx:frameQLParser.TableOptionEncryptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionIndexDirectory. - def enterTableOptionIndexDirectory(self, ctx:frameQLParser.TableOptionIndexDirectoryContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionIndexDirectory. - def exitTableOptionIndexDirectory(self, ctx:frameQLParser.TableOptionIndexDirectoryContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionInsertMethod. - def enterTableOptionInsertMethod(self, ctx:frameQLParser.TableOptionInsertMethodContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionInsertMethod. - def exitTableOptionInsertMethod(self, ctx:frameQLParser.TableOptionInsertMethodContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionKeyBlockSize. - def enterTableOptionKeyBlockSize(self, ctx:frameQLParser.TableOptionKeyBlockSizeContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionKeyBlockSize. - def exitTableOptionKeyBlockSize(self, ctx:frameQLParser.TableOptionKeyBlockSizeContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionMaxRows. - def enterTableOptionMaxRows(self, ctx:frameQLParser.TableOptionMaxRowsContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionMaxRows. - def exitTableOptionMaxRows(self, ctx:frameQLParser.TableOptionMaxRowsContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionMinRows. - def enterTableOptionMinRows(self, ctx:frameQLParser.TableOptionMinRowsContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionMinRows. - def exitTableOptionMinRows(self, ctx:frameQLParser.TableOptionMinRowsContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionPackKeys. - def enterTableOptionPackKeys(self, ctx:frameQLParser.TableOptionPackKeysContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionPackKeys. - def exitTableOptionPackKeys(self, ctx:frameQLParser.TableOptionPackKeysContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionPassword. - def enterTableOptionPassword(self, ctx:frameQLParser.TableOptionPasswordContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionPassword. - def exitTableOptionPassword(self, ctx:frameQLParser.TableOptionPasswordContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionRowFormat. - def enterTableOptionRowFormat(self, ctx:frameQLParser.TableOptionRowFormatContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionRowFormat. - def exitTableOptionRowFormat(self, ctx:frameQLParser.TableOptionRowFormatContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionRecalculation. - def enterTableOptionRecalculation(self, ctx:frameQLParser.TableOptionRecalculationContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionRecalculation. - def exitTableOptionRecalculation(self, ctx:frameQLParser.TableOptionRecalculationContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionPersistent. - def enterTableOptionPersistent(self, ctx:frameQLParser.TableOptionPersistentContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionPersistent. - def exitTableOptionPersistent(self, ctx:frameQLParser.TableOptionPersistentContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionSamplePage. - def enterTableOptionSamplePage(self, ctx:frameQLParser.TableOptionSamplePageContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionSamplePage. - def exitTableOptionSamplePage(self, ctx:frameQLParser.TableOptionSamplePageContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionTablespace. - def enterTableOptionTablespace(self, ctx:frameQLParser.TableOptionTablespaceContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionTablespace. - def exitTableOptionTablespace(self, ctx:frameQLParser.TableOptionTablespaceContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableOptionUnion. - def enterTableOptionUnion(self, ctx:frameQLParser.TableOptionUnionContext): - pass - - # Exit a parse tree produced by frameQLParser#tableOptionUnion. - def exitTableOptionUnion(self, ctx:frameQLParser.TableOptionUnionContext): - pass - - - # Enter a parse tree produced by frameQLParser#tablespaceStorage. - def enterTablespaceStorage(self, ctx:frameQLParser.TablespaceStorageContext): - pass - - # Exit a parse tree produced by frameQLParser#tablespaceStorage. - def exitTablespaceStorage(self, ctx:frameQLParser.TablespaceStorageContext): - pass - - - # Enter a parse tree produced by frameQLParser#partitionDefinitions. - def enterPartitionDefinitions(self, ctx:frameQLParser.PartitionDefinitionsContext): - pass - - # Exit a parse tree produced by frameQLParser#partitionDefinitions. - def exitPartitionDefinitions(self, ctx:frameQLParser.PartitionDefinitionsContext): - pass - - - # Enter a parse tree produced by frameQLParser#partitionFunctionHash. - def enterPartitionFunctionHash(self, ctx:frameQLParser.PartitionFunctionHashContext): - pass - - # Exit a parse tree produced by frameQLParser#partitionFunctionHash. - def exitPartitionFunctionHash(self, ctx:frameQLParser.PartitionFunctionHashContext): - pass - - - # Enter a parse tree produced by frameQLParser#partitionFunctionKey. - def enterPartitionFunctionKey(self, ctx:frameQLParser.PartitionFunctionKeyContext): - pass - - # Exit a parse tree produced by frameQLParser#partitionFunctionKey. - def exitPartitionFunctionKey(self, ctx:frameQLParser.PartitionFunctionKeyContext): - pass - - - # Enter a parse tree produced by frameQLParser#partitionFunctionRange. - def enterPartitionFunctionRange(self, ctx:frameQLParser.PartitionFunctionRangeContext): - pass - - # Exit a parse tree produced by frameQLParser#partitionFunctionRange. - def exitPartitionFunctionRange(self, ctx:frameQLParser.PartitionFunctionRangeContext): - pass - - - # Enter a parse tree produced by frameQLParser#partitionFunctionList. - def enterPartitionFunctionList(self, ctx:frameQLParser.PartitionFunctionListContext): - pass - - # Exit a parse tree produced by frameQLParser#partitionFunctionList. - def exitPartitionFunctionList(self, ctx:frameQLParser.PartitionFunctionListContext): - pass - - - # Enter a parse tree produced by frameQLParser#subPartitionFunctionHash. - def enterSubPartitionFunctionHash(self, ctx:frameQLParser.SubPartitionFunctionHashContext): - pass - - # Exit a parse tree produced by frameQLParser#subPartitionFunctionHash. - def exitSubPartitionFunctionHash(self, ctx:frameQLParser.SubPartitionFunctionHashContext): - pass - - - # Enter a parse tree produced by frameQLParser#subPartitionFunctionKey. - def enterSubPartitionFunctionKey(self, ctx:frameQLParser.SubPartitionFunctionKeyContext): - pass - - # Exit a parse tree produced by frameQLParser#subPartitionFunctionKey. - def exitSubPartitionFunctionKey(self, ctx:frameQLParser.SubPartitionFunctionKeyContext): - pass - - - # Enter a parse tree produced by frameQLParser#partitionComparision. - def enterPartitionComparision(self, ctx:frameQLParser.PartitionComparisionContext): - pass - - # Exit a parse tree produced by frameQLParser#partitionComparision. - def exitPartitionComparision(self, ctx:frameQLParser.PartitionComparisionContext): - pass - - - # Enter a parse tree produced by frameQLParser#partitionListAtom. - def enterPartitionListAtom(self, ctx:frameQLParser.PartitionListAtomContext): - pass - - # Exit a parse tree produced by frameQLParser#partitionListAtom. - def exitPartitionListAtom(self, ctx:frameQLParser.PartitionListAtomContext): - pass - - - # Enter a parse tree produced by frameQLParser#partitionListVector. - def enterPartitionListVector(self, ctx:frameQLParser.PartitionListVectorContext): - pass - - # Exit a parse tree produced by frameQLParser#partitionListVector. - def exitPartitionListVector(self, ctx:frameQLParser.PartitionListVectorContext): - pass - - - # Enter a parse tree produced by frameQLParser#partitionSimple. - def enterPartitionSimple(self, ctx:frameQLParser.PartitionSimpleContext): - pass - - # Exit a parse tree produced by frameQLParser#partitionSimple. - def exitPartitionSimple(self, ctx:frameQLParser.PartitionSimpleContext): - pass - - - # Enter a parse tree produced by frameQLParser#partitionDefinerAtom. - def enterPartitionDefinerAtom(self, ctx:frameQLParser.PartitionDefinerAtomContext): - pass - - # Exit a parse tree produced by frameQLParser#partitionDefinerAtom. - def exitPartitionDefinerAtom(self, ctx:frameQLParser.PartitionDefinerAtomContext): - pass - - - # Enter a parse tree produced by frameQLParser#partitionDefinerVector. - def enterPartitionDefinerVector(self, ctx:frameQLParser.PartitionDefinerVectorContext): - pass - - # Exit a parse tree produced by frameQLParser#partitionDefinerVector. - def exitPartitionDefinerVector(self, ctx:frameQLParser.PartitionDefinerVectorContext): - pass - - - # Enter a parse tree produced by frameQLParser#subpartitionDefinition. - def enterSubpartitionDefinition(self, ctx:frameQLParser.SubpartitionDefinitionContext): - pass - - # Exit a parse tree produced by frameQLParser#subpartitionDefinition. - def exitSubpartitionDefinition(self, ctx:frameQLParser.SubpartitionDefinitionContext): - pass - - - # Enter a parse tree produced by frameQLParser#partitionOptionEngine. - def enterPartitionOptionEngine(self, ctx:frameQLParser.PartitionOptionEngineContext): - pass - - # Exit a parse tree produced by frameQLParser#partitionOptionEngine. - def exitPartitionOptionEngine(self, ctx:frameQLParser.PartitionOptionEngineContext): - pass - - - # Enter a parse tree produced by frameQLParser#partitionOptionComment. - def enterPartitionOptionComment(self, ctx:frameQLParser.PartitionOptionCommentContext): - pass - - # Exit a parse tree produced by frameQLParser#partitionOptionComment. - def exitPartitionOptionComment(self, ctx:frameQLParser.PartitionOptionCommentContext): - pass - - - # Enter a parse tree produced by frameQLParser#partitionOptionDataDirectory. - def enterPartitionOptionDataDirectory(self, ctx:frameQLParser.PartitionOptionDataDirectoryContext): - pass - - # Exit a parse tree produced by frameQLParser#partitionOptionDataDirectory. - def exitPartitionOptionDataDirectory(self, ctx:frameQLParser.PartitionOptionDataDirectoryContext): - pass - - - # Enter a parse tree produced by frameQLParser#partitionOptionIndexDirectory. - def enterPartitionOptionIndexDirectory(self, ctx:frameQLParser.PartitionOptionIndexDirectoryContext): - pass - - # Exit a parse tree produced by frameQLParser#partitionOptionIndexDirectory. - def exitPartitionOptionIndexDirectory(self, ctx:frameQLParser.PartitionOptionIndexDirectoryContext): - pass - - - # Enter a parse tree produced by frameQLParser#partitionOptionMaxRows. - def enterPartitionOptionMaxRows(self, ctx:frameQLParser.PartitionOptionMaxRowsContext): - pass - - # Exit a parse tree produced by frameQLParser#partitionOptionMaxRows. - def exitPartitionOptionMaxRows(self, ctx:frameQLParser.PartitionOptionMaxRowsContext): - pass - - - # Enter a parse tree produced by frameQLParser#partitionOptionMinRows. - def enterPartitionOptionMinRows(self, ctx:frameQLParser.PartitionOptionMinRowsContext): - pass - - # Exit a parse tree produced by frameQLParser#partitionOptionMinRows. - def exitPartitionOptionMinRows(self, ctx:frameQLParser.PartitionOptionMinRowsContext): - pass - - - # Enter a parse tree produced by frameQLParser#partitionOptionTablespace. - def enterPartitionOptionTablespace(self, ctx:frameQLParser.PartitionOptionTablespaceContext): - pass - - # Exit a parse tree produced by frameQLParser#partitionOptionTablespace. - def exitPartitionOptionTablespace(self, ctx:frameQLParser.PartitionOptionTablespaceContext): - pass - - - # Enter a parse tree produced by frameQLParser#partitionOptionNodeGroup. - def enterPartitionOptionNodeGroup(self, ctx:frameQLParser.PartitionOptionNodeGroupContext): - pass - - # Exit a parse tree produced by frameQLParser#partitionOptionNodeGroup. - def exitPartitionOptionNodeGroup(self, ctx:frameQLParser.PartitionOptionNodeGroupContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterSimpleDatabase. - def enterAlterSimpleDatabase(self, ctx:frameQLParser.AlterSimpleDatabaseContext): - pass - - # Exit a parse tree produced by frameQLParser#alterSimpleDatabase. - def exitAlterSimpleDatabase(self, ctx:frameQLParser.AlterSimpleDatabaseContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterUpgradeName. - def enterAlterUpgradeName(self, ctx:frameQLParser.AlterUpgradeNameContext): - pass - - # Exit a parse tree produced by frameQLParser#alterUpgradeName. - def exitAlterUpgradeName(self, ctx:frameQLParser.AlterUpgradeNameContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterEvent. - def enterAlterEvent(self, ctx:frameQLParser.AlterEventContext): - pass - - # Exit a parse tree produced by frameQLParser#alterEvent. - def exitAlterEvent(self, ctx:frameQLParser.AlterEventContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterFunction. - def enterAlterFunction(self, ctx:frameQLParser.AlterFunctionContext): - pass - - # Exit a parse tree produced by frameQLParser#alterFunction. - def exitAlterFunction(self, ctx:frameQLParser.AlterFunctionContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterInstance. - def enterAlterInstance(self, ctx:frameQLParser.AlterInstanceContext): - pass - - # Exit a parse tree produced by frameQLParser#alterInstance. - def exitAlterInstance(self, ctx:frameQLParser.AlterInstanceContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterLogfileGroup. - def enterAlterLogfileGroup(self, ctx:frameQLParser.AlterLogfileGroupContext): - pass - - # Exit a parse tree produced by frameQLParser#alterLogfileGroup. - def exitAlterLogfileGroup(self, ctx:frameQLParser.AlterLogfileGroupContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterProcedure. - def enterAlterProcedure(self, ctx:frameQLParser.AlterProcedureContext): - pass - - # Exit a parse tree produced by frameQLParser#alterProcedure. - def exitAlterProcedure(self, ctx:frameQLParser.AlterProcedureContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterServer. - def enterAlterServer(self, ctx:frameQLParser.AlterServerContext): - pass - - # Exit a parse tree produced by frameQLParser#alterServer. - def exitAlterServer(self, ctx:frameQLParser.AlterServerContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterTable. - def enterAlterTable(self, ctx:frameQLParser.AlterTableContext): - pass - - # Exit a parse tree produced by frameQLParser#alterTable. - def exitAlterTable(self, ctx:frameQLParser.AlterTableContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterTablespace. - def enterAlterTablespace(self, ctx:frameQLParser.AlterTablespaceContext): - pass - - # Exit a parse tree produced by frameQLParser#alterTablespace. - def exitAlterTablespace(self, ctx:frameQLParser.AlterTablespaceContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterView. - def enterAlterView(self, ctx:frameQLParser.AlterViewContext): - pass - - # Exit a parse tree produced by frameQLParser#alterView. - def exitAlterView(self, ctx:frameQLParser.AlterViewContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByTableOption. - def enterAlterByTableOption(self, ctx:frameQLParser.AlterByTableOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByTableOption. - def exitAlterByTableOption(self, ctx:frameQLParser.AlterByTableOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByAddColumn. - def enterAlterByAddColumn(self, ctx:frameQLParser.AlterByAddColumnContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByAddColumn. - def exitAlterByAddColumn(self, ctx:frameQLParser.AlterByAddColumnContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByAddColumns. - def enterAlterByAddColumns(self, ctx:frameQLParser.AlterByAddColumnsContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByAddColumns. - def exitAlterByAddColumns(self, ctx:frameQLParser.AlterByAddColumnsContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByAddIndex. - def enterAlterByAddIndex(self, ctx:frameQLParser.AlterByAddIndexContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByAddIndex. - def exitAlterByAddIndex(self, ctx:frameQLParser.AlterByAddIndexContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByAddPrimaryKey. - def enterAlterByAddPrimaryKey(self, ctx:frameQLParser.AlterByAddPrimaryKeyContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByAddPrimaryKey. - def exitAlterByAddPrimaryKey(self, ctx:frameQLParser.AlterByAddPrimaryKeyContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByAddUniqueKey. - def enterAlterByAddUniqueKey(self, ctx:frameQLParser.AlterByAddUniqueKeyContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByAddUniqueKey. - def exitAlterByAddUniqueKey(self, ctx:frameQLParser.AlterByAddUniqueKeyContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByAddSpecialIndex. - def enterAlterByAddSpecialIndex(self, ctx:frameQLParser.AlterByAddSpecialIndexContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByAddSpecialIndex. - def exitAlterByAddSpecialIndex(self, ctx:frameQLParser.AlterByAddSpecialIndexContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByAddForeignKey. - def enterAlterByAddForeignKey(self, ctx:frameQLParser.AlterByAddForeignKeyContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByAddForeignKey. - def exitAlterByAddForeignKey(self, ctx:frameQLParser.AlterByAddForeignKeyContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByAddCheckTableConstraint. - def enterAlterByAddCheckTableConstraint(self, ctx:frameQLParser.AlterByAddCheckTableConstraintContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByAddCheckTableConstraint. - def exitAlterByAddCheckTableConstraint(self, ctx:frameQLParser.AlterByAddCheckTableConstraintContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterBySetAlgorithm. - def enterAlterBySetAlgorithm(self, ctx:frameQLParser.AlterBySetAlgorithmContext): - pass - - # Exit a parse tree produced by frameQLParser#alterBySetAlgorithm. - def exitAlterBySetAlgorithm(self, ctx:frameQLParser.AlterBySetAlgorithmContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByChangeDefault. - def enterAlterByChangeDefault(self, ctx:frameQLParser.AlterByChangeDefaultContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByChangeDefault. - def exitAlterByChangeDefault(self, ctx:frameQLParser.AlterByChangeDefaultContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByChangeColumn. - def enterAlterByChangeColumn(self, ctx:frameQLParser.AlterByChangeColumnContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByChangeColumn. - def exitAlterByChangeColumn(self, ctx:frameQLParser.AlterByChangeColumnContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByRenameColumn. - def enterAlterByRenameColumn(self, ctx:frameQLParser.AlterByRenameColumnContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByRenameColumn. - def exitAlterByRenameColumn(self, ctx:frameQLParser.AlterByRenameColumnContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByLock. - def enterAlterByLock(self, ctx:frameQLParser.AlterByLockContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByLock. - def exitAlterByLock(self, ctx:frameQLParser.AlterByLockContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByModifyColumn. - def enterAlterByModifyColumn(self, ctx:frameQLParser.AlterByModifyColumnContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByModifyColumn. - def exitAlterByModifyColumn(self, ctx:frameQLParser.AlterByModifyColumnContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByDropColumn. - def enterAlterByDropColumn(self, ctx:frameQLParser.AlterByDropColumnContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByDropColumn. - def exitAlterByDropColumn(self, ctx:frameQLParser.AlterByDropColumnContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByDropPrimaryKey. - def enterAlterByDropPrimaryKey(self, ctx:frameQLParser.AlterByDropPrimaryKeyContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByDropPrimaryKey. - def exitAlterByDropPrimaryKey(self, ctx:frameQLParser.AlterByDropPrimaryKeyContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByDropIndex. - def enterAlterByDropIndex(self, ctx:frameQLParser.AlterByDropIndexContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByDropIndex. - def exitAlterByDropIndex(self, ctx:frameQLParser.AlterByDropIndexContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByDropForeignKey. - def enterAlterByDropForeignKey(self, ctx:frameQLParser.AlterByDropForeignKeyContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByDropForeignKey. - def exitAlterByDropForeignKey(self, ctx:frameQLParser.AlterByDropForeignKeyContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByDisableKeys. - def enterAlterByDisableKeys(self, ctx:frameQLParser.AlterByDisableKeysContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByDisableKeys. - def exitAlterByDisableKeys(self, ctx:frameQLParser.AlterByDisableKeysContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByEnableKeys. - def enterAlterByEnableKeys(self, ctx:frameQLParser.AlterByEnableKeysContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByEnableKeys. - def exitAlterByEnableKeys(self, ctx:frameQLParser.AlterByEnableKeysContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByRename. - def enterAlterByRename(self, ctx:frameQLParser.AlterByRenameContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByRename. - def exitAlterByRename(self, ctx:frameQLParser.AlterByRenameContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByOrder. - def enterAlterByOrder(self, ctx:frameQLParser.AlterByOrderContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByOrder. - def exitAlterByOrder(self, ctx:frameQLParser.AlterByOrderContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByConvertCharset. - def enterAlterByConvertCharset(self, ctx:frameQLParser.AlterByConvertCharsetContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByConvertCharset. - def exitAlterByConvertCharset(self, ctx:frameQLParser.AlterByConvertCharsetContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByDefaultCharset. - def enterAlterByDefaultCharset(self, ctx:frameQLParser.AlterByDefaultCharsetContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByDefaultCharset. - def exitAlterByDefaultCharset(self, ctx:frameQLParser.AlterByDefaultCharsetContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByDiscardTablespace. - def enterAlterByDiscardTablespace(self, ctx:frameQLParser.AlterByDiscardTablespaceContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByDiscardTablespace. - def exitAlterByDiscardTablespace(self, ctx:frameQLParser.AlterByDiscardTablespaceContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByImportTablespace. - def enterAlterByImportTablespace(self, ctx:frameQLParser.AlterByImportTablespaceContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByImportTablespace. - def exitAlterByImportTablespace(self, ctx:frameQLParser.AlterByImportTablespaceContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByForce. - def enterAlterByForce(self, ctx:frameQLParser.AlterByForceContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByForce. - def exitAlterByForce(self, ctx:frameQLParser.AlterByForceContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByValidate. - def enterAlterByValidate(self, ctx:frameQLParser.AlterByValidateContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByValidate. - def exitAlterByValidate(self, ctx:frameQLParser.AlterByValidateContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByAddPartition. - def enterAlterByAddPartition(self, ctx:frameQLParser.AlterByAddPartitionContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByAddPartition. - def exitAlterByAddPartition(self, ctx:frameQLParser.AlterByAddPartitionContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByDropPartition. - def enterAlterByDropPartition(self, ctx:frameQLParser.AlterByDropPartitionContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByDropPartition. - def exitAlterByDropPartition(self, ctx:frameQLParser.AlterByDropPartitionContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByDiscardPartition. - def enterAlterByDiscardPartition(self, ctx:frameQLParser.AlterByDiscardPartitionContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByDiscardPartition. - def exitAlterByDiscardPartition(self, ctx:frameQLParser.AlterByDiscardPartitionContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByImportPartition. - def enterAlterByImportPartition(self, ctx:frameQLParser.AlterByImportPartitionContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByImportPartition. - def exitAlterByImportPartition(self, ctx:frameQLParser.AlterByImportPartitionContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByTruncatePartition. - def enterAlterByTruncatePartition(self, ctx:frameQLParser.AlterByTruncatePartitionContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByTruncatePartition. - def exitAlterByTruncatePartition(self, ctx:frameQLParser.AlterByTruncatePartitionContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByCoalescePartition. - def enterAlterByCoalescePartition(self, ctx:frameQLParser.AlterByCoalescePartitionContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByCoalescePartition. - def exitAlterByCoalescePartition(self, ctx:frameQLParser.AlterByCoalescePartitionContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByReorganizePartition. - def enterAlterByReorganizePartition(self, ctx:frameQLParser.AlterByReorganizePartitionContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByReorganizePartition. - def exitAlterByReorganizePartition(self, ctx:frameQLParser.AlterByReorganizePartitionContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByExchangePartition. - def enterAlterByExchangePartition(self, ctx:frameQLParser.AlterByExchangePartitionContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByExchangePartition. - def exitAlterByExchangePartition(self, ctx:frameQLParser.AlterByExchangePartitionContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByAnalyzePartitiion. - def enterAlterByAnalyzePartitiion(self, ctx:frameQLParser.AlterByAnalyzePartitiionContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByAnalyzePartitiion. - def exitAlterByAnalyzePartitiion(self, ctx:frameQLParser.AlterByAnalyzePartitiionContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByCheckPartition. - def enterAlterByCheckPartition(self, ctx:frameQLParser.AlterByCheckPartitionContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByCheckPartition. - def exitAlterByCheckPartition(self, ctx:frameQLParser.AlterByCheckPartitionContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByOptimizePartition. - def enterAlterByOptimizePartition(self, ctx:frameQLParser.AlterByOptimizePartitionContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByOptimizePartition. - def exitAlterByOptimizePartition(self, ctx:frameQLParser.AlterByOptimizePartitionContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByRebuildPartition. - def enterAlterByRebuildPartition(self, ctx:frameQLParser.AlterByRebuildPartitionContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByRebuildPartition. - def exitAlterByRebuildPartition(self, ctx:frameQLParser.AlterByRebuildPartitionContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByRepairPartition. - def enterAlterByRepairPartition(self, ctx:frameQLParser.AlterByRepairPartitionContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByRepairPartition. - def exitAlterByRepairPartition(self, ctx:frameQLParser.AlterByRepairPartitionContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByRemovePartitioning. - def enterAlterByRemovePartitioning(self, ctx:frameQLParser.AlterByRemovePartitioningContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByRemovePartitioning. - def exitAlterByRemovePartitioning(self, ctx:frameQLParser.AlterByRemovePartitioningContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterByUpgradePartitioning. - def enterAlterByUpgradePartitioning(self, ctx:frameQLParser.AlterByUpgradePartitioningContext): - pass - - # Exit a parse tree produced by frameQLParser#alterByUpgradePartitioning. - def exitAlterByUpgradePartitioning(self, ctx:frameQLParser.AlterByUpgradePartitioningContext): - pass - - - # Enter a parse tree produced by frameQLParser#dropDatabase. - def enterDropDatabase(self, ctx:frameQLParser.DropDatabaseContext): - pass - - # Exit a parse tree produced by frameQLParser#dropDatabase. - def exitDropDatabase(self, ctx:frameQLParser.DropDatabaseContext): - pass - - - # Enter a parse tree produced by frameQLParser#dropEvent. - def enterDropEvent(self, ctx:frameQLParser.DropEventContext): - pass - - # Exit a parse tree produced by frameQLParser#dropEvent. - def exitDropEvent(self, ctx:frameQLParser.DropEventContext): - pass - - - # Enter a parse tree produced by frameQLParser#dropIndex. - def enterDropIndex(self, ctx:frameQLParser.DropIndexContext): - pass - - # Exit a parse tree produced by frameQLParser#dropIndex. - def exitDropIndex(self, ctx:frameQLParser.DropIndexContext): - pass - - - # Enter a parse tree produced by frameQLParser#dropLogfileGroup. - def enterDropLogfileGroup(self, ctx:frameQLParser.DropLogfileGroupContext): - pass - - # Exit a parse tree produced by frameQLParser#dropLogfileGroup. - def exitDropLogfileGroup(self, ctx:frameQLParser.DropLogfileGroupContext): - pass - - - # Enter a parse tree produced by frameQLParser#dropProcedure. - def enterDropProcedure(self, ctx:frameQLParser.DropProcedureContext): - pass - - # Exit a parse tree produced by frameQLParser#dropProcedure. - def exitDropProcedure(self, ctx:frameQLParser.DropProcedureContext): - pass - - - # Enter a parse tree produced by frameQLParser#dropFunction. - def enterDropFunction(self, ctx:frameQLParser.DropFunctionContext): - pass - - # Exit a parse tree produced by frameQLParser#dropFunction. - def exitDropFunction(self, ctx:frameQLParser.DropFunctionContext): - pass - - - # Enter a parse tree produced by frameQLParser#dropServer. - def enterDropServer(self, ctx:frameQLParser.DropServerContext): - pass - - # Exit a parse tree produced by frameQLParser#dropServer. - def exitDropServer(self, ctx:frameQLParser.DropServerContext): - pass - - - # Enter a parse tree produced by frameQLParser#dropTable. - def enterDropTable(self, ctx:frameQLParser.DropTableContext): - pass - - # Exit a parse tree produced by frameQLParser#dropTable. - def exitDropTable(self, ctx:frameQLParser.DropTableContext): - pass - - - # Enter a parse tree produced by frameQLParser#dropTablespace. - def enterDropTablespace(self, ctx:frameQLParser.DropTablespaceContext): - pass - - # Exit a parse tree produced by frameQLParser#dropTablespace. - def exitDropTablespace(self, ctx:frameQLParser.DropTablespaceContext): - pass - - - # Enter a parse tree produced by frameQLParser#dropTrigger. - def enterDropTrigger(self, ctx:frameQLParser.DropTriggerContext): - pass - - # Exit a parse tree produced by frameQLParser#dropTrigger. - def exitDropTrigger(self, ctx:frameQLParser.DropTriggerContext): - pass - - - # Enter a parse tree produced by frameQLParser#dropView. - def enterDropView(self, ctx:frameQLParser.DropViewContext): - pass - - # Exit a parse tree produced by frameQLParser#dropView. - def exitDropView(self, ctx:frameQLParser.DropViewContext): - pass - - - # Enter a parse tree produced by frameQLParser#renameTable. - def enterRenameTable(self, ctx:frameQLParser.RenameTableContext): - pass - - # Exit a parse tree produced by frameQLParser#renameTable. - def exitRenameTable(self, ctx:frameQLParser.RenameTableContext): - pass - - - # Enter a parse tree produced by frameQLParser#renameTableClause. - def enterRenameTableClause(self, ctx:frameQLParser.RenameTableClauseContext): - pass - - # Exit a parse tree produced by frameQLParser#renameTableClause. - def exitRenameTableClause(self, ctx:frameQLParser.RenameTableClauseContext): - pass - - - # Enter a parse tree produced by frameQLParser#truncateTable. - def enterTruncateTable(self, ctx:frameQLParser.TruncateTableContext): - pass - - # Exit a parse tree produced by frameQLParser#truncateTable. - def exitTruncateTable(self, ctx:frameQLParser.TruncateTableContext): - pass - - - # Enter a parse tree produced by frameQLParser#callStatement. - def enterCallStatement(self, ctx:frameQLParser.CallStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#callStatement. - def exitCallStatement(self, ctx:frameQLParser.CallStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#deleteStatement. - def enterDeleteStatement(self, ctx:frameQLParser.DeleteStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#deleteStatement. - def exitDeleteStatement(self, ctx:frameQLParser.DeleteStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#doStatement. - def enterDoStatement(self, ctx:frameQLParser.DoStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#doStatement. - def exitDoStatement(self, ctx:frameQLParser.DoStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#handlerStatement. - def enterHandlerStatement(self, ctx:frameQLParser.HandlerStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#handlerStatement. - def exitHandlerStatement(self, ctx:frameQLParser.HandlerStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#insertStatement. - def enterInsertStatement(self, ctx:frameQLParser.InsertStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#insertStatement. - def exitInsertStatement(self, ctx:frameQLParser.InsertStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#loadDataStatement. - def enterLoadDataStatement(self, ctx:frameQLParser.LoadDataStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#loadDataStatement. - def exitLoadDataStatement(self, ctx:frameQLParser.LoadDataStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#loadXmlStatement. - def enterLoadXmlStatement(self, ctx:frameQLParser.LoadXmlStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#loadXmlStatement. - def exitLoadXmlStatement(self, ctx:frameQLParser.LoadXmlStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#replaceStatement. - def enterReplaceStatement(self, ctx:frameQLParser.ReplaceStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#replaceStatement. - def exitReplaceStatement(self, ctx:frameQLParser.ReplaceStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#simpleSelect. - def enterSimpleSelect(self, ctx:frameQLParser.SimpleSelectContext): - pass - - # Exit a parse tree produced by frameQLParser#simpleSelect. - def exitSimpleSelect(self, ctx:frameQLParser.SimpleSelectContext): - pass - - - # Enter a parse tree produced by frameQLParser#parenthesisSelect. - def enterParenthesisSelect(self, ctx:frameQLParser.ParenthesisSelectContext): - pass - - # Exit a parse tree produced by frameQLParser#parenthesisSelect. - def exitParenthesisSelect(self, ctx:frameQLParser.ParenthesisSelectContext): - pass - - - # Enter a parse tree produced by frameQLParser#unionSelect. - def enterUnionSelect(self, ctx:frameQLParser.UnionSelectContext): - pass - - # Exit a parse tree produced by frameQLParser#unionSelect. - def exitUnionSelect(self, ctx:frameQLParser.UnionSelectContext): - pass - - - # Enter a parse tree produced by frameQLParser#unionParenthesisSelect. - def enterUnionParenthesisSelect(self, ctx:frameQLParser.UnionParenthesisSelectContext): - pass - - # Exit a parse tree produced by frameQLParser#unionParenthesisSelect. - def exitUnionParenthesisSelect(self, ctx:frameQLParser.UnionParenthesisSelectContext): - pass - - - # Enter a parse tree produced by frameQLParser#updateStatement. - def enterUpdateStatement(self, ctx:frameQLParser.UpdateStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#updateStatement. - def exitUpdateStatement(self, ctx:frameQLParser.UpdateStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#insertStatementValue. - def enterInsertStatementValue(self, ctx:frameQLParser.InsertStatementValueContext): - pass - - # Exit a parse tree produced by frameQLParser#insertStatementValue. - def exitInsertStatementValue(self, ctx:frameQLParser.InsertStatementValueContext): - pass - - - # Enter a parse tree produced by frameQLParser#updatedElement. - def enterUpdatedElement(self, ctx:frameQLParser.UpdatedElementContext): - pass - - # Exit a parse tree produced by frameQLParser#updatedElement. - def exitUpdatedElement(self, ctx:frameQLParser.UpdatedElementContext): - pass - - - # Enter a parse tree produced by frameQLParser#assignmentField. - def enterAssignmentField(self, ctx:frameQLParser.AssignmentFieldContext): - pass - - # Exit a parse tree produced by frameQLParser#assignmentField. - def exitAssignmentField(self, ctx:frameQLParser.AssignmentFieldContext): - pass - - - # Enter a parse tree produced by frameQLParser#lockClause. - def enterLockClause(self, ctx:frameQLParser.LockClauseContext): - pass - - # Exit a parse tree produced by frameQLParser#lockClause. - def exitLockClause(self, ctx:frameQLParser.LockClauseContext): - pass - - - # Enter a parse tree produced by frameQLParser#singleDeleteStatement. - def enterSingleDeleteStatement(self, ctx:frameQLParser.SingleDeleteStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#singleDeleteStatement. - def exitSingleDeleteStatement(self, ctx:frameQLParser.SingleDeleteStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#multipleDeleteStatement. - def enterMultipleDeleteStatement(self, ctx:frameQLParser.MultipleDeleteStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#multipleDeleteStatement. - def exitMultipleDeleteStatement(self, ctx:frameQLParser.MultipleDeleteStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#handlerOpenStatement. - def enterHandlerOpenStatement(self, ctx:frameQLParser.HandlerOpenStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#handlerOpenStatement. - def exitHandlerOpenStatement(self, ctx:frameQLParser.HandlerOpenStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#handlerReadIndexStatement. - def enterHandlerReadIndexStatement(self, ctx:frameQLParser.HandlerReadIndexStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#handlerReadIndexStatement. - def exitHandlerReadIndexStatement(self, ctx:frameQLParser.HandlerReadIndexStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#handlerReadStatement. - def enterHandlerReadStatement(self, ctx:frameQLParser.HandlerReadStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#handlerReadStatement. - def exitHandlerReadStatement(self, ctx:frameQLParser.HandlerReadStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#handlerCloseStatement. - def enterHandlerCloseStatement(self, ctx:frameQLParser.HandlerCloseStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#handlerCloseStatement. - def exitHandlerCloseStatement(self, ctx:frameQLParser.HandlerCloseStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#singleUpdateStatement. - def enterSingleUpdateStatement(self, ctx:frameQLParser.SingleUpdateStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#singleUpdateStatement. - def exitSingleUpdateStatement(self, ctx:frameQLParser.SingleUpdateStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#multipleUpdateStatement. - def enterMultipleUpdateStatement(self, ctx:frameQLParser.MultipleUpdateStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#multipleUpdateStatement. - def exitMultipleUpdateStatement(self, ctx:frameQLParser.MultipleUpdateStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#orderByClause. - def enterOrderByClause(self, ctx:frameQLParser.OrderByClauseContext): - pass - - # Exit a parse tree produced by frameQLParser#orderByClause. - def exitOrderByClause(self, ctx:frameQLParser.OrderByClauseContext): - pass - - - # Enter a parse tree produced by frameQLParser#orderByExpression. - def enterOrderByExpression(self, ctx:frameQLParser.OrderByExpressionContext): - pass - - # Exit a parse tree produced by frameQLParser#orderByExpression. - def exitOrderByExpression(self, ctx:frameQLParser.OrderByExpressionContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableSources. - def enterTableSources(self, ctx:frameQLParser.TableSourcesContext): - pass - - # Exit a parse tree produced by frameQLParser#tableSources. - def exitTableSources(self, ctx:frameQLParser.TableSourcesContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableSourceBase. - def enterTableSourceBase(self, ctx:frameQLParser.TableSourceBaseContext): - pass - - # Exit a parse tree produced by frameQLParser#tableSourceBase. - def exitTableSourceBase(self, ctx:frameQLParser.TableSourceBaseContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableSourceNested. - def enterTableSourceNested(self, ctx:frameQLParser.TableSourceNestedContext): - pass - - # Exit a parse tree produced by frameQLParser#tableSourceNested. - def exitTableSourceNested(self, ctx:frameQLParser.TableSourceNestedContext): - pass - - - # Enter a parse tree produced by frameQLParser#atomTableItem. - def enterAtomTableItem(self, ctx:frameQLParser.AtomTableItemContext): - pass - - # Exit a parse tree produced by frameQLParser#atomTableItem. - def exitAtomTableItem(self, ctx:frameQLParser.AtomTableItemContext): - pass - - - # Enter a parse tree produced by frameQLParser#subqueryTableItem. - def enterSubqueryTableItem(self, ctx:frameQLParser.SubqueryTableItemContext): - pass - - # Exit a parse tree produced by frameQLParser#subqueryTableItem. - def exitSubqueryTableItem(self, ctx:frameQLParser.SubqueryTableItemContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableSourcesItem. - def enterTableSourcesItem(self, ctx:frameQLParser.TableSourcesItemContext): - pass - - # Exit a parse tree produced by frameQLParser#tableSourcesItem. - def exitTableSourcesItem(self, ctx:frameQLParser.TableSourcesItemContext): - pass - - - # Enter a parse tree produced by frameQLParser#indexHint. - def enterIndexHint(self, ctx:frameQLParser.IndexHintContext): - pass - - # Exit a parse tree produced by frameQLParser#indexHint. - def exitIndexHint(self, ctx:frameQLParser.IndexHintContext): - pass - - - # Enter a parse tree produced by frameQLParser#indexHintType. - def enterIndexHintType(self, ctx:frameQLParser.IndexHintTypeContext): - pass - - # Exit a parse tree produced by frameQLParser#indexHintType. - def exitIndexHintType(self, ctx:frameQLParser.IndexHintTypeContext): - pass - - - # Enter a parse tree produced by frameQLParser#innerJoin. - def enterInnerJoin(self, ctx:frameQLParser.InnerJoinContext): - pass - - # Exit a parse tree produced by frameQLParser#innerJoin. - def exitInnerJoin(self, ctx:frameQLParser.InnerJoinContext): - pass - - - # Enter a parse tree produced by frameQLParser#straightJoin. - def enterStraightJoin(self, ctx:frameQLParser.StraightJoinContext): - pass - - # Exit a parse tree produced by frameQLParser#straightJoin. - def exitStraightJoin(self, ctx:frameQLParser.StraightJoinContext): - pass - - - # Enter a parse tree produced by frameQLParser#outerJoin. - def enterOuterJoin(self, ctx:frameQLParser.OuterJoinContext): - pass - - # Exit a parse tree produced by frameQLParser#outerJoin. - def exitOuterJoin(self, ctx:frameQLParser.OuterJoinContext): - pass - - - # Enter a parse tree produced by frameQLParser#naturalJoin. - def enterNaturalJoin(self, ctx:frameQLParser.NaturalJoinContext): - pass - - # Exit a parse tree produced by frameQLParser#naturalJoin. - def exitNaturalJoin(self, ctx:frameQLParser.NaturalJoinContext): - pass - - - # Enter a parse tree produced by frameQLParser#queryExpression. - def enterQueryExpression(self, ctx:frameQLParser.QueryExpressionContext): - pass - - # Exit a parse tree produced by frameQLParser#queryExpression. - def exitQueryExpression(self, ctx:frameQLParser.QueryExpressionContext): - pass - - - # Enter a parse tree produced by frameQLParser#queryExpressionNointo. - def enterQueryExpressionNointo(self, ctx:frameQLParser.QueryExpressionNointoContext): - pass - - # Exit a parse tree produced by frameQLParser#queryExpressionNointo. - def exitQueryExpressionNointo(self, ctx:frameQLParser.QueryExpressionNointoContext): - pass - - - # Enter a parse tree produced by frameQLParser#querySpecification. - def enterQuerySpecification(self, ctx:frameQLParser.QuerySpecificationContext): - pass - - # Exit a parse tree produced by frameQLParser#querySpecification. - def exitQuerySpecification(self, ctx:frameQLParser.QuerySpecificationContext): - pass - - - # Enter a parse tree produced by frameQLParser#querySpecificationNointo. - def enterQuerySpecificationNointo(self, ctx:frameQLParser.QuerySpecificationNointoContext): - pass - - # Exit a parse tree produced by frameQLParser#querySpecificationNointo. - def exitQuerySpecificationNointo(self, ctx:frameQLParser.QuerySpecificationNointoContext): - pass - - - # Enter a parse tree produced by frameQLParser#unionParenthesis. - def enterUnionParenthesis(self, ctx:frameQLParser.UnionParenthesisContext): - pass - - # Exit a parse tree produced by frameQLParser#unionParenthesis. - def exitUnionParenthesis(self, ctx:frameQLParser.UnionParenthesisContext): - pass - - - # Enter a parse tree produced by frameQLParser#unionStatement. - def enterUnionStatement(self, ctx:frameQLParser.UnionStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#unionStatement. - def exitUnionStatement(self, ctx:frameQLParser.UnionStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#selectSpec. - def enterSelectSpec(self, ctx:frameQLParser.SelectSpecContext): - pass - - # Exit a parse tree produced by frameQLParser#selectSpec. - def exitSelectSpec(self, ctx:frameQLParser.SelectSpecContext): - pass - - - # Enter a parse tree produced by frameQLParser#selectElements. - def enterSelectElements(self, ctx:frameQLParser.SelectElementsContext): - pass - - # Exit a parse tree produced by frameQLParser#selectElements. - def exitSelectElements(self, ctx:frameQLParser.SelectElementsContext): - pass - - - # Enter a parse tree produced by frameQLParser#selectStarElement. - def enterSelectStarElement(self, ctx:frameQLParser.SelectStarElementContext): - pass - - # Exit a parse tree produced by frameQLParser#selectStarElement. - def exitSelectStarElement(self, ctx:frameQLParser.SelectStarElementContext): - pass - - - # Enter a parse tree produced by frameQLParser#selectColumnElement. - def enterSelectColumnElement(self, ctx:frameQLParser.SelectColumnElementContext): - pass - - # Exit a parse tree produced by frameQLParser#selectColumnElement. - def exitSelectColumnElement(self, ctx:frameQLParser.SelectColumnElementContext): - pass - - - # Enter a parse tree produced by frameQLParser#selectFunctionElement. - def enterSelectFunctionElement(self, ctx:frameQLParser.SelectFunctionElementContext): - pass - - # Exit a parse tree produced by frameQLParser#selectFunctionElement. - def exitSelectFunctionElement(self, ctx:frameQLParser.SelectFunctionElementContext): - pass - - - # Enter a parse tree produced by frameQLParser#selectExpressionElement. - def enterSelectExpressionElement(self, ctx:frameQLParser.SelectExpressionElementContext): - pass - - # Exit a parse tree produced by frameQLParser#selectExpressionElement. - def exitSelectExpressionElement(self, ctx:frameQLParser.SelectExpressionElementContext): - pass - - - # Enter a parse tree produced by frameQLParser#errorTolerenceExpression. - def enterErrorTolerenceExpression(self, ctx:frameQLParser.ErrorTolerenceExpressionContext): - pass - - # Exit a parse tree produced by frameQLParser#errorTolerenceExpression. - def exitErrorTolerenceExpression(self, ctx:frameQLParser.ErrorTolerenceExpressionContext): - pass - - - # Enter a parse tree produced by frameQLParser#confLevelExpression. - def enterConfLevelExpression(self, ctx:frameQLParser.ConfLevelExpressionContext): - pass - - # Exit a parse tree produced by frameQLParser#confLevelExpression. - def exitConfLevelExpression(self, ctx:frameQLParser.ConfLevelExpressionContext): - pass - - - # Enter a parse tree produced by frameQLParser#selectIntoVariables. - def enterSelectIntoVariables(self, ctx:frameQLParser.SelectIntoVariablesContext): - pass - - # Exit a parse tree produced by frameQLParser#selectIntoVariables. - def exitSelectIntoVariables(self, ctx:frameQLParser.SelectIntoVariablesContext): - pass - - - # Enter a parse tree produced by frameQLParser#selectIntoDumpFile. - def enterSelectIntoDumpFile(self, ctx:frameQLParser.SelectIntoDumpFileContext): - pass - - # Exit a parse tree produced by frameQLParser#selectIntoDumpFile. - def exitSelectIntoDumpFile(self, ctx:frameQLParser.SelectIntoDumpFileContext): - pass - - - # Enter a parse tree produced by frameQLParser#selectIntoTextFile. - def enterSelectIntoTextFile(self, ctx:frameQLParser.SelectIntoTextFileContext): - pass - - # Exit a parse tree produced by frameQLParser#selectIntoTextFile. - def exitSelectIntoTextFile(self, ctx:frameQLParser.SelectIntoTextFileContext): - pass - - - # Enter a parse tree produced by frameQLParser#selectFieldsInto. - def enterSelectFieldsInto(self, ctx:frameQLParser.SelectFieldsIntoContext): - pass - - # Exit a parse tree produced by frameQLParser#selectFieldsInto. - def exitSelectFieldsInto(self, ctx:frameQLParser.SelectFieldsIntoContext): - pass - - - # Enter a parse tree produced by frameQLParser#selectLinesInto. - def enterSelectLinesInto(self, ctx:frameQLParser.SelectLinesIntoContext): - pass - - # Exit a parse tree produced by frameQLParser#selectLinesInto. - def exitSelectLinesInto(self, ctx:frameQLParser.SelectLinesIntoContext): - pass - - - # Enter a parse tree produced by frameQLParser#fromClause. - def enterFromClause(self, ctx:frameQLParser.FromClauseContext): - pass - - # Exit a parse tree produced by frameQLParser#fromClause. - def exitFromClause(self, ctx:frameQLParser.FromClauseContext): - pass - - - # Enter a parse tree produced by frameQLParser#groupByItem. - def enterGroupByItem(self, ctx:frameQLParser.GroupByItemContext): - pass - - # Exit a parse tree produced by frameQLParser#groupByItem. - def exitGroupByItem(self, ctx:frameQLParser.GroupByItemContext): - pass - - - # Enter a parse tree produced by frameQLParser#limitClause. - def enterLimitClause(self, ctx:frameQLParser.LimitClauseContext): - pass - - # Exit a parse tree produced by frameQLParser#limitClause. - def exitLimitClause(self, ctx:frameQLParser.LimitClauseContext): - pass - - - # Enter a parse tree produced by frameQLParser#startTransaction. - def enterStartTransaction(self, ctx:frameQLParser.StartTransactionContext): - pass - - # Exit a parse tree produced by frameQLParser#startTransaction. - def exitStartTransaction(self, ctx:frameQLParser.StartTransactionContext): - pass - - - # Enter a parse tree produced by frameQLParser#beginWork. - def enterBeginWork(self, ctx:frameQLParser.BeginWorkContext): - pass - - # Exit a parse tree produced by frameQLParser#beginWork. - def exitBeginWork(self, ctx:frameQLParser.BeginWorkContext): - pass - - - # Enter a parse tree produced by frameQLParser#commitWork. - def enterCommitWork(self, ctx:frameQLParser.CommitWorkContext): - pass - - # Exit a parse tree produced by frameQLParser#commitWork. - def exitCommitWork(self, ctx:frameQLParser.CommitWorkContext): - pass - - - # Enter a parse tree produced by frameQLParser#rollbackWork. - def enterRollbackWork(self, ctx:frameQLParser.RollbackWorkContext): - pass - - # Exit a parse tree produced by frameQLParser#rollbackWork. - def exitRollbackWork(self, ctx:frameQLParser.RollbackWorkContext): - pass - - - # Enter a parse tree produced by frameQLParser#savepointStatement. - def enterSavepointStatement(self, ctx:frameQLParser.SavepointStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#savepointStatement. - def exitSavepointStatement(self, ctx:frameQLParser.SavepointStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#rollbackStatement. - def enterRollbackStatement(self, ctx:frameQLParser.RollbackStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#rollbackStatement. - def exitRollbackStatement(self, ctx:frameQLParser.RollbackStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#releaseStatement. - def enterReleaseStatement(self, ctx:frameQLParser.ReleaseStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#releaseStatement. - def exitReleaseStatement(self, ctx:frameQLParser.ReleaseStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#lockTables. - def enterLockTables(self, ctx:frameQLParser.LockTablesContext): - pass - - # Exit a parse tree produced by frameQLParser#lockTables. - def exitLockTables(self, ctx:frameQLParser.LockTablesContext): - pass - - - # Enter a parse tree produced by frameQLParser#unlockTables. - def enterUnlockTables(self, ctx:frameQLParser.UnlockTablesContext): - pass - - # Exit a parse tree produced by frameQLParser#unlockTables. - def exitUnlockTables(self, ctx:frameQLParser.UnlockTablesContext): - pass - - - # Enter a parse tree produced by frameQLParser#setAutocommitStatement. - def enterSetAutocommitStatement(self, ctx:frameQLParser.SetAutocommitStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#setAutocommitStatement. - def exitSetAutocommitStatement(self, ctx:frameQLParser.SetAutocommitStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#setTransactionStatement. - def enterSetTransactionStatement(self, ctx:frameQLParser.SetTransactionStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#setTransactionStatement. - def exitSetTransactionStatement(self, ctx:frameQLParser.SetTransactionStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#transactionMode. - def enterTransactionMode(self, ctx:frameQLParser.TransactionModeContext): - pass - - # Exit a parse tree produced by frameQLParser#transactionMode. - def exitTransactionMode(self, ctx:frameQLParser.TransactionModeContext): - pass - - - # Enter a parse tree produced by frameQLParser#lockTableElement. - def enterLockTableElement(self, ctx:frameQLParser.LockTableElementContext): - pass - - # Exit a parse tree produced by frameQLParser#lockTableElement. - def exitLockTableElement(self, ctx:frameQLParser.LockTableElementContext): - pass - - - # Enter a parse tree produced by frameQLParser#lockAction. - def enterLockAction(self, ctx:frameQLParser.LockActionContext): - pass - - # Exit a parse tree produced by frameQLParser#lockAction. - def exitLockAction(self, ctx:frameQLParser.LockActionContext): - pass - - - # Enter a parse tree produced by frameQLParser#transactionOption. - def enterTransactionOption(self, ctx:frameQLParser.TransactionOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#transactionOption. - def exitTransactionOption(self, ctx:frameQLParser.TransactionOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#transactionLevel. - def enterTransactionLevel(self, ctx:frameQLParser.TransactionLevelContext): - pass - - # Exit a parse tree produced by frameQLParser#transactionLevel. - def exitTransactionLevel(self, ctx:frameQLParser.TransactionLevelContext): - pass - - - # Enter a parse tree produced by frameQLParser#changeMaster. - def enterChangeMaster(self, ctx:frameQLParser.ChangeMasterContext): - pass - - # Exit a parse tree produced by frameQLParser#changeMaster. - def exitChangeMaster(self, ctx:frameQLParser.ChangeMasterContext): - pass - - - # Enter a parse tree produced by frameQLParser#changeReplicationFilter. - def enterChangeReplicationFilter(self, ctx:frameQLParser.ChangeReplicationFilterContext): - pass - - # Exit a parse tree produced by frameQLParser#changeReplicationFilter. - def exitChangeReplicationFilter(self, ctx:frameQLParser.ChangeReplicationFilterContext): - pass - - - # Enter a parse tree produced by frameQLParser#purgeBinaryLogs. - def enterPurgeBinaryLogs(self, ctx:frameQLParser.PurgeBinaryLogsContext): - pass - - # Exit a parse tree produced by frameQLParser#purgeBinaryLogs. - def exitPurgeBinaryLogs(self, ctx:frameQLParser.PurgeBinaryLogsContext): - pass - - - # Enter a parse tree produced by frameQLParser#resetMaster. - def enterResetMaster(self, ctx:frameQLParser.ResetMasterContext): - pass - - # Exit a parse tree produced by frameQLParser#resetMaster. - def exitResetMaster(self, ctx:frameQLParser.ResetMasterContext): - pass - - - # Enter a parse tree produced by frameQLParser#resetSlave. - def enterResetSlave(self, ctx:frameQLParser.ResetSlaveContext): - pass - - # Exit a parse tree produced by frameQLParser#resetSlave. - def exitResetSlave(self, ctx:frameQLParser.ResetSlaveContext): - pass - - - # Enter a parse tree produced by frameQLParser#startSlave. - def enterStartSlave(self, ctx:frameQLParser.StartSlaveContext): - pass - - # Exit a parse tree produced by frameQLParser#startSlave. - def exitStartSlave(self, ctx:frameQLParser.StartSlaveContext): - pass - - - # Enter a parse tree produced by frameQLParser#stopSlave. - def enterStopSlave(self, ctx:frameQLParser.StopSlaveContext): - pass - - # Exit a parse tree produced by frameQLParser#stopSlave. - def exitStopSlave(self, ctx:frameQLParser.StopSlaveContext): - pass - - - # Enter a parse tree produced by frameQLParser#startGroupReplication. - def enterStartGroupReplication(self, ctx:frameQLParser.StartGroupReplicationContext): - pass - - # Exit a parse tree produced by frameQLParser#startGroupReplication. - def exitStartGroupReplication(self, ctx:frameQLParser.StartGroupReplicationContext): - pass - - - # Enter a parse tree produced by frameQLParser#stopGroupReplication. - def enterStopGroupReplication(self, ctx:frameQLParser.StopGroupReplicationContext): - pass - - # Exit a parse tree produced by frameQLParser#stopGroupReplication. - def exitStopGroupReplication(self, ctx:frameQLParser.StopGroupReplicationContext): - pass - - - # Enter a parse tree produced by frameQLParser#masterStringOption. - def enterMasterStringOption(self, ctx:frameQLParser.MasterStringOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#masterStringOption. - def exitMasterStringOption(self, ctx:frameQLParser.MasterStringOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#masterDecimalOption. - def enterMasterDecimalOption(self, ctx:frameQLParser.MasterDecimalOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#masterDecimalOption. - def exitMasterDecimalOption(self, ctx:frameQLParser.MasterDecimalOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#masterBoolOption. - def enterMasterBoolOption(self, ctx:frameQLParser.MasterBoolOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#masterBoolOption. - def exitMasterBoolOption(self, ctx:frameQLParser.MasterBoolOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#masterRealOption. - def enterMasterRealOption(self, ctx:frameQLParser.MasterRealOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#masterRealOption. - def exitMasterRealOption(self, ctx:frameQLParser.MasterRealOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#masterUidListOption. - def enterMasterUidListOption(self, ctx:frameQLParser.MasterUidListOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#masterUidListOption. - def exitMasterUidListOption(self, ctx:frameQLParser.MasterUidListOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#stringMasterOption. - def enterStringMasterOption(self, ctx:frameQLParser.StringMasterOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#stringMasterOption. - def exitStringMasterOption(self, ctx:frameQLParser.StringMasterOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#decimalMasterOption. - def enterDecimalMasterOption(self, ctx:frameQLParser.DecimalMasterOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#decimalMasterOption. - def exitDecimalMasterOption(self, ctx:frameQLParser.DecimalMasterOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#boolMasterOption. - def enterBoolMasterOption(self, ctx:frameQLParser.BoolMasterOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#boolMasterOption. - def exitBoolMasterOption(self, ctx:frameQLParser.BoolMasterOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#channelOption. - def enterChannelOption(self, ctx:frameQLParser.ChannelOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#channelOption. - def exitChannelOption(self, ctx:frameQLParser.ChannelOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#doDbReplication. - def enterDoDbReplication(self, ctx:frameQLParser.DoDbReplicationContext): - pass - - # Exit a parse tree produced by frameQLParser#doDbReplication. - def exitDoDbReplication(self, ctx:frameQLParser.DoDbReplicationContext): - pass - - - # Enter a parse tree produced by frameQLParser#ignoreDbReplication. - def enterIgnoreDbReplication(self, ctx:frameQLParser.IgnoreDbReplicationContext): - pass - - # Exit a parse tree produced by frameQLParser#ignoreDbReplication. - def exitIgnoreDbReplication(self, ctx:frameQLParser.IgnoreDbReplicationContext): - pass - - - # Enter a parse tree produced by frameQLParser#doTableReplication. - def enterDoTableReplication(self, ctx:frameQLParser.DoTableReplicationContext): - pass - - # Exit a parse tree produced by frameQLParser#doTableReplication. - def exitDoTableReplication(self, ctx:frameQLParser.DoTableReplicationContext): - pass - - - # Enter a parse tree produced by frameQLParser#ignoreTableReplication. - def enterIgnoreTableReplication(self, ctx:frameQLParser.IgnoreTableReplicationContext): - pass - - # Exit a parse tree produced by frameQLParser#ignoreTableReplication. - def exitIgnoreTableReplication(self, ctx:frameQLParser.IgnoreTableReplicationContext): - pass - - - # Enter a parse tree produced by frameQLParser#wildDoTableReplication. - def enterWildDoTableReplication(self, ctx:frameQLParser.WildDoTableReplicationContext): - pass - - # Exit a parse tree produced by frameQLParser#wildDoTableReplication. - def exitWildDoTableReplication(self, ctx:frameQLParser.WildDoTableReplicationContext): - pass - - - # Enter a parse tree produced by frameQLParser#wildIgnoreTableReplication. - def enterWildIgnoreTableReplication(self, ctx:frameQLParser.WildIgnoreTableReplicationContext): - pass - - # Exit a parse tree produced by frameQLParser#wildIgnoreTableReplication. - def exitWildIgnoreTableReplication(self, ctx:frameQLParser.WildIgnoreTableReplicationContext): - pass - - - # Enter a parse tree produced by frameQLParser#rewriteDbReplication. - def enterRewriteDbReplication(self, ctx:frameQLParser.RewriteDbReplicationContext): - pass - - # Exit a parse tree produced by frameQLParser#rewriteDbReplication. - def exitRewriteDbReplication(self, ctx:frameQLParser.RewriteDbReplicationContext): - pass - - - # Enter a parse tree produced by frameQLParser#tablePair. - def enterTablePair(self, ctx:frameQLParser.TablePairContext): - pass - - # Exit a parse tree produced by frameQLParser#tablePair. - def exitTablePair(self, ctx:frameQLParser.TablePairContext): - pass - - - # Enter a parse tree produced by frameQLParser#threadType. - def enterThreadType(self, ctx:frameQLParser.ThreadTypeContext): - pass - - # Exit a parse tree produced by frameQLParser#threadType. - def exitThreadType(self, ctx:frameQLParser.ThreadTypeContext): - pass - - - # Enter a parse tree produced by frameQLParser#gtidsUntilOption. - def enterGtidsUntilOption(self, ctx:frameQLParser.GtidsUntilOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#gtidsUntilOption. - def exitGtidsUntilOption(self, ctx:frameQLParser.GtidsUntilOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#masterLogUntilOption. - def enterMasterLogUntilOption(self, ctx:frameQLParser.MasterLogUntilOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#masterLogUntilOption. - def exitMasterLogUntilOption(self, ctx:frameQLParser.MasterLogUntilOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#relayLogUntilOption. - def enterRelayLogUntilOption(self, ctx:frameQLParser.RelayLogUntilOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#relayLogUntilOption. - def exitRelayLogUntilOption(self, ctx:frameQLParser.RelayLogUntilOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#sqlGapsUntilOption. - def enterSqlGapsUntilOption(self, ctx:frameQLParser.SqlGapsUntilOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#sqlGapsUntilOption. - def exitSqlGapsUntilOption(self, ctx:frameQLParser.SqlGapsUntilOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#userConnectionOption. - def enterUserConnectionOption(self, ctx:frameQLParser.UserConnectionOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#userConnectionOption. - def exitUserConnectionOption(self, ctx:frameQLParser.UserConnectionOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#passwordConnectionOption. - def enterPasswordConnectionOption(self, ctx:frameQLParser.PasswordConnectionOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#passwordConnectionOption. - def exitPasswordConnectionOption(self, ctx:frameQLParser.PasswordConnectionOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#defaultAuthConnectionOption. - def enterDefaultAuthConnectionOption(self, ctx:frameQLParser.DefaultAuthConnectionOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#defaultAuthConnectionOption. - def exitDefaultAuthConnectionOption(self, ctx:frameQLParser.DefaultAuthConnectionOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#pluginDirConnectionOption. - def enterPluginDirConnectionOption(self, ctx:frameQLParser.PluginDirConnectionOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#pluginDirConnectionOption. - def exitPluginDirConnectionOption(self, ctx:frameQLParser.PluginDirConnectionOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#gtuidSet. - def enterGtuidSet(self, ctx:frameQLParser.GtuidSetContext): - pass - - # Exit a parse tree produced by frameQLParser#gtuidSet. - def exitGtuidSet(self, ctx:frameQLParser.GtuidSetContext): - pass - - - # Enter a parse tree produced by frameQLParser#xaStartTransaction. - def enterXaStartTransaction(self, ctx:frameQLParser.XaStartTransactionContext): - pass - - # Exit a parse tree produced by frameQLParser#xaStartTransaction. - def exitXaStartTransaction(self, ctx:frameQLParser.XaStartTransactionContext): - pass - - - # Enter a parse tree produced by frameQLParser#xaEndTransaction. - def enterXaEndTransaction(self, ctx:frameQLParser.XaEndTransactionContext): - pass - - # Exit a parse tree produced by frameQLParser#xaEndTransaction. - def exitXaEndTransaction(self, ctx:frameQLParser.XaEndTransactionContext): - pass - - - # Enter a parse tree produced by frameQLParser#xaPrepareStatement. - def enterXaPrepareStatement(self, ctx:frameQLParser.XaPrepareStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#xaPrepareStatement. - def exitXaPrepareStatement(self, ctx:frameQLParser.XaPrepareStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#xaCommitWork. - def enterXaCommitWork(self, ctx:frameQLParser.XaCommitWorkContext): - pass - - # Exit a parse tree produced by frameQLParser#xaCommitWork. - def exitXaCommitWork(self, ctx:frameQLParser.XaCommitWorkContext): - pass - - - # Enter a parse tree produced by frameQLParser#xaRollbackWork. - def enterXaRollbackWork(self, ctx:frameQLParser.XaRollbackWorkContext): - pass - - # Exit a parse tree produced by frameQLParser#xaRollbackWork. - def exitXaRollbackWork(self, ctx:frameQLParser.XaRollbackWorkContext): - pass - - - # Enter a parse tree produced by frameQLParser#xaRecoverWork. - def enterXaRecoverWork(self, ctx:frameQLParser.XaRecoverWorkContext): - pass - - # Exit a parse tree produced by frameQLParser#xaRecoverWork. - def exitXaRecoverWork(self, ctx:frameQLParser.XaRecoverWorkContext): - pass - - - # Enter a parse tree produced by frameQLParser#prepareStatement. - def enterPrepareStatement(self, ctx:frameQLParser.PrepareStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#prepareStatement. - def exitPrepareStatement(self, ctx:frameQLParser.PrepareStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#executeStatement. - def enterExecuteStatement(self, ctx:frameQLParser.ExecuteStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#executeStatement. - def exitExecuteStatement(self, ctx:frameQLParser.ExecuteStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#deallocatePrepare. - def enterDeallocatePrepare(self, ctx:frameQLParser.DeallocatePrepareContext): - pass - - # Exit a parse tree produced by frameQLParser#deallocatePrepare. - def exitDeallocatePrepare(self, ctx:frameQLParser.DeallocatePrepareContext): - pass - - - # Enter a parse tree produced by frameQLParser#routineBody. - def enterRoutineBody(self, ctx:frameQLParser.RoutineBodyContext): - pass - - # Exit a parse tree produced by frameQLParser#routineBody. - def exitRoutineBody(self, ctx:frameQLParser.RoutineBodyContext): - pass - - - # Enter a parse tree produced by frameQLParser#blockStatement. - def enterBlockStatement(self, ctx:frameQLParser.BlockStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#blockStatement. - def exitBlockStatement(self, ctx:frameQLParser.BlockStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#caseStatement. - def enterCaseStatement(self, ctx:frameQLParser.CaseStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#caseStatement. - def exitCaseStatement(self, ctx:frameQLParser.CaseStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#ifStatement. - def enterIfStatement(self, ctx:frameQLParser.IfStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#ifStatement. - def exitIfStatement(self, ctx:frameQLParser.IfStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#iterateStatement. - def enterIterateStatement(self, ctx:frameQLParser.IterateStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#iterateStatement. - def exitIterateStatement(self, ctx:frameQLParser.IterateStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#leaveStatement. - def enterLeaveStatement(self, ctx:frameQLParser.LeaveStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#leaveStatement. - def exitLeaveStatement(self, ctx:frameQLParser.LeaveStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#loopStatement. - def enterLoopStatement(self, ctx:frameQLParser.LoopStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#loopStatement. - def exitLoopStatement(self, ctx:frameQLParser.LoopStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#repeatStatement. - def enterRepeatStatement(self, ctx:frameQLParser.RepeatStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#repeatStatement. - def exitRepeatStatement(self, ctx:frameQLParser.RepeatStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#returnStatement. - def enterReturnStatement(self, ctx:frameQLParser.ReturnStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#returnStatement. - def exitReturnStatement(self, ctx:frameQLParser.ReturnStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#whileStatement. - def enterWhileStatement(self, ctx:frameQLParser.WhileStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#whileStatement. - def exitWhileStatement(self, ctx:frameQLParser.WhileStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#CloseCursor. - def enterCloseCursor(self, ctx:frameQLParser.CloseCursorContext): - pass - - # Exit a parse tree produced by frameQLParser#CloseCursor. - def exitCloseCursor(self, ctx:frameQLParser.CloseCursorContext): - pass - - - # Enter a parse tree produced by frameQLParser#FetchCursor. - def enterFetchCursor(self, ctx:frameQLParser.FetchCursorContext): - pass - - # Exit a parse tree produced by frameQLParser#FetchCursor. - def exitFetchCursor(self, ctx:frameQLParser.FetchCursorContext): - pass - - - # Enter a parse tree produced by frameQLParser#OpenCursor. - def enterOpenCursor(self, ctx:frameQLParser.OpenCursorContext): - pass - - # Exit a parse tree produced by frameQLParser#OpenCursor. - def exitOpenCursor(self, ctx:frameQLParser.OpenCursorContext): - pass - - - # Enter a parse tree produced by frameQLParser#declareVariable. - def enterDeclareVariable(self, ctx:frameQLParser.DeclareVariableContext): - pass - - # Exit a parse tree produced by frameQLParser#declareVariable. - def exitDeclareVariable(self, ctx:frameQLParser.DeclareVariableContext): - pass - - - # Enter a parse tree produced by frameQLParser#declareCondition. - def enterDeclareCondition(self, ctx:frameQLParser.DeclareConditionContext): - pass - - # Exit a parse tree produced by frameQLParser#declareCondition. - def exitDeclareCondition(self, ctx:frameQLParser.DeclareConditionContext): - pass - - - # Enter a parse tree produced by frameQLParser#declareCursor. - def enterDeclareCursor(self, ctx:frameQLParser.DeclareCursorContext): - pass - - # Exit a parse tree produced by frameQLParser#declareCursor. - def exitDeclareCursor(self, ctx:frameQLParser.DeclareCursorContext): - pass - - - # Enter a parse tree produced by frameQLParser#declareHandler. - def enterDeclareHandler(self, ctx:frameQLParser.DeclareHandlerContext): - pass - - # Exit a parse tree produced by frameQLParser#declareHandler. - def exitDeclareHandler(self, ctx:frameQLParser.DeclareHandlerContext): - pass - - - # Enter a parse tree produced by frameQLParser#handlerConditionCode. - def enterHandlerConditionCode(self, ctx:frameQLParser.HandlerConditionCodeContext): - pass - - # Exit a parse tree produced by frameQLParser#handlerConditionCode. - def exitHandlerConditionCode(self, ctx:frameQLParser.HandlerConditionCodeContext): - pass - - - # Enter a parse tree produced by frameQLParser#handlerConditionState. - def enterHandlerConditionState(self, ctx:frameQLParser.HandlerConditionStateContext): - pass - - # Exit a parse tree produced by frameQLParser#handlerConditionState. - def exitHandlerConditionState(self, ctx:frameQLParser.HandlerConditionStateContext): - pass - - - # Enter a parse tree produced by frameQLParser#handlerConditionName. - def enterHandlerConditionName(self, ctx:frameQLParser.HandlerConditionNameContext): - pass - - # Exit a parse tree produced by frameQLParser#handlerConditionName. - def exitHandlerConditionName(self, ctx:frameQLParser.HandlerConditionNameContext): - pass - - - # Enter a parse tree produced by frameQLParser#handlerConditionWarning. - def enterHandlerConditionWarning(self, ctx:frameQLParser.HandlerConditionWarningContext): - pass - - # Exit a parse tree produced by frameQLParser#handlerConditionWarning. - def exitHandlerConditionWarning(self, ctx:frameQLParser.HandlerConditionWarningContext): - pass - - - # Enter a parse tree produced by frameQLParser#handlerConditionNotfound. - def enterHandlerConditionNotfound(self, ctx:frameQLParser.HandlerConditionNotfoundContext): - pass - - # Exit a parse tree produced by frameQLParser#handlerConditionNotfound. - def exitHandlerConditionNotfound(self, ctx:frameQLParser.HandlerConditionNotfoundContext): - pass - - - # Enter a parse tree produced by frameQLParser#handlerConditionException. - def enterHandlerConditionException(self, ctx:frameQLParser.HandlerConditionExceptionContext): - pass - - # Exit a parse tree produced by frameQLParser#handlerConditionException. - def exitHandlerConditionException(self, ctx:frameQLParser.HandlerConditionExceptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#procedureSqlStatement. - def enterProcedureSqlStatement(self, ctx:frameQLParser.ProcedureSqlStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#procedureSqlStatement. - def exitProcedureSqlStatement(self, ctx:frameQLParser.ProcedureSqlStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#caseAlternative. - def enterCaseAlternative(self, ctx:frameQLParser.CaseAlternativeContext): - pass - - # Exit a parse tree produced by frameQLParser#caseAlternative. - def exitCaseAlternative(self, ctx:frameQLParser.CaseAlternativeContext): - pass - - - # Enter a parse tree produced by frameQLParser#elifAlternative. - def enterElifAlternative(self, ctx:frameQLParser.ElifAlternativeContext): - pass - - # Exit a parse tree produced by frameQLParser#elifAlternative. - def exitElifAlternative(self, ctx:frameQLParser.ElifAlternativeContext): - pass - - - # Enter a parse tree produced by frameQLParser#alterUserMysqlV56. - def enterAlterUserMysqlV56(self, ctx:frameQLParser.AlterUserMysqlV56Context): - pass - - # Exit a parse tree produced by frameQLParser#alterUserMysqlV56. - def exitAlterUserMysqlV56(self, ctx:frameQLParser.AlterUserMysqlV56Context): - pass - - - # Enter a parse tree produced by frameQLParser#alterUserMysqlV57. - def enterAlterUserMysqlV57(self, ctx:frameQLParser.AlterUserMysqlV57Context): - pass - - # Exit a parse tree produced by frameQLParser#alterUserMysqlV57. - def exitAlterUserMysqlV57(self, ctx:frameQLParser.AlterUserMysqlV57Context): - pass - - - # Enter a parse tree produced by frameQLParser#createUserMysqlV56. - def enterCreateUserMysqlV56(self, ctx:frameQLParser.CreateUserMysqlV56Context): - pass - - # Exit a parse tree produced by frameQLParser#createUserMysqlV56. - def exitCreateUserMysqlV56(self, ctx:frameQLParser.CreateUserMysqlV56Context): - pass - - - # Enter a parse tree produced by frameQLParser#createUserMysqlV57. - def enterCreateUserMysqlV57(self, ctx:frameQLParser.CreateUserMysqlV57Context): - pass - - # Exit a parse tree produced by frameQLParser#createUserMysqlV57. - def exitCreateUserMysqlV57(self, ctx:frameQLParser.CreateUserMysqlV57Context): - pass - - - # Enter a parse tree produced by frameQLParser#dropUser. - def enterDropUser(self, ctx:frameQLParser.DropUserContext): - pass - - # Exit a parse tree produced by frameQLParser#dropUser. - def exitDropUser(self, ctx:frameQLParser.DropUserContext): - pass - - - # Enter a parse tree produced by frameQLParser#grantStatement. - def enterGrantStatement(self, ctx:frameQLParser.GrantStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#grantStatement. - def exitGrantStatement(self, ctx:frameQLParser.GrantStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#grantProxy. - def enterGrantProxy(self, ctx:frameQLParser.GrantProxyContext): - pass - - # Exit a parse tree produced by frameQLParser#grantProxy. - def exitGrantProxy(self, ctx:frameQLParser.GrantProxyContext): - pass - - - # Enter a parse tree produced by frameQLParser#renameUser. - def enterRenameUser(self, ctx:frameQLParser.RenameUserContext): - pass - - # Exit a parse tree produced by frameQLParser#renameUser. - def exitRenameUser(self, ctx:frameQLParser.RenameUserContext): - pass - - - # Enter a parse tree produced by frameQLParser#detailRevoke. - def enterDetailRevoke(self, ctx:frameQLParser.DetailRevokeContext): - pass - - # Exit a parse tree produced by frameQLParser#detailRevoke. - def exitDetailRevoke(self, ctx:frameQLParser.DetailRevokeContext): - pass - - - # Enter a parse tree produced by frameQLParser#shortRevoke. - def enterShortRevoke(self, ctx:frameQLParser.ShortRevokeContext): - pass - - # Exit a parse tree produced by frameQLParser#shortRevoke. - def exitShortRevoke(self, ctx:frameQLParser.ShortRevokeContext): - pass - - - # Enter a parse tree produced by frameQLParser#revokeProxy. - def enterRevokeProxy(self, ctx:frameQLParser.RevokeProxyContext): - pass - - # Exit a parse tree produced by frameQLParser#revokeProxy. - def exitRevokeProxy(self, ctx:frameQLParser.RevokeProxyContext): - pass - - - # Enter a parse tree produced by frameQLParser#setPasswordStatement. - def enterSetPasswordStatement(self, ctx:frameQLParser.SetPasswordStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#setPasswordStatement. - def exitSetPasswordStatement(self, ctx:frameQLParser.SetPasswordStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#userSpecification. - def enterUserSpecification(self, ctx:frameQLParser.UserSpecificationContext): - pass - - # Exit a parse tree produced by frameQLParser#userSpecification. - def exitUserSpecification(self, ctx:frameQLParser.UserSpecificationContext): - pass - - - # Enter a parse tree produced by frameQLParser#passwordAuthOption. - def enterPasswordAuthOption(self, ctx:frameQLParser.PasswordAuthOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#passwordAuthOption. - def exitPasswordAuthOption(self, ctx:frameQLParser.PasswordAuthOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#stringAuthOption. - def enterStringAuthOption(self, ctx:frameQLParser.StringAuthOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#stringAuthOption. - def exitStringAuthOption(self, ctx:frameQLParser.StringAuthOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#hashAuthOption. - def enterHashAuthOption(self, ctx:frameQLParser.HashAuthOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#hashAuthOption. - def exitHashAuthOption(self, ctx:frameQLParser.HashAuthOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#simpleAuthOption. - def enterSimpleAuthOption(self, ctx:frameQLParser.SimpleAuthOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#simpleAuthOption. - def exitSimpleAuthOption(self, ctx:frameQLParser.SimpleAuthOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#tlsOption. - def enterTlsOption(self, ctx:frameQLParser.TlsOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#tlsOption. - def exitTlsOption(self, ctx:frameQLParser.TlsOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#userResourceOption. - def enterUserResourceOption(self, ctx:frameQLParser.UserResourceOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#userResourceOption. - def exitUserResourceOption(self, ctx:frameQLParser.UserResourceOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#userPasswordOption. - def enterUserPasswordOption(self, ctx:frameQLParser.UserPasswordOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#userPasswordOption. - def exitUserPasswordOption(self, ctx:frameQLParser.UserPasswordOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#userLockOption. - def enterUserLockOption(self, ctx:frameQLParser.UserLockOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#userLockOption. - def exitUserLockOption(self, ctx:frameQLParser.UserLockOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#privelegeClause. - def enterPrivelegeClause(self, ctx:frameQLParser.PrivelegeClauseContext): - pass - - # Exit a parse tree produced by frameQLParser#privelegeClause. - def exitPrivelegeClause(self, ctx:frameQLParser.PrivelegeClauseContext): - pass - - - # Enter a parse tree produced by frameQLParser#privilege. - def enterPrivilege(self, ctx:frameQLParser.PrivilegeContext): - pass - - # Exit a parse tree produced by frameQLParser#privilege. - def exitPrivilege(self, ctx:frameQLParser.PrivilegeContext): - pass - - - # Enter a parse tree produced by frameQLParser#currentSchemaPriviLevel. - def enterCurrentSchemaPriviLevel(self, ctx:frameQLParser.CurrentSchemaPriviLevelContext): - pass - - # Exit a parse tree produced by frameQLParser#currentSchemaPriviLevel. - def exitCurrentSchemaPriviLevel(self, ctx:frameQLParser.CurrentSchemaPriviLevelContext): - pass - - - # Enter a parse tree produced by frameQLParser#globalPrivLevel. - def enterGlobalPrivLevel(self, ctx:frameQLParser.GlobalPrivLevelContext): - pass - - # Exit a parse tree produced by frameQLParser#globalPrivLevel. - def exitGlobalPrivLevel(self, ctx:frameQLParser.GlobalPrivLevelContext): - pass - - - # Enter a parse tree produced by frameQLParser#definiteSchemaPrivLevel. - def enterDefiniteSchemaPrivLevel(self, ctx:frameQLParser.DefiniteSchemaPrivLevelContext): - pass - - # Exit a parse tree produced by frameQLParser#definiteSchemaPrivLevel. - def exitDefiniteSchemaPrivLevel(self, ctx:frameQLParser.DefiniteSchemaPrivLevelContext): - pass - - - # Enter a parse tree produced by frameQLParser#definiteFullTablePrivLevel. - def enterDefiniteFullTablePrivLevel(self, ctx:frameQLParser.DefiniteFullTablePrivLevelContext): - pass - - # Exit a parse tree produced by frameQLParser#definiteFullTablePrivLevel. - def exitDefiniteFullTablePrivLevel(self, ctx:frameQLParser.DefiniteFullTablePrivLevelContext): - pass - - - # Enter a parse tree produced by frameQLParser#definiteTablePrivLevel. - def enterDefiniteTablePrivLevel(self, ctx:frameQLParser.DefiniteTablePrivLevelContext): - pass - - # Exit a parse tree produced by frameQLParser#definiteTablePrivLevel. - def exitDefiniteTablePrivLevel(self, ctx:frameQLParser.DefiniteTablePrivLevelContext): - pass - - - # Enter a parse tree produced by frameQLParser#renameUserClause. - def enterRenameUserClause(self, ctx:frameQLParser.RenameUserClauseContext): - pass - - # Exit a parse tree produced by frameQLParser#renameUserClause. - def exitRenameUserClause(self, ctx:frameQLParser.RenameUserClauseContext): - pass - - - # Enter a parse tree produced by frameQLParser#analyzeTable. - def enterAnalyzeTable(self, ctx:frameQLParser.AnalyzeTableContext): - pass - - # Exit a parse tree produced by frameQLParser#analyzeTable. - def exitAnalyzeTable(self, ctx:frameQLParser.AnalyzeTableContext): - pass - - - # Enter a parse tree produced by frameQLParser#checkTable. - def enterCheckTable(self, ctx:frameQLParser.CheckTableContext): - pass - - # Exit a parse tree produced by frameQLParser#checkTable. - def exitCheckTable(self, ctx:frameQLParser.CheckTableContext): - pass - - - # Enter a parse tree produced by frameQLParser#checksumTable. - def enterChecksumTable(self, ctx:frameQLParser.ChecksumTableContext): - pass - - # Exit a parse tree produced by frameQLParser#checksumTable. - def exitChecksumTable(self, ctx:frameQLParser.ChecksumTableContext): - pass - - - # Enter a parse tree produced by frameQLParser#optimizeTable. - def enterOptimizeTable(self, ctx:frameQLParser.OptimizeTableContext): - pass - - # Exit a parse tree produced by frameQLParser#optimizeTable. - def exitOptimizeTable(self, ctx:frameQLParser.OptimizeTableContext): - pass - - - # Enter a parse tree produced by frameQLParser#repairTable. - def enterRepairTable(self, ctx:frameQLParser.RepairTableContext): - pass - - # Exit a parse tree produced by frameQLParser#repairTable. - def exitRepairTable(self, ctx:frameQLParser.RepairTableContext): - pass - - - # Enter a parse tree produced by frameQLParser#checkTableOption. - def enterCheckTableOption(self, ctx:frameQLParser.CheckTableOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#checkTableOption. - def exitCheckTableOption(self, ctx:frameQLParser.CheckTableOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#createUdfunction. - def enterCreateUdfunction(self, ctx:frameQLParser.CreateUdfunctionContext): - pass - - # Exit a parse tree produced by frameQLParser#createUdfunction. - def exitCreateUdfunction(self, ctx:frameQLParser.CreateUdfunctionContext): - pass - - - # Enter a parse tree produced by frameQLParser#installPlugin. - def enterInstallPlugin(self, ctx:frameQLParser.InstallPluginContext): - pass - - # Exit a parse tree produced by frameQLParser#installPlugin. - def exitInstallPlugin(self, ctx:frameQLParser.InstallPluginContext): - pass - - - # Enter a parse tree produced by frameQLParser#uninstallPlugin. - def enterUninstallPlugin(self, ctx:frameQLParser.UninstallPluginContext): - pass - - # Exit a parse tree produced by frameQLParser#uninstallPlugin. - def exitUninstallPlugin(self, ctx:frameQLParser.UninstallPluginContext): - pass - - - # Enter a parse tree produced by frameQLParser#setVariable. - def enterSetVariable(self, ctx:frameQLParser.SetVariableContext): - pass - - # Exit a parse tree produced by frameQLParser#setVariable. - def exitSetVariable(self, ctx:frameQLParser.SetVariableContext): - pass - - - # Enter a parse tree produced by frameQLParser#setCharset. - def enterSetCharset(self, ctx:frameQLParser.SetCharsetContext): - pass - - # Exit a parse tree produced by frameQLParser#setCharset. - def exitSetCharset(self, ctx:frameQLParser.SetCharsetContext): - pass - - - # Enter a parse tree produced by frameQLParser#setNames. - def enterSetNames(self, ctx:frameQLParser.SetNamesContext): - pass - - # Exit a parse tree produced by frameQLParser#setNames. - def exitSetNames(self, ctx:frameQLParser.SetNamesContext): - pass - - - # Enter a parse tree produced by frameQLParser#setPassword. - def enterSetPassword(self, ctx:frameQLParser.SetPasswordContext): - pass - - # Exit a parse tree produced by frameQLParser#setPassword. - def exitSetPassword(self, ctx:frameQLParser.SetPasswordContext): - pass - - - # Enter a parse tree produced by frameQLParser#setTransaction. - def enterSetTransaction(self, ctx:frameQLParser.SetTransactionContext): - pass - - # Exit a parse tree produced by frameQLParser#setTransaction. - def exitSetTransaction(self, ctx:frameQLParser.SetTransactionContext): - pass - - - # Enter a parse tree produced by frameQLParser#setAutocommit. - def enterSetAutocommit(self, ctx:frameQLParser.SetAutocommitContext): - pass - - # Exit a parse tree produced by frameQLParser#setAutocommit. - def exitSetAutocommit(self, ctx:frameQLParser.SetAutocommitContext): - pass - - - # Enter a parse tree produced by frameQLParser#showMasterLogs. - def enterShowMasterLogs(self, ctx:frameQLParser.ShowMasterLogsContext): - pass - - # Exit a parse tree produced by frameQLParser#showMasterLogs. - def exitShowMasterLogs(self, ctx:frameQLParser.ShowMasterLogsContext): - pass - - - # Enter a parse tree produced by frameQLParser#showLogEvents. - def enterShowLogEvents(self, ctx:frameQLParser.ShowLogEventsContext): - pass - - # Exit a parse tree produced by frameQLParser#showLogEvents. - def exitShowLogEvents(self, ctx:frameQLParser.ShowLogEventsContext): - pass - - - # Enter a parse tree produced by frameQLParser#showObjectFilter. - def enterShowObjectFilter(self, ctx:frameQLParser.ShowObjectFilterContext): - pass - - # Exit a parse tree produced by frameQLParser#showObjectFilter. - def exitShowObjectFilter(self, ctx:frameQLParser.ShowObjectFilterContext): - pass - - - # Enter a parse tree produced by frameQLParser#showColumns. - def enterShowColumns(self, ctx:frameQLParser.ShowColumnsContext): - pass - - # Exit a parse tree produced by frameQLParser#showColumns. - def exitShowColumns(self, ctx:frameQLParser.ShowColumnsContext): - pass - - - # Enter a parse tree produced by frameQLParser#showCreateDb. - def enterShowCreateDb(self, ctx:frameQLParser.ShowCreateDbContext): - pass - - # Exit a parse tree produced by frameQLParser#showCreateDb. - def exitShowCreateDb(self, ctx:frameQLParser.ShowCreateDbContext): - pass - - - # Enter a parse tree produced by frameQLParser#showCreateFullIdObject. - def enterShowCreateFullIdObject(self, ctx:frameQLParser.ShowCreateFullIdObjectContext): - pass - - # Exit a parse tree produced by frameQLParser#showCreateFullIdObject. - def exitShowCreateFullIdObject(self, ctx:frameQLParser.ShowCreateFullIdObjectContext): - pass - - - # Enter a parse tree produced by frameQLParser#showCreateUser. - def enterShowCreateUser(self, ctx:frameQLParser.ShowCreateUserContext): - pass - - # Exit a parse tree produced by frameQLParser#showCreateUser. - def exitShowCreateUser(self, ctx:frameQLParser.ShowCreateUserContext): - pass - - - # Enter a parse tree produced by frameQLParser#showEngine. - def enterShowEngine(self, ctx:frameQLParser.ShowEngineContext): - pass - - # Exit a parse tree produced by frameQLParser#showEngine. - def exitShowEngine(self, ctx:frameQLParser.ShowEngineContext): - pass - - - # Enter a parse tree produced by frameQLParser#showGlobalInfo. - def enterShowGlobalInfo(self, ctx:frameQLParser.ShowGlobalInfoContext): - pass - - # Exit a parse tree produced by frameQLParser#showGlobalInfo. - def exitShowGlobalInfo(self, ctx:frameQLParser.ShowGlobalInfoContext): - pass - - - # Enter a parse tree produced by frameQLParser#showErrors. - def enterShowErrors(self, ctx:frameQLParser.ShowErrorsContext): - pass - - # Exit a parse tree produced by frameQLParser#showErrors. - def exitShowErrors(self, ctx:frameQLParser.ShowErrorsContext): - pass - - - # Enter a parse tree produced by frameQLParser#showCountErrors. - def enterShowCountErrors(self, ctx:frameQLParser.ShowCountErrorsContext): - pass - - # Exit a parse tree produced by frameQLParser#showCountErrors. - def exitShowCountErrors(self, ctx:frameQLParser.ShowCountErrorsContext): - pass - - - # Enter a parse tree produced by frameQLParser#showSchemaFilter. - def enterShowSchemaFilter(self, ctx:frameQLParser.ShowSchemaFilterContext): - pass - - # Exit a parse tree produced by frameQLParser#showSchemaFilter. - def exitShowSchemaFilter(self, ctx:frameQLParser.ShowSchemaFilterContext): - pass - - - # Enter a parse tree produced by frameQLParser#showRoutine. - def enterShowRoutine(self, ctx:frameQLParser.ShowRoutineContext): - pass - - # Exit a parse tree produced by frameQLParser#showRoutine. - def exitShowRoutine(self, ctx:frameQLParser.ShowRoutineContext): - pass - - - # Enter a parse tree produced by frameQLParser#showGrants. - def enterShowGrants(self, ctx:frameQLParser.ShowGrantsContext): - pass - - # Exit a parse tree produced by frameQLParser#showGrants. - def exitShowGrants(self, ctx:frameQLParser.ShowGrantsContext): - pass - - - # Enter a parse tree produced by frameQLParser#showIndexes. - def enterShowIndexes(self, ctx:frameQLParser.ShowIndexesContext): - pass - - # Exit a parse tree produced by frameQLParser#showIndexes. - def exitShowIndexes(self, ctx:frameQLParser.ShowIndexesContext): - pass - - - # Enter a parse tree produced by frameQLParser#showOpenTables. - def enterShowOpenTables(self, ctx:frameQLParser.ShowOpenTablesContext): - pass - - # Exit a parse tree produced by frameQLParser#showOpenTables. - def exitShowOpenTables(self, ctx:frameQLParser.ShowOpenTablesContext): - pass - - - # Enter a parse tree produced by frameQLParser#showProfile. - def enterShowProfile(self, ctx:frameQLParser.ShowProfileContext): - pass - - # Exit a parse tree produced by frameQLParser#showProfile. - def exitShowProfile(self, ctx:frameQLParser.ShowProfileContext): - pass - - - # Enter a parse tree produced by frameQLParser#showSlaveStatus. - def enterShowSlaveStatus(self, ctx:frameQLParser.ShowSlaveStatusContext): - pass - - # Exit a parse tree produced by frameQLParser#showSlaveStatus. - def exitShowSlaveStatus(self, ctx:frameQLParser.ShowSlaveStatusContext): - pass - - - # Enter a parse tree produced by frameQLParser#variableClause. - def enterVariableClause(self, ctx:frameQLParser.VariableClauseContext): - pass - - # Exit a parse tree produced by frameQLParser#variableClause. - def exitVariableClause(self, ctx:frameQLParser.VariableClauseContext): - pass - - - # Enter a parse tree produced by frameQLParser#showCommonEntity. - def enterShowCommonEntity(self, ctx:frameQLParser.ShowCommonEntityContext): - pass - - # Exit a parse tree produced by frameQLParser#showCommonEntity. - def exitShowCommonEntity(self, ctx:frameQLParser.ShowCommonEntityContext): - pass - - - # Enter a parse tree produced by frameQLParser#showFilter. - def enterShowFilter(self, ctx:frameQLParser.ShowFilterContext): - pass - - # Exit a parse tree produced by frameQLParser#showFilter. - def exitShowFilter(self, ctx:frameQLParser.ShowFilterContext): - pass - - - # Enter a parse tree produced by frameQLParser#showGlobalInfoClause. - def enterShowGlobalInfoClause(self, ctx:frameQLParser.ShowGlobalInfoClauseContext): - pass - - # Exit a parse tree produced by frameQLParser#showGlobalInfoClause. - def exitShowGlobalInfoClause(self, ctx:frameQLParser.ShowGlobalInfoClauseContext): - pass - - - # Enter a parse tree produced by frameQLParser#showSchemaEntity. - def enterShowSchemaEntity(self, ctx:frameQLParser.ShowSchemaEntityContext): - pass - - # Exit a parse tree produced by frameQLParser#showSchemaEntity. - def exitShowSchemaEntity(self, ctx:frameQLParser.ShowSchemaEntityContext): - pass - - - # Enter a parse tree produced by frameQLParser#showProfileType. - def enterShowProfileType(self, ctx:frameQLParser.ShowProfileTypeContext): - pass - - # Exit a parse tree produced by frameQLParser#showProfileType. - def exitShowProfileType(self, ctx:frameQLParser.ShowProfileTypeContext): - pass - - - # Enter a parse tree produced by frameQLParser#binlogStatement. - def enterBinlogStatement(self, ctx:frameQLParser.BinlogStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#binlogStatement. - def exitBinlogStatement(self, ctx:frameQLParser.BinlogStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#cacheIndexStatement. - def enterCacheIndexStatement(self, ctx:frameQLParser.CacheIndexStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#cacheIndexStatement. - def exitCacheIndexStatement(self, ctx:frameQLParser.CacheIndexStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#flushStatement. - def enterFlushStatement(self, ctx:frameQLParser.FlushStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#flushStatement. - def exitFlushStatement(self, ctx:frameQLParser.FlushStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#killStatement. - def enterKillStatement(self, ctx:frameQLParser.KillStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#killStatement. - def exitKillStatement(self, ctx:frameQLParser.KillStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#loadIndexIntoCache. - def enterLoadIndexIntoCache(self, ctx:frameQLParser.LoadIndexIntoCacheContext): - pass - - # Exit a parse tree produced by frameQLParser#loadIndexIntoCache. - def exitLoadIndexIntoCache(self, ctx:frameQLParser.LoadIndexIntoCacheContext): - pass - - - # Enter a parse tree produced by frameQLParser#resetStatement. - def enterResetStatement(self, ctx:frameQLParser.ResetStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#resetStatement. - def exitResetStatement(self, ctx:frameQLParser.ResetStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#shutdownStatement. - def enterShutdownStatement(self, ctx:frameQLParser.ShutdownStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#shutdownStatement. - def exitShutdownStatement(self, ctx:frameQLParser.ShutdownStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableIndexes. - def enterTableIndexes(self, ctx:frameQLParser.TableIndexesContext): - pass - - # Exit a parse tree produced by frameQLParser#tableIndexes. - def exitTableIndexes(self, ctx:frameQLParser.TableIndexesContext): - pass - - - # Enter a parse tree produced by frameQLParser#simpleFlushOption. - def enterSimpleFlushOption(self, ctx:frameQLParser.SimpleFlushOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#simpleFlushOption. - def exitSimpleFlushOption(self, ctx:frameQLParser.SimpleFlushOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#channelFlushOption. - def enterChannelFlushOption(self, ctx:frameQLParser.ChannelFlushOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#channelFlushOption. - def exitChannelFlushOption(self, ctx:frameQLParser.ChannelFlushOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableFlushOption. - def enterTableFlushOption(self, ctx:frameQLParser.TableFlushOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#tableFlushOption. - def exitTableFlushOption(self, ctx:frameQLParser.TableFlushOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#flushTableOption. - def enterFlushTableOption(self, ctx:frameQLParser.FlushTableOptionContext): - pass - - # Exit a parse tree produced by frameQLParser#flushTableOption. - def exitFlushTableOption(self, ctx:frameQLParser.FlushTableOptionContext): - pass - - - # Enter a parse tree produced by frameQLParser#loadedTableIndexes. - def enterLoadedTableIndexes(self, ctx:frameQLParser.LoadedTableIndexesContext): - pass - - # Exit a parse tree produced by frameQLParser#loadedTableIndexes. - def exitLoadedTableIndexes(self, ctx:frameQLParser.LoadedTableIndexesContext): - pass - - - # Enter a parse tree produced by frameQLParser#simpleDescribeStatement. - def enterSimpleDescribeStatement(self, ctx:frameQLParser.SimpleDescribeStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#simpleDescribeStatement. - def exitSimpleDescribeStatement(self, ctx:frameQLParser.SimpleDescribeStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#fullDescribeStatement. - def enterFullDescribeStatement(self, ctx:frameQLParser.FullDescribeStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#fullDescribeStatement. - def exitFullDescribeStatement(self, ctx:frameQLParser.FullDescribeStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#helpStatement. - def enterHelpStatement(self, ctx:frameQLParser.HelpStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#helpStatement. - def exitHelpStatement(self, ctx:frameQLParser.HelpStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#useStatement. - def enterUseStatement(self, ctx:frameQLParser.UseStatementContext): - pass - - # Exit a parse tree produced by frameQLParser#useStatement. - def exitUseStatement(self, ctx:frameQLParser.UseStatementContext): - pass - - - # Enter a parse tree produced by frameQLParser#describeStatements. - def enterDescribeStatements(self, ctx:frameQLParser.DescribeStatementsContext): - pass - - # Exit a parse tree produced by frameQLParser#describeStatements. - def exitDescribeStatements(self, ctx:frameQLParser.DescribeStatementsContext): - pass - - - # Enter a parse tree produced by frameQLParser#describeConnection. - def enterDescribeConnection(self, ctx:frameQLParser.DescribeConnectionContext): - pass - - # Exit a parse tree produced by frameQLParser#describeConnection. - def exitDescribeConnection(self, ctx:frameQLParser.DescribeConnectionContext): - pass - - - # Enter a parse tree produced by frameQLParser#fullId. - def enterFullId(self, ctx:frameQLParser.FullIdContext): - pass - - # Exit a parse tree produced by frameQLParser#fullId. - def exitFullId(self, ctx:frameQLParser.FullIdContext): - pass - - - # Enter a parse tree produced by frameQLParser#tableName. - def enterTableName(self, ctx:frameQLParser.TableNameContext): - pass - - # Exit a parse tree produced by frameQLParser#tableName. - def exitTableName(self, ctx:frameQLParser.TableNameContext): - pass - - - # Enter a parse tree produced by frameQLParser#fullColumnName. - def enterFullColumnName(self, ctx:frameQLParser.FullColumnNameContext): - pass - - # Exit a parse tree produced by frameQLParser#fullColumnName. - def exitFullColumnName(self, ctx:frameQLParser.FullColumnNameContext): - pass - - - # Enter a parse tree produced by frameQLParser#indexColumnName. - def enterIndexColumnName(self, ctx:frameQLParser.IndexColumnNameContext): - pass - - # Exit a parse tree produced by frameQLParser#indexColumnName. - def exitIndexColumnName(self, ctx:frameQLParser.IndexColumnNameContext): - pass - - - # Enter a parse tree produced by frameQLParser#userName. - def enterUserName(self, ctx:frameQLParser.UserNameContext): - pass - - # Exit a parse tree produced by frameQLParser#userName. - def exitUserName(self, ctx:frameQLParser.UserNameContext): - pass - - - # Enter a parse tree produced by frameQLParser#mysqlVariable. - def enterMysqlVariable(self, ctx:frameQLParser.MysqlVariableContext): - pass - - # Exit a parse tree produced by frameQLParser#mysqlVariable. - def exitMysqlVariable(self, ctx:frameQLParser.MysqlVariableContext): - pass - - - # Enter a parse tree produced by frameQLParser#charsetName. - def enterCharsetName(self, ctx:frameQLParser.CharsetNameContext): - pass - - # Exit a parse tree produced by frameQLParser#charsetName. - def exitCharsetName(self, ctx:frameQLParser.CharsetNameContext): - pass - - - # Enter a parse tree produced by frameQLParser#collationName. - def enterCollationName(self, ctx:frameQLParser.CollationNameContext): - pass - - # Exit a parse tree produced by frameQLParser#collationName. - def exitCollationName(self, ctx:frameQLParser.CollationNameContext): - pass - - - # Enter a parse tree produced by frameQLParser#engineName. - def enterEngineName(self, ctx:frameQLParser.EngineNameContext): - pass - - # Exit a parse tree produced by frameQLParser#engineName. - def exitEngineName(self, ctx:frameQLParser.EngineNameContext): - pass - - - # Enter a parse tree produced by frameQLParser#uuidSet. - def enterUuidSet(self, ctx:frameQLParser.UuidSetContext): - pass - - # Exit a parse tree produced by frameQLParser#uuidSet. - def exitUuidSet(self, ctx:frameQLParser.UuidSetContext): - pass - - - # Enter a parse tree produced by frameQLParser#xid. - def enterXid(self, ctx:frameQLParser.XidContext): - pass - - # Exit a parse tree produced by frameQLParser#xid. - def exitXid(self, ctx:frameQLParser.XidContext): - pass - - - # Enter a parse tree produced by frameQLParser#xuidStringId. - def enterXuidStringId(self, ctx:frameQLParser.XuidStringIdContext): - pass - - # Exit a parse tree produced by frameQLParser#xuidStringId. - def exitXuidStringId(self, ctx:frameQLParser.XuidStringIdContext): - pass - - - # Enter a parse tree produced by frameQLParser#authPlugin. - def enterAuthPlugin(self, ctx:frameQLParser.AuthPluginContext): - pass - - # Exit a parse tree produced by frameQLParser#authPlugin. - def exitAuthPlugin(self, ctx:frameQLParser.AuthPluginContext): - pass - - - # Enter a parse tree produced by frameQLParser#uid. - def enterUid(self, ctx:frameQLParser.UidContext): - pass - - # Exit a parse tree produced by frameQLParser#uid. - def exitUid(self, ctx:frameQLParser.UidContext): - pass - - - # Enter a parse tree produced by frameQLParser#simpleId. - def enterSimpleId(self, ctx:frameQLParser.SimpleIdContext): - pass - - # Exit a parse tree produced by frameQLParser#simpleId. - def exitSimpleId(self, ctx:frameQLParser.SimpleIdContext): - pass - - - # Enter a parse tree produced by frameQLParser#dottedId. - def enterDottedId(self, ctx:frameQLParser.DottedIdContext): - pass - - # Exit a parse tree produced by frameQLParser#dottedId. - def exitDottedId(self, ctx:frameQLParser.DottedIdContext): - pass - - - # Enter a parse tree produced by frameQLParser#decimalLiteral. - def enterDecimalLiteral(self, ctx:frameQLParser.DecimalLiteralContext): - pass - - # Exit a parse tree produced by frameQLParser#decimalLiteral. - def exitDecimalLiteral(self, ctx:frameQLParser.DecimalLiteralContext): - pass - - - # Enter a parse tree produced by frameQLParser#fileSizeLiteral. - def enterFileSizeLiteral(self, ctx:frameQLParser.FileSizeLiteralContext): - pass - - # Exit a parse tree produced by frameQLParser#fileSizeLiteral. - def exitFileSizeLiteral(self, ctx:frameQLParser.FileSizeLiteralContext): - pass - - - # Enter a parse tree produced by frameQLParser#stringLiteral. - def enterStringLiteral(self, ctx:frameQLParser.StringLiteralContext): - pass - - # Exit a parse tree produced by frameQLParser#stringLiteral. - def exitStringLiteral(self, ctx:frameQLParser.StringLiteralContext): - pass - - - # Enter a parse tree produced by frameQLParser#booleanLiteral. - def enterBooleanLiteral(self, ctx:frameQLParser.BooleanLiteralContext): - pass - - # Exit a parse tree produced by frameQLParser#booleanLiteral. - def exitBooleanLiteral(self, ctx:frameQLParser.BooleanLiteralContext): - pass - - - # Enter a parse tree produced by frameQLParser#hexadecimalLiteral. - def enterHexadecimalLiteral(self, ctx:frameQLParser.HexadecimalLiteralContext): - pass - - # Exit a parse tree produced by frameQLParser#hexadecimalLiteral. - def exitHexadecimalLiteral(self, ctx:frameQLParser.HexadecimalLiteralContext): - pass - - - # Enter a parse tree produced by frameQLParser#nullNotnull. - def enterNullNotnull(self, ctx:frameQLParser.NullNotnullContext): - pass - - # Exit a parse tree produced by frameQLParser#nullNotnull. - def exitNullNotnull(self, ctx:frameQLParser.NullNotnullContext): - pass - - - # Enter a parse tree produced by frameQLParser#constant. - def enterConstant(self, ctx:frameQLParser.ConstantContext): - pass - - # Exit a parse tree produced by frameQLParser#constant. - def exitConstant(self, ctx:frameQLParser.ConstantContext): - pass - - - # Enter a parse tree produced by frameQLParser#stringDataType. - def enterStringDataType(self, ctx:frameQLParser.StringDataTypeContext): - pass - - # Exit a parse tree produced by frameQLParser#stringDataType. - def exitStringDataType(self, ctx:frameQLParser.StringDataTypeContext): - pass - - - # Enter a parse tree produced by frameQLParser#dimensionDataType. - def enterDimensionDataType(self, ctx:frameQLParser.DimensionDataTypeContext): - pass - - # Exit a parse tree produced by frameQLParser#dimensionDataType. - def exitDimensionDataType(self, ctx:frameQLParser.DimensionDataTypeContext): - pass - - - # Enter a parse tree produced by frameQLParser#simpleDataType. - def enterSimpleDataType(self, ctx:frameQLParser.SimpleDataTypeContext): - pass - - # Exit a parse tree produced by frameQLParser#simpleDataType. - def exitSimpleDataType(self, ctx:frameQLParser.SimpleDataTypeContext): - pass - - - # Enter a parse tree produced by frameQLParser#collectionDataType. - def enterCollectionDataType(self, ctx:frameQLParser.CollectionDataTypeContext): - pass - - # Exit a parse tree produced by frameQLParser#collectionDataType. - def exitCollectionDataType(self, ctx:frameQLParser.CollectionDataTypeContext): - pass - - - # Enter a parse tree produced by frameQLParser#spatialDataType. - def enterSpatialDataType(self, ctx:frameQLParser.SpatialDataTypeContext): - pass - - # Exit a parse tree produced by frameQLParser#spatialDataType. - def exitSpatialDataType(self, ctx:frameQLParser.SpatialDataTypeContext): - pass - - - # Enter a parse tree produced by frameQLParser#convertedDataType. - def enterConvertedDataType(self, ctx:frameQLParser.ConvertedDataTypeContext): - pass - - # Exit a parse tree produced by frameQLParser#convertedDataType. - def exitConvertedDataType(self, ctx:frameQLParser.ConvertedDataTypeContext): - pass - - - # Enter a parse tree produced by frameQLParser#lengthOneDimension. - def enterLengthOneDimension(self, ctx:frameQLParser.LengthOneDimensionContext): - pass - - # Exit a parse tree produced by frameQLParser#lengthOneDimension. - def exitLengthOneDimension(self, ctx:frameQLParser.LengthOneDimensionContext): - pass - - - # Enter a parse tree produced by frameQLParser#lengthTwoDimension. - def enterLengthTwoDimension(self, ctx:frameQLParser.LengthTwoDimensionContext): - pass - - # Exit a parse tree produced by frameQLParser#lengthTwoDimension. - def exitLengthTwoDimension(self, ctx:frameQLParser.LengthTwoDimensionContext): - pass - - - # Enter a parse tree produced by frameQLParser#lengthTwoOptionalDimension. - def enterLengthTwoOptionalDimension(self, ctx:frameQLParser.LengthTwoOptionalDimensionContext): - pass - - # Exit a parse tree produced by frameQLParser#lengthTwoOptionalDimension. - def exitLengthTwoOptionalDimension(self, ctx:frameQLParser.LengthTwoOptionalDimensionContext): - pass - - - # Enter a parse tree produced by frameQLParser#uidList. - def enterUidList(self, ctx:frameQLParser.UidListContext): - pass - - # Exit a parse tree produced by frameQLParser#uidList. - def exitUidList(self, ctx:frameQLParser.UidListContext): - pass - - - # Enter a parse tree produced by frameQLParser#tables. - def enterTables(self, ctx:frameQLParser.TablesContext): - pass - - # Exit a parse tree produced by frameQLParser#tables. - def exitTables(self, ctx:frameQLParser.TablesContext): - pass - - - # Enter a parse tree produced by frameQLParser#indexColumnNames. - def enterIndexColumnNames(self, ctx:frameQLParser.IndexColumnNamesContext): - pass - - # Exit a parse tree produced by frameQLParser#indexColumnNames. - def exitIndexColumnNames(self, ctx:frameQLParser.IndexColumnNamesContext): - pass - - - # Enter a parse tree produced by frameQLParser#expressions. - def enterExpressions(self, ctx:frameQLParser.ExpressionsContext): - pass - - # Exit a parse tree produced by frameQLParser#expressions. - def exitExpressions(self, ctx:frameQLParser.ExpressionsContext): - pass - - - # Enter a parse tree produced by frameQLParser#expressionsWithDefaults. - def enterExpressionsWithDefaults(self, ctx:frameQLParser.ExpressionsWithDefaultsContext): - pass - - # Exit a parse tree produced by frameQLParser#expressionsWithDefaults. - def exitExpressionsWithDefaults(self, ctx:frameQLParser.ExpressionsWithDefaultsContext): - pass - - - # Enter a parse tree produced by frameQLParser#constants. - def enterConstants(self, ctx:frameQLParser.ConstantsContext): - pass - - # Exit a parse tree produced by frameQLParser#constants. - def exitConstants(self, ctx:frameQLParser.ConstantsContext): - pass - - - # Enter a parse tree produced by frameQLParser#simpleStrings. - def enterSimpleStrings(self, ctx:frameQLParser.SimpleStringsContext): - pass - - # Exit a parse tree produced by frameQLParser#simpleStrings. - def exitSimpleStrings(self, ctx:frameQLParser.SimpleStringsContext): - pass - - - # Enter a parse tree produced by frameQLParser#userVariables. - def enterUserVariables(self, ctx:frameQLParser.UserVariablesContext): - pass - - # Exit a parse tree produced by frameQLParser#userVariables. - def exitUserVariables(self, ctx:frameQLParser.UserVariablesContext): - pass - - - # Enter a parse tree produced by frameQLParser#defaultValue. - def enterDefaultValue(self, ctx:frameQLParser.DefaultValueContext): - pass - - # Exit a parse tree produced by frameQLParser#defaultValue. - def exitDefaultValue(self, ctx:frameQLParser.DefaultValueContext): - pass - - - # Enter a parse tree produced by frameQLParser#currentTimestamp. - def enterCurrentTimestamp(self, ctx:frameQLParser.CurrentTimestampContext): - pass - - # Exit a parse tree produced by frameQLParser#currentTimestamp. - def exitCurrentTimestamp(self, ctx:frameQLParser.CurrentTimestampContext): - pass - - - # Enter a parse tree produced by frameQLParser#expressionOrDefault. - def enterExpressionOrDefault(self, ctx:frameQLParser.ExpressionOrDefaultContext): - pass - - # Exit a parse tree produced by frameQLParser#expressionOrDefault. - def exitExpressionOrDefault(self, ctx:frameQLParser.ExpressionOrDefaultContext): - pass - - - # Enter a parse tree produced by frameQLParser#ifExists. - def enterIfExists(self, ctx:frameQLParser.IfExistsContext): - pass - - # Exit a parse tree produced by frameQLParser#ifExists. - def exitIfExists(self, ctx:frameQLParser.IfExistsContext): - pass - - - # Enter a parse tree produced by frameQLParser#ifNotExists. - def enterIfNotExists(self, ctx:frameQLParser.IfNotExistsContext): - pass - - # Exit a parse tree produced by frameQLParser#ifNotExists. - def exitIfNotExists(self, ctx:frameQLParser.IfNotExistsContext): - pass - - - # Enter a parse tree produced by frameQLParser#specificFunctionCall. - def enterSpecificFunctionCall(self, ctx:frameQLParser.SpecificFunctionCallContext): - pass - - # Exit a parse tree produced by frameQLParser#specificFunctionCall. - def exitSpecificFunctionCall(self, ctx:frameQLParser.SpecificFunctionCallContext): - pass - - - # Enter a parse tree produced by frameQLParser#aggregateFunctionCall. - def enterAggregateFunctionCall(self, ctx:frameQLParser.AggregateFunctionCallContext): - pass - - # Exit a parse tree produced by frameQLParser#aggregateFunctionCall. - def exitAggregateFunctionCall(self, ctx:frameQLParser.AggregateFunctionCallContext): - pass - - - # Enter a parse tree produced by frameQLParser#scalarFunctionCall. - def enterScalarFunctionCall(self, ctx:frameQLParser.ScalarFunctionCallContext): - pass - - # Exit a parse tree produced by frameQLParser#scalarFunctionCall. - def exitScalarFunctionCall(self, ctx:frameQLParser.ScalarFunctionCallContext): - pass - - - # Enter a parse tree produced by frameQLParser#udfFunctionCall. - def enterUdfFunctionCall(self, ctx:frameQLParser.UdfFunctionCallContext): - pass - - # Exit a parse tree produced by frameQLParser#udfFunctionCall. - def exitUdfFunctionCall(self, ctx:frameQLParser.UdfFunctionCallContext): - pass - - - # Enter a parse tree produced by frameQLParser#passwordFunctionCall. - def enterPasswordFunctionCall(self, ctx:frameQLParser.PasswordFunctionCallContext): - pass - - # Exit a parse tree produced by frameQLParser#passwordFunctionCall. - def exitPasswordFunctionCall(self, ctx:frameQLParser.PasswordFunctionCallContext): - pass - - - # Enter a parse tree produced by frameQLParser#simpleFunctionCall. - def enterSimpleFunctionCall(self, ctx:frameQLParser.SimpleFunctionCallContext): - pass - - # Exit a parse tree produced by frameQLParser#simpleFunctionCall. - def exitSimpleFunctionCall(self, ctx:frameQLParser.SimpleFunctionCallContext): - pass - - - # Enter a parse tree produced by frameQLParser#dataTypeFunctionCall. - def enterDataTypeFunctionCall(self, ctx:frameQLParser.DataTypeFunctionCallContext): - pass - - # Exit a parse tree produced by frameQLParser#dataTypeFunctionCall. - def exitDataTypeFunctionCall(self, ctx:frameQLParser.DataTypeFunctionCallContext): - pass - - - # Enter a parse tree produced by frameQLParser#valuesFunctionCall. - def enterValuesFunctionCall(self, ctx:frameQLParser.ValuesFunctionCallContext): - pass - - # Exit a parse tree produced by frameQLParser#valuesFunctionCall. - def exitValuesFunctionCall(self, ctx:frameQLParser.ValuesFunctionCallContext): - pass - - - # Enter a parse tree produced by frameQLParser#caseFunctionCall. - def enterCaseFunctionCall(self, ctx:frameQLParser.CaseFunctionCallContext): - pass - - # Exit a parse tree produced by frameQLParser#caseFunctionCall. - def exitCaseFunctionCall(self, ctx:frameQLParser.CaseFunctionCallContext): - pass - - - # Enter a parse tree produced by frameQLParser#charFunctionCall. - def enterCharFunctionCall(self, ctx:frameQLParser.CharFunctionCallContext): - pass - - # Exit a parse tree produced by frameQLParser#charFunctionCall. - def exitCharFunctionCall(self, ctx:frameQLParser.CharFunctionCallContext): - pass - - - # Enter a parse tree produced by frameQLParser#positionFunctionCall. - def enterPositionFunctionCall(self, ctx:frameQLParser.PositionFunctionCallContext): - pass - - # Exit a parse tree produced by frameQLParser#positionFunctionCall. - def exitPositionFunctionCall(self, ctx:frameQLParser.PositionFunctionCallContext): - pass - - - # Enter a parse tree produced by frameQLParser#substrFunctionCall. - def enterSubstrFunctionCall(self, ctx:frameQLParser.SubstrFunctionCallContext): - pass - - # Exit a parse tree produced by frameQLParser#substrFunctionCall. - def exitSubstrFunctionCall(self, ctx:frameQLParser.SubstrFunctionCallContext): - pass - - - # Enter a parse tree produced by frameQLParser#trimFunctionCall. - def enterTrimFunctionCall(self, ctx:frameQLParser.TrimFunctionCallContext): - pass - - # Exit a parse tree produced by frameQLParser#trimFunctionCall. - def exitTrimFunctionCall(self, ctx:frameQLParser.TrimFunctionCallContext): - pass - - - # Enter a parse tree produced by frameQLParser#weightFunctionCall. - def enterWeightFunctionCall(self, ctx:frameQLParser.WeightFunctionCallContext): - pass - - # Exit a parse tree produced by frameQLParser#weightFunctionCall. - def exitWeightFunctionCall(self, ctx:frameQLParser.WeightFunctionCallContext): - pass - - - # Enter a parse tree produced by frameQLParser#extractFunctionCall. - def enterExtractFunctionCall(self, ctx:frameQLParser.ExtractFunctionCallContext): - pass - - # Exit a parse tree produced by frameQLParser#extractFunctionCall. - def exitExtractFunctionCall(self, ctx:frameQLParser.ExtractFunctionCallContext): - pass - - - # Enter a parse tree produced by frameQLParser#getFormatFunctionCall. - def enterGetFormatFunctionCall(self, ctx:frameQLParser.GetFormatFunctionCallContext): - pass - - # Exit a parse tree produced by frameQLParser#getFormatFunctionCall. - def exitGetFormatFunctionCall(self, ctx:frameQLParser.GetFormatFunctionCallContext): - pass - - - # Enter a parse tree produced by frameQLParser#caseFuncAlternative. - def enterCaseFuncAlternative(self, ctx:frameQLParser.CaseFuncAlternativeContext): - pass - - # Exit a parse tree produced by frameQLParser#caseFuncAlternative. - def exitCaseFuncAlternative(self, ctx:frameQLParser.CaseFuncAlternativeContext): - pass - - - # Enter a parse tree produced by frameQLParser#levelWeightList. - def enterLevelWeightList(self, ctx:frameQLParser.LevelWeightListContext): - pass - - # Exit a parse tree produced by frameQLParser#levelWeightList. - def exitLevelWeightList(self, ctx:frameQLParser.LevelWeightListContext): - pass - - - # Enter a parse tree produced by frameQLParser#levelWeightRange. - def enterLevelWeightRange(self, ctx:frameQLParser.LevelWeightRangeContext): - pass - - # Exit a parse tree produced by frameQLParser#levelWeightRange. - def exitLevelWeightRange(self, ctx:frameQLParser.LevelWeightRangeContext): - pass - - - # Enter a parse tree produced by frameQLParser#levelInWeightListElement. - def enterLevelInWeightListElement(self, ctx:frameQLParser.LevelInWeightListElementContext): - pass - - # Exit a parse tree produced by frameQLParser#levelInWeightListElement. - def exitLevelInWeightListElement(self, ctx:frameQLParser.LevelInWeightListElementContext): - pass - - - # Enter a parse tree produced by frameQLParser#aggregateWindowedFunction. - def enterAggregateWindowedFunction(self, ctx:frameQLParser.AggregateWindowedFunctionContext): - pass - - # Exit a parse tree produced by frameQLParser#aggregateWindowedFunction. - def exitAggregateWindowedFunction(self, ctx:frameQLParser.AggregateWindowedFunctionContext): - pass - - - # Enter a parse tree produced by frameQLParser#scalarFunctionName. - def enterScalarFunctionName(self, ctx:frameQLParser.ScalarFunctionNameContext): - pass - - # Exit a parse tree produced by frameQLParser#scalarFunctionName. - def exitScalarFunctionName(self, ctx:frameQLParser.ScalarFunctionNameContext): - pass - - - # Enter a parse tree produced by frameQLParser#passwordFunctionClause. - def enterPasswordFunctionClause(self, ctx:frameQLParser.PasswordFunctionClauseContext): - pass - - # Exit a parse tree produced by frameQLParser#passwordFunctionClause. - def exitPasswordFunctionClause(self, ctx:frameQLParser.PasswordFunctionClauseContext): - pass - - - # Enter a parse tree produced by frameQLParser#functionArgs. - def enterFunctionArgs(self, ctx:frameQLParser.FunctionArgsContext): - pass - - # Exit a parse tree produced by frameQLParser#functionArgs. - def exitFunctionArgs(self, ctx:frameQLParser.FunctionArgsContext): - pass - - - # Enter a parse tree produced by frameQLParser#functionArg. - def enterFunctionArg(self, ctx:frameQLParser.FunctionArgContext): - pass - - # Exit a parse tree produced by frameQLParser#functionArg. - def exitFunctionArg(self, ctx:frameQLParser.FunctionArgContext): - pass - - - # Enter a parse tree produced by frameQLParser#isExpression. - def enterIsExpression(self, ctx:frameQLParser.IsExpressionContext): - pass - - # Exit a parse tree produced by frameQLParser#isExpression. - def exitIsExpression(self, ctx:frameQLParser.IsExpressionContext): - pass - - - # Enter a parse tree produced by frameQLParser#notExpression. - def enterNotExpression(self, ctx:frameQLParser.NotExpressionContext): - pass - - # Exit a parse tree produced by frameQLParser#notExpression. - def exitNotExpression(self, ctx:frameQLParser.NotExpressionContext): - pass - - - # Enter a parse tree produced by frameQLParser#logicalExpression. - def enterLogicalExpression(self, ctx:frameQLParser.LogicalExpressionContext): - pass - - # Exit a parse tree produced by frameQLParser#logicalExpression. - # The operators are traversed in the correct order, so just add to the output list - def exitLogicalExpression(self, ctx:frameQLParser.LogicalExpressionContext): - # if ctx.expression(0).getText()[0] == "(" and ctx.expression(1).getText()[0] == "(": - # self.bothInParentheses = True - # print("need different output format") - # print() - self.output_operator.append(ctx.logicalOperator().getText()) - - # Enter a parse tree produced by frameQLParser#predicateExpression. - def enterPredicateExpression(self, ctx:frameQLParser.PredicateExpressionContext): - pass - - # Exit a parse tree produced by frameQLParser#predicateExpression. - # The predicates are traversed from the bottom level up to the 2nd top level. - # Whenever a predicate with parentheses are encountered, the two predicates before it are the predicates inside this one. - # The predicates outside the parentheses are not processed in this listener. It is handled by the child class KeyPrinter in temp.py - def exitPredicateExpression(self, ctx:frameQLParser.PredicateExpressionContext): - predicate = ctx.predicate().getText() - if (predicate[0] == "("): - for i in range(2): - last_predicate = self.predicate_list.pop() - if (last_predicate[0] != "("): - self.output_predicate.append(last_predicate) - self.predicate_list.append(predicate) - else: - self.predicate_list.append(self.temp_split_list) - - - - # Enter a parse tree produced by frameQLParser#soundsLikePredicate. - def enterSoundsLikePredicate(self, ctx:frameQLParser.SoundsLikePredicateContext): - pass - - # Exit a parse tree produced by frameQLParser#soundsLikePredicate. - def exitSoundsLikePredicate(self, ctx:frameQLParser.SoundsLikePredicateContext): - pass - - - # Enter a parse tree produced by frameQLParser#expressionAtomPredicate. - def enterExpressionAtomPredicate(self, ctx:frameQLParser.ExpressionAtomPredicateContext): - pass - - # Exit a parse tree produced by frameQLParser#expressionAtomPredicate. - def exitExpressionAtomPredicate(self, ctx:frameQLParser.ExpressionAtomPredicateContext): - pass - - - # Enter a parse tree produced by frameQLParser#inPredicate. - def enterInPredicate(self, ctx:frameQLParser.InPredicateContext): - pass - - # Exit a parse tree produced by frameQLParser#inPredicate. - def exitInPredicate(self, ctx:frameQLParser.InPredicateContext): - pass - - - # Enter a parse tree produced by frameQLParser#subqueryComparasionPredicate. - def enterSubqueryComparasionPredicate(self, ctx:frameQLParser.SubqueryComparasionPredicateContext): - pass - - # Exit a parse tree produced by frameQLParser#subqueryComparasionPredicate. - def exitSubqueryComparasionPredicate(self, ctx:frameQLParser.SubqueryComparasionPredicateContext): - pass - - - # Enter a parse tree produced by frameQLParser#betweenPredicate. - def enterBetweenPredicate(self, ctx:frameQLParser.BetweenPredicateContext): - pass - - # Exit a parse tree produced by frameQLParser#betweenPredicate. - def exitBetweenPredicate(self, ctx:frameQLParser.BetweenPredicateContext): - pass - - - # Enter a parse tree produced by frameQLParser#binaryComparasionPredicate. - def enterBinaryComparasionPredicate(self, ctx:frameQLParser.BinaryComparasionPredicateContext): - pass - - # Exit a parse tree produced by frameQLParser#binaryComparasionPredicate. - # Each predicate is split into a list of expressions and comparason operator - def exitBinaryComparasionPredicate(self, ctx:frameQLParser.BinaryComparasionPredicateContext): - self.temp_split_list = [] - self.temp_split_list.append(ctx.predicate(0).getText()) - self.temp_split_list.append(ctx.comparisonOperator().getText()) - self.temp_split_list.append(ctx.predicate(1).getText()) - - - # Enter a parse tree produced by frameQLParser#isNullPredicate. - def enterIsNullPredicate(self, ctx:frameQLParser.IsNullPredicateContext): - pass - - # Exit a parse tree produced by frameQLParser#isNullPredicate. - def exitIsNullPredicate(self, ctx:frameQLParser.IsNullPredicateContext): - pass - - - # Enter a parse tree produced by frameQLParser#likePredicate. - def enterLikePredicate(self, ctx:frameQLParser.LikePredicateContext): - pass - - # Exit a parse tree produced by frameQLParser#likePredicate. - def exitLikePredicate(self, ctx:frameQLParser.LikePredicateContext): - pass - - - # Enter a parse tree produced by frameQLParser#regexpPredicate. - def enterRegexpPredicate(self, ctx:frameQLParser.RegexpPredicateContext): - pass - - # Exit a parse tree produced by frameQLParser#regexpPredicate. - def exitRegexpPredicate(self, ctx:frameQLParser.RegexpPredicateContext): - pass - - - # Enter a parse tree produced by frameQLParser#unaryExpressionAtom. - def enterUnaryExpressionAtom(self, ctx:frameQLParser.UnaryExpressionAtomContext): - pass - - # Exit a parse tree produced by frameQLParser#unaryExpressionAtom. - def exitUnaryExpressionAtom(self, ctx:frameQLParser.UnaryExpressionAtomContext): - pass - - - # Enter a parse tree produced by frameQLParser#collateExpressionAtom. - def enterCollateExpressionAtom(self, ctx:frameQLParser.CollateExpressionAtomContext): - pass - - # Exit a parse tree produced by frameQLParser#collateExpressionAtom. - def exitCollateExpressionAtom(self, ctx:frameQLParser.CollateExpressionAtomContext): - pass - - - # Enter a parse tree produced by frameQLParser#subqueryExpessionAtom. - def enterSubqueryExpessionAtom(self, ctx:frameQLParser.SubqueryExpessionAtomContext): - pass - - # Exit a parse tree produced by frameQLParser#subqueryExpessionAtom. - def exitSubqueryExpessionAtom(self, ctx:frameQLParser.SubqueryExpessionAtomContext): - pass - - - # Enter a parse tree produced by frameQLParser#mysqlVariableExpressionAtom. - def enterMysqlVariableExpressionAtom(self, ctx:frameQLParser.MysqlVariableExpressionAtomContext): - pass - - # Exit a parse tree produced by frameQLParser#mysqlVariableExpressionAtom. - def exitMysqlVariableExpressionAtom(self, ctx:frameQLParser.MysqlVariableExpressionAtomContext): - pass - - - # Enter a parse tree produced by frameQLParser#nestedExpressionAtom. - def enterNestedExpressionAtom(self, ctx:frameQLParser.NestedExpressionAtomContext): - pass - - # Exit a parse tree produced by frameQLParser#nestedExpressionAtom. - def exitNestedExpressionAtom(self, ctx:frameQLParser.NestedExpressionAtomContext): - pass - - - # Enter a parse tree produced by frameQLParser#nestedRowExpressionAtom. - def enterNestedRowExpressionAtom(self, ctx:frameQLParser.NestedRowExpressionAtomContext): - pass - - # Exit a parse tree produced by frameQLParser#nestedRowExpressionAtom. - def exitNestedRowExpressionAtom(self, ctx:frameQLParser.NestedRowExpressionAtomContext): - pass - - - # Enter a parse tree produced by frameQLParser#mathExpressionAtom. - def enterMathExpressionAtom(self, ctx:frameQLParser.MathExpressionAtomContext): - pass - - # Exit a parse tree produced by frameQLParser#mathExpressionAtom. - def exitMathExpressionAtom(self, ctx:frameQLParser.MathExpressionAtomContext): - pass - - - # Enter a parse tree produced by frameQLParser#intervalExpressionAtom. - def enterIntervalExpressionAtom(self, ctx:frameQLParser.IntervalExpressionAtomContext): - pass - - # Exit a parse tree produced by frameQLParser#intervalExpressionAtom. - def exitIntervalExpressionAtom(self, ctx:frameQLParser.IntervalExpressionAtomContext): - pass - - - # Enter a parse tree produced by frameQLParser#existsExpessionAtom. - def enterExistsExpessionAtom(self, ctx:frameQLParser.ExistsExpessionAtomContext): - pass - - # Exit a parse tree produced by frameQLParser#existsExpessionAtom. - def exitExistsExpessionAtom(self, ctx:frameQLParser.ExistsExpessionAtomContext): - pass - - - # Enter a parse tree produced by frameQLParser#constantExpressionAtom. - def enterConstantExpressionAtom(self, ctx:frameQLParser.ConstantExpressionAtomContext): - pass - - # Exit a parse tree produced by frameQLParser#constantExpressionAtom. - def exitConstantExpressionAtom(self, ctx:frameQLParser.ConstantExpressionAtomContext): - pass - - - # Enter a parse tree produced by frameQLParser#functionCallExpressionAtom. - def enterFunctionCallExpressionAtom(self, ctx:frameQLParser.FunctionCallExpressionAtomContext): - pass - - # Exit a parse tree produced by frameQLParser#functionCallExpressionAtom. - def exitFunctionCallExpressionAtom(self, ctx:frameQLParser.FunctionCallExpressionAtomContext): - pass - - - # Enter a parse tree produced by frameQLParser#binaryExpressionAtom. - def enterBinaryExpressionAtom(self, ctx:frameQLParser.BinaryExpressionAtomContext): - pass - - # Exit a parse tree produced by frameQLParser#binaryExpressionAtom. - def exitBinaryExpressionAtom(self, ctx:frameQLParser.BinaryExpressionAtomContext): - pass - - - # Enter a parse tree produced by frameQLParser#fullColumnNameExpressionAtom. - def enterFullColumnNameExpressionAtom(self, ctx:frameQLParser.FullColumnNameExpressionAtomContext): - pass - - # Exit a parse tree produced by frameQLParser#fullColumnNameExpressionAtom. - def exitFullColumnNameExpressionAtom(self, ctx:frameQLParser.FullColumnNameExpressionAtomContext): - pass - - - # Enter a parse tree produced by frameQLParser#bitExpressionAtom. - def enterBitExpressionAtom(self, ctx:frameQLParser.BitExpressionAtomContext): - pass - - # Exit a parse tree produced by frameQLParser#bitExpressionAtom. - def exitBitExpressionAtom(self, ctx:frameQLParser.BitExpressionAtomContext): - pass - - - # Enter a parse tree produced by frameQLParser#unaryOperator. - def enterUnaryOperator(self, ctx:frameQLParser.UnaryOperatorContext): - pass - - # Exit a parse tree produced by frameQLParser#unaryOperator. - def exitUnaryOperator(self, ctx:frameQLParser.UnaryOperatorContext): - pass - - - # Enter a parse tree produced by frameQLParser#comparisonOperator. - def enterComparisonOperator(self, ctx:frameQLParser.ComparisonOperatorContext): - pass - - # Exit a parse tree produced by frameQLParser#comparisonOperator. - def exitComparisonOperator(self, ctx:frameQLParser.ComparisonOperatorContext): - pass - - - # Enter a parse tree produced by frameQLParser#logicalOperator. - def enterLogicalOperator(self, ctx:frameQLParser.LogicalOperatorContext): - pass - - # Exit a parse tree produced by frameQLParser#logicalOperator. - def exitLogicalOperator(self, ctx:frameQLParser.LogicalOperatorContext): - pass - - - # Enter a parse tree produced by frameQLParser#bitOperator. - def enterBitOperator(self, ctx:frameQLParser.BitOperatorContext): - pass - - # Exit a parse tree produced by frameQLParser#bitOperator. - def exitBitOperator(self, ctx:frameQLParser.BitOperatorContext): - pass - - - # Enter a parse tree produced by frameQLParser#mathOperator. - def enterMathOperator(self, ctx:frameQLParser.MathOperatorContext): - pass - - # Exit a parse tree produced by frameQLParser#mathOperator. - def exitMathOperator(self, ctx:frameQLParser.MathOperatorContext): - pass - - - # Enter a parse tree produced by frameQLParser#charsetNameBase. - def enterCharsetNameBase(self, ctx:frameQLParser.CharsetNameBaseContext): - pass - - # Exit a parse tree produced by frameQLParser#charsetNameBase. - def exitCharsetNameBase(self, ctx:frameQLParser.CharsetNameBaseContext): - pass - - - # Enter a parse tree produced by frameQLParser#transactionLevelBase. - def enterTransactionLevelBase(self, ctx:frameQLParser.TransactionLevelBaseContext): - pass - - # Exit a parse tree produced by frameQLParser#transactionLevelBase. - def exitTransactionLevelBase(self, ctx:frameQLParser.TransactionLevelBaseContext): - pass - - - # Enter a parse tree produced by frameQLParser#privilegesBase. - def enterPrivilegesBase(self, ctx:frameQLParser.PrivilegesBaseContext): - pass - - # Exit a parse tree produced by frameQLParser#privilegesBase. - def exitPrivilegesBase(self, ctx:frameQLParser.PrivilegesBaseContext): - pass - - - # Enter a parse tree produced by frameQLParser#intervalTypeBase. - def enterIntervalTypeBase(self, ctx:frameQLParser.IntervalTypeBaseContext): - pass - - # Exit a parse tree produced by frameQLParser#intervalTypeBase. - def exitIntervalTypeBase(self, ctx:frameQLParser.IntervalTypeBaseContext): - pass - - - # Enter a parse tree produced by frameQLParser#dataTypeBase. - def enterDataTypeBase(self, ctx:frameQLParser.DataTypeBaseContext): - pass - - # Exit a parse tree produced by frameQLParser#dataTypeBase. - def exitDataTypeBase(self, ctx:frameQLParser.DataTypeBaseContext): - pass - - - # Enter a parse tree produced by frameQLParser#keywordsCanBeId. - def enterKeywordsCanBeId(self, ctx:frameQLParser.KeywordsCanBeIdContext): - pass - - # Exit a parse tree produced by frameQLParser#keywordsCanBeId. - def exitKeywordsCanBeId(self, ctx:frameQLParser.KeywordsCanBeIdContext): - pass - - - # Enter a parse tree produced by frameQLParser#functionNameBase. - def enterFunctionNameBase(self, ctx:frameQLParser.FunctionNameBaseContext): - pass - - # Exit a parse tree produced by frameQLParser#functionNameBase. - def exitFunctionNameBase(self, ctx:frameQLParser.FunctionNameBaseContext): - pass - - diff --git a/Grammar/frameQL/grammar/test/readme.md b/Grammar/frameQL/grammar/test/readme.md deleted file mode 100644 index cdd95d2eb8..0000000000 --- a/Grammar/frameQL/grammar/test/readme.md +++ /dev/null @@ -1,19 +0,0 @@ -# Test program for combining frontend (VQL) and backend(Eva) query optimizer -The query optimizer of EVA, which is being developed by another team, is an optimizer that takes in a query and find equivalent queries that could be evaluated faster. We build a test program in evalQuery.py that takes in a text file of query and return two lists that could be recognized by EVA query optimizer -## Generate inputs for query optimizer -Transform the sql statement in test.txt to a list of parsed predicates and a list of opertors -``` -python3 evalQuery.py test.txt -``` - -We used a design patterns called listener that will trigger actions when "walk" the grammar parse tree. -The listener is generated by ANTLR and we made relavent changes between line *4450* to line *4500* in **frameQLParserLinstener**. - -## Furture work -We are working with the EVA engine group and is on our way to integrate our code with their video processing backend. -The goal is to have a single product that takes in a query and return query result generated from the EVA engine. -We want to - -Call query optimizer in test.txt with the generated lists; - -Deal with expressions on both sides of the logicalOperator are in parentheses. \ No newline at end of file diff --git a/Grammar/frameQL/grammar/test/temp.py b/Grammar/frameQL/grammar/test/temp.py deleted file mode 100644 index 976ae93829..0000000000 --- a/Grammar/frameQL/grammar/test/temp.py +++ /dev/null @@ -1,62 +0,0 @@ -import sys -from antlr4 import * -from frameQLParser import frameQLParser -from frameQLLexer import frameQLLexer -from frameQLParserListener import frameQLParserListener - -class KeyPrinter(frameQLParserListener): - def __init__(self): - super().__init__() - - def printOutput(self): - print(self.predicate_list) - print(self.output_predicate) - print(self.output_operator) - - def generateParsedLists(self): - for i in self.predicate_list: - if (i[0] != "("): - self.output_predicate.append(i) - - - def getQueryParsed(self): - """ - Print out the list of predicates generated from the sql statement - :param none - :return: list of lists representing predicates. Ex: [["t","=","1"], ["s","<","5"]] - """ - return self.output_predicate - - def getQueryOperator(self): - """ - Print out the list of operators between the lists of predicates generated from the sql statement - :param none - :return: list of operators. Ex: ["AND", "OR", "&&", "||"] - """ - return self.output_operator - - - -def main(argv): - input_stream = FileStream(argv[1]) - lexer = frameQLLexer(input_stream) - stream = CommonTokenStream(lexer) - parser = frameQLParser(stream) - tree = parser.root() - - '''print out the parse tree''' - #print(tree.toStringTree(recog=parser)) - - '''traverse through the parse tree''' - printer = KeyPrinter() - walker = ParseTreeWalker() - walker.walk(printer, tree) - - '''generate the predicate list and the operator list required by the query optimizer''' - '''these lists are generated by the _parseQuery in the query_optimizer.py file''' - printer.generateParsedLists() - print(printer.getQueryParsed()) - print(printer.getQueryOperator()) - -if __name__ == '__main__': - main(sys.argv) \ No newline at end of file diff --git a/Grammar/frameQL/grammar/test/test.txt b/Grammar/frameQL/grammar/test/test.txt deleted file mode 100644 index a0f849bec0..0000000000 --- a/Grammar/frameQL/grammar/test/test.txt +++ /dev/null @@ -1,3 +0,0 @@ -SELECT * -FROM TAIPAI -WHERE A = 1 AND ((B < 2 && C > 3) XOR D <= 4) \ No newline at end of file diff --git a/Grammar/frameQL/grammar/test/testFor2PairBrackets.txt b/Grammar/frameQL/grammar/test/testFor2PairBrackets.txt deleted file mode 100644 index 168568cffe..0000000000 --- a/Grammar/frameQL/grammar/test/testFor2PairBrackets.txt +++ /dev/null @@ -1,3 +0,0 @@ -SELECT * -FROM TAIPAI -WHERE (A = 1 OR E != 5) AND ((B < 2 && C > 3) XOR D <= 4) \ No newline at end of file diff --git a/environment.yml b/environment.yml index 1f97a993b5..12de9f6dd8 100644 --- a/environment.yml +++ b/environment.yml @@ -21,6 +21,6 @@ dependencies: - tensorboard - pillow=6.1 - pip: - - antlr4-python3-runtime==4.7 + - antlr4-python3-runtime==4.8 - petastorm prefix: eva diff --git a/script/antlr4/setup.sh b/script/antlr4/setup.sh new file mode 100755 index 0000000000..87645b17b6 --- /dev/null +++ b/script/antlr4/setup.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +############################################################### +### ANTLR4 +############################################################### + +# Get Antlr4 JAR +wget https://www.antlr.org/download/antlr-4.8-complete.jar +#export CLASSPATH="./antlr-4.8-complete.jar::$CLASSPATH" +#alias antlr4='java -jar ./antlr-4.8-complete.jar' + +# Generate grammar files +java -jar ./antlr-4.8-complete.jar -Dlanguage=Python3 src/parser/evaql/evaql_lexer.g4 +java -jar ./antlr-4.8-complete.jar -Dlanguage=Python3 -visitor src/parser/evaql/evaql_parser.g4 + +# Cleanup Antlr4 JAR +rm ./antlr-4.8-complete.jar diff --git a/script/formatting/formatter.py b/script/formatting/formatter.py index 459eb29d8f..3eed41a800 100755 --- a/script/formatting/formatter.py +++ b/script/formatting/formatter.py @@ -45,6 +45,13 @@ DEFAULT_DIRS.append(EVA_SRC_DIR) DEFAULT_DIRS.append(EVA_TEST_DIR) +IGNORE_FILES = [ + "evaql_lexer.py", + "evaql_parser.py", + "evaql_parserListener.py", + "evaql_parserVisitor.py", +] + AUTOPEP_BINARY = "autopep8" AUTOFLAKE_BINARY = "autoflake" @@ -146,8 +153,11 @@ def format_file(file_path, add_header, strip_header, format_code): def format_dir(dir_path, add_header, strip_header, format_code): for subdir, dir, files in os.walk(dir_path): + for file in files: - # print os.path.join(subdir, file) + if file in IGNORE_FILES: + continue + file_path = subdir + os.path.sep + file if file_path.endswith(".py"): @@ -213,7 +223,7 @@ def format_dir(dir_path, add_header, strip_header, format_code): args.add_header, args.strip_header, args.format_code) - + LOG.info("Adding headers : " + dir) args.add_header = True args.strip_header = False diff --git a/src/query_parser/__init__.py b/src/parser/__init__.py similarity index 100% rename from src/query_parser/__init__.py rename to src/parser/__init__.py diff --git a/src/query_parser/eva_parser.py b/src/parser/eva_parser.py similarity index 76% rename from src/query_parser/eva_parser.py rename to src/parser/eva_parser.py index aeb780e555..32d6f71972 100644 --- a/src/query_parser/eva_parser.py +++ b/src/parser/eva_parser.py @@ -12,10 +12,12 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. + from antlr4 import InputStream, CommonTokenStream -from third_party.evaQL.parser.frameQLParser import frameQLParser -from third_party.evaQL.parser.frameQLLexer import frameQLLexer -from src.query_parser.eva_ql_parser_visitor import EvaParserVisitor + +from src.parser.evaql.evaql_parser import evaql_parser +from src.parser.evaql.evaql_lexer import evaql_lexer +from src.parser.eva_ql_parser_visitor import EvaParserVisitor class EvaFrameQLParser(): @@ -27,8 +29,8 @@ def __init__(self): self._visitor = EvaParserVisitor() def parse(self, query_string: str) -> list: - lexer = frameQLLexer(InputStream(query_string)) + lexer = evaql_lexer(InputStream(query_string)) stream = CommonTokenStream(lexer) - parser = frameQLParser(stream) + parser = evaql_parser(stream) tree = parser.root() return self._visitor.visit(tree) diff --git a/src/query_parser/eva_ql_parser_visitor.py b/src/parser/eva_ql_parser_visitor.py similarity index 64% rename from src/query_parser/eva_ql_parser_visitor.py rename to src/parser/eva_ql_parser_visitor.py index ef1c41e791..2f0ae4ce2a 100644 --- a/src/query_parser/eva_ql_parser_visitor.py +++ b/src/parser/eva_ql_parser_visitor.py @@ -12,12 +12,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -""" -Do not change the skeleton of this file. -We have extended functionalities by overriding few visitor functions. -Original source file: third_party/evaQL/frameQLParserVisitor -@author Gaurav Tarlok Kakkar -""" + from antlr4 import TerminalNode from src.expression.abstract_expression import (AbstractExpression, ExpressionType) @@ -25,22 +20,22 @@ from src.expression.constant_value_expression import ConstantValueExpression from src.expression.logical_expression import LogicalExpression from src.expression.tuple_value_expression import TupleValueExpression -from src.query_parser.select_statement import SelectStatement -from third_party.evaQL.parser.frameQLParser import frameQLParser -from third_party.evaQL.parser.frameQLParserVisitor import frameQLParserVisitor -from src.query_parser.table_ref import TableRef, TableInfo +from src.parser.select_statement import SelectStatement +from src.parser.evaql.evaql_parser import evaql_parser +from src.parser.evaql.evaql_parserVisitor import evaql_parserVisitor +from src.parser.table_ref import TableRef, TableInfo import warnings -class EvaParserVisitor(frameQLParserVisitor): - # Visit a parse tree produced by frameQLParser#root. - def visitRoot(self, ctx: frameQLParser.RootContext): +class EvaParserVisitor(evaql_parserVisitor): + # Visit a parse tree produced by evaql_parser#root. + def visitRoot(self, ctx: evaql_parser.RootContext): for child in ctx.children: if child is not TerminalNode: return self.visit(child) - # Visit a parse tree produced by frameQLParser#sqlStatements. - def visitSqlStatements(self, ctx: frameQLParser.SqlStatementsContext): + # Visit a parse tree produced by evaql_parser#sqlStatements. + def visitSqlStatements(self, ctx: evaql_parser.SqlStatementsContext): eva_statements = [] for child in ctx.children: stmt = self.visit(child) @@ -49,13 +44,13 @@ def visitSqlStatements(self, ctx: frameQLParser.SqlStatementsContext): return eva_statements - # Visit a parse tree produced by frameQLParser#simpleSelect. - def visitSimpleSelect(self, ctx: frameQLParser.SimpleSelectContext): + # Visit a parse tree produced by evaql_parser#simpleSelect. + def visitSimpleSelect(self, ctx: evaql_parser.SimpleSelectContext): select_stm = self.visitChildren(ctx) return select_stm - # Visit a parse tree produced by frameQLParser#tableSources. - def visitTableSources(self, ctx: frameQLParser.TableSourcesContext): + # Visit a parse tree produced by evaql_parser#tableSources. + def visitTableSources(self, ctx: evaql_parser.TableSourcesContext): table_list = [] for child in ctx.children: table = self.visit(child) @@ -63,9 +58,9 @@ def visitTableSources(self, ctx: frameQLParser.TableSourcesContext): table_list.append(table) return table_list - # Visit a parse tree produced by frameQLParser#querySpecification. + # Visit a parse tree produced by evaql_parser#querySpecification. def visitQuerySpecification( - self, ctx: frameQLParser.QuerySpecificationContext): + self, ctx: evaql_parser.QuerySpecificationContext): target_list = None from_clause = None where_clause = None @@ -73,10 +68,10 @@ def visitQuerySpecification( for child in ctx.children[1:]: try: rule_idx = child.getRuleIndex() - if rule_idx == frameQLParser.RULE_selectElements: + if rule_idx == evaql_parser.RULE_selectElements: target_list = self.visit(child) - elif rule_idx == frameQLParser.RULE_fromClause: + elif rule_idx == evaql_parser.RULE_fromClause: clause = self.visit(child) from_clause = clause.get('from', None) where_clause = clause.get('where', None) @@ -89,8 +84,8 @@ def visitQuerySpecification( select_stmt = SelectStatement(target_list, from_clause, where_clause) return select_stmt - # Visit a parse tree produced by frameQLParser#selectElements. - def visitSelectElements(self, ctx: frameQLParser.SelectElementsContext): + # Visit a parse tree produced by evaql_parser#selectElements. + def visitSelectElements(self, ctx: evaql_parser.SelectElementsContext): select_list = [] for child in ctx.children: element = self.visit(child) @@ -99,8 +94,8 @@ def visitSelectElements(self, ctx: frameQLParser.SelectElementsContext): return select_list - # Visit a parse tree produced by frameQLParser#fromClause. - def visitFromClause(self, ctx: frameQLParser.FromClauseContext): + # Visit a parse tree produced by evaql_parser#fromClause. + def visitFromClause(self, ctx: evaql_parser.FromClauseContext): from_table = None where_clause = None @@ -111,8 +106,8 @@ def visitFromClause(self, ctx: frameQLParser.FromClauseContext): return {"from": from_table, "where": where_clause} - # Visit a parse tree produced by frameQLParser#tableName. - def visitTableName(self, ctx: frameQLParser.TableNameContext): + # Visit a parse tree produced by evaql_parser#tableName. + def visitTableName(self, ctx: evaql_parser.TableNameContext): table_name = self.visit(ctx.fullId()) # assuming we get just table name # todo @@ -123,8 +118,8 @@ def visitTableName(self, ctx: frameQLParser.TableNameContext): else: warnings.warn("Invalid from table", SyntaxWarning) - # Visit a parse tree produced by frameQLParser#fullColumnName. - def visitFullColumnName(self, ctx: frameQLParser.FullColumnNameContext): + # Visit a parse tree produced by evaql_parser#fullColumnName. + def visitFullColumnName(self, ctx: evaql_parser.FullColumnNameContext): # dotted id not supported yet column_name = self.visit(ctx.uid()) if column_name is not None: @@ -132,29 +127,29 @@ def visitFullColumnName(self, ctx: frameQLParser.FullColumnNameContext): else: warnings.warn("Column Name Missing", SyntaxWarning) - # Visit a parse tree produced by frameQLParser#simpleId. - def visitSimpleId(self, ctx: frameQLParser.SimpleIdContext): + # Visit a parse tree produced by evaql_parser#simpleId. + def visitSimpleId(self, ctx: evaql_parser.SimpleIdContext): # todo handle children, right now assuming TupleValueExpr return ctx.getText() # return self.visitChildren(ctx) - # Visit a parse tree produced by frameQLParser#stringLiteral. - def visitStringLiteral(self, ctx: frameQLParser.StringLiteralContext): + # Visit a parse tree produced by evaql_parser#stringLiteral. + def visitStringLiteral(self, ctx: evaql_parser.StringLiteralContext): if ctx.STRING_LITERAL() is not None: return ConstantValueExpression(ctx.getText()) # todo handle other types return self.visitChildren(ctx) - # Visit a parse tree produced by frameQLParser#constant. - def visitConstant(self, ctx: frameQLParser.ConstantContext): + # Visit a parse tree produced by evaql_parser#constant. + def visitConstant(self, ctx: evaql_parser.ConstantContext): if ctx.REAL_LITERAL() is not None: return ConstantValueExpression(float(ctx.getText())) return self.visitChildren(ctx) - # Visit a parse tree produced by frameQLParser#logicalExpression. + # Visit a parse tree produced by evaql_parser#logicalExpression. def visitLogicalExpression( - self, ctx: frameQLParser.LogicalExpressionContext): + self, ctx: evaql_parser.LogicalExpressionContext): if len(ctx.children) < 3: # error scenario, should have 3 children return None @@ -163,24 +158,24 @@ def visitLogicalExpression( right = self.visit(ctx.getChild(2)) return LogicalExpression(op, left, right) - # Visit a parse tree produced by frameQLParser#binaryComparasionPredicate. + # Visit a parse tree produced by evaql_parser#binaryComparasionPredicate. def visitBinaryComparasionPredicate( - self, ctx: frameQLParser.BinaryComparasionPredicateContext): + self, ctx: evaql_parser.BinaryComparisonPredicateContext): left = self.visit(ctx.left) right = self.visit(ctx.right) op = self.visit(ctx.comparisonOperator()) return ComparisonExpression(op, left, right) - # Visit a parse tree produced by frameQLParser#nestedExpressionAtom. + # Visit a parse tree produced by evaql_parser#nestedExpressionAtom. def visitNestedExpressionAtom( - self, ctx: frameQLParser.NestedExpressionAtomContext): + self, ctx: evaql_parser.NestedExpressionAtomContext): # ToDo Can there be >1 expression in this case expr = ctx.expression(0) return self.visit(expr) - # Visit a parse tree produced by frameQLParser#comparisonOperator. + # Visit a parse tree produced by evaql_parser#comparisonOperator. def visitComparisonOperator( - self, ctx: frameQLParser.ComparisonOperatorContext): + self, ctx: evaql_parser.ComparisonOperatorContext): op = ctx.getText() if op == '=': return ExpressionType.COMPARE_EQUAL @@ -191,8 +186,8 @@ def visitComparisonOperator( else: return ExpressionType.INVALID - # Visit a parse tree produced by frameQLParser#logicalOperator. - def visitLogicalOperator(self, ctx: frameQLParser.LogicalOperatorContext): + # Visit a parse tree produced by evaql_parser#logicalOperator. + def visitLogicalOperator(self, ctx: evaql_parser.LogicalOperatorContext): op = ctx.getText() if op == 'OR': diff --git a/src/query_parser/eva_statement.py b/src/parser/eva_statement.py similarity index 95% rename from src/query_parser/eva_statement.py rename to src/parser/eva_statement.py index c77ce018fa..71fb39404f 100644 --- a/src/query_parser/eva_statement.py +++ b/src/parser/eva_statement.py @@ -12,7 +12,8 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -from src.query_parser.types import StatementType + +from src.parser.types import StatementType class EvaStatement: diff --git a/test/query_parser/__init__.py b/src/parser/evaql/__init__.py similarity index 100% rename from test/query_parser/__init__.py rename to src/parser/evaql/__init__.py diff --git a/src/parser/evaql/evaql_lexer.g4 b/src/parser/evaql/evaql_lexer.g4 new file mode 100644 index 0000000000..e2fdf978a8 --- /dev/null +++ b/src/parser/evaql/evaql_lexer.g4 @@ -0,0 +1,239 @@ + +lexer grammar evaql_lexer; + +channels { EVAQLCOMMENT, ERRORCHANNEL } + +// SKIP + +SPACE: [ \t\r\n]+ -> channel(HIDDEN); +SPEC_EVAQL_COMMENT: '/*!' .+? '*/' -> channel(EVAQLCOMMENT); +COMMENT_INPUT: '/*' .*? '*/' -> channel(HIDDEN); +LINE_COMMENT: ( + ('-- ' | '#') ~[\r\n]* ('\r'? '\n' | EOF) + | '--' ('\r'? '\n' | EOF) + ) -> channel(HIDDEN); + +// Keywords +// Common Keywords + +ALL: 'ALL'; +ALTER: 'ALTER'; +AND: 'AND'; +ANY: 'ANY'; +AS: 'AS'; +ASC: 'ASC'; +BY: 'BY'; +COLUMN: 'COLUMN'; +CREATE: 'CREATE'; +DATABASE: 'DATABASE'; +DEFAULT: 'DEFAULT'; +DELETE: 'DELETE'; +DESC: 'DESC'; +DESCRIBE: 'DESCRIBE'; +DISTINCT: 'DISTINCT'; +DROP: 'DROP'; +EXIT: 'EXIT'; +EXISTS: 'EXISTS'; +EXPLAIN: 'EXPLAIN'; +FALSE: 'FALSE'; +FROM: 'FROM'; +GROUP: 'GROUP'; +HAVING: 'HAVING'; +IF: 'IF'; +IN: 'IN'; +INTO: 'INTO'; +INDEX: 'INDEX'; +INSERT: 'INSERT'; +IS: 'IS'; +JOIN: 'JOIN'; +KEY: 'KEY'; +LIKE: 'LIKE'; +LIMIT: 'LIMIT'; +LOAD: 'LOAD'; +NO: 'NO'; +NOT: 'NOT'; +NULL_LITERAL: 'NULL'; +OFFSET: 'OFFSET'; +ON: 'ON'; +OR: 'OR'; +ORDER: 'ORDER'; +PRIMARY: 'PRIMARY'; +REFERENCES: 'REFERENCES'; +SELECT: 'SELECT'; +SET: 'SET'; +SHUTDOWN: 'SHUTDOWN'; +SOME: 'SOME'; +TABLE: 'TABLE'; +TEXT: 'TEXT'; +TRUE: 'TRUE'; +UNIQUE: 'UNIQUE'; +UNKNOWN: 'UNKNOWN'; +UNLOCK: 'UNLOCK'; +UNSIGNED: 'UNSIGNED'; +UPDATE: 'UPDATE'; +USING: 'USING'; +VALUES: 'VALUES'; +WHERE: 'WHERE'; +XOR: 'XOR'; + +// EVAQL keywords + +ERROR_BOUNDS: 'ERROR_WITHIN'; +CONFIDENCE_LEVEL: 'AT_CONFIDENCE'; + +// Index types +BTREE: 'BTREE'; +HASH: 'HASH'; + +// Computer vision tasks + +OBJECT_DETECTION: 'OBJECT_DETECTION'; +ACTION_CLASSICATION: 'ACTION_CLASSICATION'; + +// DATA TYPE Keywords + +SMALLINT: 'SMALLINT'; +INTEGER: 'INTEGER'; +FLOAT: 'FLOAT'; +VARCHAR: 'VARCHAR'; + +// Group function Keywords + +AVG: 'AVG'; +COUNT: 'COUNT'; +MAX: 'MAX'; +MIN: 'MIN'; +STD: 'STD'; +SUM: 'SUM'; +FCOUNT: 'FCOUNT'; + +// Keywords, but can be ID +// Common Keywords, but can be ID + +AUTO_INCREMENT: 'AUTO_INCREMENT'; +BOOLEAN: 'BOOLEAN'; +COLUMNS: 'COLUMNS'; +HELP: 'HELP'; +TEMPTABLE: 'TEMPTABLE'; +VALUE: 'VALUE'; + +// Common function names + +ABS: 'ABS'; + +// Operators +// Operators. Assigns + +VAR_ASSIGN: ':='; +PLUS_ASSIGN: '+='; +MINUS_ASSIGN: '-='; +MULT_ASSIGN: '*='; +DIV_ASSIGN: '/='; +MOD_ASSIGN: '%='; +AND_ASSIGN: '&='; +XOR_ASSIGN: '^='; +OR_ASSIGN: '|='; + + +// Operators. Arithmetics + +STAR: '*'; +DIVIDE: '/'; +MODULE: '%'; +PLUS: '+'; +MINUSMINUS: '--'; +MINUS: '-'; +DIV: 'DIV'; +MOD: 'MOD'; + + +// Operators. Comparation + +EQUAL_SYMBOL: '='; +GREATER_SYMBOL: '>'; +LESS_SYMBOL: '<'; +EXCLAMATION_SYMBOL: '!'; + + +// Operators. Bit + +BIT_NOT_OP: '~'; +BIT_OR_OP: '|'; +BIT_AND_OP: '&'; +BIT_XOR_OP: '^'; + +// Constructors symbols + +DOT: '.'; +LR_BRACKET: '('; +RR_BRACKET: ')'; +COMMA: ','; +SEMI: ';'; +AT_SIGN: '@'; +ZERO_DECIMAL: '0'; +ONE_DECIMAL: '1'; +TWO_DECIMAL: '2'; +SINGLE_QUOTE_SYMB: '\''; +DOUBLE_QUOTE_SYMB: '"'; +REVERSE_QUOTE_SYMB: '`'; +COLON_SYMB: ':'; + +// Literal Primitives + +STRING_LITERAL: DQUOTA_STRING | SQUOTA_STRING; +DECIMAL_LITERAL: DEC_DIGIT+; +REAL_LITERAL: (DEC_DIGIT+)? '.' DEC_DIGIT+ + | DEC_DIGIT+ '.' EXPONENT_NUM_PART + | (DEC_DIGIT+)? '.' (DEC_DIGIT+ EXPONENT_NUM_PART) + | DEC_DIGIT+ EXPONENT_NUM_PART; +NULL_SPEC_LITERAL: '\\' 'N'; + + + +// Hack for dotID +// Prevent recognize string: .123somelatin AS ((.123), FLOAT_LITERAL), ((somelatin), ID) +// it must recoginze: .123somelatin AS ((.), DOT), (123somelatin, ID) + +DOT_ID: '.' ID_LITERAL; + + + +// Identifiers + +ID: ID_LITERAL; +// DOUBLE_QUOTE_ID: '"' ~'"'+ '"'; +REVERSE_QUOTE_ID: '`' ~'`'+ '`'; +STRING_USER_NAME: ( + SQUOTA_STRING | DQUOTA_STRING + | BQUOTA_STRING | ID_LITERAL + ) '@' + ( + SQUOTA_STRING | DQUOTA_STRING + | BQUOTA_STRING | ID_LITERAL + ); +LOCAL_ID: '@' + ( + [A-Z0-9._$]+ + | SQUOTA_STRING + | DQUOTA_STRING + | BQUOTA_STRING + ); +GLOBAL_ID: '@' '@' + ( + [A-Z0-9._$]+ + | BQUOTA_STRING + ); + +// Fragments for Literal primitives + +fragment EXPONENT_NUM_PART: 'E' '-'? DEC_DIGIT+; +fragment ID_LITERAL: [A-Z_$0-9]*?[A-Z_$]+?[A-Z_$0-9]*; +fragment DQUOTA_STRING: '"' ( '\\'. | '""' | ~('"'| '\\') )* '"'; +fragment SQUOTA_STRING: '\'' ('\\'. | '\'\'' | ~('\'' | '\\'))* '\''; +fragment BQUOTA_STRING: '`' ( '\\'. | '``' | ~('`'|'\\'))* '`'; +fragment DEC_DIGIT: [0-9]; +fragment BIT_STRING_L: 'B' '\'' [01]+ '\''; + +// Last tokens must generate Errors + +ERROR_RECONGNIGION: . -> channel(ERRORCHANNEL); diff --git a/src/parser/evaql/evaql_parser.g4 b/src/parser/evaql/evaql_parser.g4 new file mode 100644 index 0000000000..7397fba75f --- /dev/null +++ b/src/parser/evaql/evaql_parser.g4 @@ -0,0 +1,483 @@ + +parser grammar evaql_parser; + +options { + tokenVocab=evaql_lexer; +} + +// Top Level Description + +root + : sqlStatements? MINUSMINUS? EOF + ; + +sqlStatements + : (sqlStatement MINUSMINUS? SEMI | emptyStatement)* + (sqlStatement (MINUSMINUS? SEMI)? | emptyStatement) + ; + +sqlStatement + : ddlStatement | dmlStatement | utilityStatement + ; + +emptyStatement + : SEMI + ; + +ddlStatement + : createDatabase | createTable | createIndex + | dropDatabase | dropTable | dropIndex + ; + +dmlStatement + : selectStatement | insertStatement | updateStatement + | deleteStatement + ; + +utilityStatement + : simpleDescribeStatement | helpStatement + ; + +// Data Definition Language + +// Create statements + +createDatabase + : CREATE DATABASE + ifNotExists? uid + ; + +createIndex + : CREATE + INDEX uid indexType? + ON tableName indexColumnNames + ; + +createTable + : CREATE TABLE ifNotExists? + tableName createDefinitions #columnCreateTable + ; + +// details + +indexType + : USING (BTREE | HASH) + ; + +createDefinitions + : '(' createDefinition (',' createDefinition)* ')' + ; + +createDefinition + : uid columnDefinition #columnDeclaration + | indexColumnDefinition #indexDeclaration + ; + +columnDefinition + : dataType columnConstraint* + ; + +columnConstraint + : nullNotnull #nullColumnConstraint + | DEFAULT defaultValue #defaultColumnConstraint + | PRIMARY? KEY #primaryKeyColumnConstraint + | UNIQUE KEY? #uniqueKeyColumnConstraint + ; + +indexColumnDefinition + : INDEX uid? indexType? + indexColumnNames #simpleIndexDeclaration + ; + +// Drop statements + +dropDatabase + : DROP DATABASE ifExists? uid + ; + +dropIndex + : DROP INDEX + uid ON tableName + ; + +dropTable + : DROP TABLE ifExists? + tables + ; + +// Data Manipulation Language + +// Primary DML Statements + +deleteStatement + : singleDeleteStatement + ; + +insertStatement + : INSERT + INTO? tableName + ( + ('(' columns=uidList ')')? insertStatementValue + ) + ; + +selectStatement + : querySpecification #simpleSelect + ; + +updateStatement + : singleUpdateStatement + ; + +// details + +insertStatementValue + : selectStatement + | insertFormat=(VALUES | VALUE) + '(' expressionsWithDefaults ')' + (',' '(' expressionsWithDefaults ')')* + ; + +updatedElement + : fullColumnName '=' (expression | DEFAULT) + ; + + +// Detailed DML Statements + +singleDeleteStatement + : DELETE + FROM tableName + (WHERE expression)? + orderByClause? (LIMIT decimalLiteral)? + ; + +singleUpdateStatement + : UPDATE tableName (AS? uid)? + SET updatedElement (',' updatedElement)* + (WHERE expression)? orderByClause? limitClause? + ; + +// details + +orderByClause + : ORDER BY orderByExpression (',' orderByExpression)* + ; + +orderByExpression + : expression order=(ASC | DESC)? + ; + +tableSources + : tableSource (',' tableSource)* + ; + +tableSource + : tableSourceItem joinPart* #tableSourceBase + ; + +tableSourceItem + : tableName #atomTableItem + ; + +joinPart + : JOIN tableSourceItem + ( + ON expression + | USING '(' uidList ')' + )? #innerJoin + ; + +// Select Statement's Details + +queryExpression + : '(' querySpecification ')' + | '(' queryExpression ')' + ; + +//frameQL statement added +querySpecification + : SELECT selectElements + fromClause? orderByClause? limitClause? errorBoundsExpression? confidenceLevelExpression? + ; + +// details + +selectElements + : (star='*' | selectElement ) (',' selectElement)* + ; + +selectElement + : fullId '.' '*' #selectStarElement + | fullColumnName (AS? uid)? #selectColumnElement + | functionCall (AS? uid)? #selectFunctionElement + | (LOCAL_ID VAR_ASSIGN)? expression (AS? uid)? #selectExpressionElement + ; + +fromClause + : FROM tableSources + (WHERE whereExpr=expression)? + ( + GROUP BY + groupByItem (',' groupByItem)* + )? + (HAVING havingExpr=expression)? + ; + +groupByItem + : expression order=(ASC | DESC)? + ; + +limitClause + : LIMIT + ( + (offset=decimalLiteral ',')? limit=decimalLiteral + | limit=decimalLiteral OFFSET offset=decimalLiteral + ) + ; + +errorBoundsExpression + : ERROR_BOUNDS REAL_LITERAL + ; + +confidenceLevelExpression + : CONFIDENCE_LEVEL REAL_LITERAL + ; + +// Other administrative statements + +shutdownStatement + : SHUTDOWN + ; + +// Utility Statements + + +simpleDescribeStatement + : DESCRIBE tableName + ; + +helpStatement + : HELP STRING_LITERAL + ; + +// Common Clauses + +// DB Objects + +fullId + : uid (DOT_ID | '.' uid)? + ; + +tableName + : fullId + ; + +fullColumnName + : uid (dottedId dottedId? )? + ; + +indexColumnName + : uid ('(' decimalLiteral ')')? sortType=(ASC | DESC)? + ; + +userName + : STRING_USER_NAME | ID; + +uuidSet + : decimalLiteral '-' decimalLiteral '-' decimalLiteral + '-' decimalLiteral '-' decimalLiteral + (':' decimalLiteral '-' decimalLiteral)+ + ; + +uid + : simpleId + //| DOUBLE_QUOTE_ID + | REVERSE_QUOTE_ID + ; + +simpleId + : ID + ; + +dottedId + : DOT_ID + | '.' uid + ; + + +// Literals + +decimalLiteral + : DECIMAL_LITERAL | ZERO_DECIMAL | ONE_DECIMAL | TWO_DECIMAL + ; + +stringLiteral + : STRING_LITERAL + ; + +booleanLiteral + : TRUE | FALSE; + +nullNotnull + : NOT? (NULL_LITERAL | NULL_SPEC_LITERAL) + ; + +constant + : stringLiteral | decimalLiteral + | '-' decimalLiteral + | booleanLiteral + | REAL_LITERAL + | NOT? nullLiteral=(NULL_LITERAL | NULL_SPEC_LITERAL) + ; + + +// Data Types + +dataType + : TEXT + lengthOneDimension? #stringDataType + | INTEGER + lengthOneDimension? UNSIGNED? #dimensionDataType + | FLOAT + lengthTwoDimension? UNSIGNED? #dimensionDataType + | BOOLEAN #simpleDataType + ; + +lengthOneDimension + : '(' decimalLiteral ')' + ; + +lengthTwoDimension + : '(' decimalLiteral ',' decimalLiteral ')' + ; + + +// Common Lists + +uidList + : uid (',' uid)* + ; + +tables + : tableName (',' tableName)* + ; + +indexColumnNames + : '(' indexColumnName (',' indexColumnName)* ')' + ; + +expressions + : expression (',' expression)* + ; + +expressionsWithDefaults + : expressionOrDefault (',' expressionOrDefault)* + ; + + +// Common Expressions + +defaultValue + : NULL_LITERAL + | constant + ; + +expressionOrDefault + : expression | DEFAULT + ; + +ifExists + : IF EXISTS; + +ifNotExists + : IF NOT EXISTS; + + +// Functions + +functionCall + : specificFunction #specificFunctionCall + | aggregateWindowedFunction #aggregateFunctionCall + ; + +specificFunction + : ( + OBJECT_DETECTION | ACTION_CLASSICATION + ) #simpleFunctionCall + ; + + +aggregateWindowedFunction + : (AVG | MAX | MIN | SUM) + '(' aggregator=(ALL | DISTINCT)? functionArg ')' + | COUNT '(' (starArg='*' | aggregator=ALL? functionArg) ')' + ; + +functionArgs + : (constant | fullColumnName | functionCall | expression) + ( + ',' + (constant | fullColumnName | functionCall | expression) + )* + ; + +functionArg + : constant | fullColumnName | functionCall | expression + ; + + +// Expressions, predicates + +// Simplified approach for expression +expression + : notOperator=(NOT | '!') expression #notExpression + | expression logicalOperator expression #logicalExpression + | predicate IS NOT? testValue=(TRUE | FALSE | UNKNOWN) #isExpression + | predicate #predicateExpression + ; + +predicate + : predicate NOT? IN '(' (selectStatement | expressions) ')' #inPredicate + | predicate IS nullNotnull #isNullPredicate + | left=predicate comparisonOperator right=predicate #binaryComparisonPredicate + | predicate comparisonOperator + quantifier=(ALL | ANY | SOME) '(' selectStatement ')' #subqueryComparisonPredicate + | predicate NOT? LIKE predicate (STRING_LITERAL)? #likePredicate + | (LOCAL_ID VAR_ASSIGN)? expressionAtom #expressionAtomPredicate + ; + + +// Add in ASTVisitor nullNotnull in constant +expressionAtom + : constant #constantExpressionAtom + | fullColumnName #fullColumnNameExpressionAtom + | functionCall #functionCallExpressionAtom + | unaryOperator expressionAtom #unaryExpressionAtom + | '(' expression (',' expression)* ')' #nestedExpressionAtom + | '(' selectStatement ')' #subqueryExpessionAtom + | left=expressionAtom bitOperator right=expressionAtom #bitExpressionAtom + | left=expressionAtom mathOperator right=expressionAtom #mathExpressionAtom + ; + +unaryOperator + : '!' | '~' | '+' | '-' | NOT + ; + +comparisonOperator + : '=' | '>' | '<' | '<' '=' | '>' '=' + | '<' '>' | '!' '=' | '<' '=' '>' + ; + +logicalOperator + : AND | '&' '&' | XOR | OR | '|' '|' + ; + +bitOperator + : '<' '<' | '>' '>' | '&' | '^' | '|' + ; + +mathOperator + : '*' | '/' | '%' | DIV | MOD | '+' | '-' | '--' + ; + diff --git a/src/query_parser/select_statement.py b/src/parser/select_statement.py similarity index 94% rename from src/query_parser/select_statement.py rename to src/parser/select_statement.py index c4662284d5..9c27f97d11 100644 --- a/src/query_parser/select_statement.py +++ b/src/parser/select_statement.py @@ -12,10 +12,10 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -from src.query_parser.eva_statement import EvaStatement -from src.query_parser.types import StatementType +from src.parser.eva_statement import EvaStatement +from src.parser.types import StatementType from src.expression.abstract_expression import AbstractExpression -from src.query_parser.table_ref import TableRef +from src.parser.table_ref import TableRef from typing import List diff --git a/src/query_parser/table_ref.py b/src/parser/table_ref.py similarity index 100% rename from src/query_parser/table_ref.py rename to src/parser/table_ref.py diff --git a/src/query_parser/types.py b/src/parser/types.py similarity index 100% rename from src/query_parser/types.py rename to src/parser/types.py diff --git a/test/parser/__init__.py b/test/parser/__init__.py new file mode 100644 index 0000000000..e9978151f4 --- /dev/null +++ b/test/parser/__init__.py @@ -0,0 +1,14 @@ +# coding=utf-8 +# Copyright 2018-2020 EVA +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. diff --git a/test/query_parser/test_parser.py b/test/parser/test_parser.py similarity index 93% rename from test/query_parser/test_parser.py rename to test/parser/test_parser.py index a546d1c808..2192d4d109 100644 --- a/test/query_parser/test_parser.py +++ b/test/parser/test_parser.py @@ -12,15 +12,18 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. + import unittest -from src.query_parser.eva_parser import EvaFrameQLParser -from src.query_parser.eva_statement import EvaStatement -from src.query_parser.eva_statement import StatementType + +from src.parser.eva_parser import EvaFrameQLParser +from src.parser.eva_statement import EvaStatement +from src.parser.eva_statement import StatementType + from src.expression.abstract_expression import ExpressionType -from src.query_parser.table_ref import TableRef +from src.parser.table_ref import TableRef -class ParserTest(unittest.TestCase): +class ParserTests(unittest.TestCase): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) diff --git a/test/query_parser/test_parser_visitor.py b/test/parser/test_parser_visitor.py similarity index 91% rename from test/query_parser/test_parser_visitor.py rename to test/parser/test_parser_visitor.py index 4807c8305a..3864a4a079 100644 --- a/test/query_parser/test_parser_visitor.py +++ b/test/parser/test_parser_visitor.py @@ -12,16 +12,18 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. + import unittest + from unittest import mock from unittest.mock import MagicMock, call -from src.query_parser.eva_ql_parser_visitor import EvaParserVisitor -from third_party.evaQL.parser.frameQLParser import frameQLParser +from src.parser.eva_ql_parser_visitor import EvaParserVisitor +from src.parser.evaql.evaql_parser import evaql_parser from src.expression.abstract_expression import ExpressionType -class ParserVisitorTest(unittest.TestCase): +class ParserVisitorTests(unittest.TestCase): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) @@ -34,10 +36,10 @@ def test_should_query_specification_visitor(self): visitor = EvaParserVisitor() ctx = MagicMock() child_1 = MagicMock() - child_1.getRuleIndex.return_value = frameQLParser.RULE_selectElements + child_1.getRuleIndex.return_value = evaql_parser.RULE_selectElements child_2 = MagicMock() - child_2.getRuleIndex.return_value = frameQLParser.RULE_fromClause + child_2.getRuleIndex.return_value = evaql_parser.RULE_fromClause ctx.children = [None, child_1, child_2] expected = visitor.visitQuerySpecification(ctx) diff --git a/test/udfs/data/dog.jpeg.REMOVED.git-id b/test/udfs/data/dog.jpeg.REMOVED.git-id new file mode 100644 index 0000000000..14c1e289e8 --- /dev/null +++ b/test/udfs/data/dog.jpeg.REMOVED.git-id @@ -0,0 +1 @@ +328416c573c97d75c2acd180fdd4bc3e9bd68280 \ No newline at end of file diff --git a/test/udfs/data/dog_cat.jpg.REMOVED.git-id b/test/udfs/data/dog_cat.jpg.REMOVED.git-id new file mode 100644 index 0000000000..d3572b6c9e --- /dev/null +++ b/test/udfs/data/dog_cat.jpg.REMOVED.git-id @@ -0,0 +1 @@ +6048473244cf51fa109f723134993863fde4988c \ No newline at end of file diff --git a/third_party/evaQL/__init__.py b/third_party/evaQL/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/third_party/evaQL/grammar/frameQLLexer.g4 b/third_party/evaQL/grammar/frameQLLexer.g4 deleted file mode 100644 index 944fa00d68..0000000000 --- a/third_party/evaQL/grammar/frameQLLexer.g4 +++ /dev/null @@ -1,1156 +0,0 @@ - -lexer grammar frameQLLexer; - -channels { MYSQLCOMMENT, ERRORCHANNEL } - -// SKIP - -SPACE: [ \t\r\n]+ -> channel(HIDDEN); -SPEC_MYSQL_COMMENT: '/*!' .+? '*/' -> channel(MYSQLCOMMENT); -COMMENT_INPUT: '/*' .*? '*/' -> channel(HIDDEN); -LINE_COMMENT: ( - ('-- ' | '#') ~[\r\n]* ('\r'? '\n' | EOF) - | '--' ('\r'? '\n' | EOF) - ) -> channel(HIDDEN); - - - -//FrameQL keyword -ERRORBOUND: 'ERROR_WITHIN'; -CONFLEVEL: 'AT_CONFIDENCE'; - -// Keywords -// Common Keywords - -ADD: 'ADD'; -ALL: 'ALL'; -ALTER: 'ALTER'; -ALWAYS: 'ALWAYS'; -ANALYZE: 'ANALYZE'; -AND: 'AND'; -AS: 'AS'; -ASC: 'ASC'; -BEFORE: 'BEFORE'; -BETWEEN: 'BETWEEN'; -BOTH: 'BOTH'; -BY: 'BY'; -CALL: 'CALL'; -CASCADE: 'CASCADE'; -CASE: 'CASE'; -CAST: 'CAST'; -CHANGE: 'CHANGE'; -CHARACTER: 'CHARACTER'; -CHECK: 'CHECK'; -COLLATE: 'COLLATE'; -COLUMN: 'COLUMN'; -CONDITION: 'CONDITION'; -CONSTRAINT: 'CONSTRAINT'; -CONTINUE: 'CONTINUE'; -CONVERT: 'CONVERT'; -CREATE: 'CREATE'; -CROSS: 'CROSS'; -CURRENT_USER: 'CURRENT_USER'; -CURSOR: 'CURSOR'; -DATABASE: 'DATABASE'; -DATABASES: 'DATABASES'; -DECLARE: 'DECLARE'; -DEFAULT: 'DEFAULT'; -DELAYED: 'DELAYED'; -DELETE: 'DELETE'; -DESC: 'DESC'; -DESCRIBE: 'DESCRIBE'; -DETERMINISTIC: 'DETERMINISTIC'; -DISTINCT: 'DISTINCT'; -DISTINCTROW: 'DISTINCTROW'; -DROP: 'DROP'; -EACH: 'EACH'; -ELSE: 'ELSE'; -ELSEIF: 'ELSEIF'; -ENCLOSED: 'ENCLOSED'; -ESCAPED: 'ESCAPED'; -EXISTS: 'EXISTS'; -EXIT: 'EXIT'; -EXPLAIN: 'EXPLAIN'; -FALSE: 'FALSE'; -FETCH: 'FETCH'; -FOR: 'FOR'; -FORCE: 'FORCE'; -FOREIGN: 'FOREIGN'; -FROM: 'FROM'; -FULLTEXT: 'FULLTEXT'; -GENERATED: 'GENERATED'; -GRANT: 'GRANT'; -GROUP: 'GROUP'; -HAVING: 'HAVING'; -HIGH_PRIORITY: 'HIGH_PRIORITY'; -IF: 'IF'; -IGNORE: 'IGNORE'; -IN: 'IN'; -INDEX: 'INDEX'; -INFILE: 'INFILE'; -INNER: 'INNER'; -INOUT: 'INOUT'; -INSERT: 'INSERT'; -INTERVAL: 'INTERVAL'; -INTO: 'INTO'; -IS: 'IS'; -ITERATE: 'ITERATE'; -JOIN: 'JOIN'; -KEY: 'KEY'; -KEYS: 'KEYS'; -KILL: 'KILL'; -LEADING: 'LEADING'; -LEAVE: 'LEAVE'; -LEFT: 'LEFT'; -LIKE: 'LIKE'; -LIMIT: 'LIMIT'; -LINEAR: 'LINEAR'; -LINES: 'LINES'; -LOAD: 'LOAD'; -LOCK: 'LOCK'; -LOOP: 'LOOP'; -LOW_PRIORITY: 'LOW_PRIORITY'; -MASTER_BIND: 'MASTER_BIND'; -MASTER_SSL_VERIFY_SERVER_CERT: 'MASTER_SSL_VERIFY_SERVER_CERT'; -MATCH: 'MATCH'; -MAXVALUE: 'MAXVALUE'; -MODIFIES: 'MODIFIES'; -NATURAL: 'NATURAL'; -NOT: 'NOT'; -NO_WRITE_TO_BINLOG: 'NO_WRITE_TO_BINLOG'; -NULL_LITERAL: 'NULL'; -ON: 'ON'; -OPTIMIZE: 'OPTIMIZE'; -OPTION: 'OPTION'; -OPTIONALLY: 'OPTIONALLY'; -OR: 'OR'; -ORDER: 'ORDER'; -OUT: 'OUT'; -OUTER: 'OUTER'; -OUTFILE: 'OUTFILE'; -PARTITION: 'PARTITION'; -PRIMARY: 'PRIMARY'; -PROCEDURE: 'PROCEDURE'; -PURGE: 'PURGE'; -RANGE: 'RANGE'; -READ: 'READ'; -READS: 'READS'; -REFERENCES: 'REFERENCES'; -REGEXP: 'REGEXP'; -RELEASE: 'RELEASE'; -RENAME: 'RENAME'; -REPEAT: 'REPEAT'; -REPLACE: 'REPLACE'; -REQUIRE: 'REQUIRE'; -RESTRICT: 'RESTRICT'; -RETURN: 'RETURN'; -REVOKE: 'REVOKE'; -RIGHT: 'RIGHT'; -RLIKE: 'RLIKE'; -SCHEMA: 'SCHEMA'; -SCHEMAS: 'SCHEMAS'; -SELECT: 'SELECT'; -SET: 'SET'; -SEPARATOR: 'SEPARATOR'; -SHOW: 'SHOW'; -SPATIAL: 'SPATIAL'; -SQL: 'SQL'; -SQLEXCEPTION: 'SQLEXCEPTION'; -SQLSTATE: 'SQLSTATE'; -SQLWARNING: 'SQLWARNING'; -SQL_BIG_RESULT: 'SQL_BIG_RESULT'; -SQL_CALC_FOUND_ROWS: 'SQL_CALC_FOUND_ROWS'; -SQL_SMALL_RESULT: 'SQL_SMALL_RESULT'; -SSL: 'SSL'; -STARTING: 'STARTING'; -STRAIGHT_JOIN: 'STRAIGHT_JOIN'; -TABLE: 'TABLE'; -TERMINATED: 'TERMINATED'; -THEN: 'THEN'; -TO: 'TO'; -TRAILING: 'TRAILING'; -TRIGGER: 'TRIGGER'; -TRUE: 'TRUE'; -UNDO: 'UNDO'; -UNION: 'UNION'; -UNIQUE: 'UNIQUE'; -UNLOCK: 'UNLOCK'; -UNSIGNED: 'UNSIGNED'; -UPDATE: 'UPDATE'; -USAGE: 'USAGE'; -USE: 'USE'; -USING: 'USING'; -VALUES: 'VALUES'; -WHEN: 'WHEN'; -WHERE: 'WHERE'; -WHILE: 'WHILE'; -WITH: 'WITH'; -WRITE: 'WRITE'; -XOR: 'XOR'; -ZEROFILL: 'ZEROFILL'; - - -// DATA TYPE Keywords - -TINYINT: 'TINYINT'; -SMALLINT: 'SMALLINT'; -MEDIUMINT: 'MEDIUMINT'; -INT: 'INT'; -INTEGER: 'INTEGER'; -BIGINT: 'BIGINT'; -REAL: 'REAL'; -DOUBLE: 'DOUBLE'; -FLOAT: 'FLOAT'; -DECIMAL: 'DECIMAL'; -NUMERIC: 'NUMERIC'; -DATE: 'DATE'; -TIME: 'TIME'; -TIMESTAMP: 'TIMESTAMP'; -DATETIME: 'DATETIME'; -YEAR: 'YEAR'; -CHAR: 'CHAR'; -VARCHAR: 'VARCHAR'; -BINARY: 'BINARY'; -VARBINARY: 'VARBINARY'; -TINYBLOB: 'TINYBLOB'; -BLOB: 'BLOB'; -MEDIUMBLOB: 'MEDIUMBLOB'; -LONGBLOB: 'LONGBLOB'; -TINYTEXT: 'TINYTEXT'; -TEXT: 'TEXT'; -MEDIUMTEXT: 'MEDIUMTEXT'; -LONGTEXT: 'LONGTEXT'; -ENUM: 'ENUM'; -SERIAL: 'SERIAL'; - - -// Interval type Keywords - -YEAR_MONTH: 'YEAR_MONTH'; -DAY_HOUR: 'DAY_HOUR'; -DAY_MINUTE: 'DAY_MINUTE'; -DAY_SECOND: 'DAY_SECOND'; -HOUR_MINUTE: 'HOUR_MINUTE'; -HOUR_SECOND: 'HOUR_SECOND'; -MINUTE_SECOND: 'MINUTE_SECOND'; -SECOND_MICROSECOND: 'SECOND_MICROSECOND'; -MINUTE_MICROSECOND: 'MINUTE_MICROSECOND'; -HOUR_MICROSECOND: 'HOUR_MICROSECOND'; -DAY_MICROSECOND: 'DAY_MICROSECOND'; - - -// Group function Keywords - -AVG: 'AVG'; -BIT_AND: 'BIT_AND'; -BIT_OR: 'BIT_OR'; -BIT_XOR: 'BIT_XOR'; -COUNT: 'COUNT'; -GROUP_CONCAT: 'GROUP_CONCAT'; -MAX: 'MAX'; -MIN: 'MIN'; -STD: 'STD'; -STDDEV: 'STDDEV'; -STDDEV_POP: 'STDDEV_POP'; -STDDEV_SAMP: 'STDDEV_SAMP'; -SUM: 'SUM'; -VAR_POP: 'VAR_POP'; -VAR_SAMP: 'VAR_SAMP'; -VARIANCE: 'VARIANCE'; - - -//FRAMEQL aggregate -FCOUNT: 'FCOUNT'; -// Common function Keywords - -CURRENT_DATE: 'CURRENT_DATE'; -CURRENT_TIME: 'CURRENT_TIME'; -CURRENT_TIMESTAMP: 'CURRENT_TIMESTAMP'; -LOCALTIME: 'LOCALTIME'; -CURDATE: 'CURDATE'; -CURTIME: 'CURTIME'; -DATE_ADD: 'DATE_ADD'; -DATE_SUB: 'DATE_SUB'; -EXTRACT: 'EXTRACT'; -LOCALTIMESTAMP: 'LOCALTIMESTAMP'; -NOW: 'NOW'; -POSITION: 'POSITION'; -SUBSTR: 'SUBSTR'; -SUBSTRING: 'SUBSTRING'; -SYSDATE: 'SYSDATE'; -TRIM: 'TRIM'; -UTC_DATE: 'UTC_DATE'; -UTC_TIME: 'UTC_TIME'; -UTC_TIMESTAMP: 'UTC_TIMESTAMP'; - - - -// Keywords, but can be ID -// Common Keywords, but can be ID - -ACCOUNT: 'ACCOUNT'; -ACTION: 'ACTION'; -AFTER: 'AFTER'; -AGGREGATE: 'AGGREGATE'; -ALGORITHM: 'ALGORITHM'; -ANY: 'ANY'; -AT: 'AT'; -AUTHORS: 'AUTHORS'; -AUTOCOMMIT: 'AUTOCOMMIT'; -AUTOEXTEND_SIZE: 'AUTOEXTEND_SIZE'; -AUTO_INCREMENT: 'AUTO_INCREMENT'; -AVG_ROW_LENGTH: 'AVG_ROW_LENGTH'; -BEGIN: 'BEGIN'; -BINLOG: 'BINLOG'; -BIT: 'BIT'; -BLOCK: 'BLOCK'; -BOOL: 'BOOL'; -BOOLEAN: 'BOOLEAN'; -BTREE: 'BTREE'; -CACHE: 'CACHE'; -CASCADED: 'CASCADED'; -CHAIN: 'CHAIN'; -CHANGED: 'CHANGED'; -CHANNEL: 'CHANNEL'; -CHECKSUM: 'CHECKSUM'; -CIPHER: 'CIPHER'; -CLIENT: 'CLIENT'; -CLOSE: 'CLOSE'; -COALESCE: 'COALESCE'; -CODE: 'CODE'; -COLUMNS: 'COLUMNS'; -COLUMN_FORMAT: 'COLUMN_FORMAT'; -COMMENT: 'COMMENT'; -COMMIT: 'COMMIT'; -COMPACT: 'COMPACT'; -COMPLETION: 'COMPLETION'; -COMPRESSED: 'COMPRESSED'; -COMPRESSION: 'COMPRESSION'; -CONCURRENT: 'CONCURRENT'; -CONNECTION: 'CONNECTION'; -CONSISTENT: 'CONSISTENT'; -CONTAINS: 'CONTAINS'; -CONTEXT: 'CONTEXT'; -CONTRIBUTORS: 'CONTRIBUTORS'; -COPY: 'COPY'; -CPU: 'CPU'; -DATA: 'DATA'; -DATAFILE: 'DATAFILE'; -DEALLOCATE: 'DEALLOCATE'; -DEFAULT_AUTH: 'DEFAULT_AUTH'; -DEFINER: 'DEFINER'; -DELAY_KEY_WRITE: 'DELAY_KEY_WRITE'; -DES_KEY_FILE: 'DES_KEY_FILE'; -DIRECTORY: 'DIRECTORY'; -DISABLE: 'DISABLE'; -DISCARD: 'DISCARD'; -DISK: 'DISK'; -DO: 'DO'; -DUMPFILE: 'DUMPFILE'; -DUPLICATE: 'DUPLICATE'; -DYNAMIC: 'DYNAMIC'; -ENABLE: 'ENABLE'; -ENCRYPTION: 'ENCRYPTION'; -END: 'END'; -ENDS: 'ENDS'; -ENGINE: 'ENGINE'; -ENGINES: 'ENGINES'; -ERROR: 'ERROR'; -ERRORS: 'ERRORS'; -ESCAPE: 'ESCAPE'; -EVEN: 'EVEN'; -EVENT: 'EVENT'; -EVENTS: 'EVENTS'; -EVERY: 'EVERY'; -EXCHANGE: 'EXCHANGE'; -EXCLUSIVE: 'EXCLUSIVE'; -EXPIRE: 'EXPIRE'; -EXPORT: 'EXPORT'; -EXTENDED: 'EXTENDED'; -EXTENT_SIZE: 'EXTENT_SIZE'; -FAST: 'FAST'; -FAULTS: 'FAULTS'; -FIELDS: 'FIELDS'; -FILE_BLOCK_SIZE: 'FILE_BLOCK_SIZE'; -FILTER: 'FILTER'; -FIRST: 'FIRST'; -FIXED: 'FIXED'; -FLUSH: 'FLUSH'; -FOLLOWS: 'FOLLOWS'; -FOUND: 'FOUND'; -FULL: 'FULL'; -FUNCTION: 'FUNCTION'; -GENERAL: 'GENERAL'; -GLOBAL: 'GLOBAL'; -GRANTS: 'GRANTS'; -GROUP_REPLICATION: 'GROUP_REPLICATION'; -HANDLER: 'HANDLER'; -HASH: 'HASH'; -HELP: 'HELP'; -HOST: 'HOST'; -HOSTS: 'HOSTS'; -IDENTIFIED: 'IDENTIFIED'; -IGNORE_SERVER_IDS: 'IGNORE_SERVER_IDS'; -IMPORT: 'IMPORT'; -INDEXES: 'INDEXES'; -INITIAL_SIZE: 'INITIAL_SIZE'; -INPLACE: 'INPLACE'; -INSERT_METHOD: 'INSERT_METHOD'; -INSTALL: 'INSTALL'; -INSTANCE: 'INSTANCE'; -INVOKER: 'INVOKER'; -IO: 'IO'; -IO_THREAD: 'IO_THREAD'; -IPC: 'IPC'; -ISOLATION: 'ISOLATION'; -ISSUER: 'ISSUER'; -JSON: 'JSON'; -KEY_BLOCK_SIZE: 'KEY_BLOCK_SIZE'; -LANGUAGE: 'LANGUAGE'; -LAST: 'LAST'; -LEAVES: 'LEAVES'; -LESS: 'LESS'; -LEVEL: 'LEVEL'; -LIST: 'LIST'; -LOCAL: 'LOCAL'; -LOGFILE: 'LOGFILE'; -LOGS: 'LOGS'; -MASTER: 'MASTER'; -MASTER_AUTO_POSITION: 'MASTER_AUTO_POSITION'; -MASTER_CONNECT_RETRY: 'MASTER_CONNECT_RETRY'; -MASTER_DELAY: 'MASTER_DELAY'; -MASTER_HEARTBEAT_PERIOD: 'MASTER_HEARTBEAT_PERIOD'; -MASTER_HOST: 'MASTER_HOST'; -MASTER_LOG_FILE: 'MASTER_LOG_FILE'; -MASTER_LOG_POS: 'MASTER_LOG_POS'; -MASTER_PASSWORD: 'MASTER_PASSWORD'; -MASTER_PORT: 'MASTER_PORT'; -MASTER_RETRY_COUNT: 'MASTER_RETRY_COUNT'; -MASTER_SSL: 'MASTER_SSL'; -MASTER_SSL_CA: 'MASTER_SSL_CA'; -MASTER_SSL_CAPATH: 'MASTER_SSL_CAPATH'; -MASTER_SSL_CERT: 'MASTER_SSL_CERT'; -MASTER_SSL_CIPHER: 'MASTER_SSL_CIPHER'; -MASTER_SSL_CRL: 'MASTER_SSL_CRL'; -MASTER_SSL_CRLPATH: 'MASTER_SSL_CRLPATH'; -MASTER_SSL_KEY: 'MASTER_SSL_KEY'; -MASTER_TLS_VERSION: 'MASTER_TLS_VERSION'; -MASTER_USER: 'MASTER_USER'; -MAX_CONNECTIONS_PER_HOUR: 'MAX_CONNECTIONS_PER_HOUR'; -MAX_QUERIES_PER_HOUR: 'MAX_QUERIES_PER_HOUR'; -MAX_ROWS: 'MAX_ROWS'; -MAX_SIZE: 'MAX_SIZE'; -MAX_UPDATES_PER_HOUR: 'MAX_UPDATES_PER_HOUR'; -MAX_USER_CONNECTIONS: 'MAX_USER_CONNECTIONS'; -MEDIUM: 'MEDIUM'; -MERGE: 'MERGE'; -MID: 'MID'; -MIGRATE: 'MIGRATE'; -MIN_ROWS: 'MIN_ROWS'; -MODE: 'MODE'; -MODIFY: 'MODIFY'; -MUTEX: 'MUTEX'; -MYSQL: 'MYSQL'; -NAME: 'NAME'; -NAMES: 'NAMES'; -NCHAR: 'NCHAR'; -NEVER: 'NEVER'; -NEXT: 'NEXT'; -NO: 'NO'; -NODEGROUP: 'NODEGROUP'; -NONE: 'NONE'; -OFFLINE: 'OFFLINE'; -OFFSET: 'OFFSET'; -OJ: 'OJ'; -OLD_PASSWORD: 'OLD_PASSWORD'; -ONE: 'ONE'; -ONLINE: 'ONLINE'; -ONLY: 'ONLY'; -OPEN: 'OPEN'; -OPTIMIZER_COSTS: 'OPTIMIZER_COSTS'; -OPTIONS: 'OPTIONS'; -OWNER: 'OWNER'; -PACK_KEYS: 'PACK_KEYS'; -PAGE: 'PAGE'; -PARSER: 'PARSER'; -PARTIAL: 'PARTIAL'; -PARTITIONING: 'PARTITIONING'; -PARTITIONS: 'PARTITIONS'; -PASSWORD: 'PASSWORD'; -PHASE: 'PHASE'; -PLUGIN: 'PLUGIN'; -PLUGIN_DIR: 'PLUGIN_DIR'; -PLUGINS: 'PLUGINS'; -PORT: 'PORT'; -PRECEDES: 'PRECEDES'; -PREPARE: 'PREPARE'; -PRESERVE: 'PRESERVE'; -PREV: 'PREV'; -PROCESSLIST: 'PROCESSLIST'; -PROFILE: 'PROFILE'; -PROFILES: 'PROFILES'; -PROXY: 'PROXY'; -QUERY: 'QUERY'; -QUICK: 'QUICK'; -REBUILD: 'REBUILD'; -RECOVER: 'RECOVER'; -REDO_BUFFER_SIZE: 'REDO_BUFFER_SIZE'; -REDUNDANT: 'REDUNDANT'; -RELAY: 'RELAY'; -RELAY_LOG_FILE: 'RELAY_LOG_FILE'; -RELAY_LOG_POS: 'RELAY_LOG_POS'; -RELAYLOG: 'RELAYLOG'; -REMOVE: 'REMOVE'; -REORGANIZE: 'REORGANIZE'; -REPAIR: 'REPAIR'; -REPLICATE_DO_DB: 'REPLICATE_DO_DB'; -REPLICATE_DO_TABLE: 'REPLICATE_DO_TABLE'; -REPLICATE_IGNORE_DB: 'REPLICATE_IGNORE_DB'; -REPLICATE_IGNORE_TABLE: 'REPLICATE_IGNORE_TABLE'; -REPLICATE_REWRITE_DB: 'REPLICATE_REWRITE_DB'; -REPLICATE_WILD_DO_TABLE: 'REPLICATE_WILD_DO_TABLE'; -REPLICATE_WILD_IGNORE_TABLE: 'REPLICATE_WILD_IGNORE_TABLE'; -REPLICATION: 'REPLICATION'; -RESET: 'RESET'; -RESUME: 'RESUME'; -RETURNS: 'RETURNS'; -ROLLBACK: 'ROLLBACK'; -ROLLUP: 'ROLLUP'; -ROTATE: 'ROTATE'; -ROW: 'ROW'; -ROWS: 'ROWS'; -ROW_FORMAT: 'ROW_FORMAT'; -SAVEPOINT: 'SAVEPOINT'; -SCHEDULE: 'SCHEDULE'; -SECURITY: 'SECURITY'; -SERVER: 'SERVER'; -SESSION: 'SESSION'; -SHARE: 'SHARE'; -SHARED: 'SHARED'; -SIGNED: 'SIGNED'; -SIMPLE: 'SIMPLE'; -SLAVE: 'SLAVE'; -SLOW: 'SLOW'; -SNAPSHOT: 'SNAPSHOT'; -SOCKET: 'SOCKET'; -SOME: 'SOME'; -SONAME: 'SONAME'; -SOUNDS: 'SOUNDS'; -SOURCE: 'SOURCE'; -SQL_AFTER_GTIDS: 'SQL_AFTER_GTIDS'; -SQL_AFTER_MTS_GAPS: 'SQL_AFTER_MTS_GAPS'; -SQL_BEFORE_GTIDS: 'SQL_BEFORE_GTIDS'; -SQL_BUFFER_RESULT: 'SQL_BUFFER_RESULT'; -SQL_CACHE: 'SQL_CACHE'; -SQL_NO_CACHE: 'SQL_NO_CACHE'; -SQL_THREAD: 'SQL_THREAD'; -START: 'START'; -STARTS: 'STARTS'; -STATS_AUTO_RECALC: 'STATS_AUTO_RECALC'; -STATS_PERSISTENT: 'STATS_PERSISTENT'; -STATS_SAMPLE_PAGES: 'STATS_SAMPLE_PAGES'; -STATUS: 'STATUS'; -STOP: 'STOP'; -STORAGE: 'STORAGE'; -STORED: 'STORED'; -STRING: 'STRING'; -SUBJECT: 'SUBJECT'; -SUBPARTITION: 'SUBPARTITION'; -SUBPARTITIONS: 'SUBPARTITIONS'; -SUSPEND: 'SUSPEND'; -SWAPS: 'SWAPS'; -SWITCHES: 'SWITCHES'; -TABLESPACE: 'TABLESPACE'; -TEMPORARY: 'TEMPORARY'; -TEMPTABLE: 'TEMPTABLE'; -THAN: 'THAN'; -TRADITIONAL: 'TRADITIONAL'; -TRANSACTION: 'TRANSACTION'; -TRIGGERS: 'TRIGGERS'; -TRUNCATE: 'TRUNCATE'; -UNDEFINED: 'UNDEFINED'; -UNDOFILE: 'UNDOFILE'; -UNDO_BUFFER_SIZE: 'UNDO_BUFFER_SIZE'; -UNINSTALL: 'UNINSTALL'; -UNKNOWN: 'UNKNOWN'; -UNTIL: 'UNTIL'; -UPGRADE: 'UPGRADE'; -USER: 'USER'; -USE_FRM: 'USE_FRM'; -USER_RESOURCES: 'USER_RESOURCES'; -VALIDATION: 'VALIDATION'; -VALUE: 'VALUE'; -VARIABLES: 'VARIABLES'; -VIEW: 'VIEW'; -VIRTUAL: 'VIRTUAL'; -WAIT: 'WAIT'; -WARNINGS: 'WARNINGS'; -WITHOUT: 'WITHOUT'; -WORK: 'WORK'; -WRAPPER: 'WRAPPER'; -X509: 'X509'; -XA: 'XA'; -XML: 'XML'; - - -// Date format Keywords - -EUR: 'EUR'; -USA: 'USA'; -JIS: 'JIS'; -ISO: 'ISO'; -INTERNAL: 'INTERNAL'; - - -// Interval type Keywords - -QUARTER: 'QUARTER'; -MONTH: 'MONTH'; -DAY: 'DAY'; -HOUR: 'HOUR'; -MINUTE: 'MINUTE'; -WEEK: 'WEEK'; -SECOND: 'SECOND'; -MICROSECOND: 'MICROSECOND'; - - -// PRIVILEGES - -TABLES: 'TABLES'; -ROUTINE: 'ROUTINE'; -EXECUTE: 'EXECUTE'; -FILE: 'FILE'; -PROCESS: 'PROCESS'; -RELOAD: 'RELOAD'; -SHUTDOWN: 'SHUTDOWN'; -SUPER: 'SUPER'; -PRIVILEGES: 'PRIVILEGES'; - - -// Charsets - -ARMSCII8: 'ARMSCII8'; -ASCII: 'ASCII'; -BIG5: 'BIG5'; -CP1250: 'CP1250'; -CP1251: 'CP1251'; -CP1256: 'CP1256'; -CP1257: 'CP1257'; -CP850: 'CP850'; -CP852: 'CP852'; -CP866: 'CP866'; -CP932: 'CP932'; -DEC8: 'DEC8'; -EUCJPMS: 'EUCJPMS'; -EUCKR: 'EUCKR'; -GB2312: 'GB2312'; -GBK: 'GBK'; -GEOSTD8: 'GEOSTD8'; -GREEK: 'GREEK'; -HEBREW: 'HEBREW'; -HP8: 'HP8'; -KEYBCS2: 'KEYBCS2'; -KOI8R: 'KOI8R'; -KOI8U: 'KOI8U'; -LATIN1: 'LATIN1'; -LATIN2: 'LATIN2'; -LATIN5: 'LATIN5'; -LATIN7: 'LATIN7'; -MACCE: 'MACCE'; -MACROMAN: 'MACROMAN'; -SJIS: 'SJIS'; -SWE7: 'SWE7'; -TIS620: 'TIS620'; -UCS2: 'UCS2'; -UJIS: 'UJIS'; -UTF16: 'UTF16'; -UTF16LE: 'UTF16LE'; -UTF32: 'UTF32'; -UTF8: 'UTF8'; -UTF8MB3: 'UTF8MB3'; -UTF8MB4: 'UTF8MB4'; - - -// DB Engines - -ARCHIVE: 'ARCHIVE'; -BLACKHOLE: 'BLACKHOLE'; -CSV: 'CSV'; -FEDERATED: 'FEDERATED'; -INNODB: 'INNODB'; -MEMORY: 'MEMORY'; -MRG_MYISAM: 'MRG_MYISAM'; -MYISAM: 'MYISAM'; -NDB: 'NDB'; -NDBCLUSTER: 'NDBCLUSTER'; -PERFOMANCE_SCHEMA: 'PERFOMANCE_SCHEMA'; - - -// Transaction Levels - -REPEATABLE: 'REPEATABLE'; -COMMITTED: 'COMMITTED'; -UNCOMMITTED: 'UNCOMMITTED'; -SERIALIZABLE: 'SERIALIZABLE'; - - -// Spatial data types - -GEOMETRYCOLLECTION: 'GEOMETRYCOLLECTION'; -LINESTRING: 'LINESTRING'; -MULTILINESTRING: 'MULTILINESTRING'; -MULTIPOINT: 'MULTIPOINT'; -MULTIPOLYGON: 'MULTIPOLYGON'; -POINT: 'POINT'; -POLYGON: 'POLYGON'; - - -// Common function names - -ABS: 'ABS'; -ACOS: 'ACOS'; -ADDDATE: 'ADDDATE'; -ADDTIME: 'ADDTIME'; -AES_DECRYPT: 'AES_DECRYPT'; -AES_ENCRYPT: 'AES_ENCRYPT'; -AREA: 'AREA'; -ASBINARY: 'ASBINARY'; -ASIN: 'ASIN'; -ASTEXT: 'ASTEXT'; -ASWKB: 'ASWKB'; -ASWKT: 'ASWKT'; -ASYMMETRIC_DECRYPT: 'ASYMMETRIC_DECRYPT'; -ASYMMETRIC_DERIVE: 'ASYMMETRIC_DERIVE'; -ASYMMETRIC_ENCRYPT: 'ASYMMETRIC_ENCRYPT'; -ASYMMETRIC_SIGN: 'ASYMMETRIC_SIGN'; -ASYMMETRIC_VERIFY: 'ASYMMETRIC_VERIFY'; -ATAN: 'ATAN'; -ATAN2: 'ATAN2'; -BENCHMARK: 'BENCHMARK'; -BIN: 'BIN'; -BIT_COUNT: 'BIT_COUNT'; -BIT_LENGTH: 'BIT_LENGTH'; -BUFFER: 'BUFFER'; -CEIL: 'CEIL'; -CEILING: 'CEILING'; -CENTROID: 'CENTROID'; -CHARACTER_LENGTH: 'CHARACTER_LENGTH'; -CHARSET: 'CHARSET'; -CHAR_LENGTH: 'CHAR_LENGTH'; -COERCIBILITY: 'COERCIBILITY'; -COLLATION: 'COLLATION'; -COMPRESS: 'COMPRESS'; -CONCAT: 'CONCAT'; -CONCAT_WS: 'CONCAT_WS'; -CONNECTION_ID: 'CONNECTION_ID'; -CONV: 'CONV'; -CONVERT_TZ: 'CONVERT_TZ'; -COS: 'COS'; -COT: 'COT'; -CRC32: 'CRC32'; -CREATE_ASYMMETRIC_PRIV_KEY: 'CREATE_ASYMMETRIC_PRIV_KEY'; -CREATE_ASYMMETRIC_PUB_KEY: 'CREATE_ASYMMETRIC_PUB_KEY'; -CREATE_DH_PARAMETERS: 'CREATE_DH_PARAMETERS'; -CREATE_DIGEST: 'CREATE_DIGEST'; -CROSSES: 'CROSSES'; -DATEDIFF: 'DATEDIFF'; -DATE_FORMAT: 'DATE_FORMAT'; -DAYNAME: 'DAYNAME'; -DAYOFMONTH: 'DAYOFMONTH'; -DAYOFWEEK: 'DAYOFWEEK'; -DAYOFYEAR: 'DAYOFYEAR'; -DECODE: 'DECODE'; -DEGREES: 'DEGREES'; -DES_DECRYPT: 'DES_DECRYPT'; -DES_ENCRYPT: 'DES_ENCRYPT'; -DIMENSION: 'DIMENSION'; -DISJOINT: 'DISJOINT'; -ELT: 'ELT'; -ENCODE: 'ENCODE'; -ENCRYPT: 'ENCRYPT'; -ENDPOINT: 'ENDPOINT'; -ENVELOPE: 'ENVELOPE'; -EQUALS: 'EQUALS'; -EXP: 'EXP'; -EXPORT_SET: 'EXPORT_SET'; -EXTERIORRING: 'EXTERIORRING'; -EXTRACTVALUE: 'EXTRACTVALUE'; -FIELD: 'FIELD'; -FIND_IN_SET: 'FIND_IN_SET'; -FLOOR: 'FLOOR'; -FORMAT: 'FORMAT'; -FOUND_ROWS: 'FOUND_ROWS'; -FROM_BASE64: 'FROM_BASE64'; -FROM_DAYS: 'FROM_DAYS'; -FROM_UNIXTIME: 'FROM_UNIXTIME'; -GEOMCOLLFROMTEXT: 'GEOMCOLLFROMTEXT'; -GEOMCOLLFROMWKB: 'GEOMCOLLFROMWKB'; -GEOMETRYCOLLECTIONFROMTEXT: 'GEOMETRYCOLLECTIONFROMTEXT'; -GEOMETRYCOLLECTIONFROMWKB: 'GEOMETRYCOLLECTIONFROMWKB'; -GEOMETRYFROMTEXT: 'GEOMETRYFROMTEXT'; -GEOMETRYFROMWKB: 'GEOMETRYFROMWKB'; -GEOMETRYN: 'GEOMETRYN'; -GEOMETRYTYPE: 'GEOMETRYTYPE'; -GEOMFROMTEXT: 'GEOMFROMTEXT'; -GEOMFROMWKB: 'GEOMFROMWKB'; -GET_FORMAT: 'GET_FORMAT'; -GET_LOCK: 'GET_LOCK'; -GLENGTH: 'GLENGTH'; -GREATEST: 'GREATEST'; -GTID_SUBSET: 'GTID_SUBSET'; -GTID_SUBTRACT: 'GTID_SUBTRACT'; -HEX: 'HEX'; -IFNULL: 'IFNULL'; -INET6_ATON: 'INET6_ATON'; -INET6_NTOA: 'INET6_NTOA'; -INET_ATON: 'INET_ATON'; -INET_NTOA: 'INET_NTOA'; -INSTR: 'INSTR'; -INTERIORRINGN: 'INTERIORRINGN'; -INTERSECTS: 'INTERSECTS'; -ISCLOSED: 'ISCLOSED'; -ISEMPTY: 'ISEMPTY'; -ISNULL: 'ISNULL'; -ISSIMPLE: 'ISSIMPLE'; -IS_FREE_LOCK: 'IS_FREE_LOCK'; -IS_IPV4: 'IS_IPV4'; -IS_IPV4_COMPAT: 'IS_IPV4_COMPAT'; -IS_IPV4_MAPPED: 'IS_IPV4_MAPPED'; -IS_IPV6: 'IS_IPV6'; -IS_USED_LOCK: 'IS_USED_LOCK'; -LAST_INSERT_ID: 'LAST_INSERT_ID'; -LCASE: 'LCASE'; -LEAST: 'LEAST'; -LENGTH: 'LENGTH'; -LINEFROMTEXT: 'LINEFROMTEXT'; -LINEFROMWKB: 'LINEFROMWKB'; -LINESTRINGFROMTEXT: 'LINESTRINGFROMTEXT'; -LINESTRINGFROMWKB: 'LINESTRINGFROMWKB'; -LN: 'LN'; -LOAD_FILE: 'LOAD_FILE'; -LOCATE: 'LOCATE'; -LOG: 'LOG'; -LOG10: 'LOG10'; -LOG2: 'LOG2'; -LOWER: 'LOWER'; -LPAD: 'LPAD'; -LTRIM: 'LTRIM'; -MAKEDATE: 'MAKEDATE'; -MAKETIME: 'MAKETIME'; -MAKE_SET: 'MAKE_SET'; -MASTER_POS_WAIT: 'MASTER_POS_WAIT'; -MBRCONTAINS: 'MBRCONTAINS'; -MBRDISJOINT: 'MBRDISJOINT'; -MBREQUAL: 'MBREQUAL'; -MBRINTERSECTS: 'MBRINTERSECTS'; -MBROVERLAPS: 'MBROVERLAPS'; -MBRTOUCHES: 'MBRTOUCHES'; -MBRWITHIN: 'MBRWITHIN'; -MD5: 'MD5'; -MLINEFROMTEXT: 'MLINEFROMTEXT'; -MLINEFROMWKB: 'MLINEFROMWKB'; -MONTHNAME: 'MONTHNAME'; -MPOINTFROMTEXT: 'MPOINTFROMTEXT'; -MPOINTFROMWKB: 'MPOINTFROMWKB'; -MPOLYFROMTEXT: 'MPOLYFROMTEXT'; -MPOLYFROMWKB: 'MPOLYFROMWKB'; -MULTILINESTRINGFROMTEXT: 'MULTILINESTRINGFROMTEXT'; -MULTILINESTRINGFROMWKB: 'MULTILINESTRINGFROMWKB'; -MULTIPOINTFROMTEXT: 'MULTIPOINTFROMTEXT'; -MULTIPOINTFROMWKB: 'MULTIPOINTFROMWKB'; -MULTIPOLYGONFROMTEXT: 'MULTIPOLYGONFROMTEXT'; -MULTIPOLYGONFROMWKB: 'MULTIPOLYGONFROMWKB'; -NAME_CONST: 'NAME_CONST'; -NULLIF: 'NULLIF'; -NUMGEOMETRIES: 'NUMGEOMETRIES'; -NUMINTERIORRINGS: 'NUMINTERIORRINGS'; -NUMPOINTS: 'NUMPOINTS'; -OCT: 'OCT'; -OCTET_LENGTH: 'OCTET_LENGTH'; -ORD: 'ORD'; -OVERLAPS: 'OVERLAPS'; -PERIOD_ADD: 'PERIOD_ADD'; -PERIOD_DIFF: 'PERIOD_DIFF'; -PI: 'PI'; -POINTFROMTEXT: 'POINTFROMTEXT'; -POINTFROMWKB: 'POINTFROMWKB'; -POINTN: 'POINTN'; -POLYFROMTEXT: 'POLYFROMTEXT'; -POLYFROMWKB: 'POLYFROMWKB'; -POLYGONFROMTEXT: 'POLYGONFROMTEXT'; -POLYGONFROMWKB: 'POLYGONFROMWKB'; -POW: 'POW'; -POWER: 'POWER'; -QUOTE: 'QUOTE'; -RADIANS: 'RADIANS'; -RAND: 'RAND'; -RANDOM_BYTES: 'RANDOM_BYTES'; -RELEASE_LOCK: 'RELEASE_LOCK'; -REVERSE: 'REVERSE'; -ROUND: 'ROUND'; -ROW_COUNT: 'ROW_COUNT'; -RPAD: 'RPAD'; -RTRIM: 'RTRIM'; -SEC_TO_TIME: 'SEC_TO_TIME'; -SESSION_USER: 'SESSION_USER'; -SHA: 'SHA'; -SHA1: 'SHA1'; -SHA2: 'SHA2'; -SIGN: 'SIGN'; -SIN: 'SIN'; -SLEEP: 'SLEEP'; -SOUNDEX: 'SOUNDEX'; -SQL_THREAD_WAIT_AFTER_GTIDS: 'SQL_THREAD_WAIT_AFTER_GTIDS'; -SQRT: 'SQRT'; -SRID: 'SRID'; -STARTPOINT: 'STARTPOINT'; -STRCMP: 'STRCMP'; -STR_TO_DATE: 'STR_TO_DATE'; -ST_AREA: 'ST_AREA'; -ST_ASBINARY: 'ST_ASBINARY'; -ST_ASTEXT: 'ST_ASTEXT'; -ST_ASWKB: 'ST_ASWKB'; -ST_ASWKT: 'ST_ASWKT'; -ST_BUFFER: 'ST_BUFFER'; -ST_CENTROID: 'ST_CENTROID'; -ST_CONTAINS: 'ST_CONTAINS'; -ST_CROSSES: 'ST_CROSSES'; -ST_DIFFERENCE: 'ST_DIFFERENCE'; -ST_DIMENSION: 'ST_DIMENSION'; -ST_DISJOINT: 'ST_DISJOINT'; -ST_DISTANCE: 'ST_DISTANCE'; -ST_ENDPOINT: 'ST_ENDPOINT'; -ST_ENVELOPE: 'ST_ENVELOPE'; -ST_EQUALS: 'ST_EQUALS'; -ST_EXTERIORRING: 'ST_EXTERIORRING'; -ST_GEOMCOLLFROMTEXT: 'ST_GEOMCOLLFROMTEXT'; -ST_GEOMCOLLFROMTXT: 'ST_GEOMCOLLFROMTXT'; -ST_GEOMCOLLFROMWKB: 'ST_GEOMCOLLFROMWKB'; -ST_GEOMETRYCOLLECTIONFROMTEXT: 'ST_GEOMETRYCOLLECTIONFROMTEXT'; -ST_GEOMETRYCOLLECTIONFROMWKB: 'ST_GEOMETRYCOLLECTIONFROMWKB'; -ST_GEOMETRYFROMTEXT: 'ST_GEOMETRYFROMTEXT'; -ST_GEOMETRYFROMWKB: 'ST_GEOMETRYFROMWKB'; -ST_GEOMETRYN: 'ST_GEOMETRYN'; -ST_GEOMETRYTYPE: 'ST_GEOMETRYTYPE'; -ST_GEOMFROMTEXT: 'ST_GEOMFROMTEXT'; -ST_GEOMFROMWKB: 'ST_GEOMFROMWKB'; -ST_INTERIORRINGN: 'ST_INTERIORRINGN'; -ST_INTERSECTION: 'ST_INTERSECTION'; -ST_INTERSECTS: 'ST_INTERSECTS'; -ST_ISCLOSED: 'ST_ISCLOSED'; -ST_ISEMPTY: 'ST_ISEMPTY'; -ST_ISSIMPLE: 'ST_ISSIMPLE'; -ST_LINEFROMTEXT: 'ST_LINEFROMTEXT'; -ST_LINEFROMWKB: 'ST_LINEFROMWKB'; -ST_LINESTRINGFROMTEXT: 'ST_LINESTRINGFROMTEXT'; -ST_LINESTRINGFROMWKB: 'ST_LINESTRINGFROMWKB'; -ST_NUMGEOMETRIES: 'ST_NUMGEOMETRIES'; -ST_NUMINTERIORRING: 'ST_NUMINTERIORRING'; -ST_NUMINTERIORRINGS: 'ST_NUMINTERIORRINGS'; -ST_NUMPOINTS: 'ST_NUMPOINTS'; -ST_OVERLAPS: 'ST_OVERLAPS'; -ST_POINTFROMTEXT: 'ST_POINTFROMTEXT'; -ST_POINTFROMWKB: 'ST_POINTFROMWKB'; -ST_POINTN: 'ST_POINTN'; -ST_POLYFROMTEXT: 'ST_POLYFROMTEXT'; -ST_POLYFROMWKB: 'ST_POLYFROMWKB'; -ST_POLYGONFROMTEXT: 'ST_POLYGONFROMTEXT'; -ST_POLYGONFROMWKB: 'ST_POLYGONFROMWKB'; -ST_SRID: 'ST_SRID'; -ST_STARTPOINT: 'ST_STARTPOINT'; -ST_SYMDIFFERENCE: 'ST_SYMDIFFERENCE'; -ST_TOUCHES: 'ST_TOUCHES'; -ST_UNION: 'ST_UNION'; -ST_WITHIN: 'ST_WITHIN'; -ST_X: 'ST_X'; -ST_Y: 'ST_Y'; -SUBDATE: 'SUBDATE'; -SUBSTRING_INDEX: 'SUBSTRING_INDEX'; -SUBTIME: 'SUBTIME'; -SYSTEM_USER: 'SYSTEM_USER'; -TAN: 'TAN'; -TIMEDIFF: 'TIMEDIFF'; -TIMESTAMPADD: 'TIMESTAMPADD'; -TIMESTAMPDIFF: 'TIMESTAMPDIFF'; -TIME_FORMAT: 'TIME_FORMAT'; -TIME_TO_SEC: 'TIME_TO_SEC'; -TOUCHES: 'TOUCHES'; -TO_BASE64: 'TO_BASE64'; -TO_DAYS: 'TO_DAYS'; -TO_SECONDS: 'TO_SECONDS'; -UCASE: 'UCASE'; -UNCOMPRESS: 'UNCOMPRESS'; -UNCOMPRESSED_LENGTH: 'UNCOMPRESSED_LENGTH'; -UNHEX: 'UNHEX'; -UNIX_TIMESTAMP: 'UNIX_TIMESTAMP'; -UPDATEXML: 'UPDATEXML'; -UPPER: 'UPPER'; -UUID: 'UUID'; -UUID_SHORT: 'UUID_SHORT'; -VALIDATE_PASSWORD_STRENGTH: 'VALIDATE_PASSWORD_STRENGTH'; -VERSION: 'VERSION'; -WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS'; -WEEKDAY: 'WEEKDAY'; -WEEKOFYEAR: 'WEEKOFYEAR'; -WEIGHT_STRING: 'WEIGHT_STRING'; -WITHIN: 'WITHIN'; -YEARWEEK: 'YEARWEEK'; -Y_FUNCTION: 'Y'; -X_FUNCTION: 'X'; - - - -// Operators -// Operators. Assigns - -VAR_ASSIGN: ':='; -PLUS_ASSIGN: '+='; -MINUS_ASSIGN: '-='; -MULT_ASSIGN: '*='; -DIV_ASSIGN: '/='; -MOD_ASSIGN: '%='; -AND_ASSIGN: '&='; -XOR_ASSIGN: '^='; -OR_ASSIGN: '|='; - - -// Operators. Arithmetics - -STAR: '*'; -DIVIDE: '/'; -MODULE: '%'; -PLUS: '+'; -MINUSMINUS: '--'; -MINUS: '-'; -DIV: 'DIV'; -MOD: 'MOD'; - - -// Operators. Comparation - -EQUAL_SYMBOL: '='; -GREATER_SYMBOL: '>'; -LESS_SYMBOL: '<'; -EXCLAMATION_SYMBOL: '!'; - - -// Operators. Bit - -BIT_NOT_OP: '~'; -BIT_OR_OP: '|'; -BIT_AND_OP: '&'; -BIT_XOR_OP: '^'; - - -// Constructors symbols - -DOT: '.'; -LR_BRACKET: '('; -RR_BRACKET: ')'; -COMMA: ','; -SEMI: ';'; -AT_SIGN: '@'; -ZERO_DECIMAL: '0'; -ONE_DECIMAL: '1'; -TWO_DECIMAL: '2'; -SINGLE_QUOTE_SYMB: '\''; -DOUBLE_QUOTE_SYMB: '"'; -REVERSE_QUOTE_SYMB: '`'; -COLON_SYMB: ':'; - - - -// Charsets - -CHARSET_REVERSE_QOUTE_STRING: '`' CHARSET_NAME '`'; - - - -// File's sizes - - -FILESIZE_LITERAL: DEC_DIGIT+ ('K'|'M'|'G'|'T'); - - - -// Literal Primitives - - -START_NATIONAL_STRING_LITERAL: 'N' SQUOTA_STRING; -STRING_LITERAL: DQUOTA_STRING | SQUOTA_STRING; -DECIMAL_LITERAL: DEC_DIGIT+; -HEXADECIMAL_LITERAL: 'X' '\'' (HEX_DIGIT HEX_DIGIT)+ '\'' - | '0X' HEX_DIGIT+; - -REAL_LITERAL: (DEC_DIGIT+)? '.' DEC_DIGIT+ - | DEC_DIGIT+ '.' EXPONENT_NUM_PART - | (DEC_DIGIT+)? '.' (DEC_DIGIT+ EXPONENT_NUM_PART) - | DEC_DIGIT+ EXPONENT_NUM_PART; -NULL_SPEC_LITERAL: '\\' 'N'; -BIT_STRING: BIT_STRING_L; -STRING_CHARSET_NAME: '_' CHARSET_NAME; - - - - -// Hack for dotID -// Prevent recognize string: .123somelatin AS ((.123), FLOAT_LITERAL), ((somelatin), ID) -// it must recoginze: .123somelatin AS ((.), DOT), (123somelatin, ID) - -DOT_ID: '.' ID_LITERAL; - - - -// Identifiers - -ID: ID_LITERAL; -// DOUBLE_QUOTE_ID: '"' ~'"'+ '"'; -REVERSE_QUOTE_ID: '`' ~'`'+ '`'; -STRING_USER_NAME: ( - SQUOTA_STRING | DQUOTA_STRING - | BQUOTA_STRING | ID_LITERAL - ) '@' - ( - SQUOTA_STRING | DQUOTA_STRING - | BQUOTA_STRING | ID_LITERAL - ); -LOCAL_ID: '@' - ( - [A-Z0-9._$]+ - | SQUOTA_STRING - | DQUOTA_STRING - | BQUOTA_STRING - ); -GLOBAL_ID: '@' '@' - ( - [A-Z0-9._$]+ - | BQUOTA_STRING - ); - - -// Fragments for Literal primitives - -fragment CHARSET_NAME: ARMSCII8 | ASCII | BIG5 | BINARY | CP1250 - | CP1251 | CP1256 | CP1257 | CP850 - | CP852 | CP866 | CP932 | DEC8 | EUCJPMS - | EUCKR | GB2312 | GBK | GEOSTD8 | GREEK - | HEBREW | HP8 | KEYBCS2 | KOI8R | KOI8U - | LATIN1 | LATIN2 | LATIN5 | LATIN7 - | MACCE | MACROMAN | SJIS | SWE7 | TIS620 - | UCS2 | UJIS | UTF16 | UTF16LE | UTF32 - | UTF8 | UTF8MB4; - -fragment EXPONENT_NUM_PART: 'E' '-'? DEC_DIGIT+; -fragment ID_LITERAL: [A-Z_$0-9]*?[A-Z_$]+?[A-Z_$0-9]*; -fragment DQUOTA_STRING: '"' ( '\\'. | '""' | ~('"'| '\\') )* '"'; -fragment SQUOTA_STRING: '\'' ('\\'. | '\'\'' | ~('\'' | '\\'))* '\''; -fragment BQUOTA_STRING: '`' ( '\\'. | '``' | ~('`'|'\\'))* '`'; -fragment HEX_DIGIT: [0-9A-F]; -fragment DEC_DIGIT: [0-9]; -fragment BIT_STRING_L: 'B' '\'' [01]+ '\''; - - - -// Last tokens must generate Errors - -ERROR_RECONGNIGION: . -> channel(ERRORCHANNEL); diff --git a/third_party/evaQL/grammar/frameQLParser.g4 b/third_party/evaQL/grammar/frameQLParser.g4 deleted file mode 100644 index b577924a1a..0000000000 --- a/third_party/evaQL/grammar/frameQLParser.g4 +++ /dev/null @@ -1,2468 +0,0 @@ - -parser grammar frameQLParser; - -options { tokenVocab=frameQLLexer; } - - -// Top Level Description - -root - : sqlStatements? MINUSMINUS? EOF - ; - -sqlStatements - : (sqlStatement MINUSMINUS? SEMI | emptyStatement)* - (sqlStatement (MINUSMINUS? SEMI)? | emptyStatement) - ; - -sqlStatement - : ddlStatement | dmlStatement | transactionStatement - | replicationStatement | preparedStatement - | administrationStatement | utilityStatement - ; - -emptyStatement - : SEMI - ; - -ddlStatement - : createDatabase | createEvent | createIndex - | createLogfileGroup | createProcedure | createFunction - | createServer | createTable | createTablespaceInnodb - | createTablespaceNdb | createTrigger | createView - | alterDatabase | alterEvent | alterFunction - | alterInstance | alterLogfileGroup | alterProcedure - | alterServer | alterTable | alterTablespace | alterView - | dropDatabase | dropEvent | dropIndex - | dropLogfileGroup | dropProcedure | dropFunction - | dropServer | dropTable | dropTablespace - | dropTrigger | dropView - | renameTable | truncateTable - ; - -dmlStatement - : selectStatement | insertStatement | updateStatement - | deleteStatement | replaceStatement | callStatement - | loadDataStatement | loadXmlStatement | doStatement - | handlerStatement - ; - -transactionStatement - : startTransaction - | beginWork | commitWork | rollbackWork - | savepointStatement | rollbackStatement - | releaseStatement | lockTables | unlockTables - ; - -replicationStatement - : changeMaster | changeReplicationFilter | purgeBinaryLogs - | resetMaster | resetSlave | startSlave | stopSlave - | startGroupReplication | stopGroupReplication - | xaStartTransaction | xaEndTransaction | xaPrepareStatement - | xaCommitWork | xaRollbackWork | xaRecoverWork - ; - -preparedStatement - : prepareStatement | executeStatement | deallocatePrepare - ; - -// remark: NOT INCLUDED IN sqlStatement, but include in body -// of routine's statements -compoundStatement - : blockStatement - | caseStatement | ifStatement | leaveStatement - | loopStatement | repeatStatement | whileStatement - | iterateStatement | returnStatement | cursorStatement - ; - -administrationStatement - : alterUser | createUser | dropUser | grantStatement - | grantProxy | renameUser | revokeStatement - | revokeProxy | analyzeTable | checkTable - | checksumTable | optimizeTable | repairTable - | createUdfunction | installPlugin | uninstallPlugin - | setStatement | showStatement | binlogStatement - | cacheIndexStatement | flushStatement | killStatement - | loadIndexIntoCache | resetStatement - | shutdownStatement - ; - -utilityStatement - : simpleDescribeStatement | fullDescribeStatement - | helpStatement | useStatement - ; - - -// Data Definition Language - -// Create statements - -createDatabase - : CREATE dbFormat=(DATABASE | SCHEMA) - ifNotExists? uid createDatabaseOption* - ; - -createEvent - : CREATE ownerStatement? EVENT ifNotExists? fullId - ON SCHEDULE scheduleExpression - (ON COMPLETION NOT? PRESERVE)? enableType? - (COMMENT STRING_LITERAL)? - DO routineBody - ; - -createIndex - : CREATE - intimeAction=(ONLINE | OFFLINE)? - indexCategory=(UNIQUE | FULLTEXT | SPATIAL)? - INDEX uid indexType? - ON tableName indexColumnNames - indexOption* - ( - ALGORITHM '='? algType=(DEFAULT | INPLACE | COPY) - | LOCK '='? - lockType=(DEFAULT | NONE | SHARED | EXCLUSIVE) - )? - ; - -createLogfileGroup - : CREATE LOGFILE GROUP uid - ADD UNDOFILE undoFile=STRING_LITERAL - (INITIAL_SIZE '='? initSize=fileSizeLiteral)? - (UNDO_BUFFER_SIZE '='? undoSize=fileSizeLiteral)? - (REDO_BUFFER_SIZE '='? redoSize=fileSizeLiteral)? - (NODEGROUP '='? uid)? - WAIT? - (COMMENT '='? comment=STRING_LITERAL)? - ENGINE '='? engineName - ; - -createProcedure - : CREATE ownerStatement? - PROCEDURE fullId - '(' procedureParameter? (',' procedureParameter)* ')' - routineOption* - routineBody - ; - -createFunction - : CREATE ownerStatement? - FUNCTION fullId - '(' functionParameter? (',' functionParameter)* ')' - RETURNS dataType - routineOption* - routineBody - ; - -createServer - : CREATE SERVER uid - FOREIGN DATA WRAPPER wrapperName=(MYSQL | STRING_LITERAL) - OPTIONS '(' serverOption (',' serverOption)* ')' - ; - -createTable - : CREATE TEMPORARY? TABLE ifNotExists? - tableName - ( - LIKE tableName - | '(' LIKE parenthesisTable=tableName ')' - ) #copyCreateTable - | CREATE TEMPORARY? TABLE ifNotExists? - tableName createDefinitions? - ( tableOption (','? tableOption)* )? - partitionDefinitions? keyViolate=(IGNORE | REPLACE)? - AS? selectStatement #queryCreateTable - | CREATE TEMPORARY? TABLE ifNotExists? - tableName createDefinitions - ( tableOption (','? tableOption)* )? - partitionDefinitions? #columnCreateTable - ; - -createTablespaceInnodb - : CREATE TABLESPACE uid - ADD DATAFILE datafile=STRING_LITERAL - (FILE_BLOCK_SIZE '=' fileBlockSize=fileSizeLiteral)? - (ENGINE '='? engineName)? - ; - -createTablespaceNdb - : CREATE TABLESPACE uid - ADD DATAFILE datafile=STRING_LITERAL - USE LOGFILE GROUP uid - (EXTENT_SIZE '='? extentSize=fileSizeLiteral)? - (INITIAL_SIZE '='? initialSize=fileSizeLiteral)? - (AUTOEXTEND_SIZE '='? autoextendSize=fileSizeLiteral)? - (MAX_SIZE '='? maxSize=fileSizeLiteral)? - (NODEGROUP '='? uid)? - WAIT? - (COMMENT '='? comment=STRING_LITERAL)? - ENGINE '='? engineName - ; - -createTrigger - : CREATE ownerStatement? - TRIGGER thisTrigger=fullId - triggerTime=(BEFORE | AFTER) - triggerEvent=(INSERT | UPDATE | DELETE) - ON tableName FOR EACH ROW - (triggerPlace=(FOLLOWS | PRECEDES) otherTrigger=fullId)? - routineBody - ; - -createView - : CREATE (OR REPLACE)? - ( - ALGORITHM '=' algType=(UNDEFINED | MERGE | TEMPTABLE) - )? - ownerStatement? - (SQL SECURITY secContext=(DEFINER | INVOKER))? - VIEW fullId ('(' uidList ')')? AS selectStatement - (WITH checkOption=(CASCADED | LOCAL)? CHECK OPTION)? - ; - -// details - -createDatabaseOption - : DEFAULT? (CHARACTER SET | CHARSET) '='? charsetName - | DEFAULT? COLLATE '='? collationName - ; - -ownerStatement - : DEFINER '=' (userName | CURRENT_USER ( '(' ')')?) - ; - -scheduleExpression - : AT timestampValue intervalExpr* #preciseSchedule - | EVERY (decimalLiteral | expression) intervalType - ( - STARTS start=timestampValue - (startIntervals+=intervalExpr)* - )? - ( - ENDS end=timestampValue - (endIntervals+=intervalExpr)* - )? #intervalSchedule - ; - -timestampValue - : CURRENT_TIMESTAMP - | stringLiteral - | decimalLiteral - | expression - ; - -intervalExpr - : '+' INTERVAL (decimalLiteral | expression) intervalType - ; - -intervalType - : intervalTypeBase - | YEAR | YEAR_MONTH | DAY_HOUR | DAY_MINUTE - | DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND - | SECOND_MICROSECOND | MINUTE_MICROSECOND - | HOUR_MICROSECOND | DAY_MICROSECOND - ; - -enableType - : ENABLE | DISABLE | DISABLE ON SLAVE - ; - -indexType - : USING (BTREE | HASH) - ; - -indexOption - : KEY_BLOCK_SIZE '='? fileSizeLiteral - | indexType - | WITH PARSER uid - | COMMENT STRING_LITERAL - ; - -procedureParameter - : direction=(IN | OUT | INOUT) uid dataType - ; - -functionParameter - : uid dataType - ; - -routineOption - : COMMENT STRING_LITERAL #routineComment - | LANGUAGE SQL #routineLanguage - | NOT? DETERMINISTIC #routineBehavior - | ( - CONTAINS SQL | NO SQL | READS SQL DATA - | MODIFIES SQL DATA - ) #routineData - | SQL SECURITY context=(DEFINER | INVOKER) #routineSecurity - ; - -serverOption - : HOST STRING_LITERAL - | DATABASE STRING_LITERAL - | USER STRING_LITERAL - | PASSWORD STRING_LITERAL - | SOCKET STRING_LITERAL - | OWNER STRING_LITERAL - | PORT decimalLiteral - ; - -createDefinitions - : '(' createDefinition (',' createDefinition)* ')' - ; - -createDefinition - : uid columnDefinition #columnDeclaration - | tableConstraint #constraintDeclaration - | indexColumnDefinition #indexDeclaration - ; - -columnDefinition - : dataType columnConstraint* - ; - -columnConstraint - : nullNotnull #nullColumnConstraint - | DEFAULT defaultValue #defaultColumnConstraint - | AUTO_INCREMENT #autoIncrementColumnConstraint - | PRIMARY? KEY #primaryKeyColumnConstraint - | UNIQUE KEY? #uniqueKeyColumnConstraint - | COMMENT STRING_LITERAL #commentColumnConstraint - | COLUMN_FORMAT colformat=(FIXED | DYNAMIC | DEFAULT) #formatColumnConstraint - | STORAGE storageval=(DISK | MEMORY | DEFAULT) #storageColumnConstraint - | referenceDefinition #referenceColumnConstraint - | (GENERATED ALWAYS)? AS '(' expression ')' (VIRTUAL | STORED)? #generatedColumnConstraint - | SERIAL DEFAULT VALUE #serialDefaultColumnConstraint - ; - -tableConstraint - : (CONSTRAINT name=uid?)? - PRIMARY KEY indexType? indexColumnNames indexOption* #primaryKeyTableConstraint - | (CONSTRAINT name=uid?)? - UNIQUE indexFormat=(INDEX | KEY)? index=uid? - indexType? indexColumnNames indexOption* #uniqueKeyTableConstraint - | (CONSTRAINT name=uid?)? - FOREIGN KEY index=uid? indexColumnNames - referenceDefinition #foreignKeyTableConstraint - | (CONSTRAINT name=uid?)? - CHECK '(' expression ')' #checkTableConstraint - ; - -referenceDefinition - : REFERENCES tableName indexColumnNames - (MATCH matchType=(FULL | PARTIAL | SIMPLE))? - referenceAction? - ; - -referenceAction - : ON DELETE onDelete=referenceControlType - ( - ON UPDATE onUpdate=referenceControlType - )? - | ON UPDATE onUpdate=referenceControlType - ( - ON DELETE onDelete=referenceControlType - )? - ; - -referenceControlType - : RESTRICT | CASCADE | SET NULL_LITERAL | NO ACTION - ; - -indexColumnDefinition - : indexFormat=(INDEX | KEY) uid? indexType? - indexColumnNames indexOption* #simpleIndexDeclaration - | (FULLTEXT | SPATIAL) - indexFormat=(INDEX | KEY)? uid? - indexColumnNames indexOption* #specialIndexDeclaration - ; - -tableOption - : ENGINE '='? engineName #tableOptionEngine - | AUTO_INCREMENT '='? decimalLiteral #tableOptionAutoIncrement - | AVG_ROW_LENGTH '='? decimalLiteral #tableOptionAverage - | DEFAULT? (CHARACTER SET | CHARSET) '='? charsetName #tableOptionCharset - | CHECKSUM '='? boolValue=('0' | '1') #tableOptionChecksum - | DEFAULT? COLLATE '='? collationName #tableOptionCollate - | COMMENT '='? STRING_LITERAL #tableOptionComment - | COMPRESSION '='? STRING_LITERAL #tableOptionCompression - | CONNECTION '='? STRING_LITERAL #tableOptionConnection - | DATA DIRECTORY '='? STRING_LITERAL #tableOptionDataDirectory - | DELAY_KEY_WRITE '='? boolValue=('0' | '1') #tableOptionDelay - | ENCRYPTION '='? STRING_LITERAL #tableOptionEncryption - | INDEX DIRECTORY '='? STRING_LITERAL #tableOptionIndexDirectory - | INSERT_METHOD '='? insertMethod=(NO | FIRST | LAST) #tableOptionInsertMethod - | KEY_BLOCK_SIZE '='? fileSizeLiteral #tableOptionKeyBlockSize - | MAX_ROWS '='? decimalLiteral #tableOptionMaxRows - | MIN_ROWS '='? decimalLiteral #tableOptionMinRows - | PACK_KEYS '='? extBoolValue=('0' | '1' | DEFAULT) #tableOptionPackKeys - | PASSWORD '='? STRING_LITERAL #tableOptionPassword - | ROW_FORMAT '='? - rowFormat=( - DEFAULT | DYNAMIC | FIXED | COMPRESSED - | REDUNDANT | COMPACT - ) #tableOptionRowFormat - | STATS_AUTO_RECALC '='? extBoolValue=(DEFAULT | '0' | '1') #tableOptionRecalculation - | STATS_PERSISTENT '='? extBoolValue=(DEFAULT | '0' | '1') #tableOptionPersistent - | STATS_SAMPLE_PAGES '='? decimalLiteral #tableOptionSamplePage - | TABLESPACE uid tablespaceStorage? #tableOptionTablespace - | UNION '='? '(' tables ')' #tableOptionUnion - ; - -tablespaceStorage - : STORAGE (DISK | MEMORY | DEFAULT) - ; - -partitionDefinitions - : PARTITION BY partitionFunctionDefinition - (PARTITIONS count=decimalLiteral)? - ( - SUBPARTITION BY subpartitionFunctionDefinition - (SUBPARTITIONS subCount=decimalLiteral)? - )? - ('(' partitionDefinition (',' partitionDefinition)* ')')? - ; - -partitionFunctionDefinition - : LINEAR? HASH '(' expression ')' #partitionFunctionHash - | LINEAR? KEY (ALGORITHM '=' algType=('1' | '2'))? - '(' uidList ')' #partitionFunctionKey - | RANGE ( '(' expression ')' | COLUMNS '(' uidList ')' ) #partitionFunctionRange - | LIST ( '(' expression ')' | COLUMNS '(' uidList ')' ) #partitionFunctionList - ; - -subpartitionFunctionDefinition - : LINEAR? HASH '(' expression ')' #subPartitionFunctionHash - | LINEAR? KEY (ALGORITHM '=' algType=('1' | '2'))? - '(' uidList ')' #subPartitionFunctionKey - ; - -partitionDefinition - : PARTITION uid VALUES LESS THAN - '(' - partitionDefinerAtom (',' partitionDefinerAtom)* - ')' - partitionOption* - (subpartitionDefinition (',' subpartitionDefinition)*)? #partitionComparision - | PARTITION uid VALUES IN - '(' - partitionDefinerAtom (',' partitionDefinerAtom)* - ')' - partitionOption* - (subpartitionDefinition (',' subpartitionDefinition)*)? #partitionListAtom - | PARTITION uid VALUES IN - '(' - partitionDefinerVector (',' partitionDefinerVector)* - ')' - partitionOption* - (subpartitionDefinition (',' subpartitionDefinition)*)? #partitionListVector - | PARTITION uid partitionOption* - (subpartitionDefinition (',' subpartitionDefinition)*)? #partitionSimple - ; - -partitionDefinerAtom - : constant | MAXVALUE | expression - ; - -partitionDefinerVector - : '(' partitionDefinerAtom (',' partitionDefinerAtom)+ ')' - ; - -subpartitionDefinition - : SUBPARTITION uid partitionOption* - ; - -partitionOption - : STORAGE? ENGINE '='? engineName #partitionOptionEngine - | COMMENT '='? comment=STRING_LITERAL #partitionOptionComment - | DATA DIRECTORY '='? dataDirectory=STRING_LITERAL #partitionOptionDataDirectory - | INDEX DIRECTORY '='? indexDirectory=STRING_LITERAL #partitionOptionIndexDirectory - | MAX_ROWS '='? maxRows=decimalLiteral #partitionOptionMaxRows - | MIN_ROWS '='? minRows=decimalLiteral #partitionOptionMinRows - | TABLESPACE '='? tablespace=uid #partitionOptionTablespace - | NODEGROUP '='? nodegroup=uid #partitionOptionNodeGroup - ; - -// Alter statements - -alterDatabase - : ALTER dbFormat=(DATABASE | SCHEMA) uid? - createDatabaseOption+ #alterSimpleDatabase - | ALTER dbFormat=(DATABASE | SCHEMA) uid - UPGRADE DATA DIRECTORY NAME #alterUpgradeName - ; - -alterEvent - : ALTER ownerStatement? - EVENT fullId - (ON SCHEDULE scheduleExpression)? - (ON COMPLETION NOT? PRESERVE)? - (RENAME TO fullId)? enableType? - (COMMENT STRING_LITERAL)? - (DO routineBody)? - ; - -alterFunction - : ALTER FUNCTION fullId routineOption* - ; - -alterInstance - : ALTER INSTANCE ROTATE INNODB MASTER KEY - ; - -alterLogfileGroup - : ALTER LOGFILE GROUP uid - ADD UNDOFILE STRING_LITERAL - (INITIAL_SIZE '='? fileSizeLiteral)? - WAIT? ENGINE '='? engineName - ; - -alterProcedure - : ALTER PROCEDURE fullId routineOption* - ; - -alterServer - : ALTER SERVER uid OPTIONS - '(' serverOption (',' serverOption)* ')' - ; - -alterTable - : ALTER intimeAction=(ONLINE | OFFLINE)? - IGNORE? TABLE tableName - alterSpecification (',' alterSpecification)* - partitionDefinitions? - ; - -alterTablespace - : ALTER TABLESPACE uid - objectAction=(ADD | DROP) DATAFILE STRING_LITERAL - (INITIAL_SIZE '=' fileSizeLiteral)? - WAIT? - ENGINE '='? engineName - ; - -alterView - : ALTER - ( - ALGORITHM '=' algType=(UNDEFINED | MERGE | TEMPTABLE) - )? - ownerStatement? - (SQL SECURITY secContext=(DEFINER | INVOKER))? - VIEW fullId ('(' uidList ')')? AS selectStatement - (WITH checkOpt=(CASCADED | LOCAL)? CHECK OPTION)? - ; - -// details - -alterSpecification - : tableOption (','? tableOption)* #alterByTableOption - | ADD COLUMN? uid columnDefinition (FIRST | AFTER uid)? #alterByAddColumn - | ADD COLUMN? - '(' - uid columnDefinition ( ',' uid columnDefinition)* - ')' #alterByAddColumns - | ADD indexFormat=(INDEX | KEY) uid? indexType? - indexColumnNames indexOption* #alterByAddIndex - | ADD (CONSTRAINT name=uid?)? PRIMARY KEY - indexType? indexColumnNames indexOption* #alterByAddPrimaryKey - | ADD (CONSTRAINT name=uid?)? UNIQUE - indexFormat=(INDEX | KEY)? indexName=uid? - indexType? indexColumnNames indexOption* #alterByAddUniqueKey - | ADD keyType=(FULLTEXT | SPATIAL) - indexFormat=(INDEX | KEY)? uid? - indexColumnNames indexOption* #alterByAddSpecialIndex - | ADD (CONSTRAINT name=uid?)? FOREIGN KEY - indexName=uid? indexColumnNames referenceDefinition #alterByAddForeignKey - | ADD (CONSTRAINT name=uid?)? CHECK '(' expression ')' #alterByAddCheckTableConstraint - | ALGORITHM '='? algType=(DEFAULT | INPLACE | COPY) #alterBySetAlgorithm - | ALTER COLUMN? uid - (SET DEFAULT defaultValue | DROP DEFAULT) #alterByChangeDefault - | CHANGE COLUMN? oldColumn=uid - newColumn=uid columnDefinition - (FIRST | AFTER afterColumn=uid)? #alterByChangeColumn - | RENAME COLUMN oldColumn=uid TO newColumn=uid #alterByRenameColumn - | LOCK '='? lockType=(DEFAULT | NONE | SHARED | EXCLUSIVE) #alterByLock - | MODIFY COLUMN? - uid columnDefinition (FIRST | AFTER uid)? #alterByModifyColumn - | DROP COLUMN? uid #alterByDropColumn - | DROP PRIMARY KEY #alterByDropPrimaryKey - | DROP indexFormat=(INDEX | KEY) uid #alterByDropIndex - | DROP FOREIGN KEY uid #alterByDropForeignKey - | DISABLE KEYS #alterByDisableKeys - | ENABLE KEYS #alterByEnableKeys - | RENAME renameFormat=(TO | AS)? (uid | fullId) #alterByRename - | ORDER BY uidList #alterByOrder - | CONVERT TO CHARACTER SET charsetName - (COLLATE collationName)? #alterByConvertCharset - | DEFAULT? CHARACTER SET '=' charsetName - (COLLATE '=' collationName)? #alterByDefaultCharset - | DISCARD TABLESPACE #alterByDiscardTablespace - | IMPORT TABLESPACE #alterByImportTablespace - | FORCE #alterByForce - | validationFormat=(WITHOUT | WITH) VALIDATION #alterByValidate - | ADD PARTITION - '(' - partitionDefinition (',' partitionDefinition)* - ')' #alterByAddPartition - | DROP PARTITION uidList #alterByDropPartition - | DISCARD PARTITION (uidList | ALL) TABLESPACE #alterByDiscardPartition - | IMPORT PARTITION (uidList | ALL) TABLESPACE #alterByImportPartition - | TRUNCATE PARTITION (uidList | ALL) #alterByTruncatePartition - | COALESCE PARTITION decimalLiteral #alterByCoalescePartition - | REORGANIZE PARTITION uidList - INTO '(' - partitionDefinition (',' partitionDefinition)* - ')' #alterByReorganizePartition - | EXCHANGE PARTITION uid WITH TABLE tableName - (validationFormat=(WITH | WITHOUT) VALIDATION)? #alterByExchangePartition - | ANALYZE PARTITION (uidList | ALL) #alterByAnalyzePartitiion - | CHECK PARTITION (uidList | ALL) #alterByCheckPartition - | OPTIMIZE PARTITION (uidList | ALL) #alterByOptimizePartition - | REBUILD PARTITION (uidList | ALL) #alterByRebuildPartition - | REPAIR PARTITION (uidList | ALL) #alterByRepairPartition - | REMOVE PARTITIONING #alterByRemovePartitioning - | UPGRADE PARTITIONING #alterByUpgradePartitioning - ; - - -// Drop statements - -dropDatabase - : DROP dbFormat=(DATABASE | SCHEMA) ifExists? uid - ; - -dropEvent - : DROP EVENT ifExists? fullId - ; - -dropIndex - : DROP INDEX intimeAction=(ONLINE | OFFLINE)? - uid ON tableName - ( - ALGORITHM '='? algType=(DEFAULT | INPLACE | COPY) - )? - ( - LOCK '='? lockType=(DEFAULT | NONE | SHARED | EXCLUSIVE) - )? - ; - -dropLogfileGroup - : DROP LOGFILE GROUP uid ENGINE '=' engineName - ; - -dropProcedure - : DROP PROCEDURE ifExists? fullId - ; - -dropFunction - : DROP FUNCTION ifExists? fullId - ; - -dropServer - : DROP SERVER ifExists? uid - ; - -dropTable - : DROP TEMPORARY? TABLE ifExists? - tables dropType=(RESTRICT | CASCADE)? - ; - -dropTablespace - : DROP TABLESPACE uid (ENGINE '='? engineName)? - ; - -dropTrigger - : DROP TRIGGER ifExists? fullId - ; - -dropView - : DROP VIEW ifExists? - fullId (',' fullId)* dropType=(RESTRICT | CASCADE)? - ; - - -// Other DDL statements - -renameTable - : RENAME TABLE - renameTableClause (',' renameTableClause)* - ; - -renameTableClause - : tableName TO tableName - ; - -truncateTable - : TRUNCATE TABLE? tableName - ; - - -// Data Manipulation Language - -// Primary DML Statements - - -callStatement - : CALL fullId - ( - '(' (constants | expressions)? ')' - )? - ; - -deleteStatement - : singleDeleteStatement | multipleDeleteStatement - ; - -doStatement - : DO expressions - ; - -handlerStatement - : handlerOpenStatement - | handlerReadIndexStatement - | handlerReadStatement - | handlerCloseStatement - ; - -insertStatement - : INSERT - priority=(LOW_PRIORITY | DELAYED | HIGH_PRIORITY)? - IGNORE? INTO? tableName - (PARTITION '(' partitions=uidList ')' )? - ( - ('(' columns=uidList ')')? insertStatementValue - | SET - setFirst=updatedElement - (',' setElements+=updatedElement)* - ) - ( - ON DUPLICATE KEY UPDATE - duplicatedFirst=updatedElement - (',' duplicatedElements+=updatedElement)* - )? - ; - -loadDataStatement - : LOAD DATA - priority=(LOW_PRIORITY | CONCURRENT)? - LOCAL? INFILE filename=STRING_LITERAL - violation=(REPLACE | IGNORE)? - INTO TABLE tableName - (PARTITION '(' uidList ')' )? - (CHARACTER SET charset=charsetName)? - ( - fieldsFormat=(FIELDS | COLUMNS) - selectFieldsInto+ - )? - ( - LINES - selectLinesInto+ - )? - ( - IGNORE decimalLiteral linesFormat=(LINES | ROWS) - )? - ( '(' assignmentField (',' assignmentField)* ')' )? - (SET updatedElement (',' updatedElement)*)? - ; - -loadXmlStatement - : LOAD XML - priority=(LOW_PRIORITY | CONCURRENT)? - LOCAL? INFILE filename=STRING_LITERAL - violation=(REPLACE | IGNORE)? - INTO TABLE tableName - (CHARACTER SET charset=charsetName)? - (ROWS IDENTIFIED BY '<' tag=STRING_LITERAL '>')? - ( IGNORE decimalLiteral linesFormat=(LINES | ROWS) )? - ( '(' assignmentField (',' assignmentField)* ')' )? - (SET updatedElement (',' updatedElement)*)? - ; - -replaceStatement - : REPLACE priority=(LOW_PRIORITY | DELAYED)? - INTO? tableName - (PARTITION '(' partitions=uidList ')' )? - ( - ('(' columns=uidList ')')? insertStatementValue - | SET - setFirst=updatedElement - (',' setElements+=updatedElement)* - ) - ; - -selectStatement - : querySpecification lockClause? #simpleSelect - | queryExpression lockClause? #parenthesisSelect - | querySpecificationNointo unionStatement+ - ( - UNION unionType=(ALL | DISTINCT)? - (querySpecification | queryExpression) - )? - orderByClause? limitClause? lockClause? #unionSelect - | queryExpressionNointo unionParenthesis+ - ( - UNION unionType=(ALL | DISTINCT)? - queryExpression - )? - orderByClause? limitClause? lockClause? #unionParenthesisSelect - ; - -updateStatement - : singleUpdateStatement | multipleUpdateStatement - ; - -// details - -insertStatementValue - : selectStatement - | insertFormat=(VALUES | VALUE) - '(' expressionsWithDefaults ')' - (',' '(' expressionsWithDefaults ')')* - ; - -updatedElement - : fullColumnName '=' (expression | DEFAULT) - ; - -assignmentField - : uid | LOCAL_ID - ; - -lockClause - : FOR UPDATE | LOCK IN SHARE MODE - ; - -// Detailed DML Statements - -singleDeleteStatement - : DELETE priority=LOW_PRIORITY? QUICK? IGNORE? - FROM tableName - (PARTITION '(' uidList ')' )? - (WHERE expression)? - orderByClause? (LIMIT decimalLiteral)? - ; - -multipleDeleteStatement - : DELETE priority=LOW_PRIORITY? QUICK? IGNORE? - ( - tableName ('.' '*')? ( ',' tableName ('.' '*')? )* - FROM tableSources - | FROM - tableName ('.' '*')? ( ',' tableName ('.' '*')? )* - USING tableSources - ) - (WHERE expression)? - ; - -handlerOpenStatement - : HANDLER tableName OPEN (AS? uid)? - ; - -handlerReadIndexStatement - : HANDLER tableName READ index=uid - ( - comparisonOperator '(' constants ')' - | moveOrder=(FIRST | NEXT | PREV | LAST) - ) - (WHERE expression)? (LIMIT decimalLiteral)? - ; - -handlerReadStatement - : HANDLER tableName READ moveOrder=(FIRST | NEXT) - (WHERE expression)? (LIMIT decimalLiteral)? - ; - -handlerCloseStatement - : HANDLER tableName CLOSE - ; - -singleUpdateStatement - : UPDATE priority=LOW_PRIORITY? IGNORE? tableName (AS? uid)? - SET updatedElement (',' updatedElement)* - (WHERE expression)? orderByClause? limitClause? - ; - -multipleUpdateStatement - : UPDATE priority=LOW_PRIORITY? IGNORE? tableSources - SET updatedElement (',' updatedElement)* - (WHERE expression)? - ; - -// details - -orderByClause - : ORDER BY orderByExpression (',' orderByExpression)* - ; - -orderByExpression - : expression order=(ASC | DESC)? - ; - -tableSources - : tableSource (',' tableSource)* - ; - -tableSource - : tableSourceItem joinPart* #tableSourceBase - | '(' tableSourceItem joinPart* ')' #tableSourceNested - ; - -tableSourceItem - : tableName - (PARTITION '(' uidList ')' )? (AS? alias=uid)? - (indexHint (',' indexHint)* )? #atomTableItem - | ( - selectStatement - | '(' parenthesisSubquery=selectStatement ')' - ) - AS? alias=uid #subqueryTableItem - | '(' tableSources ')' #tableSourcesItem - ; - -indexHint - : indexHintAction=(USE | IGNORE | FORCE) - keyFormat=(INDEX|KEY) ( FOR indexHintType)? - '(' uidList ')' - ; - -indexHintType - : JOIN | ORDER BY | GROUP BY - ; - -joinPart - : (INNER | CROSS)? JOIN tableSourceItem - ( - ON expression - | USING '(' uidList ')' - )? #innerJoin - | STRAIGHT_JOIN tableSourceItem (ON expression)? #straightJoin - | (LEFT | RIGHT) OUTER? JOIN tableSourceItem - ( - ON expression - | USING '(' uidList ')' - ) #outerJoin - | NATURAL ((LEFT | RIGHT) OUTER?)? JOIN tableSourceItem #naturalJoin - ; - -// Select Statement's Details - -queryExpression - : '(' querySpecification ')' - | '(' queryExpression ')' - ; - -queryExpressionNointo - : '(' querySpecificationNointo ')' - | '(' queryExpressionNointo ')' - ; -//frameQL statement added -querySpecification - : SELECT selectSpec* selectElements selectIntoExpression? - fromClause? orderByClause? limitClause? - | SELECT selectSpec* selectElements - fromClause? orderByClause? limitClause? selectIntoExpression? - | SELECT selectSpec* selectElements - fromClause? errorTolerenceExpression? confLevelExpression? - - ; - -querySpecificationNointo - : SELECT selectSpec* selectElements - fromClause? orderByClause? limitClause? - ; - -unionParenthesis - : UNION unionType=(ALL | DISTINCT)? queryExpressionNointo - ; - -unionStatement - : UNION unionType=(ALL | DISTINCT)? - (querySpecificationNointo | queryExpressionNointo) - ; - -// details - -selectSpec - : (ALL | DISTINCT | DISTINCTROW) - | HIGH_PRIORITY | STRAIGHT_JOIN | SQL_SMALL_RESULT - | SQL_BIG_RESULT | SQL_BUFFER_RESULT - | (SQL_CACHE | SQL_NO_CACHE) - | SQL_CALC_FOUND_ROWS - ; - -selectElements - : (star='*' | selectElement ) (',' selectElement)* - ; - -selectElement - : fullId '.' '*' #selectStarElement - | fullColumnName (AS? uid)? #selectColumnElement - | functionCall (AS? uid)? #selectFunctionElement - | (LOCAL_ID VAR_ASSIGN)? expression (AS? uid)? #selectExpressionElement - ; - -errorTolerenceExpression - : ERRORBOUND REAL_LITERAL - ; -confLevelExpression - : CONFLEVEL REAL_LITERAL - ; -selectIntoExpression - : INTO assignmentField (',' assignmentField )* #selectIntoVariables - | INTO DUMPFILE STRING_LITERAL #selectIntoDumpFile - | ( - INTO OUTFILE filename=STRING_LITERAL - (CHARACTER SET charset=charsetName)? - ( - fieldsFormat=(FIELDS | COLUMNS) - selectFieldsInto+ - )? - ( - LINES selectLinesInto+ - )? - ) #selectIntoTextFile - ; - -selectFieldsInto - : TERMINATED BY terminationField=STRING_LITERAL - | OPTIONALLY? ENCLOSED BY enclosion=STRING_LITERAL - | ESCAPED BY escaping=STRING_LITERAL - ; - -selectLinesInto - : STARTING BY starting=STRING_LITERAL - | TERMINATED BY terminationLine=STRING_LITERAL - ; - -fromClause - : FROM tableSources - (WHERE whereExpr=expression)? - ( - GROUP BY - groupByItem (',' groupByItem)* - (WITH ROLLUP)? - )? - (HAVING havingExpr=expression)? - ; - -groupByItem - : expression order=(ASC | DESC)? - ; - -limitClause - : LIMIT - ( - (offset=decimalLiteral ',')? limit=decimalLiteral - | limit=decimalLiteral OFFSET offset=decimalLiteral - ) - ; - - -// Transaction's Statements - -startTransaction - : START TRANSACTION (transactionMode (',' transactionMode)* )? - ; - -beginWork - : BEGIN WORK? - ; - -commitWork - : COMMIT WORK? - (AND nochain=NO? CHAIN)? - (norelease=NO? RELEASE)? - ; - -rollbackWork - : ROLLBACK WORK? - (AND nochain=NO? CHAIN)? - (norelease=NO? RELEASE)? - ; - -savepointStatement - : SAVEPOINT uid - ; - -rollbackStatement - : ROLLBACK WORK? TO SAVEPOINT? uid - ; - -releaseStatement - : RELEASE SAVEPOINT uid - ; - -lockTables - : LOCK TABLES lockTableElement (',' lockTableElement)* - ; - -unlockTables - : UNLOCK TABLES - ; - - -// details - -setAutocommitStatement - : SET AUTOCOMMIT '=' autocommitValue=('0' | '1') - ; - -setTransactionStatement - : SET transactionContext=(GLOBAL | SESSION)? TRANSACTION - transactionOption (',' transactionOption)* - ; - -transactionMode - : WITH CONSISTENT SNAPSHOT - | READ WRITE - | READ ONLY - ; - -lockTableElement - : tableName (AS? uid)? lockAction - ; - -lockAction - : READ LOCAL? | LOW_PRIORITY? WRITE - ; - -transactionOption - : ISOLATION LEVEL transactionLevel - | READ WRITE - | READ ONLY - ; - -transactionLevel - : REPEATABLE READ - | READ COMMITTED - | READ UNCOMMITTED - | SERIALIZABLE - ; - - -// Replication's Statements - -// Base Replication - -changeMaster - : CHANGE MASTER TO - masterOption (',' masterOption)* channelOption? - ; - -changeReplicationFilter - : CHANGE REPLICATION FILTER - replicationFilter (',' replicationFilter)* - ; - -purgeBinaryLogs - : PURGE purgeFormat=(BINARY | MASTER) LOGS - ( - TO fileName=STRING_LITERAL - | BEFORE timeValue=STRING_LITERAL - ) - ; - -resetMaster - : RESET MASTER - ; - -resetSlave - : RESET SLAVE ALL? channelOption? - ; - -startSlave - : START SLAVE (threadType (',' threadType)*)? - (UNTIL untilOption)? - connectionOption* channelOption? - ; - -stopSlave - : STOP SLAVE (threadType (',' threadType)*)? - ; - -startGroupReplication - : START GROUP_REPLICATION - ; - -stopGroupReplication - : STOP GROUP_REPLICATION - ; - -// details - -masterOption - : stringMasterOption '=' STRING_LITERAL #masterStringOption - | decimalMasterOption '=' decimalLiteral #masterDecimalOption - | boolMasterOption '=' boolVal=('0' | '1') #masterBoolOption - | MASTER_HEARTBEAT_PERIOD '=' REAL_LITERAL #masterRealOption - | IGNORE_SERVER_IDS '=' '(' (uid (',' uid)*)? ')' #masterUidListOption - ; - -stringMasterOption - : MASTER_BIND | MASTER_HOST | MASTER_USER | MASTER_PASSWORD - | MASTER_LOG_FILE | RELAY_LOG_FILE | MASTER_SSL_CA - | MASTER_SSL_CAPATH | MASTER_SSL_CERT | MASTER_SSL_CRL - | MASTER_SSL_CRLPATH | MASTER_SSL_KEY | MASTER_SSL_CIPHER - | MASTER_TLS_VERSION - ; -decimalMasterOption - : MASTER_PORT | MASTER_CONNECT_RETRY | MASTER_RETRY_COUNT - | MASTER_DELAY | MASTER_LOG_POS | RELAY_LOG_POS - ; - -boolMasterOption - : MASTER_AUTO_POSITION | MASTER_SSL - | MASTER_SSL_VERIFY_SERVER_CERT - ; - -channelOption - : FOR CHANNEL STRING_LITERAL - ; - -replicationFilter - : REPLICATE_DO_DB '=' '(' uidList ')' #doDbReplication - | REPLICATE_IGNORE_DB '=' '(' uidList ')' #ignoreDbReplication - | REPLICATE_DO_TABLE '=' '(' tables ')' #doTableReplication - | REPLICATE_IGNORE_TABLE '=' '(' tables ')' #ignoreTableReplication - | REPLICATE_WILD_DO_TABLE '=' '(' simpleStrings ')' #wildDoTableReplication - | REPLICATE_WILD_IGNORE_TABLE - '=' '(' simpleStrings ')' #wildIgnoreTableReplication - | REPLICATE_REWRITE_DB '=' - '(' tablePair (',' tablePair)* ')' #rewriteDbReplication - ; - -tablePair - : '(' firstTable=tableName ',' secondTable=tableName ')' - ; - -threadType - : IO_THREAD | SQL_THREAD - ; - -untilOption - : gtids=(SQL_BEFORE_GTIDS | SQL_AFTER_GTIDS) - '=' gtuidSet #gtidsUntilOption - | MASTER_LOG_FILE '=' STRING_LITERAL - ',' MASTER_LOG_POS '=' decimalLiteral #masterLogUntilOption - | RELAY_LOG_FILE '=' STRING_LITERAL - ',' RELAY_LOG_POS '=' decimalLiteral #relayLogUntilOption - | SQL_AFTER_MTS_GAPS #sqlGapsUntilOption - ; - -connectionOption - : USER '=' conOptUser=STRING_LITERAL #userConnectionOption - | PASSWORD '=' conOptPassword=STRING_LITERAL #passwordConnectionOption - | DEFAULT_AUTH '=' conOptDefAuth=STRING_LITERAL #defaultAuthConnectionOption - | PLUGIN_DIR '=' conOptPluginDir=STRING_LITERAL #pluginDirConnectionOption - ; - -gtuidSet - : uuidSet (',' uuidSet)* - | STRING_LITERAL - ; - - -// XA Transactions - -xaStartTransaction - : XA xaStart=(START | BEGIN) xid xaAction=(JOIN | RESUME)? - ; - -xaEndTransaction - : XA END xid (SUSPEND (FOR MIGRATE)?)? - ; - -xaPrepareStatement - : XA PREPARE xid - ; - -xaCommitWork - : XA COMMIT xid (ONE PHASE)? - ; - -xaRollbackWork - : XA ROLLBACK xid - ; - -xaRecoverWork - : XA RECOVER (CONVERT xid)? - ; - - -// Prepared Statements - -prepareStatement - : PREPARE uid FROM - (query=STRING_LITERAL | variable=LOCAL_ID) - ; - -executeStatement - : EXECUTE uid (USING userVariables)? - ; - -deallocatePrepare - : dropFormat=(DEALLOCATE | DROP) PREPARE uid - ; - - -// Compound Statements - -routineBody - : blockStatement | sqlStatement - ; - -// details - -blockStatement - : (uid ':')? BEGIN - ( - (declareVariable SEMI)* - (declareCondition SEMI)* - (declareCursor SEMI)* - (declareHandler SEMI)* - procedureSqlStatement+ - )? - END uid? - ; - -caseStatement - : CASE (uid | expression)? caseAlternative+ - (ELSE procedureSqlStatement+)? - END CASE - ; - -ifStatement - : IF expression - THEN thenStatements+=procedureSqlStatement+ - elifAlternative* - (ELSE elseStatements+=procedureSqlStatement+ )? - END IF - ; - -iterateStatement - : ITERATE uid - ; - -leaveStatement - : LEAVE uid - ; - -loopStatement - : (uid ':')? - LOOP procedureSqlStatement+ - END LOOP uid? - ; - -repeatStatement - : (uid ':')? - REPEAT procedureSqlStatement+ - UNTIL expression - END REPEAT uid? - ; - -returnStatement - : RETURN expression - ; - -whileStatement - : (uid ':')? - WHILE expression - DO procedureSqlStatement+ - END WHILE uid? - ; - -cursorStatement - : CLOSE uid #CloseCursor - | FETCH (NEXT? FROM)? uid INTO uidList #FetchCursor - | OPEN uid #OpenCursor - ; - -// details - -declareVariable - : DECLARE uidList dataType (DEFAULT defaultValue)? - ; - -declareCondition - : DECLARE uid CONDITION FOR - ( decimalLiteral | SQLSTATE VALUE? STRING_LITERAL) - ; - -declareCursor - : DECLARE uid CURSOR FOR selectStatement - ; - -declareHandler - : DECLARE handlerAction=(CONTINUE | EXIT | UNDO) - HANDLER FOR - handlerConditionValue (',' handlerConditionValue)* - routineBody - ; - -handlerConditionValue - : decimalLiteral #handlerConditionCode - | SQLSTATE VALUE? STRING_LITERAL #handlerConditionState - | uid #handlerConditionName - | SQLWARNING #handlerConditionWarning - | NOT FOUND #handlerConditionNotfound - | SQLEXCEPTION #handlerConditionException - ; - -procedureSqlStatement - : (compoundStatement | sqlStatement) SEMI - ; - -caseAlternative - : WHEN (constant | expression) - THEN procedureSqlStatement+ - ; - -elifAlternative - : ELSEIF expression - THEN procedureSqlStatement+ - ; - -// Administration Statements - -// Account management statements - -alterUser - : ALTER USER - userSpecification (',' userSpecification)* #alterUserMysqlV56 - | ALTER USER ifExists? - userAuthOption (',' userAuthOption)* - ( - REQUIRE - (tlsNone=NONE | tlsOption (AND? tlsOption)* ) - )? - (WITH userResourceOption+)? - (userPasswordOption | userLockOption)* #alterUserMysqlV57 - ; - -createUser - : CREATE USER userAuthOption (',' userAuthOption)* #createUserMysqlV56 - | CREATE USER ifNotExists? - userAuthOption (',' userAuthOption)* - ( - REQUIRE - (tlsNone=NONE | tlsOption (AND? tlsOption)* ) - )? - (WITH userResourceOption+)? - (userPasswordOption | userLockOption)* #createUserMysqlV57 - ; - -dropUser - : DROP USER ifExists? userName (',' userName)* - ; - -grantStatement - : GRANT privelegeClause (',' privelegeClause)* - ON - privilegeObject=(TABLE | FUNCTION | PROCEDURE)? - privilegeLevel - TO userAuthOption (',' userAuthOption)* - ( - REQUIRE - (tlsNone=NONE | tlsOption (AND? tlsOption)* ) - )? - (WITH (GRANT OPTION | userResourceOption)* )? - ; - -grantProxy - : GRANT PROXY ON fromFirst=userName - TO toFirst=userName (',' toOther+=userName)* - (WITH GRANT OPTION)? - ; - -renameUser - : RENAME USER - renameUserClause (',' renameUserClause)* - ; - -revokeStatement - : REVOKE privelegeClause (',' privelegeClause)* - ON - privilegeObject=(TABLE | FUNCTION | PROCEDURE)? - privilegeLevel - FROM userName (',' userName)* #detailRevoke - | REVOKE ALL PRIVILEGES? ',' GRANT OPTION - FROM userName (',' userName)* #shortRevoke - ; - -revokeProxy - : REVOKE PROXY ON onUser=userName - FROM fromFirst=userName (',' fromOther+=userName)* - ; - -setPasswordStatement - : SET PASSWORD (FOR userName)? - '=' ( passwordFunctionClause | STRING_LITERAL) - ; - -// details - -userSpecification - : userName userPasswordOption - ; - -userAuthOption - : userName IDENTIFIED BY PASSWORD hashed=STRING_LITERAL #passwordAuthOption - | userName - IDENTIFIED (WITH authPlugin)? BY STRING_LITERAL #stringAuthOption - | userName - IDENTIFIED WITH authPlugin - (AS STRING_LITERAL)? #hashAuthOption - | userName #simpleAuthOption - ; - -tlsOption - : SSL - | X509 - | CIPHER STRING_LITERAL - | ISSUER STRING_LITERAL - | SUBJECT STRING_LITERAL - ; - -userResourceOption - : MAX_QUERIES_PER_HOUR decimalLiteral - | MAX_UPDATES_PER_HOUR decimalLiteral - | MAX_CONNECTIONS_PER_HOUR decimalLiteral - | MAX_USER_CONNECTIONS decimalLiteral - ; - -userPasswordOption - : PASSWORD EXPIRE - (expireType=DEFAULT - | expireType=NEVER - | expireType=INTERVAL decimalLiteral DAY - )? - ; - -userLockOption - : ACCOUNT lockType=(LOCK | UNLOCK) - ; - -privelegeClause - : privilege ( '(' uidList ')' )? - ; - -privilege - : ALL PRIVILEGES? - | ALTER ROUTINE? - | CREATE - (TEMPORARY TABLES | ROUTINE | VIEW | USER | TABLESPACE)? - | DELETE | DROP | EVENT | EXECUTE | FILE | GRANT OPTION - | INDEX | INSERT | LOCK TABLES | PROCESS | PROXY - | REFERENCES | RELOAD - | REPLICATION (CLIENT | SLAVE) - | SELECT - | SHOW (VIEW | DATABASES) - | SHUTDOWN | SUPER | TRIGGER | UPDATE | USAGE - ; - -privilegeLevel - : '*' #currentSchemaPriviLevel - | '*' '.' '*' #globalPrivLevel - | uid '.' '*' #definiteSchemaPrivLevel - | uid '.' uid #definiteFullTablePrivLevel - | uid #definiteTablePrivLevel - ; - -renameUserClause - : fromFirst=userName TO toFirst=userName - ; - -// Table maintenance statements - -analyzeTable - : ANALYZE actionOption=(NO_WRITE_TO_BINLOG | LOCAL)? - TABLE tables - ; - -checkTable - : CHECK TABLE tables checkTableOption* - ; - -checksumTable - : CHECKSUM TABLE tables actionOption=(QUICK | EXTENDED)? - ; - -optimizeTable - : OPTIMIZE actionOption=(NO_WRITE_TO_BINLOG | LOCAL)? - TABLE tables - ; - -repairTable - : REPAIR actionOption=(NO_WRITE_TO_BINLOG | LOCAL)? - TABLE tables - QUICK? EXTENDED? USE_FRM? - ; - -// details - -checkTableOption - : FOR UPGRADE | QUICK | FAST | MEDIUM | EXTENDED | CHANGED - ; - - -// Plugin and udf statements - -createUdfunction - : CREATE AGGREGATE? FUNCTION uid - RETURNS returnType=(STRING | INTEGER | REAL | DECIMAL) - SONAME STRING_LITERAL - ; - -installPlugin - : INSTALL PLUGIN uid SONAME STRING_LITERAL - ; - -uninstallPlugin - : UNINSTALL PLUGIN uid - ; - - -// Set and show statements - -setStatement - : SET variableClause '=' expression - (',' variableClause '=' expression)* #setVariable - | SET (CHARACTER SET | CHARSET) (charsetName | DEFAULT) #setCharset - | SET NAMES - (charsetName (COLLATE collationName)? | DEFAULT) #setNames - | setPasswordStatement #setPassword - | setTransactionStatement #setTransaction - | setAutocommitStatement #setAutocommit - ; - -showStatement - : SHOW logFormat=(BINARY | MASTER) LOGS #showMasterLogs - | SHOW logFormat=(BINLOG | RELAYLOG) - EVENTS (IN filename=STRING_LITERAL)? - (FROM fromPosition=decimalLiteral)? - (LIMIT - (offset=decimalLiteral ',')? - rowCount=decimalLiteral - )? #showLogEvents - | SHOW showCommonEntity showFilter? #showObjectFilter - | SHOW FULL? columnsFormat=(COLUMNS | FIELDS) - tableFormat=(FROM | IN) tableName - (schemaFormat=(FROM | IN) uid)? showFilter? #showColumns - | SHOW CREATE schemaFormat=(DATABASE | SCHEMA) - ifNotExists? uid #showCreateDb - | SHOW CREATE - namedEntity=( - EVENT | FUNCTION | PROCEDURE - | TABLE | TRIGGER | VIEW - ) - fullId #showCreateFullIdObject - | SHOW CREATE USER userName #showCreateUser - | SHOW ENGINE engineName engineOption=(STATUS | MUTEX) #showEngine - | SHOW showGlobalInfoClause #showGlobalInfo - | SHOW errorFormat=(ERRORS | WARNINGS) - (LIMIT - (offset=decimalLiteral ',')? - rowCount=decimalLiteral - ) #showErrors - | SHOW COUNT '(' '*' ')' errorFormat=(ERRORS | WARNINGS) #showCountErrors - | SHOW showSchemaEntity - (schemaFormat=(FROM | IN) uid)? showFilter? #showSchemaFilter - | SHOW routine=(FUNCTION | PROCEDURE) CODE fullId #showRoutine - | SHOW GRANTS (FOR userName)? #showGrants - | SHOW indexFormat=(INDEX | INDEXES | KEYS) - tableFormat=(FROM | IN) tableName - (schemaFormat=(FROM | IN) uid)? (WHERE expression)? #showIndexes - | SHOW OPEN TABLES ( schemaFormat=(FROM | IN) uid)? - showFilter? #showOpenTables - | SHOW PROFILE showProfileType (',' showProfileType)* - (FOR QUERY queryCount=decimalLiteral)? - (LIMIT - (offset=decimalLiteral ',')? - rowCount=decimalLiteral - ) #showProfile - | SHOW SLAVE STATUS (FOR CHANNEL STRING_LITERAL)? #showSlaveStatus - ; - -// details - -variableClause - : LOCAL_ID | GLOBAL_ID | ( ('@' '@')? (GLOBAL | SESSION) )? uid - ; - -showCommonEntity - : CHARACTER SET | COLLATION | DATABASES | SCHEMAS - | FUNCTION STATUS | PROCEDURE STATUS - | (GLOBAL | SESSION)? (STATUS | VARIABLES) - ; - -showFilter - : LIKE STRING_LITERAL - | WHERE expression - ; - -showGlobalInfoClause - : STORAGE? ENGINES | MASTER STATUS | PLUGINS - | PRIVILEGES | FULL? PROCESSLIST | PROFILES - | SLAVE HOSTS | AUTHORS | CONTRIBUTORS - ; - -showSchemaEntity - : EVENTS | TABLE STATUS | FULL? TABLES | TRIGGERS - ; - -showProfileType - : ALL | BLOCK IO | CONTEXT SWITCHES | CPU | IPC | MEMORY - | PAGE FAULTS | SOURCE | SWAPS - ; - - -// Other administrative statements - -binlogStatement - : BINLOG STRING_LITERAL - ; - -cacheIndexStatement - : CACHE INDEX tableIndexes (',' tableIndexes)* - ( PARTITION '(' (uidList | ALL) ')' )? - IN schema=uid - ; - -flushStatement - : FLUSH flushFormat=(NO_WRITE_TO_BINLOG | LOCAL)? - flushOption (',' flushOption)* - ; - -killStatement - : KILL connectionFormat=(CONNECTION | QUERY)? - decimalLiteral+ - ; - -loadIndexIntoCache - : LOAD INDEX INTO CACHE - loadedTableIndexes (',' loadedTableIndexes)* - ; - -// remark reset (maser | slave) describe in replication's -// statements section -resetStatement - : RESET QUERY CACHE - ; - -shutdownStatement - : SHUTDOWN - ; - -// details - -tableIndexes - : tableName ( indexFormat=(INDEX | KEY)? '(' uidList ')' )? - ; - -flushOption - : ( - DES_KEY_FILE | HOSTS - | ( - BINARY | ENGINE | ERROR | GENERAL | RELAY | SLOW - )? LOGS - | OPTIMIZER_COSTS | PRIVILEGES | QUERY CACHE | STATUS - | USER_RESOURCES | TABLES (WITH READ LOCK)? - ) #simpleFlushOption - | RELAY LOGS channelOption? #channelFlushOption - | TABLES tables flushTableOption? #tableFlushOption - ; - -flushTableOption - : WITH READ LOCK - | FOR EXPORT - ; - -loadedTableIndexes - : tableName - ( PARTITION '(' (partitionList=uidList | ALL) ')' )? - ( indexFormat=(INDEX | KEY)? '(' indexList=uidList ')' )? - (IGNORE LEAVES)? - ; - - -// Utility Statements - - -simpleDescribeStatement - : command=(EXPLAIN | DESCRIBE | DESC) tableName - (column=uid | pattern=STRING_LITERAL)? - ; - -fullDescribeStatement - : command=(EXPLAIN | DESCRIBE | DESC) - ( - formatType=(EXTENDED | PARTITIONS | FORMAT ) - '=' - formatValue=(TRADITIONAL | JSON) - )? - describeObjectClause - ; - -helpStatement - : HELP STRING_LITERAL - ; - -useStatement - : USE uid - ; - -// details - -describeObjectClause - : ( - selectStatement | deleteStatement | insertStatement - | replaceStatement | updateStatement - ) #describeStatements - | FOR CONNECTION uid #describeConnection - ; - - -// Common Clauses - -// DB Objects - -fullId - : uid (DOT_ID | '.' uid)? - ; - -tableName - : fullId - ; - -fullColumnName - : uid (dottedId dottedId? )? - ; - -indexColumnName - : uid ('(' decimalLiteral ')')? sortType=(ASC | DESC)? - ; - -userName - : STRING_USER_NAME | ID; - -mysqlVariable - : LOCAL_ID - | GLOBAL_ID - ; - -charsetName - : BINARY - | charsetNameBase - | STRING_LITERAL - | CHARSET_REVERSE_QOUTE_STRING - ; - -collationName - : uid | STRING_LITERAL; - -engineName - : ARCHIVE | BLACKHOLE | CSV | FEDERATED | INNODB | MEMORY - | MRG_MYISAM | MYISAM | NDB | NDBCLUSTER | PERFOMANCE_SCHEMA - | STRING_LITERAL | REVERSE_QUOTE_ID - ; - -uuidSet - : decimalLiteral '-' decimalLiteral '-' decimalLiteral - '-' decimalLiteral '-' decimalLiteral - (':' decimalLiteral '-' decimalLiteral)+ - ; - -xid - : globalTableUid=xuidStringId - ( - ',' qualifier=xuidStringId - (',' idFormat=decimalLiteral)? - )? - ; - -xuidStringId - : STRING_LITERAL - | BIT_STRING - | HEXADECIMAL_LITERAL+ - ; - -authPlugin - : uid | STRING_LITERAL - ; - -uid - : simpleId - //| DOUBLE_QUOTE_ID - | REVERSE_QUOTE_ID - | CHARSET_REVERSE_QOUTE_STRING - ; - -simpleId - : ID - | charsetNameBase - | transactionLevelBase - | engineName - | privilegesBase - | intervalTypeBase - | dataTypeBase - | keywordsCanBeId - | functionNameBase - ; - -dottedId - : DOT_ID - | '.' uid - ; - - -// Literals - -decimalLiteral - : DECIMAL_LITERAL | ZERO_DECIMAL | ONE_DECIMAL | TWO_DECIMAL - ; - -fileSizeLiteral - : FILESIZE_LITERAL | decimalLiteral; - -stringLiteral - : ( - STRING_CHARSET_NAME? STRING_LITERAL - | START_NATIONAL_STRING_LITERAL - ) STRING_LITERAL+ - | ( - STRING_CHARSET_NAME? STRING_LITERAL - | START_NATIONAL_STRING_LITERAL - ) (COLLATE collationName)? - ; - -booleanLiteral - : TRUE | FALSE; - -hexadecimalLiteral - : STRING_CHARSET_NAME? HEXADECIMAL_LITERAL; - -nullNotnull - : NOT? (NULL_LITERAL | NULL_SPEC_LITERAL) - ; - -constant - : stringLiteral | decimalLiteral - | '-' decimalLiteral - | hexadecimalLiteral | booleanLiteral - | REAL_LITERAL | BIT_STRING - | NOT? nullLiteral=(NULL_LITERAL | NULL_SPEC_LITERAL) - ; - - -// Data Types - -dataType - : typeName=( - CHAR | VARCHAR | TINYTEXT | TEXT | MEDIUMTEXT | LONGTEXT - ) - lengthOneDimension? BINARY? - (CHARACTER SET charsetName)? (COLLATE collationName)? #stringDataType - | typeName=( - TINYINT | SMALLINT | MEDIUMINT | INT | INTEGER | BIGINT - ) - lengthOneDimension? UNSIGNED? ZEROFILL? #dimensionDataType - | typeName=(REAL | DOUBLE | FLOAT) - lengthTwoDimension? UNSIGNED? ZEROFILL? #dimensionDataType - | typeName=(DECIMAL | NUMERIC) - lengthTwoOptionalDimension? UNSIGNED? ZEROFILL? #dimensionDataType - | typeName=( - DATE | TINYBLOB | BLOB | MEDIUMBLOB | LONGBLOB - | BOOL | BOOLEAN | SERIAL - ) #simpleDataType - | typeName=( - BIT | TIME | TIMESTAMP | DATETIME | BINARY - | VARBINARY | YEAR - ) - lengthOneDimension? #dimensionDataType - | typeName=(ENUM | SET) - '(' STRING_LITERAL (',' STRING_LITERAL)* ')' BINARY? - (CHARACTER SET charsetName)? (COLLATE collationName)? #collectionDataType - | typeName=( - GEOMETRYCOLLECTION | LINESTRING | MULTILINESTRING - | MULTIPOINT | MULTIPOLYGON | POINT | POLYGON - ) #spatialDataType - ; - -convertedDataType - : typeName=(BINARY| NCHAR) lengthOneDimension? - | typeName=CHAR lengthOneDimension? (CHARACTER SET charsetName)? - | typeName=(DATE | DATETIME | TIME) - | typeName=DECIMAL lengthTwoDimension? - | (SIGNED | UNSIGNED) INTEGER? - ; - -lengthOneDimension - : '(' decimalLiteral ')' - ; - -lengthTwoDimension - : '(' decimalLiteral ',' decimalLiteral ')' - ; - -lengthTwoOptionalDimension - : '(' decimalLiteral (',' decimalLiteral)? ')' - ; - - -// Common Lists - -uidList - : uid (',' uid)* - ; - -tables - : tableName (',' tableName)* - ; - -indexColumnNames - : '(' indexColumnName (',' indexColumnName)* ')' - ; - -expressions - : expression (',' expression)* - ; - -expressionsWithDefaults - : expressionOrDefault (',' expressionOrDefault)* - ; - -constants - : constant (',' constant)* - ; - -simpleStrings - : STRING_LITERAL (',' STRING_LITERAL)* - ; - -userVariables - : LOCAL_ID (',' LOCAL_ID)* - ; - - -// Common Expressons - -defaultValue - : NULL_LITERAL - | constant - | currentTimestamp (ON UPDATE currentTimestamp)? - ; - -currentTimestamp - : - ( - (CURRENT_TIMESTAMP | LOCALTIME | LOCALTIMESTAMP) ('(' decimalLiteral? ')')? - | NOW '(' decimalLiteral? ')' - ) - ; - -expressionOrDefault - : expression | DEFAULT - ; - -ifExists - : IF EXISTS; - -ifNotExists - : IF NOT EXISTS; - - -// Functions - -functionCall - : specificFunction #specificFunctionCall - | aggregateWindowedFunction #aggregateFunctionCall - | scalarFunctionName '(' functionArgs? ')' #scalarFunctionCall - | fullId '(' functionArgs? ')' #udfFunctionCall - | passwordFunctionClause #passwordFunctionCall - ; - -specificFunction - : ( - CURRENT_DATE | CURRENT_TIME | CURRENT_TIMESTAMP - | CURRENT_USER | LOCALTIME - ) #simpleFunctionCall - | CONVERT '(' expression separator=',' convertedDataType ')' #dataTypeFunctionCall - | CONVERT '(' expression USING charsetName ')' #dataTypeFunctionCall - | CAST '(' expression AS convertedDataType ')' #dataTypeFunctionCall - | VALUES '(' fullColumnName ')' #valuesFunctionCall - | CASE expression caseFuncAlternative+ - (ELSE elseArg=functionArg)? END #caseFunctionCall - | CASE caseFuncAlternative+ - (ELSE elseArg=functionArg)? END #caseFunctionCall - | CHAR '(' functionArgs (USING charsetName)? ')' #charFunctionCall - | POSITION - '(' - ( - positionString=stringLiteral - | positionExpression=expression - ) - IN - ( - inString=stringLiteral - | inExpression=expression - ) - ')' #positionFunctionCall - | (SUBSTR | SUBSTRING) - '(' - ( - sourceString=stringLiteral - | sourceExpression=expression - ) FROM - ( - fromDecimal=decimalLiteral - | fromExpression=expression - ) - ( - FOR - ( - forDecimal=decimalLiteral - | forExpression=expression - ) - )? - ')' #substrFunctionCall - | TRIM - '(' - positioinForm=(BOTH | LEADING | TRAILING) - ( - sourceString=stringLiteral - | sourceExpression=expression - )? - FROM - ( - fromString=stringLiteral - | fromExpression=expression - ) - ')' #trimFunctionCall - | TRIM - '(' - ( - sourceString=stringLiteral - | sourceExpression=expression - ) - FROM - ( - fromString=stringLiteral - | fromExpression=expression - ) - ')' #trimFunctionCall - | WEIGHT_STRING - '(' - (stringLiteral | expression) - (AS stringFormat=(CHAR | BINARY) - '(' decimalLiteral ')' )? levelsInWeightString? - ')' #weightFunctionCall - | EXTRACT - '(' - intervalType - FROM - ( - sourceString=stringLiteral - | sourceExpression=expression - ) - ')' #extractFunctionCall - | GET_FORMAT - '(' - datetimeFormat=(DATE | TIME | DATETIME) - ',' stringLiteral - ')' #getFormatFunctionCall - ; - -caseFuncAlternative - : WHEN condition=functionArg - THEN consequent=functionArg - ; - -levelsInWeightString - : LEVEL levelInWeightListElement - (',' levelInWeightListElement)* #levelWeightList - | LEVEL - firstLevel=decimalLiteral '-' lastLevel=decimalLiteral #levelWeightRange - ; - -levelInWeightListElement - : decimalLiteral orderType=(ASC | DESC | REVERSE)? - ; - -aggregateWindowedFunction - : (AVG | MAX | MIN | SUM) - '(' aggregator=(ALL | DISTINCT)? functionArg ')' - | COUNT '(' (starArg='*' | aggregator=ALL? functionArg) ')' - | COUNT '(' aggregator=DISTINCT functionArgs ')' - | FCOUNT '(' (starArg='*') ')' - | ( - BIT_AND | BIT_OR | BIT_XOR | STD | STDDEV | STDDEV_POP - | STDDEV_SAMP | VAR_POP | VAR_SAMP | VARIANCE - ) '(' aggregator=ALL? functionArg ')' - | GROUP_CONCAT '(' - aggregator=DISTINCT? functionArgs - (ORDER BY - orderByExpression (',' orderByExpression)* - )? (SEPARATOR separator=STRING_LITERAL)? - ')' - ; - -scalarFunctionName - : functionNameBase - | ASCII | CURDATE | CURRENT_DATE | CURRENT_TIME - | CURRENT_TIMESTAMP | CURTIME | DATE_ADD | DATE_SUB - | IF | INSERT | LOCALTIME | LOCALTIMESTAMP | MID | NOW - | REPLACE | SUBSTR | SUBSTRING | SYSDATE | TRIM - | UTC_DATE | UTC_TIME | UTC_TIMESTAMP - ; - -passwordFunctionClause - : functionName=(PASSWORD | OLD_PASSWORD) '(' functionArg ')' - ; - -functionArgs - : (constant | fullColumnName | functionCall | expression) - ( - ',' - (constant | fullColumnName | functionCall | expression) - )* - ; - -functionArg - : constant | fullColumnName | functionCall | expression - ; - - -// Expressions, predicates - -// Simplified approach for expression -expression - : notOperator=(NOT | '!') expression #notExpression - | expression logicalOperator expression #logicalExpression - | predicate IS NOT? testValue=(TRUE | FALSE | UNKNOWN) #isExpression - | predicate #predicateExpression - ; - -predicate - : predicate NOT? IN '(' (selectStatement | expressions) ')' #inPredicate - | predicate IS nullNotnull #isNullPredicate - | left=predicate comparisonOperator right=predicate #binaryComparasionPredicate - | predicate comparisonOperator - quantifier=(ALL | ANY | SOME) '(' selectStatement ')' #subqueryComparasionPredicate - | predicate NOT? BETWEEN predicate AND predicate #betweenPredicate - | predicate SOUNDS LIKE predicate #soundsLikePredicate - | predicate NOT? LIKE predicate (ESCAPE STRING_LITERAL)? #likePredicate - | predicate NOT? regex=(REGEXP | RLIKE) predicate #regexpPredicate - | (LOCAL_ID VAR_ASSIGN)? expressionAtom #expressionAtomPredicate - ; - - -// Add in ASTVisitor nullNotnull in constant -expressionAtom - : constant #constantExpressionAtom - | fullColumnName #fullColumnNameExpressionAtom - | functionCall #functionCallExpressionAtom - | expressionAtom COLLATE collationName #collateExpressionAtom - | mysqlVariable #mysqlVariableExpressionAtom - | unaryOperator expressionAtom #unaryExpressionAtom - | BINARY expressionAtom #binaryExpressionAtom - | '(' expression (',' expression)* ')' #nestedExpressionAtom - | ROW '(' expression (',' expression)+ ')' #nestedRowExpressionAtom - | EXISTS '(' selectStatement ')' #existsExpessionAtom - | '(' selectStatement ')' #subqueryExpessionAtom - | INTERVAL expression intervalType #intervalExpressionAtom - | left=expressionAtom bitOperator right=expressionAtom #bitExpressionAtom - | left=expressionAtom mathOperator right=expressionAtom #mathExpressionAtom - ; - -unaryOperator - : '!' | '~' | '+' | '-' | NOT - ; - -comparisonOperator - : '=' | '>' | '<' | '<' '=' | '>' '=' - | '<' '>' | '!' '=' | '<' '=' '>' - ; - -logicalOperator - : AND | '&' '&' | XOR | OR | '|' '|' - ; - -bitOperator - : '<' '<' | '>' '>' | '&' | '^' | '|' - ; - -mathOperator - : '*' | '/' | '%' | DIV | MOD | '+' | '-' | '--' - ; - - -// Simple id sets -// (that keyword, which can be id) - -charsetNameBase - : ARMSCII8 | ASCII | BIG5 | CP1250 | CP1251 | CP1256 | CP1257 - | CP850 | CP852 | CP866 | CP932 | DEC8 | EUCJPMS | EUCKR - | GB2312 | GBK | GEOSTD8 | GREEK | HEBREW | HP8 | KEYBCS2 - | KOI8R | KOI8U | LATIN1 | LATIN2 | LATIN5 | LATIN7 | MACCE - | MACROMAN | SJIS | SWE7 | TIS620 | UCS2 | UJIS | UTF16 - | UTF16LE | UTF32 | UTF8 | UTF8MB3 | UTF8MB4 - ; - -transactionLevelBase - : REPEATABLE | COMMITTED | UNCOMMITTED | SERIALIZABLE - ; - -privilegesBase - : TABLES | ROUTINE | EXECUTE | FILE | PROCESS - | RELOAD | SHUTDOWN | SUPER | PRIVILEGES - ; - -intervalTypeBase - : QUARTER | MONTH | DAY | HOUR - | MINUTE | WEEK | SECOND | MICROSECOND - ; - -dataTypeBase - : DATE | TIME | TIMESTAMP | DATETIME | YEAR | ENUM | TEXT - ; - -keywordsCanBeId - : ACCOUNT | ACTION | AFTER | AGGREGATE | ALGORITHM | ANY - | AT | AUTHORS | AUTOCOMMIT | AUTOEXTEND_SIZE - | AUTO_INCREMENT | AVG_ROW_LENGTH | BEGIN | BINLOG | BIT - | BLOCK | BOOL | BOOLEAN | BTREE | CASCADED | CHAIN | CHANGED - | CHANNEL | CHECKSUM | CIPHER | CLIENT | COALESCE | CODE - | COLUMNS | COLUMN_FORMAT | COMMENT | COMMIT | COMPACT - | COMPLETION | COMPRESSED | COMPRESSION | CONCURRENT - | CONNECTION | CONSISTENT | CONTAINS | CONTEXT - | CONTRIBUTORS | COPY | CPU | DATA | DATAFILE | DEALLOCATE - | DEFAULT_AUTH | DEFINER | DELAY_KEY_WRITE | DIRECTORY - | DISABLE | DISCARD | DISK | DO | DUMPFILE | DUPLICATE - | DYNAMIC | ENABLE | ENCRYPTION | ENDS | ENGINE | ENGINES - | ERROR | ERRORS | ESCAPE | EVEN | EVENT | EVENTS | EVERY - | EXCHANGE | EXCLUSIVE | EXPIRE | EXTENDED | EXTENT_SIZE | FAST | FAULTS - | FIELDS | FILE_BLOCK_SIZE | FILTER | FIRST | FIXED - | FOLLOWS | FULL | FUNCTION | GLOBAL | GRANTS - | GROUP_REPLICATION | HASH | HOST | IDENTIFIED - | IGNORE_SERVER_IDS | IMPORT | INDEXES | INITIAL_SIZE - | INPLACE | INSERT_METHOD | INSTANCE | INVOKER | IO - | IO_THREAD | IPC | ISOLATION | ISSUER | KEY_BLOCK_SIZE - | LANGUAGE | LAST | LEAVES | LESS | LEVEL | LIST | LOCAL - | LOGFILE | LOGS | MASTER | MASTER_AUTO_POSITION - | MASTER_CONNECT_RETRY | MASTER_DELAY - | MASTER_HEARTBEAT_PERIOD | MASTER_HOST | MASTER_LOG_FILE - | MASTER_LOG_POS | MASTER_PASSWORD | MASTER_PORT - | MASTER_RETRY_COUNT | MASTER_SSL | MASTER_SSL_CA - | MASTER_SSL_CAPATH | MASTER_SSL_CERT | MASTER_SSL_CIPHER - | MASTER_SSL_CRL | MASTER_SSL_CRLPATH | MASTER_SSL_KEY - | MASTER_TLS_VERSION | MASTER_USER - | MAX_CONNECTIONS_PER_HOUR | MAX_QUERIES_PER_HOUR - | MAX_ROWS | MAX_SIZE | MAX_UPDATES_PER_HOUR - | MAX_USER_CONNECTIONS | MEDIUM | MEMORY | MERGE | MID | MIGRATE - | MIN_ROWS | MODIFY | MUTEX | MYSQL | NAME | NAMES - | NCHAR | NEVER | NO | NODEGROUP | NONE | OFFLINE | OFFSET - | OJ | OLD_PASSWORD | ONE | ONLINE | ONLY | OPTIMIZER_COSTS - | OPTIONS | OWNER | PACK_KEYS | PAGE | PARSER | PARTIAL - | PARTITIONING | PARTITIONS | PASSWORD | PHASE | PLUGINS - | PLUGIN_DIR | PORT | PRECEDES | PREPARE | PRESERVE | PREV - | PROCESSLIST | PROFILE | PROFILES | PROXY | QUERY | QUICK - | REBUILD | RECOVER | REDO_BUFFER_SIZE | REDUNDANT - | RELAYLOG | RELAY_LOG_FILE | RELAY_LOG_POS | REMOVE - | REORGANIZE | REPAIR | REPLICATE_DO_DB | REPLICATE_DO_TABLE - | REPLICATE_IGNORE_DB | REPLICATE_IGNORE_TABLE - | REPLICATE_REWRITE_DB | REPLICATE_WILD_DO_TABLE - | REPLICATE_WILD_IGNORE_TABLE | REPLICATION | RESUME - | RETURNS | ROLLBACK | ROLLUP | ROTATE | ROW | ROWS - | ROW_FORMAT | SAVEPOINT | SCHEDULE | SECURITY | SERIAL | SERVER - | SESSION | SHARE | SHARED | SIGNED | SIMPLE | SLAVE - | SNAPSHOT | SOCKET | SOME | SOUNDS | SOURCE - | SQL_AFTER_GTIDS | SQL_AFTER_MTS_GAPS | SQL_BEFORE_GTIDS - | SQL_BUFFER_RESULT | SQL_CACHE | SQL_NO_CACHE | SQL_THREAD - | START | STARTS | STATS_AUTO_RECALC | STATS_PERSISTENT - | STATS_SAMPLE_PAGES | STATUS | STOP | STORAGE | STRING - | SUBJECT | SUBPARTITION | SUBPARTITIONS | SUSPEND | SWAPS - | SWITCHES | TABLESPACE | TEMPORARY | TEMPTABLE | THAN - | TRANSACTION | TRUNCATE | UNDEFINED | UNDOFILE - | UNDO_BUFFER_SIZE | UNKNOWN | UPGRADE | USER | VALIDATION - | VALUE | VARIABLES | VIEW | WAIT | WARNINGS | WITHOUT - | WORK | WRAPPER | X509 | XA | XML - ; - -functionNameBase - : ABS | ACOS | ADDDATE | ADDTIME | AES_DECRYPT | AES_ENCRYPT - | AREA | ASBINARY | ASIN | ASTEXT | ASWKB | ASWKT - | ASYMMETRIC_DECRYPT | ASYMMETRIC_DERIVE - | ASYMMETRIC_ENCRYPT | ASYMMETRIC_SIGN | ASYMMETRIC_VERIFY - | ATAN | ATAN2 | BENCHMARK | BIN | BIT_COUNT | BIT_LENGTH - | BUFFER | CEIL | CEILING | CENTROID | CHARACTER_LENGTH - | CHARSET | CHAR_LENGTH | COERCIBILITY | COLLATION - | COMPRESS | CONCAT | CONCAT_WS | CONNECTION_ID | CONV - | CONVERT_TZ | COS | COT | COUNT | CRC32 - | CREATE_ASYMMETRIC_PRIV_KEY | CREATE_ASYMMETRIC_PUB_KEY - | CREATE_DH_PARAMETERS | CREATE_DIGEST | CROSSES | DATABASE | DATE - | DATEDIFF | DATE_FORMAT | DAY | DAYNAME | DAYOFMONTH - | DAYOFWEEK | DAYOFYEAR | DECODE | DEGREES | DES_DECRYPT - | DES_ENCRYPT | DIMENSION | DISJOINT | ELT | ENCODE - | ENCRYPT | ENDPOINT | ENVELOPE | EQUALS | EXP | EXPORT_SET - | EXTERIORRING | EXTRACTVALUE | FIELD | FIND_IN_SET | FLOOR - | FORMAT | FOUND_ROWS | FROM_BASE64 | FROM_DAYS - | FROM_UNIXTIME | GEOMCOLLFROMTEXT | GEOMCOLLFROMWKB - | GEOMETRYCOLLECTION | GEOMETRYCOLLECTIONFROMTEXT - | GEOMETRYCOLLECTIONFROMWKB | GEOMETRYFROMTEXT - | GEOMETRYFROMWKB | GEOMETRYN | GEOMETRYTYPE | GEOMFROMTEXT - | GEOMFROMWKB | GET_FORMAT | GET_LOCK | GLENGTH | GREATEST - | GTID_SUBSET | GTID_SUBTRACT | HEX | HOUR | IFNULL - | INET6_ATON | INET6_NTOA | INET_ATON | INET_NTOA | INSTR - | INTERIORRINGN | INTERSECTS | ISCLOSED | ISEMPTY | ISNULL - | ISSIMPLE | IS_FREE_LOCK | IS_IPV4 | IS_IPV4_COMPAT - | IS_IPV4_MAPPED | IS_IPV6 | IS_USED_LOCK | LAST_INSERT_ID - | LCASE | LEAST | LEFT | LENGTH | LINEFROMTEXT | LINEFROMWKB - | LINESTRING | LINESTRINGFROMTEXT | LINESTRINGFROMWKB | LN - | LOAD_FILE | LOCATE | LOG | LOG10 | LOG2 | LOWER | LPAD - | LTRIM | MAKEDATE | MAKETIME | MAKE_SET | MASTER_POS_WAIT - | MBRCONTAINS | MBRDISJOINT | MBREQUAL | MBRINTERSECTS - | MBROVERLAPS | MBRTOUCHES | MBRWITHIN | MD5 | MICROSECOND - | MINUTE | MLINEFROMTEXT | MLINEFROMWKB | MONTH | MONTHNAME - | MPOINTFROMTEXT | MPOINTFROMWKB | MPOLYFROMTEXT - | MPOLYFROMWKB | MULTILINESTRING | MULTILINESTRINGFROMTEXT - | MULTILINESTRINGFROMWKB | MULTIPOINT | MULTIPOINTFROMTEXT - | MULTIPOINTFROMWKB | MULTIPOLYGON | MULTIPOLYGONFROMTEXT - | MULTIPOLYGONFROMWKB | NAME_CONST | NULLIF | NUMGEOMETRIES - | NUMINTERIORRINGS | NUMPOINTS | OCT | OCTET_LENGTH | ORD - | OVERLAPS | PERIOD_ADD | PERIOD_DIFF | PI | POINT - | POINTFROMTEXT | POINTFROMWKB | POINTN | POLYFROMTEXT - | POLYFROMWKB | POLYGON | POLYGONFROMTEXT | POLYGONFROMWKB - | POSITION| POW | POWER | QUARTER | QUOTE | RADIANS | RAND - | RANDOM_BYTES | RELEASE_LOCK | REVERSE | RIGHT | ROUND - | ROW_COUNT | RPAD | RTRIM | SECOND | SEC_TO_TIME - | SESSION_USER | SHA | SHA1 | SHA2 | SIGN | SIN | SLEEP - | SOUNDEX | SQL_THREAD_WAIT_AFTER_GTIDS | SQRT | SRID - | STARTPOINT | STRCMP | STR_TO_DATE | ST_AREA | ST_ASBINARY - | ST_ASTEXT | ST_ASWKB | ST_ASWKT | ST_BUFFER | ST_CENTROID - | ST_CONTAINS | ST_CROSSES | ST_DIFFERENCE | ST_DIMENSION - | ST_DISJOINT | ST_DISTANCE | ST_ENDPOINT | ST_ENVELOPE - | ST_EQUALS | ST_EXTERIORRING | ST_GEOMCOLLFROMTEXT - | ST_GEOMCOLLFROMTXT | ST_GEOMCOLLFROMWKB - | ST_GEOMETRYCOLLECTIONFROMTEXT - | ST_GEOMETRYCOLLECTIONFROMWKB | ST_GEOMETRYFROMTEXT - | ST_GEOMETRYFROMWKB | ST_GEOMETRYN | ST_GEOMETRYTYPE - | ST_GEOMFROMTEXT | ST_GEOMFROMWKB | ST_INTERIORRINGN - | ST_INTERSECTION | ST_INTERSECTS | ST_ISCLOSED | ST_ISEMPTY - | ST_ISSIMPLE | ST_LINEFROMTEXT | ST_LINEFROMWKB - | ST_LINESTRINGFROMTEXT | ST_LINESTRINGFROMWKB - | ST_NUMGEOMETRIES | ST_NUMINTERIORRING - | ST_NUMINTERIORRINGS | ST_NUMPOINTS | ST_OVERLAPS - | ST_POINTFROMTEXT | ST_POINTFROMWKB | ST_POINTN - | ST_POLYFROMTEXT | ST_POLYFROMWKB | ST_POLYGONFROMTEXT - | ST_POLYGONFROMWKB | ST_SRID | ST_STARTPOINT - | ST_SYMDIFFERENCE | ST_TOUCHES | ST_UNION | ST_WITHIN - | ST_X | ST_Y | SUBDATE | SUBSTRING_INDEX | SUBTIME - | SYSTEM_USER | TAN | TIME | TIMEDIFF | TIMESTAMP - | TIMESTAMPADD | TIMESTAMPDIFF | TIME_FORMAT | TIME_TO_SEC - | TOUCHES | TO_BASE64 | TO_DAYS | TO_SECONDS | UCASE - | UNCOMPRESS | UNCOMPRESSED_LENGTH | UNHEX | UNIX_TIMESTAMP - | UPDATEXML | UPPER | UUID | UUID_SHORT - | VALIDATE_PASSWORD_STRENGTH | VERSION - | WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS | WEEK | WEEKDAY - | WEEKOFYEAR | WEIGHT_STRING | WITHIN | YEAR | YEARWEEK - | Y_FUNCTION | X_FUNCTION - ; \ No newline at end of file diff --git a/third_party/evaQL/parser/frameQLLexer.py b/third_party/evaQL/parser/frameQLLexer.py deleted file mode 100644 index 566dfa2fa3..0000000000 --- a/third_party/evaQL/parser/frameQLLexer.py +++ /dev/null @@ -1,7057 +0,0 @@ -# Generated from frameQLLexer.g4 by ANTLR 4.7.1 -from antlr4 import * -from io import StringIO -from typing.io import TextIO -import sys - - -def serializedATN(): - with StringIO() as buf: - buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\u03d7") - buf.write("\u2b4d\b\1\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7") - buf.write("\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r") - buf.write("\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22\4\23") - buf.write("\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30") - buf.write("\4\31\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36") - buf.write("\t\36\4\37\t\37\4 \t \4!\t!\4\"\t\"\4#\t#\4$\t$\4%\t%") - buf.write("\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4,\t,\4-\t-\4.") - buf.write("\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64") - buf.write("\t\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:") - buf.write("\4;\t;\4<\t<\4=\t=\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\t") - buf.write("C\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I\tI\4J\tJ\4K\tK\4L\t") - buf.write("L\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT\4U\t") - buf.write("U\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4") - buf.write("^\t^\4_\t_\4`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4") - buf.write("g\tg\4h\th\4i\ti\4j\tj\4k\tk\4l\tl\4m\tm\4n\tn\4o\to\4") - buf.write("p\tp\4q\tq\4r\tr\4s\ts\4t\tt\4u\tu\4v\tv\4w\tw\4x\tx\4") - buf.write("y\ty\4z\tz\4{\t{\4|\t|\4}\t}\4~\t~\4\177\t\177\4\u0080") - buf.write("\t\u0080\4\u0081\t\u0081\4\u0082\t\u0082\4\u0083\t\u0083") - buf.write("\4\u0084\t\u0084\4\u0085\t\u0085\4\u0086\t\u0086\4\u0087") - buf.write("\t\u0087\4\u0088\t\u0088\4\u0089\t\u0089\4\u008a\t\u008a") - buf.write("\4\u008b\t\u008b\4\u008c\t\u008c\4\u008d\t\u008d\4\u008e") - buf.write("\t\u008e\4\u008f\t\u008f\4\u0090\t\u0090\4\u0091\t\u0091") - buf.write("\4\u0092\t\u0092\4\u0093\t\u0093\4\u0094\t\u0094\4\u0095") - buf.write("\t\u0095\4\u0096\t\u0096\4\u0097\t\u0097\4\u0098\t\u0098") - buf.write("\4\u0099\t\u0099\4\u009a\t\u009a\4\u009b\t\u009b\4\u009c") - buf.write("\t\u009c\4\u009d\t\u009d\4\u009e\t\u009e\4\u009f\t\u009f") - buf.write("\4\u00a0\t\u00a0\4\u00a1\t\u00a1\4\u00a2\t\u00a2\4\u00a3") - buf.write("\t\u00a3\4\u00a4\t\u00a4\4\u00a5\t\u00a5\4\u00a6\t\u00a6") - buf.write("\4\u00a7\t\u00a7\4\u00a8\t\u00a8\4\u00a9\t\u00a9\4\u00aa") - buf.write("\t\u00aa\4\u00ab\t\u00ab\4\u00ac\t\u00ac\4\u00ad\t\u00ad") - buf.write("\4\u00ae\t\u00ae\4\u00af\t\u00af\4\u00b0\t\u00b0\4\u00b1") - buf.write("\t\u00b1\4\u00b2\t\u00b2\4\u00b3\t\u00b3\4\u00b4\t\u00b4") - buf.write("\4\u00b5\t\u00b5\4\u00b6\t\u00b6\4\u00b7\t\u00b7\4\u00b8") - buf.write("\t\u00b8\4\u00b9\t\u00b9\4\u00ba\t\u00ba\4\u00bb\t\u00bb") - buf.write("\4\u00bc\t\u00bc\4\u00bd\t\u00bd\4\u00be\t\u00be\4\u00bf") - buf.write("\t\u00bf\4\u00c0\t\u00c0\4\u00c1\t\u00c1\4\u00c2\t\u00c2") - buf.write("\4\u00c3\t\u00c3\4\u00c4\t\u00c4\4\u00c5\t\u00c5\4\u00c6") - buf.write("\t\u00c6\4\u00c7\t\u00c7\4\u00c8\t\u00c8\4\u00c9\t\u00c9") - buf.write("\4\u00ca\t\u00ca\4\u00cb\t\u00cb\4\u00cc\t\u00cc\4\u00cd") - buf.write("\t\u00cd\4\u00ce\t\u00ce\4\u00cf\t\u00cf\4\u00d0\t\u00d0") - buf.write("\4\u00d1\t\u00d1\4\u00d2\t\u00d2\4\u00d3\t\u00d3\4\u00d4") - buf.write("\t\u00d4\4\u00d5\t\u00d5\4\u00d6\t\u00d6\4\u00d7\t\u00d7") - buf.write("\4\u00d8\t\u00d8\4\u00d9\t\u00d9\4\u00da\t\u00da\4\u00db") - buf.write("\t\u00db\4\u00dc\t\u00dc\4\u00dd\t\u00dd\4\u00de\t\u00de") - buf.write("\4\u00df\t\u00df\4\u00e0\t\u00e0\4\u00e1\t\u00e1\4\u00e2") - buf.write("\t\u00e2\4\u00e3\t\u00e3\4\u00e4\t\u00e4\4\u00e5\t\u00e5") - buf.write("\4\u00e6\t\u00e6\4\u00e7\t\u00e7\4\u00e8\t\u00e8\4\u00e9") - buf.write("\t\u00e9\4\u00ea\t\u00ea\4\u00eb\t\u00eb\4\u00ec\t\u00ec") - buf.write("\4\u00ed\t\u00ed\4\u00ee\t\u00ee\4\u00ef\t\u00ef\4\u00f0") - buf.write("\t\u00f0\4\u00f1\t\u00f1\4\u00f2\t\u00f2\4\u00f3\t\u00f3") - buf.write("\4\u00f4\t\u00f4\4\u00f5\t\u00f5\4\u00f6\t\u00f6\4\u00f7") - buf.write("\t\u00f7\4\u00f8\t\u00f8\4\u00f9\t\u00f9\4\u00fa\t\u00fa") - buf.write("\4\u00fb\t\u00fb\4\u00fc\t\u00fc\4\u00fd\t\u00fd\4\u00fe") - buf.write("\t\u00fe\4\u00ff\t\u00ff\4\u0100\t\u0100\4\u0101\t\u0101") - buf.write("\4\u0102\t\u0102\4\u0103\t\u0103\4\u0104\t\u0104\4\u0105") - buf.write("\t\u0105\4\u0106\t\u0106\4\u0107\t\u0107\4\u0108\t\u0108") - buf.write("\4\u0109\t\u0109\4\u010a\t\u010a\4\u010b\t\u010b\4\u010c") - buf.write("\t\u010c\4\u010d\t\u010d\4\u010e\t\u010e\4\u010f\t\u010f") - buf.write("\4\u0110\t\u0110\4\u0111\t\u0111\4\u0112\t\u0112\4\u0113") - buf.write("\t\u0113\4\u0114\t\u0114\4\u0115\t\u0115\4\u0116\t\u0116") - buf.write("\4\u0117\t\u0117\4\u0118\t\u0118\4\u0119\t\u0119\4\u011a") - buf.write("\t\u011a\4\u011b\t\u011b\4\u011c\t\u011c\4\u011d\t\u011d") - buf.write("\4\u011e\t\u011e\4\u011f\t\u011f\4\u0120\t\u0120\4\u0121") - buf.write("\t\u0121\4\u0122\t\u0122\4\u0123\t\u0123\4\u0124\t\u0124") - buf.write("\4\u0125\t\u0125\4\u0126\t\u0126\4\u0127\t\u0127\4\u0128") - buf.write("\t\u0128\4\u0129\t\u0129\4\u012a\t\u012a\4\u012b\t\u012b") - buf.write("\4\u012c\t\u012c\4\u012d\t\u012d\4\u012e\t\u012e\4\u012f") - buf.write("\t\u012f\4\u0130\t\u0130\4\u0131\t\u0131\4\u0132\t\u0132") - buf.write("\4\u0133\t\u0133\4\u0134\t\u0134\4\u0135\t\u0135\4\u0136") - buf.write("\t\u0136\4\u0137\t\u0137\4\u0138\t\u0138\4\u0139\t\u0139") - buf.write("\4\u013a\t\u013a\4\u013b\t\u013b\4\u013c\t\u013c\4\u013d") - buf.write("\t\u013d\4\u013e\t\u013e\4\u013f\t\u013f\4\u0140\t\u0140") - buf.write("\4\u0141\t\u0141\4\u0142\t\u0142\4\u0143\t\u0143\4\u0144") - buf.write("\t\u0144\4\u0145\t\u0145\4\u0146\t\u0146\4\u0147\t\u0147") - buf.write("\4\u0148\t\u0148\4\u0149\t\u0149\4\u014a\t\u014a\4\u014b") - buf.write("\t\u014b\4\u014c\t\u014c\4\u014d\t\u014d\4\u014e\t\u014e") - buf.write("\4\u014f\t\u014f\4\u0150\t\u0150\4\u0151\t\u0151\4\u0152") - buf.write("\t\u0152\4\u0153\t\u0153\4\u0154\t\u0154\4\u0155\t\u0155") - buf.write("\4\u0156\t\u0156\4\u0157\t\u0157\4\u0158\t\u0158\4\u0159") - buf.write("\t\u0159\4\u015a\t\u015a\4\u015b\t\u015b\4\u015c\t\u015c") - buf.write("\4\u015d\t\u015d\4\u015e\t\u015e\4\u015f\t\u015f\4\u0160") - buf.write("\t\u0160\4\u0161\t\u0161\4\u0162\t\u0162\4\u0163\t\u0163") - buf.write("\4\u0164\t\u0164\4\u0165\t\u0165\4\u0166\t\u0166\4\u0167") - buf.write("\t\u0167\4\u0168\t\u0168\4\u0169\t\u0169\4\u016a\t\u016a") - buf.write("\4\u016b\t\u016b\4\u016c\t\u016c\4\u016d\t\u016d\4\u016e") - buf.write("\t\u016e\4\u016f\t\u016f\4\u0170\t\u0170\4\u0171\t\u0171") - buf.write("\4\u0172\t\u0172\4\u0173\t\u0173\4\u0174\t\u0174\4\u0175") - buf.write("\t\u0175\4\u0176\t\u0176\4\u0177\t\u0177\4\u0178\t\u0178") - buf.write("\4\u0179\t\u0179\4\u017a\t\u017a\4\u017b\t\u017b\4\u017c") - buf.write("\t\u017c\4\u017d\t\u017d\4\u017e\t\u017e\4\u017f\t\u017f") - buf.write("\4\u0180\t\u0180\4\u0181\t\u0181\4\u0182\t\u0182\4\u0183") - buf.write("\t\u0183\4\u0184\t\u0184\4\u0185\t\u0185\4\u0186\t\u0186") - buf.write("\4\u0187\t\u0187\4\u0188\t\u0188\4\u0189\t\u0189\4\u018a") - buf.write("\t\u018a\4\u018b\t\u018b\4\u018c\t\u018c\4\u018d\t\u018d") - buf.write("\4\u018e\t\u018e\4\u018f\t\u018f\4\u0190\t\u0190\4\u0191") - buf.write("\t\u0191\4\u0192\t\u0192\4\u0193\t\u0193\4\u0194\t\u0194") - buf.write("\4\u0195\t\u0195\4\u0196\t\u0196\4\u0197\t\u0197\4\u0198") - buf.write("\t\u0198\4\u0199\t\u0199\4\u019a\t\u019a\4\u019b\t\u019b") - buf.write("\4\u019c\t\u019c\4\u019d\t\u019d\4\u019e\t\u019e\4\u019f") - buf.write("\t\u019f\4\u01a0\t\u01a0\4\u01a1\t\u01a1\4\u01a2\t\u01a2") - buf.write("\4\u01a3\t\u01a3\4\u01a4\t\u01a4\4\u01a5\t\u01a5\4\u01a6") - buf.write("\t\u01a6\4\u01a7\t\u01a7\4\u01a8\t\u01a8\4\u01a9\t\u01a9") - buf.write("\4\u01aa\t\u01aa\4\u01ab\t\u01ab\4\u01ac\t\u01ac\4\u01ad") - buf.write("\t\u01ad\4\u01ae\t\u01ae\4\u01af\t\u01af\4\u01b0\t\u01b0") - buf.write("\4\u01b1\t\u01b1\4\u01b2\t\u01b2\4\u01b3\t\u01b3\4\u01b4") - buf.write("\t\u01b4\4\u01b5\t\u01b5\4\u01b6\t\u01b6\4\u01b7\t\u01b7") - buf.write("\4\u01b8\t\u01b8\4\u01b9\t\u01b9\4\u01ba\t\u01ba\4\u01bb") - buf.write("\t\u01bb\4\u01bc\t\u01bc\4\u01bd\t\u01bd\4\u01be\t\u01be") - buf.write("\4\u01bf\t\u01bf\4\u01c0\t\u01c0\4\u01c1\t\u01c1\4\u01c2") - buf.write("\t\u01c2\4\u01c3\t\u01c3\4\u01c4\t\u01c4\4\u01c5\t\u01c5") - buf.write("\4\u01c6\t\u01c6\4\u01c7\t\u01c7\4\u01c8\t\u01c8\4\u01c9") - buf.write("\t\u01c9\4\u01ca\t\u01ca\4\u01cb\t\u01cb\4\u01cc\t\u01cc") - buf.write("\4\u01cd\t\u01cd\4\u01ce\t\u01ce\4\u01cf\t\u01cf\4\u01d0") - buf.write("\t\u01d0\4\u01d1\t\u01d1\4\u01d2\t\u01d2\4\u01d3\t\u01d3") - buf.write("\4\u01d4\t\u01d4\4\u01d5\t\u01d5\4\u01d6\t\u01d6\4\u01d7") - buf.write("\t\u01d7\4\u01d8\t\u01d8\4\u01d9\t\u01d9\4\u01da\t\u01da") - buf.write("\4\u01db\t\u01db\4\u01dc\t\u01dc\4\u01dd\t\u01dd\4\u01de") - buf.write("\t\u01de\4\u01df\t\u01df\4\u01e0\t\u01e0\4\u01e1\t\u01e1") - buf.write("\4\u01e2\t\u01e2\4\u01e3\t\u01e3\4\u01e4\t\u01e4\4\u01e5") - buf.write("\t\u01e5\4\u01e6\t\u01e6\4\u01e7\t\u01e7\4\u01e8\t\u01e8") - buf.write("\4\u01e9\t\u01e9\4\u01ea\t\u01ea\4\u01eb\t\u01eb\4\u01ec") - buf.write("\t\u01ec\4\u01ed\t\u01ed\4\u01ee\t\u01ee\4\u01ef\t\u01ef") - buf.write("\4\u01f0\t\u01f0\4\u01f1\t\u01f1\4\u01f2\t\u01f2\4\u01f3") - buf.write("\t\u01f3\4\u01f4\t\u01f4\4\u01f5\t\u01f5\4\u01f6\t\u01f6") - buf.write("\4\u01f7\t\u01f7\4\u01f8\t\u01f8\4\u01f9\t\u01f9\4\u01fa") - buf.write("\t\u01fa\4\u01fb\t\u01fb\4\u01fc\t\u01fc\4\u01fd\t\u01fd") - buf.write("\4\u01fe\t\u01fe\4\u01ff\t\u01ff\4\u0200\t\u0200\4\u0201") - buf.write("\t\u0201\4\u0202\t\u0202\4\u0203\t\u0203\4\u0204\t\u0204") - buf.write("\4\u0205\t\u0205\4\u0206\t\u0206\4\u0207\t\u0207\4\u0208") - buf.write("\t\u0208\4\u0209\t\u0209\4\u020a\t\u020a\4\u020b\t\u020b") - buf.write("\4\u020c\t\u020c\4\u020d\t\u020d\4\u020e\t\u020e\4\u020f") - buf.write("\t\u020f\4\u0210\t\u0210\4\u0211\t\u0211\4\u0212\t\u0212") - buf.write("\4\u0213\t\u0213\4\u0214\t\u0214\4\u0215\t\u0215\4\u0216") - buf.write("\t\u0216\4\u0217\t\u0217\4\u0218\t\u0218\4\u0219\t\u0219") - buf.write("\4\u021a\t\u021a\4\u021b\t\u021b\4\u021c\t\u021c\4\u021d") - buf.write("\t\u021d\4\u021e\t\u021e\4\u021f\t\u021f\4\u0220\t\u0220") - buf.write("\4\u0221\t\u0221\4\u0222\t\u0222\4\u0223\t\u0223\4\u0224") - buf.write("\t\u0224\4\u0225\t\u0225\4\u0226\t\u0226\4\u0227\t\u0227") - buf.write("\4\u0228\t\u0228\4\u0229\t\u0229\4\u022a\t\u022a\4\u022b") - buf.write("\t\u022b\4\u022c\t\u022c\4\u022d\t\u022d\4\u022e\t\u022e") - buf.write("\4\u022f\t\u022f\4\u0230\t\u0230\4\u0231\t\u0231\4\u0232") - buf.write("\t\u0232\4\u0233\t\u0233\4\u0234\t\u0234\4\u0235\t\u0235") - buf.write("\4\u0236\t\u0236\4\u0237\t\u0237\4\u0238\t\u0238\4\u0239") - buf.write("\t\u0239\4\u023a\t\u023a\4\u023b\t\u023b\4\u023c\t\u023c") - buf.write("\4\u023d\t\u023d\4\u023e\t\u023e\4\u023f\t\u023f\4\u0240") - buf.write("\t\u0240\4\u0241\t\u0241\4\u0242\t\u0242\4\u0243\t\u0243") - buf.write("\4\u0244\t\u0244\4\u0245\t\u0245\4\u0246\t\u0246\4\u0247") - buf.write("\t\u0247\4\u0248\t\u0248\4\u0249\t\u0249\4\u024a\t\u024a") - buf.write("\4\u024b\t\u024b\4\u024c\t\u024c\4\u024d\t\u024d\4\u024e") - buf.write("\t\u024e\4\u024f\t\u024f\4\u0250\t\u0250\4\u0251\t\u0251") - buf.write("\4\u0252\t\u0252\4\u0253\t\u0253\4\u0254\t\u0254\4\u0255") - buf.write("\t\u0255\4\u0256\t\u0256\4\u0257\t\u0257\4\u0258\t\u0258") - buf.write("\4\u0259\t\u0259\4\u025a\t\u025a\4\u025b\t\u025b\4\u025c") - buf.write("\t\u025c\4\u025d\t\u025d\4\u025e\t\u025e\4\u025f\t\u025f") - buf.write("\4\u0260\t\u0260\4\u0261\t\u0261\4\u0262\t\u0262\4\u0263") - buf.write("\t\u0263\4\u0264\t\u0264\4\u0265\t\u0265\4\u0266\t\u0266") - buf.write("\4\u0267\t\u0267\4\u0268\t\u0268\4\u0269\t\u0269\4\u026a") - buf.write("\t\u026a\4\u026b\t\u026b\4\u026c\t\u026c\4\u026d\t\u026d") - buf.write("\4\u026e\t\u026e\4\u026f\t\u026f\4\u0270\t\u0270\4\u0271") - buf.write("\t\u0271\4\u0272\t\u0272\4\u0273\t\u0273\4\u0274\t\u0274") - buf.write("\4\u0275\t\u0275\4\u0276\t\u0276\4\u0277\t\u0277\4\u0278") - buf.write("\t\u0278\4\u0279\t\u0279\4\u027a\t\u027a\4\u027b\t\u027b") - buf.write("\4\u027c\t\u027c\4\u027d\t\u027d\4\u027e\t\u027e\4\u027f") - buf.write("\t\u027f\4\u0280\t\u0280\4\u0281\t\u0281\4\u0282\t\u0282") - buf.write("\4\u0283\t\u0283\4\u0284\t\u0284\4\u0285\t\u0285\4\u0286") - buf.write("\t\u0286\4\u0287\t\u0287\4\u0288\t\u0288\4\u0289\t\u0289") - buf.write("\4\u028a\t\u028a\4\u028b\t\u028b\4\u028c\t\u028c\4\u028d") - buf.write("\t\u028d\4\u028e\t\u028e\4\u028f\t\u028f\4\u0290\t\u0290") - buf.write("\4\u0291\t\u0291\4\u0292\t\u0292\4\u0293\t\u0293\4\u0294") - buf.write("\t\u0294\4\u0295\t\u0295\4\u0296\t\u0296\4\u0297\t\u0297") - buf.write("\4\u0298\t\u0298\4\u0299\t\u0299\4\u029a\t\u029a\4\u029b") - buf.write("\t\u029b\4\u029c\t\u029c\4\u029d\t\u029d\4\u029e\t\u029e") - buf.write("\4\u029f\t\u029f\4\u02a0\t\u02a0\4\u02a1\t\u02a1\4\u02a2") - buf.write("\t\u02a2\4\u02a3\t\u02a3\4\u02a4\t\u02a4\4\u02a5\t\u02a5") - buf.write("\4\u02a6\t\u02a6\4\u02a7\t\u02a7\4\u02a8\t\u02a8\4\u02a9") - buf.write("\t\u02a9\4\u02aa\t\u02aa\4\u02ab\t\u02ab\4\u02ac\t\u02ac") - buf.write("\4\u02ad\t\u02ad\4\u02ae\t\u02ae\4\u02af\t\u02af\4\u02b0") - buf.write("\t\u02b0\4\u02b1\t\u02b1\4\u02b2\t\u02b2\4\u02b3\t\u02b3") - buf.write("\4\u02b4\t\u02b4\4\u02b5\t\u02b5\4\u02b6\t\u02b6\4\u02b7") - buf.write("\t\u02b7\4\u02b8\t\u02b8\4\u02b9\t\u02b9\4\u02ba\t\u02ba") - buf.write("\4\u02bb\t\u02bb\4\u02bc\t\u02bc\4\u02bd\t\u02bd\4\u02be") - buf.write("\t\u02be\4\u02bf\t\u02bf\4\u02c0\t\u02c0\4\u02c1\t\u02c1") - buf.write("\4\u02c2\t\u02c2\4\u02c3\t\u02c3\4\u02c4\t\u02c4\4\u02c5") - buf.write("\t\u02c5\4\u02c6\t\u02c6\4\u02c7\t\u02c7\4\u02c8\t\u02c8") - buf.write("\4\u02c9\t\u02c9\4\u02ca\t\u02ca\4\u02cb\t\u02cb\4\u02cc") - buf.write("\t\u02cc\4\u02cd\t\u02cd\4\u02ce\t\u02ce\4\u02cf\t\u02cf") - buf.write("\4\u02d0\t\u02d0\4\u02d1\t\u02d1\4\u02d2\t\u02d2\4\u02d3") - buf.write("\t\u02d3\4\u02d4\t\u02d4\4\u02d5\t\u02d5\4\u02d6\t\u02d6") - buf.write("\4\u02d7\t\u02d7\4\u02d8\t\u02d8\4\u02d9\t\u02d9\4\u02da") - buf.write("\t\u02da\4\u02db\t\u02db\4\u02dc\t\u02dc\4\u02dd\t\u02dd") - buf.write("\4\u02de\t\u02de\4\u02df\t\u02df\4\u02e0\t\u02e0\4\u02e1") - buf.write("\t\u02e1\4\u02e2\t\u02e2\4\u02e3\t\u02e3\4\u02e4\t\u02e4") - buf.write("\4\u02e5\t\u02e5\4\u02e6\t\u02e6\4\u02e7\t\u02e7\4\u02e8") - buf.write("\t\u02e8\4\u02e9\t\u02e9\4\u02ea\t\u02ea\4\u02eb\t\u02eb") - buf.write("\4\u02ec\t\u02ec\4\u02ed\t\u02ed\4\u02ee\t\u02ee\4\u02ef") - buf.write("\t\u02ef\4\u02f0\t\u02f0\4\u02f1\t\u02f1\4\u02f2\t\u02f2") - buf.write("\4\u02f3\t\u02f3\4\u02f4\t\u02f4\4\u02f5\t\u02f5\4\u02f6") - buf.write("\t\u02f6\4\u02f7\t\u02f7\4\u02f8\t\u02f8\4\u02f9\t\u02f9") - buf.write("\4\u02fa\t\u02fa\4\u02fb\t\u02fb\4\u02fc\t\u02fc\4\u02fd") - buf.write("\t\u02fd\4\u02fe\t\u02fe\4\u02ff\t\u02ff\4\u0300\t\u0300") - buf.write("\4\u0301\t\u0301\4\u0302\t\u0302\4\u0303\t\u0303\4\u0304") - buf.write("\t\u0304\4\u0305\t\u0305\4\u0306\t\u0306\4\u0307\t\u0307") - buf.write("\4\u0308\t\u0308\4\u0309\t\u0309\4\u030a\t\u030a\4\u030b") - buf.write("\t\u030b\4\u030c\t\u030c\4\u030d\t\u030d\4\u030e\t\u030e") - buf.write("\4\u030f\t\u030f\4\u0310\t\u0310\4\u0311\t\u0311\4\u0312") - buf.write("\t\u0312\4\u0313\t\u0313\4\u0314\t\u0314\4\u0315\t\u0315") - buf.write("\4\u0316\t\u0316\4\u0317\t\u0317\4\u0318\t\u0318\4\u0319") - buf.write("\t\u0319\4\u031a\t\u031a\4\u031b\t\u031b\4\u031c\t\u031c") - buf.write("\4\u031d\t\u031d\4\u031e\t\u031e\4\u031f\t\u031f\4\u0320") - buf.write("\t\u0320\4\u0321\t\u0321\4\u0322\t\u0322\4\u0323\t\u0323") - buf.write("\4\u0324\t\u0324\4\u0325\t\u0325\4\u0326\t\u0326\4\u0327") - buf.write("\t\u0327\4\u0328\t\u0328\4\u0329\t\u0329\4\u032a\t\u032a") - buf.write("\4\u032b\t\u032b\4\u032c\t\u032c\4\u032d\t\u032d\4\u032e") - buf.write("\t\u032e\4\u032f\t\u032f\4\u0330\t\u0330\4\u0331\t\u0331") - buf.write("\4\u0332\t\u0332\4\u0333\t\u0333\4\u0334\t\u0334\4\u0335") - buf.write("\t\u0335\4\u0336\t\u0336\4\u0337\t\u0337\4\u0338\t\u0338") - buf.write("\4\u0339\t\u0339\4\u033a\t\u033a\4\u033b\t\u033b\4\u033c") - buf.write("\t\u033c\4\u033d\t\u033d\4\u033e\t\u033e\4\u033f\t\u033f") - buf.write("\4\u0340\t\u0340\4\u0341\t\u0341\4\u0342\t\u0342\4\u0343") - buf.write("\t\u0343\4\u0344\t\u0344\4\u0345\t\u0345\4\u0346\t\u0346") - buf.write("\4\u0347\t\u0347\4\u0348\t\u0348\4\u0349\t\u0349\4\u034a") - buf.write("\t\u034a\4\u034b\t\u034b\4\u034c\t\u034c\4\u034d\t\u034d") - buf.write("\4\u034e\t\u034e\4\u034f\t\u034f\4\u0350\t\u0350\4\u0351") - buf.write("\t\u0351\4\u0352\t\u0352\4\u0353\t\u0353\4\u0354\t\u0354") - buf.write("\4\u0355\t\u0355\4\u0356\t\u0356\4\u0357\t\u0357\4\u0358") - buf.write("\t\u0358\4\u0359\t\u0359\4\u035a\t\u035a\4\u035b\t\u035b") - buf.write("\4\u035c\t\u035c\4\u035d\t\u035d\4\u035e\t\u035e\4\u035f") - buf.write("\t\u035f\4\u0360\t\u0360\4\u0361\t\u0361\4\u0362\t\u0362") - buf.write("\4\u0363\t\u0363\4\u0364\t\u0364\4\u0365\t\u0365\4\u0366") - buf.write("\t\u0366\4\u0367\t\u0367\4\u0368\t\u0368\4\u0369\t\u0369") - buf.write("\4\u036a\t\u036a\4\u036b\t\u036b\4\u036c\t\u036c\4\u036d") - buf.write("\t\u036d\4\u036e\t\u036e\4\u036f\t\u036f\4\u0370\t\u0370") - buf.write("\4\u0371\t\u0371\4\u0372\t\u0372\4\u0373\t\u0373\4\u0374") - buf.write("\t\u0374\4\u0375\t\u0375\4\u0376\t\u0376\4\u0377\t\u0377") - buf.write("\4\u0378\t\u0378\4\u0379\t\u0379\4\u037a\t\u037a\4\u037b") - buf.write("\t\u037b\4\u037c\t\u037c\4\u037d\t\u037d\4\u037e\t\u037e") - buf.write("\4\u037f\t\u037f\4\u0380\t\u0380\4\u0381\t\u0381\4\u0382") - buf.write("\t\u0382\4\u0383\t\u0383\4\u0384\t\u0384\4\u0385\t\u0385") - buf.write("\4\u0386\t\u0386\4\u0387\t\u0387\4\u0388\t\u0388\4\u0389") - buf.write("\t\u0389\4\u038a\t\u038a\4\u038b\t\u038b\4\u038c\t\u038c") - buf.write("\4\u038d\t\u038d\4\u038e\t\u038e\4\u038f\t\u038f\4\u0390") - buf.write("\t\u0390\4\u0391\t\u0391\4\u0392\t\u0392\4\u0393\t\u0393") - buf.write("\4\u0394\t\u0394\4\u0395\t\u0395\4\u0396\t\u0396\4\u0397") - buf.write("\t\u0397\4\u0398\t\u0398\4\u0399\t\u0399\4\u039a\t\u039a") - buf.write("\4\u039b\t\u039b\4\u039c\t\u039c\4\u039d\t\u039d\4\u039e") - buf.write("\t\u039e\4\u039f\t\u039f\4\u03a0\t\u03a0\4\u03a1\t\u03a1") - buf.write("\4\u03a2\t\u03a2\4\u03a3\t\u03a3\4\u03a4\t\u03a4\4\u03a5") - buf.write("\t\u03a5\4\u03a6\t\u03a6\4\u03a7\t\u03a7\4\u03a8\t\u03a8") - buf.write("\4\u03a9\t\u03a9\4\u03aa\t\u03aa\4\u03ab\t\u03ab\4\u03ac") - buf.write("\t\u03ac\4\u03ad\t\u03ad\4\u03ae\t\u03ae\4\u03af\t\u03af") - buf.write("\4\u03b0\t\u03b0\4\u03b1\t\u03b1\4\u03b2\t\u03b2\4\u03b3") - buf.write("\t\u03b3\4\u03b4\t\u03b4\4\u03b5\t\u03b5\4\u03b6\t\u03b6") - buf.write("\4\u03b7\t\u03b7\4\u03b8\t\u03b8\4\u03b9\t\u03b9\4\u03ba") - buf.write("\t\u03ba\4\u03bb\t\u03bb\4\u03bc\t\u03bc\4\u03bd\t\u03bd") - buf.write("\4\u03be\t\u03be\4\u03bf\t\u03bf\4\u03c0\t\u03c0\4\u03c1") - buf.write("\t\u03c1\4\u03c2\t\u03c2\4\u03c3\t\u03c3\4\u03c4\t\u03c4") - buf.write("\4\u03c5\t\u03c5\4\u03c6\t\u03c6\4\u03c7\t\u03c7\4\u03c8") - buf.write("\t\u03c8\4\u03c9\t\u03c9\4\u03ca\t\u03ca\4\u03cb\t\u03cb") - buf.write("\4\u03cc\t\u03cc\4\u03cd\t\u03cd\4\u03ce\t\u03ce\4\u03cf") - buf.write("\t\u03cf\4\u03d0\t\u03d0\4\u03d1\t\u03d1\4\u03d2\t\u03d2") - buf.write("\4\u03d3\t\u03d3\4\u03d4\t\u03d4\4\u03d5\t\u03d5\4\u03d6") - buf.write("\t\u03d6\4\u03d7\t\u03d7\4\u03d8\t\u03d8\4\u03d9\t\u03d9") - buf.write("\4\u03da\t\u03da\4\u03db\t\u03db\4\u03dc\t\u03dc\4\u03dd") - buf.write("\t\u03dd\4\u03de\t\u03de\4\u03df\t\u03df\3\2\6\2\u07c1") - buf.write("\n\2\r\2\16\2\u07c2\3\2\3\2\3\3\3\3\3\3\3\3\3\3\6\3\u07cc") - buf.write("\n\3\r\3\16\3\u07cd\3\3\3\3\3\3\3\3\3\3\3\4\3\4\3\4\3") - buf.write("\4\7\4\u07d9\n\4\f\4\16\4\u07dc\13\4\3\4\3\4\3\4\3\4\3") - buf.write("\4\3\5\3\5\3\5\3\5\5\5\u07e7\n\5\3\5\7\5\u07ea\n\5\f\5") - buf.write("\16\5\u07ed\13\5\3\5\5\5\u07f0\n\5\3\5\3\5\5\5\u07f4\n") - buf.write("\5\3\5\3\5\3\5\3\5\5\5\u07fa\n\5\3\5\3\5\5\5\u07fe\n\5") - buf.write("\5\5\u0800\n\5\3\5\3\5\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6") - buf.write("\3\6\3\6\3\6\3\6\3\6\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3") - buf.write("\7\3\7\3\7\3\7\3\7\3\7\3\b\3\b\3\b\3\b\3\t\3\t\3\t\3\t") - buf.write("\3\n\3\n\3\n\3\n\3\n\3\n\3\13\3\13\3\13\3\13\3\13\3\13") - buf.write("\3\13\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\r\3\r\3\r\3\r") - buf.write("\3\16\3\16\3\16\3\17\3\17\3\17\3\17\3\20\3\20\3\20\3\20") - buf.write("\3\20\3\20\3\20\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21") - buf.write("\3\22\3\22\3\22\3\22\3\22\3\23\3\23\3\23\3\24\3\24\3\24") - buf.write("\3\24\3\24\3\25\3\25\3\25\3\25\3\25\3\25\3\25\3\25\3\26") - buf.write("\3\26\3\26\3\26\3\26\3\27\3\27\3\27\3\27\3\27\3\30\3\30") - buf.write("\3\30\3\30\3\30\3\30\3\30\3\31\3\31\3\31\3\31\3\31\3\31") - buf.write("\3\31\3\31\3\31\3\31\3\32\3\32\3\32\3\32\3\32\3\32\3\33") - buf.write("\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\34\3\34\3\34\3\34") - buf.write("\3\34\3\34\3\34\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35") - buf.write("\3\35\3\35\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3\36") - buf.write("\3\36\3\36\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37") - buf.write("\3 \3 \3 \3 \3 \3 \3 \3 \3!\3!\3!\3!\3!\3!\3!\3\"\3\"") - buf.write("\3\"\3\"\3\"\3\"\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3") - buf.write("#\3$\3$\3$\3$\3$\3$\3$\3%\3%\3%\3%\3%\3%\3%\3%\3%\3&\3") - buf.write("&\3&\3&\3&\3&\3&\3&\3&\3&\3\'\3\'\3\'\3\'\3\'\3\'\3\'") - buf.write("\3\'\3(\3(\3(\3(\3(\3(\3(\3(\3)\3)\3)\3)\3)\3)\3)\3)\3") - buf.write("*\3*\3*\3*\3*\3*\3*\3+\3+\3+\3+\3+\3,\3,\3,\3,\3,\3,\3") - buf.write(",\3,\3,\3-\3-\3-\3-\3-\3-\3-\3-\3-\3-\3-\3-\3-\3-\3.\3") - buf.write(".\3.\3.\3.\3.\3.\3.\3.\3/\3/\3/\3/\3/\3/\3/\3/\3/\3/\3") - buf.write("/\3/\3\60\3\60\3\60\3\60\3\60\3\61\3\61\3\61\3\61\3\61") - buf.write("\3\62\3\62\3\62\3\62\3\62\3\63\3\63\3\63\3\63\3\63\3\63") - buf.write("\3\63\3\64\3\64\3\64\3\64\3\64\3\64\3\64\3\64\3\64\3\65") - buf.write("\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\66\3\66\3\66\3\66") - buf.write("\3\66\3\66\3\66\3\67\3\67\3\67\3\67\3\67\38\38\38\38\3") - buf.write("8\38\38\38\39\39\39\39\39\39\3:\3:\3:\3:\3:\3:\3;\3;\3") - buf.write(";\3;\3<\3<\3<\3<\3<\3<\3=\3=\3=\3=\3=\3=\3=\3=\3>\3>\3") - buf.write(">\3>\3>\3?\3?\3?\3?\3?\3?\3?\3?\3?\3@\3@\3@\3@\3@\3@\3") - buf.write("@\3@\3@\3@\3A\3A\3A\3A\3A\3A\3B\3B\3B\3B\3B\3B\3C\3C\3") - buf.write("C\3C\3C\3C\3C\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3") - buf.write("D\3E\3E\3E\3F\3F\3F\3F\3F\3F\3F\3G\3G\3G\3H\3H\3H\3H\3") - buf.write("H\3H\3I\3I\3I\3I\3I\3I\3I\3J\3J\3J\3J\3J\3J\3K\3K\3K\3") - buf.write("K\3K\3K\3L\3L\3L\3L\3L\3L\3L\3M\3M\3M\3M\3M\3M\3M\3M\3") - buf.write("M\3N\3N\3N\3N\3N\3O\3O\3O\3P\3P\3P\3P\3P\3P\3P\3P\3Q\3") - buf.write("Q\3Q\3Q\3Q\3R\3R\3R\3R\3S\3S\3S\3S\3S\3T\3T\3T\3T\3T\3") - buf.write("U\3U\3U\3U\3U\3U\3U\3U\3V\3V\3V\3V\3V\3V\3W\3W\3W\3W\3") - buf.write("W\3X\3X\3X\3X\3X\3Y\3Y\3Y\3Y\3Y\3Y\3Z\3Z\3Z\3Z\3Z\3Z\3") - buf.write("Z\3[\3[\3[\3[\3[\3[\3\\\3\\\3\\\3\\\3\\\3]\3]\3]\3]\3") - buf.write("]\3^\3^\3^\3^\3^\3_\3_\3_\3_\3_\3_\3_\3_\3_\3_\3_\3_\3") - buf.write("_\3`\3`\3`\3`\3`\3`\3`\3`\3`\3`\3`\3`\3a\3a\3a\3a\3a\3") - buf.write("a\3a\3a\3a\3a\3a\3a\3a\3a\3a\3a\3a\3a\3a\3a\3a\3a\3a\3") - buf.write("a\3a\3a\3a\3a\3a\3a\3b\3b\3b\3b\3b\3b\3c\3c\3c\3c\3c\3") - buf.write("c\3c\3c\3c\3d\3d\3d\3d\3d\3d\3d\3d\3d\3e\3e\3e\3e\3e\3") - buf.write("e\3e\3e\3f\3f\3f\3f\3g\3g\3g\3g\3g\3g\3g\3g\3g\3g\3g\3") - buf.write("g\3g\3g\3g\3g\3g\3g\3g\3h\3h\3h\3h\3h\3i\3i\3i\3j\3j\3") - buf.write("j\3j\3j\3j\3j\3j\3j\3k\3k\3k\3k\3k\3k\3k\3l\3l\3l\3l\3") - buf.write("l\3l\3l\3l\3l\3l\3l\3m\3m\3m\3n\3n\3n\3n\3n\3n\3o\3o\3") - buf.write("o\3o\3p\3p\3p\3p\3p\3p\3q\3q\3q\3q\3q\3q\3q\3q\3r\3r\3") - buf.write("r\3r\3r\3r\3r\3r\3r\3r\3s\3s\3s\3s\3s\3s\3s\3s\3t\3t\3") - buf.write("t\3t\3t\3t\3t\3t\3t\3t\3u\3u\3u\3u\3u\3u\3v\3v\3v\3v\3") - buf.write("v\3v\3w\3w\3w\3w\3w\3x\3x\3x\3x\3x\3x\3y\3y\3y\3y\3y\3") - buf.write("y\3y\3y\3y\3y\3y\3z\3z\3z\3z\3z\3z\3z\3{\3{\3{\3{\3{\3") - buf.write("{\3{\3{\3|\3|\3|\3|\3|\3|\3|\3}\3}\3}\3}\3}\3}\3}\3~\3") - buf.write("~\3~\3~\3~\3~\3~\3~\3\177\3\177\3\177\3\177\3\177\3\177") - buf.write("\3\177\3\177\3\u0080\3\u0080\3\u0080\3\u0080\3\u0080\3") - buf.write("\u0080\3\u0080\3\u0080\3\u0080\3\u0081\3\u0081\3\u0081") - buf.write("\3\u0081\3\u0081\3\u0081\3\u0081\3\u0082\3\u0082\3\u0082") - buf.write("\3\u0082\3\u0082\3\u0082\3\u0082\3\u0083\3\u0083\3\u0083") - buf.write("\3\u0083\3\u0083\3\u0083\3\u0084\3\u0084\3\u0084\3\u0084") - buf.write("\3\u0084\3\u0084\3\u0085\3\u0085\3\u0085\3\u0085\3\u0085") - buf.write("\3\u0085\3\u0085\3\u0086\3\u0086\3\u0086\3\u0086\3\u0086") - buf.write("\3\u0086\3\u0086\3\u0086\3\u0087\3\u0087\3\u0087\3\u0087") - buf.write("\3\u0087\3\u0087\3\u0087\3\u0088\3\u0088\3\u0088\3\u0088") - buf.write("\3\u0089\3\u0089\3\u0089\3\u0089\3\u0089\3\u0089\3\u0089") - buf.write("\3\u0089\3\u0089\3\u0089\3\u008a\3\u008a\3\u008a\3\u008a") - buf.write("\3\u008a\3\u008b\3\u008b\3\u008b\3\u008b\3\u008b\3\u008b") - buf.write("\3\u008b\3\u008b\3\u008c\3\u008c\3\u008c\3\u008c\3\u008d") - buf.write("\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d") - buf.write("\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d\3\u008e\3\u008e") - buf.write("\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e") - buf.write("\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f") - buf.write("\3\u008f\3\u008f\3\u008f\3\u008f\3\u0090\3\u0090\3\u0090") - buf.write("\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090") - buf.write("\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0091\3\u0091") - buf.write("\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091") - buf.write("\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091") - buf.write("\3\u0091\3\u0091\3\u0091\3\u0091\3\u0092\3\u0092\3\u0092") - buf.write("\3\u0092\3\u0092\3\u0092\3\u0092\3\u0092\3\u0092\3\u0092") - buf.write("\3\u0092\3\u0092\3\u0092\3\u0092\3\u0092\3\u0092\3\u0092") - buf.write("\3\u0093\3\u0093\3\u0093\3\u0093\3\u0094\3\u0094\3\u0094") - buf.write("\3\u0094\3\u0094\3\u0094\3\u0094\3\u0094\3\u0094\3\u0095") - buf.write("\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095") - buf.write("\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0096") - buf.write("\3\u0096\3\u0096\3\u0096\3\u0096\3\u0096\3\u0097\3\u0097") - buf.write("\3\u0097\3\u0097\3\u0097\3\u0097\3\u0097\3\u0097\3\u0097") - buf.write("\3\u0097\3\u0097\3\u0098\3\u0098\3\u0098\3\u0098\3\u0098") - buf.write("\3\u0099\3\u0099\3\u0099\3\u009a\3\u009a\3\u009a\3\u009a") - buf.write("\3\u009a\3\u009a\3\u009a\3\u009a\3\u009a\3\u009b\3\u009b") - buf.write("\3\u009b\3\u009b\3\u009b\3\u009b\3\u009b\3\u009b\3\u009c") - buf.write("\3\u009c\3\u009c\3\u009c\3\u009c\3\u009d\3\u009d\3\u009d") - buf.write("\3\u009d\3\u009d\3\u009e\3\u009e\3\u009e\3\u009e\3\u009e") - buf.write("\3\u009e\3\u009f\3\u009f\3\u009f\3\u009f\3\u009f\3\u009f") - buf.write("\3\u009f\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0") - buf.write("\3\u00a0\3\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a1") - buf.write("\3\u00a1\3\u00a1\3\u00a1\3\u00a2\3\u00a2\3\u00a2\3\u00a2") - buf.write("\3\u00a2\3\u00a2\3\u00a2\3\u00a3\3\u00a3\3\u00a3\3\u00a3") - buf.write("\3\u00a3\3\u00a3\3\u00a4\3\u00a4\3\u00a4\3\u00a4\3\u00a5") - buf.write("\3\u00a5\3\u00a5\3\u00a5\3\u00a5\3\u00a5\3\u00a6\3\u00a6") - buf.write("\3\u00a6\3\u00a6\3\u00a6\3\u00a6\3\u00a6\3\u00a7\3\u00a7") - buf.write("\3\u00a7\3\u00a7\3\u00a7\3\u00a8\3\u00a8\3\u00a8\3\u00a8") - buf.write("\3\u00a8\3\u00a8\3\u00a9\3\u00a9\3\u00a9\3\u00a9\3\u00a9") - buf.write("\3\u00a9\3\u00aa\3\u00aa\3\u00aa\3\u00aa\3\u00aa\3\u00ab") - buf.write("\3\u00ab\3\u00ab\3\u00ab\3\u00ab\3\u00ab\3\u00ac\3\u00ac") - buf.write("\3\u00ac\3\u00ac\3\u00ad\3\u00ad\3\u00ad\3\u00ad\3\u00ad") - buf.write("\3\u00ad\3\u00ad\3\u00ad\3\u00ad\3\u00ae\3\u00ae\3\u00ae") - buf.write("\3\u00ae\3\u00ae\3\u00ae\3\u00ae\3\u00ae\3\u00af\3\u00af") - buf.write("\3\u00af\3\u00af\3\u00af\3\u00af\3\u00af\3\u00af\3\u00af") - buf.write("\3\u00b0\3\u00b0\3\u00b0\3\u00b0\3\u00b0\3\u00b0\3\u00b0") - buf.write("\3\u00b0\3\u00b0\3\u00b0\3\u00b1\3\u00b1\3\u00b1\3\u00b1") - buf.write("\3\u00b2\3\u00b2\3\u00b2\3\u00b2\3\u00b2\3\u00b2\3\u00b2") - buf.write("\3\u00b2\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3") - buf.write("\3\u00b3\3\u00b4\3\u00b4\3\u00b4\3\u00b4\3\u00b4\3\u00b5") - buf.write("\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b6") - buf.write("\3\u00b6\3\u00b6\3\u00b6\3\u00b6\3\u00b6\3\u00b7\3\u00b7") - buf.write("\3\u00b7\3\u00b7\3\u00b7\3\u00b7\3\u00b7\3\u00b7\3\u00b8") - buf.write("\3\u00b8\3\u00b8\3\u00b8\3\u00b8\3\u00b8\3\u00b8\3\u00b8") - buf.write("\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00ba\3\u00ba") - buf.write("\3\u00ba\3\u00ba\3\u00ba\3\u00bb\3\u00bb\3\u00bb\3\u00bb") - buf.write("\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bc") - buf.write("\3\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc") - buf.write("\3\u00bc\3\u00bd\3\u00bd\3\u00bd\3\u00bd\3\u00bd\3\u00be") - buf.write("\3\u00be\3\u00be\3\u00be\3\u00be\3\u00bf\3\u00bf\3\u00bf") - buf.write("\3\u00bf\3\u00bf\3\u00bf\3\u00bf\3\u00bf\3\u00c0\3\u00c0") - buf.write("\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c1\3\u00c1") - buf.write("\3\u00c1\3\u00c1\3\u00c1\3\u00c1\3\u00c1\3\u00c1\3\u00c1") - buf.write("\3\u00c1\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2") - buf.write("\3\u00c2\3\u00c2\3\u00c2\3\u00c3\3\u00c3\3\u00c3\3\u00c3") - buf.write("\3\u00c3\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4") - buf.write("\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c5\3\u00c5") - buf.write("\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5") - buf.write("\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6") - buf.write("\3\u00c6\3\u00c6\3\u00c7\3\u00c7\3\u00c7\3\u00c7\3\u00c7") - buf.write("\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8") - buf.write("\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c9\3\u00c9\3\u00c9") - buf.write("\3\u00c9\3\u00c9\3\u00c9\3\u00c9\3\u00c9\3\u00c9\3\u00ca") - buf.write("\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00cb\3\u00cb\3\u00cb") - buf.write("\3\u00cb\3\u00cb\3\u00cb\3\u00cb\3\u00cc\3\u00cc\3\u00cc") - buf.write("\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc") - buf.write("\3\u00cc\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd") - buf.write("\3\u00cd\3\u00cd\3\u00cd\3\u00ce\3\u00ce\3\u00ce\3\u00ce") - buf.write("\3\u00ce\3\u00ce\3\u00ce\3\u00ce\3\u00ce\3\u00ce\3\u00ce") - buf.write("\3\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00cf") - buf.write("\3\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00d0\3\u00d0\3\u00d0") - buf.write("\3\u00d0\3\u00d0\3\u00d0\3\u00d0\3\u00d0\3\u00d0\3\u00d0") - buf.write("\3\u00d0\3\u00d0\3\u00d1\3\u00d1\3\u00d1\3\u00d1\3\u00d1") - buf.write("\3\u00d1\3\u00d1\3\u00d1\3\u00d1\3\u00d1\3\u00d1\3\u00d1") - buf.write("\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2") - buf.write("\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2") - buf.write("\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3") - buf.write("\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3") - buf.write("\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d4\3\u00d4") - buf.write("\3\u00d4\3\u00d4\3\u00d4\3\u00d4\3\u00d4\3\u00d4\3\u00d4") - buf.write("\3\u00d4\3\u00d4\3\u00d4\3\u00d4\3\u00d4\3\u00d4\3\u00d4") - buf.write("\3\u00d4\3\u00d4\3\u00d4\3\u00d5\3\u00d5\3\u00d5\3\u00d5") - buf.write("\3\u00d5\3\u00d5\3\u00d5\3\u00d5\3\u00d5\3\u00d5\3\u00d5") - buf.write("\3\u00d5\3\u00d5\3\u00d5\3\u00d5\3\u00d5\3\u00d5\3\u00d6") - buf.write("\3\u00d6\3\u00d6\3\u00d6\3\u00d6\3\u00d6\3\u00d6\3\u00d6") - buf.write("\3\u00d6\3\u00d6\3\u00d6\3\u00d6\3\u00d6\3\u00d6\3\u00d6") - buf.write("\3\u00d6\3\u00d7\3\u00d7\3\u00d7\3\u00d7\3\u00d8\3\u00d8") - buf.write("\3\u00d8\3\u00d8\3\u00d8\3\u00d8\3\u00d8\3\u00d8\3\u00d9") - buf.write("\3\u00d9\3\u00d9\3\u00d9\3\u00d9\3\u00d9\3\u00d9\3\u00da") - buf.write("\3\u00da\3\u00da\3\u00da\3\u00da\3\u00da\3\u00da\3\u00da") - buf.write("\3\u00db\3\u00db\3\u00db\3\u00db\3\u00db\3\u00db\3\u00dc") - buf.write("\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc") - buf.write("\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dd\3\u00dd") - buf.write("\3\u00dd\3\u00dd\3\u00de\3\u00de\3\u00de\3\u00de\3\u00df") - buf.write("\3\u00df\3\u00df\3\u00df\3\u00e0\3\u00e0\3\u00e0\3\u00e0") - buf.write("\3\u00e0\3\u00e0\3\u00e0\3\u00e1\3\u00e1\3\u00e1\3\u00e1") - buf.write("\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1") - buf.write("\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2") - buf.write("\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e3\3\u00e3") - buf.write("\3\u00e3\3\u00e3\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4") - buf.write("\3\u00e4\3\u00e4\3\u00e4\3\u00e5\3\u00e5\3\u00e5\3\u00e5") - buf.write("\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e6\3\u00e6") - buf.write("\3\u00e6\3\u00e6\3\u00e6\3\u00e6\3\u00e6\3\u00e6\3\u00e6") - buf.write("\3\u00e7\3\u00e7\3\u00e7\3\u00e7\3\u00e7\3\u00e7\3\u00e7") - buf.write("\3\u00e8\3\u00e8\3\u00e8\3\u00e8\3\u00e8\3\u00e8\3\u00e8") - buf.write("\3\u00e8\3\u00e8\3\u00e8\3\u00e8\3\u00e8\3\u00e8\3\u00e9") - buf.write("\3\u00e9\3\u00e9\3\u00e9\3\u00e9\3\u00e9\3\u00e9\3\u00e9") - buf.write("\3\u00e9\3\u00e9\3\u00e9\3\u00e9\3\u00e9\3\u00ea\3\u00ea") - buf.write("\3\u00ea\3\u00ea\3\u00ea\3\u00ea\3\u00ea\3\u00ea\3\u00ea") - buf.write("\3\u00ea\3\u00ea\3\u00ea\3\u00ea\3\u00ea\3\u00ea\3\u00ea") - buf.write("\3\u00ea\3\u00ea\3\u00eb\3\u00eb\3\u00eb\3\u00eb\3\u00eb") - buf.write("\3\u00eb\3\u00eb\3\u00eb\3\u00eb\3\u00eb\3\u00ec\3\u00ec") - buf.write("\3\u00ec\3\u00ec\3\u00ec\3\u00ec\3\u00ec\3\u00ec\3\u00ed") - buf.write("\3\u00ed\3\u00ed\3\u00ed\3\u00ed\3\u00ed\3\u00ed\3\u00ed") - buf.write("\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee") - buf.write("\3\u00ee\3\u00ee\3\u00ef\3\u00ef\3\u00ef\3\u00ef\3\u00ef") - buf.write("\3\u00ef\3\u00ef\3\u00ef\3\u00ef\3\u00f0\3\u00f0\3\u00f0") - buf.write("\3\u00f0\3\u00f0\3\u00f0\3\u00f0\3\u00f0\3\u00f1\3\u00f1") - buf.write("\3\u00f1\3\u00f1\3\u00f1\3\u00f1\3\u00f1\3\u00f1\3\u00f1") - buf.write("\3\u00f1\3\u00f1\3\u00f1\3\u00f1\3\u00f1\3\u00f1\3\u00f2") - buf.write("\3\u00f2\3\u00f2\3\u00f2\3\u00f3\3\u00f3\3\u00f3\3\u00f3") - buf.write("\3\u00f3\3\u00f3\3\u00f3\3\u00f3\3\u00f3\3\u00f4\3\u00f4") - buf.write("\3\u00f4\3\u00f4\3\u00f4\3\u00f4\3\u00f4\3\u00f5\3\u00f5") - buf.write("\3\u00f5\3\u00f5\3\u00f5\3\u00f5\3\u00f5\3\u00f5\3\u00f5") - buf.write("\3\u00f5\3\u00f6\3\u00f6\3\u00f6\3\u00f6\3\u00f6\3\u00f6") - buf.write("\3\u00f6\3\u00f6\3\u00f7\3\u00f7\3\u00f7\3\u00f7\3\u00f7") - buf.write("\3\u00f8\3\u00f8\3\u00f8\3\u00f8\3\u00f8\3\u00f8\3\u00f8") - buf.write("\3\u00f8\3\u00f8\3\u00f9\3\u00f9\3\u00f9\3\u00f9\3\u00f9") - buf.write("\3\u00f9\3\u00f9\3\u00f9\3\u00f9\3\u00fa\3\u00fa\3\u00fa") - buf.write("\3\u00fa\3\u00fa\3\u00fa\3\u00fa\3\u00fa\3\u00fa\3\u00fa") - buf.write("\3\u00fa\3\u00fa\3\u00fa\3\u00fa\3\u00fb\3\u00fb\3\u00fb") - buf.write("\3\u00fb\3\u00fb\3\u00fb\3\u00fb\3\u00fb\3\u00fc\3\u00fc") - buf.write("\3\u00fc\3\u00fc\3\u00fc\3\u00fc\3\u00fc\3\u00fd\3\u00fd") - buf.write("\3\u00fd\3\u00fd\3\u00fd\3\u00fd\3\u00fe\3\u00fe\3\u00fe") - buf.write("\3\u00fe\3\u00fe\3\u00fe\3\u00fe\3\u00fe\3\u00fe\3\u00fe") - buf.write("\3\u00ff\3\u00ff\3\u00ff\3\u00ff\3\u00ff\3\u00ff\3\u00ff") - buf.write("\3\u00ff\3\u00ff\3\u00ff\3\u0100\3\u0100\3\u0100\3\u0100") - buf.write("\3\u0101\3\u0101\3\u0101\3\u0102\3\u0102\3\u0102\3\u0102") - buf.write("\3\u0102\3\u0102\3\u0102\3\u0102\3\u0103\3\u0103\3\u0103") - buf.write("\3\u0103\3\u0103\3\u0103\3\u0103\3\u0103\3\u0103\3\u0103") - buf.write("\3\u0103\3\u0104\3\u0104\3\u0104\3\u0104\3\u0104\3\u0104") - buf.write("\3\u0104\3\u0104\3\u0104\3\u0104\3\u0104\3\u0104\3\u0104") - buf.write("\3\u0104\3\u0104\3\u0104\3\u0105\3\u0105\3\u0105\3\u0105") - buf.write("\3\u0105\3\u0105\3\u0105\3\u0105\3\u0105\3\u0105\3\u0105") - buf.write("\3\u0105\3\u0105\3\u0105\3\u0105\3\u0106\3\u0106\3\u0106") - buf.write("\3\u0106\3\u0106\3\u0106\3\u0106\3\u0106\3\u0106\3\u0106") - buf.write("\3\u0106\3\u0106\3\u0106\3\u0106\3\u0106\3\u0107\3\u0107") - buf.write("\3\u0107\3\u0107\3\u0107\3\u0107\3\u0108\3\u0108\3\u0108") - buf.write("\3\u0108\3\u0108\3\u0108\3\u0108\3\u0109\3\u0109\3\u0109") - buf.write("\3\u0109\3\u010a\3\u010a\3\u010a\3\u010a\3\u010a\3\u010a") - buf.write("\3\u010b\3\u010b\3\u010b\3\u010b\3\u010b\3\u010c\3\u010c") - buf.write("\3\u010c\3\u010c\3\u010c\3\u010c\3\u010c\3\u010c\3\u010d") - buf.write("\3\u010d\3\u010d\3\u010d\3\u010d\3\u010d\3\u010e\3\u010e") - buf.write("\3\u010e\3\u010e\3\u010e\3\u010e\3\u010f\3\u010f\3\u010f") - buf.write("\3\u010f\3\u010f\3\u010f\3\u010f\3\u010f\3\u010f\3\u0110") - buf.write("\3\u0110\3\u0110\3\u0110\3\u0110\3\u0110\3\u0111\3\u0111") - buf.write("\3\u0111\3\u0111\3\u0111\3\u0111\3\u0111\3\u0111\3\u0112") - buf.write("\3\u0112\3\u0112\3\u0112\3\u0112\3\u0112\3\u0112\3\u0112") - buf.write("\3\u0113\3\u0113\3\u0113\3\u0113\3\u0113\3\u0113\3\u0113") - buf.write("\3\u0113\3\u0113\3\u0114\3\u0114\3\u0114\3\u0114\3\u0114") - buf.write("\3\u0114\3\u0114\3\u0115\3\u0115\3\u0115\3\u0115\3\u0115") - buf.write("\3\u0115\3\u0115\3\u0116\3\u0116\3\u0116\3\u0116\3\u0116") - buf.write("\3\u0116\3\u0117\3\u0117\3\u0117\3\u0117\3\u0117\3\u0117") - buf.write("\3\u0117\3\u0117\3\u0117\3\u0118\3\u0118\3\u0118\3\u0118") - buf.write("\3\u0118\3\u0119\3\u0119\3\u0119\3\u0119\3\u0119\3\u0119") - buf.write("\3\u0119\3\u0119\3\u011a\3\u011a\3\u011a\3\u011a\3\u011a") - buf.write("\3\u011a\3\u011a\3\u011a\3\u011a\3\u011a\3\u011a\3\u011a") - buf.write("\3\u011a\3\u011a\3\u011b\3\u011b\3\u011b\3\u011b\3\u011b") - buf.write("\3\u011b\3\u011b\3\u011b\3\u011c\3\u011c\3\u011c\3\u011c") - buf.write("\3\u011c\3\u011c\3\u011c\3\u011d\3\u011d\3\u011d\3\u011d") - buf.write("\3\u011d\3\u011d\3\u011d\3\u011d\3\u011e\3\u011e\3\u011e") - buf.write("\3\u011e\3\u011e\3\u011e\3\u011e\3\u011e\3\u011e\3\u011e") - buf.write("\3\u011e\3\u011f\3\u011f\3\u011f\3\u011f\3\u011f\3\u011f") - buf.write("\3\u011f\3\u011f\3\u011f\3\u011f\3\u011f\3\u0120\3\u0120") - buf.write("\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120") - buf.write("\3\u0120\3\u0120\3\u0120\3\u0121\3\u0121\3\u0121\3\u0121") - buf.write("\3\u0121\3\u0121\3\u0121\3\u0121\3\u0121\3\u0121\3\u0121") - buf.write("\3\u0122\3\u0122\3\u0122\3\u0122\3\u0122\3\u0122\3\u0122") - buf.write("\3\u0122\3\u0122\3\u0122\3\u0122\3\u0123\3\u0123\3\u0123") - buf.write("\3\u0123\3\u0123\3\u0123\3\u0123\3\u0123\3\u0123\3\u0123") - buf.write("\3\u0123\3\u0124\3\u0124\3\u0124\3\u0124\3\u0124\3\u0124") - buf.write("\3\u0124\3\u0124\3\u0124\3\u0125\3\u0125\3\u0125\3\u0125") - buf.write("\3\u0125\3\u0125\3\u0125\3\u0125\3\u0126\3\u0126\3\u0126") - buf.write("\3\u0126\3\u0126\3\u0126\3\u0126\3\u0126\3\u0126\3\u0126") - buf.write("\3\u0126\3\u0126\3\u0126\3\u0127\3\u0127\3\u0127\3\u0127") - buf.write("\3\u0127\3\u0128\3\u0128\3\u0128\3\u0128\3\u0129\3\u0129") - buf.write("\3\u0129\3\u0129\3\u0129\3\u012a\3\u012a\3\u012a\3\u012a") - buf.write("\3\u012a\3\u012a\3\u012a\3\u012a\3\u012a\3\u012b\3\u012b") - buf.write("\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b") - buf.write("\3\u012b\3\u012b\3\u012c\3\u012c\3\u012c\3\u012c\3\u012c") - buf.write("\3\u012c\3\u012c\3\u012c\3\u012c\3\u012c\3\u012c\3\u012c") - buf.write("\3\u012c\3\u012d\3\u012d\3\u012d\3\u012d\3\u012d\3\u012d") - buf.write("\3\u012d\3\u012d\3\u012e\3\u012e\3\u012e\3\u012e\3\u012e") - buf.write("\3\u012e\3\u012e\3\u012e\3\u012e\3\u012e\3\u012e\3\u012e") - buf.write("\3\u012e\3\u012e\3\u012e\3\u012e\3\u012f\3\u012f\3\u012f") - buf.write("\3\u012f\3\u012f\3\u012f\3\u012f\3\u012f\3\u012f\3\u012f") - buf.write("\3\u012f\3\u012f\3\u012f\3\u0130\3\u0130\3\u0130\3\u0130") - buf.write("\3\u0130\3\u0130\3\u0130\3\u0130\3\u0130\3\u0130\3\u0131") - buf.write("\3\u0131\3\u0131\3\u0131\3\u0131\3\u0131\3\u0131\3\u0131") - buf.write("\3\u0132\3\u0132\3\u0132\3\u0132\3\u0132\3\u0132\3\u0132") - buf.write("\3\u0132\3\u0133\3\u0133\3\u0133\3\u0133\3\u0133\3\u0134") - buf.write("\3\u0134\3\u0134\3\u0135\3\u0135\3\u0135\3\u0135\3\u0135") - buf.write("\3\u0135\3\u0135\3\u0135\3\u0135\3\u0136\3\u0136\3\u0136") - buf.write("\3\u0136\3\u0136\3\u0136\3\u0136\3\u0136\3\u0136\3\u0136") - buf.write("\3\u0137\3\u0137\3\u0137\3\u0137\3\u0137\3\u0137\3\u0137") - buf.write("\3\u0137\3\u0138\3\u0138\3\u0138\3\u0138\3\u0138\3\u0138") - buf.write("\3\u0138\3\u0139\3\u0139\3\u0139\3\u0139\3\u0139\3\u0139") - buf.write("\3\u0139\3\u0139\3\u0139\3\u0139\3\u0139\3\u013a\3\u013a") - buf.write("\3\u013a\3\u013a\3\u013b\3\u013b\3\u013b\3\u013b\3\u013b") - buf.write("\3\u013c\3\u013c\3\u013c\3\u013c\3\u013c\3\u013c\3\u013c") - buf.write("\3\u013d\3\u013d\3\u013d\3\u013d\3\u013d\3\u013d\3\u013d") - buf.write("\3\u013d\3\u013e\3\u013e\3\u013e\3\u013e\3\u013e\3\u013e") - buf.write("\3\u013f\3\u013f\3\u013f\3\u013f\3\u013f\3\u013f\3\u013f") - buf.write("\3\u0140\3\u0140\3\u0140\3\u0140\3\u0140\3\u0140\3\u0140") - buf.write("\3\u0141\3\u0141\3\u0141\3\u0141\3\u0141\3\u0142\3\u0142") - buf.write("\3\u0142\3\u0142\3\u0142\3\u0142\3\u0143\3\u0143\3\u0143") - buf.write("\3\u0143\3\u0143\3\u0143\3\u0143\3\u0144\3\u0144\3\u0144") - buf.write("\3\u0144\3\u0144\3\u0144\3\u0145\3\u0145\3\u0145\3\u0145") - buf.write("\3\u0145\3\u0145\3\u0145\3\u0145\3\u0145\3\u0146\3\u0146") - buf.write("\3\u0146\3\u0146\3\u0146\3\u0146\3\u0146\3\u0146\3\u0146") - buf.write("\3\u0146\3\u0147\3\u0147\3\u0147\3\u0147\3\u0147\3\u0147") - buf.write("\3\u0147\3\u0148\3\u0148\3\u0148\3\u0148\3\u0148\3\u0148") - buf.write("\3\u0148\3\u0149\3\u0149\3\u0149\3\u0149\3\u0149\3\u0149") - buf.write("\3\u0149\3\u0149\3\u0149\3\u014a\3\u014a\3\u014a\3\u014a") - buf.write("\3\u014a\3\u014a\3\u014a\3\u014a\3\u014a\3\u014a\3\u014a") - buf.write("\3\u014a\3\u014b\3\u014b\3\u014b\3\u014b\3\u014b\3\u014c") - buf.write("\3\u014c\3\u014c\3\u014c\3\u014c\3\u014c\3\u014c\3\u014d") - buf.write("\3\u014d\3\u014d\3\u014d\3\u014d\3\u014d\3\u014d\3\u014e") - buf.write("\3\u014e\3\u014e\3\u014e\3\u014e\3\u014e\3\u014e\3\u014e") - buf.write("\3\u014e\3\u014e\3\u014e\3\u014e\3\u014e\3\u014e\3\u014e") - buf.write("\3\u014e\3\u014f\3\u014f\3\u014f\3\u014f\3\u014f\3\u014f") - buf.write("\3\u014f\3\u0150\3\u0150\3\u0150\3\u0150\3\u0150\3\u0150") - buf.write("\3\u0151\3\u0151\3\u0151\3\u0151\3\u0151\3\u0151\3\u0152") - buf.write("\3\u0152\3\u0152\3\u0152\3\u0152\3\u0152\3\u0153\3\u0153") - buf.write("\3\u0153\3\u0153\3\u0153\3\u0153\3\u0153\3\u0153\3\u0154") - buf.write("\3\u0154\3\u0154\3\u0154\3\u0154\3\u0154\3\u0155\3\u0155") - buf.write("\3\u0155\3\u0155\3\u0155\3\u0156\3\u0156\3\u0156\3\u0156") - buf.write("\3\u0156\3\u0156\3\u0156\3\u0156\3\u0156\3\u0157\3\u0157") - buf.write("\3\u0157\3\u0157\3\u0157\3\u0157\3\u0157\3\u0157\3\u0158") - buf.write("\3\u0158\3\u0158\3\u0158\3\u0158\3\u0158\3\u0158\3\u0159") - buf.write("\3\u0159\3\u0159\3\u0159\3\u0159\3\u0159\3\u0159\3\u015a") - buf.write("\3\u015a\3\u015a\3\u015a\3\u015a\3\u015a\3\u015a\3\u015a") - buf.write("\3\u015a\3\u015a\3\u015a\3\u015a\3\u015a\3\u015a\3\u015a") - buf.write("\3\u015a\3\u015a\3\u015a\3\u015b\3\u015b\3\u015b\3\u015b") - buf.write("\3\u015b\3\u015b\3\u015b\3\u015b\3\u015c\3\u015c\3\u015c") - buf.write("\3\u015c\3\u015c\3\u015d\3\u015d\3\u015d\3\u015d\3\u015d") - buf.write("\3\u015e\3\u015e\3\u015e\3\u015e\3\u015e\3\u015f\3\u015f") - buf.write("\3\u015f\3\u015f\3\u015f\3\u015f\3\u0160\3\u0160\3\u0160") - buf.write("\3\u0160\3\u0160\3\u0160\3\u0160\3\u0160\3\u0160\3\u0160") - buf.write("\3\u0160\3\u0161\3\u0161\3\u0161\3\u0161\3\u0161\3\u0161") - buf.write("\3\u0161\3\u0161\3\u0161\3\u0161\3\u0161\3\u0161\3\u0161") - buf.write("\3\u0161\3\u0161\3\u0161\3\u0161\3\u0161\3\u0162\3\u0162") - buf.write("\3\u0162\3\u0162\3\u0162\3\u0162\3\u0162\3\u0163\3\u0163") - buf.write("\3\u0163\3\u0163\3\u0163\3\u0163\3\u0163\3\u0163\3\u0164") - buf.write("\3\u0164\3\u0164\3\u0164\3\u0164\3\u0164\3\u0164\3\u0164") - buf.write("\3\u0164\3\u0164\3\u0164\3\u0164\3\u0164\3\u0165\3\u0165") - buf.write("\3\u0165\3\u0165\3\u0165\3\u0165\3\u0165\3\u0165\3\u0166") - buf.write("\3\u0166\3\u0166\3\u0166\3\u0166\3\u0166\3\u0166\3\u0166") - buf.write("\3\u0166\3\u0166\3\u0166\3\u0166\3\u0166\3\u0166\3\u0167") - buf.write("\3\u0167\3\u0167\3\u0167\3\u0167\3\u0167\3\u0167\3\u0167") - buf.write("\3\u0168\3\u0168\3\u0168\3\u0168\3\u0168\3\u0168\3\u0168") - buf.write("\3\u0168\3\u0168\3\u0169\3\u0169\3\u0169\3\u0169\3\u0169") - buf.write("\3\u0169\3\u0169\3\u0169\3\u016a\3\u016a\3\u016a\3\u016b") - buf.write("\3\u016b\3\u016b\3\u016b\3\u016b\3\u016b\3\u016b\3\u016b") - buf.write("\3\u016b\3\u016b\3\u016c\3\u016c\3\u016c\3\u016c\3\u016d") - buf.write("\3\u016d\3\u016d\3\u016d\3\u016d\3\u016d\3\u016d\3\u016d") - buf.write("\3\u016d\3\u016d\3\u016e\3\u016e\3\u016e\3\u016e\3\u016e") - buf.write("\3\u016e\3\u016e\3\u016f\3\u016f\3\u016f\3\u016f\3\u016f") - buf.write("\3\u0170\3\u0170\3\u0170\3\u0170\3\u0170\3\u0170\3\u0170") - buf.write("\3\u0170\3\u0170\3\u0170\3\u0170\3\u0170\3\u0170\3\u0170") - buf.write("\3\u0170\3\u0171\3\u0171\3\u0171\3\u0171\3\u0171\3\u0171") - buf.write("\3\u0171\3\u0171\3\u0171\3\u0172\3\u0172\3\u0172\3\u0172") - buf.write("\3\u0172\3\u0173\3\u0173\3\u0173\3\u0173\3\u0173\3\u0173") - buf.write("\3\u0173\3\u0174\3\u0174\3\u0174\3\u0174\3\u0174\3\u0175") - buf.write("\3\u0175\3\u0175\3\u0175\3\u0175\3\u0175\3\u0176\3\u0176") - buf.write("\3\u0176\3\u0176\3\u0176\3\u0177\3\u0177\3\u0177\3\u0177") - buf.write("\3\u0177\3\u0177\3\u0178\3\u0178\3\u0178\3\u0178\3\u0178") - buf.write("\3\u0178\3\u0178\3\u0178\3\u0179\3\u0179\3\u0179\3\u0179") - buf.write("\3\u0179\3\u017a\3\u017a\3\u017a\3\u017a\3\u017a\3\u017a") - buf.write("\3\u017a\3\u017b\3\u017b\3\u017b\3\u017b\3\u017b\3\u017b") - buf.write("\3\u017b\3\u017b\3\u017b\3\u017b\3\u017b\3\u017b\3\u017b") - buf.write("\3\u017b\3\u017b\3\u017b\3\u017b\3\u017b\3\u017b\3\u017b") - buf.write("\3\u017b\3\u017c\3\u017c\3\u017c\3\u017c\3\u017c\3\u017c") - buf.write("\3\u017c\3\u017c\3\u017c\3\u017c\3\u017c\3\u017c\3\u017c") - buf.write("\3\u017c\3\u017c\3\u017c\3\u017c\3\u017c\3\u017c\3\u017c") - buf.write("\3\u017c\3\u017d\3\u017d\3\u017d\3\u017d\3\u017d\3\u017d") - buf.write("\3\u017d\3\u017d\3\u017d\3\u017d\3\u017d\3\u017d\3\u017d") - buf.write("\3\u017e\3\u017e\3\u017e\3\u017e\3\u017e\3\u017e\3\u017e") - buf.write("\3\u017e\3\u017e\3\u017e\3\u017e\3\u017e\3\u017e\3\u017e") - buf.write("\3\u017e\3\u017e\3\u017e\3\u017e\3\u017e\3\u017e\3\u017e") - buf.write("\3\u017e\3\u017e\3\u017e\3\u017f\3\u017f\3\u017f\3\u017f") - buf.write("\3\u017f\3\u017f\3\u017f\3\u017f\3\u017f\3\u017f\3\u017f") - buf.write("\3\u017f\3\u0180\3\u0180\3\u0180\3\u0180\3\u0180\3\u0180") - buf.write("\3\u0180\3\u0180\3\u0180\3\u0180\3\u0180\3\u0180\3\u0180") - buf.write("\3\u0180\3\u0180\3\u0180\3\u0181\3\u0181\3\u0181\3\u0181") - buf.write("\3\u0181\3\u0181\3\u0181\3\u0181\3\u0181\3\u0181\3\u0181") - buf.write("\3\u0181\3\u0181\3\u0181\3\u0181\3\u0182\3\u0182\3\u0182") - buf.write("\3\u0182\3\u0182\3\u0182\3\u0182\3\u0182\3\u0182\3\u0182") - buf.write("\3\u0182\3\u0182\3\u0182\3\u0182\3\u0182\3\u0182\3\u0183") - buf.write("\3\u0183\3\u0183\3\u0183\3\u0183\3\u0183\3\u0183\3\u0183") - buf.write("\3\u0183\3\u0183\3\u0183\3\u0183\3\u0184\3\u0184\3\u0184") - buf.write("\3\u0184\3\u0184\3\u0184\3\u0184\3\u0184\3\u0184\3\u0184") - buf.write("\3\u0184\3\u0184\3\u0184\3\u0184\3\u0184\3\u0184\3\u0184") - buf.write("\3\u0184\3\u0184\3\u0185\3\u0185\3\u0185\3\u0185\3\u0185") - buf.write("\3\u0185\3\u0185\3\u0185\3\u0185\3\u0185\3\u0185\3\u0186") - buf.write("\3\u0186\3\u0186\3\u0186\3\u0186\3\u0186\3\u0186\3\u0186") - buf.write("\3\u0186\3\u0186\3\u0186\3\u0186\3\u0186\3\u0186\3\u0187") - buf.write("\3\u0187\3\u0187\3\u0187\3\u0187\3\u0187\3\u0187\3\u0187") - buf.write("\3\u0187\3\u0187\3\u0187\3\u0187\3\u0187\3\u0187\3\u0187") - buf.write("\3\u0187\3\u0187\3\u0187\3\u0188\3\u0188\3\u0188\3\u0188") - buf.write("\3\u0188\3\u0188\3\u0188\3\u0188\3\u0188\3\u0188\3\u0188") - buf.write("\3\u0188\3\u0188\3\u0188\3\u0188\3\u0188\3\u0189\3\u0189") - buf.write("\3\u0189\3\u0189\3\u0189\3\u0189\3\u0189\3\u0189\3\u0189") - buf.write("\3\u0189\3\u0189\3\u0189\3\u0189\3\u0189\3\u0189\3\u0189") - buf.write("\3\u0189\3\u0189\3\u018a\3\u018a\3\u018a\3\u018a\3\u018a") - buf.write("\3\u018a\3\u018a\3\u018a\3\u018a\3\u018a\3\u018a\3\u018a") - buf.write("\3\u018a\3\u018a\3\u018a\3\u018b\3\u018b\3\u018b\3\u018b") - buf.write("\3\u018b\3\u018b\3\u018b\3\u018b\3\u018b\3\u018b\3\u018b") - buf.write("\3\u018b\3\u018b\3\u018b\3\u018b\3\u018b\3\u018b\3\u018b") - buf.write("\3\u018b\3\u018c\3\u018c\3\u018c\3\u018c\3\u018c\3\u018c") - buf.write("\3\u018c\3\u018c\3\u018c\3\u018c\3\u018c\3\u018c\3\u018c") - buf.write("\3\u018c\3\u018c\3\u018d\3\u018d\3\u018d\3\u018d\3\u018d") - buf.write("\3\u018d\3\u018d\3\u018d\3\u018d\3\u018d\3\u018d\3\u018d") - buf.write("\3\u018d\3\u018d\3\u018d\3\u018d\3\u018d\3\u018d\3\u018d") - buf.write("\3\u018e\3\u018e\3\u018e\3\u018e\3\u018e\3\u018e\3\u018e") - buf.write("\3\u018e\3\u018e\3\u018e\3\u018e\3\u018e\3\u018f\3\u018f") - buf.write("\3\u018f\3\u018f\3\u018f\3\u018f\3\u018f\3\u018f\3\u018f") - buf.write("\3\u018f\3\u018f\3\u018f\3\u018f\3\u018f\3\u018f\3\u018f") - buf.write("\3\u018f\3\u018f\3\u018f\3\u018f\3\u018f\3\u018f\3\u018f") - buf.write("\3\u018f\3\u018f\3\u0190\3\u0190\3\u0190\3\u0190\3\u0190") - buf.write("\3\u0190\3\u0190\3\u0190\3\u0190\3\u0190\3\u0190\3\u0190") - buf.write("\3\u0190\3\u0190\3\u0190\3\u0190\3\u0190\3\u0190\3\u0190") - buf.write("\3\u0190\3\u0190\3\u0191\3\u0191\3\u0191\3\u0191\3\u0191") - buf.write("\3\u0191\3\u0191\3\u0191\3\u0191\3\u0192\3\u0192\3\u0192") - buf.write("\3\u0192\3\u0192\3\u0192\3\u0192\3\u0192\3\u0192\3\u0193") - buf.write("\3\u0193\3\u0193\3\u0193\3\u0193\3\u0193\3\u0193\3\u0193") - buf.write("\3\u0193\3\u0193\3\u0193\3\u0193\3\u0193\3\u0193\3\u0193") - buf.write("\3\u0193\3\u0193\3\u0193\3\u0193\3\u0193\3\u0193\3\u0194") - buf.write("\3\u0194\3\u0194\3\u0194\3\u0194\3\u0194\3\u0194\3\u0194") - buf.write("\3\u0194\3\u0194\3\u0194\3\u0194\3\u0194\3\u0194\3\u0194") - buf.write("\3\u0194\3\u0194\3\u0194\3\u0194\3\u0194\3\u0194\3\u0195") - buf.write("\3\u0195\3\u0195\3\u0195\3\u0195\3\u0195\3\u0195\3\u0196") - buf.write("\3\u0196\3\u0196\3\u0196\3\u0196\3\u0196\3\u0197\3\u0197") - buf.write("\3\u0197\3\u0197\3\u0198\3\u0198\3\u0198\3\u0198\3\u0198") - buf.write("\3\u0198\3\u0198\3\u0198\3\u0199\3\u0199\3\u0199\3\u0199") - buf.write("\3\u0199\3\u0199\3\u0199\3\u0199\3\u0199\3\u019a\3\u019a") - buf.write("\3\u019a\3\u019a\3\u019a\3\u019b\3\u019b\3\u019b\3\u019b") - buf.write("\3\u019b\3\u019b\3\u019b\3\u019c\3\u019c\3\u019c\3\u019c") - buf.write("\3\u019c\3\u019c\3\u019d\3\u019d\3\u019d\3\u019d\3\u019d") - buf.write("\3\u019d\3\u019e\3\u019e\3\u019e\3\u019e\3\u019e\3\u019f") - buf.write("\3\u019f\3\u019f\3\u019f\3\u019f\3\u019f\3\u01a0\3\u01a0") - buf.write("\3\u01a0\3\u01a0\3\u01a0\3\u01a0\3\u01a1\3\u01a1\3\u01a1") - buf.write("\3\u01a1\3\u01a1\3\u01a1\3\u01a2\3\u01a2\3\u01a2\3\u01a2") - buf.write("\3\u01a2\3\u01a3\3\u01a3\3\u01a3\3\u01a4\3\u01a4\3\u01a4") - buf.write("\3\u01a4\3\u01a4\3\u01a4\3\u01a4\3\u01a4\3\u01a4\3\u01a4") - buf.write("\3\u01a5\3\u01a5\3\u01a5\3\u01a5\3\u01a5\3\u01a6\3\u01a6") - buf.write("\3\u01a6\3\u01a6\3\u01a6\3\u01a6\3\u01a6\3\u01a6\3\u01a7") - buf.write("\3\u01a7\3\u01a7\3\u01a7\3\u01a7\3\u01a7\3\u01a7\3\u01a8") - buf.write("\3\u01a8\3\u01a8\3\u01a9\3\u01a9\3\u01a9\3\u01a9\3\u01a9") - buf.write("\3\u01a9\3\u01a9\3\u01a9\3\u01a9\3\u01a9\3\u01a9\3\u01a9") - buf.write("\3\u01a9\3\u01aa\3\u01aa\3\u01aa\3\u01aa\3\u01ab\3\u01ab") - buf.write("\3\u01ab\3\u01ab\3\u01ab\3\u01ab\3\u01ab\3\u01ac\3\u01ac") - buf.write("\3\u01ac\3\u01ac\3\u01ac\3\u01ad\3\u01ad\3\u01ad\3\u01ad") - buf.write("\3\u01ad\3\u01ae\3\u01ae\3\u01ae\3\u01ae\3\u01ae\3\u01ae") - buf.write("\3\u01ae\3\u01ae\3\u01ae\3\u01ae\3\u01ae\3\u01ae\3\u01ae") - buf.write("\3\u01ae\3\u01ae\3\u01ae\3\u01af\3\u01af\3\u01af\3\u01af") - buf.write("\3\u01af\3\u01af\3\u01af\3\u01af\3\u01b0\3\u01b0\3\u01b0") - buf.write("\3\u01b0\3\u01b0\3\u01b0\3\u01b1\3\u01b1\3\u01b1\3\u01b1") - buf.write("\3\u01b1\3\u01b1\3\u01b1\3\u01b1\3\u01b1\3\u01b1\3\u01b2") - buf.write("\3\u01b2\3\u01b2\3\u01b2\3\u01b2\3\u01b3\3\u01b3\3\u01b3") - buf.write("\3\u01b3\3\u01b3\3\u01b3\3\u01b3\3\u01b4\3\u01b4\3\u01b4") - buf.write("\3\u01b4\3\u01b4\3\u01b4\3\u01b4\3\u01b4\3\u01b5\3\u01b5") - buf.write("\3\u01b5\3\u01b5\3\u01b5\3\u01b5\3\u01b5\3\u01b5\3\u01b5") - buf.write("\3\u01b5\3\u01b5\3\u01b5\3\u01b5\3\u01b6\3\u01b6\3\u01b6") - buf.write("\3\u01b6\3\u01b6\3\u01b6\3\u01b6\3\u01b6\3\u01b6\3\u01b6") - buf.write("\3\u01b6\3\u01b7\3\u01b7\3\u01b7\3\u01b7\3\u01b7\3\u01b7") - buf.write("\3\u01b7\3\u01b7\3\u01b7\3\u01b8\3\u01b8\3\u01b8\3\u01b8") - buf.write("\3\u01b8\3\u01b8\3\u01b9\3\u01b9\3\u01b9\3\u01b9\3\u01b9") - buf.write("\3\u01b9\3\u01b9\3\u01ba\3\u01ba\3\u01ba\3\u01ba\3\u01ba") - buf.write("\3\u01ba\3\u01ba\3\u01ba\3\u01ba\3\u01ba\3\u01ba\3\u01bb") - buf.write("\3\u01bb\3\u01bb\3\u01bb\3\u01bb\3\u01bb\3\u01bb\3\u01bb") - buf.write("\3\u01bc\3\u01bc\3\u01bc\3\u01bc\3\u01bc\3\u01bd\3\u01bd") - buf.write("\3\u01bd\3\u01bd\3\u01bd\3\u01bd\3\u01bd\3\u01bd\3\u01bd") - buf.write("\3\u01be\3\u01be\3\u01be\3\u01be\3\u01be\3\u01be\3\u01be") - buf.write("\3\u01be\3\u01bf\3\u01bf\3\u01bf\3\u01bf\3\u01bf\3\u01bf") - buf.write("\3\u01bf\3\u01bf\3\u01bf\3\u01c0\3\u01c0\3\u01c0\3\u01c0") - buf.write("\3\u01c0\3\u01c1\3\u01c1\3\u01c1\3\u01c1\3\u01c1\3\u01c1") - buf.write("\3\u01c1\3\u01c1\3\u01c1\3\u01c1\3\u01c1\3\u01c1\3\u01c2") - buf.write("\3\u01c2\3\u01c2\3\u01c2\3\u01c2\3\u01c2\3\u01c2\3\u01c2") - buf.write("\3\u01c3\3\u01c3\3\u01c3\3\u01c3\3\u01c3\3\u01c3\3\u01c3") - buf.write("\3\u01c3\3\u01c3\3\u01c4\3\u01c4\3\u01c4\3\u01c4\3\u01c4") - buf.write("\3\u01c4\3\u01c5\3\u01c5\3\u01c5\3\u01c5\3\u01c5\3\u01c5") - buf.write("\3\u01c6\3\u01c6\3\u01c6\3\u01c6\3\u01c6\3\u01c6\3\u01c7") - buf.write("\3\u01c7\3\u01c7\3\u01c7\3\u01c7\3\u01c7\3\u01c7\3\u01c7") - buf.write("\3\u01c8\3\u01c8\3\u01c8\3\u01c8\3\u01c8\3\u01c8\3\u01c8") - buf.write("\3\u01c8\3\u01c9\3\u01c9\3\u01c9\3\u01c9\3\u01c9\3\u01c9") - buf.write("\3\u01c9\3\u01c9\3\u01c9\3\u01c9\3\u01c9\3\u01c9\3\u01c9") - buf.write("\3\u01c9\3\u01c9\3\u01c9\3\u01c9\3\u01ca\3\u01ca\3\u01ca") - buf.write("\3\u01ca\3\u01ca\3\u01ca\3\u01ca\3\u01ca\3\u01ca\3\u01ca") - buf.write("\3\u01cb\3\u01cb\3\u01cb\3\u01cb\3\u01cb\3\u01cb\3\u01cc") - buf.write("\3\u01cc\3\u01cc\3\u01cc\3\u01cc\3\u01cc\3\u01cc\3\u01cc") - buf.write("\3\u01cc\3\u01cc\3\u01cc\3\u01cc\3\u01cc\3\u01cc\3\u01cc") - buf.write("\3\u01cd\3\u01cd\3\u01cd\3\u01cd\3\u01cd\3\u01cd\3\u01cd") - buf.write("\3\u01cd\3\u01cd\3\u01cd\3\u01cd\3\u01cd\3\u01cd\3\u01cd") - buf.write("\3\u01ce\3\u01ce\3\u01ce\3\u01ce\3\u01ce\3\u01ce\3\u01ce") - buf.write("\3\u01ce\3\u01ce\3\u01cf\3\u01cf\3\u01cf\3\u01cf\3\u01cf") - buf.write("\3\u01cf\3\u01cf\3\u01d0\3\u01d0\3\u01d0\3\u01d0\3\u01d0") - buf.write("\3\u01d0\3\u01d0\3\u01d0\3\u01d0\3\u01d0\3\u01d0\3\u01d1") - buf.write("\3\u01d1\3\u01d1\3\u01d1\3\u01d1\3\u01d1\3\u01d1\3\u01d2") - buf.write("\3\u01d2\3\u01d2\3\u01d2\3\u01d2\3\u01d2\3\u01d2\3\u01d2") - buf.write("\3\u01d2\3\u01d2\3\u01d2\3\u01d2\3\u01d2\3\u01d2\3\u01d2") - buf.write("\3\u01d2\3\u01d3\3\u01d3\3\u01d3\3\u01d3\3\u01d3\3\u01d3") - buf.write("\3\u01d3\3\u01d3\3\u01d3\3\u01d3\3\u01d3\3\u01d3\3\u01d3") - buf.write("\3\u01d3\3\u01d3\3\u01d3\3\u01d3\3\u01d3\3\u01d3\3\u01d4") - buf.write("\3\u01d4\3\u01d4\3\u01d4\3\u01d4\3\u01d4\3\u01d4\3\u01d4") - buf.write("\3\u01d4\3\u01d4\3\u01d4\3\u01d4\3\u01d4\3\u01d4\3\u01d4") - buf.write("\3\u01d4\3\u01d4\3\u01d4\3\u01d4\3\u01d4\3\u01d5\3\u01d5") - buf.write("\3\u01d5\3\u01d5\3\u01d5\3\u01d5\3\u01d5\3\u01d5\3\u01d5") - buf.write("\3\u01d5\3\u01d5\3\u01d5\3\u01d5\3\u01d5\3\u01d5\3\u01d5") - buf.write("\3\u01d5\3\u01d5\3\u01d5\3\u01d5\3\u01d5\3\u01d5\3\u01d5") - buf.write("\3\u01d6\3\u01d6\3\u01d6\3\u01d6\3\u01d6\3\u01d6\3\u01d6") - buf.write("\3\u01d6\3\u01d6\3\u01d6\3\u01d6\3\u01d6\3\u01d6\3\u01d6") - buf.write("\3\u01d6\3\u01d6\3\u01d6\3\u01d6\3\u01d6\3\u01d6\3\u01d6") - buf.write("\3\u01d7\3\u01d7\3\u01d7\3\u01d7\3\u01d7\3\u01d7\3\u01d7") - buf.write("\3\u01d7\3\u01d7\3\u01d7\3\u01d7\3\u01d7\3\u01d7\3\u01d7") - buf.write("\3\u01d7\3\u01d7\3\u01d7\3\u01d7\3\u01d7\3\u01d7\3\u01d7") - buf.write("\3\u01d7\3\u01d7\3\u01d7\3\u01d8\3\u01d8\3\u01d8\3\u01d8") - buf.write("\3\u01d8\3\u01d8\3\u01d8\3\u01d8\3\u01d8\3\u01d8\3\u01d8") - buf.write("\3\u01d8\3\u01d8\3\u01d8\3\u01d8\3\u01d8\3\u01d8\3\u01d8") - buf.write("\3\u01d8\3\u01d8\3\u01d8\3\u01d8\3\u01d8\3\u01d8\3\u01d8") - buf.write("\3\u01d8\3\u01d8\3\u01d8\3\u01d9\3\u01d9\3\u01d9\3\u01d9") - buf.write("\3\u01d9\3\u01d9\3\u01d9\3\u01d9\3\u01d9\3\u01d9\3\u01d9") - buf.write("\3\u01d9\3\u01da\3\u01da\3\u01da\3\u01da\3\u01da\3\u01da") - buf.write("\3\u01db\3\u01db\3\u01db\3\u01db\3\u01db\3\u01db\3\u01db") - buf.write("\3\u01dc\3\u01dc\3\u01dc\3\u01dc\3\u01dc\3\u01dc\3\u01dc") - buf.write("\3\u01dc\3\u01dd\3\u01dd\3\u01dd\3\u01dd\3\u01dd\3\u01dd") - buf.write("\3\u01dd\3\u01dd\3\u01dd\3\u01de\3\u01de\3\u01de\3\u01de") - buf.write("\3\u01de\3\u01de\3\u01de\3\u01df\3\u01df\3\u01df\3\u01df") - buf.write("\3\u01df\3\u01df\3\u01df\3\u01e0\3\u01e0\3\u01e0\3\u01e0") - buf.write("\3\u01e1\3\u01e1\3\u01e1\3\u01e1\3\u01e1\3\u01e2\3\u01e2") - buf.write("\3\u01e2\3\u01e2\3\u01e2\3\u01e2\3\u01e2\3\u01e2\3\u01e2") - buf.write("\3\u01e2\3\u01e2\3\u01e3\3\u01e3\3\u01e3\3\u01e3\3\u01e3") - buf.write("\3\u01e3\3\u01e3\3\u01e3\3\u01e3\3\u01e3\3\u01e4\3\u01e4") - buf.write("\3\u01e4\3\u01e4\3\u01e4\3\u01e4\3\u01e4\3\u01e4\3\u01e4") - buf.write("\3\u01e5\3\u01e5\3\u01e5\3\u01e5\3\u01e5\3\u01e5\3\u01e5") - buf.write("\3\u01e5\3\u01e5\3\u01e6\3\u01e6\3\u01e6\3\u01e6\3\u01e6") - buf.write("\3\u01e6\3\u01e6\3\u01e7\3\u01e7\3\u01e7\3\u01e7\3\u01e7") - buf.write("\3\u01e7\3\u01e7\3\u01e7\3\u01e8\3\u01e8\3\u01e8\3\u01e8") - buf.write("\3\u01e8\3\u01e8\3\u01e9\3\u01e9\3\u01e9\3\u01e9\3\u01e9") - buf.write("\3\u01e9\3\u01e9\3\u01ea\3\u01ea\3\u01ea\3\u01ea\3\u01ea") - buf.write("\3\u01ea\3\u01ea\3\u01eb\3\u01eb\3\u01eb\3\u01eb\3\u01eb") - buf.write("\3\u01eb\3\u01eb\3\u01ec\3\u01ec\3\u01ec\3\u01ec\3\u01ec") - buf.write("\3\u01ec\3\u01ed\3\u01ed\3\u01ed\3\u01ed\3\u01ed\3\u01ee") - buf.write("\3\u01ee\3\u01ee\3\u01ee\3\u01ee\3\u01ee\3\u01ee\3\u01ee") - buf.write("\3\u01ee\3\u01ef\3\u01ef\3\u01ef\3\u01ef\3\u01ef\3\u01ef") - buf.write("\3\u01ef\3\u01f0\3\u01f0\3\u01f0\3\u01f0\3\u01f0\3\u01f1") - buf.write("\3\u01f1\3\u01f1\3\u01f1\3\u01f1\3\u01f1\3\u01f1\3\u01f2") - buf.write("\3\u01f2\3\u01f2\3\u01f2\3\u01f2\3\u01f2\3\u01f2\3\u01f3") - buf.write("\3\u01f3\3\u01f3\3\u01f3\3\u01f3\3\u01f3\3\u01f3\3\u01f4") - buf.write("\3\u01f4\3\u01f4\3\u01f4\3\u01f4\3\u01f4\3\u01f4\3\u01f4") - buf.write("\3\u01f4\3\u01f4\3\u01f4\3\u01f4\3\u01f4\3\u01f4\3\u01f4") - buf.write("\3\u01f4\3\u01f5\3\u01f5\3\u01f5\3\u01f5\3\u01f5\3\u01f5") - buf.write("\3\u01f5\3\u01f5\3\u01f5\3\u01f5\3\u01f5\3\u01f5\3\u01f5") - buf.write("\3\u01f5\3\u01f5\3\u01f5\3\u01f5\3\u01f5\3\u01f5\3\u01f6") - buf.write("\3\u01f6\3\u01f6\3\u01f6\3\u01f6\3\u01f6\3\u01f6\3\u01f6") - buf.write("\3\u01f6\3\u01f6\3\u01f6\3\u01f6\3\u01f6\3\u01f6\3\u01f6") - buf.write("\3\u01f6\3\u01f6\3\u01f7\3\u01f7\3\u01f7\3\u01f7\3\u01f7") - buf.write("\3\u01f7\3\u01f7\3\u01f7\3\u01f7\3\u01f7\3\u01f7\3\u01f7") - buf.write("\3\u01f7\3\u01f7\3\u01f7\3\u01f7\3\u01f7\3\u01f7\3\u01f8") - buf.write("\3\u01f8\3\u01f8\3\u01f8\3\u01f8\3\u01f8\3\u01f8\3\u01f8") - buf.write("\3\u01f8\3\u01f8\3\u01f9\3\u01f9\3\u01f9\3\u01f9\3\u01f9") - buf.write("\3\u01f9\3\u01f9\3\u01f9\3\u01f9\3\u01f9\3\u01f9\3\u01f9") - buf.write("\3\u01f9\3\u01fa\3\u01fa\3\u01fa\3\u01fa\3\u01fa\3\u01fa") - buf.write("\3\u01fa\3\u01fa\3\u01fa\3\u01fa\3\u01fa\3\u01fb\3\u01fb") - buf.write("\3\u01fb\3\u01fb\3\u01fb\3\u01fb\3\u01fc\3\u01fc\3\u01fc") - buf.write("\3\u01fc\3\u01fc\3\u01fc\3\u01fc\3\u01fd\3\u01fd\3\u01fd") - buf.write("\3\u01fd\3\u01fd\3\u01fd\3\u01fd\3\u01fd\3\u01fd\3\u01fd") - buf.write("\3\u01fd\3\u01fd\3\u01fd\3\u01fd\3\u01fd\3\u01fd\3\u01fd") - buf.write("\3\u01fd\3\u01fe\3\u01fe\3\u01fe\3\u01fe\3\u01fe\3\u01fe") - buf.write("\3\u01fe\3\u01fe\3\u01fe\3\u01fe\3\u01fe\3\u01fe\3\u01fe") - buf.write("\3\u01fe\3\u01fe\3\u01fe\3\u01fe\3\u01ff\3\u01ff\3\u01ff") - buf.write("\3\u01ff\3\u01ff\3\u01ff\3\u01ff\3\u01ff\3\u01ff\3\u01ff") - buf.write("\3\u01ff\3\u01ff\3\u01ff\3\u01ff\3\u01ff\3\u01ff\3\u01ff") - buf.write("\3\u01ff\3\u01ff\3\u0200\3\u0200\3\u0200\3\u0200\3\u0200") - buf.write("\3\u0200\3\u0200\3\u0201\3\u0201\3\u0201\3\u0201\3\u0201") - buf.write("\3\u0202\3\u0202\3\u0202\3\u0202\3\u0202\3\u0202\3\u0202") - buf.write("\3\u0202\3\u0203\3\u0203\3\u0203\3\u0203\3\u0203\3\u0203") - buf.write("\3\u0203\3\u0204\3\u0204\3\u0204\3\u0204\3\u0204\3\u0204") - buf.write("\3\u0204\3\u0205\3\u0205\3\u0205\3\u0205\3\u0205\3\u0205") - buf.write("\3\u0205\3\u0205\3\u0206\3\u0206\3\u0206\3\u0206\3\u0206") - buf.write("\3\u0206\3\u0206\3\u0206\3\u0206\3\u0206\3\u0206\3\u0206") - buf.write("\3\u0206\3\u0207\3\u0207\3\u0207\3\u0207\3\u0207\3\u0207") - buf.write("\3\u0207\3\u0207\3\u0207\3\u0207\3\u0207\3\u0207\3\u0207") - buf.write("\3\u0207\3\u0208\3\u0208\3\u0208\3\u0208\3\u0208\3\u0208") - buf.write("\3\u0208\3\u0208\3\u0209\3\u0209\3\u0209\3\u0209\3\u0209") - buf.write("\3\u0209\3\u020a\3\u020a\3\u020a\3\u020a\3\u020a\3\u020a") - buf.write("\3\u020a\3\u020a\3\u020a\3\u020b\3\u020b\3\u020b\3\u020b") - buf.write("\3\u020b\3\u020b\3\u020b\3\u020b\3\u020b\3\u020b\3\u020b") - buf.write("\3\u020c\3\u020c\3\u020c\3\u020c\3\u020c\3\u020c\3\u020c") - buf.write("\3\u020c\3\u020c\3\u020c\3\u020d\3\u020d\3\u020d\3\u020d") - buf.write("\3\u020d\3\u020d\3\u020d\3\u020d\3\u020d\3\u020d\3\u020e") - buf.write("\3\u020e\3\u020e\3\u020e\3\u020e\3\u020f\3\u020f\3\u020f") - buf.write("\3\u020f\3\u020f\3\u020f\3\u020f\3\u020f\3\u020f\3\u020f") - buf.write("\3\u020f\3\u020f\3\u0210\3\u0210\3\u0210\3\u0210\3\u0210") - buf.write("\3\u0210\3\u0210\3\u0210\3\u0210\3\u0210\3\u0210\3\u0210") - buf.write("\3\u0211\3\u0211\3\u0211\3\u0211\3\u0211\3\u0211\3\u0211") - buf.write("\3\u0211\3\u0211\3\u0212\3\u0212\3\u0212\3\u0212\3\u0212") - buf.write("\3\u0212\3\u0212\3\u0212\3\u0212\3\u0213\3\u0213\3\u0213") - buf.write("\3\u0213\3\u0213\3\u0213\3\u0213\3\u0213\3\u0213\3\u0213") - buf.write("\3\u0214\3\u0214\3\u0214\3\u0214\3\u0214\3\u0214\3\u0214") - buf.write("\3\u0214\3\u0214\3\u0215\3\u0215\3\u0215\3\u0215\3\u0215") - buf.write("\3\u0215\3\u0215\3\u0215\3\u0215\3\u0215\3\u0215\3\u0215") - buf.write("\3\u0215\3\u0215\3\u0215\3\u0215\3\u0215\3\u0216\3\u0216") - buf.write("\3\u0216\3\u0216\3\u0216\3\u0216\3\u0216\3\u0216\3\u0216") - buf.write("\3\u0216\3\u0217\3\u0217\3\u0217\3\u0217\3\u0217\3\u0217") - buf.write("\3\u0217\3\u0217\3\u0218\3\u0218\3\u0218\3\u0218\3\u0218") - buf.write("\3\u0218\3\u0219\3\u0219\3\u0219\3\u0219\3\u0219\3\u0219") - buf.write("\3\u0219\3\u0219\3\u021a\3\u021a\3\u021a\3\u021a\3\u021a") - buf.write("\3\u021b\3\u021b\3\u021b\3\u021b\3\u021b\3\u021b\3\u021b") - buf.write("\3\u021b\3\u021c\3\u021c\3\u021c\3\u021c\3\u021c\3\u021c") - buf.write("\3\u021c\3\u021c\3\u021c\3\u021c\3\u021c\3\u021c\3\u021c") - buf.write("\3\u021c\3\u021c\3\u021d\3\u021d\3\u021d\3\u021d\3\u021d") - buf.write("\3\u021d\3\u021d\3\u021d\3\u021d\3\u021d\3\u021d\3\u021e") - buf.write("\3\u021e\3\u021e\3\u021e\3\u021e\3\u021e\3\u021f\3\u021f") - buf.write("\3\u021f\3\u021f\3\u021f\3\u021f\3\u021f\3\u021f\3\u021f") - buf.write("\3\u021f\3\u0220\3\u0220\3\u0220\3\u0220\3\u0220\3\u0221") - buf.write("\3\u0221\3\u0221\3\u0221\3\u0221\3\u0221\3\u0221\3\u0221") - buf.write("\3\u0222\3\u0222\3\u0222\3\u0222\3\u0222\3\u0223\3\u0223") - buf.write("\3\u0223\3\u0223\3\u0223\3\u0223\3\u0223\3\u0223\3\u0223") - buf.write("\3\u0224\3\u0224\3\u0224\3\u0224\3\u0224\3\u0224\3\u0224") - buf.write("\3\u0224\3\u0225\3\u0225\3\u0225\3\u0225\3\u0225\3\u0226") - buf.write("\3\u0226\3\u0226\3\u0226\3\u0226\3\u0226\3\u0226\3\u0226") - buf.write("\3\u0227\3\u0227\3\u0227\3\u0227\3\u0227\3\u0228\3\u0228") - buf.write("\3\u0228\3\u0229\3\u0229\3\u0229\3\u0229\3\u022a\3\u022a") - buf.write("\3\u022a\3\u022a\3\u022b\3\u022b\3\u022b\3\u022b\3\u022c") - buf.write("\3\u022c\3\u022c\3\u022c\3\u022d\3\u022d\3\u022d\3\u022d") - buf.write("\3\u022e\3\u022e\3\u022e\3\u022e\3\u022e\3\u022e\3\u022e") - buf.write("\3\u022e\3\u022e\3\u022f\3\u022f\3\u022f\3\u022f\3\u022f") - buf.write("\3\u022f\3\u022f\3\u022f\3\u0230\3\u0230\3\u0230\3\u0230") - buf.write("\3\u0230\3\u0230\3\u0231\3\u0231\3\u0231\3\u0231\3\u0232") - buf.write("\3\u0232\3\u0232\3\u0232\3\u0232\3\u0233\3\u0233\3\u0233") - buf.write("\3\u0233\3\u0233\3\u0233\3\u0233\3\u0234\3\u0234\3\u0234") - buf.write("\3\u0234\3\u0234\3\u0235\3\u0235\3\u0235\3\u0235\3\u0235") - buf.write("\3\u0235\3\u0235\3\u0236\3\u0236\3\u0236\3\u0236\3\u0236") - buf.write("\3\u0236\3\u0236\3\u0236\3\u0236\3\u0236\3\u0236\3\u0236") - buf.write("\3\u0237\3\u0237\3\u0237\3\u0237\3\u0237\3\u0237\3\u0237") - buf.write("\3\u0238\3\u0238\3\u0238\3\u0238\3\u0238\3\u0238\3\u0238") - buf.write("\3\u0238\3\u0239\3\u0239\3\u0239\3\u0239\3\u0239\3\u0239") - buf.write("\3\u0239\3\u0239\3\u023a\3\u023a\3\u023a\3\u023a\3\u023a") - buf.write("\3\u023b\3\u023b\3\u023b\3\u023b\3\u023b\3\u023b\3\u023b") - buf.write("\3\u023b\3\u023c\3\u023c\3\u023c\3\u023c\3\u023c\3\u023c") - buf.write("\3\u023c\3\u023d\3\u023d\3\u023d\3\u023d\3\u023d\3\u023d") - buf.write("\3\u023d\3\u023d\3\u023d\3\u023e\3\u023e\3\u023e\3\u023e") - buf.write("\3\u023e\3\u023e\3\u023f\3\u023f\3\u023f\3\u023f\3\u023f") - buf.write("\3\u023f\3\u023f\3\u023f\3\u023f\3\u023f\3\u023f\3\u0240") - buf.write("\3\u0240\3\u0240\3\u0240\3\u0240\3\u0240\3\u0240\3\u0240") - buf.write("\3\u0240\3\u0241\3\u0241\3\u0241\3\u0241\3\u0241\3\u0241") - buf.write("\3\u0242\3\u0242\3\u0242\3\u0242\3\u0242\3\u0243\3\u0243") - buf.write("\3\u0243\3\u0243\3\u0243\3\u0243\3\u0243\3\u0244\3\u0244") - buf.write("\3\u0244\3\u0244\3\u0244\3\u0244\3\u0244\3\u0245\3\u0245") - buf.write("\3\u0245\3\u0245\3\u0245\3\u0245\3\u0245\3\u0246\3\u0246") - buf.write("\3\u0246\3\u0246\3\u0246\3\u0246\3\u0246\3\u0247\3\u0247") - buf.write("\3\u0247\3\u0247\3\u0247\3\u0247\3\u0248\3\u0248\3\u0248") - buf.write("\3\u0248\3\u0248\3\u0248\3\u0249\3\u0249\3\u0249\3\u0249") - buf.write("\3\u0249\3\u0249\3\u024a\3\u024a\3\u024a\3\u024a\3\u024a") - buf.write("\3\u024a\3\u024b\3\u024b\3\u024b\3\u024b\3\u024b\3\u024c") - buf.write("\3\u024c\3\u024c\3\u024c\3\u024c\3\u024c\3\u024c\3\u024c") - buf.write("\3\u024d\3\u024d\3\u024d\3\u024d\3\u024d\3\u024d\3\u024e") - buf.write("\3\u024e\3\u024e\3\u024e\3\u024e\3\u024e\3\u024e\3\u024f") - buf.write("\3\u024f\3\u024f\3\u024f\3\u0250\3\u0250\3\u0250\3\u0250") - buf.write("\3\u0250\3\u0250\3\u0250\3\u0250\3\u0251\3\u0251\3\u0251") - buf.write("\3\u0251\3\u0251\3\u0251\3\u0252\3\u0252\3\u0252\3\u0252") - buf.write("\3\u0252\3\u0252\3\u0252\3\u0253\3\u0253\3\u0253\3\u0253") - buf.write("\3\u0254\3\u0254\3\u0254\3\u0254\3\u0254\3\u0254\3\u0254") - buf.write("\3\u0254\3\u0255\3\u0255\3\u0255\3\u0255\3\u0255\3\u0255") - buf.write("\3\u0256\3\u0256\3\u0256\3\u0256\3\u0256\3\u0256\3\u0257") - buf.write("\3\u0257\3\u0257\3\u0257\3\u0257\3\u0257\3\u0257\3\u0258") - buf.write("\3\u0258\3\u0258\3\u0258\3\u0258\3\u0258\3\u0258\3\u0259") - buf.write("\3\u0259\3\u0259\3\u0259\3\u0259\3\u0259\3\u0259\3\u025a") - buf.write("\3\u025a\3\u025a\3\u025a\3\u025a\3\u025a\3\u025a\3\u025b") - buf.write("\3\u025b\3\u025b\3\u025b\3\u025b\3\u025b\3\u025c\3\u025c") - buf.write("\3\u025c\3\u025c\3\u025c\3\u025c\3\u025c\3\u025c\3\u025c") - buf.write("\3\u025d\3\u025d\3\u025d\3\u025d\3\u025d\3\u025e\3\u025e") - buf.write("\3\u025e\3\u025e\3\u025e\3\u025f\3\u025f\3\u025f\3\u025f") - buf.write("\3\u025f\3\u025f\3\u025f\3\u0260\3\u0260\3\u0260\3\u0260") - buf.write("\3\u0260\3\u0261\3\u0261\3\u0261\3\u0261\3\u0261\3\u0262") - buf.write("\3\u0262\3\u0262\3\u0262\3\u0262\3\u0262\3\u0263\3\u0263") - buf.write("\3\u0263\3\u0263\3\u0263\3\u0263\3\u0263\3\u0263\3\u0264") - buf.write("\3\u0264\3\u0264\3\u0264\3\u0264\3\u0264\3\u0265\3\u0265") - buf.write("\3\u0265\3\u0265\3\u0265\3\u0266\3\u0266\3\u0266\3\u0266") - buf.write("\3\u0266\3\u0266\3\u0266\3\u0266\3\u0267\3\u0267\3\u0267") - buf.write("\3\u0267\3\u0267\3\u0267\3\u0267\3\u0267\3\u0268\3\u0268") - buf.write("\3\u0268\3\u0268\3\u0268\3\u0268\3\u0268\3\u0268\3\u0269") - buf.write("\3\u0269\3\u0269\3\u0269\3\u0269\3\u0269\3\u0269\3\u0269") - buf.write("\3\u0269\3\u0269\3\u026a\3\u026a\3\u026a\3\u026a\3\u026b") - buf.write("\3\u026b\3\u026b\3\u026b\3\u026b\3\u026b\3\u026b\3\u026b") - buf.write("\3\u026b\3\u026b\3\u026c\3\u026c\3\u026c\3\u026c\3\u026c") - buf.write("\3\u026c\3\u026c\3\u026d\3\u026d\3\u026d\3\u026d\3\u026d") - buf.write("\3\u026d\3\u026d\3\u026e\3\u026e\3\u026e\3\u026e\3\u026e") - buf.write("\3\u026e\3\u026e\3\u026e\3\u026e\3\u026e\3\u026e\3\u026f") - buf.write("\3\u026f\3\u026f\3\u026f\3\u026f\3\u026f\3\u026f\3\u0270") - buf.write("\3\u0270\3\u0270\3\u0270\3\u0271\3\u0271\3\u0271\3\u0271") - buf.write("\3\u0271\3\u0271\3\u0271\3\u0271\3\u0271\3\u0271\3\u0271") - buf.write("\3\u0272\3\u0272\3\u0272\3\u0272\3\u0272\3\u0272\3\u0272") - buf.write("\3\u0272\3\u0272\3\u0272\3\u0272\3\u0272\3\u0272\3\u0272") - buf.write("\3\u0272\3\u0272\3\u0272\3\u0272\3\u0273\3\u0273\3\u0273") - buf.write("\3\u0273\3\u0273\3\u0273\3\u0273\3\u0273\3\u0273\3\u0273") - buf.write("\3\u0273\3\u0274\3\u0274\3\u0274\3\u0274\3\u0274\3\u0274") - buf.write("\3\u0274\3\u0274\3\u0274\3\u0274\3\u0275\3\u0275\3\u0275") - buf.write("\3\u0275\3\u0275\3\u0275\3\u0275\3\u0275\3\u0275\3\u0275") - buf.write("\3\u0275\3\u0275\3\u0276\3\u0276\3\u0276\3\u0276\3\u0276") - buf.write("\3\u0276\3\u0276\3\u0276\3\u0276\3\u0276\3\u0276\3\u0276") - buf.write("\3\u0276\3\u0277\3\u0277\3\u0277\3\u0277\3\u0277\3\u0277") - buf.write("\3\u0277\3\u0277\3\u0277\3\u0277\3\u0277\3\u0277\3\u0277") - buf.write("\3\u0277\3\u0277\3\u0277\3\u0277\3\u0277\3\u0277\3\u0278") - buf.write("\3\u0278\3\u0278\3\u0278\3\u0278\3\u0278\3\u0278\3\u0278") - buf.write("\3\u0278\3\u0278\3\u0278\3\u0279\3\u0279\3\u0279\3\u0279") - buf.write("\3\u0279\3\u0279\3\u0279\3\u0279\3\u0279\3\u0279\3\u0279") - buf.write("\3\u0279\3\u0279\3\u0279\3\u0279\3\u0279\3\u027a\3\u027a") - buf.write("\3\u027a\3\u027a\3\u027a\3\u027a\3\u027a\3\u027a\3\u027a") - buf.write("\3\u027a\3\u027a\3\u027b\3\u027b\3\u027b\3\u027b\3\u027b") - buf.write("\3\u027b\3\u027b\3\u027b\3\u027b\3\u027b\3\u027b\3\u027b") - buf.write("\3\u027b\3\u027c\3\u027c\3\u027c\3\u027c\3\u027c\3\u027c") - buf.write("\3\u027d\3\u027d\3\u027d\3\u027d\3\u027d\3\u027d\3\u027d") - buf.write("\3\u027d\3\u027e\3\u027e\3\u027e\3\u027e\3\u027f\3\u027f") - buf.write("\3\u027f\3\u027f\3\u027f\3\u0280\3\u0280\3\u0280\3\u0280") - buf.write("\3\u0280\3\u0280\3\u0280\3\u0280\3\u0281\3\u0281\3\u0281") - buf.write("\3\u0281\3\u0281\3\u0281\3\u0281\3\u0281\3\u0282\3\u0282") - buf.write("\3\u0282\3\u0282\3\u0282\3\u0282\3\u0282\3\u0282\3\u0282") - buf.write("\3\u0282\3\u0282\3\u0282\3\u0283\3\u0283\3\u0283\3\u0283") - buf.write("\3\u0283\3\u0283\3\u0283\3\u0283\3\u0283\3\u0283\3\u0283") - buf.write("\3\u0283\3\u0284\3\u0284\3\u0284\3\u0284\3\u0284\3\u0285") - buf.write("\3\u0285\3\u0285\3\u0285\3\u0285\3\u0285\3\u0285\3\u0285") - buf.write("\3\u0285\3\u0286\3\u0286\3\u0286\3\u0286\3\u0286\3\u0287") - buf.write("\3\u0287\3\u0287\3\u0287\3\u0287\3\u0287\3\u0287\3\u0288") - buf.write("\3\u0288\3\u0288\3\u0288\3\u0288\3\u0288\3\u0289\3\u0289") - buf.write("\3\u0289\3\u0289\3\u0289\3\u0289\3\u028a\3\u028a\3\u028a") - buf.write("\3\u028a\3\u028a\3\u028a\3\u028a\3\u028a\3\u028a\3\u028a") - buf.write("\3\u028a\3\u028a\3\u028a\3\u028a\3\u028a\3\u028a\3\u028a") - buf.write("\3\u028a\3\u028a\3\u028b\3\u028b\3\u028b\3\u028b\3\u028b") - buf.write("\3\u028b\3\u028b\3\u028b\3\u028b\3\u028b\3\u028b\3\u028b") - buf.write("\3\u028b\3\u028b\3\u028b\3\u028b\3\u028b\3\u028b\3\u028c") - buf.write("\3\u028c\3\u028c\3\u028c\3\u028c\3\u028c\3\u028c\3\u028c") - buf.write("\3\u028c\3\u028c\3\u028c\3\u028c\3\u028c\3\u028c\3\u028c") - buf.write("\3\u028c\3\u028c\3\u028c\3\u028c\3\u028d\3\u028d\3\u028d") - buf.write("\3\u028d\3\u028d\3\u028d\3\u028d\3\u028d\3\u028d\3\u028d") - buf.write("\3\u028d\3\u028d\3\u028d\3\u028d\3\u028d\3\u028d\3\u028e") - buf.write("\3\u028e\3\u028e\3\u028e\3\u028e\3\u028e\3\u028e\3\u028e") - buf.write("\3\u028e\3\u028e\3\u028e\3\u028e\3\u028e\3\u028e\3\u028e") - buf.write("\3\u028e\3\u028e\3\u028e\3\u028f\3\u028f\3\u028f\3\u028f") - buf.write("\3\u028f\3\u0290\3\u0290\3\u0290\3\u0290\3\u0290\3\u0290") - buf.write("\3\u0291\3\u0291\3\u0291\3\u0291\3\u0291\3\u0291\3\u0291") - buf.write("\3\u0291\3\u0291\3\u0291\3\u0292\3\u0292\3\u0292\3\u0292") - buf.write("\3\u0293\3\u0293\3\u0293\3\u0293\3\u0293\3\u0293\3\u0293") - buf.write("\3\u0293\3\u0293\3\u0293\3\u0294\3\u0294\3\u0294\3\u0294") - buf.write("\3\u0294\3\u0294\3\u0294\3\u0294\3\u0294\3\u0294\3\u0294") - buf.write("\3\u0295\3\u0295\3\u0295\3\u0295\3\u0295\3\u0295\3\u0295") - buf.write("\3\u0296\3\u0296\3\u0296\3\u0296\3\u0296\3\u0297\3\u0297") - buf.write("\3\u0297\3\u0297\3\u0297\3\u0297\3\u0297\3\u0297\3\u0298") - buf.write("\3\u0298\3\u0298\3\u0298\3\u0298\3\u0298\3\u0298\3\u0298") - buf.write("\3\u0298\3\u0299\3\u0299\3\u0299\3\u0299\3\u0299\3\u0299") - buf.write("\3\u0299\3\u0299\3\u0299\3\u0299\3\u0299\3\u0299\3\u0299") - buf.write("\3\u0299\3\u0299\3\u0299\3\u0299\3\u029a\3\u029a\3\u029a") - buf.write("\3\u029a\3\u029a\3\u029a\3\u029a\3\u029a\3\u029b\3\u029b") - buf.write("\3\u029b\3\u029b\3\u029b\3\u029b\3\u029b\3\u029b\3\u029b") - buf.write("\3\u029b\3\u029b\3\u029b\3\u029c\3\u029c\3\u029c\3\u029c") - buf.write("\3\u029c\3\u029c\3\u029c\3\u029c\3\u029c\3\u029c\3\u029c") - buf.write("\3\u029c\3\u029c\3\u029d\3\u029d\3\u029d\3\u029d\3\u029d") - buf.write("\3\u029d\3\u029d\3\u029d\3\u029d\3\u029d\3\u029e\3\u029e") - buf.write("\3\u029e\3\u029e\3\u029e\3\u029e\3\u029e\3\u029e\3\u029e") - buf.write("\3\u029f\3\u029f\3\u029f\3\u029f\3\u029f\3\u029f\3\u029f") - buf.write("\3\u02a0\3\u02a0\3\u02a0\3\u02a0\3\u02a0\3\u02a0\3\u02a0") - buf.write("\3\u02a0\3\u02a0\3\u02a0\3\u02a1\3\u02a1\3\u02a1\3\u02a1") - buf.write("\3\u02a1\3\u02a1\3\u02a1\3\u02a1\3\u02a1\3\u02a1\3\u02a1") - buf.write("\3\u02a1\3\u02a1\3\u02a1\3\u02a2\3\u02a2\3\u02a2\3\u02a2") - buf.write("\3\u02a2\3\u02a3\3\u02a3\3\u02a3\3\u02a3\3\u02a3\3\u02a3") - buf.write("\3\u02a3\3\u02a3\3\u02a3\3\u02a3\3\u02a3\3\u02a4\3\u02a4") - buf.write("\3\u02a4\3\u02a4\3\u02a5\3\u02a5\3\u02a5\3\u02a5\3\u02a6") - buf.write("\3\u02a6\3\u02a6\3\u02a6\3\u02a6\3\u02a6\3\u02a7\3\u02a7") - buf.write("\3\u02a7\3\u02a7\3\u02a7\3\u02a7\3\u02a7\3\u02a7\3\u02a7") - buf.write("\3\u02a7\3\u02a7\3\u02a7\3\u02a7\3\u02a7\3\u02a7\3\u02a7") - buf.write("\3\u02a7\3\u02a7\3\u02a7\3\u02a7\3\u02a7\3\u02a7\3\u02a7") - buf.write("\3\u02a7\3\u02a7\3\u02a7\3\u02a7\3\u02a8\3\u02a8\3\u02a8") - buf.write("\3\u02a8\3\u02a8\3\u02a8\3\u02a8\3\u02a8\3\u02a8\3\u02a8") - buf.write("\3\u02a8\3\u02a8\3\u02a8\3\u02a8\3\u02a8\3\u02a8\3\u02a8") - buf.write("\3\u02a8\3\u02a8\3\u02a8\3\u02a8\3\u02a8\3\u02a8\3\u02a8") - buf.write("\3\u02a8\3\u02a8\3\u02a9\3\u02a9\3\u02a9\3\u02a9\3\u02a9") - buf.write("\3\u02a9\3\u02a9\3\u02a9\3\u02a9\3\u02a9\3\u02a9\3\u02a9") - buf.write("\3\u02a9\3\u02a9\3\u02a9\3\u02a9\3\u02a9\3\u02a9\3\u02a9") - buf.write("\3\u02a9\3\u02a9\3\u02aa\3\u02aa\3\u02aa\3\u02aa\3\u02aa") - buf.write("\3\u02aa\3\u02aa\3\u02aa\3\u02aa\3\u02aa\3\u02aa\3\u02aa") - buf.write("\3\u02aa\3\u02aa\3\u02ab\3\u02ab\3\u02ab\3\u02ab\3\u02ab") - buf.write("\3\u02ab\3\u02ab\3\u02ab\3\u02ac\3\u02ac\3\u02ac\3\u02ac") - buf.write("\3\u02ac\3\u02ac\3\u02ac\3\u02ac\3\u02ac\3\u02ad\3\u02ad") - buf.write("\3\u02ad\3\u02ad\3\u02ad\3\u02ad\3\u02ad\3\u02ad\3\u02ad") - buf.write("\3\u02ad\3\u02ad\3\u02ad\3\u02ae\3\u02ae\3\u02ae\3\u02ae") - buf.write("\3\u02ae\3\u02ae\3\u02ae\3\u02ae\3\u02af\3\u02af\3\u02af") - buf.write("\3\u02af\3\u02af\3\u02af\3\u02af\3\u02af\3\u02af\3\u02af") - buf.write("\3\u02af\3\u02b0\3\u02b0\3\u02b0\3\u02b0\3\u02b0\3\u02b0") - buf.write("\3\u02b0\3\u02b0\3\u02b0\3\u02b0\3\u02b1\3\u02b1\3\u02b1") - buf.write("\3\u02b1\3\u02b1\3\u02b1\3\u02b1\3\u02b1\3\u02b1\3\u02b1") - buf.write("\3\u02b2\3\u02b2\3\u02b2\3\u02b2\3\u02b2\3\u02b2\3\u02b2") - buf.write("\3\u02b3\3\u02b3\3\u02b3\3\u02b3\3\u02b3\3\u02b3\3\u02b3") - buf.write("\3\u02b3\3\u02b4\3\u02b4\3\u02b4\3\u02b4\3\u02b4\3\u02b4") - buf.write("\3\u02b4\3\u02b4\3\u02b4\3\u02b4\3\u02b4\3\u02b4\3\u02b5") - buf.write("\3\u02b5\3\u02b5\3\u02b5\3\u02b5\3\u02b5\3\u02b5\3\u02b5") - buf.write("\3\u02b5\3\u02b5\3\u02b5\3\u02b5\3\u02b6\3\u02b6\3\u02b6") - buf.write("\3\u02b6\3\u02b6\3\u02b6\3\u02b6\3\u02b6\3\u02b6\3\u02b6") - buf.write("\3\u02b7\3\u02b7\3\u02b7\3\u02b7\3\u02b7\3\u02b7\3\u02b7") - buf.write("\3\u02b7\3\u02b7\3\u02b8\3\u02b8\3\u02b8\3\u02b8\3\u02b9") - buf.write("\3\u02b9\3\u02b9\3\u02b9\3\u02b9\3\u02b9\3\u02b9\3\u02ba") - buf.write("\3\u02ba\3\u02ba\3\u02ba\3\u02ba\3\u02ba\3\u02ba\3\u02ba") - buf.write("\3\u02bb\3\u02bb\3\u02bb\3\u02bb\3\u02bb\3\u02bb\3\u02bb") - buf.write("\3\u02bb\3\u02bb\3\u02bc\3\u02bc\3\u02bc\3\u02bc\3\u02bc") - buf.write("\3\u02bc\3\u02bc\3\u02bc\3\u02bc\3\u02bd\3\u02bd\3\u02bd") - buf.write("\3\u02bd\3\u02bd\3\u02bd\3\u02bd\3\u02be\3\u02be\3\u02be") - buf.write("\3\u02be\3\u02bf\3\u02bf\3\u02bf\3\u02bf\3\u02bf\3\u02bf") - buf.write("\3\u02bf\3\u02bf\3\u02bf\3\u02bf\3\u02bf\3\u02c0\3\u02c0") - buf.write("\3\u02c0\3\u02c0\3\u02c0\3\u02c0\3\u02c0\3\u02c0\3\u02c0") - buf.write("\3\u02c0\3\u02c0\3\u02c0\3\u02c0\3\u02c1\3\u02c1\3\u02c1") - buf.write("\3\u02c1\3\u02c1\3\u02c1\3\u02c1\3\u02c1\3\u02c1\3\u02c1") - buf.write("\3\u02c1\3\u02c1\3\u02c1\3\u02c2\3\u02c2\3\u02c2\3\u02c2") - buf.write("\3\u02c2\3\u02c2\3\u02c3\3\u02c3\3\u02c3\3\u02c3\3\u02c3") - buf.write("\3\u02c3\3\u02c3\3\u02c3\3\u02c3\3\u02c3\3\u02c3\3\u02c3") - buf.write("\3\u02c4\3\u02c4\3\u02c4\3\u02c4\3\u02c4\3\u02c4\3\u02c5") - buf.write("\3\u02c5\3\u02c5\3\u02c5\3\u02c5\3\u02c5\3\u02c5\3\u02c6") - buf.write("\3\u02c6\3\u02c6\3\u02c6\3\u02c6\3\u02c6\3\u02c6\3\u02c6") - buf.write("\3\u02c6\3\u02c6\3\u02c6\3\u02c7\3\u02c7\3\u02c7\3\u02c7") - buf.write("\3\u02c7\3\u02c7\3\u02c7\3\u02c7\3\u02c7\3\u02c7\3\u02c7") - buf.write("\3\u02c7\3\u02c8\3\u02c8\3\u02c8\3\u02c8\3\u02c8\3\u02c8") - buf.write("\3\u02c8\3\u02c8\3\u02c8\3\u02c8\3\u02c9\3\u02c9\3\u02c9") - buf.write("\3\u02c9\3\u02c9\3\u02c9\3\u02c9\3\u02c9\3\u02c9\3\u02c9") - buf.write("\3\u02c9\3\u02c9\3\u02c9\3\u02c9\3\u02ca\3\u02ca\3\u02ca") - buf.write("\3\u02ca\3\u02ca\3\u02ca\3\u02ca\3\u02ca\3\u02ca\3\u02ca") - buf.write("\3\u02ca\3\u02ca\3\u02ca\3\u02ca\3\u02ca\3\u02ca\3\u02ca") - buf.write("\3\u02cb\3\u02cb\3\u02cb\3\u02cb\3\u02cb\3\u02cb\3\u02cb") - buf.write("\3\u02cb\3\u02cb\3\u02cb\3\u02cb\3\u02cb\3\u02cb\3\u02cb") - buf.write("\3\u02cb\3\u02cb\3\u02cc\3\u02cc\3\u02cc\3\u02cc\3\u02cc") - buf.write("\3\u02cc\3\u02cc\3\u02cc\3\u02cc\3\u02cc\3\u02cc\3\u02cc") - buf.write("\3\u02cc\3\u02cc\3\u02cc\3\u02cc\3\u02cc\3\u02cc\3\u02cc") - buf.write("\3\u02cc\3\u02cc\3\u02cc\3\u02cc\3\u02cc\3\u02cc\3\u02cc") - buf.write("\3\u02cc\3\u02cd\3\u02cd\3\u02cd\3\u02cd\3\u02cd\3\u02cd") - buf.write("\3\u02cd\3\u02cd\3\u02cd\3\u02cd\3\u02cd\3\u02cd\3\u02cd") - buf.write("\3\u02cd\3\u02cd\3\u02cd\3\u02cd\3\u02cd\3\u02cd\3\u02cd") - buf.write("\3\u02cd\3\u02cd\3\u02cd\3\u02cd\3\u02cd\3\u02cd\3\u02ce") - buf.write("\3\u02ce\3\u02ce\3\u02ce\3\u02ce\3\u02ce\3\u02ce\3\u02ce") - buf.write("\3\u02ce\3\u02ce\3\u02ce\3\u02ce\3\u02ce\3\u02ce\3\u02ce") - buf.write("\3\u02ce\3\u02ce\3\u02cf\3\u02cf\3\u02cf\3\u02cf\3\u02cf") - buf.write("\3\u02cf\3\u02cf\3\u02cf\3\u02cf\3\u02cf\3\u02cf\3\u02cf") - buf.write("\3\u02cf\3\u02cf\3\u02cf\3\u02cf\3\u02d0\3\u02d0\3\u02d0") - buf.write("\3\u02d0\3\u02d0\3\u02d0\3\u02d0\3\u02d0\3\u02d0\3\u02d0") - buf.write("\3\u02d1\3\u02d1\3\u02d1\3\u02d1\3\u02d1\3\u02d1\3\u02d1") - buf.write("\3\u02d1\3\u02d1\3\u02d1\3\u02d1\3\u02d1\3\u02d1\3\u02d2") - buf.write("\3\u02d2\3\u02d2\3\u02d2\3\u02d2\3\u02d2\3\u02d2\3\u02d2") - buf.write("\3\u02d2\3\u02d2\3\u02d2\3\u02d2\3\u02d2\3\u02d3\3\u02d3") - buf.write("\3\u02d3\3\u02d3\3\u02d3\3\u02d3\3\u02d3\3\u02d3\3\u02d3") - buf.write("\3\u02d3\3\u02d3\3\u02d3\3\u02d4\3\u02d4\3\u02d4\3\u02d4") - buf.write("\3\u02d4\3\u02d4\3\u02d4\3\u02d4\3\u02d4\3\u02d4\3\u02d4") - buf.write("\3\u02d5\3\u02d5\3\u02d5\3\u02d5\3\u02d5\3\u02d5\3\u02d5") - buf.write("\3\u02d5\3\u02d5\3\u02d6\3\u02d6\3\u02d6\3\u02d6\3\u02d6") - buf.write("\3\u02d6\3\u02d6\3\u02d6\3\u02d7\3\u02d7\3\u02d7\3\u02d7") - buf.write("\3\u02d7\3\u02d7\3\u02d7\3\u02d7\3\u02d7\3\u02d8\3\u02d8") - buf.write("\3\u02d8\3\u02d8\3\u02d8\3\u02d8\3\u02d8\3\u02d8\3\u02d8") - buf.write("\3\u02d8\3\u02d8\3\u02d8\3\u02d9\3\u02d9\3\u02d9\3\u02d9") - buf.write("\3\u02d9\3\u02d9\3\u02d9\3\u02d9\3\u02d9\3\u02d9\3\u02d9") - buf.write("\3\u02d9\3\u02d9\3\u02d9\3\u02da\3\u02da\3\u02da\3\u02da") - buf.write("\3\u02db\3\u02db\3\u02db\3\u02db\3\u02db\3\u02db\3\u02db") - buf.write("\3\u02dc\3\u02dc\3\u02dc\3\u02dc\3\u02dc\3\u02dc\3\u02dc") - buf.write("\3\u02dc\3\u02dc\3\u02dc\3\u02dc\3\u02dd\3\u02dd\3\u02dd") - buf.write("\3\u02dd\3\u02dd\3\u02dd\3\u02dd\3\u02dd\3\u02dd\3\u02dd") - buf.write("\3\u02dd\3\u02de\3\u02de\3\u02de\3\u02de\3\u02de\3\u02de") - buf.write("\3\u02de\3\u02de\3\u02de\3\u02de\3\u02df\3\u02df\3\u02df") - buf.write("\3\u02df\3\u02df\3\u02df\3\u02df\3\u02df\3\u02df\3\u02df") - buf.write("\3\u02e0\3\u02e0\3\u02e0\3\u02e0\3\u02e0\3\u02e0\3\u02e1") - buf.write("\3\u02e1\3\u02e1\3\u02e1\3\u02e1\3\u02e1\3\u02e1\3\u02e1") - buf.write("\3\u02e1\3\u02e1\3\u02e1\3\u02e1\3\u02e1\3\u02e1\3\u02e2") - buf.write("\3\u02e2\3\u02e2\3\u02e2\3\u02e2\3\u02e2\3\u02e2\3\u02e2") - buf.write("\3\u02e2\3\u02e2\3\u02e2\3\u02e3\3\u02e3\3\u02e3\3\u02e3") - buf.write("\3\u02e3\3\u02e3\3\u02e3\3\u02e3\3\u02e3\3\u02e4\3\u02e4") - buf.write("\3\u02e4\3\u02e4\3\u02e4\3\u02e4\3\u02e4\3\u02e4\3\u02e5") - buf.write("\3\u02e5\3\u02e5\3\u02e5\3\u02e5\3\u02e5\3\u02e5\3\u02e6") - buf.write("\3\u02e6\3\u02e6\3\u02e6\3\u02e6\3\u02e6\3\u02e6\3\u02e6") - buf.write("\3\u02e6\3\u02e7\3\u02e7\3\u02e7\3\u02e7\3\u02e7\3\u02e7") - buf.write("\3\u02e7\3\u02e7\3\u02e7\3\u02e7\3\u02e7\3\u02e7\3\u02e7") - buf.write("\3\u02e8\3\u02e8\3\u02e8\3\u02e8\3\u02e8\3\u02e8\3\u02e8") - buf.write("\3\u02e8\3\u02e9\3\u02e9\3\u02e9\3\u02e9\3\u02e9\3\u02e9") - buf.write("\3\u02e9\3\u02e9\3\u02e9\3\u02e9\3\u02e9\3\u02e9\3\u02e9") - buf.write("\3\u02e9\3\u02e9\3\u02ea\3\u02ea\3\u02ea\3\u02ea\3\u02ea") - buf.write("\3\u02ea\3\u02ea\3\u02ea\3\u02ea\3\u02ea\3\u02ea\3\u02ea") - buf.write("\3\u02ea\3\u02ea\3\u02ea\3\u02eb\3\u02eb\3\u02eb\3\u02eb") - buf.write("\3\u02eb\3\u02eb\3\u02eb\3\u02eb\3\u02ec\3\u02ec\3\u02ec") - buf.write("\3\u02ec\3\u02ec\3\u02ec\3\u02ec\3\u02ec\3\u02ec\3\u02ec") - buf.write("\3\u02ec\3\u02ec\3\u02ec\3\u02ed\3\u02ed\3\u02ed\3\u02ed") - buf.write("\3\u02ed\3\u02ed\3\u02ed\3\u02ed\3\u02ed\3\u02ed\3\u02ed") - buf.write("\3\u02ed\3\u02ed\3\u02ed\3\u02ed\3\u02ee\3\u02ee\3\u02ee") - buf.write("\3\u02ee\3\u02ee\3\u02ee\3\u02ef\3\u02ef\3\u02ef\3\u02ef") - buf.write("\3\u02ef\3\u02ef\3\u02f0\3\u02f0\3\u02f0\3\u02f0\3\u02f0") - buf.write("\3\u02f0\3\u02f0\3\u02f1\3\u02f1\3\u02f1\3\u02f1\3\u02f1") - buf.write("\3\u02f1\3\u02f1\3\u02f1\3\u02f1\3\u02f1\3\u02f1\3\u02f1") - buf.write("\3\u02f1\3\u02f2\3\u02f2\3\u02f2\3\u02f2\3\u02f2\3\u02f2") - buf.write("\3\u02f2\3\u02f2\3\u02f2\3\u02f2\3\u02f2\3\u02f2\3\u02f3") - buf.write("\3\u02f3\3\u02f3\3\u02f3\3\u02f3\3\u02f3\3\u02f3\3\u02f3") - buf.write("\3\u02f3\3\u02f3\3\u02f3\3\u02f3\3\u02f3\3\u02f3\3\u02f3") - buf.write("\3\u02f3\3\u02f3\3\u02f3\3\u02f3\3\u02f4\3\u02f4\3\u02f4") - buf.write("\3\u02f4\3\u02f4\3\u02f4\3\u02f4\3\u02f4\3\u02f4\3\u02f4") - buf.write("\3\u02f4\3\u02f4\3\u02f4\3\u02f4\3\u02f4\3\u02f4\3\u02f4") - buf.write("\3\u02f4\3\u02f5\3\u02f5\3\u02f5\3\u02f6\3\u02f6\3\u02f6") - buf.write("\3\u02f6\3\u02f6\3\u02f6\3\u02f6\3\u02f6\3\u02f6\3\u02f6") - buf.write("\3\u02f7\3\u02f7\3\u02f7\3\u02f7\3\u02f7\3\u02f7\3\u02f7") - buf.write("\3\u02f8\3\u02f8\3\u02f8\3\u02f8\3\u02f9\3\u02f9\3\u02f9") - buf.write("\3\u02f9\3\u02f9\3\u02f9\3\u02fa\3\u02fa\3\u02fa\3\u02fa") - buf.write("\3\u02fa\3\u02fb\3\u02fb\3\u02fb\3\u02fb\3\u02fb\3\u02fb") - buf.write("\3\u02fc\3\u02fc\3\u02fc\3\u02fc\3\u02fc\3\u02fd\3\u02fd") - buf.write("\3\u02fd\3\u02fd\3\u02fd\3\u02fd\3\u02fe\3\u02fe\3\u02fe") - buf.write("\3\u02fe\3\u02fe\3\u02fe\3\u02fe\3\u02fe\3\u02fe\3\u02ff") - buf.write("\3\u02ff\3\u02ff\3\u02ff\3\u02ff\3\u02ff\3\u02ff\3\u02ff") - buf.write("\3\u02ff\3\u0300\3\u0300\3\u0300\3\u0300\3\u0300\3\u0300") - buf.write("\3\u0300\3\u0300\3\u0300\3\u0301\3\u0301\3\u0301\3\u0301") - buf.write("\3\u0301\3\u0301\3\u0301\3\u0301\3\u0301\3\u0301\3\u0301") - buf.write("\3\u0301\3\u0301\3\u0301\3\u0301\3\u0301\3\u0302\3\u0302") - buf.write("\3\u0302\3\u0302\3\u0302\3\u0302\3\u0302\3\u0302\3\u0302") - buf.write("\3\u0302\3\u0302\3\u0302\3\u0303\3\u0303\3\u0303\3\u0303") - buf.write("\3\u0303\3\u0303\3\u0303\3\u0303\3\u0303\3\u0303\3\u0303") - buf.write("\3\u0303\3\u0304\3\u0304\3\u0304\3\u0304\3\u0304\3\u0304") - buf.write("\3\u0304\3\u0304\3\u0304\3\u0305\3\u0305\3\u0305\3\u0305") - buf.write("\3\u0305\3\u0305\3\u0305\3\u0305\3\u0305\3\u0305\3\u0305") - buf.write("\3\u0305\3\u0305\3\u0305\3\u0306\3\u0306\3\u0306\3\u0306") - buf.write("\3\u0306\3\u0306\3\u0306\3\u0306\3\u0306\3\u0306\3\u0306") - buf.write("\3\u0306\3\u0307\3\u0307\3\u0307\3\u0307\3\u0307\3\u0307") - buf.write("\3\u0307\3\u0307\3\u0307\3\u0307\3\u0307\3\u0308\3\u0308") - buf.write("\3\u0308\3\u0308\3\u0308\3\u0308\3\u0308\3\u0308\3\u0308") - buf.write("\3\u0308\3\u0309\3\u0309\3\u0309\3\u0309\3\u030a\3\u030a") - buf.write("\3\u030a\3\u030a\3\u030a\3\u030a\3\u030a\3\u030a\3\u030a") - buf.write("\3\u030a\3\u030a\3\u030a\3\u030a\3\u030a\3\u030b\3\u030b") - buf.write("\3\u030b\3\u030b\3\u030b\3\u030b\3\u030b\3\u030b\3\u030b") - buf.write("\3\u030b\3\u030b\3\u030b\3\u030b\3\u030c\3\u030c\3\u030c") - buf.write("\3\u030c\3\u030c\3\u030c\3\u030c\3\u030c\3\u030c\3\u030c") - buf.write("\3\u030d\3\u030d\3\u030d\3\u030d\3\u030d\3\u030d\3\u030d") - buf.write("\3\u030d\3\u030d\3\u030d\3\u030d\3\u030d\3\u030d\3\u030d") - buf.write("\3\u030d\3\u030e\3\u030e\3\u030e\3\u030e\3\u030e\3\u030e") - buf.write("\3\u030e\3\u030e\3\u030e\3\u030e\3\u030e\3\u030e\3\u030e") - buf.write("\3\u030e\3\u030f\3\u030f\3\u030f\3\u030f\3\u030f\3\u030f") - buf.write("\3\u030f\3\u030f\3\u030f\3\u030f\3\u030f\3\u030f\3\u030f") - buf.write("\3\u030f\3\u0310\3\u0310\3\u0310\3\u0310\3\u0310\3\u0310") - buf.write("\3\u0310\3\u0310\3\u0310\3\u0310\3\u0310\3\u0310\3\u0310") - buf.write("\3\u0311\3\u0311\3\u0311\3\u0311\3\u0311\3\u0311\3\u0311") - buf.write("\3\u0311\3\u0311\3\u0311\3\u0311\3\u0311\3\u0311\3\u0311") - buf.write("\3\u0311\3\u0311\3\u0311\3\u0311\3\u0311\3\u0311\3\u0311") - buf.write("\3\u0311\3\u0311\3\u0311\3\u0312\3\u0312\3\u0312\3\u0312") - buf.write("\3\u0312\3\u0312\3\u0312\3\u0312\3\u0312\3\u0312\3\u0312") - buf.write("\3\u0312\3\u0312\3\u0312\3\u0312\3\u0312\3\u0312\3\u0312") - buf.write("\3\u0312\3\u0312\3\u0312\3\u0312\3\u0312\3\u0313\3\u0313") - buf.write("\3\u0313\3\u0313\3\u0313\3\u0313\3\u0313\3\u0313\3\u0313") - buf.write("\3\u0313\3\u0313\3\u0313\3\u0313\3\u0313\3\u0313\3\u0313") - buf.write("\3\u0313\3\u0313\3\u0313\3\u0314\3\u0314\3\u0314\3\u0314") - buf.write("\3\u0314\3\u0314\3\u0314\3\u0314\3\u0314\3\u0314\3\u0314") - buf.write("\3\u0314\3\u0314\3\u0314\3\u0314\3\u0314\3\u0314\3\u0314") - buf.write("\3\u0315\3\u0315\3\u0315\3\u0315\3\u0315\3\u0315\3\u0315") - buf.write("\3\u0315\3\u0315\3\u0315\3\u0315\3\u0315\3\u0315\3\u0315") - buf.write("\3\u0315\3\u0315\3\u0315\3\u0315\3\u0315\3\u0315\3\u0315") - buf.write("\3\u0316\3\u0316\3\u0316\3\u0316\3\u0316\3\u0316\3\u0316") - buf.write("\3\u0316\3\u0316\3\u0316\3\u0316\3\u0316\3\u0316\3\u0316") - buf.write("\3\u0316\3\u0316\3\u0316\3\u0316\3\u0316\3\u0316\3\u0317") - buf.write("\3\u0317\3\u0317\3\u0317\3\u0317\3\u0317\3\u0317\3\u0317") - buf.write("\3\u0317\3\u0317\3\u0317\3\u0318\3\u0318\3\u0318\3\u0318") - buf.write("\3\u0318\3\u0318\3\u0318\3\u0319\3\u0319\3\u0319\3\u0319") - buf.write("\3\u0319\3\u0319\3\u0319\3\u0319\3\u0319\3\u0319\3\u0319") - buf.write("\3\u0319\3\u0319\3\u0319\3\u031a\3\u031a\3\u031a\3\u031a") - buf.write("\3\u031a\3\u031a\3\u031a\3\u031a\3\u031a\3\u031a\3\u031a") - buf.write("\3\u031a\3\u031a\3\u031a\3\u031a\3\u031a\3\u031a\3\u031b") - buf.write("\3\u031b\3\u031b\3\u031b\3\u031b\3\u031b\3\u031b\3\u031b") - buf.write("\3\u031b\3\u031b\3\u031c\3\u031c\3\u031c\3\u031c\3\u031d") - buf.write("\3\u031d\3\u031d\3\u031d\3\u031d\3\u031d\3\u031d\3\u031d") - buf.write("\3\u031d\3\u031d\3\u031d\3\u031d\3\u031d\3\u031e\3\u031e") - buf.write("\3\u031e\3\u031e\3\u031f\3\u031f\3\u031f\3\u031f\3\u031f") - buf.write("\3\u031f\3\u031f\3\u031f\3\u031f\3\u0320\3\u0320\3\u0320") - buf.write("\3\u0320\3\u0320\3\u0320\3\u0320\3\u0320\3\u0320\3\u0320") - buf.write("\3\u0320\3\u0321\3\u0321\3\u0321\3\u0321\3\u0321\3\u0321") - buf.write("\3\u0321\3\u0321\3\u0321\3\u0321\3\u0321\3\u0321\3\u0322") - buf.write("\3\u0322\3\u0322\3\u0323\3\u0323\3\u0323\3\u0323\3\u0323") - buf.write("\3\u0323\3\u0323\3\u0323\3\u0323\3\u0323\3\u0323\3\u0323") - buf.write("\3\u0323\3\u0323\3\u0324\3\u0324\3\u0324\3\u0324\3\u0324") - buf.write("\3\u0324\3\u0324\3\u0324\3\u0324\3\u0324\3\u0324\3\u0324") - buf.write("\3\u0324\3\u0325\3\u0325\3\u0325\3\u0325\3\u0325\3\u0325") - buf.write("\3\u0325\3\u0326\3\u0326\3\u0326\3\u0326\3\u0326\3\u0326") - buf.write("\3\u0326\3\u0326\3\u0326\3\u0326\3\u0326\3\u0326\3\u0326") - buf.write("\3\u0327\3\u0327\3\u0327\3\u0327\3\u0327\3\u0327\3\u0327") - buf.write("\3\u0327\3\u0327\3\u0327\3\u0327\3\u0327\3\u0328\3\u0328") - buf.write("\3\u0328\3\u0328\3\u0328\3\u0328\3\u0328\3\u0328\3\u0328") - buf.write("\3\u0328\3\u0328\3\u0328\3\u0328\3\u0328\3\u0328\3\u0328") - buf.write("\3\u0329\3\u0329\3\u0329\3\u0329\3\u0329\3\u0329\3\u0329") - buf.write("\3\u0329\3\u0329\3\u0329\3\u0329\3\u0329\3\u0329\3\u0329") - buf.write("\3\u0329\3\u032a\3\u032a\3\u032a\3\u032a\3\u032b\3\u032b") - buf.write("\3\u032b\3\u032b\3\u032b\3\u032b\3\u032c\3\u032c\3\u032c") - buf.write("\3\u032c\3\u032c\3\u032c\3\u032d\3\u032d\3\u032d\3\u032d") - buf.write("\3\u032d\3\u032d\3\u032d\3\u032d\3\u032e\3\u032e\3\u032e") - buf.write("\3\u032e\3\u032e\3\u032f\3\u032f\3\u032f\3\u032f\3\u032f") - buf.write("\3\u032f\3\u032f\3\u032f\3\u032f\3\u032f\3\u032f\3\u032f") - buf.write("\3\u032f\3\u0330\3\u0330\3\u0330\3\u0330\3\u0330\3\u0330") - buf.write("\3\u0330\3\u0330\3\u0330\3\u0330\3\u0330\3\u0330\3\u0330") - buf.write("\3\u0331\3\u0331\3\u0331\3\u0331\3\u0331\3\u0331\3\u0331") - buf.write("\3\u0331\3\u0332\3\u0332\3\u0332\3\u0332\3\u0332\3\u0332") - buf.write("\3\u0333\3\u0333\3\u0333\3\u0333\3\u0333\3\u0333\3\u0333") - buf.write("\3\u0333\3\u0333\3\u0333\3\u0334\3\u0334\3\u0334\3\u0334") - buf.write("\3\u0334\3\u0335\3\u0335\3\u0335\3\u0335\3\u0335\3\u0335") - buf.write("\3\u0336\3\u0336\3\u0336\3\u0336\3\u0336\3\u0336\3\u0336") - buf.write("\3\u0336\3\u0336\3\u0336\3\u0336\3\u0336\3\u0337\3\u0337") - buf.write("\3\u0337\3\u0337\3\u0337\3\u0337\3\u0337\3\u0337\3\u0337") - buf.write("\3\u0337\3\u0337\3\u0337\3\u0337\3\u0338\3\u0338\3\u0338") - buf.write("\3\u0338\3\u0339\3\u0339\3\u0339\3\u0339\3\u0339\3\u033a") - buf.write("\3\u033a\3\u033a\3\u033a\3\u033a\3\u033b\3\u033b\3\u033b") - buf.write("\3\u033b\3\u033b\3\u033c\3\u033c\3\u033c\3\u033c\3\u033d") - buf.write("\3\u033d\3\u033d\3\u033d\3\u033d\3\u033d\3\u033e\3\u033e") - buf.write("\3\u033e\3\u033e\3\u033e\3\u033e\3\u033e\3\u033e\3\u033f") - buf.write("\3\u033f\3\u033f\3\u033f\3\u033f\3\u033f\3\u033f\3\u033f") - buf.write("\3\u033f\3\u033f\3\u033f\3\u033f\3\u033f\3\u033f\3\u033f") - buf.write("\3\u033f\3\u033f\3\u033f\3\u033f\3\u033f\3\u033f\3\u033f") - buf.write("\3\u033f\3\u033f\3\u033f\3\u033f\3\u033f\3\u033f\3\u0340") - buf.write("\3\u0340\3\u0340\3\u0340\3\u0340\3\u0341\3\u0341\3\u0341") - buf.write("\3\u0341\3\u0341\3\u0342\3\u0342\3\u0342\3\u0342\3\u0342") - buf.write("\3\u0342\3\u0342\3\u0342\3\u0342\3\u0342\3\u0342\3\u0343") - buf.write("\3\u0343\3\u0343\3\u0343\3\u0343\3\u0343\3\u0343\3\u0344") - buf.write("\3\u0344\3\u0344\3\u0344\3\u0344\3\u0344\3\u0344\3\u0344") - buf.write("\3\u0344\3\u0344\3\u0344\3\u0344\3\u0345\3\u0345\3\u0345") - buf.write("\3\u0345\3\u0345\3\u0345\3\u0345\3\u0345\3\u0346\3\u0346") - buf.write("\3\u0346\3\u0346\3\u0346\3\u0346\3\u0346\3\u0346\3\u0346") - buf.write("\3\u0346\3\u0346\3\u0346\3\u0347\3\u0347\3\u0347\3\u0347") - buf.write("\3\u0347\3\u0347\3\u0347\3\u0347\3\u0347\3\u0347\3\u0348") - buf.write("\3\u0348\3\u0348\3\u0348\3\u0348\3\u0348\3\u0348\3\u0348") - buf.write("\3\u0348\3\u0349\3\u0349\3\u0349\3\u0349\3\u0349\3\u0349") - buf.write("\3\u0349\3\u0349\3\u0349\3\u034a\3\u034a\3\u034a\3\u034a") - buf.write("\3\u034a\3\u034a\3\u034a\3\u034a\3\u034a\3\u034a\3\u034b") - buf.write("\3\u034b\3\u034b\3\u034b\3\u034b\3\u034b\3\u034b\3\u034b") - buf.write("\3\u034b\3\u034b\3\u034b\3\u034b\3\u034c\3\u034c\3\u034c") - buf.write("\3\u034c\3\u034c\3\u034c\3\u034c\3\u034c\3\u034c\3\u034c") - buf.write("\3\u034c\3\u034c\3\u034d\3\u034d\3\u034d\3\u034d\3\u034d") - buf.write("\3\u034d\3\u034d\3\u034d\3\u034d\3\u034d\3\u034d\3\u034e") - buf.write("\3\u034e\3\u034e\3\u034e\3\u034e\3\u034e\3\u034e\3\u034e") - buf.write("\3\u034e\3\u034e\3\u034e\3\u034e\3\u034e\3\u034e\3\u034f") - buf.write("\3\u034f\3\u034f\3\u034f\3\u034f\3\u034f\3\u034f\3\u034f") - buf.write("\3\u034f\3\u034f\3\u034f\3\u034f\3\u034f\3\u0350\3\u0350") - buf.write("\3\u0350\3\u0350\3\u0350\3\u0350\3\u0350\3\u0350\3\u0350") - buf.write("\3\u0350\3\u0350\3\u0350\3\u0351\3\u0351\3\u0351\3\u0351") - buf.write("\3\u0351\3\u0351\3\u0351\3\u0351\3\u0351\3\u0351\3\u0351") - buf.write("\3\u0351\3\u0352\3\u0352\3\u0352\3\u0352\3\u0352\3\u0352") - buf.write("\3\u0352\3\u0352\3\u0352\3\u0352\3\u0352\3\u0352\3\u0353") - buf.write("\3\u0353\3\u0353\3\u0353\3\u0353\3\u0353\3\u0353\3\u0353") - buf.write("\3\u0353\3\u0353\3\u0353\3\u0353\3\u0354\3\u0354\3\u0354") - buf.write("\3\u0354\3\u0354\3\u0354\3\u0354\3\u0354\3\u0354\3\u0354") - buf.write("\3\u0355\3\u0355\3\u0355\3\u0355\3\u0355\3\u0355\3\u0355") - buf.write("\3\u0355\3\u0355\3\u0355\3\u0355\3\u0355\3\u0355\3\u0355") - buf.write("\3\u0355\3\u0355\3\u0356\3\u0356\3\u0356\3\u0356\3\u0356") - buf.write("\3\u0356\3\u0356\3\u0356\3\u0356\3\u0356\3\u0356\3\u0356") - buf.write("\3\u0356\3\u0356\3\u0356\3\u0356\3\u0356\3\u0356\3\u0356") - buf.write("\3\u0356\3\u0357\3\u0357\3\u0357\3\u0357\3\u0357\3\u0357") - buf.write("\3\u0357\3\u0357\3\u0357\3\u0357\3\u0357\3\u0357\3\u0357") - buf.write("\3\u0357\3\u0357\3\u0357\3\u0357\3\u0357\3\u0357\3\u0358") - buf.write("\3\u0358\3\u0358\3\u0358\3\u0358\3\u0358\3\u0358\3\u0358") - buf.write("\3\u0358\3\u0358\3\u0358\3\u0358\3\u0358\3\u0358\3\u0358") - buf.write("\3\u0358\3\u0358\3\u0358\3\u0358\3\u0359\3\u0359\3\u0359") - buf.write("\3\u0359\3\u0359\3\u0359\3\u0359\3\u0359\3\u0359\3\u0359") - buf.write("\3\u0359\3\u0359\3\u0359\3\u0359\3\u0359\3\u0359\3\u0359") - buf.write("\3\u0359\3\u0359\3\u0359\3\u0359\3\u0359\3\u0359\3\u0359") - buf.write("\3\u0359\3\u0359\3\u0359\3\u0359\3\u0359\3\u0359\3\u035a") - buf.write("\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a") - buf.write("\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a") - buf.write("\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a") - buf.write("\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a\3\u035a") - buf.write("\3\u035b\3\u035b\3\u035b\3\u035b\3\u035b\3\u035b\3\u035b") - buf.write("\3\u035b\3\u035b\3\u035b\3\u035b\3\u035b\3\u035b\3\u035b") - buf.write("\3\u035b\3\u035b\3\u035b\3\u035b\3\u035b\3\u035b\3\u035c") - buf.write("\3\u035c\3\u035c\3\u035c\3\u035c\3\u035c\3\u035c\3\u035c") - buf.write("\3\u035c\3\u035c\3\u035c\3\u035c\3\u035c\3\u035c\3\u035c") - buf.write("\3\u035c\3\u035c\3\u035c\3\u035c\3\u035d\3\u035d\3\u035d") - buf.write("\3\u035d\3\u035d\3\u035d\3\u035d\3\u035d\3\u035d\3\u035d") - buf.write("\3\u035d\3\u035d\3\u035d\3\u035e\3\u035e\3\u035e\3\u035e") - buf.write("\3\u035e\3\u035e\3\u035e\3\u035e\3\u035e\3\u035e\3\u035e") - buf.write("\3\u035e\3\u035e\3\u035e\3\u035e\3\u035e\3\u035f\3\u035f") - buf.write("\3\u035f\3\u035f\3\u035f\3\u035f\3\u035f\3\u035f\3\u035f") - buf.write("\3\u035f\3\u035f\3\u035f\3\u035f\3\u035f\3\u035f\3\u035f") - buf.write("\3\u0360\3\u0360\3\u0360\3\u0360\3\u0360\3\u0360\3\u0360") - buf.write("\3\u0360\3\u0360\3\u0360\3\u0360\3\u0360\3\u0360\3\u0360") - buf.write("\3\u0360\3\u0361\3\u0361\3\u0361\3\u0361\3\u0361\3\u0361") - buf.write("\3\u0361\3\u0361\3\u0361\3\u0361\3\u0361\3\u0361\3\u0361") - buf.write("\3\u0361\3\u0361\3\u0361\3\u0361\3\u0362\3\u0362\3\u0362") - buf.write("\3\u0362\3\u0362\3\u0362\3\u0362\3\u0362\3\u0362\3\u0362") - buf.write("\3\u0362\3\u0362\3\u0362\3\u0362\3\u0362\3\u0362\3\u0363") - buf.write("\3\u0363\3\u0363\3\u0363\3\u0363\3\u0363\3\u0363\3\u0363") - buf.write("\3\u0363\3\u0363\3\u0363\3\u0363\3\u0363\3\u0363\3\u0364") - buf.write("\3\u0364\3\u0364\3\u0364\3\u0364\3\u0364\3\u0364\3\u0364") - buf.write("\3\u0364\3\u0364\3\u0364\3\u0364\3\u0365\3\u0365\3\u0365") - buf.write("\3\u0365\3\u0365\3\u0365\3\u0365\3\u0365\3\u0365\3\u0365") - buf.write("\3\u0365\3\u0366\3\u0366\3\u0366\3\u0366\3\u0366\3\u0366") - buf.write("\3\u0366\3\u0366\3\u0366\3\u0366\3\u0366\3\u0366\3\u0367") - buf.write("\3\u0367\3\u0367\3\u0367\3\u0367\3\u0367\3\u0367\3\u0367") - buf.write("\3\u0367\3\u0367\3\u0367\3\u0367\3\u0367\3\u0367\3\u0367") - buf.write("\3\u0367\3\u0368\3\u0368\3\u0368\3\u0368\3\u0368\3\u0368") - buf.write("\3\u0368\3\u0368\3\u0368\3\u0368\3\u0368\3\u0368\3\u0368") - buf.write("\3\u0368\3\u0368\3\u0369\3\u0369\3\u0369\3\u0369\3\u0369") - buf.write("\3\u0369\3\u0369\3\u0369\3\u0369\3\u0369\3\u0369\3\u0369") - buf.write("\3\u0369\3\u0369\3\u0369\3\u0369\3\u0369\3\u0369\3\u0369") - buf.write("\3\u0369\3\u0369\3\u0369\3\u036a\3\u036a\3\u036a\3\u036a") - buf.write("\3\u036a\3\u036a\3\u036a\3\u036a\3\u036a\3\u036a\3\u036a") - buf.write("\3\u036a\3\u036a\3\u036a\3\u036a\3\u036a\3\u036a\3\u036a") - buf.write("\3\u036a\3\u036a\3\u036a\3\u036b\3\u036b\3\u036b\3\u036b") - buf.write("\3\u036b\3\u036b\3\u036b\3\u036b\3\u036b\3\u036b\3\u036b") - buf.write("\3\u036b\3\u036b\3\u036b\3\u036b\3\u036b\3\u036b\3\u036c") - buf.write("\3\u036c\3\u036c\3\u036c\3\u036c\3\u036c\3\u036c\3\u036c") - buf.write("\3\u036c\3\u036c\3\u036c\3\u036c\3\u036c\3\u036c\3\u036c") - buf.write("\3\u036c\3\u036c\3\u036c\3\u036c\3\u036d\3\u036d\3\u036d") - buf.write("\3\u036d\3\u036d\3\u036d\3\u036d\3\u036d\3\u036d\3\u036d") - buf.write("\3\u036d\3\u036d\3\u036d\3\u036d\3\u036d\3\u036d\3\u036d") - buf.write("\3\u036d\3\u036d\3\u036d\3\u036e\3\u036e\3\u036e\3\u036e") - buf.write("\3\u036e\3\u036e\3\u036e\3\u036e\3\u036e\3\u036e\3\u036e") - buf.write("\3\u036e\3\u036e\3\u036f\3\u036f\3\u036f\3\u036f\3\u036f") - buf.write("\3\u036f\3\u036f\3\u036f\3\u036f\3\u036f\3\u036f\3\u036f") - buf.write("\3\u0370\3\u0370\3\u0370\3\u0370\3\u0370\3\u0370\3\u0370") - buf.write("\3\u0370\3\u0370\3\u0370\3\u0370\3\u0370\3\u0370\3\u0370") - buf.write("\3\u0370\3\u0370\3\u0370\3\u0371\3\u0371\3\u0371\3\u0371") - buf.write("\3\u0371\3\u0371\3\u0371\3\u0371\3\u0371\3\u0371\3\u0371") - buf.write("\3\u0371\3\u0371\3\u0371\3\u0371\3\u0371\3\u0372\3\u0372") - buf.write("\3\u0372\3\u0372\3\u0372\3\u0372\3\u0372\3\u0372\3\u0372") - buf.write("\3\u0372\3\u0373\3\u0373\3\u0373\3\u0373\3\u0373\3\u0373") - buf.write("\3\u0373\3\u0373\3\u0373\3\u0373\3\u0373\3\u0373\3\u0373") - buf.write("\3\u0373\3\u0373\3\u0373\3\u0374\3\u0374\3\u0374\3\u0374") - buf.write("\3\u0374\3\u0374\3\u0374\3\u0374\3\u0374\3\u0374\3\u0374") - buf.write("\3\u0374\3\u0374\3\u0374\3\u0374\3\u0375\3\u0375\3\u0375") - buf.write("\3\u0375\3\u0375\3\u0375\3\u0375\3\u0375\3\u0375\3\u0375") - buf.write("\3\u0375\3\u0375\3\u0375\3\u0375\3\u0375\3\u0375\3\u0375") - buf.write("\3\u0375\3\u0375\3\u0376\3\u0376\3\u0376\3\u0376\3\u0376") - buf.write("\3\u0376\3\u0376\3\u0376\3\u0376\3\u0376\3\u0376\3\u0376") - buf.write("\3\u0376\3\u0376\3\u0376\3\u0376\3\u0376\3\u0376\3\u0377") - buf.write("\3\u0377\3\u0377\3\u0377\3\u0377\3\u0377\3\u0377\3\u0377") - buf.write("\3\u0378\3\u0378\3\u0378\3\u0378\3\u0378\3\u0378\3\u0378") - buf.write("\3\u0378\3\u0378\3\u0378\3\u0378\3\u0378\3\u0378\3\u0378") - buf.write("\3\u0379\3\u0379\3\u0379\3\u0379\3\u0379\3\u0379\3\u0379") - buf.write("\3\u0379\3\u0379\3\u0379\3\u0379\3\u0379\3\u0379\3\u0379") - buf.write("\3\u0379\3\u0379\3\u0379\3\u037a\3\u037a\3\u037a\3\u037a") - buf.write("\3\u037a\3\u037a\3\u037a\3\u037a\3\u037a\3\u037a\3\u037a") - buf.write("\3\u037b\3\u037b\3\u037b\3\u037b\3\u037b\3\u037b\3\u037b") - buf.write("\3\u037b\3\u037b\3\u037c\3\u037c\3\u037c\3\u037c\3\u037c") - buf.write("\3\u037c\3\u037c\3\u037c\3\u037c\3\u037c\3\u037d\3\u037d") - buf.write("\3\u037d\3\u037d\3\u037d\3\u037e\3\u037e\3\u037e\3\u037e") - buf.write("\3\u037e\3\u037f\3\u037f\3\u037f\3\u037f\3\u037f\3\u037f") - buf.write("\3\u037f\3\u037f\3\u0380\3\u0380\3\u0380\3\u0380\3\u0380") - buf.write("\3\u0380\3\u0380\3\u0380\3\u0380\3\u0380\3\u0380\3\u0380") - buf.write("\3\u0380\3\u0380\3\u0380\3\u0380\3\u0381\3\u0381\3\u0381") - buf.write("\3\u0381\3\u0381\3\u0381\3\u0381\3\u0381\3\u0382\3\u0382") - buf.write("\3\u0382\3\u0382\3\u0382\3\u0382\3\u0382\3\u0382\3\u0382") - buf.write("\3\u0382\3\u0382\3\u0382\3\u0383\3\u0383\3\u0383\3\u0383") - buf.write("\3\u0384\3\u0384\3\u0384\3\u0384\3\u0384\3\u0384\3\u0384") - buf.write("\3\u0384\3\u0384\3\u0385\3\u0385\3\u0385\3\u0385\3\u0385") - buf.write("\3\u0385\3\u0385\3\u0385\3\u0385\3\u0385\3\u0385\3\u0385") - buf.write("\3\u0385\3\u0386\3\u0386\3\u0386\3\u0386\3\u0386\3\u0386") - buf.write("\3\u0386\3\u0386\3\u0386\3\u0386\3\u0386\3\u0386\3\u0386") - buf.write("\3\u0386\3\u0387\3\u0387\3\u0387\3\u0387\3\u0387\3\u0387") - buf.write("\3\u0387\3\u0387\3\u0387\3\u0387\3\u0387\3\u0387\3\u0388") - buf.write("\3\u0388\3\u0388\3\u0388\3\u0388\3\u0388\3\u0388\3\u0388") - buf.write("\3\u0388\3\u0388\3\u0388\3\u0388\3\u0389\3\u0389\3\u0389") - buf.write("\3\u0389\3\u0389\3\u0389\3\u0389\3\u0389\3\u038a\3\u038a") - buf.write("\3\u038a\3\u038a\3\u038a\3\u038a\3\u038a\3\u038a\3\u038a") - buf.write("\3\u038a\3\u038b\3\u038b\3\u038b\3\u038b\3\u038b\3\u038b") - buf.write("\3\u038b\3\u038b\3\u038c\3\u038c\3\u038c\3\u038c\3\u038c") - buf.write("\3\u038c\3\u038c\3\u038c\3\u038c\3\u038c\3\u038c\3\u038d") - buf.write("\3\u038d\3\u038d\3\u038d\3\u038d\3\u038d\3\u038e\3\u038e") - buf.write("\3\u038e\3\u038e\3\u038e\3\u038e\3\u038e\3\u038e\3\u038e") - buf.write("\3\u038e\3\u038e\3\u038f\3\u038f\3\u038f\3\u038f\3\u038f") - buf.write("\3\u038f\3\u038f\3\u038f\3\u038f\3\u038f\3\u038f\3\u038f") - buf.write("\3\u038f\3\u038f\3\u038f\3\u038f\3\u038f\3\u038f\3\u038f") - buf.write("\3\u038f\3\u0390\3\u0390\3\u0390\3\u0390\3\u0390\3\u0390") - buf.write("\3\u0391\3\u0391\3\u0391\3\u0391\3\u0391\3\u0391\3\u0391") - buf.write("\3\u0391\3\u0391\3\u0391\3\u0391\3\u0391\3\u0391\3\u0391") - buf.write("\3\u0391\3\u0392\3\u0392\3\u0392\3\u0392\3\u0392\3\u0392") - buf.write("\3\u0392\3\u0392\3\u0392\3\u0392\3\u0393\3\u0393\3\u0393") - buf.write("\3\u0393\3\u0393\3\u0393\3\u0394\3\u0394\3\u0394\3\u0394") - buf.write("\3\u0394\3\u0395\3\u0395\3\u0395\3\u0395\3\u0395\3\u0395") - buf.write("\3\u0395\3\u0395\3\u0395\3\u0395\3\u0395\3\u0396\3\u0396") - buf.write("\3\u0396\3\u0396\3\u0396\3\u0396\3\u0396\3\u0396\3\u0396") - buf.write("\3\u0396\3\u0396\3\u0396\3\u0396\3\u0396\3\u0396\3\u0396") - buf.write("\3\u0396\3\u0396\3\u0396\3\u0396\3\u0396\3\u0396\3\u0396") - buf.write("\3\u0396\3\u0396\3\u0396\3\u0396\3\u0397\3\u0397\3\u0397") - buf.write("\3\u0397\3\u0397\3\u0397\3\u0397\3\u0397\3\u0398\3\u0398") - buf.write("\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398") - buf.write("\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398") - buf.write("\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398") - buf.write("\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398\3\u0398") - buf.write("\3\u0398\3\u0398\3\u0398\3\u0398\3\u0399\3\u0399\3\u0399") - buf.write("\3\u0399\3\u0399\3\u0399\3\u0399\3\u0399\3\u039a\3\u039a") - buf.write("\3\u039a\3\u039a\3\u039a\3\u039a\3\u039a\3\u039a\3\u039a") - buf.write("\3\u039a\3\u039a\3\u039b\3\u039b\3\u039b\3\u039b\3\u039b") - buf.write("\3\u039b\3\u039b\3\u039b\3\u039b\3\u039b\3\u039b\3\u039b") - buf.write("\3\u039b\3\u039b\3\u039c\3\u039c\3\u039c\3\u039c\3\u039c") - buf.write("\3\u039c\3\u039c\3\u039d\3\u039d\3\u039d\3\u039d\3\u039d") - buf.write("\3\u039d\3\u039d\3\u039d\3\u039d\3\u039e\3\u039e\3\u039f") - buf.write("\3\u039f\3\u03a0\3\u03a0\3\u03a0\3\u03a1\3\u03a1\3\u03a1") - buf.write("\3\u03a2\3\u03a2\3\u03a2\3\u03a3\3\u03a3\3\u03a3\3\u03a4") - buf.write("\3\u03a4\3\u03a4\3\u03a5\3\u03a5\3\u03a5\3\u03a6\3\u03a6") - buf.write("\3\u03a6\3\u03a7\3\u03a7\3\u03a7\3\u03a8\3\u03a8\3\u03a8") - buf.write("\3\u03a9\3\u03a9\3\u03aa\3\u03aa\3\u03ab\3\u03ab\3\u03ac") - buf.write("\3\u03ac\3\u03ad\3\u03ad\3\u03ad\3\u03ae\3\u03ae\3\u03af") - buf.write("\3\u03af\3\u03af\3\u03af\3\u03b0\3\u03b0\3\u03b0\3\u03b0") - buf.write("\3\u03b1\3\u03b1\3\u03b2\3\u03b2\3\u03b3\3\u03b3\3\u03b4") - buf.write("\3\u03b4\3\u03b5\3\u03b5\3\u03b6\3\u03b6\3\u03b7\3\u03b7") - buf.write("\3\u03b8\3\u03b8\3\u03b9\3\u03b9\3\u03ba\3\u03ba\3\u03bb") - buf.write("\3\u03bb\3\u03bc\3\u03bc\3\u03bd\3\u03bd\3\u03be\3\u03be") - buf.write("\3\u03bf\3\u03bf\3\u03c0\3\u03c0\3\u03c1\3\u03c1\3\u03c2") - buf.write("\3\u03c2\3\u03c3\3\u03c3\3\u03c4\3\u03c4\3\u03c5\3\u03c5") - buf.write("\3\u03c6\3\u03c6\3\u03c6\3\u03c6\3\u03c7\6\u03c7\u2a47") - buf.write("\n\u03c7\r\u03c7\16\u03c7\u2a48\3\u03c7\3\u03c7\3\u03c8") - buf.write("\3\u03c8\3\u03c8\3\u03c9\3\u03c9\5\u03c9\u2a52\n\u03c9") - buf.write("\3\u03ca\6\u03ca\u2a55\n\u03ca\r\u03ca\16\u03ca\u2a56") - buf.write("\3\u03cb\3\u03cb\3\u03cb\3\u03cb\3\u03cb\6\u03cb\u2a5e") - buf.write("\n\u03cb\r\u03cb\16\u03cb\u2a5f\3\u03cb\3\u03cb\3\u03cb") - buf.write("\3\u03cb\3\u03cb\3\u03cb\6\u03cb\u2a68\n\u03cb\r\u03cb") - buf.write("\16\u03cb\u2a69\5\u03cb\u2a6c\n\u03cb\3\u03cc\6\u03cc") - buf.write("\u2a6f\n\u03cc\r\u03cc\16\u03cc\u2a70\5\u03cc\u2a73\n") - buf.write("\u03cc\3\u03cc\3\u03cc\6\u03cc\u2a77\n\u03cc\r\u03cc\16") - buf.write("\u03cc\u2a78\3\u03cc\6\u03cc\u2a7c\n\u03cc\r\u03cc\16") - buf.write("\u03cc\u2a7d\3\u03cc\3\u03cc\3\u03cc\3\u03cc\6\u03cc\u2a84") - buf.write("\n\u03cc\r\u03cc\16\u03cc\u2a85\5\u03cc\u2a88\n\u03cc") - buf.write("\3\u03cc\3\u03cc\6\u03cc\u2a8c\n\u03cc\r\u03cc\16\u03cc") - buf.write("\u2a8d\3\u03cc\3\u03cc\3\u03cc\6\u03cc\u2a93\n\u03cc\r") - buf.write("\u03cc\16\u03cc\u2a94\3\u03cc\3\u03cc\5\u03cc\u2a99\n") - buf.write("\u03cc\3\u03cd\3\u03cd\3\u03cd\3\u03ce\3\u03ce\3\u03cf") - buf.write("\3\u03cf\3\u03cf\3\u03d0\3\u03d0\3\u03d0\3\u03d1\3\u03d1") - buf.write("\3\u03d2\3\u03d2\6\u03d2\u2aaa\n\u03d2\r\u03d2\16\u03d2") - buf.write("\u2aab\3\u03d2\3\u03d2\3\u03d3\3\u03d3\3\u03d3\3\u03d3") - buf.write("\5\u03d3\u2ab4\n\u03d3\3\u03d3\3\u03d3\3\u03d3\3\u03d3") - buf.write("\3\u03d3\5\u03d3\u2abb\n\u03d3\3\u03d4\3\u03d4\6\u03d4") - buf.write("\u2abf\n\u03d4\r\u03d4\16\u03d4\u2ac0\3\u03d4\3\u03d4") - buf.write("\3\u03d4\5\u03d4\u2ac6\n\u03d4\3\u03d5\3\u03d5\3\u03d5") - buf.write("\6\u03d5\u2acb\n\u03d5\r\u03d5\16\u03d5\u2acc\3\u03d5") - buf.write("\5\u03d5\u2ad0\n\u03d5\3\u03d6\3\u03d6\3\u03d6\3\u03d6") - buf.write("\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6") - buf.write("\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6") - buf.write("\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6") - buf.write("\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6") - buf.write("\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6\3\u03d6") - buf.write("\3\u03d6\5\u03d6\u2afa\n\u03d6\3\u03d7\3\u03d7\5\u03d7") - buf.write("\u2afe\n\u03d7\3\u03d7\6\u03d7\u2b01\n\u03d7\r\u03d7\16") - buf.write("\u03d7\u2b02\3\u03d8\7\u03d8\u2b06\n\u03d8\f\u03d8\16") - buf.write("\u03d8\u2b09\13\u03d8\3\u03d8\6\u03d8\u2b0c\n\u03d8\r") - buf.write("\u03d8\16\u03d8\u2b0d\3\u03d8\7\u03d8\u2b11\n\u03d8\f") - buf.write("\u03d8\16\u03d8\u2b14\13\u03d8\3\u03d9\3\u03d9\3\u03d9") - buf.write("\3\u03d9\3\u03d9\3\u03d9\7\u03d9\u2b1c\n\u03d9\f\u03d9") - buf.write("\16\u03d9\u2b1f\13\u03d9\3\u03d9\3\u03d9\3\u03da\3\u03da") - buf.write("\3\u03da\3\u03da\3\u03da\3\u03da\7\u03da\u2b29\n\u03da") - buf.write("\f\u03da\16\u03da\u2b2c\13\u03da\3\u03da\3\u03da\3\u03db") - buf.write("\3\u03db\3\u03db\3\u03db\3\u03db\3\u03db\7\u03db\u2b36") - buf.write("\n\u03db\f\u03db\16\u03db\u2b39\13\u03db\3\u03db\3\u03db") - buf.write("\3\u03dc\3\u03dc\3\u03dd\3\u03dd\3\u03de\3\u03de\3\u03de") - buf.write("\6\u03de\u2b44\n\u03de\r\u03de\16\u03de\u2b45\3\u03de") - buf.write("\3\u03de\3\u03df\3\u03df\3\u03df\3\u03df\6\u07cd\u07da") - buf.write("\u2b07\u2b0d\2\u03e0\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21") - buf.write("\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24") - buf.write("\'\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\37") - buf.write("= ?!A\"C#E$G%I&K\'M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64") - buf.write("g\65i\66k\67m8o9q:s;u{?}@\177A\u0081B\u0083C\u0085") - buf.write("D\u0087E\u0089F\u008bG\u008dH\u008fI\u0091J\u0093K\u0095") - buf.write("L\u0097M\u0099N\u009bO\u009dP\u009fQ\u00a1R\u00a3S\u00a5") - buf.write("T\u00a7U\u00a9V\u00abW\u00adX\u00afY\u00b1Z\u00b3[\u00b5") - buf.write("\\\u00b7]\u00b9^\u00bb_\u00bd`\u00bfa\u00c1b\u00c3c\u00c5") - buf.write("d\u00c7e\u00c9f\u00cbg\u00cdh\u00cfi\u00d1j\u00d3k\u00d5") - buf.write("l\u00d7m\u00d9n\u00dbo\u00ddp\u00dfq\u00e1r\u00e3s\u00e5") - buf.write("t\u00e7u\u00e9v\u00ebw\u00edx\u00efy\u00f1z\u00f3{\u00f5") - buf.write("|\u00f7}\u00f9~\u00fb\177\u00fd\u0080\u00ff\u0081\u0101") - buf.write("\u0082\u0103\u0083\u0105\u0084\u0107\u0085\u0109\u0086") - buf.write("\u010b\u0087\u010d\u0088\u010f\u0089\u0111\u008a\u0113") - buf.write("\u008b\u0115\u008c\u0117\u008d\u0119\u008e\u011b\u008f") - buf.write("\u011d\u0090\u011f\u0091\u0121\u0092\u0123\u0093\u0125") - buf.write("\u0094\u0127\u0095\u0129\u0096\u012b\u0097\u012d\u0098") - buf.write("\u012f\u0099\u0131\u009a\u0133\u009b\u0135\u009c\u0137") - buf.write("\u009d\u0139\u009e\u013b\u009f\u013d\u00a0\u013f\u00a1") - buf.write("\u0141\u00a2\u0143\u00a3\u0145\u00a4\u0147\u00a5\u0149") - buf.write("\u00a6\u014b\u00a7\u014d\u00a8\u014f\u00a9\u0151\u00aa") - buf.write("\u0153\u00ab\u0155\u00ac\u0157\u00ad\u0159\u00ae\u015b") - buf.write("\u00af\u015d\u00b0\u015f\u00b1\u0161\u00b2\u0163\u00b3") - buf.write("\u0165\u00b4\u0167\u00b5\u0169\u00b6\u016b\u00b7\u016d") - buf.write("\u00b8\u016f\u00b9\u0171\u00ba\u0173\u00bb\u0175\u00bc") - buf.write("\u0177\u00bd\u0179\u00be\u017b\u00bf\u017d\u00c0\u017f") - buf.write("\u00c1\u0181\u00c2\u0183\u00c3\u0185\u00c4\u0187\u00c5") - buf.write("\u0189\u00c6\u018b\u00c7\u018d\u00c8\u018f\u00c9\u0191") - buf.write("\u00ca\u0193\u00cb\u0195\u00cc\u0197\u00cd\u0199\u00ce") - buf.write("\u019b\u00cf\u019d\u00d0\u019f\u00d1\u01a1\u00d2\u01a3") - buf.write("\u00d3\u01a5\u00d4\u01a7\u00d5\u01a9\u00d6\u01ab\u00d7") - buf.write("\u01ad\u00d8\u01af\u00d9\u01b1\u00da\u01b3\u00db\u01b5") - buf.write("\u00dc\u01b7\u00dd\u01b9\u00de\u01bb\u00df\u01bd\u00e0") - buf.write("\u01bf\u00e1\u01c1\u00e2\u01c3\u00e3\u01c5\u00e4\u01c7") - buf.write("\u00e5\u01c9\u00e6\u01cb\u00e7\u01cd\u00e8\u01cf\u00e9") - buf.write("\u01d1\u00ea\u01d3\u00eb\u01d5\u00ec\u01d7\u00ed\u01d9") - buf.write("\u00ee\u01db\u00ef\u01dd\u00f0\u01df\u00f1\u01e1\u00f2") - buf.write("\u01e3\u00f3\u01e5\u00f4\u01e7\u00f5\u01e9\u00f6\u01eb") - buf.write("\u00f7\u01ed\u00f8\u01ef\u00f9\u01f1\u00fa\u01f3\u00fb") - buf.write("\u01f5\u00fc\u01f7\u00fd\u01f9\u00fe\u01fb\u00ff\u01fd") - buf.write("\u0100\u01ff\u0101\u0201\u0102\u0203\u0103\u0205\u0104") - buf.write("\u0207\u0105\u0209\u0106\u020b\u0107\u020d\u0108\u020f") - buf.write("\u0109\u0211\u010a\u0213\u010b\u0215\u010c\u0217\u010d") - buf.write("\u0219\u010e\u021b\u010f\u021d\u0110\u021f\u0111\u0221") - buf.write("\u0112\u0223\u0113\u0225\u0114\u0227\u0115\u0229\u0116") - buf.write("\u022b\u0117\u022d\u0118\u022f\u0119\u0231\u011a\u0233") - buf.write("\u011b\u0235\u011c\u0237\u011d\u0239\u011e\u023b\u011f") - buf.write("\u023d\u0120\u023f\u0121\u0241\u0122\u0243\u0123\u0245") - buf.write("\u0124\u0247\u0125\u0249\u0126\u024b\u0127\u024d\u0128") - buf.write("\u024f\u0129\u0251\u012a\u0253\u012b\u0255\u012c\u0257") - buf.write("\u012d\u0259\u012e\u025b\u012f\u025d\u0130\u025f\u0131") - buf.write("\u0261\u0132\u0263\u0133\u0265\u0134\u0267\u0135\u0269") - buf.write("\u0136\u026b\u0137\u026d\u0138\u026f\u0139\u0271\u013a") - buf.write("\u0273\u013b\u0275\u013c\u0277\u013d\u0279\u013e\u027b") - buf.write("\u013f\u027d\u0140\u027f\u0141\u0281\u0142\u0283\u0143") - buf.write("\u0285\u0144\u0287\u0145\u0289\u0146\u028b\u0147\u028d") - buf.write("\u0148\u028f\u0149\u0291\u014a\u0293\u014b\u0295\u014c") - buf.write("\u0297\u014d\u0299\u014e\u029b\u014f\u029d\u0150\u029f") - buf.write("\u0151\u02a1\u0152\u02a3\u0153\u02a5\u0154\u02a7\u0155") - buf.write("\u02a9\u0156\u02ab\u0157\u02ad\u0158\u02af\u0159\u02b1") - buf.write("\u015a\u02b3\u015b\u02b5\u015c\u02b7\u015d\u02b9\u015e") - buf.write("\u02bb\u015f\u02bd\u0160\u02bf\u0161\u02c1\u0162\u02c3") - buf.write("\u0163\u02c5\u0164\u02c7\u0165\u02c9\u0166\u02cb\u0167") - buf.write("\u02cd\u0168\u02cf\u0169\u02d1\u016a\u02d3\u016b\u02d5") - buf.write("\u016c\u02d7\u016d\u02d9\u016e\u02db\u016f\u02dd\u0170") - buf.write("\u02df\u0171\u02e1\u0172\u02e3\u0173\u02e5\u0174\u02e7") - buf.write("\u0175\u02e9\u0176\u02eb\u0177\u02ed\u0178\u02ef\u0179") - buf.write("\u02f1\u017a\u02f3\u017b\u02f5\u017c\u02f7\u017d\u02f9") - buf.write("\u017e\u02fb\u017f\u02fd\u0180\u02ff\u0181\u0301\u0182") - buf.write("\u0303\u0183\u0305\u0184\u0307\u0185\u0309\u0186\u030b") - buf.write("\u0187\u030d\u0188\u030f\u0189\u0311\u018a\u0313\u018b") - buf.write("\u0315\u018c\u0317\u018d\u0319\u018e\u031b\u018f\u031d") - buf.write("\u0190\u031f\u0191\u0321\u0192\u0323\u0193\u0325\u0194") - buf.write("\u0327\u0195\u0329\u0196\u032b\u0197\u032d\u0198\u032f") - buf.write("\u0199\u0331\u019a\u0333\u019b\u0335\u019c\u0337\u019d") - buf.write("\u0339\u019e\u033b\u019f\u033d\u01a0\u033f\u01a1\u0341") - buf.write("\u01a2\u0343\u01a3\u0345\u01a4\u0347\u01a5\u0349\u01a6") - buf.write("\u034b\u01a7\u034d\u01a8\u034f\u01a9\u0351\u01aa\u0353") - buf.write("\u01ab\u0355\u01ac\u0357\u01ad\u0359\u01ae\u035b\u01af") - buf.write("\u035d\u01b0\u035f\u01b1\u0361\u01b2\u0363\u01b3\u0365") - buf.write("\u01b4\u0367\u01b5\u0369\u01b6\u036b\u01b7\u036d\u01b8") - buf.write("\u036f\u01b9\u0371\u01ba\u0373\u01bb\u0375\u01bc\u0377") - buf.write("\u01bd\u0379\u01be\u037b\u01bf\u037d\u01c0\u037f\u01c1") - buf.write("\u0381\u01c2\u0383\u01c3\u0385\u01c4\u0387\u01c5\u0389") - buf.write("\u01c6\u038b\u01c7\u038d\u01c8\u038f\u01c9\u0391\u01ca") - buf.write("\u0393\u01cb\u0395\u01cc\u0397\u01cd\u0399\u01ce\u039b") - buf.write("\u01cf\u039d\u01d0\u039f\u01d1\u03a1\u01d2\u03a3\u01d3") - buf.write("\u03a5\u01d4\u03a7\u01d5\u03a9\u01d6\u03ab\u01d7\u03ad") - buf.write("\u01d8\u03af\u01d9\u03b1\u01da\u03b3\u01db\u03b5\u01dc") - buf.write("\u03b7\u01dd\u03b9\u01de\u03bb\u01df\u03bd\u01e0\u03bf") - buf.write("\u01e1\u03c1\u01e2\u03c3\u01e3\u03c5\u01e4\u03c7\u01e5") - buf.write("\u03c9\u01e6\u03cb\u01e7\u03cd\u01e8\u03cf\u01e9\u03d1") - buf.write("\u01ea\u03d3\u01eb\u03d5\u01ec\u03d7\u01ed\u03d9\u01ee") - buf.write("\u03db\u01ef\u03dd\u01f0\u03df\u01f1\u03e1\u01f2\u03e3") - buf.write("\u01f3\u03e5\u01f4\u03e7\u01f5\u03e9\u01f6\u03eb\u01f7") - buf.write("\u03ed\u01f8\u03ef\u01f9\u03f1\u01fa\u03f3\u01fb\u03f5") - buf.write("\u01fc\u03f7\u01fd\u03f9\u01fe\u03fb\u01ff\u03fd\u0200") - buf.write("\u03ff\u0201\u0401\u0202\u0403\u0203\u0405\u0204\u0407") - buf.write("\u0205\u0409\u0206\u040b\u0207\u040d\u0208\u040f\u0209") - buf.write("\u0411\u020a\u0413\u020b\u0415\u020c\u0417\u020d\u0419") - buf.write("\u020e\u041b\u020f\u041d\u0210\u041f\u0211\u0421\u0212") - buf.write("\u0423\u0213\u0425\u0214\u0427\u0215\u0429\u0216\u042b") - buf.write("\u0217\u042d\u0218\u042f\u0219\u0431\u021a\u0433\u021b") - buf.write("\u0435\u021c\u0437\u021d\u0439\u021e\u043b\u021f\u043d") - buf.write("\u0220\u043f\u0221\u0441\u0222\u0443\u0223\u0445\u0224") - buf.write("\u0447\u0225\u0449\u0226\u044b\u0227\u044d\u0228\u044f") - buf.write("\u0229\u0451\u022a\u0453\u022b\u0455\u022c\u0457\u022d") - buf.write("\u0459\u022e\u045b\u022f\u045d\u0230\u045f\u0231\u0461") - buf.write("\u0232\u0463\u0233\u0465\u0234\u0467\u0235\u0469\u0236") - buf.write("\u046b\u0237\u046d\u0238\u046f\u0239\u0471\u023a\u0473") - buf.write("\u023b\u0475\u023c\u0477\u023d\u0479\u023e\u047b\u023f") - buf.write("\u047d\u0240\u047f\u0241\u0481\u0242\u0483\u0243\u0485") - buf.write("\u0244\u0487\u0245\u0489\u0246\u048b\u0247\u048d\u0248") - buf.write("\u048f\u0249\u0491\u024a\u0493\u024b\u0495\u024c\u0497") - buf.write("\u024d\u0499\u024e\u049b\u024f\u049d\u0250\u049f\u0251") - buf.write("\u04a1\u0252\u04a3\u0253\u04a5\u0254\u04a7\u0255\u04a9") - buf.write("\u0256\u04ab\u0257\u04ad\u0258\u04af\u0259\u04b1\u025a") - buf.write("\u04b3\u025b\u04b5\u025c\u04b7\u025d\u04b9\u025e\u04bb") - buf.write("\u025f\u04bd\u0260\u04bf\u0261\u04c1\u0262\u04c3\u0263") - buf.write("\u04c5\u0264\u04c7\u0265\u04c9\u0266\u04cb\u0267\u04cd") - buf.write("\u0268\u04cf\u0269\u04d1\u026a\u04d3\u026b\u04d5\u026c") - buf.write("\u04d7\u026d\u04d9\u026e\u04db\u026f\u04dd\u0270\u04df") - buf.write("\u0271\u04e1\u0272\u04e3\u0273\u04e5\u0274\u04e7\u0275") - buf.write("\u04e9\u0276\u04eb\u0277\u04ed\u0278\u04ef\u0279\u04f1") - buf.write("\u027a\u04f3\u027b\u04f5\u027c\u04f7\u027d\u04f9\u027e") - buf.write("\u04fb\u027f\u04fd\u0280\u04ff\u0281\u0501\u0282\u0503") - buf.write("\u0283\u0505\u0284\u0507\u0285\u0509\u0286\u050b\u0287") - buf.write("\u050d\u0288\u050f\u0289\u0511\u028a\u0513\u028b\u0515") - buf.write("\u028c\u0517\u028d\u0519\u028e\u051b\u028f\u051d\u0290") - buf.write("\u051f\u0291\u0521\u0292\u0523\u0293\u0525\u0294\u0527") - buf.write("\u0295\u0529\u0296\u052b\u0297\u052d\u0298\u052f\u0299") - buf.write("\u0531\u029a\u0533\u029b\u0535\u029c\u0537\u029d\u0539") - buf.write("\u029e\u053b\u029f\u053d\u02a0\u053f\u02a1\u0541\u02a2") - buf.write("\u0543\u02a3\u0545\u02a4\u0547\u02a5\u0549\u02a6\u054b") - buf.write("\u02a7\u054d\u02a8\u054f\u02a9\u0551\u02aa\u0553\u02ab") - buf.write("\u0555\u02ac\u0557\u02ad\u0559\u02ae\u055b\u02af\u055d") - buf.write("\u02b0\u055f\u02b1\u0561\u02b2\u0563\u02b3\u0565\u02b4") - buf.write("\u0567\u02b5\u0569\u02b6\u056b\u02b7\u056d\u02b8\u056f") - buf.write("\u02b9\u0571\u02ba\u0573\u02bb\u0575\u02bc\u0577\u02bd") - buf.write("\u0579\u02be\u057b\u02bf\u057d\u02c0\u057f\u02c1\u0581") - buf.write("\u02c2\u0583\u02c3\u0585\u02c4\u0587\u02c5\u0589\u02c6") - buf.write("\u058b\u02c7\u058d\u02c8\u058f\u02c9\u0591\u02ca\u0593") - buf.write("\u02cb\u0595\u02cc\u0597\u02cd\u0599\u02ce\u059b\u02cf") - buf.write("\u059d\u02d0\u059f\u02d1\u05a1\u02d2\u05a3\u02d3\u05a5") - buf.write("\u02d4\u05a7\u02d5\u05a9\u02d6\u05ab\u02d7\u05ad\u02d8") - buf.write("\u05af\u02d9\u05b1\u02da\u05b3\u02db\u05b5\u02dc\u05b7") - buf.write("\u02dd\u05b9\u02de\u05bb\u02df\u05bd\u02e0\u05bf\u02e1") - buf.write("\u05c1\u02e2\u05c3\u02e3\u05c5\u02e4\u05c7\u02e5\u05c9") - buf.write("\u02e6\u05cb\u02e7\u05cd\u02e8\u05cf\u02e9\u05d1\u02ea") - buf.write("\u05d3\u02eb\u05d5\u02ec\u05d7\u02ed\u05d9\u02ee\u05db") - buf.write("\u02ef\u05dd\u02f0\u05df\u02f1\u05e1\u02f2\u05e3\u02f3") - buf.write("\u05e5\u02f4\u05e7\u02f5\u05e9\u02f6\u05eb\u02f7\u05ed") - buf.write("\u02f8\u05ef\u02f9\u05f1\u02fa\u05f3\u02fb\u05f5\u02fc") - buf.write("\u05f7\u02fd\u05f9\u02fe\u05fb\u02ff\u05fd\u0300\u05ff") - buf.write("\u0301\u0601\u0302\u0603\u0303\u0605\u0304\u0607\u0305") - buf.write("\u0609\u0306\u060b\u0307\u060d\u0308\u060f\u0309\u0611") - buf.write("\u030a\u0613\u030b\u0615\u030c\u0617\u030d\u0619\u030e") - buf.write("\u061b\u030f\u061d\u0310\u061f\u0311\u0621\u0312\u0623") - buf.write("\u0313\u0625\u0314\u0627\u0315\u0629\u0316\u062b\u0317") - buf.write("\u062d\u0318\u062f\u0319\u0631\u031a\u0633\u031b\u0635") - buf.write("\u031c\u0637\u031d\u0639\u031e\u063b\u031f\u063d\u0320") - buf.write("\u063f\u0321\u0641\u0322\u0643\u0323\u0645\u0324\u0647") - buf.write("\u0325\u0649\u0326\u064b\u0327\u064d\u0328\u064f\u0329") - buf.write("\u0651\u032a\u0653\u032b\u0655\u032c\u0657\u032d\u0659") - buf.write("\u032e\u065b\u032f\u065d\u0330\u065f\u0331\u0661\u0332") - buf.write("\u0663\u0333\u0665\u0334\u0667\u0335\u0669\u0336\u066b") - buf.write("\u0337\u066d\u0338\u066f\u0339\u0671\u033a\u0673\u033b") - buf.write("\u0675\u033c\u0677\u033d\u0679\u033e\u067b\u033f\u067d") - buf.write("\u0340\u067f\u0341\u0681\u0342\u0683\u0343\u0685\u0344") - buf.write("\u0687\u0345\u0689\u0346\u068b\u0347\u068d\u0348\u068f") - buf.write("\u0349\u0691\u034a\u0693\u034b\u0695\u034c\u0697\u034d") - buf.write("\u0699\u034e\u069b\u034f\u069d\u0350\u069f\u0351\u06a1") - buf.write("\u0352\u06a3\u0353\u06a5\u0354\u06a7\u0355\u06a9\u0356") - buf.write("\u06ab\u0357\u06ad\u0358\u06af\u0359\u06b1\u035a\u06b3") - buf.write("\u035b\u06b5\u035c\u06b7\u035d\u06b9\u035e\u06bb\u035f") - buf.write("\u06bd\u0360\u06bf\u0361\u06c1\u0362\u06c3\u0363\u06c5") - buf.write("\u0364\u06c7\u0365\u06c9\u0366\u06cb\u0367\u06cd\u0368") - buf.write("\u06cf\u0369\u06d1\u036a\u06d3\u036b\u06d5\u036c\u06d7") - buf.write("\u036d\u06d9\u036e\u06db\u036f\u06dd\u0370\u06df\u0371") - buf.write("\u06e1\u0372\u06e3\u0373\u06e5\u0374\u06e7\u0375\u06e9") - buf.write("\u0376\u06eb\u0377\u06ed\u0378\u06ef\u0379\u06f1\u037a") - buf.write("\u06f3\u037b\u06f5\u037c\u06f7\u037d\u06f9\u037e\u06fb") - buf.write("\u037f\u06fd\u0380\u06ff\u0381\u0701\u0382\u0703\u0383") - buf.write("\u0705\u0384\u0707\u0385\u0709\u0386\u070b\u0387\u070d") - buf.write("\u0388\u070f\u0389\u0711\u038a\u0713\u038b\u0715\u038c") - buf.write("\u0717\u038d\u0719\u038e\u071b\u038f\u071d\u0390\u071f") - buf.write("\u0391\u0721\u0392\u0723\u0393\u0725\u0394\u0727\u0395") - buf.write("\u0729\u0396\u072b\u0397\u072d\u0398\u072f\u0399\u0731") - buf.write("\u039a\u0733\u039b\u0735\u039c\u0737\u039d\u0739\u039e") - buf.write("\u073b\u039f\u073d\u03a0\u073f\u03a1\u0741\u03a2\u0743") - buf.write("\u03a3\u0745\u03a4\u0747\u03a5\u0749\u03a6\u074b\u03a7") - buf.write("\u074d\u03a8\u074f\u03a9\u0751\u03aa\u0753\u03ab\u0755") - buf.write("\u03ac\u0757\u03ad\u0759\u03ae\u075b\u03af\u075d\u03b0") - buf.write("\u075f\u03b1\u0761\u03b2\u0763\u03b3\u0765\u03b4\u0767") - buf.write("\u03b5\u0769\u03b6\u076b\u03b7\u076d\u03b8\u076f\u03b9") - buf.write("\u0771\u03ba\u0773\u03bb\u0775\u03bc\u0777\u03bd\u0779") - buf.write("\u03be\u077b\u03bf\u077d\u03c0\u077f\u03c1\u0781\u03c2") - buf.write("\u0783\u03c3\u0785\u03c4\u0787\u03c5\u0789\u03c6\u078b") - buf.write("\u03c7\u078d\u03c8\u078f\u03c9\u0791\u03ca\u0793\u03cb") - buf.write("\u0795\u03cc\u0797\u03cd\u0799\u03ce\u079b\u03cf\u079d") - buf.write("\u03d0\u079f\u03d1\u07a1\u03d2\u07a3\u03d3\u07a5\u03d4") - buf.write("\u07a7\u03d5\u07a9\u03d6\u07ab\2\u07ad\2\u07af\2\u07b1") - buf.write("\2\u07b3\2\u07b5\2\u07b7\2\u07b9\2\u07bb\2\u07bd\u03d7") - buf.write("\3\2\17\5\2\13\f\17\17\"\"\4\2\f\f\17\17\6\2IIMMOOVV\3") - buf.write("\2bb\7\2&&\60\60\62;C\\aa\6\2&&\62;C\\aa\5\2&&C\\aa\4") - buf.write("\2$$^^\4\2))^^\4\2^^bb\4\2\62;CH\3\2\62;\3\2\62\63\2\u2ba1") - buf.write("\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13") - buf.write("\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2\2\2\23\3") - buf.write("\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2\2\2\2\33\3\2") - buf.write("\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2") - buf.write("%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2") - buf.write("\2/\3\2\2\2\2\61\3\2\2\2\2\63\3\2\2\2\2\65\3\2\2\2\2\67") - buf.write("\3\2\2\2\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2") - buf.write("A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3\2\2\2") - buf.write("\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2") - buf.write("\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2") - buf.write("\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3") - buf.write("\2\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2\2\2o\3\2\2\2\2q") - buf.write("\3\2\2\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2") - buf.write("{\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083") - buf.write("\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3\2\2\2\2\u0089\3\2\2") - buf.write("\2\2\u008b\3\2\2\2\2\u008d\3\2\2\2\2\u008f\3\2\2\2\2\u0091") - buf.write("\3\2\2\2\2\u0093\3\2\2\2\2\u0095\3\2\2\2\2\u0097\3\2\2") - buf.write("\2\2\u0099\3\2\2\2\2\u009b\3\2\2\2\2\u009d\3\2\2\2\2\u009f") - buf.write("\3\2\2\2\2\u00a1\3\2\2\2\2\u00a3\3\2\2\2\2\u00a5\3\2\2") - buf.write("\2\2\u00a7\3\2\2\2\2\u00a9\3\2\2\2\2\u00ab\3\2\2\2\2\u00ad") - buf.write("\3\2\2\2\2\u00af\3\2\2\2\2\u00b1\3\2\2\2\2\u00b3\3\2\2") - buf.write("\2\2\u00b5\3\2\2\2\2\u00b7\3\2\2\2\2\u00b9\3\2\2\2\2\u00bb") - buf.write("\3\2\2\2\2\u00bd\3\2\2\2\2\u00bf\3\2\2\2\2\u00c1\3\2\2") - buf.write("\2\2\u00c3\3\2\2\2\2\u00c5\3\2\2\2\2\u00c7\3\2\2\2\2\u00c9") - buf.write("\3\2\2\2\2\u00cb\3\2\2\2\2\u00cd\3\2\2\2\2\u00cf\3\2\2") - buf.write("\2\2\u00d1\3\2\2\2\2\u00d3\3\2\2\2\2\u00d5\3\2\2\2\2\u00d7") - buf.write("\3\2\2\2\2\u00d9\3\2\2\2\2\u00db\3\2\2\2\2\u00dd\3\2\2") - buf.write("\2\2\u00df\3\2\2\2\2\u00e1\3\2\2\2\2\u00e3\3\2\2\2\2\u00e5") - buf.write("\3\2\2\2\2\u00e7\3\2\2\2\2\u00e9\3\2\2\2\2\u00eb\3\2\2") - buf.write("\2\2\u00ed\3\2\2\2\2\u00ef\3\2\2\2\2\u00f1\3\2\2\2\2\u00f3") - buf.write("\3\2\2\2\2\u00f5\3\2\2\2\2\u00f7\3\2\2\2\2\u00f9\3\2\2") - buf.write("\2\2\u00fb\3\2\2\2\2\u00fd\3\2\2\2\2\u00ff\3\2\2\2\2\u0101") - buf.write("\3\2\2\2\2\u0103\3\2\2\2\2\u0105\3\2\2\2\2\u0107\3\2\2") - buf.write("\2\2\u0109\3\2\2\2\2\u010b\3\2\2\2\2\u010d\3\2\2\2\2\u010f") - buf.write("\3\2\2\2\2\u0111\3\2\2\2\2\u0113\3\2\2\2\2\u0115\3\2\2") - buf.write("\2\2\u0117\3\2\2\2\2\u0119\3\2\2\2\2\u011b\3\2\2\2\2\u011d") - buf.write("\3\2\2\2\2\u011f\3\2\2\2\2\u0121\3\2\2\2\2\u0123\3\2\2") - buf.write("\2\2\u0125\3\2\2\2\2\u0127\3\2\2\2\2\u0129\3\2\2\2\2\u012b") - buf.write("\3\2\2\2\2\u012d\3\2\2\2\2\u012f\3\2\2\2\2\u0131\3\2\2") - buf.write("\2\2\u0133\3\2\2\2\2\u0135\3\2\2\2\2\u0137\3\2\2\2\2\u0139") - buf.write("\3\2\2\2\2\u013b\3\2\2\2\2\u013d\3\2\2\2\2\u013f\3\2\2") - buf.write("\2\2\u0141\3\2\2\2\2\u0143\3\2\2\2\2\u0145\3\2\2\2\2\u0147") - buf.write("\3\2\2\2\2\u0149\3\2\2\2\2\u014b\3\2\2\2\2\u014d\3\2\2") - buf.write("\2\2\u014f\3\2\2\2\2\u0151\3\2\2\2\2\u0153\3\2\2\2\2\u0155") - buf.write("\3\2\2\2\2\u0157\3\2\2\2\2\u0159\3\2\2\2\2\u015b\3\2\2") - buf.write("\2\2\u015d\3\2\2\2\2\u015f\3\2\2\2\2\u0161\3\2\2\2\2\u0163") - buf.write("\3\2\2\2\2\u0165\3\2\2\2\2\u0167\3\2\2\2\2\u0169\3\2\2") - buf.write("\2\2\u016b\3\2\2\2\2\u016d\3\2\2\2\2\u016f\3\2\2\2\2\u0171") - buf.write("\3\2\2\2\2\u0173\3\2\2\2\2\u0175\3\2\2\2\2\u0177\3\2\2") - buf.write("\2\2\u0179\3\2\2\2\2\u017b\3\2\2\2\2\u017d\3\2\2\2\2\u017f") - buf.write("\3\2\2\2\2\u0181\3\2\2\2\2\u0183\3\2\2\2\2\u0185\3\2\2") - buf.write("\2\2\u0187\3\2\2\2\2\u0189\3\2\2\2\2\u018b\3\2\2\2\2\u018d") - buf.write("\3\2\2\2\2\u018f\3\2\2\2\2\u0191\3\2\2\2\2\u0193\3\2\2") - buf.write("\2\2\u0195\3\2\2\2\2\u0197\3\2\2\2\2\u0199\3\2\2\2\2\u019b") - buf.write("\3\2\2\2\2\u019d\3\2\2\2\2\u019f\3\2\2\2\2\u01a1\3\2\2") - buf.write("\2\2\u01a3\3\2\2\2\2\u01a5\3\2\2\2\2\u01a7\3\2\2\2\2\u01a9") - buf.write("\3\2\2\2\2\u01ab\3\2\2\2\2\u01ad\3\2\2\2\2\u01af\3\2\2") - buf.write("\2\2\u01b1\3\2\2\2\2\u01b3\3\2\2\2\2\u01b5\3\2\2\2\2\u01b7") - buf.write("\3\2\2\2\2\u01b9\3\2\2\2\2\u01bb\3\2\2\2\2\u01bd\3\2\2") - buf.write("\2\2\u01bf\3\2\2\2\2\u01c1\3\2\2\2\2\u01c3\3\2\2\2\2\u01c5") - buf.write("\3\2\2\2\2\u01c7\3\2\2\2\2\u01c9\3\2\2\2\2\u01cb\3\2\2") - buf.write("\2\2\u01cd\3\2\2\2\2\u01cf\3\2\2\2\2\u01d1\3\2\2\2\2\u01d3") - buf.write("\3\2\2\2\2\u01d5\3\2\2\2\2\u01d7\3\2\2\2\2\u01d9\3\2\2") - buf.write("\2\2\u01db\3\2\2\2\2\u01dd\3\2\2\2\2\u01df\3\2\2\2\2\u01e1") - buf.write("\3\2\2\2\2\u01e3\3\2\2\2\2\u01e5\3\2\2\2\2\u01e7\3\2\2") - buf.write("\2\2\u01e9\3\2\2\2\2\u01eb\3\2\2\2\2\u01ed\3\2\2\2\2\u01ef") - buf.write("\3\2\2\2\2\u01f1\3\2\2\2\2\u01f3\3\2\2\2\2\u01f5\3\2\2") - buf.write("\2\2\u01f7\3\2\2\2\2\u01f9\3\2\2\2\2\u01fb\3\2\2\2\2\u01fd") - buf.write("\3\2\2\2\2\u01ff\3\2\2\2\2\u0201\3\2\2\2\2\u0203\3\2\2") - buf.write("\2\2\u0205\3\2\2\2\2\u0207\3\2\2\2\2\u0209\3\2\2\2\2\u020b") - buf.write("\3\2\2\2\2\u020d\3\2\2\2\2\u020f\3\2\2\2\2\u0211\3\2\2") - buf.write("\2\2\u0213\3\2\2\2\2\u0215\3\2\2\2\2\u0217\3\2\2\2\2\u0219") - buf.write("\3\2\2\2\2\u021b\3\2\2\2\2\u021d\3\2\2\2\2\u021f\3\2\2") - buf.write("\2\2\u0221\3\2\2\2\2\u0223\3\2\2\2\2\u0225\3\2\2\2\2\u0227") - buf.write("\3\2\2\2\2\u0229\3\2\2\2\2\u022b\3\2\2\2\2\u022d\3\2\2") - buf.write("\2\2\u022f\3\2\2\2\2\u0231\3\2\2\2\2\u0233\3\2\2\2\2\u0235") - buf.write("\3\2\2\2\2\u0237\3\2\2\2\2\u0239\3\2\2\2\2\u023b\3\2\2") - buf.write("\2\2\u023d\3\2\2\2\2\u023f\3\2\2\2\2\u0241\3\2\2\2\2\u0243") - buf.write("\3\2\2\2\2\u0245\3\2\2\2\2\u0247\3\2\2\2\2\u0249\3\2\2") - buf.write("\2\2\u024b\3\2\2\2\2\u024d\3\2\2\2\2\u024f\3\2\2\2\2\u0251") - buf.write("\3\2\2\2\2\u0253\3\2\2\2\2\u0255\3\2\2\2\2\u0257\3\2\2") - buf.write("\2\2\u0259\3\2\2\2\2\u025b\3\2\2\2\2\u025d\3\2\2\2\2\u025f") - buf.write("\3\2\2\2\2\u0261\3\2\2\2\2\u0263\3\2\2\2\2\u0265\3\2\2") - buf.write("\2\2\u0267\3\2\2\2\2\u0269\3\2\2\2\2\u026b\3\2\2\2\2\u026d") - buf.write("\3\2\2\2\2\u026f\3\2\2\2\2\u0271\3\2\2\2\2\u0273\3\2\2") - buf.write("\2\2\u0275\3\2\2\2\2\u0277\3\2\2\2\2\u0279\3\2\2\2\2\u027b") - buf.write("\3\2\2\2\2\u027d\3\2\2\2\2\u027f\3\2\2\2\2\u0281\3\2\2") - buf.write("\2\2\u0283\3\2\2\2\2\u0285\3\2\2\2\2\u0287\3\2\2\2\2\u0289") - buf.write("\3\2\2\2\2\u028b\3\2\2\2\2\u028d\3\2\2\2\2\u028f\3\2\2") - buf.write("\2\2\u0291\3\2\2\2\2\u0293\3\2\2\2\2\u0295\3\2\2\2\2\u0297") - buf.write("\3\2\2\2\2\u0299\3\2\2\2\2\u029b\3\2\2\2\2\u029d\3\2\2") - buf.write("\2\2\u029f\3\2\2\2\2\u02a1\3\2\2\2\2\u02a3\3\2\2\2\2\u02a5") - buf.write("\3\2\2\2\2\u02a7\3\2\2\2\2\u02a9\3\2\2\2\2\u02ab\3\2\2") - buf.write("\2\2\u02ad\3\2\2\2\2\u02af\3\2\2\2\2\u02b1\3\2\2\2\2\u02b3") - buf.write("\3\2\2\2\2\u02b5\3\2\2\2\2\u02b7\3\2\2\2\2\u02b9\3\2\2") - buf.write("\2\2\u02bb\3\2\2\2\2\u02bd\3\2\2\2\2\u02bf\3\2\2\2\2\u02c1") - buf.write("\3\2\2\2\2\u02c3\3\2\2\2\2\u02c5\3\2\2\2\2\u02c7\3\2\2") - buf.write("\2\2\u02c9\3\2\2\2\2\u02cb\3\2\2\2\2\u02cd\3\2\2\2\2\u02cf") - buf.write("\3\2\2\2\2\u02d1\3\2\2\2\2\u02d3\3\2\2\2\2\u02d5\3\2\2") - buf.write("\2\2\u02d7\3\2\2\2\2\u02d9\3\2\2\2\2\u02db\3\2\2\2\2\u02dd") - buf.write("\3\2\2\2\2\u02df\3\2\2\2\2\u02e1\3\2\2\2\2\u02e3\3\2\2") - buf.write("\2\2\u02e5\3\2\2\2\2\u02e7\3\2\2\2\2\u02e9\3\2\2\2\2\u02eb") - buf.write("\3\2\2\2\2\u02ed\3\2\2\2\2\u02ef\3\2\2\2\2\u02f1\3\2\2") - buf.write("\2\2\u02f3\3\2\2\2\2\u02f5\3\2\2\2\2\u02f7\3\2\2\2\2\u02f9") - buf.write("\3\2\2\2\2\u02fb\3\2\2\2\2\u02fd\3\2\2\2\2\u02ff\3\2\2") - buf.write("\2\2\u0301\3\2\2\2\2\u0303\3\2\2\2\2\u0305\3\2\2\2\2\u0307") - buf.write("\3\2\2\2\2\u0309\3\2\2\2\2\u030b\3\2\2\2\2\u030d\3\2\2") - buf.write("\2\2\u030f\3\2\2\2\2\u0311\3\2\2\2\2\u0313\3\2\2\2\2\u0315") - buf.write("\3\2\2\2\2\u0317\3\2\2\2\2\u0319\3\2\2\2\2\u031b\3\2\2") - buf.write("\2\2\u031d\3\2\2\2\2\u031f\3\2\2\2\2\u0321\3\2\2\2\2\u0323") - buf.write("\3\2\2\2\2\u0325\3\2\2\2\2\u0327\3\2\2\2\2\u0329\3\2\2") - buf.write("\2\2\u032b\3\2\2\2\2\u032d\3\2\2\2\2\u032f\3\2\2\2\2\u0331") - buf.write("\3\2\2\2\2\u0333\3\2\2\2\2\u0335\3\2\2\2\2\u0337\3\2\2") - buf.write("\2\2\u0339\3\2\2\2\2\u033b\3\2\2\2\2\u033d\3\2\2\2\2\u033f") - buf.write("\3\2\2\2\2\u0341\3\2\2\2\2\u0343\3\2\2\2\2\u0345\3\2\2") - buf.write("\2\2\u0347\3\2\2\2\2\u0349\3\2\2\2\2\u034b\3\2\2\2\2\u034d") - buf.write("\3\2\2\2\2\u034f\3\2\2\2\2\u0351\3\2\2\2\2\u0353\3\2\2") - buf.write("\2\2\u0355\3\2\2\2\2\u0357\3\2\2\2\2\u0359\3\2\2\2\2\u035b") - buf.write("\3\2\2\2\2\u035d\3\2\2\2\2\u035f\3\2\2\2\2\u0361\3\2\2") - buf.write("\2\2\u0363\3\2\2\2\2\u0365\3\2\2\2\2\u0367\3\2\2\2\2\u0369") - buf.write("\3\2\2\2\2\u036b\3\2\2\2\2\u036d\3\2\2\2\2\u036f\3\2\2") - buf.write("\2\2\u0371\3\2\2\2\2\u0373\3\2\2\2\2\u0375\3\2\2\2\2\u0377") - buf.write("\3\2\2\2\2\u0379\3\2\2\2\2\u037b\3\2\2\2\2\u037d\3\2\2") - buf.write("\2\2\u037f\3\2\2\2\2\u0381\3\2\2\2\2\u0383\3\2\2\2\2\u0385") - buf.write("\3\2\2\2\2\u0387\3\2\2\2\2\u0389\3\2\2\2\2\u038b\3\2\2") - buf.write("\2\2\u038d\3\2\2\2\2\u038f\3\2\2\2\2\u0391\3\2\2\2\2\u0393") - buf.write("\3\2\2\2\2\u0395\3\2\2\2\2\u0397\3\2\2\2\2\u0399\3\2\2") - buf.write("\2\2\u039b\3\2\2\2\2\u039d\3\2\2\2\2\u039f\3\2\2\2\2\u03a1") - buf.write("\3\2\2\2\2\u03a3\3\2\2\2\2\u03a5\3\2\2\2\2\u03a7\3\2\2") - buf.write("\2\2\u03a9\3\2\2\2\2\u03ab\3\2\2\2\2\u03ad\3\2\2\2\2\u03af") - buf.write("\3\2\2\2\2\u03b1\3\2\2\2\2\u03b3\3\2\2\2\2\u03b5\3\2\2") - buf.write("\2\2\u03b7\3\2\2\2\2\u03b9\3\2\2\2\2\u03bb\3\2\2\2\2\u03bd") - buf.write("\3\2\2\2\2\u03bf\3\2\2\2\2\u03c1\3\2\2\2\2\u03c3\3\2\2") - buf.write("\2\2\u03c5\3\2\2\2\2\u03c7\3\2\2\2\2\u03c9\3\2\2\2\2\u03cb") - buf.write("\3\2\2\2\2\u03cd\3\2\2\2\2\u03cf\3\2\2\2\2\u03d1\3\2\2") - buf.write("\2\2\u03d3\3\2\2\2\2\u03d5\3\2\2\2\2\u03d7\3\2\2\2\2\u03d9") - buf.write("\3\2\2\2\2\u03db\3\2\2\2\2\u03dd\3\2\2\2\2\u03df\3\2\2") - buf.write("\2\2\u03e1\3\2\2\2\2\u03e3\3\2\2\2\2\u03e5\3\2\2\2\2\u03e7") - buf.write("\3\2\2\2\2\u03e9\3\2\2\2\2\u03eb\3\2\2\2\2\u03ed\3\2\2") - buf.write("\2\2\u03ef\3\2\2\2\2\u03f1\3\2\2\2\2\u03f3\3\2\2\2\2\u03f5") - buf.write("\3\2\2\2\2\u03f7\3\2\2\2\2\u03f9\3\2\2\2\2\u03fb\3\2\2") - buf.write("\2\2\u03fd\3\2\2\2\2\u03ff\3\2\2\2\2\u0401\3\2\2\2\2\u0403") - buf.write("\3\2\2\2\2\u0405\3\2\2\2\2\u0407\3\2\2\2\2\u0409\3\2\2") - buf.write("\2\2\u040b\3\2\2\2\2\u040d\3\2\2\2\2\u040f\3\2\2\2\2\u0411") - buf.write("\3\2\2\2\2\u0413\3\2\2\2\2\u0415\3\2\2\2\2\u0417\3\2\2") - buf.write("\2\2\u0419\3\2\2\2\2\u041b\3\2\2\2\2\u041d\3\2\2\2\2\u041f") - buf.write("\3\2\2\2\2\u0421\3\2\2\2\2\u0423\3\2\2\2\2\u0425\3\2\2") - buf.write("\2\2\u0427\3\2\2\2\2\u0429\3\2\2\2\2\u042b\3\2\2\2\2\u042d") - buf.write("\3\2\2\2\2\u042f\3\2\2\2\2\u0431\3\2\2\2\2\u0433\3\2\2") - buf.write("\2\2\u0435\3\2\2\2\2\u0437\3\2\2\2\2\u0439\3\2\2\2\2\u043b") - buf.write("\3\2\2\2\2\u043d\3\2\2\2\2\u043f\3\2\2\2\2\u0441\3\2\2") - buf.write("\2\2\u0443\3\2\2\2\2\u0445\3\2\2\2\2\u0447\3\2\2\2\2\u0449") - buf.write("\3\2\2\2\2\u044b\3\2\2\2\2\u044d\3\2\2\2\2\u044f\3\2\2") - buf.write("\2\2\u0451\3\2\2\2\2\u0453\3\2\2\2\2\u0455\3\2\2\2\2\u0457") - buf.write("\3\2\2\2\2\u0459\3\2\2\2\2\u045b\3\2\2\2\2\u045d\3\2\2") - buf.write("\2\2\u045f\3\2\2\2\2\u0461\3\2\2\2\2\u0463\3\2\2\2\2\u0465") - buf.write("\3\2\2\2\2\u0467\3\2\2\2\2\u0469\3\2\2\2\2\u046b\3\2\2") - buf.write("\2\2\u046d\3\2\2\2\2\u046f\3\2\2\2\2\u0471\3\2\2\2\2\u0473") - buf.write("\3\2\2\2\2\u0475\3\2\2\2\2\u0477\3\2\2\2\2\u0479\3\2\2") - buf.write("\2\2\u047b\3\2\2\2\2\u047d\3\2\2\2\2\u047f\3\2\2\2\2\u0481") - buf.write("\3\2\2\2\2\u0483\3\2\2\2\2\u0485\3\2\2\2\2\u0487\3\2\2") - buf.write("\2\2\u0489\3\2\2\2\2\u048b\3\2\2\2\2\u048d\3\2\2\2\2\u048f") - buf.write("\3\2\2\2\2\u0491\3\2\2\2\2\u0493\3\2\2\2\2\u0495\3\2\2") - buf.write("\2\2\u0497\3\2\2\2\2\u0499\3\2\2\2\2\u049b\3\2\2\2\2\u049d") - buf.write("\3\2\2\2\2\u049f\3\2\2\2\2\u04a1\3\2\2\2\2\u04a3\3\2\2") - buf.write("\2\2\u04a5\3\2\2\2\2\u04a7\3\2\2\2\2\u04a9\3\2\2\2\2\u04ab") - buf.write("\3\2\2\2\2\u04ad\3\2\2\2\2\u04af\3\2\2\2\2\u04b1\3\2\2") - buf.write("\2\2\u04b3\3\2\2\2\2\u04b5\3\2\2\2\2\u04b7\3\2\2\2\2\u04b9") - buf.write("\3\2\2\2\2\u04bb\3\2\2\2\2\u04bd\3\2\2\2\2\u04bf\3\2\2") - buf.write("\2\2\u04c1\3\2\2\2\2\u04c3\3\2\2\2\2\u04c5\3\2\2\2\2\u04c7") - buf.write("\3\2\2\2\2\u04c9\3\2\2\2\2\u04cb\3\2\2\2\2\u04cd\3\2\2") - buf.write("\2\2\u04cf\3\2\2\2\2\u04d1\3\2\2\2\2\u04d3\3\2\2\2\2\u04d5") - buf.write("\3\2\2\2\2\u04d7\3\2\2\2\2\u04d9\3\2\2\2\2\u04db\3\2\2") - buf.write("\2\2\u04dd\3\2\2\2\2\u04df\3\2\2\2\2\u04e1\3\2\2\2\2\u04e3") - buf.write("\3\2\2\2\2\u04e5\3\2\2\2\2\u04e7\3\2\2\2\2\u04e9\3\2\2") - buf.write("\2\2\u04eb\3\2\2\2\2\u04ed\3\2\2\2\2\u04ef\3\2\2\2\2\u04f1") - buf.write("\3\2\2\2\2\u04f3\3\2\2\2\2\u04f5\3\2\2\2\2\u04f7\3\2\2") - buf.write("\2\2\u04f9\3\2\2\2\2\u04fb\3\2\2\2\2\u04fd\3\2\2\2\2\u04ff") - buf.write("\3\2\2\2\2\u0501\3\2\2\2\2\u0503\3\2\2\2\2\u0505\3\2\2") - buf.write("\2\2\u0507\3\2\2\2\2\u0509\3\2\2\2\2\u050b\3\2\2\2\2\u050d") - buf.write("\3\2\2\2\2\u050f\3\2\2\2\2\u0511\3\2\2\2\2\u0513\3\2\2") - buf.write("\2\2\u0515\3\2\2\2\2\u0517\3\2\2\2\2\u0519\3\2\2\2\2\u051b") - buf.write("\3\2\2\2\2\u051d\3\2\2\2\2\u051f\3\2\2\2\2\u0521\3\2\2") - buf.write("\2\2\u0523\3\2\2\2\2\u0525\3\2\2\2\2\u0527\3\2\2\2\2\u0529") - buf.write("\3\2\2\2\2\u052b\3\2\2\2\2\u052d\3\2\2\2\2\u052f\3\2\2") - buf.write("\2\2\u0531\3\2\2\2\2\u0533\3\2\2\2\2\u0535\3\2\2\2\2\u0537") - buf.write("\3\2\2\2\2\u0539\3\2\2\2\2\u053b\3\2\2\2\2\u053d\3\2\2") - buf.write("\2\2\u053f\3\2\2\2\2\u0541\3\2\2\2\2\u0543\3\2\2\2\2\u0545") - buf.write("\3\2\2\2\2\u0547\3\2\2\2\2\u0549\3\2\2\2\2\u054b\3\2\2") - buf.write("\2\2\u054d\3\2\2\2\2\u054f\3\2\2\2\2\u0551\3\2\2\2\2\u0553") - buf.write("\3\2\2\2\2\u0555\3\2\2\2\2\u0557\3\2\2\2\2\u0559\3\2\2") - buf.write("\2\2\u055b\3\2\2\2\2\u055d\3\2\2\2\2\u055f\3\2\2\2\2\u0561") - buf.write("\3\2\2\2\2\u0563\3\2\2\2\2\u0565\3\2\2\2\2\u0567\3\2\2") - buf.write("\2\2\u0569\3\2\2\2\2\u056b\3\2\2\2\2\u056d\3\2\2\2\2\u056f") - buf.write("\3\2\2\2\2\u0571\3\2\2\2\2\u0573\3\2\2\2\2\u0575\3\2\2") - buf.write("\2\2\u0577\3\2\2\2\2\u0579\3\2\2\2\2\u057b\3\2\2\2\2\u057d") - buf.write("\3\2\2\2\2\u057f\3\2\2\2\2\u0581\3\2\2\2\2\u0583\3\2\2") - buf.write("\2\2\u0585\3\2\2\2\2\u0587\3\2\2\2\2\u0589\3\2\2\2\2\u058b") - buf.write("\3\2\2\2\2\u058d\3\2\2\2\2\u058f\3\2\2\2\2\u0591\3\2\2") - buf.write("\2\2\u0593\3\2\2\2\2\u0595\3\2\2\2\2\u0597\3\2\2\2\2\u0599") - buf.write("\3\2\2\2\2\u059b\3\2\2\2\2\u059d\3\2\2\2\2\u059f\3\2\2") - buf.write("\2\2\u05a1\3\2\2\2\2\u05a3\3\2\2\2\2\u05a5\3\2\2\2\2\u05a7") - buf.write("\3\2\2\2\2\u05a9\3\2\2\2\2\u05ab\3\2\2\2\2\u05ad\3\2\2") - buf.write("\2\2\u05af\3\2\2\2\2\u05b1\3\2\2\2\2\u05b3\3\2\2\2\2\u05b5") - buf.write("\3\2\2\2\2\u05b7\3\2\2\2\2\u05b9\3\2\2\2\2\u05bb\3\2\2") - buf.write("\2\2\u05bd\3\2\2\2\2\u05bf\3\2\2\2\2\u05c1\3\2\2\2\2\u05c3") - buf.write("\3\2\2\2\2\u05c5\3\2\2\2\2\u05c7\3\2\2\2\2\u05c9\3\2\2") - buf.write("\2\2\u05cb\3\2\2\2\2\u05cd\3\2\2\2\2\u05cf\3\2\2\2\2\u05d1") - buf.write("\3\2\2\2\2\u05d3\3\2\2\2\2\u05d5\3\2\2\2\2\u05d7\3\2\2") - buf.write("\2\2\u05d9\3\2\2\2\2\u05db\3\2\2\2\2\u05dd\3\2\2\2\2\u05df") - buf.write("\3\2\2\2\2\u05e1\3\2\2\2\2\u05e3\3\2\2\2\2\u05e5\3\2\2") - buf.write("\2\2\u05e7\3\2\2\2\2\u05e9\3\2\2\2\2\u05eb\3\2\2\2\2\u05ed") - buf.write("\3\2\2\2\2\u05ef\3\2\2\2\2\u05f1\3\2\2\2\2\u05f3\3\2\2") - buf.write("\2\2\u05f5\3\2\2\2\2\u05f7\3\2\2\2\2\u05f9\3\2\2\2\2\u05fb") - buf.write("\3\2\2\2\2\u05fd\3\2\2\2\2\u05ff\3\2\2\2\2\u0601\3\2\2") - buf.write("\2\2\u0603\3\2\2\2\2\u0605\3\2\2\2\2\u0607\3\2\2\2\2\u0609") - buf.write("\3\2\2\2\2\u060b\3\2\2\2\2\u060d\3\2\2\2\2\u060f\3\2\2") - buf.write("\2\2\u0611\3\2\2\2\2\u0613\3\2\2\2\2\u0615\3\2\2\2\2\u0617") - buf.write("\3\2\2\2\2\u0619\3\2\2\2\2\u061b\3\2\2\2\2\u061d\3\2\2") - buf.write("\2\2\u061f\3\2\2\2\2\u0621\3\2\2\2\2\u0623\3\2\2\2\2\u0625") - buf.write("\3\2\2\2\2\u0627\3\2\2\2\2\u0629\3\2\2\2\2\u062b\3\2\2") - buf.write("\2\2\u062d\3\2\2\2\2\u062f\3\2\2\2\2\u0631\3\2\2\2\2\u0633") - buf.write("\3\2\2\2\2\u0635\3\2\2\2\2\u0637\3\2\2\2\2\u0639\3\2\2") - buf.write("\2\2\u063b\3\2\2\2\2\u063d\3\2\2\2\2\u063f\3\2\2\2\2\u0641") - buf.write("\3\2\2\2\2\u0643\3\2\2\2\2\u0645\3\2\2\2\2\u0647\3\2\2") - buf.write("\2\2\u0649\3\2\2\2\2\u064b\3\2\2\2\2\u064d\3\2\2\2\2\u064f") - buf.write("\3\2\2\2\2\u0651\3\2\2\2\2\u0653\3\2\2\2\2\u0655\3\2\2") - buf.write("\2\2\u0657\3\2\2\2\2\u0659\3\2\2\2\2\u065b\3\2\2\2\2\u065d") - buf.write("\3\2\2\2\2\u065f\3\2\2\2\2\u0661\3\2\2\2\2\u0663\3\2\2") - buf.write("\2\2\u0665\3\2\2\2\2\u0667\3\2\2\2\2\u0669\3\2\2\2\2\u066b") - buf.write("\3\2\2\2\2\u066d\3\2\2\2\2\u066f\3\2\2\2\2\u0671\3\2\2") - buf.write("\2\2\u0673\3\2\2\2\2\u0675\3\2\2\2\2\u0677\3\2\2\2\2\u0679") - buf.write("\3\2\2\2\2\u067b\3\2\2\2\2\u067d\3\2\2\2\2\u067f\3\2\2") - buf.write("\2\2\u0681\3\2\2\2\2\u0683\3\2\2\2\2\u0685\3\2\2\2\2\u0687") - buf.write("\3\2\2\2\2\u0689\3\2\2\2\2\u068b\3\2\2\2\2\u068d\3\2\2") - buf.write("\2\2\u068f\3\2\2\2\2\u0691\3\2\2\2\2\u0693\3\2\2\2\2\u0695") - buf.write("\3\2\2\2\2\u0697\3\2\2\2\2\u0699\3\2\2\2\2\u069b\3\2\2") - buf.write("\2\2\u069d\3\2\2\2\2\u069f\3\2\2\2\2\u06a1\3\2\2\2\2\u06a3") - buf.write("\3\2\2\2\2\u06a5\3\2\2\2\2\u06a7\3\2\2\2\2\u06a9\3\2\2") - buf.write("\2\2\u06ab\3\2\2\2\2\u06ad\3\2\2\2\2\u06af\3\2\2\2\2\u06b1") - buf.write("\3\2\2\2\2\u06b3\3\2\2\2\2\u06b5\3\2\2\2\2\u06b7\3\2\2") - buf.write("\2\2\u06b9\3\2\2\2\2\u06bb\3\2\2\2\2\u06bd\3\2\2\2\2\u06bf") - buf.write("\3\2\2\2\2\u06c1\3\2\2\2\2\u06c3\3\2\2\2\2\u06c5\3\2\2") - buf.write("\2\2\u06c7\3\2\2\2\2\u06c9\3\2\2\2\2\u06cb\3\2\2\2\2\u06cd") - buf.write("\3\2\2\2\2\u06cf\3\2\2\2\2\u06d1\3\2\2\2\2\u06d3\3\2\2") - buf.write("\2\2\u06d5\3\2\2\2\2\u06d7\3\2\2\2\2\u06d9\3\2\2\2\2\u06db") - buf.write("\3\2\2\2\2\u06dd\3\2\2\2\2\u06df\3\2\2\2\2\u06e1\3\2\2") - buf.write("\2\2\u06e3\3\2\2\2\2\u06e5\3\2\2\2\2\u06e7\3\2\2\2\2\u06e9") - buf.write("\3\2\2\2\2\u06eb\3\2\2\2\2\u06ed\3\2\2\2\2\u06ef\3\2\2") - buf.write("\2\2\u06f1\3\2\2\2\2\u06f3\3\2\2\2\2\u06f5\3\2\2\2\2\u06f7") - buf.write("\3\2\2\2\2\u06f9\3\2\2\2\2\u06fb\3\2\2\2\2\u06fd\3\2\2") - buf.write("\2\2\u06ff\3\2\2\2\2\u0701\3\2\2\2\2\u0703\3\2\2\2\2\u0705") - buf.write("\3\2\2\2\2\u0707\3\2\2\2\2\u0709\3\2\2\2\2\u070b\3\2\2") - buf.write("\2\2\u070d\3\2\2\2\2\u070f\3\2\2\2\2\u0711\3\2\2\2\2\u0713") - buf.write("\3\2\2\2\2\u0715\3\2\2\2\2\u0717\3\2\2\2\2\u0719\3\2\2") - buf.write("\2\2\u071b\3\2\2\2\2\u071d\3\2\2\2\2\u071f\3\2\2\2\2\u0721") - buf.write("\3\2\2\2\2\u0723\3\2\2\2\2\u0725\3\2\2\2\2\u0727\3\2\2") - buf.write("\2\2\u0729\3\2\2\2\2\u072b\3\2\2\2\2\u072d\3\2\2\2\2\u072f") - buf.write("\3\2\2\2\2\u0731\3\2\2\2\2\u0733\3\2\2\2\2\u0735\3\2\2") - buf.write("\2\2\u0737\3\2\2\2\2\u0739\3\2\2\2\2\u073b\3\2\2\2\2\u073d") - buf.write("\3\2\2\2\2\u073f\3\2\2\2\2\u0741\3\2\2\2\2\u0743\3\2\2") - buf.write("\2\2\u0745\3\2\2\2\2\u0747\3\2\2\2\2\u0749\3\2\2\2\2\u074b") - buf.write("\3\2\2\2\2\u074d\3\2\2\2\2\u074f\3\2\2\2\2\u0751\3\2\2") - buf.write("\2\2\u0753\3\2\2\2\2\u0755\3\2\2\2\2\u0757\3\2\2\2\2\u0759") - buf.write("\3\2\2\2\2\u075b\3\2\2\2\2\u075d\3\2\2\2\2\u075f\3\2\2") - buf.write("\2\2\u0761\3\2\2\2\2\u0763\3\2\2\2\2\u0765\3\2\2\2\2\u0767") - buf.write("\3\2\2\2\2\u0769\3\2\2\2\2\u076b\3\2\2\2\2\u076d\3\2\2") - buf.write("\2\2\u076f\3\2\2\2\2\u0771\3\2\2\2\2\u0773\3\2\2\2\2\u0775") - buf.write("\3\2\2\2\2\u0777\3\2\2\2\2\u0779\3\2\2\2\2\u077b\3\2\2") - buf.write("\2\2\u077d\3\2\2\2\2\u077f\3\2\2\2\2\u0781\3\2\2\2\2\u0783") - buf.write("\3\2\2\2\2\u0785\3\2\2\2\2\u0787\3\2\2\2\2\u0789\3\2\2") - buf.write("\2\2\u078b\3\2\2\2\2\u078d\3\2\2\2\2\u078f\3\2\2\2\2\u0791") - buf.write("\3\2\2\2\2\u0793\3\2\2\2\2\u0795\3\2\2\2\2\u0797\3\2\2") - buf.write("\2\2\u0799\3\2\2\2\2\u079b\3\2\2\2\2\u079d\3\2\2\2\2\u079f") - buf.write("\3\2\2\2\2\u07a1\3\2\2\2\2\u07a3\3\2\2\2\2\u07a5\3\2\2") - buf.write("\2\2\u07a7\3\2\2\2\2\u07a9\3\2\2\2\2\u07bd\3\2\2\2\3\u07c0") - buf.write("\3\2\2\2\5\u07c6\3\2\2\2\7\u07d4\3\2\2\2\t\u07ff\3\2\2") - buf.write("\2\13\u0803\3\2\2\2\r\u0810\3\2\2\2\17\u081e\3\2\2\2\21") - buf.write("\u0822\3\2\2\2\23\u0826\3\2\2\2\25\u082c\3\2\2\2\27\u0833") - buf.write("\3\2\2\2\31\u083b\3\2\2\2\33\u083f\3\2\2\2\35\u0842\3") - buf.write("\2\2\2\37\u0846\3\2\2\2!\u084d\3\2\2\2#\u0855\3\2\2\2") - buf.write("%\u085a\3\2\2\2\'\u085d\3\2\2\2)\u0862\3\2\2\2+\u086a") - buf.write("\3\2\2\2-\u086f\3\2\2\2/\u0874\3\2\2\2\61\u087b\3\2\2") - buf.write("\2\63\u0885\3\2\2\2\65\u088b\3\2\2\2\67\u0893\3\2\2\2") - buf.write("9\u089a\3\2\2\2;\u08a4\3\2\2\2=\u08af\3\2\2\2?\u08b8\3") - buf.write("\2\2\2A\u08c0\3\2\2\2C\u08c7\3\2\2\2E\u08cd\3\2\2\2G\u08da") - buf.write("\3\2\2\2I\u08e1\3\2\2\2K\u08ea\3\2\2\2M\u08f4\3\2\2\2") - buf.write("O\u08fc\3\2\2\2Q\u0904\3\2\2\2S\u090c\3\2\2\2U\u0913\3") - buf.write("\2\2\2W\u0918\3\2\2\2Y\u0921\3\2\2\2[\u092f\3\2\2\2]\u0938") - buf.write("\3\2\2\2_\u0944\3\2\2\2a\u0949\3\2\2\2c\u094e\3\2\2\2") - buf.write("e\u0953\3\2\2\2g\u095a\3\2\2\2i\u0963\3\2\2\2k\u096b\3") - buf.write("\2\2\2m\u0972\3\2\2\2o\u0977\3\2\2\2q\u097f\3\2\2\2s\u0985") - buf.write("\3\2\2\2u\u098b\3\2\2\2w\u098f\3\2\2\2y\u0995\3\2\2\2") - buf.write("{\u099d\3\2\2\2}\u09a2\3\2\2\2\177\u09ab\3\2\2\2\u0081") - buf.write("\u09b5\3\2\2\2\u0083\u09bb\3\2\2\2\u0085\u09c1\3\2\2\2") - buf.write("\u0087\u09c8\3\2\2\2\u0089\u09d6\3\2\2\2\u008b\u09d9\3") - buf.write("\2\2\2\u008d\u09e0\3\2\2\2\u008f\u09e3\3\2\2\2\u0091\u09e9") - buf.write("\3\2\2\2\u0093\u09f0\3\2\2\2\u0095\u09f6\3\2\2\2\u0097") - buf.write("\u09fc\3\2\2\2\u0099\u0a03\3\2\2\2\u009b\u0a0c\3\2\2\2") - buf.write("\u009d\u0a11\3\2\2\2\u009f\u0a14\3\2\2\2\u00a1\u0a1c\3") - buf.write("\2\2\2\u00a3\u0a21\3\2\2\2\u00a5\u0a25\3\2\2\2\u00a7\u0a2a") - buf.write("\3\2\2\2\u00a9\u0a2f\3\2\2\2\u00ab\u0a37\3\2\2\2\u00ad") - buf.write("\u0a3d\3\2\2\2\u00af\u0a42\3\2\2\2\u00b1\u0a47\3\2\2\2") - buf.write("\u00b3\u0a4d\3\2\2\2\u00b5\u0a54\3\2\2\2\u00b7\u0a5a\3") - buf.write("\2\2\2\u00b9\u0a5f\3\2\2\2\u00bb\u0a64\3\2\2\2\u00bd\u0a69") - buf.write("\3\2\2\2\u00bf\u0a76\3\2\2\2\u00c1\u0a82\3\2\2\2\u00c3") - buf.write("\u0aa0\3\2\2\2\u00c5\u0aa6\3\2\2\2\u00c7\u0aaf\3\2\2\2") - buf.write("\u00c9\u0ab8\3\2\2\2\u00cb\u0ac0\3\2\2\2\u00cd\u0ac4\3") - buf.write("\2\2\2\u00cf\u0ad7\3\2\2\2\u00d1\u0adc\3\2\2\2\u00d3\u0adf") - buf.write("\3\2\2\2\u00d5\u0ae8\3\2\2\2\u00d7\u0aef\3\2\2\2\u00d9") - buf.write("\u0afa\3\2\2\2\u00db\u0afd\3\2\2\2\u00dd\u0b03\3\2\2\2") - buf.write("\u00df\u0b07\3\2\2\2\u00e1\u0b0d\3\2\2\2\u00e3\u0b15\3") - buf.write("\2\2\2\u00e5\u0b1f\3\2\2\2\u00e7\u0b27\3\2\2\2\u00e9\u0b31") - buf.write("\3\2\2\2\u00eb\u0b37\3\2\2\2\u00ed\u0b3d\3\2\2\2\u00ef") - buf.write("\u0b42\3\2\2\2\u00f1\u0b48\3\2\2\2\u00f3\u0b53\3\2\2\2") - buf.write("\u00f5\u0b5a\3\2\2\2\u00f7\u0b62\3\2\2\2\u00f9\u0b69\3") - buf.write("\2\2\2\u00fb\u0b70\3\2\2\2\u00fd\u0b78\3\2\2\2\u00ff\u0b80") - buf.write("\3\2\2\2\u0101\u0b89\3\2\2\2\u0103\u0b90\3\2\2\2\u0105") - buf.write("\u0b97\3\2\2\2\u0107\u0b9d\3\2\2\2\u0109\u0ba3\3\2\2\2") - buf.write("\u010b\u0baa\3\2\2\2\u010d\u0bb2\3\2\2\2\u010f\u0bb9\3") - buf.write("\2\2\2\u0111\u0bbd\3\2\2\2\u0113\u0bc7\3\2\2\2\u0115\u0bcc") - buf.write("\3\2\2\2\u0117\u0bd4\3\2\2\2\u0119\u0bd8\3\2\2\2\u011b") - buf.write("\u0be5\3\2\2\2\u011d\u0bee\3\2\2\2\u011f\u0bf9\3\2\2\2") - buf.write("\u0121\u0c08\3\2\2\2\u0123\u0c1c\3\2\2\2\u0125\u0c2d\3") - buf.write("\2\2\2\u0127\u0c31\3\2\2\2\u0129\u0c3a\3\2\2\2\u012b\u0c48") - buf.write("\3\2\2\2\u012d\u0c4e\3\2\2\2\u012f\u0c59\3\2\2\2\u0131") - buf.write("\u0c5e\3\2\2\2\u0133\u0c61\3\2\2\2\u0135\u0c6a\3\2\2\2") - buf.write("\u0137\u0c72\3\2\2\2\u0139\u0c77\3\2\2\2\u013b\u0c7c\3") - buf.write("\2\2\2\u013d\u0c82\3\2\2\2\u013f\u0c89\3\2\2\2\u0141\u0c90") - buf.write("\3\2\2\2\u0143\u0c99\3\2\2\2\u0145\u0ca0\3\2\2\2\u0147") - buf.write("\u0ca6\3\2\2\2\u0149\u0caa\3\2\2\2\u014b\u0cb0\3\2\2\2") - buf.write("\u014d\u0cb7\3\2\2\2\u014f\u0cbc\3\2\2\2\u0151\u0cc2\3") - buf.write("\2\2\2\u0153\u0cc8\3\2\2\2\u0155\u0ccd\3\2\2\2\u0157\u0cd3") - buf.write("\3\2\2\2\u0159\u0cd7\3\2\2\2\u015b\u0ce0\3\2\2\2\u015d") - buf.write("\u0ce8\3\2\2\2\u015f\u0cf1\3\2\2\2\u0161\u0cfb\3\2\2\2") - buf.write("\u0163\u0cff\3\2\2\2\u0165\u0d07\3\2\2\2\u0167\u0d0e\3") - buf.write("\2\2\2\u0169\u0d13\3\2\2\2\u016b\u0d1a\3\2\2\2\u016d\u0d20") - buf.write("\3\2\2\2\u016f\u0d28\3\2\2\2\u0171\u0d30\3\2\2\2\u0173") - buf.write("\u0d35\3\2\2\2\u0175\u0d3a\3\2\2\2\u0177\u0d44\3\2\2\2") - buf.write("\u0179\u0d4d\3\2\2\2\u017b\u0d52\3\2\2\2\u017d\u0d57\3") - buf.write("\2\2\2\u017f\u0d5f\3\2\2\2\u0181\u0d66\3\2\2\2\u0183\u0d70") - buf.write("\3\2\2\2\u0185\u0d79\3\2\2\2\u0187\u0d7e\3\2\2\2\u0189") - buf.write("\u0d89\3\2\2\2\u018b\u0d92\3\2\2\2\u018d\u0d9b\3\2\2\2") - buf.write("\u018f\u0da0\3\2\2\2\u0191\u0dab\3\2\2\2\u0193\u0db4\3") - buf.write("\2\2\2\u0195\u0db9\3\2\2\2\u0197\u0dc0\3\2\2\2\u0199\u0dcb") - buf.write("\3\2\2\2\u019b\u0dd4\3\2\2\2\u019d\u0ddf\3\2\2\2\u019f") - buf.write("\u0dea\3\2\2\2\u01a1\u0df6\3\2\2\2\u01a3\u0e02\3\2\2\2") - buf.write("\u01a5\u0e10\3\2\2\2\u01a7\u0e23\3\2\2\2\u01a9\u0e36\3") - buf.write("\2\2\2\u01ab\u0e47\3\2\2\2\u01ad\u0e57\3\2\2\2\u01af\u0e5b") - buf.write("\3\2\2\2\u01b1\u0e63\3\2\2\2\u01b3\u0e6a\3\2\2\2\u01b5") - buf.write("\u0e72\3\2\2\2\u01b7\u0e78\3\2\2\2\u01b9\u0e85\3\2\2\2") - buf.write("\u01bb\u0e89\3\2\2\2\u01bd\u0e8d\3\2\2\2\u01bf\u0e91\3") - buf.write("\2\2\2\u01c1\u0e98\3\2\2\2\u01c3\u0ea3\3\2\2\2\u01c5\u0eaf") - buf.write("\3\2\2\2\u01c7\u0eb3\3\2\2\2\u01c9\u0ebb\3\2\2\2\u01cb") - buf.write("\u0ec4\3\2\2\2\u01cd\u0ecd\3\2\2\2\u01cf\u0ed4\3\2\2\2") - buf.write("\u01d1\u0ee1\3\2\2\2\u01d3\u0eee\3\2\2\2\u01d5\u0f00\3") - buf.write("\2\2\2\u01d7\u0f0a\3\2\2\2\u01d9\u0f12\3\2\2\2\u01db\u0f1a") - buf.write("\3\2\2\2\u01dd\u0f23\3\2\2\2\u01df\u0f2c\3\2\2\2\u01e1") - buf.write("\u0f34\3\2\2\2\u01e3\u0f43\3\2\2\2\u01e5\u0f47\3\2\2\2") - buf.write("\u01e7\u0f50\3\2\2\2\u01e9\u0f57\3\2\2\2\u01eb\u0f61\3") - buf.write("\2\2\2\u01ed\u0f69\3\2\2\2\u01ef\u0f6e\3\2\2\2\u01f1\u0f77") - buf.write("\3\2\2\2\u01f3\u0f80\3\2\2\2\u01f5\u0f8e\3\2\2\2\u01f7") - buf.write("\u0f96\3\2\2\2\u01f9\u0f9d\3\2\2\2\u01fb\u0fa3\3\2\2\2") - buf.write("\u01fd\u0fad\3\2\2\2\u01ff\u0fb7\3\2\2\2\u0201\u0fbb\3") - buf.write("\2\2\2\u0203\u0fbe\3\2\2\2\u0205\u0fc6\3\2\2\2\u0207\u0fd1") - buf.write("\3\2\2\2\u0209\u0fe1\3\2\2\2\u020b\u0ff0\3\2\2\2\u020d") - buf.write("\u0fff\3\2\2\2\u020f\u1005\3\2\2\2\u0211\u100c\3\2\2\2") - buf.write("\u0213\u1010\3\2\2\2\u0215\u1016\3\2\2\2\u0217\u101b\3") - buf.write("\2\2\2\u0219\u1023\3\2\2\2\u021b\u1029\3\2\2\2\u021d\u102f") - buf.write("\3\2\2\2\u021f\u1038\3\2\2\2\u0221\u103e\3\2\2\2\u0223") - buf.write("\u1046\3\2\2\2\u0225\u104e\3\2\2\2\u0227\u1057\3\2\2\2") - buf.write("\u0229\u105e\3\2\2\2\u022b\u1065\3\2\2\2\u022d\u106b\3") - buf.write("\2\2\2\u022f\u1074\3\2\2\2\u0231\u1079\3\2\2\2\u0233\u1081") - buf.write("\3\2\2\2\u0235\u108f\3\2\2\2\u0237\u1097\3\2\2\2\u0239") - buf.write("\u109e\3\2\2\2\u023b\u10a6\3\2\2\2\u023d\u10b1\3\2\2\2") - buf.write("\u023f\u10bc\3\2\2\2\u0241\u10c8\3\2\2\2\u0243\u10d3\3") - buf.write("\2\2\2\u0245\u10de\3\2\2\2\u0247\u10e9\3\2\2\2\u0249\u10f2") - buf.write("\3\2\2\2\u024b\u10fa\3\2\2\2\u024d\u1107\3\2\2\2\u024f") - buf.write("\u110c\3\2\2\2\u0251\u1110\3\2\2\2\u0253\u1115\3\2\2\2") - buf.write("\u0255\u111e\3\2\2\2\u0257\u1129\3\2\2\2\u0259\u1136\3") - buf.write("\2\2\2\u025b\u113e\3\2\2\2\u025d\u114e\3\2\2\2\u025f\u115b") - buf.write("\3\2\2\2\u0261\u1165\3\2\2\2\u0263\u116d\3\2\2\2\u0265") - buf.write("\u1175\3\2\2\2\u0267\u117a\3\2\2\2\u0269\u117d\3\2\2\2") - buf.write("\u026b\u1186\3\2\2\2\u026d\u1190\3\2\2\2\u026f\u1198\3") - buf.write("\2\2\2\u0271\u119f\3\2\2\2\u0273\u11aa\3\2\2\2\u0275\u11ae") - buf.write("\3\2\2\2\u0277\u11b3\3\2\2\2\u0279\u11ba\3\2\2\2\u027b") - buf.write("\u11c2\3\2\2\2\u027d\u11c8\3\2\2\2\u027f\u11cf\3\2\2\2") - buf.write("\u0281\u11d6\3\2\2\2\u0283\u11db\3\2\2\2\u0285\u11e1\3") - buf.write("\2\2\2\u0287\u11e8\3\2\2\2\u0289\u11ee\3\2\2\2\u028b\u11f7") - buf.write("\3\2\2\2\u028d\u1201\3\2\2\2\u028f\u1208\3\2\2\2\u0291") - buf.write("\u120f\3\2\2\2\u0293\u1218\3\2\2\2\u0295\u1224\3\2\2\2") - buf.write("\u0297\u1229\3\2\2\2\u0299\u1230\3\2\2\2\u029b\u1237\3") - buf.write("\2\2\2\u029d\u1247\3\2\2\2\u029f\u124e\3\2\2\2\u02a1\u1254") - buf.write("\3\2\2\2\u02a3\u125a\3\2\2\2\u02a5\u1260\3\2\2\2\u02a7") - buf.write("\u1268\3\2\2\2\u02a9\u126e\3\2\2\2\u02ab\u1273\3\2\2\2") - buf.write("\u02ad\u127c\3\2\2\2\u02af\u1284\3\2\2\2\u02b1\u128b\3") - buf.write("\2\2\2\u02b3\u1292\3\2\2\2\u02b5\u12a4\3\2\2\2\u02b7\u12ac") - buf.write("\3\2\2\2\u02b9\u12b1\3\2\2\2\u02bb\u12b6\3\2\2\2\u02bd") - buf.write("\u12bb\3\2\2\2\u02bf\u12c1\3\2\2\2\u02c1\u12cc\3\2\2\2") - buf.write("\u02c3\u12de\3\2\2\2\u02c5\u12e5\3\2\2\2\u02c7\u12ed\3") - buf.write("\2\2\2\u02c9\u12fa\3\2\2\2\u02cb\u1302\3\2\2\2\u02cd\u1310") - buf.write("\3\2\2\2\u02cf\u1318\3\2\2\2\u02d1\u1321\3\2\2\2\u02d3") - buf.write("\u1329\3\2\2\2\u02d5\u132c\3\2\2\2\u02d7\u1336\3\2\2\2") - buf.write("\u02d9\u133a\3\2\2\2\u02db\u1344\3\2\2\2\u02dd\u134b\3") - buf.write("\2\2\2\u02df\u1350\3\2\2\2\u02e1\u135f\3\2\2\2\u02e3\u1368") - buf.write("\3\2\2\2\u02e5\u136d\3\2\2\2\u02e7\u1374\3\2\2\2\u02e9") - buf.write("\u1379\3\2\2\2\u02eb\u137f\3\2\2\2\u02ed\u1384\3\2\2\2") - buf.write("\u02ef\u138a\3\2\2\2\u02f1\u1392\3\2\2\2\u02f3\u1397\3") - buf.write("\2\2\2\u02f5\u139e\3\2\2\2\u02f7\u13b3\3\2\2\2\u02f9\u13c8") - buf.write("\3\2\2\2\u02fb\u13d5\3\2\2\2\u02fd\u13ed\3\2\2\2\u02ff") - buf.write("\u13f9\3\2\2\2\u0301\u1409\3\2\2\2\u0303\u1418\3\2\2\2") - buf.write("\u0305\u1428\3\2\2\2\u0307\u1434\3\2\2\2\u0309\u1447\3") - buf.write("\2\2\2\u030b\u1452\3\2\2\2\u030d\u1460\3\2\2\2\u030f\u1472") - buf.write("\3\2\2\2\u0311\u1482\3\2\2\2\u0313\u1494\3\2\2\2\u0315") - buf.write("\u14a3\3\2\2\2\u0317\u14b6\3\2\2\2\u0319\u14c5\3\2\2\2") - buf.write("\u031b\u14d8\3\2\2\2\u031d\u14e4\3\2\2\2\u031f\u14fd\3") - buf.write("\2\2\2\u0321\u1512\3\2\2\2\u0323\u151b\3\2\2\2\u0325\u1524") - buf.write("\3\2\2\2\u0327\u1539\3\2\2\2\u0329\u154e\3\2\2\2\u032b") - buf.write("\u1555\3\2\2\2\u032d\u155b\3\2\2\2\u032f\u155f\3\2\2\2") - buf.write("\u0331\u1567\3\2\2\2\u0333\u1570\3\2\2\2\u0335\u1575\3") - buf.write("\2\2\2\u0337\u157c\3\2\2\2\u0339\u1582\3\2\2\2\u033b\u1588") - buf.write("\3\2\2\2\u033d\u158d\3\2\2\2\u033f\u1593\3\2\2\2\u0341") - buf.write("\u1599\3\2\2\2\u0343\u159f\3\2\2\2\u0345\u15a4\3\2\2\2") - buf.write("\u0347\u15a7\3\2\2\2\u0349\u15b1\3\2\2\2\u034b\u15b6\3") - buf.write("\2\2\2\u034d\u15be\3\2\2\2\u034f\u15c5\3\2\2\2\u0351\u15c8") - buf.write("\3\2\2\2\u0353\u15d5\3\2\2\2\u0355\u15d9\3\2\2\2\u0357") - buf.write("\u15e0\3\2\2\2\u0359\u15e5\3\2\2\2\u035b\u15ea\3\2\2\2") - buf.write("\u035d\u15fa\3\2\2\2\u035f\u1602\3\2\2\2\u0361\u1608\3") - buf.write("\2\2\2\u0363\u1612\3\2\2\2\u0365\u1617\3\2\2\2\u0367\u161e") - buf.write("\3\2\2\2\u0369\u1626\3\2\2\2\u036b\u1633\3\2\2\2\u036d") - buf.write("\u163e\3\2\2\2\u036f\u1647\3\2\2\2\u0371\u164d\3\2\2\2") - buf.write("\u0373\u1654\3\2\2\2\u0375\u165f\3\2\2\2\u0377\u1667\3") - buf.write("\2\2\2\u0379\u166c\3\2\2\2\u037b\u1675\3\2\2\2\u037d\u167d") - buf.write("\3\2\2\2\u037f\u1686\3\2\2\2\u0381\u168b\3\2\2\2\u0383") - buf.write("\u1697\3\2\2\2\u0385\u169f\3\2\2\2\u0387\u16a8\3\2\2\2") - buf.write("\u0389\u16ae\3\2\2\2\u038b\u16b4\3\2\2\2\u038d\u16ba\3") - buf.write("\2\2\2\u038f\u16c2\3\2\2\2\u0391\u16ca\3\2\2\2\u0393\u16db") - buf.write("\3\2\2\2\u0395\u16e5\3\2\2\2\u0397\u16eb\3\2\2\2\u0399") - buf.write("\u16fa\3\2\2\2\u039b\u1708\3\2\2\2\u039d\u1711\3\2\2\2") - buf.write("\u039f\u1718\3\2\2\2\u03a1\u1723\3\2\2\2\u03a3\u172a\3") - buf.write("\2\2\2\u03a5\u173a\3\2\2\2\u03a7\u174d\3\2\2\2\u03a9\u1761") - buf.write("\3\2\2\2\u03ab\u1778\3\2\2\2\u03ad\u178d\3\2\2\2\u03af") - buf.write("\u17a5\3\2\2\2\u03b1\u17c1\3\2\2\2\u03b3\u17cd\3\2\2\2") - buf.write("\u03b5\u17d3\3\2\2\2\u03b7\u17da\3\2\2\2\u03b9\u17e2\3") - buf.write("\2\2\2\u03bb\u17eb\3\2\2\2\u03bd\u17f2\3\2\2\2\u03bf\u17f9") - buf.write("\3\2\2\2\u03c1\u17fd\3\2\2\2\u03c3\u1802\3\2\2\2\u03c5") - buf.write("\u180d\3\2\2\2\u03c7\u1817\3\2\2\2\u03c9\u1820\3\2\2\2") - buf.write("\u03cb\u1829\3\2\2\2\u03cd\u1830\3\2\2\2\u03cf\u1838\3") - buf.write("\2\2\2\u03d1\u183e\3\2\2\2\u03d3\u1845\3\2\2\2\u03d5\u184c") - buf.write("\3\2\2\2\u03d7\u1853\3\2\2\2\u03d9\u1859\3\2\2\2\u03db") - buf.write("\u185e\3\2\2\2\u03dd\u1867\3\2\2\2\u03df\u186e\3\2\2\2") - buf.write("\u03e1\u1873\3\2\2\2\u03e3\u187a\3\2\2\2\u03e5\u1881\3") - buf.write("\2\2\2\u03e7\u1888\3\2\2\2\u03e9\u1898\3\2\2\2\u03eb\u18ab") - buf.write("\3\2\2\2\u03ed\u18bc\3\2\2\2\u03ef\u18ce\3\2\2\2\u03f1") - buf.write("\u18d8\3\2\2\2\u03f3\u18e5\3\2\2\2\u03f5\u18f0\3\2\2\2") - buf.write("\u03f7\u18f6\3\2\2\2\u03f9\u18fd\3\2\2\2\u03fb\u190f\3") - buf.write("\2\2\2\u03fd\u1920\3\2\2\2\u03ff\u1933\3\2\2\2\u0401\u193a") - buf.write("\3\2\2\2\u0403\u193f\3\2\2\2\u0405\u1947\3\2\2\2\u0407") - buf.write("\u194e\3\2\2\2\u0409\u1955\3\2\2\2\u040b\u195d\3\2\2\2") - buf.write("\u040d\u196a\3\2\2\2\u040f\u1978\3\2\2\2\u0411\u1980\3") - buf.write("\2\2\2\u0413\u1986\3\2\2\2\u0415\u198f\3\2\2\2\u0417\u199a") - buf.write("\3\2\2\2\u0419\u19a4\3\2\2\2\u041b\u19ae\3\2\2\2\u041d") - buf.write("\u19b3\3\2\2\2\u041f\u19bf\3\2\2\2\u0421\u19cb\3\2\2\2") - buf.write("\u0423\u19d4\3\2\2\2\u0425\u19dd\3\2\2\2\u0427\u19e7\3") - buf.write("\2\2\2\u0429\u19f0\3\2\2\2\u042b\u1a01\3\2\2\2\u042d\u1a0b") - buf.write("\3\2\2\2\u042f\u1a13\3\2\2\2\u0431\u1a19\3\2\2\2\u0433") - buf.write("\u1a21\3\2\2\2\u0435\u1a26\3\2\2\2\u0437\u1a2e\3\2\2\2") - buf.write("\u0439\u1a3d\3\2\2\2\u043b\u1a48\3\2\2\2\u043d\u1a4e\3") - buf.write("\2\2\2\u043f\u1a58\3\2\2\2\u0441\u1a5d\3\2\2\2\u0443\u1a65") - buf.write("\3\2\2\2\u0445\u1a6a\3\2\2\2\u0447\u1a73\3\2\2\2\u0449") - buf.write("\u1a7b\3\2\2\2\u044b\u1a80\3\2\2\2\u044d\u1a88\3\2\2\2") - buf.write("\u044f\u1a8d\3\2\2\2\u0451\u1a90\3\2\2\2\u0453\u1a94\3") - buf.write("\2\2\2\u0455\u1a98\3\2\2\2\u0457\u1a9c\3\2\2\2\u0459\u1aa0") - buf.write("\3\2\2\2\u045b\u1aa4\3\2\2\2\u045d\u1aad\3\2\2\2\u045f") - buf.write("\u1ab5\3\2\2\2\u0461\u1abb\3\2\2\2\u0463\u1abf\3\2\2\2") - buf.write("\u0465\u1ac4\3\2\2\2\u0467\u1acb\3\2\2\2\u0469\u1ad0\3") - buf.write("\2\2\2\u046b\u1ad7\3\2\2\2\u046d\u1ae3\3\2\2\2\u046f\u1aea") - buf.write("\3\2\2\2\u0471\u1af2\3\2\2\2\u0473\u1afa\3\2\2\2\u0475") - buf.write("\u1aff\3\2\2\2\u0477\u1b07\3\2\2\2\u0479\u1b0e\3\2\2\2") - buf.write("\u047b\u1b17\3\2\2\2\u047d\u1b1d\3\2\2\2\u047f\u1b28\3") - buf.write("\2\2\2\u0481\u1b31\3\2\2\2\u0483\u1b37\3\2\2\2\u0485\u1b3c") - buf.write("\3\2\2\2\u0487\u1b43\3\2\2\2\u0489\u1b4a\3\2\2\2\u048b") - buf.write("\u1b51\3\2\2\2\u048d\u1b58\3\2\2\2\u048f\u1b5e\3\2\2\2") - buf.write("\u0491\u1b64\3\2\2\2\u0493\u1b6a\3\2\2\2\u0495\u1b70\3") - buf.write("\2\2\2\u0497\u1b75\3\2\2\2\u0499\u1b7d\3\2\2\2\u049b\u1b83") - buf.write("\3\2\2\2\u049d\u1b8a\3\2\2\2\u049f\u1b8e\3\2\2\2\u04a1") - buf.write("\u1b96\3\2\2\2\u04a3\u1b9c\3\2\2\2\u04a5\u1ba3\3\2\2\2") - buf.write("\u04a7\u1ba7\3\2\2\2\u04a9\u1baf\3\2\2\2\u04ab\u1bb5\3") - buf.write("\2\2\2\u04ad\u1bbb\3\2\2\2\u04af\u1bc2\3\2\2\2\u04b1\u1bc9") - buf.write("\3\2\2\2\u04b3\u1bd0\3\2\2\2\u04b5\u1bd7\3\2\2\2\u04b7") - buf.write("\u1bdd\3\2\2\2\u04b9\u1be6\3\2\2\2\u04bb\u1beb\3\2\2\2") - buf.write("\u04bd\u1bf0\3\2\2\2\u04bf\u1bf7\3\2\2\2\u04c1\u1bfc\3") - buf.write("\2\2\2\u04c3\u1c01\3\2\2\2\u04c5\u1c07\3\2\2\2\u04c7\u1c0f") - buf.write("\3\2\2\2\u04c9\u1c15\3\2\2\2\u04cb\u1c1a\3\2\2\2\u04cd") - buf.write("\u1c22\3\2\2\2\u04cf\u1c2a\3\2\2\2\u04d1\u1c32\3\2\2\2") - buf.write("\u04d3\u1c3c\3\2\2\2\u04d5\u1c40\3\2\2\2\u04d7\u1c4a\3") - buf.write("\2\2\2\u04d9\u1c51\3\2\2\2\u04db\u1c58\3\2\2\2\u04dd\u1c63") - buf.write("\3\2\2\2\u04df\u1c6a\3\2\2\2\u04e1\u1c6e\3\2\2\2\u04e3") - buf.write("\u1c79\3\2\2\2\u04e5\u1c8b\3\2\2\2\u04e7\u1c96\3\2\2\2") - buf.write("\u04e9\u1ca0\3\2\2\2\u04eb\u1cac\3\2\2\2\u04ed\u1cb9\3") - buf.write("\2\2\2\u04ef\u1ccc\3\2\2\2\u04f1\u1cd7\3\2\2\2\u04f3\u1ce7") - buf.write("\3\2\2\2\u04f5\u1cf2\3\2\2\2\u04f7\u1cff\3\2\2\2\u04f9") - buf.write("\u1d05\3\2\2\2\u04fb\u1d0d\3\2\2\2\u04fd\u1d11\3\2\2\2") - buf.write("\u04ff\u1d16\3\2\2\2\u0501\u1d1e\3\2\2\2\u0503\u1d26\3") - buf.write("\2\2\2\u0505\u1d32\3\2\2\2\u0507\u1d3e\3\2\2\2\u0509\u1d43") - buf.write("\3\2\2\2\u050b\u1d4c\3\2\2\2\u050d\u1d51\3\2\2\2\u050f") - buf.write("\u1d58\3\2\2\2\u0511\u1d5e\3\2\2\2\u0513\u1d64\3\2\2\2") - buf.write("\u0515\u1d77\3\2\2\2\u0517\u1d89\3\2\2\2\u0519\u1d9c\3") - buf.write("\2\2\2\u051b\u1dac\3\2\2\2\u051d\u1dbe\3\2\2\2\u051f\u1dc3") - buf.write("\3\2\2\2\u0521\u1dc9\3\2\2\2\u0523\u1dd3\3\2\2\2\u0525") - buf.write("\u1dd7\3\2\2\2\u0527\u1de1\3\2\2\2\u0529\u1dec\3\2\2\2") - buf.write("\u052b\u1df3\3\2\2\2\u052d\u1df8\3\2\2\2\u052f\u1e00\3") - buf.write("\2\2\2\u0531\u1e09\3\2\2\2\u0533\u1e1a\3\2\2\2\u0535\u1e22") - buf.write("\3\2\2\2\u0537\u1e2e\3\2\2\2\u0539\u1e3b\3\2\2\2\u053b") - buf.write("\u1e45\3\2\2\2\u053d\u1e4e\3\2\2\2\u053f\u1e55\3\2\2\2") - buf.write("\u0541\u1e5f\3\2\2\2\u0543\u1e6d\3\2\2\2\u0545\u1e72\3") - buf.write("\2\2\2\u0547\u1e7d\3\2\2\2\u0549\u1e81\3\2\2\2\u054b\u1e85") - buf.write("\3\2\2\2\u054d\u1e8b\3\2\2\2\u054f\u1ea6\3\2\2\2\u0551") - buf.write("\u1ec0\3\2\2\2\u0553\u1ed5\3\2\2\2\u0555\u1ee3\3\2\2\2") - buf.write("\u0557\u1eeb\3\2\2\2\u0559\u1ef4\3\2\2\2\u055b\u1f00\3") - buf.write("\2\2\2\u055d\u1f08\3\2\2\2\u055f\u1f13\3\2\2\2\u0561\u1f1d") - buf.write("\3\2\2\2\u0563\u1f27\3\2\2\2\u0565\u1f2e\3\2\2\2\u0567") - buf.write("\u1f36\3\2\2\2\u0569\u1f42\3\2\2\2\u056b\u1f4e\3\2\2\2") - buf.write("\u056d\u1f58\3\2\2\2\u056f\u1f61\3\2\2\2\u0571\u1f65\3") - buf.write("\2\2\2\u0573\u1f6c\3\2\2\2\u0575\u1f74\3\2\2\2\u0577\u1f7d") - buf.write("\3\2\2\2\u0579\u1f86\3\2\2\2\u057b\u1f8d\3\2\2\2\u057d") - buf.write("\u1f91\3\2\2\2\u057f\u1f9c\3\2\2\2\u0581\u1fa9\3\2\2\2") - buf.write("\u0583\u1fb6\3\2\2\2\u0585\u1fbc\3\2\2\2\u0587\u1fc8\3") - buf.write("\2\2\2\u0589\u1fce\3\2\2\2\u058b\u1fd5\3\2\2\2\u058d\u1fe0") - buf.write("\3\2\2\2\u058f\u1fec\3\2\2\2\u0591\u1ff6\3\2\2\2\u0593") - buf.write("\u2004\3\2\2\2\u0595\u2015\3\2\2\2\u0597\u2025\3\2\2\2") - buf.write("\u0599\u2040\3\2\2\2\u059b\u205a\3\2\2\2\u059d\u206b\3") - buf.write("\2\2\2\u059f\u207b\3\2\2\2\u05a1\u2085\3\2\2\2\u05a3\u2092") - buf.write("\3\2\2\2\u05a5\u209f\3\2\2\2\u05a7\u20ab\3\2\2\2\u05a9") - buf.write("\u20b6\3\2\2\2\u05ab\u20bf\3\2\2\2\u05ad\u20c7\3\2\2\2") - buf.write("\u05af\u20d0\3\2\2\2\u05b1\u20dc\3\2\2\2\u05b3\u20ea\3") - buf.write("\2\2\2\u05b5\u20ee\3\2\2\2\u05b7\u20f5\3\2\2\2\u05b9\u2100") - buf.write("\3\2\2\2\u05bb\u210b\3\2\2\2\u05bd\u2115\3\2\2\2\u05bf") - buf.write("\u211f\3\2\2\2\u05c1\u2125\3\2\2\2\u05c3\u2133\3\2\2\2") - buf.write("\u05c5\u213e\3\2\2\2\u05c7\u2147\3\2\2\2\u05c9\u214f\3") - buf.write("\2\2\2\u05cb\u2156\3\2\2\2\u05cd\u215f\3\2\2\2\u05cf\u216c") - buf.write("\3\2\2\2\u05d1\u2174\3\2\2\2\u05d3\u2183\3\2\2\2\u05d5") - buf.write("\u2192\3\2\2\2\u05d7\u219a\3\2\2\2\u05d9\u21a7\3\2\2\2") - buf.write("\u05db\u21b6\3\2\2\2\u05dd\u21bc\3\2\2\2\u05df\u21c2\3") - buf.write("\2\2\2\u05e1\u21c9\3\2\2\2\u05e3\u21d6\3\2\2\2\u05e5\u21e2") - buf.write("\3\2\2\2\u05e7\u21f5\3\2\2\2\u05e9\u2207\3\2\2\2\u05eb") - buf.write("\u220a\3\2\2\2\u05ed\u2214\3\2\2\2\u05ef\u221b\3\2\2\2") - buf.write("\u05f1\u221f\3\2\2\2\u05f3\u2225\3\2\2\2\u05f5\u222a\3") - buf.write("\2\2\2\u05f7\u2230\3\2\2\2\u05f9\u2235\3\2\2\2\u05fb\u223b") - buf.write("\3\2\2\2\u05fd\u2244\3\2\2\2\u05ff\u224d\3\2\2\2\u0601") - buf.write("\u2256\3\2\2\2\u0603\u2266\3\2\2\2\u0605\u2272\3\2\2\2") - buf.write("\u0607\u227e\3\2\2\2\u0609\u2287\3\2\2\2\u060b\u2295\3") - buf.write("\2\2\2\u060d\u22a1\3\2\2\2\u060f\u22ac\3\2\2\2\u0611\u22b6") - buf.write("\3\2\2\2\u0613\u22ba\3\2\2\2\u0615\u22c8\3\2\2\2\u0617") - buf.write("\u22d5\3\2\2\2\u0619\u22df\3\2\2\2\u061b\u22ee\3\2\2\2") - buf.write("\u061d\u22fc\3\2\2\2\u061f\u230a\3\2\2\2\u0621\u2317\3") - buf.write("\2\2\2\u0623\u232f\3\2\2\2\u0625\u2346\3\2\2\2\u0627\u2359") - buf.write("\3\2\2\2\u0629\u236b\3\2\2\2\u062b\u2380\3\2\2\2\u062d") - buf.write("\u2394\3\2\2\2\u062f\u239f\3\2\2\2\u0631\u23a6\3\2\2\2") - buf.write("\u0633\u23b4\3\2\2\2\u0635\u23c5\3\2\2\2\u0637\u23cf\3") - buf.write("\2\2\2\u0639\u23d3\3\2\2\2\u063b\u23e0\3\2\2\2\u063d\u23e4") - buf.write("\3\2\2\2\u063f\u23ed\3\2\2\2\u0641\u23f8\3\2\2\2\u0643") - buf.write("\u2404\3\2\2\2\u0645\u2407\3\2\2\2\u0647\u2415\3\2\2\2") - buf.write("\u0649\u2422\3\2\2\2\u064b\u2429\3\2\2\2\u064d\u2436\3") - buf.write("\2\2\2\u064f\u2442\3\2\2\2\u0651\u2452\3\2\2\2\u0653\u2461") - buf.write("\3\2\2\2\u0655\u2465\3\2\2\2\u0657\u246b\3\2\2\2\u0659") - buf.write("\u2471\3\2\2\2\u065b\u2479\3\2\2\2\u065d\u247e\3\2\2\2") - buf.write("\u065f\u248b\3\2\2\2\u0661\u2498\3\2\2\2\u0663\u24a0\3") - buf.write("\2\2\2\u0665\u24a6\3\2\2\2\u0667\u24b0\3\2\2\2\u0669\u24b5") - buf.write("\3\2\2\2\u066b\u24bb\3\2\2\2\u066d\u24c7\3\2\2\2\u066f") - buf.write("\u24d4\3\2\2\2\u0671\u24d8\3\2\2\2\u0673\u24dd\3\2\2\2") - buf.write("\u0675\u24e2\3\2\2\2\u0677\u24e7\3\2\2\2\u0679\u24eb\3") - buf.write("\2\2\2\u067b\u24f1\3\2\2\2\u067d\u24f9\3\2\2\2\u067f\u2515") - buf.write("\3\2\2\2\u0681\u251a\3\2\2\2\u0683\u251f\3\2\2\2\u0685") - buf.write("\u252a\3\2\2\2\u0687\u2531\3\2\2\2\u0689\u253d\3\2\2\2") - buf.write("\u068b\u2545\3\2\2\2\u068d\u2551\3\2\2\2\u068f\u255b\3") - buf.write("\2\2\2\u0691\u2564\3\2\2\2\u0693\u256d\3\2\2\2\u0695\u2577") - buf.write("\3\2\2\2\u0697\u2583\3\2\2\2\u0699\u258f\3\2\2\2\u069b") - buf.write("\u259a\3\2\2\2\u069d\u25a8\3\2\2\2\u069f\u25b5\3\2\2\2") - buf.write("\u06a1\u25c1\3\2\2\2\u06a3\u25cd\3\2\2\2\u06a5\u25d9\3") - buf.write("\2\2\2\u06a7\u25e5\3\2\2\2\u06a9\u25ef\3\2\2\2\u06ab\u25ff") - buf.write("\3\2\2\2\u06ad\u2613\3\2\2\2\u06af\u2626\3\2\2\2\u06b1") - buf.write("\u2639\3\2\2\2\u06b3\u2657\3\2\2\2\u06b5\u2674\3\2\2\2") - buf.write("\u06b7\u2688\3\2\2\2\u06b9\u269b\3\2\2\2\u06bb\u26a8\3") - buf.write("\2\2\2\u06bd\u26b8\3\2\2\2\u06bf\u26c8\3\2\2\2\u06c1\u26d7") - buf.write("\3\2\2\2\u06c3\u26e8\3\2\2\2\u06c5\u26f8\3\2\2\2\u06c7") - buf.write("\u2706\3\2\2\2\u06c9\u2712\3\2\2\2\u06cb\u271d\3\2\2\2") - buf.write("\u06cd\u2729\3\2\2\2\u06cf\u2739\3\2\2\2\u06d1\u2748\3") - buf.write("\2\2\2\u06d3\u275e\3\2\2\2\u06d5\u2773\3\2\2\2\u06d7\u2784") - buf.write("\3\2\2\2\u06d9\u2797\3\2\2\2\u06db\u27ab\3\2\2\2\u06dd") - buf.write("\u27b8\3\2\2\2\u06df\u27c4\3\2\2\2\u06e1\u27d5\3\2\2\2") - buf.write("\u06e3\u27e5\3\2\2\2\u06e5\u27ef\3\2\2\2\u06e7\u27ff\3") - buf.write("\2\2\2\u06e9\u280e\3\2\2\2\u06eb\u2821\3\2\2\2\u06ed\u2833") - buf.write("\3\2\2\2\u06ef\u283b\3\2\2\2\u06f1\u2849\3\2\2\2\u06f3") - buf.write("\u285a\3\2\2\2\u06f5\u2865\3\2\2\2\u06f7\u286e\3\2\2\2") - buf.write("\u06f9\u2878\3\2\2\2\u06fb\u287d\3\2\2\2\u06fd\u2882\3") - buf.write("\2\2\2\u06ff\u288a\3\2\2\2\u0701\u289a\3\2\2\2\u0703\u28a2") - buf.write("\3\2\2\2\u0705\u28ae\3\2\2\2\u0707\u28b2\3\2\2\2\u0709") - buf.write("\u28bb\3\2\2\2\u070b\u28c8\3\2\2\2\u070d\u28d6\3\2\2\2") - buf.write("\u070f\u28e2\3\2\2\2\u0711\u28ee\3\2\2\2\u0713\u28f6\3") - buf.write("\2\2\2\u0715\u2900\3\2\2\2\u0717\u2908\3\2\2\2\u0719\u2913") - buf.write("\3\2\2\2\u071b\u2919\3\2\2\2\u071d\u2924\3\2\2\2\u071f") - buf.write("\u2938\3\2\2\2\u0721\u293e\3\2\2\2\u0723\u294d\3\2\2\2") - buf.write("\u0725\u2957\3\2\2\2\u0727\u295d\3\2\2\2\u0729\u2962\3") - buf.write("\2\2\2\u072b\u296d\3\2\2\2\u072d\u2988\3\2\2\2\u072f\u2990") - buf.write("\3\2\2\2\u0731\u29b2\3\2\2\2\u0733\u29ba\3\2\2\2\u0735") - buf.write("\u29c5\3\2\2\2\u0737\u29d3\3\2\2\2\u0739\u29da\3\2\2\2") - buf.write("\u073b\u29e3\3\2\2\2\u073d\u29e5\3\2\2\2\u073f\u29e7\3") - buf.write("\2\2\2\u0741\u29ea\3\2\2\2\u0743\u29ed\3\2\2\2\u0745\u29f0") - buf.write("\3\2\2\2\u0747\u29f3\3\2\2\2\u0749\u29f6\3\2\2\2\u074b") - buf.write("\u29f9\3\2\2\2\u074d\u29fc\3\2\2\2\u074f\u29ff\3\2\2\2") - buf.write("\u0751\u2a02\3\2\2\2\u0753\u2a04\3\2\2\2\u0755\u2a06\3") - buf.write("\2\2\2\u0757\u2a08\3\2\2\2\u0759\u2a0a\3\2\2\2\u075b\u2a0d") - buf.write("\3\2\2\2\u075d\u2a0f\3\2\2\2\u075f\u2a13\3\2\2\2\u0761") - buf.write("\u2a17\3\2\2\2\u0763\u2a19\3\2\2\2\u0765\u2a1b\3\2\2\2") - buf.write("\u0767\u2a1d\3\2\2\2\u0769\u2a1f\3\2\2\2\u076b\u2a21\3") - buf.write("\2\2\2\u076d\u2a23\3\2\2\2\u076f\u2a25\3\2\2\2\u0771\u2a27") - buf.write("\3\2\2\2\u0773\u2a29\3\2\2\2\u0775\u2a2b\3\2\2\2\u0777") - buf.write("\u2a2d\3\2\2\2\u0779\u2a2f\3\2\2\2\u077b\u2a31\3\2\2\2") - buf.write("\u077d\u2a33\3\2\2\2\u077f\u2a35\3\2\2\2\u0781\u2a37\3") - buf.write("\2\2\2\u0783\u2a39\3\2\2\2\u0785\u2a3b\3\2\2\2\u0787\u2a3d") - buf.write("\3\2\2\2\u0789\u2a3f\3\2\2\2\u078b\u2a41\3\2\2\2\u078d") - buf.write("\u2a46\3\2\2\2\u078f\u2a4c\3\2\2\2\u0791\u2a51\3\2\2\2") - buf.write("\u0793\u2a54\3\2\2\2\u0795\u2a6b\3\2\2\2\u0797\u2a98\3") - buf.write("\2\2\2\u0799\u2a9a\3\2\2\2\u079b\u2a9d\3\2\2\2\u079d\u2a9f") - buf.write("\3\2\2\2\u079f\u2aa2\3\2\2\2\u07a1\u2aa5\3\2\2\2\u07a3") - buf.write("\u2aa7\3\2\2\2\u07a5\u2ab3\3\2\2\2\u07a7\u2abc\3\2\2\2") - buf.write("\u07a9\u2ac7\3\2\2\2\u07ab\u2af9\3\2\2\2\u07ad\u2afb\3") - buf.write("\2\2\2\u07af\u2b07\3\2\2\2\u07b1\u2b15\3\2\2\2\u07b3\u2b22") - buf.write("\3\2\2\2\u07b5\u2b2f\3\2\2\2\u07b7\u2b3c\3\2\2\2\u07b9") - buf.write("\u2b3e\3\2\2\2\u07bb\u2b40\3\2\2\2\u07bd\u2b49\3\2\2\2") - buf.write("\u07bf\u07c1\t\2\2\2\u07c0\u07bf\3\2\2\2\u07c1\u07c2\3") - buf.write("\2\2\2\u07c2\u07c0\3\2\2\2\u07c2\u07c3\3\2\2\2\u07c3\u07c4") - buf.write("\3\2\2\2\u07c4\u07c5\b\2\2\2\u07c5\4\3\2\2\2\u07c6\u07c7") - buf.write("\7\61\2\2\u07c7\u07c8\7,\2\2\u07c8\u07c9\7#\2\2\u07c9") - buf.write("\u07cb\3\2\2\2\u07ca\u07cc\13\2\2\2\u07cb\u07ca\3\2\2") - buf.write("\2\u07cc\u07cd\3\2\2\2\u07cd\u07ce\3\2\2\2\u07cd\u07cb") - buf.write("\3\2\2\2\u07ce\u07cf\3\2\2\2\u07cf\u07d0\7,\2\2\u07d0") - buf.write("\u07d1\7\61\2\2\u07d1\u07d2\3\2\2\2\u07d2\u07d3\b\3\3") - buf.write("\2\u07d3\6\3\2\2\2\u07d4\u07d5\7\61\2\2\u07d5\u07d6\7") - buf.write(",\2\2\u07d6\u07da\3\2\2\2\u07d7\u07d9\13\2\2\2\u07d8\u07d7") - buf.write("\3\2\2\2\u07d9\u07dc\3\2\2\2\u07da\u07db\3\2\2\2\u07da") - buf.write("\u07d8\3\2\2\2\u07db\u07dd\3\2\2\2\u07dc\u07da\3\2\2\2") - buf.write("\u07dd\u07de\7,\2\2\u07de\u07df\7\61\2\2\u07df\u07e0\3") - buf.write("\2\2\2\u07e0\u07e1\b\4\2\2\u07e1\b\3\2\2\2\u07e2\u07e3") - buf.write("\7/\2\2\u07e3\u07e4\7/\2\2\u07e4\u07e7\7\"\2\2\u07e5\u07e7") - buf.write("\7%\2\2\u07e6\u07e2\3\2\2\2\u07e6\u07e5\3\2\2\2\u07e7") - buf.write("\u07eb\3\2\2\2\u07e8\u07ea\n\3\2\2\u07e9\u07e8\3\2\2\2") - buf.write("\u07ea\u07ed\3\2\2\2\u07eb\u07e9\3\2\2\2\u07eb\u07ec\3") - buf.write("\2\2\2\u07ec\u07f3\3\2\2\2\u07ed\u07eb\3\2\2\2\u07ee\u07f0") - buf.write("\7\17\2\2\u07ef\u07ee\3\2\2\2\u07ef\u07f0\3\2\2\2\u07f0") - buf.write("\u07f1\3\2\2\2\u07f1\u07f4\7\f\2\2\u07f2\u07f4\7\2\2\3") - buf.write("\u07f3\u07ef\3\2\2\2\u07f3\u07f2\3\2\2\2\u07f4\u0800\3") - buf.write("\2\2\2\u07f5\u07f6\7/\2\2\u07f6\u07f7\7/\2\2\u07f7\u07fd") - buf.write("\3\2\2\2\u07f8\u07fa\7\17\2\2\u07f9\u07f8\3\2\2\2\u07f9") - buf.write("\u07fa\3\2\2\2\u07fa\u07fb\3\2\2\2\u07fb\u07fe\7\f\2\2") - buf.write("\u07fc\u07fe\7\2\2\3\u07fd\u07f9\3\2\2\2\u07fd\u07fc\3") - buf.write("\2\2\2\u07fe\u0800\3\2\2\2\u07ff\u07e6\3\2\2\2\u07ff\u07f5") - buf.write("\3\2\2\2\u0800\u0801\3\2\2\2\u0801\u0802\b\5\2\2\u0802") - buf.write("\n\3\2\2\2\u0803\u0804\7G\2\2\u0804\u0805\7T\2\2\u0805") - buf.write("\u0806\7T\2\2\u0806\u0807\7Q\2\2\u0807\u0808\7T\2\2\u0808") - buf.write("\u0809\7a\2\2\u0809\u080a\7Y\2\2\u080a\u080b\7K\2\2\u080b") - buf.write("\u080c\7V\2\2\u080c\u080d\7J\2\2\u080d\u080e\7K\2\2\u080e") - buf.write("\u080f\7P\2\2\u080f\f\3\2\2\2\u0810\u0811\7C\2\2\u0811") - buf.write("\u0812\7V\2\2\u0812\u0813\7a\2\2\u0813\u0814\7E\2\2\u0814") - buf.write("\u0815\7Q\2\2\u0815\u0816\7P\2\2\u0816\u0817\7H\2\2\u0817") - buf.write("\u0818\7K\2\2\u0818\u0819\7F\2\2\u0819\u081a\7G\2\2\u081a") - buf.write("\u081b\7P\2\2\u081b\u081c\7E\2\2\u081c\u081d\7G\2\2\u081d") - buf.write("\16\3\2\2\2\u081e\u081f\7C\2\2\u081f\u0820\7F\2\2\u0820") - buf.write("\u0821\7F\2\2\u0821\20\3\2\2\2\u0822\u0823\7C\2\2\u0823") - buf.write("\u0824\7N\2\2\u0824\u0825\7N\2\2\u0825\22\3\2\2\2\u0826") - buf.write("\u0827\7C\2\2\u0827\u0828\7N\2\2\u0828\u0829\7V\2\2\u0829") - buf.write("\u082a\7G\2\2\u082a\u082b\7T\2\2\u082b\24\3\2\2\2\u082c") - buf.write("\u082d\7C\2\2\u082d\u082e\7N\2\2\u082e\u082f\7Y\2\2\u082f") - buf.write("\u0830\7C\2\2\u0830\u0831\7[\2\2\u0831\u0832\7U\2\2\u0832") - buf.write("\26\3\2\2\2\u0833\u0834\7C\2\2\u0834\u0835\7P\2\2\u0835") - buf.write("\u0836\7C\2\2\u0836\u0837\7N\2\2\u0837\u0838\7[\2\2\u0838") - buf.write("\u0839\7\\\2\2\u0839\u083a\7G\2\2\u083a\30\3\2\2\2\u083b") - buf.write("\u083c\7C\2\2\u083c\u083d\7P\2\2\u083d\u083e\7F\2\2\u083e") - buf.write("\32\3\2\2\2\u083f\u0840\7C\2\2\u0840\u0841\7U\2\2\u0841") - buf.write("\34\3\2\2\2\u0842\u0843\7C\2\2\u0843\u0844\7U\2\2\u0844") - buf.write("\u0845\7E\2\2\u0845\36\3\2\2\2\u0846\u0847\7D\2\2\u0847") - buf.write("\u0848\7G\2\2\u0848\u0849\7H\2\2\u0849\u084a\7Q\2\2\u084a") - buf.write("\u084b\7T\2\2\u084b\u084c\7G\2\2\u084c \3\2\2\2\u084d") - buf.write("\u084e\7D\2\2\u084e\u084f\7G\2\2\u084f\u0850\7V\2\2\u0850") - buf.write("\u0851\7Y\2\2\u0851\u0852\7G\2\2\u0852\u0853\7G\2\2\u0853") - buf.write("\u0854\7P\2\2\u0854\"\3\2\2\2\u0855\u0856\7D\2\2\u0856") - buf.write("\u0857\7Q\2\2\u0857\u0858\7V\2\2\u0858\u0859\7J\2\2\u0859") - buf.write("$\3\2\2\2\u085a\u085b\7D\2\2\u085b\u085c\7[\2\2\u085c") - buf.write("&\3\2\2\2\u085d\u085e\7E\2\2\u085e\u085f\7C\2\2\u085f") - buf.write("\u0860\7N\2\2\u0860\u0861\7N\2\2\u0861(\3\2\2\2\u0862") - buf.write("\u0863\7E\2\2\u0863\u0864\7C\2\2\u0864\u0865\7U\2\2\u0865") - buf.write("\u0866\7E\2\2\u0866\u0867\7C\2\2\u0867\u0868\7F\2\2\u0868") - buf.write("\u0869\7G\2\2\u0869*\3\2\2\2\u086a\u086b\7E\2\2\u086b") - buf.write("\u086c\7C\2\2\u086c\u086d\7U\2\2\u086d\u086e\7G\2\2\u086e") - buf.write(",\3\2\2\2\u086f\u0870\7E\2\2\u0870\u0871\7C\2\2\u0871") - buf.write("\u0872\7U\2\2\u0872\u0873\7V\2\2\u0873.\3\2\2\2\u0874") - buf.write("\u0875\7E\2\2\u0875\u0876\7J\2\2\u0876\u0877\7C\2\2\u0877") - buf.write("\u0878\7P\2\2\u0878\u0879\7I\2\2\u0879\u087a\7G\2\2\u087a") - buf.write("\60\3\2\2\2\u087b\u087c\7E\2\2\u087c\u087d\7J\2\2\u087d") - buf.write("\u087e\7C\2\2\u087e\u087f\7T\2\2\u087f\u0880\7C\2\2\u0880") - buf.write("\u0881\7E\2\2\u0881\u0882\7V\2\2\u0882\u0883\7G\2\2\u0883") - buf.write("\u0884\7T\2\2\u0884\62\3\2\2\2\u0885\u0886\7E\2\2\u0886") - buf.write("\u0887\7J\2\2\u0887\u0888\7G\2\2\u0888\u0889\7E\2\2\u0889") - buf.write("\u088a\7M\2\2\u088a\64\3\2\2\2\u088b\u088c\7E\2\2\u088c") - buf.write("\u088d\7Q\2\2\u088d\u088e\7N\2\2\u088e\u088f\7N\2\2\u088f") - buf.write("\u0890\7C\2\2\u0890\u0891\7V\2\2\u0891\u0892\7G\2\2\u0892") - buf.write("\66\3\2\2\2\u0893\u0894\7E\2\2\u0894\u0895\7Q\2\2\u0895") - buf.write("\u0896\7N\2\2\u0896\u0897\7W\2\2\u0897\u0898\7O\2\2\u0898") - buf.write("\u0899\7P\2\2\u08998\3\2\2\2\u089a\u089b\7E\2\2\u089b") - buf.write("\u089c\7Q\2\2\u089c\u089d\7P\2\2\u089d\u089e\7F\2\2\u089e") - buf.write("\u089f\7K\2\2\u089f\u08a0\7V\2\2\u08a0\u08a1\7K\2\2\u08a1") - buf.write("\u08a2\7Q\2\2\u08a2\u08a3\7P\2\2\u08a3:\3\2\2\2\u08a4") - buf.write("\u08a5\7E\2\2\u08a5\u08a6\7Q\2\2\u08a6\u08a7\7P\2\2\u08a7") - buf.write("\u08a8\7U\2\2\u08a8\u08a9\7V\2\2\u08a9\u08aa\7T\2\2\u08aa") - buf.write("\u08ab\7C\2\2\u08ab\u08ac\7K\2\2\u08ac\u08ad\7P\2\2\u08ad") - buf.write("\u08ae\7V\2\2\u08ae<\3\2\2\2\u08af\u08b0\7E\2\2\u08b0") - buf.write("\u08b1\7Q\2\2\u08b1\u08b2\7P\2\2\u08b2\u08b3\7V\2\2\u08b3") - buf.write("\u08b4\7K\2\2\u08b4\u08b5\7P\2\2\u08b5\u08b6\7W\2\2\u08b6") - buf.write("\u08b7\7G\2\2\u08b7>\3\2\2\2\u08b8\u08b9\7E\2\2\u08b9") - buf.write("\u08ba\7Q\2\2\u08ba\u08bb\7P\2\2\u08bb\u08bc\7X\2\2\u08bc") - buf.write("\u08bd\7G\2\2\u08bd\u08be\7T\2\2\u08be\u08bf\7V\2\2\u08bf") - buf.write("@\3\2\2\2\u08c0\u08c1\7E\2\2\u08c1\u08c2\7T\2\2\u08c2") - buf.write("\u08c3\7G\2\2\u08c3\u08c4\7C\2\2\u08c4\u08c5\7V\2\2\u08c5") - buf.write("\u08c6\7G\2\2\u08c6B\3\2\2\2\u08c7\u08c8\7E\2\2\u08c8") - buf.write("\u08c9\7T\2\2\u08c9\u08ca\7Q\2\2\u08ca\u08cb\7U\2\2\u08cb") - buf.write("\u08cc\7U\2\2\u08ccD\3\2\2\2\u08cd\u08ce\7E\2\2\u08ce") - buf.write("\u08cf\7W\2\2\u08cf\u08d0\7T\2\2\u08d0\u08d1\7T\2\2\u08d1") - buf.write("\u08d2\7G\2\2\u08d2\u08d3\7P\2\2\u08d3\u08d4\7V\2\2\u08d4") - buf.write("\u08d5\7a\2\2\u08d5\u08d6\7W\2\2\u08d6\u08d7\7U\2\2\u08d7") - buf.write("\u08d8\7G\2\2\u08d8\u08d9\7T\2\2\u08d9F\3\2\2\2\u08da") - buf.write("\u08db\7E\2\2\u08db\u08dc\7W\2\2\u08dc\u08dd\7T\2\2\u08dd") - buf.write("\u08de\7U\2\2\u08de\u08df\7Q\2\2\u08df\u08e0\7T\2\2\u08e0") - buf.write("H\3\2\2\2\u08e1\u08e2\7F\2\2\u08e2\u08e3\7C\2\2\u08e3") - buf.write("\u08e4\7V\2\2\u08e4\u08e5\7C\2\2\u08e5\u08e6\7D\2\2\u08e6") - buf.write("\u08e7\7C\2\2\u08e7\u08e8\7U\2\2\u08e8\u08e9\7G\2\2\u08e9") - buf.write("J\3\2\2\2\u08ea\u08eb\7F\2\2\u08eb\u08ec\7C\2\2\u08ec") - buf.write("\u08ed\7V\2\2\u08ed\u08ee\7C\2\2\u08ee\u08ef\7D\2\2\u08ef") - buf.write("\u08f0\7C\2\2\u08f0\u08f1\7U\2\2\u08f1\u08f2\7G\2\2\u08f2") - buf.write("\u08f3\7U\2\2\u08f3L\3\2\2\2\u08f4\u08f5\7F\2\2\u08f5") - buf.write("\u08f6\7G\2\2\u08f6\u08f7\7E\2\2\u08f7\u08f8\7N\2\2\u08f8") - buf.write("\u08f9\7C\2\2\u08f9\u08fa\7T\2\2\u08fa\u08fb\7G\2\2\u08fb") - buf.write("N\3\2\2\2\u08fc\u08fd\7F\2\2\u08fd\u08fe\7G\2\2\u08fe") - buf.write("\u08ff\7H\2\2\u08ff\u0900\7C\2\2\u0900\u0901\7W\2\2\u0901") - buf.write("\u0902\7N\2\2\u0902\u0903\7V\2\2\u0903P\3\2\2\2\u0904") - buf.write("\u0905\7F\2\2\u0905\u0906\7G\2\2\u0906\u0907\7N\2\2\u0907") - buf.write("\u0908\7C\2\2\u0908\u0909\7[\2\2\u0909\u090a\7G\2\2\u090a") - buf.write("\u090b\7F\2\2\u090bR\3\2\2\2\u090c\u090d\7F\2\2\u090d") - buf.write("\u090e\7G\2\2\u090e\u090f\7N\2\2\u090f\u0910\7G\2\2\u0910") - buf.write("\u0911\7V\2\2\u0911\u0912\7G\2\2\u0912T\3\2\2\2\u0913") - buf.write("\u0914\7F\2\2\u0914\u0915\7G\2\2\u0915\u0916\7U\2\2\u0916") - buf.write("\u0917\7E\2\2\u0917V\3\2\2\2\u0918\u0919\7F\2\2\u0919") - buf.write("\u091a\7G\2\2\u091a\u091b\7U\2\2\u091b\u091c\7E\2\2\u091c") - buf.write("\u091d\7T\2\2\u091d\u091e\7K\2\2\u091e\u091f\7D\2\2\u091f") - buf.write("\u0920\7G\2\2\u0920X\3\2\2\2\u0921\u0922\7F\2\2\u0922") - buf.write("\u0923\7G\2\2\u0923\u0924\7V\2\2\u0924\u0925\7G\2\2\u0925") - buf.write("\u0926\7T\2\2\u0926\u0927\7O\2\2\u0927\u0928\7K\2\2\u0928") - buf.write("\u0929\7P\2\2\u0929\u092a\7K\2\2\u092a\u092b\7U\2\2\u092b") - buf.write("\u092c\7V\2\2\u092c\u092d\7K\2\2\u092d\u092e\7E\2\2\u092e") - buf.write("Z\3\2\2\2\u092f\u0930\7F\2\2\u0930\u0931\7K\2\2\u0931") - buf.write("\u0932\7U\2\2\u0932\u0933\7V\2\2\u0933\u0934\7K\2\2\u0934") - buf.write("\u0935\7P\2\2\u0935\u0936\7E\2\2\u0936\u0937\7V\2\2\u0937") - buf.write("\\\3\2\2\2\u0938\u0939\7F\2\2\u0939\u093a\7K\2\2\u093a") - buf.write("\u093b\7U\2\2\u093b\u093c\7V\2\2\u093c\u093d\7K\2\2\u093d") - buf.write("\u093e\7P\2\2\u093e\u093f\7E\2\2\u093f\u0940\7V\2\2\u0940") - buf.write("\u0941\7T\2\2\u0941\u0942\7Q\2\2\u0942\u0943\7Y\2\2\u0943") - buf.write("^\3\2\2\2\u0944\u0945\7F\2\2\u0945\u0946\7T\2\2\u0946") - buf.write("\u0947\7Q\2\2\u0947\u0948\7R\2\2\u0948`\3\2\2\2\u0949") - buf.write("\u094a\7G\2\2\u094a\u094b\7C\2\2\u094b\u094c\7E\2\2\u094c") - buf.write("\u094d\7J\2\2\u094db\3\2\2\2\u094e\u094f\7G\2\2\u094f") - buf.write("\u0950\7N\2\2\u0950\u0951\7U\2\2\u0951\u0952\7G\2\2\u0952") - buf.write("d\3\2\2\2\u0953\u0954\7G\2\2\u0954\u0955\7N\2\2\u0955") - buf.write("\u0956\7U\2\2\u0956\u0957\7G\2\2\u0957\u0958\7K\2\2\u0958") - buf.write("\u0959\7H\2\2\u0959f\3\2\2\2\u095a\u095b\7G\2\2\u095b") - buf.write("\u095c\7P\2\2\u095c\u095d\7E\2\2\u095d\u095e\7N\2\2\u095e") - buf.write("\u095f\7Q\2\2\u095f\u0960\7U\2\2\u0960\u0961\7G\2\2\u0961") - buf.write("\u0962\7F\2\2\u0962h\3\2\2\2\u0963\u0964\7G\2\2\u0964") - buf.write("\u0965\7U\2\2\u0965\u0966\7E\2\2\u0966\u0967\7C\2\2\u0967") - buf.write("\u0968\7R\2\2\u0968\u0969\7G\2\2\u0969\u096a\7F\2\2\u096a") - buf.write("j\3\2\2\2\u096b\u096c\7G\2\2\u096c\u096d\7Z\2\2\u096d") - buf.write("\u096e\7K\2\2\u096e\u096f\7U\2\2\u096f\u0970\7V\2\2\u0970") - buf.write("\u0971\7U\2\2\u0971l\3\2\2\2\u0972\u0973\7G\2\2\u0973") - buf.write("\u0974\7Z\2\2\u0974\u0975\7K\2\2\u0975\u0976\7V\2\2\u0976") - buf.write("n\3\2\2\2\u0977\u0978\7G\2\2\u0978\u0979\7Z\2\2\u0979") - buf.write("\u097a\7R\2\2\u097a\u097b\7N\2\2\u097b\u097c\7C\2\2\u097c") - buf.write("\u097d\7K\2\2\u097d\u097e\7P\2\2\u097ep\3\2\2\2\u097f") - buf.write("\u0980\7H\2\2\u0980\u0981\7C\2\2\u0981\u0982\7N\2\2\u0982") - buf.write("\u0983\7U\2\2\u0983\u0984\7G\2\2\u0984r\3\2\2\2\u0985") - buf.write("\u0986\7H\2\2\u0986\u0987\7G\2\2\u0987\u0988\7V\2\2\u0988") - buf.write("\u0989\7E\2\2\u0989\u098a\7J\2\2\u098at\3\2\2\2\u098b") - buf.write("\u098c\7H\2\2\u098c\u098d\7Q\2\2\u098d\u098e\7T\2\2\u098e") - buf.write("v\3\2\2\2\u098f\u0990\7H\2\2\u0990\u0991\7Q\2\2\u0991") - buf.write("\u0992\7T\2\2\u0992\u0993\7E\2\2\u0993\u0994\7G\2\2\u0994") - buf.write("x\3\2\2\2\u0995\u0996\7H\2\2\u0996\u0997\7Q\2\2\u0997") - buf.write("\u0998\7T\2\2\u0998\u0999\7G\2\2\u0999\u099a\7K\2\2\u099a") - buf.write("\u099b\7I\2\2\u099b\u099c\7P\2\2\u099cz\3\2\2\2\u099d") - buf.write("\u099e\7H\2\2\u099e\u099f\7T\2\2\u099f\u09a0\7Q\2\2\u09a0") - buf.write("\u09a1\7O\2\2\u09a1|\3\2\2\2\u09a2\u09a3\7H\2\2\u09a3") - buf.write("\u09a4\7W\2\2\u09a4\u09a5\7N\2\2\u09a5\u09a6\7N\2\2\u09a6") - buf.write("\u09a7\7V\2\2\u09a7\u09a8\7G\2\2\u09a8\u09a9\7Z\2\2\u09a9") - buf.write("\u09aa\7V\2\2\u09aa~\3\2\2\2\u09ab\u09ac\7I\2\2\u09ac") - buf.write("\u09ad\7G\2\2\u09ad\u09ae\7P\2\2\u09ae\u09af\7G\2\2\u09af") - buf.write("\u09b0\7T\2\2\u09b0\u09b1\7C\2\2\u09b1\u09b2\7V\2\2\u09b2") - buf.write("\u09b3\7G\2\2\u09b3\u09b4\7F\2\2\u09b4\u0080\3\2\2\2\u09b5") - buf.write("\u09b6\7I\2\2\u09b6\u09b7\7T\2\2\u09b7\u09b8\7C\2\2\u09b8") - buf.write("\u09b9\7P\2\2\u09b9\u09ba\7V\2\2\u09ba\u0082\3\2\2\2\u09bb") - buf.write("\u09bc\7I\2\2\u09bc\u09bd\7T\2\2\u09bd\u09be\7Q\2\2\u09be") - buf.write("\u09bf\7W\2\2\u09bf\u09c0\7R\2\2\u09c0\u0084\3\2\2\2\u09c1") - buf.write("\u09c2\7J\2\2\u09c2\u09c3\7C\2\2\u09c3\u09c4\7X\2\2\u09c4") - buf.write("\u09c5\7K\2\2\u09c5\u09c6\7P\2\2\u09c6\u09c7\7I\2\2\u09c7") - buf.write("\u0086\3\2\2\2\u09c8\u09c9\7J\2\2\u09c9\u09ca\7K\2\2\u09ca") - buf.write("\u09cb\7I\2\2\u09cb\u09cc\7J\2\2\u09cc\u09cd\7a\2\2\u09cd") - buf.write("\u09ce\7R\2\2\u09ce\u09cf\7T\2\2\u09cf\u09d0\7K\2\2\u09d0") - buf.write("\u09d1\7Q\2\2\u09d1\u09d2\7T\2\2\u09d2\u09d3\7K\2\2\u09d3") - buf.write("\u09d4\7V\2\2\u09d4\u09d5\7[\2\2\u09d5\u0088\3\2\2\2\u09d6") - buf.write("\u09d7\7K\2\2\u09d7\u09d8\7H\2\2\u09d8\u008a\3\2\2\2\u09d9") - buf.write("\u09da\7K\2\2\u09da\u09db\7I\2\2\u09db\u09dc\7P\2\2\u09dc") - buf.write("\u09dd\7Q\2\2\u09dd\u09de\7T\2\2\u09de\u09df\7G\2\2\u09df") - buf.write("\u008c\3\2\2\2\u09e0\u09e1\7K\2\2\u09e1\u09e2\7P\2\2\u09e2") - buf.write("\u008e\3\2\2\2\u09e3\u09e4\7K\2\2\u09e4\u09e5\7P\2\2\u09e5") - buf.write("\u09e6\7F\2\2\u09e6\u09e7\7G\2\2\u09e7\u09e8\7Z\2\2\u09e8") - buf.write("\u0090\3\2\2\2\u09e9\u09ea\7K\2\2\u09ea\u09eb\7P\2\2\u09eb") - buf.write("\u09ec\7H\2\2\u09ec\u09ed\7K\2\2\u09ed\u09ee\7N\2\2\u09ee") - buf.write("\u09ef\7G\2\2\u09ef\u0092\3\2\2\2\u09f0\u09f1\7K\2\2\u09f1") - buf.write("\u09f2\7P\2\2\u09f2\u09f3\7P\2\2\u09f3\u09f4\7G\2\2\u09f4") - buf.write("\u09f5\7T\2\2\u09f5\u0094\3\2\2\2\u09f6\u09f7\7K\2\2\u09f7") - buf.write("\u09f8\7P\2\2\u09f8\u09f9\7Q\2\2\u09f9\u09fa\7W\2\2\u09fa") - buf.write("\u09fb\7V\2\2\u09fb\u0096\3\2\2\2\u09fc\u09fd\7K\2\2\u09fd") - buf.write("\u09fe\7P\2\2\u09fe\u09ff\7U\2\2\u09ff\u0a00\7G\2\2\u0a00") - buf.write("\u0a01\7T\2\2\u0a01\u0a02\7V\2\2\u0a02\u0098\3\2\2\2\u0a03") - buf.write("\u0a04\7K\2\2\u0a04\u0a05\7P\2\2\u0a05\u0a06\7V\2\2\u0a06") - buf.write("\u0a07\7G\2\2\u0a07\u0a08\7T\2\2\u0a08\u0a09\7X\2\2\u0a09") - buf.write("\u0a0a\7C\2\2\u0a0a\u0a0b\7N\2\2\u0a0b\u009a\3\2\2\2\u0a0c") - buf.write("\u0a0d\7K\2\2\u0a0d\u0a0e\7P\2\2\u0a0e\u0a0f\7V\2\2\u0a0f") - buf.write("\u0a10\7Q\2\2\u0a10\u009c\3\2\2\2\u0a11\u0a12\7K\2\2\u0a12") - buf.write("\u0a13\7U\2\2\u0a13\u009e\3\2\2\2\u0a14\u0a15\7K\2\2\u0a15") - buf.write("\u0a16\7V\2\2\u0a16\u0a17\7G\2\2\u0a17\u0a18\7T\2\2\u0a18") - buf.write("\u0a19\7C\2\2\u0a19\u0a1a\7V\2\2\u0a1a\u0a1b\7G\2\2\u0a1b") - buf.write("\u00a0\3\2\2\2\u0a1c\u0a1d\7L\2\2\u0a1d\u0a1e\7Q\2\2\u0a1e") - buf.write("\u0a1f\7K\2\2\u0a1f\u0a20\7P\2\2\u0a20\u00a2\3\2\2\2\u0a21") - buf.write("\u0a22\7M\2\2\u0a22\u0a23\7G\2\2\u0a23\u0a24\7[\2\2\u0a24") - buf.write("\u00a4\3\2\2\2\u0a25\u0a26\7M\2\2\u0a26\u0a27\7G\2\2\u0a27") - buf.write("\u0a28\7[\2\2\u0a28\u0a29\7U\2\2\u0a29\u00a6\3\2\2\2\u0a2a") - buf.write("\u0a2b\7M\2\2\u0a2b\u0a2c\7K\2\2\u0a2c\u0a2d\7N\2\2\u0a2d") - buf.write("\u0a2e\7N\2\2\u0a2e\u00a8\3\2\2\2\u0a2f\u0a30\7N\2\2\u0a30") - buf.write("\u0a31\7G\2\2\u0a31\u0a32\7C\2\2\u0a32\u0a33\7F\2\2\u0a33") - buf.write("\u0a34\7K\2\2\u0a34\u0a35\7P\2\2\u0a35\u0a36\7I\2\2\u0a36") - buf.write("\u00aa\3\2\2\2\u0a37\u0a38\7N\2\2\u0a38\u0a39\7G\2\2\u0a39") - buf.write("\u0a3a\7C\2\2\u0a3a\u0a3b\7X\2\2\u0a3b\u0a3c\7G\2\2\u0a3c") - buf.write("\u00ac\3\2\2\2\u0a3d\u0a3e\7N\2\2\u0a3e\u0a3f\7G\2\2\u0a3f") - buf.write("\u0a40\7H\2\2\u0a40\u0a41\7V\2\2\u0a41\u00ae\3\2\2\2\u0a42") - buf.write("\u0a43\7N\2\2\u0a43\u0a44\7K\2\2\u0a44\u0a45\7M\2\2\u0a45") - buf.write("\u0a46\7G\2\2\u0a46\u00b0\3\2\2\2\u0a47\u0a48\7N\2\2\u0a48") - buf.write("\u0a49\7K\2\2\u0a49\u0a4a\7O\2\2\u0a4a\u0a4b\7K\2\2\u0a4b") - buf.write("\u0a4c\7V\2\2\u0a4c\u00b2\3\2\2\2\u0a4d\u0a4e\7N\2\2\u0a4e") - buf.write("\u0a4f\7K\2\2\u0a4f\u0a50\7P\2\2\u0a50\u0a51\7G\2\2\u0a51") - buf.write("\u0a52\7C\2\2\u0a52\u0a53\7T\2\2\u0a53\u00b4\3\2\2\2\u0a54") - buf.write("\u0a55\7N\2\2\u0a55\u0a56\7K\2\2\u0a56\u0a57\7P\2\2\u0a57") - buf.write("\u0a58\7G\2\2\u0a58\u0a59\7U\2\2\u0a59\u00b6\3\2\2\2\u0a5a") - buf.write("\u0a5b\7N\2\2\u0a5b\u0a5c\7Q\2\2\u0a5c\u0a5d\7C\2\2\u0a5d") - buf.write("\u0a5e\7F\2\2\u0a5e\u00b8\3\2\2\2\u0a5f\u0a60\7N\2\2\u0a60") - buf.write("\u0a61\7Q\2\2\u0a61\u0a62\7E\2\2\u0a62\u0a63\7M\2\2\u0a63") - buf.write("\u00ba\3\2\2\2\u0a64\u0a65\7N\2\2\u0a65\u0a66\7Q\2\2\u0a66") - buf.write("\u0a67\7Q\2\2\u0a67\u0a68\7R\2\2\u0a68\u00bc\3\2\2\2\u0a69") - buf.write("\u0a6a\7N\2\2\u0a6a\u0a6b\7Q\2\2\u0a6b\u0a6c\7Y\2\2\u0a6c") - buf.write("\u0a6d\7a\2\2\u0a6d\u0a6e\7R\2\2\u0a6e\u0a6f\7T\2\2\u0a6f") - buf.write("\u0a70\7K\2\2\u0a70\u0a71\7Q\2\2\u0a71\u0a72\7T\2\2\u0a72") - buf.write("\u0a73\7K\2\2\u0a73\u0a74\7V\2\2\u0a74\u0a75\7[\2\2\u0a75") - buf.write("\u00be\3\2\2\2\u0a76\u0a77\7O\2\2\u0a77\u0a78\7C\2\2\u0a78") - buf.write("\u0a79\7U\2\2\u0a79\u0a7a\7V\2\2\u0a7a\u0a7b\7G\2\2\u0a7b") - buf.write("\u0a7c\7T\2\2\u0a7c\u0a7d\7a\2\2\u0a7d\u0a7e\7D\2\2\u0a7e") - buf.write("\u0a7f\7K\2\2\u0a7f\u0a80\7P\2\2\u0a80\u0a81\7F\2\2\u0a81") - buf.write("\u00c0\3\2\2\2\u0a82\u0a83\7O\2\2\u0a83\u0a84\7C\2\2\u0a84") - buf.write("\u0a85\7U\2\2\u0a85\u0a86\7V\2\2\u0a86\u0a87\7G\2\2\u0a87") - buf.write("\u0a88\7T\2\2\u0a88\u0a89\7a\2\2\u0a89\u0a8a\7U\2\2\u0a8a") - buf.write("\u0a8b\7U\2\2\u0a8b\u0a8c\7N\2\2\u0a8c\u0a8d\7a\2\2\u0a8d") - buf.write("\u0a8e\7X\2\2\u0a8e\u0a8f\7G\2\2\u0a8f\u0a90\7T\2\2\u0a90") - buf.write("\u0a91\7K\2\2\u0a91\u0a92\7H\2\2\u0a92\u0a93\7[\2\2\u0a93") - buf.write("\u0a94\7a\2\2\u0a94\u0a95\7U\2\2\u0a95\u0a96\7G\2\2\u0a96") - buf.write("\u0a97\7T\2\2\u0a97\u0a98\7X\2\2\u0a98\u0a99\7G\2\2\u0a99") - buf.write("\u0a9a\7T\2\2\u0a9a\u0a9b\7a\2\2\u0a9b\u0a9c\7E\2\2\u0a9c") - buf.write("\u0a9d\7G\2\2\u0a9d\u0a9e\7T\2\2\u0a9e\u0a9f\7V\2\2\u0a9f") - buf.write("\u00c2\3\2\2\2\u0aa0\u0aa1\7O\2\2\u0aa1\u0aa2\7C\2\2\u0aa2") - buf.write("\u0aa3\7V\2\2\u0aa3\u0aa4\7E\2\2\u0aa4\u0aa5\7J\2\2\u0aa5") - buf.write("\u00c4\3\2\2\2\u0aa6\u0aa7\7O\2\2\u0aa7\u0aa8\7C\2\2\u0aa8") - buf.write("\u0aa9\7Z\2\2\u0aa9\u0aaa\7X\2\2\u0aaa\u0aab\7C\2\2\u0aab") - buf.write("\u0aac\7N\2\2\u0aac\u0aad\7W\2\2\u0aad\u0aae\7G\2\2\u0aae") - buf.write("\u00c6\3\2\2\2\u0aaf\u0ab0\7O\2\2\u0ab0\u0ab1\7Q\2\2\u0ab1") - buf.write("\u0ab2\7F\2\2\u0ab2\u0ab3\7K\2\2\u0ab3\u0ab4\7H\2\2\u0ab4") - buf.write("\u0ab5\7K\2\2\u0ab5\u0ab6\7G\2\2\u0ab6\u0ab7\7U\2\2\u0ab7") - buf.write("\u00c8\3\2\2\2\u0ab8\u0ab9\7P\2\2\u0ab9\u0aba\7C\2\2\u0aba") - buf.write("\u0abb\7V\2\2\u0abb\u0abc\7W\2\2\u0abc\u0abd\7T\2\2\u0abd") - buf.write("\u0abe\7C\2\2\u0abe\u0abf\7N\2\2\u0abf\u00ca\3\2\2\2\u0ac0") - buf.write("\u0ac1\7P\2\2\u0ac1\u0ac2\7Q\2\2\u0ac2\u0ac3\7V\2\2\u0ac3") - buf.write("\u00cc\3\2\2\2\u0ac4\u0ac5\7P\2\2\u0ac5\u0ac6\7Q\2\2\u0ac6") - buf.write("\u0ac7\7a\2\2\u0ac7\u0ac8\7Y\2\2\u0ac8\u0ac9\7T\2\2\u0ac9") - buf.write("\u0aca\7K\2\2\u0aca\u0acb\7V\2\2\u0acb\u0acc\7G\2\2\u0acc") - buf.write("\u0acd\7a\2\2\u0acd\u0ace\7V\2\2\u0ace\u0acf\7Q\2\2\u0acf") - buf.write("\u0ad0\7a\2\2\u0ad0\u0ad1\7D\2\2\u0ad1\u0ad2\7K\2\2\u0ad2") - buf.write("\u0ad3\7P\2\2\u0ad3\u0ad4\7N\2\2\u0ad4\u0ad5\7Q\2\2\u0ad5") - buf.write("\u0ad6\7I\2\2\u0ad6\u00ce\3\2\2\2\u0ad7\u0ad8\7P\2\2\u0ad8") - buf.write("\u0ad9\7W\2\2\u0ad9\u0ada\7N\2\2\u0ada\u0adb\7N\2\2\u0adb") - buf.write("\u00d0\3\2\2\2\u0adc\u0add\7Q\2\2\u0add\u0ade\7P\2\2\u0ade") - buf.write("\u00d2\3\2\2\2\u0adf\u0ae0\7Q\2\2\u0ae0\u0ae1\7R\2\2\u0ae1") - buf.write("\u0ae2\7V\2\2\u0ae2\u0ae3\7K\2\2\u0ae3\u0ae4\7O\2\2\u0ae4") - buf.write("\u0ae5\7K\2\2\u0ae5\u0ae6\7\\\2\2\u0ae6\u0ae7\7G\2\2\u0ae7") - buf.write("\u00d4\3\2\2\2\u0ae8\u0ae9\7Q\2\2\u0ae9\u0aea\7R\2\2\u0aea") - buf.write("\u0aeb\7V\2\2\u0aeb\u0aec\7K\2\2\u0aec\u0aed\7Q\2\2\u0aed") - buf.write("\u0aee\7P\2\2\u0aee\u00d6\3\2\2\2\u0aef\u0af0\7Q\2\2\u0af0") - buf.write("\u0af1\7R\2\2\u0af1\u0af2\7V\2\2\u0af2\u0af3\7K\2\2\u0af3") - buf.write("\u0af4\7Q\2\2\u0af4\u0af5\7P\2\2\u0af5\u0af6\7C\2\2\u0af6") - buf.write("\u0af7\7N\2\2\u0af7\u0af8\7N\2\2\u0af8\u0af9\7[\2\2\u0af9") - buf.write("\u00d8\3\2\2\2\u0afa\u0afb\7Q\2\2\u0afb\u0afc\7T\2\2\u0afc") - buf.write("\u00da\3\2\2\2\u0afd\u0afe\7Q\2\2\u0afe\u0aff\7T\2\2\u0aff") - buf.write("\u0b00\7F\2\2\u0b00\u0b01\7G\2\2\u0b01\u0b02\7T\2\2\u0b02") - buf.write("\u00dc\3\2\2\2\u0b03\u0b04\7Q\2\2\u0b04\u0b05\7W\2\2\u0b05") - buf.write("\u0b06\7V\2\2\u0b06\u00de\3\2\2\2\u0b07\u0b08\7Q\2\2\u0b08") - buf.write("\u0b09\7W\2\2\u0b09\u0b0a\7V\2\2\u0b0a\u0b0b\7G\2\2\u0b0b") - buf.write("\u0b0c\7T\2\2\u0b0c\u00e0\3\2\2\2\u0b0d\u0b0e\7Q\2\2\u0b0e") - buf.write("\u0b0f\7W\2\2\u0b0f\u0b10\7V\2\2\u0b10\u0b11\7H\2\2\u0b11") - buf.write("\u0b12\7K\2\2\u0b12\u0b13\7N\2\2\u0b13\u0b14\7G\2\2\u0b14") - buf.write("\u00e2\3\2\2\2\u0b15\u0b16\7R\2\2\u0b16\u0b17\7C\2\2\u0b17") - buf.write("\u0b18\7T\2\2\u0b18\u0b19\7V\2\2\u0b19\u0b1a\7K\2\2\u0b1a") - buf.write("\u0b1b\7V\2\2\u0b1b\u0b1c\7K\2\2\u0b1c\u0b1d\7Q\2\2\u0b1d") - buf.write("\u0b1e\7P\2\2\u0b1e\u00e4\3\2\2\2\u0b1f\u0b20\7R\2\2\u0b20") - buf.write("\u0b21\7T\2\2\u0b21\u0b22\7K\2\2\u0b22\u0b23\7O\2\2\u0b23") - buf.write("\u0b24\7C\2\2\u0b24\u0b25\7T\2\2\u0b25\u0b26\7[\2\2\u0b26") - buf.write("\u00e6\3\2\2\2\u0b27\u0b28\7R\2\2\u0b28\u0b29\7T\2\2\u0b29") - buf.write("\u0b2a\7Q\2\2\u0b2a\u0b2b\7E\2\2\u0b2b\u0b2c\7G\2\2\u0b2c") - buf.write("\u0b2d\7F\2\2\u0b2d\u0b2e\7W\2\2\u0b2e\u0b2f\7T\2\2\u0b2f") - buf.write("\u0b30\7G\2\2\u0b30\u00e8\3\2\2\2\u0b31\u0b32\7R\2\2\u0b32") - buf.write("\u0b33\7W\2\2\u0b33\u0b34\7T\2\2\u0b34\u0b35\7I\2\2\u0b35") - buf.write("\u0b36\7G\2\2\u0b36\u00ea\3\2\2\2\u0b37\u0b38\7T\2\2\u0b38") - buf.write("\u0b39\7C\2\2\u0b39\u0b3a\7P\2\2\u0b3a\u0b3b\7I\2\2\u0b3b") - buf.write("\u0b3c\7G\2\2\u0b3c\u00ec\3\2\2\2\u0b3d\u0b3e\7T\2\2\u0b3e") - buf.write("\u0b3f\7G\2\2\u0b3f\u0b40\7C\2\2\u0b40\u0b41\7F\2\2\u0b41") - buf.write("\u00ee\3\2\2\2\u0b42\u0b43\7T\2\2\u0b43\u0b44\7G\2\2\u0b44") - buf.write("\u0b45\7C\2\2\u0b45\u0b46\7F\2\2\u0b46\u0b47\7U\2\2\u0b47") - buf.write("\u00f0\3\2\2\2\u0b48\u0b49\7T\2\2\u0b49\u0b4a\7G\2\2\u0b4a") - buf.write("\u0b4b\7H\2\2\u0b4b\u0b4c\7G\2\2\u0b4c\u0b4d\7T\2\2\u0b4d") - buf.write("\u0b4e\7G\2\2\u0b4e\u0b4f\7P\2\2\u0b4f\u0b50\7E\2\2\u0b50") - buf.write("\u0b51\7G\2\2\u0b51\u0b52\7U\2\2\u0b52\u00f2\3\2\2\2\u0b53") - buf.write("\u0b54\7T\2\2\u0b54\u0b55\7G\2\2\u0b55\u0b56\7I\2\2\u0b56") - buf.write("\u0b57\7G\2\2\u0b57\u0b58\7Z\2\2\u0b58\u0b59\7R\2\2\u0b59") - buf.write("\u00f4\3\2\2\2\u0b5a\u0b5b\7T\2\2\u0b5b\u0b5c\7G\2\2\u0b5c") - buf.write("\u0b5d\7N\2\2\u0b5d\u0b5e\7G\2\2\u0b5e\u0b5f\7C\2\2\u0b5f") - buf.write("\u0b60\7U\2\2\u0b60\u0b61\7G\2\2\u0b61\u00f6\3\2\2\2\u0b62") - buf.write("\u0b63\7T\2\2\u0b63\u0b64\7G\2\2\u0b64\u0b65\7P\2\2\u0b65") - buf.write("\u0b66\7C\2\2\u0b66\u0b67\7O\2\2\u0b67\u0b68\7G\2\2\u0b68") - buf.write("\u00f8\3\2\2\2\u0b69\u0b6a\7T\2\2\u0b6a\u0b6b\7G\2\2\u0b6b") - buf.write("\u0b6c\7R\2\2\u0b6c\u0b6d\7G\2\2\u0b6d\u0b6e\7C\2\2\u0b6e") - buf.write("\u0b6f\7V\2\2\u0b6f\u00fa\3\2\2\2\u0b70\u0b71\7T\2\2\u0b71") - buf.write("\u0b72\7G\2\2\u0b72\u0b73\7R\2\2\u0b73\u0b74\7N\2\2\u0b74") - buf.write("\u0b75\7C\2\2\u0b75\u0b76\7E\2\2\u0b76\u0b77\7G\2\2\u0b77") - buf.write("\u00fc\3\2\2\2\u0b78\u0b79\7T\2\2\u0b79\u0b7a\7G\2\2\u0b7a") - buf.write("\u0b7b\7S\2\2\u0b7b\u0b7c\7W\2\2\u0b7c\u0b7d\7K\2\2\u0b7d") - buf.write("\u0b7e\7T\2\2\u0b7e\u0b7f\7G\2\2\u0b7f\u00fe\3\2\2\2\u0b80") - buf.write("\u0b81\7T\2\2\u0b81\u0b82\7G\2\2\u0b82\u0b83\7U\2\2\u0b83") - buf.write("\u0b84\7V\2\2\u0b84\u0b85\7T\2\2\u0b85\u0b86\7K\2\2\u0b86") - buf.write("\u0b87\7E\2\2\u0b87\u0b88\7V\2\2\u0b88\u0100\3\2\2\2\u0b89") - buf.write("\u0b8a\7T\2\2\u0b8a\u0b8b\7G\2\2\u0b8b\u0b8c\7V\2\2\u0b8c") - buf.write("\u0b8d\7W\2\2\u0b8d\u0b8e\7T\2\2\u0b8e\u0b8f\7P\2\2\u0b8f") - buf.write("\u0102\3\2\2\2\u0b90\u0b91\7T\2\2\u0b91\u0b92\7G\2\2\u0b92") - buf.write("\u0b93\7X\2\2\u0b93\u0b94\7Q\2\2\u0b94\u0b95\7M\2\2\u0b95") - buf.write("\u0b96\7G\2\2\u0b96\u0104\3\2\2\2\u0b97\u0b98\7T\2\2\u0b98") - buf.write("\u0b99\7K\2\2\u0b99\u0b9a\7I\2\2\u0b9a\u0b9b\7J\2\2\u0b9b") - buf.write("\u0b9c\7V\2\2\u0b9c\u0106\3\2\2\2\u0b9d\u0b9e\7T\2\2\u0b9e") - buf.write("\u0b9f\7N\2\2\u0b9f\u0ba0\7K\2\2\u0ba0\u0ba1\7M\2\2\u0ba1") - buf.write("\u0ba2\7G\2\2\u0ba2\u0108\3\2\2\2\u0ba3\u0ba4\7U\2\2\u0ba4") - buf.write("\u0ba5\7E\2\2\u0ba5\u0ba6\7J\2\2\u0ba6\u0ba7\7G\2\2\u0ba7") - buf.write("\u0ba8\7O\2\2\u0ba8\u0ba9\7C\2\2\u0ba9\u010a\3\2\2\2\u0baa") - buf.write("\u0bab\7U\2\2\u0bab\u0bac\7E\2\2\u0bac\u0bad\7J\2\2\u0bad") - buf.write("\u0bae\7G\2\2\u0bae\u0baf\7O\2\2\u0baf\u0bb0\7C\2\2\u0bb0") - buf.write("\u0bb1\7U\2\2\u0bb1\u010c\3\2\2\2\u0bb2\u0bb3\7U\2\2\u0bb3") - buf.write("\u0bb4\7G\2\2\u0bb4\u0bb5\7N\2\2\u0bb5\u0bb6\7G\2\2\u0bb6") - buf.write("\u0bb7\7E\2\2\u0bb7\u0bb8\7V\2\2\u0bb8\u010e\3\2\2\2\u0bb9") - buf.write("\u0bba\7U\2\2\u0bba\u0bbb\7G\2\2\u0bbb\u0bbc\7V\2\2\u0bbc") - buf.write("\u0110\3\2\2\2\u0bbd\u0bbe\7U\2\2\u0bbe\u0bbf\7G\2\2\u0bbf") - buf.write("\u0bc0\7R\2\2\u0bc0\u0bc1\7C\2\2\u0bc1\u0bc2\7T\2\2\u0bc2") - buf.write("\u0bc3\7C\2\2\u0bc3\u0bc4\7V\2\2\u0bc4\u0bc5\7Q\2\2\u0bc5") - buf.write("\u0bc6\7T\2\2\u0bc6\u0112\3\2\2\2\u0bc7\u0bc8\7U\2\2\u0bc8") - buf.write("\u0bc9\7J\2\2\u0bc9\u0bca\7Q\2\2\u0bca\u0bcb\7Y\2\2\u0bcb") - buf.write("\u0114\3\2\2\2\u0bcc\u0bcd\7U\2\2\u0bcd\u0bce\7R\2\2\u0bce") - buf.write("\u0bcf\7C\2\2\u0bcf\u0bd0\7V\2\2\u0bd0\u0bd1\7K\2\2\u0bd1") - buf.write("\u0bd2\7C\2\2\u0bd2\u0bd3\7N\2\2\u0bd3\u0116\3\2\2\2\u0bd4") - buf.write("\u0bd5\7U\2\2\u0bd5\u0bd6\7S\2\2\u0bd6\u0bd7\7N\2\2\u0bd7") - buf.write("\u0118\3\2\2\2\u0bd8\u0bd9\7U\2\2\u0bd9\u0bda\7S\2\2\u0bda") - buf.write("\u0bdb\7N\2\2\u0bdb\u0bdc\7G\2\2\u0bdc\u0bdd\7Z\2\2\u0bdd") - buf.write("\u0bde\7E\2\2\u0bde\u0bdf\7G\2\2\u0bdf\u0be0\7R\2\2\u0be0") - buf.write("\u0be1\7V\2\2\u0be1\u0be2\7K\2\2\u0be2\u0be3\7Q\2\2\u0be3") - buf.write("\u0be4\7P\2\2\u0be4\u011a\3\2\2\2\u0be5\u0be6\7U\2\2\u0be6") - buf.write("\u0be7\7S\2\2\u0be7\u0be8\7N\2\2\u0be8\u0be9\7U\2\2\u0be9") - buf.write("\u0bea\7V\2\2\u0bea\u0beb\7C\2\2\u0beb\u0bec\7V\2\2\u0bec") - buf.write("\u0bed\7G\2\2\u0bed\u011c\3\2\2\2\u0bee\u0bef\7U\2\2\u0bef") - buf.write("\u0bf0\7S\2\2\u0bf0\u0bf1\7N\2\2\u0bf1\u0bf2\7Y\2\2\u0bf2") - buf.write("\u0bf3\7C\2\2\u0bf3\u0bf4\7T\2\2\u0bf4\u0bf5\7P\2\2\u0bf5") - buf.write("\u0bf6\7K\2\2\u0bf6\u0bf7\7P\2\2\u0bf7\u0bf8\7I\2\2\u0bf8") - buf.write("\u011e\3\2\2\2\u0bf9\u0bfa\7U\2\2\u0bfa\u0bfb\7S\2\2\u0bfb") - buf.write("\u0bfc\7N\2\2\u0bfc\u0bfd\7a\2\2\u0bfd\u0bfe\7D\2\2\u0bfe") - buf.write("\u0bff\7K\2\2\u0bff\u0c00\7I\2\2\u0c00\u0c01\7a\2\2\u0c01") - buf.write("\u0c02\7T\2\2\u0c02\u0c03\7G\2\2\u0c03\u0c04\7U\2\2\u0c04") - buf.write("\u0c05\7W\2\2\u0c05\u0c06\7N\2\2\u0c06\u0c07\7V\2\2\u0c07") - buf.write("\u0120\3\2\2\2\u0c08\u0c09\7U\2\2\u0c09\u0c0a\7S\2\2\u0c0a") - buf.write("\u0c0b\7N\2\2\u0c0b\u0c0c\7a\2\2\u0c0c\u0c0d\7E\2\2\u0c0d") - buf.write("\u0c0e\7C\2\2\u0c0e\u0c0f\7N\2\2\u0c0f\u0c10\7E\2\2\u0c10") - buf.write("\u0c11\7a\2\2\u0c11\u0c12\7H\2\2\u0c12\u0c13\7Q\2\2\u0c13") - buf.write("\u0c14\7W\2\2\u0c14\u0c15\7P\2\2\u0c15\u0c16\7F\2\2\u0c16") - buf.write("\u0c17\7a\2\2\u0c17\u0c18\7T\2\2\u0c18\u0c19\7Q\2\2\u0c19") - buf.write("\u0c1a\7Y\2\2\u0c1a\u0c1b\7U\2\2\u0c1b\u0122\3\2\2\2\u0c1c") - buf.write("\u0c1d\7U\2\2\u0c1d\u0c1e\7S\2\2\u0c1e\u0c1f\7N\2\2\u0c1f") - buf.write("\u0c20\7a\2\2\u0c20\u0c21\7U\2\2\u0c21\u0c22\7O\2\2\u0c22") - buf.write("\u0c23\7C\2\2\u0c23\u0c24\7N\2\2\u0c24\u0c25\7N\2\2\u0c25") - buf.write("\u0c26\7a\2\2\u0c26\u0c27\7T\2\2\u0c27\u0c28\7G\2\2\u0c28") - buf.write("\u0c29\7U\2\2\u0c29\u0c2a\7W\2\2\u0c2a\u0c2b\7N\2\2\u0c2b") - buf.write("\u0c2c\7V\2\2\u0c2c\u0124\3\2\2\2\u0c2d\u0c2e\7U\2\2\u0c2e") - buf.write("\u0c2f\7U\2\2\u0c2f\u0c30\7N\2\2\u0c30\u0126\3\2\2\2\u0c31") - buf.write("\u0c32\7U\2\2\u0c32\u0c33\7V\2\2\u0c33\u0c34\7C\2\2\u0c34") - buf.write("\u0c35\7T\2\2\u0c35\u0c36\7V\2\2\u0c36\u0c37\7K\2\2\u0c37") - buf.write("\u0c38\7P\2\2\u0c38\u0c39\7I\2\2\u0c39\u0128\3\2\2\2\u0c3a") - buf.write("\u0c3b\7U\2\2\u0c3b\u0c3c\7V\2\2\u0c3c\u0c3d\7T\2\2\u0c3d") - buf.write("\u0c3e\7C\2\2\u0c3e\u0c3f\7K\2\2\u0c3f\u0c40\7I\2\2\u0c40") - buf.write("\u0c41\7J\2\2\u0c41\u0c42\7V\2\2\u0c42\u0c43\7a\2\2\u0c43") - buf.write("\u0c44\7L\2\2\u0c44\u0c45\7Q\2\2\u0c45\u0c46\7K\2\2\u0c46") - buf.write("\u0c47\7P\2\2\u0c47\u012a\3\2\2\2\u0c48\u0c49\7V\2\2\u0c49") - buf.write("\u0c4a\7C\2\2\u0c4a\u0c4b\7D\2\2\u0c4b\u0c4c\7N\2\2\u0c4c") - buf.write("\u0c4d\7G\2\2\u0c4d\u012c\3\2\2\2\u0c4e\u0c4f\7V\2\2\u0c4f") - buf.write("\u0c50\7G\2\2\u0c50\u0c51\7T\2\2\u0c51\u0c52\7O\2\2\u0c52") - buf.write("\u0c53\7K\2\2\u0c53\u0c54\7P\2\2\u0c54\u0c55\7C\2\2\u0c55") - buf.write("\u0c56\7V\2\2\u0c56\u0c57\7G\2\2\u0c57\u0c58\7F\2\2\u0c58") - buf.write("\u012e\3\2\2\2\u0c59\u0c5a\7V\2\2\u0c5a\u0c5b\7J\2\2\u0c5b") - buf.write("\u0c5c\7G\2\2\u0c5c\u0c5d\7P\2\2\u0c5d\u0130\3\2\2\2\u0c5e") - buf.write("\u0c5f\7V\2\2\u0c5f\u0c60\7Q\2\2\u0c60\u0132\3\2\2\2\u0c61") - buf.write("\u0c62\7V\2\2\u0c62\u0c63\7T\2\2\u0c63\u0c64\7C\2\2\u0c64") - buf.write("\u0c65\7K\2\2\u0c65\u0c66\7N\2\2\u0c66\u0c67\7K\2\2\u0c67") - buf.write("\u0c68\7P\2\2\u0c68\u0c69\7I\2\2\u0c69\u0134\3\2\2\2\u0c6a") - buf.write("\u0c6b\7V\2\2\u0c6b\u0c6c\7T\2\2\u0c6c\u0c6d\7K\2\2\u0c6d") - buf.write("\u0c6e\7I\2\2\u0c6e\u0c6f\7I\2\2\u0c6f\u0c70\7G\2\2\u0c70") - buf.write("\u0c71\7T\2\2\u0c71\u0136\3\2\2\2\u0c72\u0c73\7V\2\2\u0c73") - buf.write("\u0c74\7T\2\2\u0c74\u0c75\7W\2\2\u0c75\u0c76\7G\2\2\u0c76") - buf.write("\u0138\3\2\2\2\u0c77\u0c78\7W\2\2\u0c78\u0c79\7P\2\2\u0c79") - buf.write("\u0c7a\7F\2\2\u0c7a\u0c7b\7Q\2\2\u0c7b\u013a\3\2\2\2\u0c7c") - buf.write("\u0c7d\7W\2\2\u0c7d\u0c7e\7P\2\2\u0c7e\u0c7f\7K\2\2\u0c7f") - buf.write("\u0c80\7Q\2\2\u0c80\u0c81\7P\2\2\u0c81\u013c\3\2\2\2\u0c82") - buf.write("\u0c83\7W\2\2\u0c83\u0c84\7P\2\2\u0c84\u0c85\7K\2\2\u0c85") - buf.write("\u0c86\7S\2\2\u0c86\u0c87\7W\2\2\u0c87\u0c88\7G\2\2\u0c88") - buf.write("\u013e\3\2\2\2\u0c89\u0c8a\7W\2\2\u0c8a\u0c8b\7P\2\2\u0c8b") - buf.write("\u0c8c\7N\2\2\u0c8c\u0c8d\7Q\2\2\u0c8d\u0c8e\7E\2\2\u0c8e") - buf.write("\u0c8f\7M\2\2\u0c8f\u0140\3\2\2\2\u0c90\u0c91\7W\2\2\u0c91") - buf.write("\u0c92\7P\2\2\u0c92\u0c93\7U\2\2\u0c93\u0c94\7K\2\2\u0c94") - buf.write("\u0c95\7I\2\2\u0c95\u0c96\7P\2\2\u0c96\u0c97\7G\2\2\u0c97") - buf.write("\u0c98\7F\2\2\u0c98\u0142\3\2\2\2\u0c99\u0c9a\7W\2\2\u0c9a") - buf.write("\u0c9b\7R\2\2\u0c9b\u0c9c\7F\2\2\u0c9c\u0c9d\7C\2\2\u0c9d") - buf.write("\u0c9e\7V\2\2\u0c9e\u0c9f\7G\2\2\u0c9f\u0144\3\2\2\2\u0ca0") - buf.write("\u0ca1\7W\2\2\u0ca1\u0ca2\7U\2\2\u0ca2\u0ca3\7C\2\2\u0ca3") - buf.write("\u0ca4\7I\2\2\u0ca4\u0ca5\7G\2\2\u0ca5\u0146\3\2\2\2\u0ca6") - buf.write("\u0ca7\7W\2\2\u0ca7\u0ca8\7U\2\2\u0ca8\u0ca9\7G\2\2\u0ca9") - buf.write("\u0148\3\2\2\2\u0caa\u0cab\7W\2\2\u0cab\u0cac\7U\2\2\u0cac") - buf.write("\u0cad\7K\2\2\u0cad\u0cae\7P\2\2\u0cae\u0caf\7I\2\2\u0caf") - buf.write("\u014a\3\2\2\2\u0cb0\u0cb1\7X\2\2\u0cb1\u0cb2\7C\2\2\u0cb2") - buf.write("\u0cb3\7N\2\2\u0cb3\u0cb4\7W\2\2\u0cb4\u0cb5\7G\2\2\u0cb5") - buf.write("\u0cb6\7U\2\2\u0cb6\u014c\3\2\2\2\u0cb7\u0cb8\7Y\2\2\u0cb8") - buf.write("\u0cb9\7J\2\2\u0cb9\u0cba\7G\2\2\u0cba\u0cbb\7P\2\2\u0cbb") - buf.write("\u014e\3\2\2\2\u0cbc\u0cbd\7Y\2\2\u0cbd\u0cbe\7J\2\2\u0cbe") - buf.write("\u0cbf\7G\2\2\u0cbf\u0cc0\7T\2\2\u0cc0\u0cc1\7G\2\2\u0cc1") - buf.write("\u0150\3\2\2\2\u0cc2\u0cc3\7Y\2\2\u0cc3\u0cc4\7J\2\2\u0cc4") - buf.write("\u0cc5\7K\2\2\u0cc5\u0cc6\7N\2\2\u0cc6\u0cc7\7G\2\2\u0cc7") - buf.write("\u0152\3\2\2\2\u0cc8\u0cc9\7Y\2\2\u0cc9\u0cca\7K\2\2\u0cca") - buf.write("\u0ccb\7V\2\2\u0ccb\u0ccc\7J\2\2\u0ccc\u0154\3\2\2\2\u0ccd") - buf.write("\u0cce\7Y\2\2\u0cce\u0ccf\7T\2\2\u0ccf\u0cd0\7K\2\2\u0cd0") - buf.write("\u0cd1\7V\2\2\u0cd1\u0cd2\7G\2\2\u0cd2\u0156\3\2\2\2\u0cd3") - buf.write("\u0cd4\7Z\2\2\u0cd4\u0cd5\7Q\2\2\u0cd5\u0cd6\7T\2\2\u0cd6") - buf.write("\u0158\3\2\2\2\u0cd7\u0cd8\7\\\2\2\u0cd8\u0cd9\7G\2\2") - buf.write("\u0cd9\u0cda\7T\2\2\u0cda\u0cdb\7Q\2\2\u0cdb\u0cdc\7H") - buf.write("\2\2\u0cdc\u0cdd\7K\2\2\u0cdd\u0cde\7N\2\2\u0cde\u0cdf") - buf.write("\7N\2\2\u0cdf\u015a\3\2\2\2\u0ce0\u0ce1\7V\2\2\u0ce1\u0ce2") - buf.write("\7K\2\2\u0ce2\u0ce3\7P\2\2\u0ce3\u0ce4\7[\2\2\u0ce4\u0ce5") - buf.write("\7K\2\2\u0ce5\u0ce6\7P\2\2\u0ce6\u0ce7\7V\2\2\u0ce7\u015c") - buf.write("\3\2\2\2\u0ce8\u0ce9\7U\2\2\u0ce9\u0cea\7O\2\2\u0cea\u0ceb") - buf.write("\7C\2\2\u0ceb\u0cec\7N\2\2\u0cec\u0ced\7N\2\2\u0ced\u0cee") - buf.write("\7K\2\2\u0cee\u0cef\7P\2\2\u0cef\u0cf0\7V\2\2\u0cf0\u015e") - buf.write("\3\2\2\2\u0cf1\u0cf2\7O\2\2\u0cf2\u0cf3\7G\2\2\u0cf3\u0cf4") - buf.write("\7F\2\2\u0cf4\u0cf5\7K\2\2\u0cf5\u0cf6\7W\2\2\u0cf6\u0cf7") - buf.write("\7O\2\2\u0cf7\u0cf8\7K\2\2\u0cf8\u0cf9\7P\2\2\u0cf9\u0cfa") - buf.write("\7V\2\2\u0cfa\u0160\3\2\2\2\u0cfb\u0cfc\7K\2\2\u0cfc\u0cfd") - buf.write("\7P\2\2\u0cfd\u0cfe\7V\2\2\u0cfe\u0162\3\2\2\2\u0cff\u0d00") - buf.write("\7K\2\2\u0d00\u0d01\7P\2\2\u0d01\u0d02\7V\2\2\u0d02\u0d03") - buf.write("\7G\2\2\u0d03\u0d04\7I\2\2\u0d04\u0d05\7G\2\2\u0d05\u0d06") - buf.write("\7T\2\2\u0d06\u0164\3\2\2\2\u0d07\u0d08\7D\2\2\u0d08\u0d09") - buf.write("\7K\2\2\u0d09\u0d0a\7I\2\2\u0d0a\u0d0b\7K\2\2\u0d0b\u0d0c") - buf.write("\7P\2\2\u0d0c\u0d0d\7V\2\2\u0d0d\u0166\3\2\2\2\u0d0e\u0d0f") - buf.write("\7T\2\2\u0d0f\u0d10\7G\2\2\u0d10\u0d11\7C\2\2\u0d11\u0d12") - buf.write("\7N\2\2\u0d12\u0168\3\2\2\2\u0d13\u0d14\7F\2\2\u0d14\u0d15") - buf.write("\7Q\2\2\u0d15\u0d16\7W\2\2\u0d16\u0d17\7D\2\2\u0d17\u0d18") - buf.write("\7N\2\2\u0d18\u0d19\7G\2\2\u0d19\u016a\3\2\2\2\u0d1a\u0d1b") - buf.write("\7H\2\2\u0d1b\u0d1c\7N\2\2\u0d1c\u0d1d\7Q\2\2\u0d1d\u0d1e") - buf.write("\7C\2\2\u0d1e\u0d1f\7V\2\2\u0d1f\u016c\3\2\2\2\u0d20\u0d21") - buf.write("\7F\2\2\u0d21\u0d22\7G\2\2\u0d22\u0d23\7E\2\2\u0d23\u0d24") - buf.write("\7K\2\2\u0d24\u0d25\7O\2\2\u0d25\u0d26\7C\2\2\u0d26\u0d27") - buf.write("\7N\2\2\u0d27\u016e\3\2\2\2\u0d28\u0d29\7P\2\2\u0d29\u0d2a") - buf.write("\7W\2\2\u0d2a\u0d2b\7O\2\2\u0d2b\u0d2c\7G\2\2\u0d2c\u0d2d") - buf.write("\7T\2\2\u0d2d\u0d2e\7K\2\2\u0d2e\u0d2f\7E\2\2\u0d2f\u0170") - buf.write("\3\2\2\2\u0d30\u0d31\7F\2\2\u0d31\u0d32\7C\2\2\u0d32\u0d33") - buf.write("\7V\2\2\u0d33\u0d34\7G\2\2\u0d34\u0172\3\2\2\2\u0d35\u0d36") - buf.write("\7V\2\2\u0d36\u0d37\7K\2\2\u0d37\u0d38\7O\2\2\u0d38\u0d39") - buf.write("\7G\2\2\u0d39\u0174\3\2\2\2\u0d3a\u0d3b\7V\2\2\u0d3b\u0d3c") - buf.write("\7K\2\2\u0d3c\u0d3d\7O\2\2\u0d3d\u0d3e\7G\2\2\u0d3e\u0d3f") - buf.write("\7U\2\2\u0d3f\u0d40\7V\2\2\u0d40\u0d41\7C\2\2\u0d41\u0d42") - buf.write("\7O\2\2\u0d42\u0d43\7R\2\2\u0d43\u0176\3\2\2\2\u0d44\u0d45") - buf.write("\7F\2\2\u0d45\u0d46\7C\2\2\u0d46\u0d47\7V\2\2\u0d47\u0d48") - buf.write("\7G\2\2\u0d48\u0d49\7V\2\2\u0d49\u0d4a\7K\2\2\u0d4a\u0d4b") - buf.write("\7O\2\2\u0d4b\u0d4c\7G\2\2\u0d4c\u0178\3\2\2\2\u0d4d\u0d4e") - buf.write("\7[\2\2\u0d4e\u0d4f\7G\2\2\u0d4f\u0d50\7C\2\2\u0d50\u0d51") - buf.write("\7T\2\2\u0d51\u017a\3\2\2\2\u0d52\u0d53\7E\2\2\u0d53\u0d54") - buf.write("\7J\2\2\u0d54\u0d55\7C\2\2\u0d55\u0d56\7T\2\2\u0d56\u017c") - buf.write("\3\2\2\2\u0d57\u0d58\7X\2\2\u0d58\u0d59\7C\2\2\u0d59\u0d5a") - buf.write("\7T\2\2\u0d5a\u0d5b\7E\2\2\u0d5b\u0d5c\7J\2\2\u0d5c\u0d5d") - buf.write("\7C\2\2\u0d5d\u0d5e\7T\2\2\u0d5e\u017e\3\2\2\2\u0d5f\u0d60") - buf.write("\7D\2\2\u0d60\u0d61\7K\2\2\u0d61\u0d62\7P\2\2\u0d62\u0d63") - buf.write("\7C\2\2\u0d63\u0d64\7T\2\2\u0d64\u0d65\7[\2\2\u0d65\u0180") - buf.write("\3\2\2\2\u0d66\u0d67\7X\2\2\u0d67\u0d68\7C\2\2\u0d68\u0d69") - buf.write("\7T\2\2\u0d69\u0d6a\7D\2\2\u0d6a\u0d6b\7K\2\2\u0d6b\u0d6c") - buf.write("\7P\2\2\u0d6c\u0d6d\7C\2\2\u0d6d\u0d6e\7T\2\2\u0d6e\u0d6f") - buf.write("\7[\2\2\u0d6f\u0182\3\2\2\2\u0d70\u0d71\7V\2\2\u0d71\u0d72") - buf.write("\7K\2\2\u0d72\u0d73\7P\2\2\u0d73\u0d74\7[\2\2\u0d74\u0d75") - buf.write("\7D\2\2\u0d75\u0d76\7N\2\2\u0d76\u0d77\7Q\2\2\u0d77\u0d78") - buf.write("\7D\2\2\u0d78\u0184\3\2\2\2\u0d79\u0d7a\7D\2\2\u0d7a\u0d7b") - buf.write("\7N\2\2\u0d7b\u0d7c\7Q\2\2\u0d7c\u0d7d\7D\2\2\u0d7d\u0186") - buf.write("\3\2\2\2\u0d7e\u0d7f\7O\2\2\u0d7f\u0d80\7G\2\2\u0d80\u0d81") - buf.write("\7F\2\2\u0d81\u0d82\7K\2\2\u0d82\u0d83\7W\2\2\u0d83\u0d84") - buf.write("\7O\2\2\u0d84\u0d85\7D\2\2\u0d85\u0d86\7N\2\2\u0d86\u0d87") - buf.write("\7Q\2\2\u0d87\u0d88\7D\2\2\u0d88\u0188\3\2\2\2\u0d89\u0d8a") - buf.write("\7N\2\2\u0d8a\u0d8b\7Q\2\2\u0d8b\u0d8c\7P\2\2\u0d8c\u0d8d") - buf.write("\7I\2\2\u0d8d\u0d8e\7D\2\2\u0d8e\u0d8f\7N\2\2\u0d8f\u0d90") - buf.write("\7Q\2\2\u0d90\u0d91\7D\2\2\u0d91\u018a\3\2\2\2\u0d92\u0d93") - buf.write("\7V\2\2\u0d93\u0d94\7K\2\2\u0d94\u0d95\7P\2\2\u0d95\u0d96") - buf.write("\7[\2\2\u0d96\u0d97\7V\2\2\u0d97\u0d98\7G\2\2\u0d98\u0d99") - buf.write("\7Z\2\2\u0d99\u0d9a\7V\2\2\u0d9a\u018c\3\2\2\2\u0d9b\u0d9c") - buf.write("\7V\2\2\u0d9c\u0d9d\7G\2\2\u0d9d\u0d9e\7Z\2\2\u0d9e\u0d9f") - buf.write("\7V\2\2\u0d9f\u018e\3\2\2\2\u0da0\u0da1\7O\2\2\u0da1\u0da2") - buf.write("\7G\2\2\u0da2\u0da3\7F\2\2\u0da3\u0da4\7K\2\2\u0da4\u0da5") - buf.write("\7W\2\2\u0da5\u0da6\7O\2\2\u0da6\u0da7\7V\2\2\u0da7\u0da8") - buf.write("\7G\2\2\u0da8\u0da9\7Z\2\2\u0da9\u0daa\7V\2\2\u0daa\u0190") - buf.write("\3\2\2\2\u0dab\u0dac\7N\2\2\u0dac\u0dad\7Q\2\2\u0dad\u0dae") - buf.write("\7P\2\2\u0dae\u0daf\7I\2\2\u0daf\u0db0\7V\2\2\u0db0\u0db1") - buf.write("\7G\2\2\u0db1\u0db2\7Z\2\2\u0db2\u0db3\7V\2\2\u0db3\u0192") - buf.write("\3\2\2\2\u0db4\u0db5\7G\2\2\u0db5\u0db6\7P\2\2\u0db6\u0db7") - buf.write("\7W\2\2\u0db7\u0db8\7O\2\2\u0db8\u0194\3\2\2\2\u0db9\u0dba") - buf.write("\7U\2\2\u0dba\u0dbb\7G\2\2\u0dbb\u0dbc\7T\2\2\u0dbc\u0dbd") - buf.write("\7K\2\2\u0dbd\u0dbe\7C\2\2\u0dbe\u0dbf\7N\2\2\u0dbf\u0196") - buf.write("\3\2\2\2\u0dc0\u0dc1\7[\2\2\u0dc1\u0dc2\7G\2\2\u0dc2\u0dc3") - buf.write("\7C\2\2\u0dc3\u0dc4\7T\2\2\u0dc4\u0dc5\7a\2\2\u0dc5\u0dc6") - buf.write("\7O\2\2\u0dc6\u0dc7\7Q\2\2\u0dc7\u0dc8\7P\2\2\u0dc8\u0dc9") - buf.write("\7V\2\2\u0dc9\u0dca\7J\2\2\u0dca\u0198\3\2\2\2\u0dcb\u0dcc") - buf.write("\7F\2\2\u0dcc\u0dcd\7C\2\2\u0dcd\u0dce\7[\2\2\u0dce\u0dcf") - buf.write("\7a\2\2\u0dcf\u0dd0\7J\2\2\u0dd0\u0dd1\7Q\2\2\u0dd1\u0dd2") - buf.write("\7W\2\2\u0dd2\u0dd3\7T\2\2\u0dd3\u019a\3\2\2\2\u0dd4\u0dd5") - buf.write("\7F\2\2\u0dd5\u0dd6\7C\2\2\u0dd6\u0dd7\7[\2\2\u0dd7\u0dd8") - buf.write("\7a\2\2\u0dd8\u0dd9\7O\2\2\u0dd9\u0dda\7K\2\2\u0dda\u0ddb") - buf.write("\7P\2\2\u0ddb\u0ddc\7W\2\2\u0ddc\u0ddd\7V\2\2\u0ddd\u0dde") - buf.write("\7G\2\2\u0dde\u019c\3\2\2\2\u0ddf\u0de0\7F\2\2\u0de0\u0de1") - buf.write("\7C\2\2\u0de1\u0de2\7[\2\2\u0de2\u0de3\7a\2\2\u0de3\u0de4") - buf.write("\7U\2\2\u0de4\u0de5\7G\2\2\u0de5\u0de6\7E\2\2\u0de6\u0de7") - buf.write("\7Q\2\2\u0de7\u0de8\7P\2\2\u0de8\u0de9\7F\2\2\u0de9\u019e") - buf.write("\3\2\2\2\u0dea\u0deb\7J\2\2\u0deb\u0dec\7Q\2\2\u0dec\u0ded") - buf.write("\7W\2\2\u0ded\u0dee\7T\2\2\u0dee\u0def\7a\2\2\u0def\u0df0") - buf.write("\7O\2\2\u0df0\u0df1\7K\2\2\u0df1\u0df2\7P\2\2\u0df2\u0df3") - buf.write("\7W\2\2\u0df3\u0df4\7V\2\2\u0df4\u0df5\7G\2\2\u0df5\u01a0") - buf.write("\3\2\2\2\u0df6\u0df7\7J\2\2\u0df7\u0df8\7Q\2\2\u0df8\u0df9") - buf.write("\7W\2\2\u0df9\u0dfa\7T\2\2\u0dfa\u0dfb\7a\2\2\u0dfb\u0dfc") - buf.write("\7U\2\2\u0dfc\u0dfd\7G\2\2\u0dfd\u0dfe\7E\2\2\u0dfe\u0dff") - buf.write("\7Q\2\2\u0dff\u0e00\7P\2\2\u0e00\u0e01\7F\2\2\u0e01\u01a2") - buf.write("\3\2\2\2\u0e02\u0e03\7O\2\2\u0e03\u0e04\7K\2\2\u0e04\u0e05") - buf.write("\7P\2\2\u0e05\u0e06\7W\2\2\u0e06\u0e07\7V\2\2\u0e07\u0e08") - buf.write("\7G\2\2\u0e08\u0e09\7a\2\2\u0e09\u0e0a\7U\2\2\u0e0a\u0e0b") - buf.write("\7G\2\2\u0e0b\u0e0c\7E\2\2\u0e0c\u0e0d\7Q\2\2\u0e0d\u0e0e") - buf.write("\7P\2\2\u0e0e\u0e0f\7F\2\2\u0e0f\u01a4\3\2\2\2\u0e10\u0e11") - buf.write("\7U\2\2\u0e11\u0e12\7G\2\2\u0e12\u0e13\7E\2\2\u0e13\u0e14") - buf.write("\7Q\2\2\u0e14\u0e15\7P\2\2\u0e15\u0e16\7F\2\2\u0e16\u0e17") - buf.write("\7a\2\2\u0e17\u0e18\7O\2\2\u0e18\u0e19\7K\2\2\u0e19\u0e1a") - buf.write("\7E\2\2\u0e1a\u0e1b\7T\2\2\u0e1b\u0e1c\7Q\2\2\u0e1c\u0e1d") - buf.write("\7U\2\2\u0e1d\u0e1e\7G\2\2\u0e1e\u0e1f\7E\2\2\u0e1f\u0e20") - buf.write("\7Q\2\2\u0e20\u0e21\7P\2\2\u0e21\u0e22\7F\2\2\u0e22\u01a6") - buf.write("\3\2\2\2\u0e23\u0e24\7O\2\2\u0e24\u0e25\7K\2\2\u0e25\u0e26") - buf.write("\7P\2\2\u0e26\u0e27\7W\2\2\u0e27\u0e28\7V\2\2\u0e28\u0e29") - buf.write("\7G\2\2\u0e29\u0e2a\7a\2\2\u0e2a\u0e2b\7O\2\2\u0e2b\u0e2c") - buf.write("\7K\2\2\u0e2c\u0e2d\7E\2\2\u0e2d\u0e2e\7T\2\2\u0e2e\u0e2f") - buf.write("\7Q\2\2\u0e2f\u0e30\7U\2\2\u0e30\u0e31\7G\2\2\u0e31\u0e32") - buf.write("\7E\2\2\u0e32\u0e33\7Q\2\2\u0e33\u0e34\7P\2\2\u0e34\u0e35") - buf.write("\7F\2\2\u0e35\u01a8\3\2\2\2\u0e36\u0e37\7J\2\2\u0e37\u0e38") - buf.write("\7Q\2\2\u0e38\u0e39\7W\2\2\u0e39\u0e3a\7T\2\2\u0e3a\u0e3b") - buf.write("\7a\2\2\u0e3b\u0e3c\7O\2\2\u0e3c\u0e3d\7K\2\2\u0e3d\u0e3e") - buf.write("\7E\2\2\u0e3e\u0e3f\7T\2\2\u0e3f\u0e40\7Q\2\2\u0e40\u0e41") - buf.write("\7U\2\2\u0e41\u0e42\7G\2\2\u0e42\u0e43\7E\2\2\u0e43\u0e44") - buf.write("\7Q\2\2\u0e44\u0e45\7P\2\2\u0e45\u0e46\7F\2\2\u0e46\u01aa") - buf.write("\3\2\2\2\u0e47\u0e48\7F\2\2\u0e48\u0e49\7C\2\2\u0e49\u0e4a") - buf.write("\7[\2\2\u0e4a\u0e4b\7a\2\2\u0e4b\u0e4c\7O\2\2\u0e4c\u0e4d") - buf.write("\7K\2\2\u0e4d\u0e4e\7E\2\2\u0e4e\u0e4f\7T\2\2\u0e4f\u0e50") - buf.write("\7Q\2\2\u0e50\u0e51\7U\2\2\u0e51\u0e52\7G\2\2\u0e52\u0e53") - buf.write("\7E\2\2\u0e53\u0e54\7Q\2\2\u0e54\u0e55\7P\2\2\u0e55\u0e56") - buf.write("\7F\2\2\u0e56\u01ac\3\2\2\2\u0e57\u0e58\7C\2\2\u0e58\u0e59") - buf.write("\7X\2\2\u0e59\u0e5a\7I\2\2\u0e5a\u01ae\3\2\2\2\u0e5b\u0e5c") - buf.write("\7D\2\2\u0e5c\u0e5d\7K\2\2\u0e5d\u0e5e\7V\2\2\u0e5e\u0e5f") - buf.write("\7a\2\2\u0e5f\u0e60\7C\2\2\u0e60\u0e61\7P\2\2\u0e61\u0e62") - buf.write("\7F\2\2\u0e62\u01b0\3\2\2\2\u0e63\u0e64\7D\2\2\u0e64\u0e65") - buf.write("\7K\2\2\u0e65\u0e66\7V\2\2\u0e66\u0e67\7a\2\2\u0e67\u0e68") - buf.write("\7Q\2\2\u0e68\u0e69\7T\2\2\u0e69\u01b2\3\2\2\2\u0e6a\u0e6b") - buf.write("\7D\2\2\u0e6b\u0e6c\7K\2\2\u0e6c\u0e6d\7V\2\2\u0e6d\u0e6e") - buf.write("\7a\2\2\u0e6e\u0e6f\7Z\2\2\u0e6f\u0e70\7Q\2\2\u0e70\u0e71") - buf.write("\7T\2\2\u0e71\u01b4\3\2\2\2\u0e72\u0e73\7E\2\2\u0e73\u0e74") - buf.write("\7Q\2\2\u0e74\u0e75\7W\2\2\u0e75\u0e76\7P\2\2\u0e76\u0e77") - buf.write("\7V\2\2\u0e77\u01b6\3\2\2\2\u0e78\u0e79\7I\2\2\u0e79\u0e7a") - buf.write("\7T\2\2\u0e7a\u0e7b\7Q\2\2\u0e7b\u0e7c\7W\2\2\u0e7c\u0e7d") - buf.write("\7R\2\2\u0e7d\u0e7e\7a\2\2\u0e7e\u0e7f\7E\2\2\u0e7f\u0e80") - buf.write("\7Q\2\2\u0e80\u0e81\7P\2\2\u0e81\u0e82\7E\2\2\u0e82\u0e83") - buf.write("\7C\2\2\u0e83\u0e84\7V\2\2\u0e84\u01b8\3\2\2\2\u0e85\u0e86") - buf.write("\7O\2\2\u0e86\u0e87\7C\2\2\u0e87\u0e88\7Z\2\2\u0e88\u01ba") - buf.write("\3\2\2\2\u0e89\u0e8a\7O\2\2\u0e8a\u0e8b\7K\2\2\u0e8b\u0e8c") - buf.write("\7P\2\2\u0e8c\u01bc\3\2\2\2\u0e8d\u0e8e\7U\2\2\u0e8e\u0e8f") - buf.write("\7V\2\2\u0e8f\u0e90\7F\2\2\u0e90\u01be\3\2\2\2\u0e91\u0e92") - buf.write("\7U\2\2\u0e92\u0e93\7V\2\2\u0e93\u0e94\7F\2\2\u0e94\u0e95") - buf.write("\7F\2\2\u0e95\u0e96\7G\2\2\u0e96\u0e97\7X\2\2\u0e97\u01c0") - buf.write("\3\2\2\2\u0e98\u0e99\7U\2\2\u0e99\u0e9a\7V\2\2\u0e9a\u0e9b") - buf.write("\7F\2\2\u0e9b\u0e9c\7F\2\2\u0e9c\u0e9d\7G\2\2\u0e9d\u0e9e") - buf.write("\7X\2\2\u0e9e\u0e9f\7a\2\2\u0e9f\u0ea0\7R\2\2\u0ea0\u0ea1") - buf.write("\7Q\2\2\u0ea1\u0ea2\7R\2\2\u0ea2\u01c2\3\2\2\2\u0ea3\u0ea4") - buf.write("\7U\2\2\u0ea4\u0ea5\7V\2\2\u0ea5\u0ea6\7F\2\2\u0ea6\u0ea7") - buf.write("\7F\2\2\u0ea7\u0ea8\7G\2\2\u0ea8\u0ea9\7X\2\2\u0ea9\u0eaa") - buf.write("\7a\2\2\u0eaa\u0eab\7U\2\2\u0eab\u0eac\7C\2\2\u0eac\u0ead") - buf.write("\7O\2\2\u0ead\u0eae\7R\2\2\u0eae\u01c4\3\2\2\2\u0eaf\u0eb0") - buf.write("\7U\2\2\u0eb0\u0eb1\7W\2\2\u0eb1\u0eb2\7O\2\2\u0eb2\u01c6") - buf.write("\3\2\2\2\u0eb3\u0eb4\7X\2\2\u0eb4\u0eb5\7C\2\2\u0eb5\u0eb6") - buf.write("\7T\2\2\u0eb6\u0eb7\7a\2\2\u0eb7\u0eb8\7R\2\2\u0eb8\u0eb9") - buf.write("\7Q\2\2\u0eb9\u0eba\7R\2\2\u0eba\u01c8\3\2\2\2\u0ebb\u0ebc") - buf.write("\7X\2\2\u0ebc\u0ebd\7C\2\2\u0ebd\u0ebe\7T\2\2\u0ebe\u0ebf") - buf.write("\7a\2\2\u0ebf\u0ec0\7U\2\2\u0ec0\u0ec1\7C\2\2\u0ec1\u0ec2") - buf.write("\7O\2\2\u0ec2\u0ec3\7R\2\2\u0ec3\u01ca\3\2\2\2\u0ec4\u0ec5") - buf.write("\7X\2\2\u0ec5\u0ec6\7C\2\2\u0ec6\u0ec7\7T\2\2\u0ec7\u0ec8") - buf.write("\7K\2\2\u0ec8\u0ec9\7C\2\2\u0ec9\u0eca\7P\2\2\u0eca\u0ecb") - buf.write("\7E\2\2\u0ecb\u0ecc\7G\2\2\u0ecc\u01cc\3\2\2\2\u0ecd\u0ece") - buf.write("\7H\2\2\u0ece\u0ecf\7E\2\2\u0ecf\u0ed0\7Q\2\2\u0ed0\u0ed1") - buf.write("\7W\2\2\u0ed1\u0ed2\7P\2\2\u0ed2\u0ed3\7V\2\2\u0ed3\u01ce") - buf.write("\3\2\2\2\u0ed4\u0ed5\7E\2\2\u0ed5\u0ed6\7W\2\2\u0ed6\u0ed7") - buf.write("\7T\2\2\u0ed7\u0ed8\7T\2\2\u0ed8\u0ed9\7G\2\2\u0ed9\u0eda") - buf.write("\7P\2\2\u0eda\u0edb\7V\2\2\u0edb\u0edc\7a\2\2\u0edc\u0edd") - buf.write("\7F\2\2\u0edd\u0ede\7C\2\2\u0ede\u0edf\7V\2\2\u0edf\u0ee0") - buf.write("\7G\2\2\u0ee0\u01d0\3\2\2\2\u0ee1\u0ee2\7E\2\2\u0ee2\u0ee3") - buf.write("\7W\2\2\u0ee3\u0ee4\7T\2\2\u0ee4\u0ee5\7T\2\2\u0ee5\u0ee6") - buf.write("\7G\2\2\u0ee6\u0ee7\7P\2\2\u0ee7\u0ee8\7V\2\2\u0ee8\u0ee9") - buf.write("\7a\2\2\u0ee9\u0eea\7V\2\2\u0eea\u0eeb\7K\2\2\u0eeb\u0eec") - buf.write("\7O\2\2\u0eec\u0eed\7G\2\2\u0eed\u01d2\3\2\2\2\u0eee\u0eef") - buf.write("\7E\2\2\u0eef\u0ef0\7W\2\2\u0ef0\u0ef1\7T\2\2\u0ef1\u0ef2") - buf.write("\7T\2\2\u0ef2\u0ef3\7G\2\2\u0ef3\u0ef4\7P\2\2\u0ef4\u0ef5") - buf.write("\7V\2\2\u0ef5\u0ef6\7a\2\2\u0ef6\u0ef7\7V\2\2\u0ef7\u0ef8") - buf.write("\7K\2\2\u0ef8\u0ef9\7O\2\2\u0ef9\u0efa\7G\2\2\u0efa\u0efb") - buf.write("\7U\2\2\u0efb\u0efc\7V\2\2\u0efc\u0efd\7C\2\2\u0efd\u0efe") - buf.write("\7O\2\2\u0efe\u0eff\7R\2\2\u0eff\u01d4\3\2\2\2\u0f00\u0f01") - buf.write("\7N\2\2\u0f01\u0f02\7Q\2\2\u0f02\u0f03\7E\2\2\u0f03\u0f04") - buf.write("\7C\2\2\u0f04\u0f05\7N\2\2\u0f05\u0f06\7V\2\2\u0f06\u0f07") - buf.write("\7K\2\2\u0f07\u0f08\7O\2\2\u0f08\u0f09\7G\2\2\u0f09\u01d6") - buf.write("\3\2\2\2\u0f0a\u0f0b\7E\2\2\u0f0b\u0f0c\7W\2\2\u0f0c\u0f0d") - buf.write("\7T\2\2\u0f0d\u0f0e\7F\2\2\u0f0e\u0f0f\7C\2\2\u0f0f\u0f10") - buf.write("\7V\2\2\u0f10\u0f11\7G\2\2\u0f11\u01d8\3\2\2\2\u0f12\u0f13") - buf.write("\7E\2\2\u0f13\u0f14\7W\2\2\u0f14\u0f15\7T\2\2\u0f15\u0f16") - buf.write("\7V\2\2\u0f16\u0f17\7K\2\2\u0f17\u0f18\7O\2\2\u0f18\u0f19") - buf.write("\7G\2\2\u0f19\u01da\3\2\2\2\u0f1a\u0f1b\7F\2\2\u0f1b\u0f1c") - buf.write("\7C\2\2\u0f1c\u0f1d\7V\2\2\u0f1d\u0f1e\7G\2\2\u0f1e\u0f1f") - buf.write("\7a\2\2\u0f1f\u0f20\7C\2\2\u0f20\u0f21\7F\2\2\u0f21\u0f22") - buf.write("\7F\2\2\u0f22\u01dc\3\2\2\2\u0f23\u0f24\7F\2\2\u0f24\u0f25") - buf.write("\7C\2\2\u0f25\u0f26\7V\2\2\u0f26\u0f27\7G\2\2\u0f27\u0f28") - buf.write("\7a\2\2\u0f28\u0f29\7U\2\2\u0f29\u0f2a\7W\2\2\u0f2a\u0f2b") - buf.write("\7D\2\2\u0f2b\u01de\3\2\2\2\u0f2c\u0f2d\7G\2\2\u0f2d\u0f2e") - buf.write("\7Z\2\2\u0f2e\u0f2f\7V\2\2\u0f2f\u0f30\7T\2\2\u0f30\u0f31") - buf.write("\7C\2\2\u0f31\u0f32\7E\2\2\u0f32\u0f33\7V\2\2\u0f33\u01e0") - buf.write("\3\2\2\2\u0f34\u0f35\7N\2\2\u0f35\u0f36\7Q\2\2\u0f36\u0f37") - buf.write("\7E\2\2\u0f37\u0f38\7C\2\2\u0f38\u0f39\7N\2\2\u0f39\u0f3a") - buf.write("\7V\2\2\u0f3a\u0f3b\7K\2\2\u0f3b\u0f3c\7O\2\2\u0f3c\u0f3d") - buf.write("\7G\2\2\u0f3d\u0f3e\7U\2\2\u0f3e\u0f3f\7V\2\2\u0f3f\u0f40") - buf.write("\7C\2\2\u0f40\u0f41\7O\2\2\u0f41\u0f42\7R\2\2\u0f42\u01e2") - buf.write("\3\2\2\2\u0f43\u0f44\7P\2\2\u0f44\u0f45\7Q\2\2\u0f45\u0f46") - buf.write("\7Y\2\2\u0f46\u01e4\3\2\2\2\u0f47\u0f48\7R\2\2\u0f48\u0f49") - buf.write("\7Q\2\2\u0f49\u0f4a\7U\2\2\u0f4a\u0f4b\7K\2\2\u0f4b\u0f4c") - buf.write("\7V\2\2\u0f4c\u0f4d\7K\2\2\u0f4d\u0f4e\7Q\2\2\u0f4e\u0f4f") - buf.write("\7P\2\2\u0f4f\u01e6\3\2\2\2\u0f50\u0f51\7U\2\2\u0f51\u0f52") - buf.write("\7W\2\2\u0f52\u0f53\7D\2\2\u0f53\u0f54\7U\2\2\u0f54\u0f55") - buf.write("\7V\2\2\u0f55\u0f56\7T\2\2\u0f56\u01e8\3\2\2\2\u0f57\u0f58") - buf.write("\7U\2\2\u0f58\u0f59\7W\2\2\u0f59\u0f5a\7D\2\2\u0f5a\u0f5b") - buf.write("\7U\2\2\u0f5b\u0f5c\7V\2\2\u0f5c\u0f5d\7T\2\2\u0f5d\u0f5e") - buf.write("\7K\2\2\u0f5e\u0f5f\7P\2\2\u0f5f\u0f60\7I\2\2\u0f60\u01ea") - buf.write("\3\2\2\2\u0f61\u0f62\7U\2\2\u0f62\u0f63\7[\2\2\u0f63\u0f64") - buf.write("\7U\2\2\u0f64\u0f65\7F\2\2\u0f65\u0f66\7C\2\2\u0f66\u0f67") - buf.write("\7V\2\2\u0f67\u0f68\7G\2\2\u0f68\u01ec\3\2\2\2\u0f69\u0f6a") - buf.write("\7V\2\2\u0f6a\u0f6b\7T\2\2\u0f6b\u0f6c\7K\2\2\u0f6c\u0f6d") - buf.write("\7O\2\2\u0f6d\u01ee\3\2\2\2\u0f6e\u0f6f\7W\2\2\u0f6f\u0f70") - buf.write("\7V\2\2\u0f70\u0f71\7E\2\2\u0f71\u0f72\7a\2\2\u0f72\u0f73") - buf.write("\7F\2\2\u0f73\u0f74\7C\2\2\u0f74\u0f75\7V\2\2\u0f75\u0f76") - buf.write("\7G\2\2\u0f76\u01f0\3\2\2\2\u0f77\u0f78\7W\2\2\u0f78\u0f79") - buf.write("\7V\2\2\u0f79\u0f7a\7E\2\2\u0f7a\u0f7b\7a\2\2\u0f7b\u0f7c") - buf.write("\7V\2\2\u0f7c\u0f7d\7K\2\2\u0f7d\u0f7e\7O\2\2\u0f7e\u0f7f") - buf.write("\7G\2\2\u0f7f\u01f2\3\2\2\2\u0f80\u0f81\7W\2\2\u0f81\u0f82") - buf.write("\7V\2\2\u0f82\u0f83\7E\2\2\u0f83\u0f84\7a\2\2\u0f84\u0f85") - buf.write("\7V\2\2\u0f85\u0f86\7K\2\2\u0f86\u0f87\7O\2\2\u0f87\u0f88") - buf.write("\7G\2\2\u0f88\u0f89\7U\2\2\u0f89\u0f8a\7V\2\2\u0f8a\u0f8b") - buf.write("\7C\2\2\u0f8b\u0f8c\7O\2\2\u0f8c\u0f8d\7R\2\2\u0f8d\u01f4") - buf.write("\3\2\2\2\u0f8e\u0f8f\7C\2\2\u0f8f\u0f90\7E\2\2\u0f90\u0f91") - buf.write("\7E\2\2\u0f91\u0f92\7Q\2\2\u0f92\u0f93\7W\2\2\u0f93\u0f94") - buf.write("\7P\2\2\u0f94\u0f95\7V\2\2\u0f95\u01f6\3\2\2\2\u0f96\u0f97") - buf.write("\7C\2\2\u0f97\u0f98\7E\2\2\u0f98\u0f99\7V\2\2\u0f99\u0f9a") - buf.write("\7K\2\2\u0f9a\u0f9b\7Q\2\2\u0f9b\u0f9c\7P\2\2\u0f9c\u01f8") - buf.write("\3\2\2\2\u0f9d\u0f9e\7C\2\2\u0f9e\u0f9f\7H\2\2\u0f9f\u0fa0") - buf.write("\7V\2\2\u0fa0\u0fa1\7G\2\2\u0fa1\u0fa2\7T\2\2\u0fa2\u01fa") - buf.write("\3\2\2\2\u0fa3\u0fa4\7C\2\2\u0fa4\u0fa5\7I\2\2\u0fa5\u0fa6") - buf.write("\7I\2\2\u0fa6\u0fa7\7T\2\2\u0fa7\u0fa8\7G\2\2\u0fa8\u0fa9") - buf.write("\7I\2\2\u0fa9\u0faa\7C\2\2\u0faa\u0fab\7V\2\2\u0fab\u0fac") - buf.write("\7G\2\2\u0fac\u01fc\3\2\2\2\u0fad\u0fae\7C\2\2\u0fae\u0faf") - buf.write("\7N\2\2\u0faf\u0fb0\7I\2\2\u0fb0\u0fb1\7Q\2\2\u0fb1\u0fb2") - buf.write("\7T\2\2\u0fb2\u0fb3\7K\2\2\u0fb3\u0fb4\7V\2\2\u0fb4\u0fb5") - buf.write("\7J\2\2\u0fb5\u0fb6\7O\2\2\u0fb6\u01fe\3\2\2\2\u0fb7\u0fb8") - buf.write("\7C\2\2\u0fb8\u0fb9\7P\2\2\u0fb9\u0fba\7[\2\2\u0fba\u0200") - buf.write("\3\2\2\2\u0fbb\u0fbc\7C\2\2\u0fbc\u0fbd\7V\2\2\u0fbd\u0202") - buf.write("\3\2\2\2\u0fbe\u0fbf\7C\2\2\u0fbf\u0fc0\7W\2\2\u0fc0\u0fc1") - buf.write("\7V\2\2\u0fc1\u0fc2\7J\2\2\u0fc2\u0fc3\7Q\2\2\u0fc3\u0fc4") - buf.write("\7T\2\2\u0fc4\u0fc5\7U\2\2\u0fc5\u0204\3\2\2\2\u0fc6\u0fc7") - buf.write("\7C\2\2\u0fc7\u0fc8\7W\2\2\u0fc8\u0fc9\7V\2\2\u0fc9\u0fca") - buf.write("\7Q\2\2\u0fca\u0fcb\7E\2\2\u0fcb\u0fcc\7Q\2\2\u0fcc\u0fcd") - buf.write("\7O\2\2\u0fcd\u0fce\7O\2\2\u0fce\u0fcf\7K\2\2\u0fcf\u0fd0") - buf.write("\7V\2\2\u0fd0\u0206\3\2\2\2\u0fd1\u0fd2\7C\2\2\u0fd2\u0fd3") - buf.write("\7W\2\2\u0fd3\u0fd4\7V\2\2\u0fd4\u0fd5\7Q\2\2\u0fd5\u0fd6") - buf.write("\7G\2\2\u0fd6\u0fd7\7Z\2\2\u0fd7\u0fd8\7V\2\2\u0fd8\u0fd9") - buf.write("\7G\2\2\u0fd9\u0fda\7P\2\2\u0fda\u0fdb\7F\2\2\u0fdb\u0fdc") - buf.write("\7a\2\2\u0fdc\u0fdd\7U\2\2\u0fdd\u0fde\7K\2\2\u0fde\u0fdf") - buf.write("\7\\\2\2\u0fdf\u0fe0\7G\2\2\u0fe0\u0208\3\2\2\2\u0fe1") - buf.write("\u0fe2\7C\2\2\u0fe2\u0fe3\7W\2\2\u0fe3\u0fe4\7V\2\2\u0fe4") - buf.write("\u0fe5\7Q\2\2\u0fe5\u0fe6\7a\2\2\u0fe6\u0fe7\7K\2\2\u0fe7") - buf.write("\u0fe8\7P\2\2\u0fe8\u0fe9\7E\2\2\u0fe9\u0fea\7T\2\2\u0fea") - buf.write("\u0feb\7G\2\2\u0feb\u0fec\7O\2\2\u0fec\u0fed\7G\2\2\u0fed") - buf.write("\u0fee\7P\2\2\u0fee\u0fef\7V\2\2\u0fef\u020a\3\2\2\2\u0ff0") - buf.write("\u0ff1\7C\2\2\u0ff1\u0ff2\7X\2\2\u0ff2\u0ff3\7I\2\2\u0ff3") - buf.write("\u0ff4\7a\2\2\u0ff4\u0ff5\7T\2\2\u0ff5\u0ff6\7Q\2\2\u0ff6") - buf.write("\u0ff7\7Y\2\2\u0ff7\u0ff8\7a\2\2\u0ff8\u0ff9\7N\2\2\u0ff9") - buf.write("\u0ffa\7G\2\2\u0ffa\u0ffb\7P\2\2\u0ffb\u0ffc\7I\2\2\u0ffc") - buf.write("\u0ffd\7V\2\2\u0ffd\u0ffe\7J\2\2\u0ffe\u020c\3\2\2\2\u0fff") - buf.write("\u1000\7D\2\2\u1000\u1001\7G\2\2\u1001\u1002\7I\2\2\u1002") - buf.write("\u1003\7K\2\2\u1003\u1004\7P\2\2\u1004\u020e\3\2\2\2\u1005") - buf.write("\u1006\7D\2\2\u1006\u1007\7K\2\2\u1007\u1008\7P\2\2\u1008") - buf.write("\u1009\7N\2\2\u1009\u100a\7Q\2\2\u100a\u100b\7I\2\2\u100b") - buf.write("\u0210\3\2\2\2\u100c\u100d\7D\2\2\u100d\u100e\7K\2\2\u100e") - buf.write("\u100f\7V\2\2\u100f\u0212\3\2\2\2\u1010\u1011\7D\2\2\u1011") - buf.write("\u1012\7N\2\2\u1012\u1013\7Q\2\2\u1013\u1014\7E\2\2\u1014") - buf.write("\u1015\7M\2\2\u1015\u0214\3\2\2\2\u1016\u1017\7D\2\2\u1017") - buf.write("\u1018\7Q\2\2\u1018\u1019\7Q\2\2\u1019\u101a\7N\2\2\u101a") - buf.write("\u0216\3\2\2\2\u101b\u101c\7D\2\2\u101c\u101d\7Q\2\2\u101d") - buf.write("\u101e\7Q\2\2\u101e\u101f\7N\2\2\u101f\u1020\7G\2\2\u1020") - buf.write("\u1021\7C\2\2\u1021\u1022\7P\2\2\u1022\u0218\3\2\2\2\u1023") - buf.write("\u1024\7D\2\2\u1024\u1025\7V\2\2\u1025\u1026\7T\2\2\u1026") - buf.write("\u1027\7G\2\2\u1027\u1028\7G\2\2\u1028\u021a\3\2\2\2\u1029") - buf.write("\u102a\7E\2\2\u102a\u102b\7C\2\2\u102b\u102c\7E\2\2\u102c") - buf.write("\u102d\7J\2\2\u102d\u102e\7G\2\2\u102e\u021c\3\2\2\2\u102f") - buf.write("\u1030\7E\2\2\u1030\u1031\7C\2\2\u1031\u1032\7U\2\2\u1032") - buf.write("\u1033\7E\2\2\u1033\u1034\7C\2\2\u1034\u1035\7F\2\2\u1035") - buf.write("\u1036\7G\2\2\u1036\u1037\7F\2\2\u1037\u021e\3\2\2\2\u1038") - buf.write("\u1039\7E\2\2\u1039\u103a\7J\2\2\u103a\u103b\7C\2\2\u103b") - buf.write("\u103c\7K\2\2\u103c\u103d\7P\2\2\u103d\u0220\3\2\2\2\u103e") - buf.write("\u103f\7E\2\2\u103f\u1040\7J\2\2\u1040\u1041\7C\2\2\u1041") - buf.write("\u1042\7P\2\2\u1042\u1043\7I\2\2\u1043\u1044\7G\2\2\u1044") - buf.write("\u1045\7F\2\2\u1045\u0222\3\2\2\2\u1046\u1047\7E\2\2\u1047") - buf.write("\u1048\7J\2\2\u1048\u1049\7C\2\2\u1049\u104a\7P\2\2\u104a") - buf.write("\u104b\7P\2\2\u104b\u104c\7G\2\2\u104c\u104d\7N\2\2\u104d") - buf.write("\u0224\3\2\2\2\u104e\u104f\7E\2\2\u104f\u1050\7J\2\2\u1050") - buf.write("\u1051\7G\2\2\u1051\u1052\7E\2\2\u1052\u1053\7M\2\2\u1053") - buf.write("\u1054\7U\2\2\u1054\u1055\7W\2\2\u1055\u1056\7O\2\2\u1056") - buf.write("\u0226\3\2\2\2\u1057\u1058\7E\2\2\u1058\u1059\7K\2\2\u1059") - buf.write("\u105a\7R\2\2\u105a\u105b\7J\2\2\u105b\u105c\7G\2\2\u105c") - buf.write("\u105d\7T\2\2\u105d\u0228\3\2\2\2\u105e\u105f\7E\2\2\u105f") - buf.write("\u1060\7N\2\2\u1060\u1061\7K\2\2\u1061\u1062\7G\2\2\u1062") - buf.write("\u1063\7P\2\2\u1063\u1064\7V\2\2\u1064\u022a\3\2\2\2\u1065") - buf.write("\u1066\7E\2\2\u1066\u1067\7N\2\2\u1067\u1068\7Q\2\2\u1068") - buf.write("\u1069\7U\2\2\u1069\u106a\7G\2\2\u106a\u022c\3\2\2\2\u106b") - buf.write("\u106c\7E\2\2\u106c\u106d\7Q\2\2\u106d\u106e\7C\2\2\u106e") - buf.write("\u106f\7N\2\2\u106f\u1070\7G\2\2\u1070\u1071\7U\2\2\u1071") - buf.write("\u1072\7E\2\2\u1072\u1073\7G\2\2\u1073\u022e\3\2\2\2\u1074") - buf.write("\u1075\7E\2\2\u1075\u1076\7Q\2\2\u1076\u1077\7F\2\2\u1077") - buf.write("\u1078\7G\2\2\u1078\u0230\3\2\2\2\u1079\u107a\7E\2\2\u107a") - buf.write("\u107b\7Q\2\2\u107b\u107c\7N\2\2\u107c\u107d\7W\2\2\u107d") - buf.write("\u107e\7O\2\2\u107e\u107f\7P\2\2\u107f\u1080\7U\2\2\u1080") - buf.write("\u0232\3\2\2\2\u1081\u1082\7E\2\2\u1082\u1083\7Q\2\2\u1083") - buf.write("\u1084\7N\2\2\u1084\u1085\7W\2\2\u1085\u1086\7O\2\2\u1086") - buf.write("\u1087\7P\2\2\u1087\u1088\7a\2\2\u1088\u1089\7H\2\2\u1089") - buf.write("\u108a\7Q\2\2\u108a\u108b\7T\2\2\u108b\u108c\7O\2\2\u108c") - buf.write("\u108d\7C\2\2\u108d\u108e\7V\2\2\u108e\u0234\3\2\2\2\u108f") - buf.write("\u1090\7E\2\2\u1090\u1091\7Q\2\2\u1091\u1092\7O\2\2\u1092") - buf.write("\u1093\7O\2\2\u1093\u1094\7G\2\2\u1094\u1095\7P\2\2\u1095") - buf.write("\u1096\7V\2\2\u1096\u0236\3\2\2\2\u1097\u1098\7E\2\2\u1098") - buf.write("\u1099\7Q\2\2\u1099\u109a\7O\2\2\u109a\u109b\7O\2\2\u109b") - buf.write("\u109c\7K\2\2\u109c\u109d\7V\2\2\u109d\u0238\3\2\2\2\u109e") - buf.write("\u109f\7E\2\2\u109f\u10a0\7Q\2\2\u10a0\u10a1\7O\2\2\u10a1") - buf.write("\u10a2\7R\2\2\u10a2\u10a3\7C\2\2\u10a3\u10a4\7E\2\2\u10a4") - buf.write("\u10a5\7V\2\2\u10a5\u023a\3\2\2\2\u10a6\u10a7\7E\2\2\u10a7") - buf.write("\u10a8\7Q\2\2\u10a8\u10a9\7O\2\2\u10a9\u10aa\7R\2\2\u10aa") - buf.write("\u10ab\7N\2\2\u10ab\u10ac\7G\2\2\u10ac\u10ad\7V\2\2\u10ad") - buf.write("\u10ae\7K\2\2\u10ae\u10af\7Q\2\2\u10af\u10b0\7P\2\2\u10b0") - buf.write("\u023c\3\2\2\2\u10b1\u10b2\7E\2\2\u10b2\u10b3\7Q\2\2\u10b3") - buf.write("\u10b4\7O\2\2\u10b4\u10b5\7R\2\2\u10b5\u10b6\7T\2\2\u10b6") - buf.write("\u10b7\7G\2\2\u10b7\u10b8\7U\2\2\u10b8\u10b9\7U\2\2\u10b9") - buf.write("\u10ba\7G\2\2\u10ba\u10bb\7F\2\2\u10bb\u023e\3\2\2\2\u10bc") - buf.write("\u10bd\7E\2\2\u10bd\u10be\7Q\2\2\u10be\u10bf\7O\2\2\u10bf") - buf.write("\u10c0\7R\2\2\u10c0\u10c1\7T\2\2\u10c1\u10c2\7G\2\2\u10c2") - buf.write("\u10c3\7U\2\2\u10c3\u10c4\7U\2\2\u10c4\u10c5\7K\2\2\u10c5") - buf.write("\u10c6\7Q\2\2\u10c6\u10c7\7P\2\2\u10c7\u0240\3\2\2\2\u10c8") - buf.write("\u10c9\7E\2\2\u10c9\u10ca\7Q\2\2\u10ca\u10cb\7P\2\2\u10cb") - buf.write("\u10cc\7E\2\2\u10cc\u10cd\7W\2\2\u10cd\u10ce\7T\2\2\u10ce") - buf.write("\u10cf\7T\2\2\u10cf\u10d0\7G\2\2\u10d0\u10d1\7P\2\2\u10d1") - buf.write("\u10d2\7V\2\2\u10d2\u0242\3\2\2\2\u10d3\u10d4\7E\2\2\u10d4") - buf.write("\u10d5\7Q\2\2\u10d5\u10d6\7P\2\2\u10d6\u10d7\7P\2\2\u10d7") - buf.write("\u10d8\7G\2\2\u10d8\u10d9\7E\2\2\u10d9\u10da\7V\2\2\u10da") - buf.write("\u10db\7K\2\2\u10db\u10dc\7Q\2\2\u10dc\u10dd\7P\2\2\u10dd") - buf.write("\u0244\3\2\2\2\u10de\u10df\7E\2\2\u10df\u10e0\7Q\2\2\u10e0") - buf.write("\u10e1\7P\2\2\u10e1\u10e2\7U\2\2\u10e2\u10e3\7K\2\2\u10e3") - buf.write("\u10e4\7U\2\2\u10e4\u10e5\7V\2\2\u10e5\u10e6\7G\2\2\u10e6") - buf.write("\u10e7\7P\2\2\u10e7\u10e8\7V\2\2\u10e8\u0246\3\2\2\2\u10e9") - buf.write("\u10ea\7E\2\2\u10ea\u10eb\7Q\2\2\u10eb\u10ec\7P\2\2\u10ec") - buf.write("\u10ed\7V\2\2\u10ed\u10ee\7C\2\2\u10ee\u10ef\7K\2\2\u10ef") - buf.write("\u10f0\7P\2\2\u10f0\u10f1\7U\2\2\u10f1\u0248\3\2\2\2\u10f2") - buf.write("\u10f3\7E\2\2\u10f3\u10f4\7Q\2\2\u10f4\u10f5\7P\2\2\u10f5") - buf.write("\u10f6\7V\2\2\u10f6\u10f7\7G\2\2\u10f7\u10f8\7Z\2\2\u10f8") - buf.write("\u10f9\7V\2\2\u10f9\u024a\3\2\2\2\u10fa\u10fb\7E\2\2\u10fb") - buf.write("\u10fc\7Q\2\2\u10fc\u10fd\7P\2\2\u10fd\u10fe\7V\2\2\u10fe") - buf.write("\u10ff\7T\2\2\u10ff\u1100\7K\2\2\u1100\u1101\7D\2\2\u1101") - buf.write("\u1102\7W\2\2\u1102\u1103\7V\2\2\u1103\u1104\7Q\2\2\u1104") - buf.write("\u1105\7T\2\2\u1105\u1106\7U\2\2\u1106\u024c\3\2\2\2\u1107") - buf.write("\u1108\7E\2\2\u1108\u1109\7Q\2\2\u1109\u110a\7R\2\2\u110a") - buf.write("\u110b\7[\2\2\u110b\u024e\3\2\2\2\u110c\u110d\7E\2\2\u110d") - buf.write("\u110e\7R\2\2\u110e\u110f\7W\2\2\u110f\u0250\3\2\2\2\u1110") - buf.write("\u1111\7F\2\2\u1111\u1112\7C\2\2\u1112\u1113\7V\2\2\u1113") - buf.write("\u1114\7C\2\2\u1114\u0252\3\2\2\2\u1115\u1116\7F\2\2\u1116") - buf.write("\u1117\7C\2\2\u1117\u1118\7V\2\2\u1118\u1119\7C\2\2\u1119") - buf.write("\u111a\7H\2\2\u111a\u111b\7K\2\2\u111b\u111c\7N\2\2\u111c") - buf.write("\u111d\7G\2\2\u111d\u0254\3\2\2\2\u111e\u111f\7F\2\2\u111f") - buf.write("\u1120\7G\2\2\u1120\u1121\7C\2\2\u1121\u1122\7N\2\2\u1122") - buf.write("\u1123\7N\2\2\u1123\u1124\7Q\2\2\u1124\u1125\7E\2\2\u1125") - buf.write("\u1126\7C\2\2\u1126\u1127\7V\2\2\u1127\u1128\7G\2\2\u1128") - buf.write("\u0256\3\2\2\2\u1129\u112a\7F\2\2\u112a\u112b\7G\2\2\u112b") - buf.write("\u112c\7H\2\2\u112c\u112d\7C\2\2\u112d\u112e\7W\2\2\u112e") - buf.write("\u112f\7N\2\2\u112f\u1130\7V\2\2\u1130\u1131\7a\2\2\u1131") - buf.write("\u1132\7C\2\2\u1132\u1133\7W\2\2\u1133\u1134\7V\2\2\u1134") - buf.write("\u1135\7J\2\2\u1135\u0258\3\2\2\2\u1136\u1137\7F\2\2\u1137") - buf.write("\u1138\7G\2\2\u1138\u1139\7H\2\2\u1139\u113a\7K\2\2\u113a") - buf.write("\u113b\7P\2\2\u113b\u113c\7G\2\2\u113c\u113d\7T\2\2\u113d") - buf.write("\u025a\3\2\2\2\u113e\u113f\7F\2\2\u113f\u1140\7G\2\2\u1140") - buf.write("\u1141\7N\2\2\u1141\u1142\7C\2\2\u1142\u1143\7[\2\2\u1143") - buf.write("\u1144\7a\2\2\u1144\u1145\7M\2\2\u1145\u1146\7G\2\2\u1146") - buf.write("\u1147\7[\2\2\u1147\u1148\7a\2\2\u1148\u1149\7Y\2\2\u1149") - buf.write("\u114a\7T\2\2\u114a\u114b\7K\2\2\u114b\u114c\7V\2\2\u114c") - buf.write("\u114d\7G\2\2\u114d\u025c\3\2\2\2\u114e\u114f\7F\2\2\u114f") - buf.write("\u1150\7G\2\2\u1150\u1151\7U\2\2\u1151\u1152\7a\2\2\u1152") - buf.write("\u1153\7M\2\2\u1153\u1154\7G\2\2\u1154\u1155\7[\2\2\u1155") - buf.write("\u1156\7a\2\2\u1156\u1157\7H\2\2\u1157\u1158\7K\2\2\u1158") - buf.write("\u1159\7N\2\2\u1159\u115a\7G\2\2\u115a\u025e\3\2\2\2\u115b") - buf.write("\u115c\7F\2\2\u115c\u115d\7K\2\2\u115d\u115e\7T\2\2\u115e") - buf.write("\u115f\7G\2\2\u115f\u1160\7E\2\2\u1160\u1161\7V\2\2\u1161") - buf.write("\u1162\7Q\2\2\u1162\u1163\7T\2\2\u1163\u1164\7[\2\2\u1164") - buf.write("\u0260\3\2\2\2\u1165\u1166\7F\2\2\u1166\u1167\7K\2\2\u1167") - buf.write("\u1168\7U\2\2\u1168\u1169\7C\2\2\u1169\u116a\7D\2\2\u116a") - buf.write("\u116b\7N\2\2\u116b\u116c\7G\2\2\u116c\u0262\3\2\2\2\u116d") - buf.write("\u116e\7F\2\2\u116e\u116f\7K\2\2\u116f\u1170\7U\2\2\u1170") - buf.write("\u1171\7E\2\2\u1171\u1172\7C\2\2\u1172\u1173\7T\2\2\u1173") - buf.write("\u1174\7F\2\2\u1174\u0264\3\2\2\2\u1175\u1176\7F\2\2\u1176") - buf.write("\u1177\7K\2\2\u1177\u1178\7U\2\2\u1178\u1179\7M\2\2\u1179") - buf.write("\u0266\3\2\2\2\u117a\u117b\7F\2\2\u117b\u117c\7Q\2\2\u117c") - buf.write("\u0268\3\2\2\2\u117d\u117e\7F\2\2\u117e\u117f\7W\2\2\u117f") - buf.write("\u1180\7O\2\2\u1180\u1181\7R\2\2\u1181\u1182\7H\2\2\u1182") - buf.write("\u1183\7K\2\2\u1183\u1184\7N\2\2\u1184\u1185\7G\2\2\u1185") - buf.write("\u026a\3\2\2\2\u1186\u1187\7F\2\2\u1187\u1188\7W\2\2\u1188") - buf.write("\u1189\7R\2\2\u1189\u118a\7N\2\2\u118a\u118b\7K\2\2\u118b") - buf.write("\u118c\7E\2\2\u118c\u118d\7C\2\2\u118d\u118e\7V\2\2\u118e") - buf.write("\u118f\7G\2\2\u118f\u026c\3\2\2\2\u1190\u1191\7F\2\2\u1191") - buf.write("\u1192\7[\2\2\u1192\u1193\7P\2\2\u1193\u1194\7C\2\2\u1194") - buf.write("\u1195\7O\2\2\u1195\u1196\7K\2\2\u1196\u1197\7E\2\2\u1197") - buf.write("\u026e\3\2\2\2\u1198\u1199\7G\2\2\u1199\u119a\7P\2\2\u119a") - buf.write("\u119b\7C\2\2\u119b\u119c\7D\2\2\u119c\u119d\7N\2\2\u119d") - buf.write("\u119e\7G\2\2\u119e\u0270\3\2\2\2\u119f\u11a0\7G\2\2\u11a0") - buf.write("\u11a1\7P\2\2\u11a1\u11a2\7E\2\2\u11a2\u11a3\7T\2\2\u11a3") - buf.write("\u11a4\7[\2\2\u11a4\u11a5\7R\2\2\u11a5\u11a6\7V\2\2\u11a6") - buf.write("\u11a7\7K\2\2\u11a7\u11a8\7Q\2\2\u11a8\u11a9\7P\2\2\u11a9") - buf.write("\u0272\3\2\2\2\u11aa\u11ab\7G\2\2\u11ab\u11ac\7P\2\2\u11ac") - buf.write("\u11ad\7F\2\2\u11ad\u0274\3\2\2\2\u11ae\u11af\7G\2\2\u11af") - buf.write("\u11b0\7P\2\2\u11b0\u11b1\7F\2\2\u11b1\u11b2\7U\2\2\u11b2") - buf.write("\u0276\3\2\2\2\u11b3\u11b4\7G\2\2\u11b4\u11b5\7P\2\2\u11b5") - buf.write("\u11b6\7I\2\2\u11b6\u11b7\7K\2\2\u11b7\u11b8\7P\2\2\u11b8") - buf.write("\u11b9\7G\2\2\u11b9\u0278\3\2\2\2\u11ba\u11bb\7G\2\2\u11bb") - buf.write("\u11bc\7P\2\2\u11bc\u11bd\7I\2\2\u11bd\u11be\7K\2\2\u11be") - buf.write("\u11bf\7P\2\2\u11bf\u11c0\7G\2\2\u11c0\u11c1\7U\2\2\u11c1") - buf.write("\u027a\3\2\2\2\u11c2\u11c3\7G\2\2\u11c3\u11c4\7T\2\2\u11c4") - buf.write("\u11c5\7T\2\2\u11c5\u11c6\7Q\2\2\u11c6\u11c7\7T\2\2\u11c7") - buf.write("\u027c\3\2\2\2\u11c8\u11c9\7G\2\2\u11c9\u11ca\7T\2\2\u11ca") - buf.write("\u11cb\7T\2\2\u11cb\u11cc\7Q\2\2\u11cc\u11cd\7T\2\2\u11cd") - buf.write("\u11ce\7U\2\2\u11ce\u027e\3\2\2\2\u11cf\u11d0\7G\2\2\u11d0") - buf.write("\u11d1\7U\2\2\u11d1\u11d2\7E\2\2\u11d2\u11d3\7C\2\2\u11d3") - buf.write("\u11d4\7R\2\2\u11d4\u11d5\7G\2\2\u11d5\u0280\3\2\2\2\u11d6") - buf.write("\u11d7\7G\2\2\u11d7\u11d8\7X\2\2\u11d8\u11d9\7G\2\2\u11d9") - buf.write("\u11da\7P\2\2\u11da\u0282\3\2\2\2\u11db\u11dc\7G\2\2\u11dc") - buf.write("\u11dd\7X\2\2\u11dd\u11de\7G\2\2\u11de\u11df\7P\2\2\u11df") - buf.write("\u11e0\7V\2\2\u11e0\u0284\3\2\2\2\u11e1\u11e2\7G\2\2\u11e2") - buf.write("\u11e3\7X\2\2\u11e3\u11e4\7G\2\2\u11e4\u11e5\7P\2\2\u11e5") - buf.write("\u11e6\7V\2\2\u11e6\u11e7\7U\2\2\u11e7\u0286\3\2\2\2\u11e8") - buf.write("\u11e9\7G\2\2\u11e9\u11ea\7X\2\2\u11ea\u11eb\7G\2\2\u11eb") - buf.write("\u11ec\7T\2\2\u11ec\u11ed\7[\2\2\u11ed\u0288\3\2\2\2\u11ee") - buf.write("\u11ef\7G\2\2\u11ef\u11f0\7Z\2\2\u11f0\u11f1\7E\2\2\u11f1") - buf.write("\u11f2\7J\2\2\u11f2\u11f3\7C\2\2\u11f3\u11f4\7P\2\2\u11f4") - buf.write("\u11f5\7I\2\2\u11f5\u11f6\7G\2\2\u11f6\u028a\3\2\2\2\u11f7") - buf.write("\u11f8\7G\2\2\u11f8\u11f9\7Z\2\2\u11f9\u11fa\7E\2\2\u11fa") - buf.write("\u11fb\7N\2\2\u11fb\u11fc\7W\2\2\u11fc\u11fd\7U\2\2\u11fd") - buf.write("\u11fe\7K\2\2\u11fe\u11ff\7X\2\2\u11ff\u1200\7G\2\2\u1200") - buf.write("\u028c\3\2\2\2\u1201\u1202\7G\2\2\u1202\u1203\7Z\2\2\u1203") - buf.write("\u1204\7R\2\2\u1204\u1205\7K\2\2\u1205\u1206\7T\2\2\u1206") - buf.write("\u1207\7G\2\2\u1207\u028e\3\2\2\2\u1208\u1209\7G\2\2\u1209") - buf.write("\u120a\7Z\2\2\u120a\u120b\7R\2\2\u120b\u120c\7Q\2\2\u120c") - buf.write("\u120d\7T\2\2\u120d\u120e\7V\2\2\u120e\u0290\3\2\2\2\u120f") - buf.write("\u1210\7G\2\2\u1210\u1211\7Z\2\2\u1211\u1212\7V\2\2\u1212") - buf.write("\u1213\7G\2\2\u1213\u1214\7P\2\2\u1214\u1215\7F\2\2\u1215") - buf.write("\u1216\7G\2\2\u1216\u1217\7F\2\2\u1217\u0292\3\2\2\2\u1218") - buf.write("\u1219\7G\2\2\u1219\u121a\7Z\2\2\u121a\u121b\7V\2\2\u121b") - buf.write("\u121c\7G\2\2\u121c\u121d\7P\2\2\u121d\u121e\7V\2\2\u121e") - buf.write("\u121f\7a\2\2\u121f\u1220\7U\2\2\u1220\u1221\7K\2\2\u1221") - buf.write("\u1222\7\\\2\2\u1222\u1223\7G\2\2\u1223\u0294\3\2\2\2") - buf.write("\u1224\u1225\7H\2\2\u1225\u1226\7C\2\2\u1226\u1227\7U") - buf.write("\2\2\u1227\u1228\7V\2\2\u1228\u0296\3\2\2\2\u1229\u122a") - buf.write("\7H\2\2\u122a\u122b\7C\2\2\u122b\u122c\7W\2\2\u122c\u122d") - buf.write("\7N\2\2\u122d\u122e\7V\2\2\u122e\u122f\7U\2\2\u122f\u0298") - buf.write("\3\2\2\2\u1230\u1231\7H\2\2\u1231\u1232\7K\2\2\u1232\u1233") - buf.write("\7G\2\2\u1233\u1234\7N\2\2\u1234\u1235\7F\2\2\u1235\u1236") - buf.write("\7U\2\2\u1236\u029a\3\2\2\2\u1237\u1238\7H\2\2\u1238\u1239") - buf.write("\7K\2\2\u1239\u123a\7N\2\2\u123a\u123b\7G\2\2\u123b\u123c") - buf.write("\7a\2\2\u123c\u123d\7D\2\2\u123d\u123e\7N\2\2\u123e\u123f") - buf.write("\7Q\2\2\u123f\u1240\7E\2\2\u1240\u1241\7M\2\2\u1241\u1242") - buf.write("\7a\2\2\u1242\u1243\7U\2\2\u1243\u1244\7K\2\2\u1244\u1245") - buf.write("\7\\\2\2\u1245\u1246\7G\2\2\u1246\u029c\3\2\2\2\u1247") - buf.write("\u1248\7H\2\2\u1248\u1249\7K\2\2\u1249\u124a\7N\2\2\u124a") - buf.write("\u124b\7V\2\2\u124b\u124c\7G\2\2\u124c\u124d\7T\2\2\u124d") - buf.write("\u029e\3\2\2\2\u124e\u124f\7H\2\2\u124f\u1250\7K\2\2\u1250") - buf.write("\u1251\7T\2\2\u1251\u1252\7U\2\2\u1252\u1253\7V\2\2\u1253") - buf.write("\u02a0\3\2\2\2\u1254\u1255\7H\2\2\u1255\u1256\7K\2\2\u1256") - buf.write("\u1257\7Z\2\2\u1257\u1258\7G\2\2\u1258\u1259\7F\2\2\u1259") - buf.write("\u02a2\3\2\2\2\u125a\u125b\7H\2\2\u125b\u125c\7N\2\2\u125c") - buf.write("\u125d\7W\2\2\u125d\u125e\7U\2\2\u125e\u125f\7J\2\2\u125f") - buf.write("\u02a4\3\2\2\2\u1260\u1261\7H\2\2\u1261\u1262\7Q\2\2\u1262") - buf.write("\u1263\7N\2\2\u1263\u1264\7N\2\2\u1264\u1265\7Q\2\2\u1265") - buf.write("\u1266\7Y\2\2\u1266\u1267\7U\2\2\u1267\u02a6\3\2\2\2\u1268") - buf.write("\u1269\7H\2\2\u1269\u126a\7Q\2\2\u126a\u126b\7W\2\2\u126b") - buf.write("\u126c\7P\2\2\u126c\u126d\7F\2\2\u126d\u02a8\3\2\2\2\u126e") - buf.write("\u126f\7H\2\2\u126f\u1270\7W\2\2\u1270\u1271\7N\2\2\u1271") - buf.write("\u1272\7N\2\2\u1272\u02aa\3\2\2\2\u1273\u1274\7H\2\2\u1274") - buf.write("\u1275\7W\2\2\u1275\u1276\7P\2\2\u1276\u1277\7E\2\2\u1277") - buf.write("\u1278\7V\2\2\u1278\u1279\7K\2\2\u1279\u127a\7Q\2\2\u127a") - buf.write("\u127b\7P\2\2\u127b\u02ac\3\2\2\2\u127c\u127d\7I\2\2\u127d") - buf.write("\u127e\7G\2\2\u127e\u127f\7P\2\2\u127f\u1280\7G\2\2\u1280") - buf.write("\u1281\7T\2\2\u1281\u1282\7C\2\2\u1282\u1283\7N\2\2\u1283") - buf.write("\u02ae\3\2\2\2\u1284\u1285\7I\2\2\u1285\u1286\7N\2\2\u1286") - buf.write("\u1287\7Q\2\2\u1287\u1288\7D\2\2\u1288\u1289\7C\2\2\u1289") - buf.write("\u128a\7N\2\2\u128a\u02b0\3\2\2\2\u128b\u128c\7I\2\2\u128c") - buf.write("\u128d\7T\2\2\u128d\u128e\7C\2\2\u128e\u128f\7P\2\2\u128f") - buf.write("\u1290\7V\2\2\u1290\u1291\7U\2\2\u1291\u02b2\3\2\2\2\u1292") - buf.write("\u1293\7I\2\2\u1293\u1294\7T\2\2\u1294\u1295\7Q\2\2\u1295") - buf.write("\u1296\7W\2\2\u1296\u1297\7R\2\2\u1297\u1298\7a\2\2\u1298") - buf.write("\u1299\7T\2\2\u1299\u129a\7G\2\2\u129a\u129b\7R\2\2\u129b") - buf.write("\u129c\7N\2\2\u129c\u129d\7K\2\2\u129d\u129e\7E\2\2\u129e") - buf.write("\u129f\7C\2\2\u129f\u12a0\7V\2\2\u12a0\u12a1\7K\2\2\u12a1") - buf.write("\u12a2\7Q\2\2\u12a2\u12a3\7P\2\2\u12a3\u02b4\3\2\2\2\u12a4") - buf.write("\u12a5\7J\2\2\u12a5\u12a6\7C\2\2\u12a6\u12a7\7P\2\2\u12a7") - buf.write("\u12a8\7F\2\2\u12a8\u12a9\7N\2\2\u12a9\u12aa\7G\2\2\u12aa") - buf.write("\u12ab\7T\2\2\u12ab\u02b6\3\2\2\2\u12ac\u12ad\7J\2\2\u12ad") - buf.write("\u12ae\7C\2\2\u12ae\u12af\7U\2\2\u12af\u12b0\7J\2\2\u12b0") - buf.write("\u02b8\3\2\2\2\u12b1\u12b2\7J\2\2\u12b2\u12b3\7G\2\2\u12b3") - buf.write("\u12b4\7N\2\2\u12b4\u12b5\7R\2\2\u12b5\u02ba\3\2\2\2\u12b6") - buf.write("\u12b7\7J\2\2\u12b7\u12b8\7Q\2\2\u12b8\u12b9\7U\2\2\u12b9") - buf.write("\u12ba\7V\2\2\u12ba\u02bc\3\2\2\2\u12bb\u12bc\7J\2\2\u12bc") - buf.write("\u12bd\7Q\2\2\u12bd\u12be\7U\2\2\u12be\u12bf\7V\2\2\u12bf") - buf.write("\u12c0\7U\2\2\u12c0\u02be\3\2\2\2\u12c1\u12c2\7K\2\2\u12c2") - buf.write("\u12c3\7F\2\2\u12c3\u12c4\7G\2\2\u12c4\u12c5\7P\2\2\u12c5") - buf.write("\u12c6\7V\2\2\u12c6\u12c7\7K\2\2\u12c7\u12c8\7H\2\2\u12c8") - buf.write("\u12c9\7K\2\2\u12c9\u12ca\7G\2\2\u12ca\u12cb\7F\2\2\u12cb") - buf.write("\u02c0\3\2\2\2\u12cc\u12cd\7K\2\2\u12cd\u12ce\7I\2\2\u12ce") - buf.write("\u12cf\7P\2\2\u12cf\u12d0\7Q\2\2\u12d0\u12d1\7T\2\2\u12d1") - buf.write("\u12d2\7G\2\2\u12d2\u12d3\7a\2\2\u12d3\u12d4\7U\2\2\u12d4") - buf.write("\u12d5\7G\2\2\u12d5\u12d6\7T\2\2\u12d6\u12d7\7X\2\2\u12d7") - buf.write("\u12d8\7G\2\2\u12d8\u12d9\7T\2\2\u12d9\u12da\7a\2\2\u12da") - buf.write("\u12db\7K\2\2\u12db\u12dc\7F\2\2\u12dc\u12dd\7U\2\2\u12dd") - buf.write("\u02c2\3\2\2\2\u12de\u12df\7K\2\2\u12df\u12e0\7O\2\2\u12e0") - buf.write("\u12e1\7R\2\2\u12e1\u12e2\7Q\2\2\u12e2\u12e3\7T\2\2\u12e3") - buf.write("\u12e4\7V\2\2\u12e4\u02c4\3\2\2\2\u12e5\u12e6\7K\2\2\u12e6") - buf.write("\u12e7\7P\2\2\u12e7\u12e8\7F\2\2\u12e8\u12e9\7G\2\2\u12e9") - buf.write("\u12ea\7Z\2\2\u12ea\u12eb\7G\2\2\u12eb\u12ec\7U\2\2\u12ec") - buf.write("\u02c6\3\2\2\2\u12ed\u12ee\7K\2\2\u12ee\u12ef\7P\2\2\u12ef") - buf.write("\u12f0\7K\2\2\u12f0\u12f1\7V\2\2\u12f1\u12f2\7K\2\2\u12f2") - buf.write("\u12f3\7C\2\2\u12f3\u12f4\7N\2\2\u12f4\u12f5\7a\2\2\u12f5") - buf.write("\u12f6\7U\2\2\u12f6\u12f7\7K\2\2\u12f7\u12f8\7\\\2\2\u12f8") - buf.write("\u12f9\7G\2\2\u12f9\u02c8\3\2\2\2\u12fa\u12fb\7K\2\2\u12fb") - buf.write("\u12fc\7P\2\2\u12fc\u12fd\7R\2\2\u12fd\u12fe\7N\2\2\u12fe") - buf.write("\u12ff\7C\2\2\u12ff\u1300\7E\2\2\u1300\u1301\7G\2\2\u1301") - buf.write("\u02ca\3\2\2\2\u1302\u1303\7K\2\2\u1303\u1304\7P\2\2\u1304") - buf.write("\u1305\7U\2\2\u1305\u1306\7G\2\2\u1306\u1307\7T\2\2\u1307") - buf.write("\u1308\7V\2\2\u1308\u1309\7a\2\2\u1309\u130a\7O\2\2\u130a") - buf.write("\u130b\7G\2\2\u130b\u130c\7V\2\2\u130c\u130d\7J\2\2\u130d") - buf.write("\u130e\7Q\2\2\u130e\u130f\7F\2\2\u130f\u02cc\3\2\2\2\u1310") - buf.write("\u1311\7K\2\2\u1311\u1312\7P\2\2\u1312\u1313\7U\2\2\u1313") - buf.write("\u1314\7V\2\2\u1314\u1315\7C\2\2\u1315\u1316\7N\2\2\u1316") - buf.write("\u1317\7N\2\2\u1317\u02ce\3\2\2\2\u1318\u1319\7K\2\2\u1319") - buf.write("\u131a\7P\2\2\u131a\u131b\7U\2\2\u131b\u131c\7V\2\2\u131c") - buf.write("\u131d\7C\2\2\u131d\u131e\7P\2\2\u131e\u131f\7E\2\2\u131f") - buf.write("\u1320\7G\2\2\u1320\u02d0\3\2\2\2\u1321\u1322\7K\2\2\u1322") - buf.write("\u1323\7P\2\2\u1323\u1324\7X\2\2\u1324\u1325\7Q\2\2\u1325") - buf.write("\u1326\7M\2\2\u1326\u1327\7G\2\2\u1327\u1328\7T\2\2\u1328") - buf.write("\u02d2\3\2\2\2\u1329\u132a\7K\2\2\u132a\u132b\7Q\2\2\u132b") - buf.write("\u02d4\3\2\2\2\u132c\u132d\7K\2\2\u132d\u132e\7Q\2\2\u132e") - buf.write("\u132f\7a\2\2\u132f\u1330\7V\2\2\u1330\u1331\7J\2\2\u1331") - buf.write("\u1332\7T\2\2\u1332\u1333\7G\2\2\u1333\u1334\7C\2\2\u1334") - buf.write("\u1335\7F\2\2\u1335\u02d6\3\2\2\2\u1336\u1337\7K\2\2\u1337") - buf.write("\u1338\7R\2\2\u1338\u1339\7E\2\2\u1339\u02d8\3\2\2\2\u133a") - buf.write("\u133b\7K\2\2\u133b\u133c\7U\2\2\u133c\u133d\7Q\2\2\u133d") - buf.write("\u133e\7N\2\2\u133e\u133f\7C\2\2\u133f\u1340\7V\2\2\u1340") - buf.write("\u1341\7K\2\2\u1341\u1342\7Q\2\2\u1342\u1343\7P\2\2\u1343") - buf.write("\u02da\3\2\2\2\u1344\u1345\7K\2\2\u1345\u1346\7U\2\2\u1346") - buf.write("\u1347\7U\2\2\u1347\u1348\7W\2\2\u1348\u1349\7G\2\2\u1349") - buf.write("\u134a\7T\2\2\u134a\u02dc\3\2\2\2\u134b\u134c\7L\2\2\u134c") - buf.write("\u134d\7U\2\2\u134d\u134e\7Q\2\2\u134e\u134f\7P\2\2\u134f") - buf.write("\u02de\3\2\2\2\u1350\u1351\7M\2\2\u1351\u1352\7G\2\2\u1352") - buf.write("\u1353\7[\2\2\u1353\u1354\7a\2\2\u1354\u1355\7D\2\2\u1355") - buf.write("\u1356\7N\2\2\u1356\u1357\7Q\2\2\u1357\u1358\7E\2\2\u1358") - buf.write("\u1359\7M\2\2\u1359\u135a\7a\2\2\u135a\u135b\7U\2\2\u135b") - buf.write("\u135c\7K\2\2\u135c\u135d\7\\\2\2\u135d\u135e\7G\2\2\u135e") - buf.write("\u02e0\3\2\2\2\u135f\u1360\7N\2\2\u1360\u1361\7C\2\2\u1361") - buf.write("\u1362\7P\2\2\u1362\u1363\7I\2\2\u1363\u1364\7W\2\2\u1364") - buf.write("\u1365\7C\2\2\u1365\u1366\7I\2\2\u1366\u1367\7G\2\2\u1367") - buf.write("\u02e2\3\2\2\2\u1368\u1369\7N\2\2\u1369\u136a\7C\2\2\u136a") - buf.write("\u136b\7U\2\2\u136b\u136c\7V\2\2\u136c\u02e4\3\2\2\2\u136d") - buf.write("\u136e\7N\2\2\u136e\u136f\7G\2\2\u136f\u1370\7C\2\2\u1370") - buf.write("\u1371\7X\2\2\u1371\u1372\7G\2\2\u1372\u1373\7U\2\2\u1373") - buf.write("\u02e6\3\2\2\2\u1374\u1375\7N\2\2\u1375\u1376\7G\2\2\u1376") - buf.write("\u1377\7U\2\2\u1377\u1378\7U\2\2\u1378\u02e8\3\2\2\2\u1379") - buf.write("\u137a\7N\2\2\u137a\u137b\7G\2\2\u137b\u137c\7X\2\2\u137c") - buf.write("\u137d\7G\2\2\u137d\u137e\7N\2\2\u137e\u02ea\3\2\2\2\u137f") - buf.write("\u1380\7N\2\2\u1380\u1381\7K\2\2\u1381\u1382\7U\2\2\u1382") - buf.write("\u1383\7V\2\2\u1383\u02ec\3\2\2\2\u1384\u1385\7N\2\2\u1385") - buf.write("\u1386\7Q\2\2\u1386\u1387\7E\2\2\u1387\u1388\7C\2\2\u1388") - buf.write("\u1389\7N\2\2\u1389\u02ee\3\2\2\2\u138a\u138b\7N\2\2\u138b") - buf.write("\u138c\7Q\2\2\u138c\u138d\7I\2\2\u138d\u138e\7H\2\2\u138e") - buf.write("\u138f\7K\2\2\u138f\u1390\7N\2\2\u1390\u1391\7G\2\2\u1391") - buf.write("\u02f0\3\2\2\2\u1392\u1393\7N\2\2\u1393\u1394\7Q\2\2\u1394") - buf.write("\u1395\7I\2\2\u1395\u1396\7U\2\2\u1396\u02f2\3\2\2\2\u1397") - buf.write("\u1398\7O\2\2\u1398\u1399\7C\2\2\u1399\u139a\7U\2\2\u139a") - buf.write("\u139b\7V\2\2\u139b\u139c\7G\2\2\u139c\u139d\7T\2\2\u139d") - buf.write("\u02f4\3\2\2\2\u139e\u139f\7O\2\2\u139f\u13a0\7C\2\2\u13a0") - buf.write("\u13a1\7U\2\2\u13a1\u13a2\7V\2\2\u13a2\u13a3\7G\2\2\u13a3") - buf.write("\u13a4\7T\2\2\u13a4\u13a5\7a\2\2\u13a5\u13a6\7C\2\2\u13a6") - buf.write("\u13a7\7W\2\2\u13a7\u13a8\7V\2\2\u13a8\u13a9\7Q\2\2\u13a9") - buf.write("\u13aa\7a\2\2\u13aa\u13ab\7R\2\2\u13ab\u13ac\7Q\2\2\u13ac") - buf.write("\u13ad\7U\2\2\u13ad\u13ae\7K\2\2\u13ae\u13af\7V\2\2\u13af") - buf.write("\u13b0\7K\2\2\u13b0\u13b1\7Q\2\2\u13b1\u13b2\7P\2\2\u13b2") - buf.write("\u02f6\3\2\2\2\u13b3\u13b4\7O\2\2\u13b4\u13b5\7C\2\2\u13b5") - buf.write("\u13b6\7U\2\2\u13b6\u13b7\7V\2\2\u13b7\u13b8\7G\2\2\u13b8") - buf.write("\u13b9\7T\2\2\u13b9\u13ba\7a\2\2\u13ba\u13bb\7E\2\2\u13bb") - buf.write("\u13bc\7Q\2\2\u13bc\u13bd\7P\2\2\u13bd\u13be\7P\2\2\u13be") - buf.write("\u13bf\7G\2\2\u13bf\u13c0\7E\2\2\u13c0\u13c1\7V\2\2\u13c1") - buf.write("\u13c2\7a\2\2\u13c2\u13c3\7T\2\2\u13c3\u13c4\7G\2\2\u13c4") - buf.write("\u13c5\7V\2\2\u13c5\u13c6\7T\2\2\u13c6\u13c7\7[\2\2\u13c7") - buf.write("\u02f8\3\2\2\2\u13c8\u13c9\7O\2\2\u13c9\u13ca\7C\2\2\u13ca") - buf.write("\u13cb\7U\2\2\u13cb\u13cc\7V\2\2\u13cc\u13cd\7G\2\2\u13cd") - buf.write("\u13ce\7T\2\2\u13ce\u13cf\7a\2\2\u13cf\u13d0\7F\2\2\u13d0") - buf.write("\u13d1\7G\2\2\u13d1\u13d2\7N\2\2\u13d2\u13d3\7C\2\2\u13d3") - buf.write("\u13d4\7[\2\2\u13d4\u02fa\3\2\2\2\u13d5\u13d6\7O\2\2\u13d6") - buf.write("\u13d7\7C\2\2\u13d7\u13d8\7U\2\2\u13d8\u13d9\7V\2\2\u13d9") - buf.write("\u13da\7G\2\2\u13da\u13db\7T\2\2\u13db\u13dc\7a\2\2\u13dc") - buf.write("\u13dd\7J\2\2\u13dd\u13de\7G\2\2\u13de\u13df\7C\2\2\u13df") - buf.write("\u13e0\7T\2\2\u13e0\u13e1\7V\2\2\u13e1\u13e2\7D\2\2\u13e2") - buf.write("\u13e3\7G\2\2\u13e3\u13e4\7C\2\2\u13e4\u13e5\7V\2\2\u13e5") - buf.write("\u13e6\7a\2\2\u13e6\u13e7\7R\2\2\u13e7\u13e8\7G\2\2\u13e8") - buf.write("\u13e9\7T\2\2\u13e9\u13ea\7K\2\2\u13ea\u13eb\7Q\2\2\u13eb") - buf.write("\u13ec\7F\2\2\u13ec\u02fc\3\2\2\2\u13ed\u13ee\7O\2\2\u13ee") - buf.write("\u13ef\7C\2\2\u13ef\u13f0\7U\2\2\u13f0\u13f1\7V\2\2\u13f1") - buf.write("\u13f2\7G\2\2\u13f2\u13f3\7T\2\2\u13f3\u13f4\7a\2\2\u13f4") - buf.write("\u13f5\7J\2\2\u13f5\u13f6\7Q\2\2\u13f6\u13f7\7U\2\2\u13f7") - buf.write("\u13f8\7V\2\2\u13f8\u02fe\3\2\2\2\u13f9\u13fa\7O\2\2\u13fa") - buf.write("\u13fb\7C\2\2\u13fb\u13fc\7U\2\2\u13fc\u13fd\7V\2\2\u13fd") - buf.write("\u13fe\7G\2\2\u13fe\u13ff\7T\2\2\u13ff\u1400\7a\2\2\u1400") - buf.write("\u1401\7N\2\2\u1401\u1402\7Q\2\2\u1402\u1403\7I\2\2\u1403") - buf.write("\u1404\7a\2\2\u1404\u1405\7H\2\2\u1405\u1406\7K\2\2\u1406") - buf.write("\u1407\7N\2\2\u1407\u1408\7G\2\2\u1408\u0300\3\2\2\2\u1409") - buf.write("\u140a\7O\2\2\u140a\u140b\7C\2\2\u140b\u140c\7U\2\2\u140c") - buf.write("\u140d\7V\2\2\u140d\u140e\7G\2\2\u140e\u140f\7T\2\2\u140f") - buf.write("\u1410\7a\2\2\u1410\u1411\7N\2\2\u1411\u1412\7Q\2\2\u1412") - buf.write("\u1413\7I\2\2\u1413\u1414\7a\2\2\u1414\u1415\7R\2\2\u1415") - buf.write("\u1416\7Q\2\2\u1416\u1417\7U\2\2\u1417\u0302\3\2\2\2\u1418") - buf.write("\u1419\7O\2\2\u1419\u141a\7C\2\2\u141a\u141b\7U\2\2\u141b") - buf.write("\u141c\7V\2\2\u141c\u141d\7G\2\2\u141d\u141e\7T\2\2\u141e") - buf.write("\u141f\7a\2\2\u141f\u1420\7R\2\2\u1420\u1421\7C\2\2\u1421") - buf.write("\u1422\7U\2\2\u1422\u1423\7U\2\2\u1423\u1424\7Y\2\2\u1424") - buf.write("\u1425\7Q\2\2\u1425\u1426\7T\2\2\u1426\u1427\7F\2\2\u1427") - buf.write("\u0304\3\2\2\2\u1428\u1429\7O\2\2\u1429\u142a\7C\2\2\u142a") - buf.write("\u142b\7U\2\2\u142b\u142c\7V\2\2\u142c\u142d\7G\2\2\u142d") - buf.write("\u142e\7T\2\2\u142e\u142f\7a\2\2\u142f\u1430\7R\2\2\u1430") - buf.write("\u1431\7Q\2\2\u1431\u1432\7T\2\2\u1432\u1433\7V\2\2\u1433") - buf.write("\u0306\3\2\2\2\u1434\u1435\7O\2\2\u1435\u1436\7C\2\2\u1436") - buf.write("\u1437\7U\2\2\u1437\u1438\7V\2\2\u1438\u1439\7G\2\2\u1439") - buf.write("\u143a\7T\2\2\u143a\u143b\7a\2\2\u143b\u143c\7T\2\2\u143c") - buf.write("\u143d\7G\2\2\u143d\u143e\7V\2\2\u143e\u143f\7T\2\2\u143f") - buf.write("\u1440\7[\2\2\u1440\u1441\7a\2\2\u1441\u1442\7E\2\2\u1442") - buf.write("\u1443\7Q\2\2\u1443\u1444\7W\2\2\u1444\u1445\7P\2\2\u1445") - buf.write("\u1446\7V\2\2\u1446\u0308\3\2\2\2\u1447\u1448\7O\2\2\u1448") - buf.write("\u1449\7C\2\2\u1449\u144a\7U\2\2\u144a\u144b\7V\2\2\u144b") - buf.write("\u144c\7G\2\2\u144c\u144d\7T\2\2\u144d\u144e\7a\2\2\u144e") - buf.write("\u144f\7U\2\2\u144f\u1450\7U\2\2\u1450\u1451\7N\2\2\u1451") - buf.write("\u030a\3\2\2\2\u1452\u1453\7O\2\2\u1453\u1454\7C\2\2\u1454") - buf.write("\u1455\7U\2\2\u1455\u1456\7V\2\2\u1456\u1457\7G\2\2\u1457") - buf.write("\u1458\7T\2\2\u1458\u1459\7a\2\2\u1459\u145a\7U\2\2\u145a") - buf.write("\u145b\7U\2\2\u145b\u145c\7N\2\2\u145c\u145d\7a\2\2\u145d") - buf.write("\u145e\7E\2\2\u145e\u145f\7C\2\2\u145f\u030c\3\2\2\2\u1460") - buf.write("\u1461\7O\2\2\u1461\u1462\7C\2\2\u1462\u1463\7U\2\2\u1463") - buf.write("\u1464\7V\2\2\u1464\u1465\7G\2\2\u1465\u1466\7T\2\2\u1466") - buf.write("\u1467\7a\2\2\u1467\u1468\7U\2\2\u1468\u1469\7U\2\2\u1469") - buf.write("\u146a\7N\2\2\u146a\u146b\7a\2\2\u146b\u146c\7E\2\2\u146c") - buf.write("\u146d\7C\2\2\u146d\u146e\7R\2\2\u146e\u146f\7C\2\2\u146f") - buf.write("\u1470\7V\2\2\u1470\u1471\7J\2\2\u1471\u030e\3\2\2\2\u1472") - buf.write("\u1473\7O\2\2\u1473\u1474\7C\2\2\u1474\u1475\7U\2\2\u1475") - buf.write("\u1476\7V\2\2\u1476\u1477\7G\2\2\u1477\u1478\7T\2\2\u1478") - buf.write("\u1479\7a\2\2\u1479\u147a\7U\2\2\u147a\u147b\7U\2\2\u147b") - buf.write("\u147c\7N\2\2\u147c\u147d\7a\2\2\u147d\u147e\7E\2\2\u147e") - buf.write("\u147f\7G\2\2\u147f\u1480\7T\2\2\u1480\u1481\7V\2\2\u1481") - buf.write("\u0310\3\2\2\2\u1482\u1483\7O\2\2\u1483\u1484\7C\2\2\u1484") - buf.write("\u1485\7U\2\2\u1485\u1486\7V\2\2\u1486\u1487\7G\2\2\u1487") - buf.write("\u1488\7T\2\2\u1488\u1489\7a\2\2\u1489\u148a\7U\2\2\u148a") - buf.write("\u148b\7U\2\2\u148b\u148c\7N\2\2\u148c\u148d\7a\2\2\u148d") - buf.write("\u148e\7E\2\2\u148e\u148f\7K\2\2\u148f\u1490\7R\2\2\u1490") - buf.write("\u1491\7J\2\2\u1491\u1492\7G\2\2\u1492\u1493\7T\2\2\u1493") - buf.write("\u0312\3\2\2\2\u1494\u1495\7O\2\2\u1495\u1496\7C\2\2\u1496") - buf.write("\u1497\7U\2\2\u1497\u1498\7V\2\2\u1498\u1499\7G\2\2\u1499") - buf.write("\u149a\7T\2\2\u149a\u149b\7a\2\2\u149b\u149c\7U\2\2\u149c") - buf.write("\u149d\7U\2\2\u149d\u149e\7N\2\2\u149e\u149f\7a\2\2\u149f") - buf.write("\u14a0\7E\2\2\u14a0\u14a1\7T\2\2\u14a1\u14a2\7N\2\2\u14a2") - buf.write("\u0314\3\2\2\2\u14a3\u14a4\7O\2\2\u14a4\u14a5\7C\2\2\u14a5") - buf.write("\u14a6\7U\2\2\u14a6\u14a7\7V\2\2\u14a7\u14a8\7G\2\2\u14a8") - buf.write("\u14a9\7T\2\2\u14a9\u14aa\7a\2\2\u14aa\u14ab\7U\2\2\u14ab") - buf.write("\u14ac\7U\2\2\u14ac\u14ad\7N\2\2\u14ad\u14ae\7a\2\2\u14ae") - buf.write("\u14af\7E\2\2\u14af\u14b0\7T\2\2\u14b0\u14b1\7N\2\2\u14b1") - buf.write("\u14b2\7R\2\2\u14b2\u14b3\7C\2\2\u14b3\u14b4\7V\2\2\u14b4") - buf.write("\u14b5\7J\2\2\u14b5\u0316\3\2\2\2\u14b6\u14b7\7O\2\2\u14b7") - buf.write("\u14b8\7C\2\2\u14b8\u14b9\7U\2\2\u14b9\u14ba\7V\2\2\u14ba") - buf.write("\u14bb\7G\2\2\u14bb\u14bc\7T\2\2\u14bc\u14bd\7a\2\2\u14bd") - buf.write("\u14be\7U\2\2\u14be\u14bf\7U\2\2\u14bf\u14c0\7N\2\2\u14c0") - buf.write("\u14c1\7a\2\2\u14c1\u14c2\7M\2\2\u14c2\u14c3\7G\2\2\u14c3") - buf.write("\u14c4\7[\2\2\u14c4\u0318\3\2\2\2\u14c5\u14c6\7O\2\2\u14c6") - buf.write("\u14c7\7C\2\2\u14c7\u14c8\7U\2\2\u14c8\u14c9\7V\2\2\u14c9") - buf.write("\u14ca\7G\2\2\u14ca\u14cb\7T\2\2\u14cb\u14cc\7a\2\2\u14cc") - buf.write("\u14cd\7V\2\2\u14cd\u14ce\7N\2\2\u14ce\u14cf\7U\2\2\u14cf") - buf.write("\u14d0\7a\2\2\u14d0\u14d1\7X\2\2\u14d1\u14d2\7G\2\2\u14d2") - buf.write("\u14d3\7T\2\2\u14d3\u14d4\7U\2\2\u14d4\u14d5\7K\2\2\u14d5") - buf.write("\u14d6\7Q\2\2\u14d6\u14d7\7P\2\2\u14d7\u031a\3\2\2\2\u14d8") - buf.write("\u14d9\7O\2\2\u14d9\u14da\7C\2\2\u14da\u14db\7U\2\2\u14db") - buf.write("\u14dc\7V\2\2\u14dc\u14dd\7G\2\2\u14dd\u14de\7T\2\2\u14de") - buf.write("\u14df\7a\2\2\u14df\u14e0\7W\2\2\u14e0\u14e1\7U\2\2\u14e1") - buf.write("\u14e2\7G\2\2\u14e2\u14e3\7T\2\2\u14e3\u031c\3\2\2\2\u14e4") - buf.write("\u14e5\7O\2\2\u14e5\u14e6\7C\2\2\u14e6\u14e7\7Z\2\2\u14e7") - buf.write("\u14e8\7a\2\2\u14e8\u14e9\7E\2\2\u14e9\u14ea\7Q\2\2\u14ea") - buf.write("\u14eb\7P\2\2\u14eb\u14ec\7P\2\2\u14ec\u14ed\7G\2\2\u14ed") - buf.write("\u14ee\7E\2\2\u14ee\u14ef\7V\2\2\u14ef\u14f0\7K\2\2\u14f0") - buf.write("\u14f1\7Q\2\2\u14f1\u14f2\7P\2\2\u14f2\u14f3\7U\2\2\u14f3") - buf.write("\u14f4\7a\2\2\u14f4\u14f5\7R\2\2\u14f5\u14f6\7G\2\2\u14f6") - buf.write("\u14f7\7T\2\2\u14f7\u14f8\7a\2\2\u14f8\u14f9\7J\2\2\u14f9") - buf.write("\u14fa\7Q\2\2\u14fa\u14fb\7W\2\2\u14fb\u14fc\7T\2\2\u14fc") - buf.write("\u031e\3\2\2\2\u14fd\u14fe\7O\2\2\u14fe\u14ff\7C\2\2\u14ff") - buf.write("\u1500\7Z\2\2\u1500\u1501\7a\2\2\u1501\u1502\7S\2\2\u1502") - buf.write("\u1503\7W\2\2\u1503\u1504\7G\2\2\u1504\u1505\7T\2\2\u1505") - buf.write("\u1506\7K\2\2\u1506\u1507\7G\2\2\u1507\u1508\7U\2\2\u1508") - buf.write("\u1509\7a\2\2\u1509\u150a\7R\2\2\u150a\u150b\7G\2\2\u150b") - buf.write("\u150c\7T\2\2\u150c\u150d\7a\2\2\u150d\u150e\7J\2\2\u150e") - buf.write("\u150f\7Q\2\2\u150f\u1510\7W\2\2\u1510\u1511\7T\2\2\u1511") - buf.write("\u0320\3\2\2\2\u1512\u1513\7O\2\2\u1513\u1514\7C\2\2\u1514") - buf.write("\u1515\7Z\2\2\u1515\u1516\7a\2\2\u1516\u1517\7T\2\2\u1517") - buf.write("\u1518\7Q\2\2\u1518\u1519\7Y\2\2\u1519\u151a\7U\2\2\u151a") - buf.write("\u0322\3\2\2\2\u151b\u151c\7O\2\2\u151c\u151d\7C\2\2\u151d") - buf.write("\u151e\7Z\2\2\u151e\u151f\7a\2\2\u151f\u1520\7U\2\2\u1520") - buf.write("\u1521\7K\2\2\u1521\u1522\7\\\2\2\u1522\u1523\7G\2\2\u1523") - buf.write("\u0324\3\2\2\2\u1524\u1525\7O\2\2\u1525\u1526\7C\2\2\u1526") - buf.write("\u1527\7Z\2\2\u1527\u1528\7a\2\2\u1528\u1529\7W\2\2\u1529") - buf.write("\u152a\7R\2\2\u152a\u152b\7F\2\2\u152b\u152c\7C\2\2\u152c") - buf.write("\u152d\7V\2\2\u152d\u152e\7G\2\2\u152e\u152f\7U\2\2\u152f") - buf.write("\u1530\7a\2\2\u1530\u1531\7R\2\2\u1531\u1532\7G\2\2\u1532") - buf.write("\u1533\7T\2\2\u1533\u1534\7a\2\2\u1534\u1535\7J\2\2\u1535") - buf.write("\u1536\7Q\2\2\u1536\u1537\7W\2\2\u1537\u1538\7T\2\2\u1538") - buf.write("\u0326\3\2\2\2\u1539\u153a\7O\2\2\u153a\u153b\7C\2\2\u153b") - buf.write("\u153c\7Z\2\2\u153c\u153d\7a\2\2\u153d\u153e\7W\2\2\u153e") - buf.write("\u153f\7U\2\2\u153f\u1540\7G\2\2\u1540\u1541\7T\2\2\u1541") - buf.write("\u1542\7a\2\2\u1542\u1543\7E\2\2\u1543\u1544\7Q\2\2\u1544") - buf.write("\u1545\7P\2\2\u1545\u1546\7P\2\2\u1546\u1547\7G\2\2\u1547") - buf.write("\u1548\7E\2\2\u1548\u1549\7V\2\2\u1549\u154a\7K\2\2\u154a") - buf.write("\u154b\7Q\2\2\u154b\u154c\7P\2\2\u154c\u154d\7U\2\2\u154d") - buf.write("\u0328\3\2\2\2\u154e\u154f\7O\2\2\u154f\u1550\7G\2\2\u1550") - buf.write("\u1551\7F\2\2\u1551\u1552\7K\2\2\u1552\u1553\7W\2\2\u1553") - buf.write("\u1554\7O\2\2\u1554\u032a\3\2\2\2\u1555\u1556\7O\2\2\u1556") - buf.write("\u1557\7G\2\2\u1557\u1558\7T\2\2\u1558\u1559\7I\2\2\u1559") - buf.write("\u155a\7G\2\2\u155a\u032c\3\2\2\2\u155b\u155c\7O\2\2\u155c") - buf.write("\u155d\7K\2\2\u155d\u155e\7F\2\2\u155e\u032e\3\2\2\2\u155f") - buf.write("\u1560\7O\2\2\u1560\u1561\7K\2\2\u1561\u1562\7I\2\2\u1562") - buf.write("\u1563\7T\2\2\u1563\u1564\7C\2\2\u1564\u1565\7V\2\2\u1565") - buf.write("\u1566\7G\2\2\u1566\u0330\3\2\2\2\u1567\u1568\7O\2\2\u1568") - buf.write("\u1569\7K\2\2\u1569\u156a\7P\2\2\u156a\u156b\7a\2\2\u156b") - buf.write("\u156c\7T\2\2\u156c\u156d\7Q\2\2\u156d\u156e\7Y\2\2\u156e") - buf.write("\u156f\7U\2\2\u156f\u0332\3\2\2\2\u1570\u1571\7O\2\2\u1571") - buf.write("\u1572\7Q\2\2\u1572\u1573\7F\2\2\u1573\u1574\7G\2\2\u1574") - buf.write("\u0334\3\2\2\2\u1575\u1576\7O\2\2\u1576\u1577\7Q\2\2\u1577") - buf.write("\u1578\7F\2\2\u1578\u1579\7K\2\2\u1579\u157a\7H\2\2\u157a") - buf.write("\u157b\7[\2\2\u157b\u0336\3\2\2\2\u157c\u157d\7O\2\2\u157d") - buf.write("\u157e\7W\2\2\u157e\u157f\7V\2\2\u157f\u1580\7G\2\2\u1580") - buf.write("\u1581\7Z\2\2\u1581\u0338\3\2\2\2\u1582\u1583\7O\2\2\u1583") - buf.write("\u1584\7[\2\2\u1584\u1585\7U\2\2\u1585\u1586\7S\2\2\u1586") - buf.write("\u1587\7N\2\2\u1587\u033a\3\2\2\2\u1588\u1589\7P\2\2\u1589") - buf.write("\u158a\7C\2\2\u158a\u158b\7O\2\2\u158b\u158c\7G\2\2\u158c") - buf.write("\u033c\3\2\2\2\u158d\u158e\7P\2\2\u158e\u158f\7C\2\2\u158f") - buf.write("\u1590\7O\2\2\u1590\u1591\7G\2\2\u1591\u1592\7U\2\2\u1592") - buf.write("\u033e\3\2\2\2\u1593\u1594\7P\2\2\u1594\u1595\7E\2\2\u1595") - buf.write("\u1596\7J\2\2\u1596\u1597\7C\2\2\u1597\u1598\7T\2\2\u1598") - buf.write("\u0340\3\2\2\2\u1599\u159a\7P\2\2\u159a\u159b\7G\2\2\u159b") - buf.write("\u159c\7X\2\2\u159c\u159d\7G\2\2\u159d\u159e\7T\2\2\u159e") - buf.write("\u0342\3\2\2\2\u159f\u15a0\7P\2\2\u15a0\u15a1\7G\2\2\u15a1") - buf.write("\u15a2\7Z\2\2\u15a2\u15a3\7V\2\2\u15a3\u0344\3\2\2\2\u15a4") - buf.write("\u15a5\7P\2\2\u15a5\u15a6\7Q\2\2\u15a6\u0346\3\2\2\2\u15a7") - buf.write("\u15a8\7P\2\2\u15a8\u15a9\7Q\2\2\u15a9\u15aa\7F\2\2\u15aa") - buf.write("\u15ab\7G\2\2\u15ab\u15ac\7I\2\2\u15ac\u15ad\7T\2\2\u15ad") - buf.write("\u15ae\7Q\2\2\u15ae\u15af\7W\2\2\u15af\u15b0\7R\2\2\u15b0") - buf.write("\u0348\3\2\2\2\u15b1\u15b2\7P\2\2\u15b2\u15b3\7Q\2\2\u15b3") - buf.write("\u15b4\7P\2\2\u15b4\u15b5\7G\2\2\u15b5\u034a\3\2\2\2\u15b6") - buf.write("\u15b7\7Q\2\2\u15b7\u15b8\7H\2\2\u15b8\u15b9\7H\2\2\u15b9") - buf.write("\u15ba\7N\2\2\u15ba\u15bb\7K\2\2\u15bb\u15bc\7P\2\2\u15bc") - buf.write("\u15bd\7G\2\2\u15bd\u034c\3\2\2\2\u15be\u15bf\7Q\2\2\u15bf") - buf.write("\u15c0\7H\2\2\u15c0\u15c1\7H\2\2\u15c1\u15c2\7U\2\2\u15c2") - buf.write("\u15c3\7G\2\2\u15c3\u15c4\7V\2\2\u15c4\u034e\3\2\2\2\u15c5") - buf.write("\u15c6\7Q\2\2\u15c6\u15c7\7L\2\2\u15c7\u0350\3\2\2\2\u15c8") - buf.write("\u15c9\7Q\2\2\u15c9\u15ca\7N\2\2\u15ca\u15cb\7F\2\2\u15cb") - buf.write("\u15cc\7a\2\2\u15cc\u15cd\7R\2\2\u15cd\u15ce\7C\2\2\u15ce") - buf.write("\u15cf\7U\2\2\u15cf\u15d0\7U\2\2\u15d0\u15d1\7Y\2\2\u15d1") - buf.write("\u15d2\7Q\2\2\u15d2\u15d3\7T\2\2\u15d3\u15d4\7F\2\2\u15d4") - buf.write("\u0352\3\2\2\2\u15d5\u15d6\7Q\2\2\u15d6\u15d7\7P\2\2\u15d7") - buf.write("\u15d8\7G\2\2\u15d8\u0354\3\2\2\2\u15d9\u15da\7Q\2\2\u15da") - buf.write("\u15db\7P\2\2\u15db\u15dc\7N\2\2\u15dc\u15dd\7K\2\2\u15dd") - buf.write("\u15de\7P\2\2\u15de\u15df\7G\2\2\u15df\u0356\3\2\2\2\u15e0") - buf.write("\u15e1\7Q\2\2\u15e1\u15e2\7P\2\2\u15e2\u15e3\7N\2\2\u15e3") - buf.write("\u15e4\7[\2\2\u15e4\u0358\3\2\2\2\u15e5\u15e6\7Q\2\2\u15e6") - buf.write("\u15e7\7R\2\2\u15e7\u15e8\7G\2\2\u15e8\u15e9\7P\2\2\u15e9") - buf.write("\u035a\3\2\2\2\u15ea\u15eb\7Q\2\2\u15eb\u15ec\7R\2\2\u15ec") - buf.write("\u15ed\7V\2\2\u15ed\u15ee\7K\2\2\u15ee\u15ef\7O\2\2\u15ef") - buf.write("\u15f0\7K\2\2\u15f0\u15f1\7\\\2\2\u15f1\u15f2\7G\2\2\u15f2") - buf.write("\u15f3\7T\2\2\u15f3\u15f4\7a\2\2\u15f4\u15f5\7E\2\2\u15f5") - buf.write("\u15f6\7Q\2\2\u15f6\u15f7\7U\2\2\u15f7\u15f8\7V\2\2\u15f8") - buf.write("\u15f9\7U\2\2\u15f9\u035c\3\2\2\2\u15fa\u15fb\7Q\2\2\u15fb") - buf.write("\u15fc\7R\2\2\u15fc\u15fd\7V\2\2\u15fd\u15fe\7K\2\2\u15fe") - buf.write("\u15ff\7Q\2\2\u15ff\u1600\7P\2\2\u1600\u1601\7U\2\2\u1601") - buf.write("\u035e\3\2\2\2\u1602\u1603\7Q\2\2\u1603\u1604\7Y\2\2\u1604") - buf.write("\u1605\7P\2\2\u1605\u1606\7G\2\2\u1606\u1607\7T\2\2\u1607") - buf.write("\u0360\3\2\2\2\u1608\u1609\7R\2\2\u1609\u160a\7C\2\2\u160a") - buf.write("\u160b\7E\2\2\u160b\u160c\7M\2\2\u160c\u160d\7a\2\2\u160d") - buf.write("\u160e\7M\2\2\u160e\u160f\7G\2\2\u160f\u1610\7[\2\2\u1610") - buf.write("\u1611\7U\2\2\u1611\u0362\3\2\2\2\u1612\u1613\7R\2\2\u1613") - buf.write("\u1614\7C\2\2\u1614\u1615\7I\2\2\u1615\u1616\7G\2\2\u1616") - buf.write("\u0364\3\2\2\2\u1617\u1618\7R\2\2\u1618\u1619\7C\2\2\u1619") - buf.write("\u161a\7T\2\2\u161a\u161b\7U\2\2\u161b\u161c\7G\2\2\u161c") - buf.write("\u161d\7T\2\2\u161d\u0366\3\2\2\2\u161e\u161f\7R\2\2\u161f") - buf.write("\u1620\7C\2\2\u1620\u1621\7T\2\2\u1621\u1622\7V\2\2\u1622") - buf.write("\u1623\7K\2\2\u1623\u1624\7C\2\2\u1624\u1625\7N\2\2\u1625") - buf.write("\u0368\3\2\2\2\u1626\u1627\7R\2\2\u1627\u1628\7C\2\2\u1628") - buf.write("\u1629\7T\2\2\u1629\u162a\7V\2\2\u162a\u162b\7K\2\2\u162b") - buf.write("\u162c\7V\2\2\u162c\u162d\7K\2\2\u162d\u162e\7Q\2\2\u162e") - buf.write("\u162f\7P\2\2\u162f\u1630\7K\2\2\u1630\u1631\7P\2\2\u1631") - buf.write("\u1632\7I\2\2\u1632\u036a\3\2\2\2\u1633\u1634\7R\2\2\u1634") - buf.write("\u1635\7C\2\2\u1635\u1636\7T\2\2\u1636\u1637\7V\2\2\u1637") - buf.write("\u1638\7K\2\2\u1638\u1639\7V\2\2\u1639\u163a\7K\2\2\u163a") - buf.write("\u163b\7Q\2\2\u163b\u163c\7P\2\2\u163c\u163d\7U\2\2\u163d") - buf.write("\u036c\3\2\2\2\u163e\u163f\7R\2\2\u163f\u1640\7C\2\2\u1640") - buf.write("\u1641\7U\2\2\u1641\u1642\7U\2\2\u1642\u1643\7Y\2\2\u1643") - buf.write("\u1644\7Q\2\2\u1644\u1645\7T\2\2\u1645\u1646\7F\2\2\u1646") - buf.write("\u036e\3\2\2\2\u1647\u1648\7R\2\2\u1648\u1649\7J\2\2\u1649") - buf.write("\u164a\7C\2\2\u164a\u164b\7U\2\2\u164b\u164c\7G\2\2\u164c") - buf.write("\u0370\3\2\2\2\u164d\u164e\7R\2\2\u164e\u164f\7N\2\2\u164f") - buf.write("\u1650\7W\2\2\u1650\u1651\7I\2\2\u1651\u1652\7K\2\2\u1652") - buf.write("\u1653\7P\2\2\u1653\u0372\3\2\2\2\u1654\u1655\7R\2\2\u1655") - buf.write("\u1656\7N\2\2\u1656\u1657\7W\2\2\u1657\u1658\7I\2\2\u1658") - buf.write("\u1659\7K\2\2\u1659\u165a\7P\2\2\u165a\u165b\7a\2\2\u165b") - buf.write("\u165c\7F\2\2\u165c\u165d\7K\2\2\u165d\u165e\7T\2\2\u165e") - buf.write("\u0374\3\2\2\2\u165f\u1660\7R\2\2\u1660\u1661\7N\2\2\u1661") - buf.write("\u1662\7W\2\2\u1662\u1663\7I\2\2\u1663\u1664\7K\2\2\u1664") - buf.write("\u1665\7P\2\2\u1665\u1666\7U\2\2\u1666\u0376\3\2\2\2\u1667") - buf.write("\u1668\7R\2\2\u1668\u1669\7Q\2\2\u1669\u166a\7T\2\2\u166a") - buf.write("\u166b\7V\2\2\u166b\u0378\3\2\2\2\u166c\u166d\7R\2\2\u166d") - buf.write("\u166e\7T\2\2\u166e\u166f\7G\2\2\u166f\u1670\7E\2\2\u1670") - buf.write("\u1671\7G\2\2\u1671\u1672\7F\2\2\u1672\u1673\7G\2\2\u1673") - buf.write("\u1674\7U\2\2\u1674\u037a\3\2\2\2\u1675\u1676\7R\2\2\u1676") - buf.write("\u1677\7T\2\2\u1677\u1678\7G\2\2\u1678\u1679\7R\2\2\u1679") - buf.write("\u167a\7C\2\2\u167a\u167b\7T\2\2\u167b\u167c\7G\2\2\u167c") - buf.write("\u037c\3\2\2\2\u167d\u167e\7R\2\2\u167e\u167f\7T\2\2\u167f") - buf.write("\u1680\7G\2\2\u1680\u1681\7U\2\2\u1681\u1682\7G\2\2\u1682") - buf.write("\u1683\7T\2\2\u1683\u1684\7X\2\2\u1684\u1685\7G\2\2\u1685") - buf.write("\u037e\3\2\2\2\u1686\u1687\7R\2\2\u1687\u1688\7T\2\2\u1688") - buf.write("\u1689\7G\2\2\u1689\u168a\7X\2\2\u168a\u0380\3\2\2\2\u168b") - buf.write("\u168c\7R\2\2\u168c\u168d\7T\2\2\u168d\u168e\7Q\2\2\u168e") - buf.write("\u168f\7E\2\2\u168f\u1690\7G\2\2\u1690\u1691\7U\2\2\u1691") - buf.write("\u1692\7U\2\2\u1692\u1693\7N\2\2\u1693\u1694\7K\2\2\u1694") - buf.write("\u1695\7U\2\2\u1695\u1696\7V\2\2\u1696\u0382\3\2\2\2\u1697") - buf.write("\u1698\7R\2\2\u1698\u1699\7T\2\2\u1699\u169a\7Q\2\2\u169a") - buf.write("\u169b\7H\2\2\u169b\u169c\7K\2\2\u169c\u169d\7N\2\2\u169d") - buf.write("\u169e\7G\2\2\u169e\u0384\3\2\2\2\u169f\u16a0\7R\2\2\u16a0") - buf.write("\u16a1\7T\2\2\u16a1\u16a2\7Q\2\2\u16a2\u16a3\7H\2\2\u16a3") - buf.write("\u16a4\7K\2\2\u16a4\u16a5\7N\2\2\u16a5\u16a6\7G\2\2\u16a6") - buf.write("\u16a7\7U\2\2\u16a7\u0386\3\2\2\2\u16a8\u16a9\7R\2\2\u16a9") - buf.write("\u16aa\7T\2\2\u16aa\u16ab\7Q\2\2\u16ab\u16ac\7Z\2\2\u16ac") - buf.write("\u16ad\7[\2\2\u16ad\u0388\3\2\2\2\u16ae\u16af\7S\2\2\u16af") - buf.write("\u16b0\7W\2\2\u16b0\u16b1\7G\2\2\u16b1\u16b2\7T\2\2\u16b2") - buf.write("\u16b3\7[\2\2\u16b3\u038a\3\2\2\2\u16b4\u16b5\7S\2\2\u16b5") - buf.write("\u16b6\7W\2\2\u16b6\u16b7\7K\2\2\u16b7\u16b8\7E\2\2\u16b8") - buf.write("\u16b9\7M\2\2\u16b9\u038c\3\2\2\2\u16ba\u16bb\7T\2\2\u16bb") - buf.write("\u16bc\7G\2\2\u16bc\u16bd\7D\2\2\u16bd\u16be\7W\2\2\u16be") - buf.write("\u16bf\7K\2\2\u16bf\u16c0\7N\2\2\u16c0\u16c1\7F\2\2\u16c1") - buf.write("\u038e\3\2\2\2\u16c2\u16c3\7T\2\2\u16c3\u16c4\7G\2\2\u16c4") - buf.write("\u16c5\7E\2\2\u16c5\u16c6\7Q\2\2\u16c6\u16c7\7X\2\2\u16c7") - buf.write("\u16c8\7G\2\2\u16c8\u16c9\7T\2\2\u16c9\u0390\3\2\2\2\u16ca") - buf.write("\u16cb\7T\2\2\u16cb\u16cc\7G\2\2\u16cc\u16cd\7F\2\2\u16cd") - buf.write("\u16ce\7Q\2\2\u16ce\u16cf\7a\2\2\u16cf\u16d0\7D\2\2\u16d0") - buf.write("\u16d1\7W\2\2\u16d1\u16d2\7H\2\2\u16d2\u16d3\7H\2\2\u16d3") - buf.write("\u16d4\7G\2\2\u16d4\u16d5\7T\2\2\u16d5\u16d6\7a\2\2\u16d6") - buf.write("\u16d7\7U\2\2\u16d7\u16d8\7K\2\2\u16d8\u16d9\7\\\2\2\u16d9") - buf.write("\u16da\7G\2\2\u16da\u0392\3\2\2\2\u16db\u16dc\7T\2\2\u16dc") - buf.write("\u16dd\7G\2\2\u16dd\u16de\7F\2\2\u16de\u16df\7W\2\2\u16df") - buf.write("\u16e0\7P\2\2\u16e0\u16e1\7F\2\2\u16e1\u16e2\7C\2\2\u16e2") - buf.write("\u16e3\7P\2\2\u16e3\u16e4\7V\2\2\u16e4\u0394\3\2\2\2\u16e5") - buf.write("\u16e6\7T\2\2\u16e6\u16e7\7G\2\2\u16e7\u16e8\7N\2\2\u16e8") - buf.write("\u16e9\7C\2\2\u16e9\u16ea\7[\2\2\u16ea\u0396\3\2\2\2\u16eb") - buf.write("\u16ec\7T\2\2\u16ec\u16ed\7G\2\2\u16ed\u16ee\7N\2\2\u16ee") - buf.write("\u16ef\7C\2\2\u16ef\u16f0\7[\2\2\u16f0\u16f1\7a\2\2\u16f1") - buf.write("\u16f2\7N\2\2\u16f2\u16f3\7Q\2\2\u16f3\u16f4\7I\2\2\u16f4") - buf.write("\u16f5\7a\2\2\u16f5\u16f6\7H\2\2\u16f6\u16f7\7K\2\2\u16f7") - buf.write("\u16f8\7N\2\2\u16f8\u16f9\7G\2\2\u16f9\u0398\3\2\2\2\u16fa") - buf.write("\u16fb\7T\2\2\u16fb\u16fc\7G\2\2\u16fc\u16fd\7N\2\2\u16fd") - buf.write("\u16fe\7C\2\2\u16fe\u16ff\7[\2\2\u16ff\u1700\7a\2\2\u1700") - buf.write("\u1701\7N\2\2\u1701\u1702\7Q\2\2\u1702\u1703\7I\2\2\u1703") - buf.write("\u1704\7a\2\2\u1704\u1705\7R\2\2\u1705\u1706\7Q\2\2\u1706") - buf.write("\u1707\7U\2\2\u1707\u039a\3\2\2\2\u1708\u1709\7T\2\2\u1709") - buf.write("\u170a\7G\2\2\u170a\u170b\7N\2\2\u170b\u170c\7C\2\2\u170c") - buf.write("\u170d\7[\2\2\u170d\u170e\7N\2\2\u170e\u170f\7Q\2\2\u170f") - buf.write("\u1710\7I\2\2\u1710\u039c\3\2\2\2\u1711\u1712\7T\2\2\u1712") - buf.write("\u1713\7G\2\2\u1713\u1714\7O\2\2\u1714\u1715\7Q\2\2\u1715") - buf.write("\u1716\7X\2\2\u1716\u1717\7G\2\2\u1717\u039e\3\2\2\2\u1718") - buf.write("\u1719\7T\2\2\u1719\u171a\7G\2\2\u171a\u171b\7Q\2\2\u171b") - buf.write("\u171c\7T\2\2\u171c\u171d\7I\2\2\u171d\u171e\7C\2\2\u171e") - buf.write("\u171f\7P\2\2\u171f\u1720\7K\2\2\u1720\u1721\7\\\2\2\u1721") - buf.write("\u1722\7G\2\2\u1722\u03a0\3\2\2\2\u1723\u1724\7T\2\2\u1724") - buf.write("\u1725\7G\2\2\u1725\u1726\7R\2\2\u1726\u1727\7C\2\2\u1727") - buf.write("\u1728\7K\2\2\u1728\u1729\7T\2\2\u1729\u03a2\3\2\2\2\u172a") - buf.write("\u172b\7T\2\2\u172b\u172c\7G\2\2\u172c\u172d\7R\2\2\u172d") - buf.write("\u172e\7N\2\2\u172e\u172f\7K\2\2\u172f\u1730\7E\2\2\u1730") - buf.write("\u1731\7C\2\2\u1731\u1732\7V\2\2\u1732\u1733\7G\2\2\u1733") - buf.write("\u1734\7a\2\2\u1734\u1735\7F\2\2\u1735\u1736\7Q\2\2\u1736") - buf.write("\u1737\7a\2\2\u1737\u1738\7F\2\2\u1738\u1739\7D\2\2\u1739") - buf.write("\u03a4\3\2\2\2\u173a\u173b\7T\2\2\u173b\u173c\7G\2\2\u173c") - buf.write("\u173d\7R\2\2\u173d\u173e\7N\2\2\u173e\u173f\7K\2\2\u173f") - buf.write("\u1740\7E\2\2\u1740\u1741\7C\2\2\u1741\u1742\7V\2\2\u1742") - buf.write("\u1743\7G\2\2\u1743\u1744\7a\2\2\u1744\u1745\7F\2\2\u1745") - buf.write("\u1746\7Q\2\2\u1746\u1747\7a\2\2\u1747\u1748\7V\2\2\u1748") - buf.write("\u1749\7C\2\2\u1749\u174a\7D\2\2\u174a\u174b\7N\2\2\u174b") - buf.write("\u174c\7G\2\2\u174c\u03a6\3\2\2\2\u174d\u174e\7T\2\2\u174e") - buf.write("\u174f\7G\2\2\u174f\u1750\7R\2\2\u1750\u1751\7N\2\2\u1751") - buf.write("\u1752\7K\2\2\u1752\u1753\7E\2\2\u1753\u1754\7C\2\2\u1754") - buf.write("\u1755\7V\2\2\u1755\u1756\7G\2\2\u1756\u1757\7a\2\2\u1757") - buf.write("\u1758\7K\2\2\u1758\u1759\7I\2\2\u1759\u175a\7P\2\2\u175a") - buf.write("\u175b\7Q\2\2\u175b\u175c\7T\2\2\u175c\u175d\7G\2\2\u175d") - buf.write("\u175e\7a\2\2\u175e\u175f\7F\2\2\u175f\u1760\7D\2\2\u1760") - buf.write("\u03a8\3\2\2\2\u1761\u1762\7T\2\2\u1762\u1763\7G\2\2\u1763") - buf.write("\u1764\7R\2\2\u1764\u1765\7N\2\2\u1765\u1766\7K\2\2\u1766") - buf.write("\u1767\7E\2\2\u1767\u1768\7C\2\2\u1768\u1769\7V\2\2\u1769") - buf.write("\u176a\7G\2\2\u176a\u176b\7a\2\2\u176b\u176c\7K\2\2\u176c") - buf.write("\u176d\7I\2\2\u176d\u176e\7P\2\2\u176e\u176f\7Q\2\2\u176f") - buf.write("\u1770\7T\2\2\u1770\u1771\7G\2\2\u1771\u1772\7a\2\2\u1772") - buf.write("\u1773\7V\2\2\u1773\u1774\7C\2\2\u1774\u1775\7D\2\2\u1775") - buf.write("\u1776\7N\2\2\u1776\u1777\7G\2\2\u1777\u03aa\3\2\2\2\u1778") - buf.write("\u1779\7T\2\2\u1779\u177a\7G\2\2\u177a\u177b\7R\2\2\u177b") - buf.write("\u177c\7N\2\2\u177c\u177d\7K\2\2\u177d\u177e\7E\2\2\u177e") - buf.write("\u177f\7C\2\2\u177f\u1780\7V\2\2\u1780\u1781\7G\2\2\u1781") - buf.write("\u1782\7a\2\2\u1782\u1783\7T\2\2\u1783\u1784\7G\2\2\u1784") - buf.write("\u1785\7Y\2\2\u1785\u1786\7T\2\2\u1786\u1787\7K\2\2\u1787") - buf.write("\u1788\7V\2\2\u1788\u1789\7G\2\2\u1789\u178a\7a\2\2\u178a") - buf.write("\u178b\7F\2\2\u178b\u178c\7D\2\2\u178c\u03ac\3\2\2\2\u178d") - buf.write("\u178e\7T\2\2\u178e\u178f\7G\2\2\u178f\u1790\7R\2\2\u1790") - buf.write("\u1791\7N\2\2\u1791\u1792\7K\2\2\u1792\u1793\7E\2\2\u1793") - buf.write("\u1794\7C\2\2\u1794\u1795\7V\2\2\u1795\u1796\7G\2\2\u1796") - buf.write("\u1797\7a\2\2\u1797\u1798\7Y\2\2\u1798\u1799\7K\2\2\u1799") - buf.write("\u179a\7N\2\2\u179a\u179b\7F\2\2\u179b\u179c\7a\2\2\u179c") - buf.write("\u179d\7F\2\2\u179d\u179e\7Q\2\2\u179e\u179f\7a\2\2\u179f") - buf.write("\u17a0\7V\2\2\u17a0\u17a1\7C\2\2\u17a1\u17a2\7D\2\2\u17a2") - buf.write("\u17a3\7N\2\2\u17a3\u17a4\7G\2\2\u17a4\u03ae\3\2\2\2\u17a5") - buf.write("\u17a6\7T\2\2\u17a6\u17a7\7G\2\2\u17a7\u17a8\7R\2\2\u17a8") - buf.write("\u17a9\7N\2\2\u17a9\u17aa\7K\2\2\u17aa\u17ab\7E\2\2\u17ab") - buf.write("\u17ac\7C\2\2\u17ac\u17ad\7V\2\2\u17ad\u17ae\7G\2\2\u17ae") - buf.write("\u17af\7a\2\2\u17af\u17b0\7Y\2\2\u17b0\u17b1\7K\2\2\u17b1") - buf.write("\u17b2\7N\2\2\u17b2\u17b3\7F\2\2\u17b3\u17b4\7a\2\2\u17b4") - buf.write("\u17b5\7K\2\2\u17b5\u17b6\7I\2\2\u17b6\u17b7\7P\2\2\u17b7") - buf.write("\u17b8\7Q\2\2\u17b8\u17b9\7T\2\2\u17b9\u17ba\7G\2\2\u17ba") - buf.write("\u17bb\7a\2\2\u17bb\u17bc\7V\2\2\u17bc\u17bd\7C\2\2\u17bd") - buf.write("\u17be\7D\2\2\u17be\u17bf\7N\2\2\u17bf\u17c0\7G\2\2\u17c0") - buf.write("\u03b0\3\2\2\2\u17c1\u17c2\7T\2\2\u17c2\u17c3\7G\2\2\u17c3") - buf.write("\u17c4\7R\2\2\u17c4\u17c5\7N\2\2\u17c5\u17c6\7K\2\2\u17c6") - buf.write("\u17c7\7E\2\2\u17c7\u17c8\7C\2\2\u17c8\u17c9\7V\2\2\u17c9") - buf.write("\u17ca\7K\2\2\u17ca\u17cb\7Q\2\2\u17cb\u17cc\7P\2\2\u17cc") - buf.write("\u03b2\3\2\2\2\u17cd\u17ce\7T\2\2\u17ce\u17cf\7G\2\2\u17cf") - buf.write("\u17d0\7U\2\2\u17d0\u17d1\7G\2\2\u17d1\u17d2\7V\2\2\u17d2") - buf.write("\u03b4\3\2\2\2\u17d3\u17d4\7T\2\2\u17d4\u17d5\7G\2\2\u17d5") - buf.write("\u17d6\7U\2\2\u17d6\u17d7\7W\2\2\u17d7\u17d8\7O\2\2\u17d8") - buf.write("\u17d9\7G\2\2\u17d9\u03b6\3\2\2\2\u17da\u17db\7T\2\2\u17db") - buf.write("\u17dc\7G\2\2\u17dc\u17dd\7V\2\2\u17dd\u17de\7W\2\2\u17de") - buf.write("\u17df\7T\2\2\u17df\u17e0\7P\2\2\u17e0\u17e1\7U\2\2\u17e1") - buf.write("\u03b8\3\2\2\2\u17e2\u17e3\7T\2\2\u17e3\u17e4\7Q\2\2\u17e4") - buf.write("\u17e5\7N\2\2\u17e5\u17e6\7N\2\2\u17e6\u17e7\7D\2\2\u17e7") - buf.write("\u17e8\7C\2\2\u17e8\u17e9\7E\2\2\u17e9\u17ea\7M\2\2\u17ea") - buf.write("\u03ba\3\2\2\2\u17eb\u17ec\7T\2\2\u17ec\u17ed\7Q\2\2\u17ed") - buf.write("\u17ee\7N\2\2\u17ee\u17ef\7N\2\2\u17ef\u17f0\7W\2\2\u17f0") - buf.write("\u17f1\7R\2\2\u17f1\u03bc\3\2\2\2\u17f2\u17f3\7T\2\2\u17f3") - buf.write("\u17f4\7Q\2\2\u17f4\u17f5\7V\2\2\u17f5\u17f6\7C\2\2\u17f6") - buf.write("\u17f7\7V\2\2\u17f7\u17f8\7G\2\2\u17f8\u03be\3\2\2\2\u17f9") - buf.write("\u17fa\7T\2\2\u17fa\u17fb\7Q\2\2\u17fb\u17fc\7Y\2\2\u17fc") - buf.write("\u03c0\3\2\2\2\u17fd\u17fe\7T\2\2\u17fe\u17ff\7Q\2\2\u17ff") - buf.write("\u1800\7Y\2\2\u1800\u1801\7U\2\2\u1801\u03c2\3\2\2\2\u1802") - buf.write("\u1803\7T\2\2\u1803\u1804\7Q\2\2\u1804\u1805\7Y\2\2\u1805") - buf.write("\u1806\7a\2\2\u1806\u1807\7H\2\2\u1807\u1808\7Q\2\2\u1808") - buf.write("\u1809\7T\2\2\u1809\u180a\7O\2\2\u180a\u180b\7C\2\2\u180b") - buf.write("\u180c\7V\2\2\u180c\u03c4\3\2\2\2\u180d\u180e\7U\2\2\u180e") - buf.write("\u180f\7C\2\2\u180f\u1810\7X\2\2\u1810\u1811\7G\2\2\u1811") - buf.write("\u1812\7R\2\2\u1812\u1813\7Q\2\2\u1813\u1814\7K\2\2\u1814") - buf.write("\u1815\7P\2\2\u1815\u1816\7V\2\2\u1816\u03c6\3\2\2\2\u1817") - buf.write("\u1818\7U\2\2\u1818\u1819\7E\2\2\u1819\u181a\7J\2\2\u181a") - buf.write("\u181b\7G\2\2\u181b\u181c\7F\2\2\u181c\u181d\7W\2\2\u181d") - buf.write("\u181e\7N\2\2\u181e\u181f\7G\2\2\u181f\u03c8\3\2\2\2\u1820") - buf.write("\u1821\7U\2\2\u1821\u1822\7G\2\2\u1822\u1823\7E\2\2\u1823") - buf.write("\u1824\7W\2\2\u1824\u1825\7T\2\2\u1825\u1826\7K\2\2\u1826") - buf.write("\u1827\7V\2\2\u1827\u1828\7[\2\2\u1828\u03ca\3\2\2\2\u1829") - buf.write("\u182a\7U\2\2\u182a\u182b\7G\2\2\u182b\u182c\7T\2\2\u182c") - buf.write("\u182d\7X\2\2\u182d\u182e\7G\2\2\u182e\u182f\7T\2\2\u182f") - buf.write("\u03cc\3\2\2\2\u1830\u1831\7U\2\2\u1831\u1832\7G\2\2\u1832") - buf.write("\u1833\7U\2\2\u1833\u1834\7U\2\2\u1834\u1835\7K\2\2\u1835") - buf.write("\u1836\7Q\2\2\u1836\u1837\7P\2\2\u1837\u03ce\3\2\2\2\u1838") - buf.write("\u1839\7U\2\2\u1839\u183a\7J\2\2\u183a\u183b\7C\2\2\u183b") - buf.write("\u183c\7T\2\2\u183c\u183d\7G\2\2\u183d\u03d0\3\2\2\2\u183e") - buf.write("\u183f\7U\2\2\u183f\u1840\7J\2\2\u1840\u1841\7C\2\2\u1841") - buf.write("\u1842\7T\2\2\u1842\u1843\7G\2\2\u1843\u1844\7F\2\2\u1844") - buf.write("\u03d2\3\2\2\2\u1845\u1846\7U\2\2\u1846\u1847\7K\2\2\u1847") - buf.write("\u1848\7I\2\2\u1848\u1849\7P\2\2\u1849\u184a\7G\2\2\u184a") - buf.write("\u184b\7F\2\2\u184b\u03d4\3\2\2\2\u184c\u184d\7U\2\2\u184d") - buf.write("\u184e\7K\2\2\u184e\u184f\7O\2\2\u184f\u1850\7R\2\2\u1850") - buf.write("\u1851\7N\2\2\u1851\u1852\7G\2\2\u1852\u03d6\3\2\2\2\u1853") - buf.write("\u1854\7U\2\2\u1854\u1855\7N\2\2\u1855\u1856\7C\2\2\u1856") - buf.write("\u1857\7X\2\2\u1857\u1858\7G\2\2\u1858\u03d8\3\2\2\2\u1859") - buf.write("\u185a\7U\2\2\u185a\u185b\7N\2\2\u185b\u185c\7Q\2\2\u185c") - buf.write("\u185d\7Y\2\2\u185d\u03da\3\2\2\2\u185e\u185f\7U\2\2\u185f") - buf.write("\u1860\7P\2\2\u1860\u1861\7C\2\2\u1861\u1862\7R\2\2\u1862") - buf.write("\u1863\7U\2\2\u1863\u1864\7J\2\2\u1864\u1865\7Q\2\2\u1865") - buf.write("\u1866\7V\2\2\u1866\u03dc\3\2\2\2\u1867\u1868\7U\2\2\u1868") - buf.write("\u1869\7Q\2\2\u1869\u186a\7E\2\2\u186a\u186b\7M\2\2\u186b") - buf.write("\u186c\7G\2\2\u186c\u186d\7V\2\2\u186d\u03de\3\2\2\2\u186e") - buf.write("\u186f\7U\2\2\u186f\u1870\7Q\2\2\u1870\u1871\7O\2\2\u1871") - buf.write("\u1872\7G\2\2\u1872\u03e0\3\2\2\2\u1873\u1874\7U\2\2\u1874") - buf.write("\u1875\7Q\2\2\u1875\u1876\7P\2\2\u1876\u1877\7C\2\2\u1877") - buf.write("\u1878\7O\2\2\u1878\u1879\7G\2\2\u1879\u03e2\3\2\2\2\u187a") - buf.write("\u187b\7U\2\2\u187b\u187c\7Q\2\2\u187c\u187d\7W\2\2\u187d") - buf.write("\u187e\7P\2\2\u187e\u187f\7F\2\2\u187f\u1880\7U\2\2\u1880") - buf.write("\u03e4\3\2\2\2\u1881\u1882\7U\2\2\u1882\u1883\7Q\2\2\u1883") - buf.write("\u1884\7W\2\2\u1884\u1885\7T\2\2\u1885\u1886\7E\2\2\u1886") - buf.write("\u1887\7G\2\2\u1887\u03e6\3\2\2\2\u1888\u1889\7U\2\2\u1889") - buf.write("\u188a\7S\2\2\u188a\u188b\7N\2\2\u188b\u188c\7a\2\2\u188c") - buf.write("\u188d\7C\2\2\u188d\u188e\7H\2\2\u188e\u188f\7V\2\2\u188f") - buf.write("\u1890\7G\2\2\u1890\u1891\7T\2\2\u1891\u1892\7a\2\2\u1892") - buf.write("\u1893\7I\2\2\u1893\u1894\7V\2\2\u1894\u1895\7K\2\2\u1895") - buf.write("\u1896\7F\2\2\u1896\u1897\7U\2\2\u1897\u03e8\3\2\2\2\u1898") - buf.write("\u1899\7U\2\2\u1899\u189a\7S\2\2\u189a\u189b\7N\2\2\u189b") - buf.write("\u189c\7a\2\2\u189c\u189d\7C\2\2\u189d\u189e\7H\2\2\u189e") - buf.write("\u189f\7V\2\2\u189f\u18a0\7G\2\2\u18a0\u18a1\7T\2\2\u18a1") - buf.write("\u18a2\7a\2\2\u18a2\u18a3\7O\2\2\u18a3\u18a4\7V\2\2\u18a4") - buf.write("\u18a5\7U\2\2\u18a5\u18a6\7a\2\2\u18a6\u18a7\7I\2\2\u18a7") - buf.write("\u18a8\7C\2\2\u18a8\u18a9\7R\2\2\u18a9\u18aa\7U\2\2\u18aa") - buf.write("\u03ea\3\2\2\2\u18ab\u18ac\7U\2\2\u18ac\u18ad\7S\2\2\u18ad") - buf.write("\u18ae\7N\2\2\u18ae\u18af\7a\2\2\u18af\u18b0\7D\2\2\u18b0") - buf.write("\u18b1\7G\2\2\u18b1\u18b2\7H\2\2\u18b2\u18b3\7Q\2\2\u18b3") - buf.write("\u18b4\7T\2\2\u18b4\u18b5\7G\2\2\u18b5\u18b6\7a\2\2\u18b6") - buf.write("\u18b7\7I\2\2\u18b7\u18b8\7V\2\2\u18b8\u18b9\7K\2\2\u18b9") - buf.write("\u18ba\7F\2\2\u18ba\u18bb\7U\2\2\u18bb\u03ec\3\2\2\2\u18bc") - buf.write("\u18bd\7U\2\2\u18bd\u18be\7S\2\2\u18be\u18bf\7N\2\2\u18bf") - buf.write("\u18c0\7a\2\2\u18c0\u18c1\7D\2\2\u18c1\u18c2\7W\2\2\u18c2") - buf.write("\u18c3\7H\2\2\u18c3\u18c4\7H\2\2\u18c4\u18c5\7G\2\2\u18c5") - buf.write("\u18c6\7T\2\2\u18c6\u18c7\7a\2\2\u18c7\u18c8\7T\2\2\u18c8") - buf.write("\u18c9\7G\2\2\u18c9\u18ca\7U\2\2\u18ca\u18cb\7W\2\2\u18cb") - buf.write("\u18cc\7N\2\2\u18cc\u18cd\7V\2\2\u18cd\u03ee\3\2\2\2\u18ce") - buf.write("\u18cf\7U\2\2\u18cf\u18d0\7S\2\2\u18d0\u18d1\7N\2\2\u18d1") - buf.write("\u18d2\7a\2\2\u18d2\u18d3\7E\2\2\u18d3\u18d4\7C\2\2\u18d4") - buf.write("\u18d5\7E\2\2\u18d5\u18d6\7J\2\2\u18d6\u18d7\7G\2\2\u18d7") - buf.write("\u03f0\3\2\2\2\u18d8\u18d9\7U\2\2\u18d9\u18da\7S\2\2\u18da") - buf.write("\u18db\7N\2\2\u18db\u18dc\7a\2\2\u18dc\u18dd\7P\2\2\u18dd") - buf.write("\u18de\7Q\2\2\u18de\u18df\7a\2\2\u18df\u18e0\7E\2\2\u18e0") - buf.write("\u18e1\7C\2\2\u18e1\u18e2\7E\2\2\u18e2\u18e3\7J\2\2\u18e3") - buf.write("\u18e4\7G\2\2\u18e4\u03f2\3\2\2\2\u18e5\u18e6\7U\2\2\u18e6") - buf.write("\u18e7\7S\2\2\u18e7\u18e8\7N\2\2\u18e8\u18e9\7a\2\2\u18e9") - buf.write("\u18ea\7V\2\2\u18ea\u18eb\7J\2\2\u18eb\u18ec\7T\2\2\u18ec") - buf.write("\u18ed\7G\2\2\u18ed\u18ee\7C\2\2\u18ee\u18ef\7F\2\2\u18ef") - buf.write("\u03f4\3\2\2\2\u18f0\u18f1\7U\2\2\u18f1\u18f2\7V\2\2\u18f2") - buf.write("\u18f3\7C\2\2\u18f3\u18f4\7T\2\2\u18f4\u18f5\7V\2\2\u18f5") - buf.write("\u03f6\3\2\2\2\u18f6\u18f7\7U\2\2\u18f7\u18f8\7V\2\2\u18f8") - buf.write("\u18f9\7C\2\2\u18f9\u18fa\7T\2\2\u18fa\u18fb\7V\2\2\u18fb") - buf.write("\u18fc\7U\2\2\u18fc\u03f8\3\2\2\2\u18fd\u18fe\7U\2\2\u18fe") - buf.write("\u18ff\7V\2\2\u18ff\u1900\7C\2\2\u1900\u1901\7V\2\2\u1901") - buf.write("\u1902\7U\2\2\u1902\u1903\7a\2\2\u1903\u1904\7C\2\2\u1904") - buf.write("\u1905\7W\2\2\u1905\u1906\7V\2\2\u1906\u1907\7Q\2\2\u1907") - buf.write("\u1908\7a\2\2\u1908\u1909\7T\2\2\u1909\u190a\7G\2\2\u190a") - buf.write("\u190b\7E\2\2\u190b\u190c\7C\2\2\u190c\u190d\7N\2\2\u190d") - buf.write("\u190e\7E\2\2\u190e\u03fa\3\2\2\2\u190f\u1910\7U\2\2\u1910") - buf.write("\u1911\7V\2\2\u1911\u1912\7C\2\2\u1912\u1913\7V\2\2\u1913") - buf.write("\u1914\7U\2\2\u1914\u1915\7a\2\2\u1915\u1916\7R\2\2\u1916") - buf.write("\u1917\7G\2\2\u1917\u1918\7T\2\2\u1918\u1919\7U\2\2\u1919") - buf.write("\u191a\7K\2\2\u191a\u191b\7U\2\2\u191b\u191c\7V\2\2\u191c") - buf.write("\u191d\7G\2\2\u191d\u191e\7P\2\2\u191e\u191f\7V\2\2\u191f") - buf.write("\u03fc\3\2\2\2\u1920\u1921\7U\2\2\u1921\u1922\7V\2\2\u1922") - buf.write("\u1923\7C\2\2\u1923\u1924\7V\2\2\u1924\u1925\7U\2\2\u1925") - buf.write("\u1926\7a\2\2\u1926\u1927\7U\2\2\u1927\u1928\7C\2\2\u1928") - buf.write("\u1929\7O\2\2\u1929\u192a\7R\2\2\u192a\u192b\7N\2\2\u192b") - buf.write("\u192c\7G\2\2\u192c\u192d\7a\2\2\u192d\u192e\7R\2\2\u192e") - buf.write("\u192f\7C\2\2\u192f\u1930\7I\2\2\u1930\u1931\7G\2\2\u1931") - buf.write("\u1932\7U\2\2\u1932\u03fe\3\2\2\2\u1933\u1934\7U\2\2\u1934") - buf.write("\u1935\7V\2\2\u1935\u1936\7C\2\2\u1936\u1937\7V\2\2\u1937") - buf.write("\u1938\7W\2\2\u1938\u1939\7U\2\2\u1939\u0400\3\2\2\2\u193a") - buf.write("\u193b\7U\2\2\u193b\u193c\7V\2\2\u193c\u193d\7Q\2\2\u193d") - buf.write("\u193e\7R\2\2\u193e\u0402\3\2\2\2\u193f\u1940\7U\2\2\u1940") - buf.write("\u1941\7V\2\2\u1941\u1942\7Q\2\2\u1942\u1943\7T\2\2\u1943") - buf.write("\u1944\7C\2\2\u1944\u1945\7I\2\2\u1945\u1946\7G\2\2\u1946") - buf.write("\u0404\3\2\2\2\u1947\u1948\7U\2\2\u1948\u1949\7V\2\2\u1949") - buf.write("\u194a\7Q\2\2\u194a\u194b\7T\2\2\u194b\u194c\7G\2\2\u194c") - buf.write("\u194d\7F\2\2\u194d\u0406\3\2\2\2\u194e\u194f\7U\2\2\u194f") - buf.write("\u1950\7V\2\2\u1950\u1951\7T\2\2\u1951\u1952\7K\2\2\u1952") - buf.write("\u1953\7P\2\2\u1953\u1954\7I\2\2\u1954\u0408\3\2\2\2\u1955") - buf.write("\u1956\7U\2\2\u1956\u1957\7W\2\2\u1957\u1958\7D\2\2\u1958") - buf.write("\u1959\7L\2\2\u1959\u195a\7G\2\2\u195a\u195b\7E\2\2\u195b") - buf.write("\u195c\7V\2\2\u195c\u040a\3\2\2\2\u195d\u195e\7U\2\2\u195e") - buf.write("\u195f\7W\2\2\u195f\u1960\7D\2\2\u1960\u1961\7R\2\2\u1961") - buf.write("\u1962\7C\2\2\u1962\u1963\7T\2\2\u1963\u1964\7V\2\2\u1964") - buf.write("\u1965\7K\2\2\u1965\u1966\7V\2\2\u1966\u1967\7K\2\2\u1967") - buf.write("\u1968\7Q\2\2\u1968\u1969\7P\2\2\u1969\u040c\3\2\2\2\u196a") - buf.write("\u196b\7U\2\2\u196b\u196c\7W\2\2\u196c\u196d\7D\2\2\u196d") - buf.write("\u196e\7R\2\2\u196e\u196f\7C\2\2\u196f\u1970\7T\2\2\u1970") - buf.write("\u1971\7V\2\2\u1971\u1972\7K\2\2\u1972\u1973\7V\2\2\u1973") - buf.write("\u1974\7K\2\2\u1974\u1975\7Q\2\2\u1975\u1976\7P\2\2\u1976") - buf.write("\u1977\7U\2\2\u1977\u040e\3\2\2\2\u1978\u1979\7U\2\2\u1979") - buf.write("\u197a\7W\2\2\u197a\u197b\7U\2\2\u197b\u197c\7R\2\2\u197c") - buf.write("\u197d\7G\2\2\u197d\u197e\7P\2\2\u197e\u197f\7F\2\2\u197f") - buf.write("\u0410\3\2\2\2\u1980\u1981\7U\2\2\u1981\u1982\7Y\2\2\u1982") - buf.write("\u1983\7C\2\2\u1983\u1984\7R\2\2\u1984\u1985\7U\2\2\u1985") - buf.write("\u0412\3\2\2\2\u1986\u1987\7U\2\2\u1987\u1988\7Y\2\2\u1988") - buf.write("\u1989\7K\2\2\u1989\u198a\7V\2\2\u198a\u198b\7E\2\2\u198b") - buf.write("\u198c\7J\2\2\u198c\u198d\7G\2\2\u198d\u198e\7U\2\2\u198e") - buf.write("\u0414\3\2\2\2\u198f\u1990\7V\2\2\u1990\u1991\7C\2\2\u1991") - buf.write("\u1992\7D\2\2\u1992\u1993\7N\2\2\u1993\u1994\7G\2\2\u1994") - buf.write("\u1995\7U\2\2\u1995\u1996\7R\2\2\u1996\u1997\7C\2\2\u1997") - buf.write("\u1998\7E\2\2\u1998\u1999\7G\2\2\u1999\u0416\3\2\2\2\u199a") - buf.write("\u199b\7V\2\2\u199b\u199c\7G\2\2\u199c\u199d\7O\2\2\u199d") - buf.write("\u199e\7R\2\2\u199e\u199f\7Q\2\2\u199f\u19a0\7T\2\2\u19a0") - buf.write("\u19a1\7C\2\2\u19a1\u19a2\7T\2\2\u19a2\u19a3\7[\2\2\u19a3") - buf.write("\u0418\3\2\2\2\u19a4\u19a5\7V\2\2\u19a5\u19a6\7G\2\2\u19a6") - buf.write("\u19a7\7O\2\2\u19a7\u19a8\7R\2\2\u19a8\u19a9\7V\2\2\u19a9") - buf.write("\u19aa\7C\2\2\u19aa\u19ab\7D\2\2\u19ab\u19ac\7N\2\2\u19ac") - buf.write("\u19ad\7G\2\2\u19ad\u041a\3\2\2\2\u19ae\u19af\7V\2\2\u19af") - buf.write("\u19b0\7J\2\2\u19b0\u19b1\7C\2\2\u19b1\u19b2\7P\2\2\u19b2") - buf.write("\u041c\3\2\2\2\u19b3\u19b4\7V\2\2\u19b4\u19b5\7T\2\2\u19b5") - buf.write("\u19b6\7C\2\2\u19b6\u19b7\7F\2\2\u19b7\u19b8\7K\2\2\u19b8") - buf.write("\u19b9\7V\2\2\u19b9\u19ba\7K\2\2\u19ba\u19bb\7Q\2\2\u19bb") - buf.write("\u19bc\7P\2\2\u19bc\u19bd\7C\2\2\u19bd\u19be\7N\2\2\u19be") - buf.write("\u041e\3\2\2\2\u19bf\u19c0\7V\2\2\u19c0\u19c1\7T\2\2\u19c1") - buf.write("\u19c2\7C\2\2\u19c2\u19c3\7P\2\2\u19c3\u19c4\7U\2\2\u19c4") - buf.write("\u19c5\7C\2\2\u19c5\u19c6\7E\2\2\u19c6\u19c7\7V\2\2\u19c7") - buf.write("\u19c8\7K\2\2\u19c8\u19c9\7Q\2\2\u19c9\u19ca\7P\2\2\u19ca") - buf.write("\u0420\3\2\2\2\u19cb\u19cc\7V\2\2\u19cc\u19cd\7T\2\2\u19cd") - buf.write("\u19ce\7K\2\2\u19ce\u19cf\7I\2\2\u19cf\u19d0\7I\2\2\u19d0") - buf.write("\u19d1\7G\2\2\u19d1\u19d2\7T\2\2\u19d2\u19d3\7U\2\2\u19d3") - buf.write("\u0422\3\2\2\2\u19d4\u19d5\7V\2\2\u19d5\u19d6\7T\2\2\u19d6") - buf.write("\u19d7\7W\2\2\u19d7\u19d8\7P\2\2\u19d8\u19d9\7E\2\2\u19d9") - buf.write("\u19da\7C\2\2\u19da\u19db\7V\2\2\u19db\u19dc\7G\2\2\u19dc") - buf.write("\u0424\3\2\2\2\u19dd\u19de\7W\2\2\u19de\u19df\7P\2\2\u19df") - buf.write("\u19e0\7F\2\2\u19e0\u19e1\7G\2\2\u19e1\u19e2\7H\2\2\u19e2") - buf.write("\u19e3\7K\2\2\u19e3\u19e4\7P\2\2\u19e4\u19e5\7G\2\2\u19e5") - buf.write("\u19e6\7F\2\2\u19e6\u0426\3\2\2\2\u19e7\u19e8\7W\2\2\u19e8") - buf.write("\u19e9\7P\2\2\u19e9\u19ea\7F\2\2\u19ea\u19eb\7Q\2\2\u19eb") - buf.write("\u19ec\7H\2\2\u19ec\u19ed\7K\2\2\u19ed\u19ee\7N\2\2\u19ee") - buf.write("\u19ef\7G\2\2\u19ef\u0428\3\2\2\2\u19f0\u19f1\7W\2\2\u19f1") - buf.write("\u19f2\7P\2\2\u19f2\u19f3\7F\2\2\u19f3\u19f4\7Q\2\2\u19f4") - buf.write("\u19f5\7a\2\2\u19f5\u19f6\7D\2\2\u19f6\u19f7\7W\2\2\u19f7") - buf.write("\u19f8\7H\2\2\u19f8\u19f9\7H\2\2\u19f9\u19fa\7G\2\2\u19fa") - buf.write("\u19fb\7T\2\2\u19fb\u19fc\7a\2\2\u19fc\u19fd\7U\2\2\u19fd") - buf.write("\u19fe\7K\2\2\u19fe\u19ff\7\\\2\2\u19ff\u1a00\7G\2\2\u1a00") - buf.write("\u042a\3\2\2\2\u1a01\u1a02\7W\2\2\u1a02\u1a03\7P\2\2\u1a03") - buf.write("\u1a04\7K\2\2\u1a04\u1a05\7P\2\2\u1a05\u1a06\7U\2\2\u1a06") - buf.write("\u1a07\7V\2\2\u1a07\u1a08\7C\2\2\u1a08\u1a09\7N\2\2\u1a09") - buf.write("\u1a0a\7N\2\2\u1a0a\u042c\3\2\2\2\u1a0b\u1a0c\7W\2\2\u1a0c") - buf.write("\u1a0d\7P\2\2\u1a0d\u1a0e\7M\2\2\u1a0e\u1a0f\7P\2\2\u1a0f") - buf.write("\u1a10\7Q\2\2\u1a10\u1a11\7Y\2\2\u1a11\u1a12\7P\2\2\u1a12") - buf.write("\u042e\3\2\2\2\u1a13\u1a14\7W\2\2\u1a14\u1a15\7P\2\2\u1a15") - buf.write("\u1a16\7V\2\2\u1a16\u1a17\7K\2\2\u1a17\u1a18\7N\2\2\u1a18") - buf.write("\u0430\3\2\2\2\u1a19\u1a1a\7W\2\2\u1a1a\u1a1b\7R\2\2\u1a1b") - buf.write("\u1a1c\7I\2\2\u1a1c\u1a1d\7T\2\2\u1a1d\u1a1e\7C\2\2\u1a1e") - buf.write("\u1a1f\7F\2\2\u1a1f\u1a20\7G\2\2\u1a20\u0432\3\2\2\2\u1a21") - buf.write("\u1a22\7W\2\2\u1a22\u1a23\7U\2\2\u1a23\u1a24\7G\2\2\u1a24") - buf.write("\u1a25\7T\2\2\u1a25\u0434\3\2\2\2\u1a26\u1a27\7W\2\2\u1a27") - buf.write("\u1a28\7U\2\2\u1a28\u1a29\7G\2\2\u1a29\u1a2a\7a\2\2\u1a2a") - buf.write("\u1a2b\7H\2\2\u1a2b\u1a2c\7T\2\2\u1a2c\u1a2d\7O\2\2\u1a2d") - buf.write("\u0436\3\2\2\2\u1a2e\u1a2f\7W\2\2\u1a2f\u1a30\7U\2\2\u1a30") - buf.write("\u1a31\7G\2\2\u1a31\u1a32\7T\2\2\u1a32\u1a33\7a\2\2\u1a33") - buf.write("\u1a34\7T\2\2\u1a34\u1a35\7G\2\2\u1a35\u1a36\7U\2\2\u1a36") - buf.write("\u1a37\7Q\2\2\u1a37\u1a38\7W\2\2\u1a38\u1a39\7T\2\2\u1a39") - buf.write("\u1a3a\7E\2\2\u1a3a\u1a3b\7G\2\2\u1a3b\u1a3c\7U\2\2\u1a3c") - buf.write("\u0438\3\2\2\2\u1a3d\u1a3e\7X\2\2\u1a3e\u1a3f\7C\2\2\u1a3f") - buf.write("\u1a40\7N\2\2\u1a40\u1a41\7K\2\2\u1a41\u1a42\7F\2\2\u1a42") - buf.write("\u1a43\7C\2\2\u1a43\u1a44\7V\2\2\u1a44\u1a45\7K\2\2\u1a45") - buf.write("\u1a46\7Q\2\2\u1a46\u1a47\7P\2\2\u1a47\u043a\3\2\2\2\u1a48") - buf.write("\u1a49\7X\2\2\u1a49\u1a4a\7C\2\2\u1a4a\u1a4b\7N\2\2\u1a4b") - buf.write("\u1a4c\7W\2\2\u1a4c\u1a4d\7G\2\2\u1a4d\u043c\3\2\2\2\u1a4e") - buf.write("\u1a4f\7X\2\2\u1a4f\u1a50\7C\2\2\u1a50\u1a51\7T\2\2\u1a51") - buf.write("\u1a52\7K\2\2\u1a52\u1a53\7C\2\2\u1a53\u1a54\7D\2\2\u1a54") - buf.write("\u1a55\7N\2\2\u1a55\u1a56\7G\2\2\u1a56\u1a57\7U\2\2\u1a57") - buf.write("\u043e\3\2\2\2\u1a58\u1a59\7X\2\2\u1a59\u1a5a\7K\2\2\u1a5a") - buf.write("\u1a5b\7G\2\2\u1a5b\u1a5c\7Y\2\2\u1a5c\u0440\3\2\2\2\u1a5d") - buf.write("\u1a5e\7X\2\2\u1a5e\u1a5f\7K\2\2\u1a5f\u1a60\7T\2\2\u1a60") - buf.write("\u1a61\7V\2\2\u1a61\u1a62\7W\2\2\u1a62\u1a63\7C\2\2\u1a63") - buf.write("\u1a64\7N\2\2\u1a64\u0442\3\2\2\2\u1a65\u1a66\7Y\2\2\u1a66") - buf.write("\u1a67\7C\2\2\u1a67\u1a68\7K\2\2\u1a68\u1a69\7V\2\2\u1a69") - buf.write("\u0444\3\2\2\2\u1a6a\u1a6b\7Y\2\2\u1a6b\u1a6c\7C\2\2\u1a6c") - buf.write("\u1a6d\7T\2\2\u1a6d\u1a6e\7P\2\2\u1a6e\u1a6f\7K\2\2\u1a6f") - buf.write("\u1a70\7P\2\2\u1a70\u1a71\7I\2\2\u1a71\u1a72\7U\2\2\u1a72") - buf.write("\u0446\3\2\2\2\u1a73\u1a74\7Y\2\2\u1a74\u1a75\7K\2\2\u1a75") - buf.write("\u1a76\7V\2\2\u1a76\u1a77\7J\2\2\u1a77\u1a78\7Q\2\2\u1a78") - buf.write("\u1a79\7W\2\2\u1a79\u1a7a\7V\2\2\u1a7a\u0448\3\2\2\2\u1a7b") - buf.write("\u1a7c\7Y\2\2\u1a7c\u1a7d\7Q\2\2\u1a7d\u1a7e\7T\2\2\u1a7e") - buf.write("\u1a7f\7M\2\2\u1a7f\u044a\3\2\2\2\u1a80\u1a81\7Y\2\2\u1a81") - buf.write("\u1a82\7T\2\2\u1a82\u1a83\7C\2\2\u1a83\u1a84\7R\2\2\u1a84") - buf.write("\u1a85\7R\2\2\u1a85\u1a86\7G\2\2\u1a86\u1a87\7T\2\2\u1a87") - buf.write("\u044c\3\2\2\2\u1a88\u1a89\7Z\2\2\u1a89\u1a8a\7\67\2\2") - buf.write("\u1a8a\u1a8b\7\62\2\2\u1a8b\u1a8c\7;\2\2\u1a8c\u044e\3") - buf.write("\2\2\2\u1a8d\u1a8e\7Z\2\2\u1a8e\u1a8f\7C\2\2\u1a8f\u0450") - buf.write("\3\2\2\2\u1a90\u1a91\7Z\2\2\u1a91\u1a92\7O\2\2\u1a92\u1a93") - buf.write("\7N\2\2\u1a93\u0452\3\2\2\2\u1a94\u1a95\7G\2\2\u1a95\u1a96") - buf.write("\7W\2\2\u1a96\u1a97\7T\2\2\u1a97\u0454\3\2\2\2\u1a98\u1a99") - buf.write("\7W\2\2\u1a99\u1a9a\7U\2\2\u1a9a\u1a9b\7C\2\2\u1a9b\u0456") - buf.write("\3\2\2\2\u1a9c\u1a9d\7L\2\2\u1a9d\u1a9e\7K\2\2\u1a9e\u1a9f") - buf.write("\7U\2\2\u1a9f\u0458\3\2\2\2\u1aa0\u1aa1\7K\2\2\u1aa1\u1aa2") - buf.write("\7U\2\2\u1aa2\u1aa3\7Q\2\2\u1aa3\u045a\3\2\2\2\u1aa4\u1aa5") - buf.write("\7K\2\2\u1aa5\u1aa6\7P\2\2\u1aa6\u1aa7\7V\2\2\u1aa7\u1aa8") - buf.write("\7G\2\2\u1aa8\u1aa9\7T\2\2\u1aa9\u1aaa\7P\2\2\u1aaa\u1aab") - buf.write("\7C\2\2\u1aab\u1aac\7N\2\2\u1aac\u045c\3\2\2\2\u1aad\u1aae") - buf.write("\7S\2\2\u1aae\u1aaf\7W\2\2\u1aaf\u1ab0\7C\2\2\u1ab0\u1ab1") - buf.write("\7T\2\2\u1ab1\u1ab2\7V\2\2\u1ab2\u1ab3\7G\2\2\u1ab3\u1ab4") - buf.write("\7T\2\2\u1ab4\u045e\3\2\2\2\u1ab5\u1ab6\7O\2\2\u1ab6\u1ab7") - buf.write("\7Q\2\2\u1ab7\u1ab8\7P\2\2\u1ab8\u1ab9\7V\2\2\u1ab9\u1aba") - buf.write("\7J\2\2\u1aba\u0460\3\2\2\2\u1abb\u1abc\7F\2\2\u1abc\u1abd") - buf.write("\7C\2\2\u1abd\u1abe\7[\2\2\u1abe\u0462\3\2\2\2\u1abf\u1ac0") - buf.write("\7J\2\2\u1ac0\u1ac1\7Q\2\2\u1ac1\u1ac2\7W\2\2\u1ac2\u1ac3") - buf.write("\7T\2\2\u1ac3\u0464\3\2\2\2\u1ac4\u1ac5\7O\2\2\u1ac5\u1ac6") - buf.write("\7K\2\2\u1ac6\u1ac7\7P\2\2\u1ac7\u1ac8\7W\2\2\u1ac8\u1ac9") - buf.write("\7V\2\2\u1ac9\u1aca\7G\2\2\u1aca\u0466\3\2\2\2\u1acb\u1acc") - buf.write("\7Y\2\2\u1acc\u1acd\7G\2\2\u1acd\u1ace\7G\2\2\u1ace\u1acf") - buf.write("\7M\2\2\u1acf\u0468\3\2\2\2\u1ad0\u1ad1\7U\2\2\u1ad1\u1ad2") - buf.write("\7G\2\2\u1ad2\u1ad3\7E\2\2\u1ad3\u1ad4\7Q\2\2\u1ad4\u1ad5") - buf.write("\7P\2\2\u1ad5\u1ad6\7F\2\2\u1ad6\u046a\3\2\2\2\u1ad7\u1ad8") - buf.write("\7O\2\2\u1ad8\u1ad9\7K\2\2\u1ad9\u1ada\7E\2\2\u1ada\u1adb") - buf.write("\7T\2\2\u1adb\u1adc\7Q\2\2\u1adc\u1add\7U\2\2\u1add\u1ade") - buf.write("\7G\2\2\u1ade\u1adf\7E\2\2\u1adf\u1ae0\7Q\2\2\u1ae0\u1ae1") - buf.write("\7P\2\2\u1ae1\u1ae2\7F\2\2\u1ae2\u046c\3\2\2\2\u1ae3\u1ae4") - buf.write("\7V\2\2\u1ae4\u1ae5\7C\2\2\u1ae5\u1ae6\7D\2\2\u1ae6\u1ae7") - buf.write("\7N\2\2\u1ae7\u1ae8\7G\2\2\u1ae8\u1ae9\7U\2\2\u1ae9\u046e") - buf.write("\3\2\2\2\u1aea\u1aeb\7T\2\2\u1aeb\u1aec\7Q\2\2\u1aec\u1aed") - buf.write("\7W\2\2\u1aed\u1aee\7V\2\2\u1aee\u1aef\7K\2\2\u1aef\u1af0") - buf.write("\7P\2\2\u1af0\u1af1\7G\2\2\u1af1\u0470\3\2\2\2\u1af2\u1af3") - buf.write("\7G\2\2\u1af3\u1af4\7Z\2\2\u1af4\u1af5\7G\2\2\u1af5\u1af6") - buf.write("\7E\2\2\u1af6\u1af7\7W\2\2\u1af7\u1af8\7V\2\2\u1af8\u1af9") - buf.write("\7G\2\2\u1af9\u0472\3\2\2\2\u1afa\u1afb\7H\2\2\u1afb\u1afc") - buf.write("\7K\2\2\u1afc\u1afd\7N\2\2\u1afd\u1afe\7G\2\2\u1afe\u0474") - buf.write("\3\2\2\2\u1aff\u1b00\7R\2\2\u1b00\u1b01\7T\2\2\u1b01\u1b02") - buf.write("\7Q\2\2\u1b02\u1b03\7E\2\2\u1b03\u1b04\7G\2\2\u1b04\u1b05") - buf.write("\7U\2\2\u1b05\u1b06\7U\2\2\u1b06\u0476\3\2\2\2\u1b07\u1b08") - buf.write("\7T\2\2\u1b08\u1b09\7G\2\2\u1b09\u1b0a\7N\2\2\u1b0a\u1b0b") - buf.write("\7Q\2\2\u1b0b\u1b0c\7C\2\2\u1b0c\u1b0d\7F\2\2\u1b0d\u0478") - buf.write("\3\2\2\2\u1b0e\u1b0f\7U\2\2\u1b0f\u1b10\7J\2\2\u1b10\u1b11") - buf.write("\7W\2\2\u1b11\u1b12\7V\2\2\u1b12\u1b13\7F\2\2\u1b13\u1b14") - buf.write("\7Q\2\2\u1b14\u1b15\7Y\2\2\u1b15\u1b16\7P\2\2\u1b16\u047a") - buf.write("\3\2\2\2\u1b17\u1b18\7U\2\2\u1b18\u1b19\7W\2\2\u1b19\u1b1a") - buf.write("\7R\2\2\u1b1a\u1b1b\7G\2\2\u1b1b\u1b1c\7T\2\2\u1b1c\u047c") - buf.write("\3\2\2\2\u1b1d\u1b1e\7R\2\2\u1b1e\u1b1f\7T\2\2\u1b1f\u1b20") - buf.write("\7K\2\2\u1b20\u1b21\7X\2\2\u1b21\u1b22\7K\2\2\u1b22\u1b23") - buf.write("\7N\2\2\u1b23\u1b24\7G\2\2\u1b24\u1b25\7I\2\2\u1b25\u1b26") - buf.write("\7G\2\2\u1b26\u1b27\7U\2\2\u1b27\u047e\3\2\2\2\u1b28\u1b29") - buf.write("\7C\2\2\u1b29\u1b2a\7T\2\2\u1b2a\u1b2b\7O\2\2\u1b2b\u1b2c") - buf.write("\7U\2\2\u1b2c\u1b2d\7E\2\2\u1b2d\u1b2e\7K\2\2\u1b2e\u1b2f") - buf.write("\7K\2\2\u1b2f\u1b30\7:\2\2\u1b30\u0480\3\2\2\2\u1b31\u1b32") - buf.write("\7C\2\2\u1b32\u1b33\7U\2\2\u1b33\u1b34\7E\2\2\u1b34\u1b35") - buf.write("\7K\2\2\u1b35\u1b36\7K\2\2\u1b36\u0482\3\2\2\2\u1b37\u1b38") - buf.write("\7D\2\2\u1b38\u1b39\7K\2\2\u1b39\u1b3a\7I\2\2\u1b3a\u1b3b") - buf.write("\7\67\2\2\u1b3b\u0484\3\2\2\2\u1b3c\u1b3d\7E\2\2\u1b3d") - buf.write("\u1b3e\7R\2\2\u1b3e\u1b3f\7\63\2\2\u1b3f\u1b40\7\64\2") - buf.write("\2\u1b40\u1b41\7\67\2\2\u1b41\u1b42\7\62\2\2\u1b42\u0486") - buf.write("\3\2\2\2\u1b43\u1b44\7E\2\2\u1b44\u1b45\7R\2\2\u1b45\u1b46") - buf.write("\7\63\2\2\u1b46\u1b47\7\64\2\2\u1b47\u1b48\7\67\2\2\u1b48") - buf.write("\u1b49\7\63\2\2\u1b49\u0488\3\2\2\2\u1b4a\u1b4b\7E\2\2") - buf.write("\u1b4b\u1b4c\7R\2\2\u1b4c\u1b4d\7\63\2\2\u1b4d\u1b4e\7") - buf.write("\64\2\2\u1b4e\u1b4f\7\67\2\2\u1b4f\u1b50\78\2\2\u1b50") - buf.write("\u048a\3\2\2\2\u1b51\u1b52\7E\2\2\u1b52\u1b53\7R\2\2\u1b53") - buf.write("\u1b54\7\63\2\2\u1b54\u1b55\7\64\2\2\u1b55\u1b56\7\67") - buf.write("\2\2\u1b56\u1b57\79\2\2\u1b57\u048c\3\2\2\2\u1b58\u1b59") - buf.write("\7E\2\2\u1b59\u1b5a\7R\2\2\u1b5a\u1b5b\7:\2\2\u1b5b\u1b5c") - buf.write("\7\67\2\2\u1b5c\u1b5d\7\62\2\2\u1b5d\u048e\3\2\2\2\u1b5e") - buf.write("\u1b5f\7E\2\2\u1b5f\u1b60\7R\2\2\u1b60\u1b61\7:\2\2\u1b61") - buf.write("\u1b62\7\67\2\2\u1b62\u1b63\7\64\2\2\u1b63\u0490\3\2\2") - buf.write("\2\u1b64\u1b65\7E\2\2\u1b65\u1b66\7R\2\2\u1b66\u1b67\7") - buf.write(":\2\2\u1b67\u1b68\78\2\2\u1b68\u1b69\78\2\2\u1b69\u0492") - buf.write("\3\2\2\2\u1b6a\u1b6b\7E\2\2\u1b6b\u1b6c\7R\2\2\u1b6c\u1b6d") - buf.write("\7;\2\2\u1b6d\u1b6e\7\65\2\2\u1b6e\u1b6f\7\64\2\2\u1b6f") - buf.write("\u0494\3\2\2\2\u1b70\u1b71\7F\2\2\u1b71\u1b72\7G\2\2\u1b72") - buf.write("\u1b73\7E\2\2\u1b73\u1b74\7:\2\2\u1b74\u0496\3\2\2\2\u1b75") - buf.write("\u1b76\7G\2\2\u1b76\u1b77\7W\2\2\u1b77\u1b78\7E\2\2\u1b78") - buf.write("\u1b79\7L\2\2\u1b79\u1b7a\7R\2\2\u1b7a\u1b7b\7O\2\2\u1b7b") - buf.write("\u1b7c\7U\2\2\u1b7c\u0498\3\2\2\2\u1b7d\u1b7e\7G\2\2\u1b7e") - buf.write("\u1b7f\7W\2\2\u1b7f\u1b80\7E\2\2\u1b80\u1b81\7M\2\2\u1b81") - buf.write("\u1b82\7T\2\2\u1b82\u049a\3\2\2\2\u1b83\u1b84\7I\2\2\u1b84") - buf.write("\u1b85\7D\2\2\u1b85\u1b86\7\64\2\2\u1b86\u1b87\7\65\2") - buf.write("\2\u1b87\u1b88\7\63\2\2\u1b88\u1b89\7\64\2\2\u1b89\u049c") - buf.write("\3\2\2\2\u1b8a\u1b8b\7I\2\2\u1b8b\u1b8c\7D\2\2\u1b8c\u1b8d") - buf.write("\7M\2\2\u1b8d\u049e\3\2\2\2\u1b8e\u1b8f\7I\2\2\u1b8f\u1b90") - buf.write("\7G\2\2\u1b90\u1b91\7Q\2\2\u1b91\u1b92\7U\2\2\u1b92\u1b93") - buf.write("\7V\2\2\u1b93\u1b94\7F\2\2\u1b94\u1b95\7:\2\2\u1b95\u04a0") - buf.write("\3\2\2\2\u1b96\u1b97\7I\2\2\u1b97\u1b98\7T\2\2\u1b98\u1b99") - buf.write("\7G\2\2\u1b99\u1b9a\7G\2\2\u1b9a\u1b9b\7M\2\2\u1b9b\u04a2") - buf.write("\3\2\2\2\u1b9c\u1b9d\7J\2\2\u1b9d\u1b9e\7G\2\2\u1b9e\u1b9f") - buf.write("\7D\2\2\u1b9f\u1ba0\7T\2\2\u1ba0\u1ba1\7G\2\2\u1ba1\u1ba2") - buf.write("\7Y\2\2\u1ba2\u04a4\3\2\2\2\u1ba3\u1ba4\7J\2\2\u1ba4\u1ba5") - buf.write("\7R\2\2\u1ba5\u1ba6\7:\2\2\u1ba6\u04a6\3\2\2\2\u1ba7\u1ba8") - buf.write("\7M\2\2\u1ba8\u1ba9\7G\2\2\u1ba9\u1baa\7[\2\2\u1baa\u1bab") - buf.write("\7D\2\2\u1bab\u1bac\7E\2\2\u1bac\u1bad\7U\2\2\u1bad\u1bae") - buf.write("\7\64\2\2\u1bae\u04a8\3\2\2\2\u1baf\u1bb0\7M\2\2\u1bb0") - buf.write("\u1bb1\7Q\2\2\u1bb1\u1bb2\7K\2\2\u1bb2\u1bb3\7:\2\2\u1bb3") - buf.write("\u1bb4\7T\2\2\u1bb4\u04aa\3\2\2\2\u1bb5\u1bb6\7M\2\2\u1bb6") - buf.write("\u1bb7\7Q\2\2\u1bb7\u1bb8\7K\2\2\u1bb8\u1bb9\7:\2\2\u1bb9") - buf.write("\u1bba\7W\2\2\u1bba\u04ac\3\2\2\2\u1bbb\u1bbc\7N\2\2\u1bbc") - buf.write("\u1bbd\7C\2\2\u1bbd\u1bbe\7V\2\2\u1bbe\u1bbf\7K\2\2\u1bbf") - buf.write("\u1bc0\7P\2\2\u1bc0\u1bc1\7\63\2\2\u1bc1\u04ae\3\2\2\2") - buf.write("\u1bc2\u1bc3\7N\2\2\u1bc3\u1bc4\7C\2\2\u1bc4\u1bc5\7V") - buf.write("\2\2\u1bc5\u1bc6\7K\2\2\u1bc6\u1bc7\7P\2\2\u1bc7\u1bc8") - buf.write("\7\64\2\2\u1bc8\u04b0\3\2\2\2\u1bc9\u1bca\7N\2\2\u1bca") - buf.write("\u1bcb\7C\2\2\u1bcb\u1bcc\7V\2\2\u1bcc\u1bcd\7K\2\2\u1bcd") - buf.write("\u1bce\7P\2\2\u1bce\u1bcf\7\67\2\2\u1bcf\u04b2\3\2\2\2") - buf.write("\u1bd0\u1bd1\7N\2\2\u1bd1\u1bd2\7C\2\2\u1bd2\u1bd3\7V") - buf.write("\2\2\u1bd3\u1bd4\7K\2\2\u1bd4\u1bd5\7P\2\2\u1bd5\u1bd6") - buf.write("\79\2\2\u1bd6\u04b4\3\2\2\2\u1bd7\u1bd8\7O\2\2\u1bd8\u1bd9") - buf.write("\7C\2\2\u1bd9\u1bda\7E\2\2\u1bda\u1bdb\7E\2\2\u1bdb\u1bdc") - buf.write("\7G\2\2\u1bdc\u04b6\3\2\2\2\u1bdd\u1bde\7O\2\2\u1bde\u1bdf") - buf.write("\7C\2\2\u1bdf\u1be0\7E\2\2\u1be0\u1be1\7T\2\2\u1be1\u1be2") - buf.write("\7Q\2\2\u1be2\u1be3\7O\2\2\u1be3\u1be4\7C\2\2\u1be4\u1be5") - buf.write("\7P\2\2\u1be5\u04b8\3\2\2\2\u1be6\u1be7\7U\2\2\u1be7\u1be8") - buf.write("\7L\2\2\u1be8\u1be9\7K\2\2\u1be9\u1bea\7U\2\2\u1bea\u04ba") - buf.write("\3\2\2\2\u1beb\u1bec\7U\2\2\u1bec\u1bed\7Y\2\2\u1bed\u1bee") - buf.write("\7G\2\2\u1bee\u1bef\79\2\2\u1bef\u04bc\3\2\2\2\u1bf0\u1bf1") - buf.write("\7V\2\2\u1bf1\u1bf2\7K\2\2\u1bf2\u1bf3\7U\2\2\u1bf3\u1bf4") - buf.write("\78\2\2\u1bf4\u1bf5\7\64\2\2\u1bf5\u1bf6\7\62\2\2\u1bf6") - buf.write("\u04be\3\2\2\2\u1bf7\u1bf8\7W\2\2\u1bf8\u1bf9\7E\2\2\u1bf9") - buf.write("\u1bfa\7U\2\2\u1bfa\u1bfb\7\64\2\2\u1bfb\u04c0\3\2\2\2") - buf.write("\u1bfc\u1bfd\7W\2\2\u1bfd\u1bfe\7L\2\2\u1bfe\u1bff\7K") - buf.write("\2\2\u1bff\u1c00\7U\2\2\u1c00\u04c2\3\2\2\2\u1c01\u1c02") - buf.write("\7W\2\2\u1c02\u1c03\7V\2\2\u1c03\u1c04\7H\2\2\u1c04\u1c05") - buf.write("\7\63\2\2\u1c05\u1c06\78\2\2\u1c06\u04c4\3\2\2\2\u1c07") - buf.write("\u1c08\7W\2\2\u1c08\u1c09\7V\2\2\u1c09\u1c0a\7H\2\2\u1c0a") - buf.write("\u1c0b\7\63\2\2\u1c0b\u1c0c\78\2\2\u1c0c\u1c0d\7N\2\2") - buf.write("\u1c0d\u1c0e\7G\2\2\u1c0e\u04c6\3\2\2\2\u1c0f\u1c10\7") - buf.write("W\2\2\u1c10\u1c11\7V\2\2\u1c11\u1c12\7H\2\2\u1c12\u1c13") - buf.write("\7\65\2\2\u1c13\u1c14\7\64\2\2\u1c14\u04c8\3\2\2\2\u1c15") - buf.write("\u1c16\7W\2\2\u1c16\u1c17\7V\2\2\u1c17\u1c18\7H\2\2\u1c18") - buf.write("\u1c19\7:\2\2\u1c19\u04ca\3\2\2\2\u1c1a\u1c1b\7W\2\2\u1c1b") - buf.write("\u1c1c\7V\2\2\u1c1c\u1c1d\7H\2\2\u1c1d\u1c1e\7:\2\2\u1c1e") - buf.write("\u1c1f\7O\2\2\u1c1f\u1c20\7D\2\2\u1c20\u1c21\7\65\2\2") - buf.write("\u1c21\u04cc\3\2\2\2\u1c22\u1c23\7W\2\2\u1c23\u1c24\7") - buf.write("V\2\2\u1c24\u1c25\7H\2\2\u1c25\u1c26\7:\2\2\u1c26\u1c27") - buf.write("\7O\2\2\u1c27\u1c28\7D\2\2\u1c28\u1c29\7\66\2\2\u1c29") - buf.write("\u04ce\3\2\2\2\u1c2a\u1c2b\7C\2\2\u1c2b\u1c2c\7T\2\2\u1c2c") - buf.write("\u1c2d\7E\2\2\u1c2d\u1c2e\7J\2\2\u1c2e\u1c2f\7K\2\2\u1c2f") - buf.write("\u1c30\7X\2\2\u1c30\u1c31\7G\2\2\u1c31\u04d0\3\2\2\2\u1c32") - buf.write("\u1c33\7D\2\2\u1c33\u1c34\7N\2\2\u1c34\u1c35\7C\2\2\u1c35") - buf.write("\u1c36\7E\2\2\u1c36\u1c37\7M\2\2\u1c37\u1c38\7J\2\2\u1c38") - buf.write("\u1c39\7Q\2\2\u1c39\u1c3a\7N\2\2\u1c3a\u1c3b\7G\2\2\u1c3b") - buf.write("\u04d2\3\2\2\2\u1c3c\u1c3d\7E\2\2\u1c3d\u1c3e\7U\2\2\u1c3e") - buf.write("\u1c3f\7X\2\2\u1c3f\u04d4\3\2\2\2\u1c40\u1c41\7H\2\2\u1c41") - buf.write("\u1c42\7G\2\2\u1c42\u1c43\7F\2\2\u1c43\u1c44\7G\2\2\u1c44") - buf.write("\u1c45\7T\2\2\u1c45\u1c46\7C\2\2\u1c46\u1c47\7V\2\2\u1c47") - buf.write("\u1c48\7G\2\2\u1c48\u1c49\7F\2\2\u1c49\u04d6\3\2\2\2\u1c4a") - buf.write("\u1c4b\7K\2\2\u1c4b\u1c4c\7P\2\2\u1c4c\u1c4d\7P\2\2\u1c4d") - buf.write("\u1c4e\7Q\2\2\u1c4e\u1c4f\7F\2\2\u1c4f\u1c50\7D\2\2\u1c50") - buf.write("\u04d8\3\2\2\2\u1c51\u1c52\7O\2\2\u1c52\u1c53\7G\2\2\u1c53") - buf.write("\u1c54\7O\2\2\u1c54\u1c55\7Q\2\2\u1c55\u1c56\7T\2\2\u1c56") - buf.write("\u1c57\7[\2\2\u1c57\u04da\3\2\2\2\u1c58\u1c59\7O\2\2\u1c59") - buf.write("\u1c5a\7T\2\2\u1c5a\u1c5b\7I\2\2\u1c5b\u1c5c\7a\2\2\u1c5c") - buf.write("\u1c5d\7O\2\2\u1c5d\u1c5e\7[\2\2\u1c5e\u1c5f\7K\2\2\u1c5f") - buf.write("\u1c60\7U\2\2\u1c60\u1c61\7C\2\2\u1c61\u1c62\7O\2\2\u1c62") - buf.write("\u04dc\3\2\2\2\u1c63\u1c64\7O\2\2\u1c64\u1c65\7[\2\2\u1c65") - buf.write("\u1c66\7K\2\2\u1c66\u1c67\7U\2\2\u1c67\u1c68\7C\2\2\u1c68") - buf.write("\u1c69\7O\2\2\u1c69\u04de\3\2\2\2\u1c6a\u1c6b\7P\2\2\u1c6b") - buf.write("\u1c6c\7F\2\2\u1c6c\u1c6d\7D\2\2\u1c6d\u04e0\3\2\2\2\u1c6e") - buf.write("\u1c6f\7P\2\2\u1c6f\u1c70\7F\2\2\u1c70\u1c71\7D\2\2\u1c71") - buf.write("\u1c72\7E\2\2\u1c72\u1c73\7N\2\2\u1c73\u1c74\7W\2\2\u1c74") - buf.write("\u1c75\7U\2\2\u1c75\u1c76\7V\2\2\u1c76\u1c77\7G\2\2\u1c77") - buf.write("\u1c78\7T\2\2\u1c78\u04e2\3\2\2\2\u1c79\u1c7a\7R\2\2\u1c7a") - buf.write("\u1c7b\7G\2\2\u1c7b\u1c7c\7T\2\2\u1c7c\u1c7d\7H\2\2\u1c7d") - buf.write("\u1c7e\7Q\2\2\u1c7e\u1c7f\7O\2\2\u1c7f\u1c80\7C\2\2\u1c80") - buf.write("\u1c81\7P\2\2\u1c81\u1c82\7E\2\2\u1c82\u1c83\7G\2\2\u1c83") - buf.write("\u1c84\7a\2\2\u1c84\u1c85\7U\2\2\u1c85\u1c86\7E\2\2\u1c86") - buf.write("\u1c87\7J\2\2\u1c87\u1c88\7G\2\2\u1c88\u1c89\7O\2\2\u1c89") - buf.write("\u1c8a\7C\2\2\u1c8a\u04e4\3\2\2\2\u1c8b\u1c8c\7T\2\2\u1c8c") - buf.write("\u1c8d\7G\2\2\u1c8d\u1c8e\7R\2\2\u1c8e\u1c8f\7G\2\2\u1c8f") - buf.write("\u1c90\7C\2\2\u1c90\u1c91\7V\2\2\u1c91\u1c92\7C\2\2\u1c92") - buf.write("\u1c93\7D\2\2\u1c93\u1c94\7N\2\2\u1c94\u1c95\7G\2\2\u1c95") - buf.write("\u04e6\3\2\2\2\u1c96\u1c97\7E\2\2\u1c97\u1c98\7Q\2\2\u1c98") - buf.write("\u1c99\7O\2\2\u1c99\u1c9a\7O\2\2\u1c9a\u1c9b\7K\2\2\u1c9b") - buf.write("\u1c9c\7V\2\2\u1c9c\u1c9d\7V\2\2\u1c9d\u1c9e\7G\2\2\u1c9e") - buf.write("\u1c9f\7F\2\2\u1c9f\u04e8\3\2\2\2\u1ca0\u1ca1\7W\2\2\u1ca1") - buf.write("\u1ca2\7P\2\2\u1ca2\u1ca3\7E\2\2\u1ca3\u1ca4\7Q\2\2\u1ca4") - buf.write("\u1ca5\7O\2\2\u1ca5\u1ca6\7O\2\2\u1ca6\u1ca7\7K\2\2\u1ca7") - buf.write("\u1ca8\7V\2\2\u1ca8\u1ca9\7V\2\2\u1ca9\u1caa\7G\2\2\u1caa") - buf.write("\u1cab\7F\2\2\u1cab\u04ea\3\2\2\2\u1cac\u1cad\7U\2\2\u1cad") - buf.write("\u1cae\7G\2\2\u1cae\u1caf\7T\2\2\u1caf\u1cb0\7K\2\2\u1cb0") - buf.write("\u1cb1\7C\2\2\u1cb1\u1cb2\7N\2\2\u1cb2\u1cb3\7K\2\2\u1cb3") - buf.write("\u1cb4\7\\\2\2\u1cb4\u1cb5\7C\2\2\u1cb5\u1cb6\7D\2\2\u1cb6") - buf.write("\u1cb7\7N\2\2\u1cb7\u1cb8\7G\2\2\u1cb8\u04ec\3\2\2\2\u1cb9") - buf.write("\u1cba\7I\2\2\u1cba\u1cbb\7G\2\2\u1cbb\u1cbc\7Q\2\2\u1cbc") - buf.write("\u1cbd\7O\2\2\u1cbd\u1cbe\7G\2\2\u1cbe\u1cbf\7V\2\2\u1cbf") - buf.write("\u1cc0\7T\2\2\u1cc0\u1cc1\7[\2\2\u1cc1\u1cc2\7E\2\2\u1cc2") - buf.write("\u1cc3\7Q\2\2\u1cc3\u1cc4\7N\2\2\u1cc4\u1cc5\7N\2\2\u1cc5") - buf.write("\u1cc6\7G\2\2\u1cc6\u1cc7\7E\2\2\u1cc7\u1cc8\7V\2\2\u1cc8") - buf.write("\u1cc9\7K\2\2\u1cc9\u1cca\7Q\2\2\u1cca\u1ccb\7P\2\2\u1ccb") - buf.write("\u04ee\3\2\2\2\u1ccc\u1ccd\7N\2\2\u1ccd\u1cce\7K\2\2\u1cce") - buf.write("\u1ccf\7P\2\2\u1ccf\u1cd0\7G\2\2\u1cd0\u1cd1\7U\2\2\u1cd1") - buf.write("\u1cd2\7V\2\2\u1cd2\u1cd3\7T\2\2\u1cd3\u1cd4\7K\2\2\u1cd4") - buf.write("\u1cd5\7P\2\2\u1cd5\u1cd6\7I\2\2\u1cd6\u04f0\3\2\2\2\u1cd7") - buf.write("\u1cd8\7O\2\2\u1cd8\u1cd9\7W\2\2\u1cd9\u1cda\7N\2\2\u1cda") - buf.write("\u1cdb\7V\2\2\u1cdb\u1cdc\7K\2\2\u1cdc\u1cdd\7N\2\2\u1cdd") - buf.write("\u1cde\7K\2\2\u1cde\u1cdf\7P\2\2\u1cdf\u1ce0\7G\2\2\u1ce0") - buf.write("\u1ce1\7U\2\2\u1ce1\u1ce2\7V\2\2\u1ce2\u1ce3\7T\2\2\u1ce3") - buf.write("\u1ce4\7K\2\2\u1ce4\u1ce5\7P\2\2\u1ce5\u1ce6\7I\2\2\u1ce6") - buf.write("\u04f2\3\2\2\2\u1ce7\u1ce8\7O\2\2\u1ce8\u1ce9\7W\2\2\u1ce9") - buf.write("\u1cea\7N\2\2\u1cea\u1ceb\7V\2\2\u1ceb\u1cec\7K\2\2\u1cec") - buf.write("\u1ced\7R\2\2\u1ced\u1cee\7Q\2\2\u1cee\u1cef\7K\2\2\u1cef") - buf.write("\u1cf0\7P\2\2\u1cf0\u1cf1\7V\2\2\u1cf1\u04f4\3\2\2\2\u1cf2") - buf.write("\u1cf3\7O\2\2\u1cf3\u1cf4\7W\2\2\u1cf4\u1cf5\7N\2\2\u1cf5") - buf.write("\u1cf6\7V\2\2\u1cf6\u1cf7\7K\2\2\u1cf7\u1cf8\7R\2\2\u1cf8") - buf.write("\u1cf9\7Q\2\2\u1cf9\u1cfa\7N\2\2\u1cfa\u1cfb\7[\2\2\u1cfb") - buf.write("\u1cfc\7I\2\2\u1cfc\u1cfd\7Q\2\2\u1cfd\u1cfe\7P\2\2\u1cfe") - buf.write("\u04f6\3\2\2\2\u1cff\u1d00\7R\2\2\u1d00\u1d01\7Q\2\2\u1d01") - buf.write("\u1d02\7K\2\2\u1d02\u1d03\7P\2\2\u1d03\u1d04\7V\2\2\u1d04") - buf.write("\u04f8\3\2\2\2\u1d05\u1d06\7R\2\2\u1d06\u1d07\7Q\2\2\u1d07") - buf.write("\u1d08\7N\2\2\u1d08\u1d09\7[\2\2\u1d09\u1d0a\7I\2\2\u1d0a") - buf.write("\u1d0b\7Q\2\2\u1d0b\u1d0c\7P\2\2\u1d0c\u04fa\3\2\2\2\u1d0d") - buf.write("\u1d0e\7C\2\2\u1d0e\u1d0f\7D\2\2\u1d0f\u1d10\7U\2\2\u1d10") - buf.write("\u04fc\3\2\2\2\u1d11\u1d12\7C\2\2\u1d12\u1d13\7E\2\2\u1d13") - buf.write("\u1d14\7Q\2\2\u1d14\u1d15\7U\2\2\u1d15\u04fe\3\2\2\2\u1d16") - buf.write("\u1d17\7C\2\2\u1d17\u1d18\7F\2\2\u1d18\u1d19\7F\2\2\u1d19") - buf.write("\u1d1a\7F\2\2\u1d1a\u1d1b\7C\2\2\u1d1b\u1d1c\7V\2\2\u1d1c") - buf.write("\u1d1d\7G\2\2\u1d1d\u0500\3\2\2\2\u1d1e\u1d1f\7C\2\2\u1d1f") - buf.write("\u1d20\7F\2\2\u1d20\u1d21\7F\2\2\u1d21\u1d22\7V\2\2\u1d22") - buf.write("\u1d23\7K\2\2\u1d23\u1d24\7O\2\2\u1d24\u1d25\7G\2\2\u1d25") - buf.write("\u0502\3\2\2\2\u1d26\u1d27\7C\2\2\u1d27\u1d28\7G\2\2\u1d28") - buf.write("\u1d29\7U\2\2\u1d29\u1d2a\7a\2\2\u1d2a\u1d2b\7F\2\2\u1d2b") - buf.write("\u1d2c\7G\2\2\u1d2c\u1d2d\7E\2\2\u1d2d\u1d2e\7T\2\2\u1d2e") - buf.write("\u1d2f\7[\2\2\u1d2f\u1d30\7R\2\2\u1d30\u1d31\7V\2\2\u1d31") - buf.write("\u0504\3\2\2\2\u1d32\u1d33\7C\2\2\u1d33\u1d34\7G\2\2\u1d34") - buf.write("\u1d35\7U\2\2\u1d35\u1d36\7a\2\2\u1d36\u1d37\7G\2\2\u1d37") - buf.write("\u1d38\7P\2\2\u1d38\u1d39\7E\2\2\u1d39\u1d3a\7T\2\2\u1d3a") - buf.write("\u1d3b\7[\2\2\u1d3b\u1d3c\7R\2\2\u1d3c\u1d3d\7V\2\2\u1d3d") - buf.write("\u0506\3\2\2\2\u1d3e\u1d3f\7C\2\2\u1d3f\u1d40\7T\2\2\u1d40") - buf.write("\u1d41\7G\2\2\u1d41\u1d42\7C\2\2\u1d42\u0508\3\2\2\2\u1d43") - buf.write("\u1d44\7C\2\2\u1d44\u1d45\7U\2\2\u1d45\u1d46\7D\2\2\u1d46") - buf.write("\u1d47\7K\2\2\u1d47\u1d48\7P\2\2\u1d48\u1d49\7C\2\2\u1d49") - buf.write("\u1d4a\7T\2\2\u1d4a\u1d4b\7[\2\2\u1d4b\u050a\3\2\2\2\u1d4c") - buf.write("\u1d4d\7C\2\2\u1d4d\u1d4e\7U\2\2\u1d4e\u1d4f\7K\2\2\u1d4f") - buf.write("\u1d50\7P\2\2\u1d50\u050c\3\2\2\2\u1d51\u1d52\7C\2\2\u1d52") - buf.write("\u1d53\7U\2\2\u1d53\u1d54\7V\2\2\u1d54\u1d55\7G\2\2\u1d55") - buf.write("\u1d56\7Z\2\2\u1d56\u1d57\7V\2\2\u1d57\u050e\3\2\2\2\u1d58") - buf.write("\u1d59\7C\2\2\u1d59\u1d5a\7U\2\2\u1d5a\u1d5b\7Y\2\2\u1d5b") - buf.write("\u1d5c\7M\2\2\u1d5c\u1d5d\7D\2\2\u1d5d\u0510\3\2\2\2\u1d5e") - buf.write("\u1d5f\7C\2\2\u1d5f\u1d60\7U\2\2\u1d60\u1d61\7Y\2\2\u1d61") - buf.write("\u1d62\7M\2\2\u1d62\u1d63\7V\2\2\u1d63\u0512\3\2\2\2\u1d64") - buf.write("\u1d65\7C\2\2\u1d65\u1d66\7U\2\2\u1d66\u1d67\7[\2\2\u1d67") - buf.write("\u1d68\7O\2\2\u1d68\u1d69\7O\2\2\u1d69\u1d6a\7G\2\2\u1d6a") - buf.write("\u1d6b\7V\2\2\u1d6b\u1d6c\7T\2\2\u1d6c\u1d6d\7K\2\2\u1d6d") - buf.write("\u1d6e\7E\2\2\u1d6e\u1d6f\7a\2\2\u1d6f\u1d70\7F\2\2\u1d70") - buf.write("\u1d71\7G\2\2\u1d71\u1d72\7E\2\2\u1d72\u1d73\7T\2\2\u1d73") - buf.write("\u1d74\7[\2\2\u1d74\u1d75\7R\2\2\u1d75\u1d76\7V\2\2\u1d76") - buf.write("\u0514\3\2\2\2\u1d77\u1d78\7C\2\2\u1d78\u1d79\7U\2\2\u1d79") - buf.write("\u1d7a\7[\2\2\u1d7a\u1d7b\7O\2\2\u1d7b\u1d7c\7O\2\2\u1d7c") - buf.write("\u1d7d\7G\2\2\u1d7d\u1d7e\7V\2\2\u1d7e\u1d7f\7T\2\2\u1d7f") - buf.write("\u1d80\7K\2\2\u1d80\u1d81\7E\2\2\u1d81\u1d82\7a\2\2\u1d82") - buf.write("\u1d83\7F\2\2\u1d83\u1d84\7G\2\2\u1d84\u1d85\7T\2\2\u1d85") - buf.write("\u1d86\7K\2\2\u1d86\u1d87\7X\2\2\u1d87\u1d88\7G\2\2\u1d88") - buf.write("\u0516\3\2\2\2\u1d89\u1d8a\7C\2\2\u1d8a\u1d8b\7U\2\2\u1d8b") - buf.write("\u1d8c\7[\2\2\u1d8c\u1d8d\7O\2\2\u1d8d\u1d8e\7O\2\2\u1d8e") - buf.write("\u1d8f\7G\2\2\u1d8f\u1d90\7V\2\2\u1d90\u1d91\7T\2\2\u1d91") - buf.write("\u1d92\7K\2\2\u1d92\u1d93\7E\2\2\u1d93\u1d94\7a\2\2\u1d94") - buf.write("\u1d95\7G\2\2\u1d95\u1d96\7P\2\2\u1d96\u1d97\7E\2\2\u1d97") - buf.write("\u1d98\7T\2\2\u1d98\u1d99\7[\2\2\u1d99\u1d9a\7R\2\2\u1d9a") - buf.write("\u1d9b\7V\2\2\u1d9b\u0518\3\2\2\2\u1d9c\u1d9d\7C\2\2\u1d9d") - buf.write("\u1d9e\7U\2\2\u1d9e\u1d9f\7[\2\2\u1d9f\u1da0\7O\2\2\u1da0") - buf.write("\u1da1\7O\2\2\u1da1\u1da2\7G\2\2\u1da2\u1da3\7V\2\2\u1da3") - buf.write("\u1da4\7T\2\2\u1da4\u1da5\7K\2\2\u1da5\u1da6\7E\2\2\u1da6") - buf.write("\u1da7\7a\2\2\u1da7\u1da8\7U\2\2\u1da8\u1da9\7K\2\2\u1da9") - buf.write("\u1daa\7I\2\2\u1daa\u1dab\7P\2\2\u1dab\u051a\3\2\2\2\u1dac") - buf.write("\u1dad\7C\2\2\u1dad\u1dae\7U\2\2\u1dae\u1daf\7[\2\2\u1daf") - buf.write("\u1db0\7O\2\2\u1db0\u1db1\7O\2\2\u1db1\u1db2\7G\2\2\u1db2") - buf.write("\u1db3\7V\2\2\u1db3\u1db4\7T\2\2\u1db4\u1db5\7K\2\2\u1db5") - buf.write("\u1db6\7E\2\2\u1db6\u1db7\7a\2\2\u1db7\u1db8\7X\2\2\u1db8") - buf.write("\u1db9\7G\2\2\u1db9\u1dba\7T\2\2\u1dba\u1dbb\7K\2\2\u1dbb") - buf.write("\u1dbc\7H\2\2\u1dbc\u1dbd\7[\2\2\u1dbd\u051c\3\2\2\2\u1dbe") - buf.write("\u1dbf\7C\2\2\u1dbf\u1dc0\7V\2\2\u1dc0\u1dc1\7C\2\2\u1dc1") - buf.write("\u1dc2\7P\2\2\u1dc2\u051e\3\2\2\2\u1dc3\u1dc4\7C\2\2\u1dc4") - buf.write("\u1dc5\7V\2\2\u1dc5\u1dc6\7C\2\2\u1dc6\u1dc7\7P\2\2\u1dc7") - buf.write("\u1dc8\7\64\2\2\u1dc8\u0520\3\2\2\2\u1dc9\u1dca\7D\2\2") - buf.write("\u1dca\u1dcb\7G\2\2\u1dcb\u1dcc\7P\2\2\u1dcc\u1dcd\7E") - buf.write("\2\2\u1dcd\u1dce\7J\2\2\u1dce\u1dcf\7O\2\2\u1dcf\u1dd0") - buf.write("\7C\2\2\u1dd0\u1dd1\7T\2\2\u1dd1\u1dd2\7M\2\2\u1dd2\u0522") - buf.write("\3\2\2\2\u1dd3\u1dd4\7D\2\2\u1dd4\u1dd5\7K\2\2\u1dd5\u1dd6") - buf.write("\7P\2\2\u1dd6\u0524\3\2\2\2\u1dd7\u1dd8\7D\2\2\u1dd8\u1dd9") - buf.write("\7K\2\2\u1dd9\u1dda\7V\2\2\u1dda\u1ddb\7a\2\2\u1ddb\u1ddc") - buf.write("\7E\2\2\u1ddc\u1ddd\7Q\2\2\u1ddd\u1dde\7W\2\2\u1dde\u1ddf") - buf.write("\7P\2\2\u1ddf\u1de0\7V\2\2\u1de0\u0526\3\2\2\2\u1de1\u1de2") - buf.write("\7D\2\2\u1de2\u1de3\7K\2\2\u1de3\u1de4\7V\2\2\u1de4\u1de5") - buf.write("\7a\2\2\u1de5\u1de6\7N\2\2\u1de6\u1de7\7G\2\2\u1de7\u1de8") - buf.write("\7P\2\2\u1de8\u1de9\7I\2\2\u1de9\u1dea\7V\2\2\u1dea\u1deb") - buf.write("\7J\2\2\u1deb\u0528\3\2\2\2\u1dec\u1ded\7D\2\2\u1ded\u1dee") - buf.write("\7W\2\2\u1dee\u1def\7H\2\2\u1def\u1df0\7H\2\2\u1df0\u1df1") - buf.write("\7G\2\2\u1df1\u1df2\7T\2\2\u1df2\u052a\3\2\2\2\u1df3\u1df4") - buf.write("\7E\2\2\u1df4\u1df5\7G\2\2\u1df5\u1df6\7K\2\2\u1df6\u1df7") - buf.write("\7N\2\2\u1df7\u052c\3\2\2\2\u1df8\u1df9\7E\2\2\u1df9\u1dfa") - buf.write("\7G\2\2\u1dfa\u1dfb\7K\2\2\u1dfb\u1dfc\7N\2\2\u1dfc\u1dfd") - buf.write("\7K\2\2\u1dfd\u1dfe\7P\2\2\u1dfe\u1dff\7I\2\2\u1dff\u052e") - buf.write("\3\2\2\2\u1e00\u1e01\7E\2\2\u1e01\u1e02\7G\2\2\u1e02\u1e03") - buf.write("\7P\2\2\u1e03\u1e04\7V\2\2\u1e04\u1e05\7T\2\2\u1e05\u1e06") - buf.write("\7Q\2\2\u1e06\u1e07\7K\2\2\u1e07\u1e08\7F\2\2\u1e08\u0530") - buf.write("\3\2\2\2\u1e09\u1e0a\7E\2\2\u1e0a\u1e0b\7J\2\2\u1e0b\u1e0c") - buf.write("\7C\2\2\u1e0c\u1e0d\7T\2\2\u1e0d\u1e0e\7C\2\2\u1e0e\u1e0f") - buf.write("\7E\2\2\u1e0f\u1e10\7V\2\2\u1e10\u1e11\7G\2\2\u1e11\u1e12") - buf.write("\7T\2\2\u1e12\u1e13\7a\2\2\u1e13\u1e14\7N\2\2\u1e14\u1e15") - buf.write("\7G\2\2\u1e15\u1e16\7P\2\2\u1e16\u1e17\7I\2\2\u1e17\u1e18") - buf.write("\7V\2\2\u1e18\u1e19\7J\2\2\u1e19\u0532\3\2\2\2\u1e1a\u1e1b") - buf.write("\7E\2\2\u1e1b\u1e1c\7J\2\2\u1e1c\u1e1d\7C\2\2\u1e1d\u1e1e") - buf.write("\7T\2\2\u1e1e\u1e1f\7U\2\2\u1e1f\u1e20\7G\2\2\u1e20\u1e21") - buf.write("\7V\2\2\u1e21\u0534\3\2\2\2\u1e22\u1e23\7E\2\2\u1e23\u1e24") - buf.write("\7J\2\2\u1e24\u1e25\7C\2\2\u1e25\u1e26\7T\2\2\u1e26\u1e27") - buf.write("\7a\2\2\u1e27\u1e28\7N\2\2\u1e28\u1e29\7G\2\2\u1e29\u1e2a") - buf.write("\7P\2\2\u1e2a\u1e2b\7I\2\2\u1e2b\u1e2c\7V\2\2\u1e2c\u1e2d") - buf.write("\7J\2\2\u1e2d\u0536\3\2\2\2\u1e2e\u1e2f\7E\2\2\u1e2f\u1e30") - buf.write("\7Q\2\2\u1e30\u1e31\7G\2\2\u1e31\u1e32\7T\2\2\u1e32\u1e33") - buf.write("\7E\2\2\u1e33\u1e34\7K\2\2\u1e34\u1e35\7D\2\2\u1e35\u1e36") - buf.write("\7K\2\2\u1e36\u1e37\7N\2\2\u1e37\u1e38\7K\2\2\u1e38\u1e39") - buf.write("\7V\2\2\u1e39\u1e3a\7[\2\2\u1e3a\u0538\3\2\2\2\u1e3b\u1e3c") - buf.write("\7E\2\2\u1e3c\u1e3d\7Q\2\2\u1e3d\u1e3e\7N\2\2\u1e3e\u1e3f") - buf.write("\7N\2\2\u1e3f\u1e40\7C\2\2\u1e40\u1e41\7V\2\2\u1e41\u1e42") - buf.write("\7K\2\2\u1e42\u1e43\7Q\2\2\u1e43\u1e44\7P\2\2\u1e44\u053a") - buf.write("\3\2\2\2\u1e45\u1e46\7E\2\2\u1e46\u1e47\7Q\2\2\u1e47\u1e48") - buf.write("\7O\2\2\u1e48\u1e49\7R\2\2\u1e49\u1e4a\7T\2\2\u1e4a\u1e4b") - buf.write("\7G\2\2\u1e4b\u1e4c\7U\2\2\u1e4c\u1e4d\7U\2\2\u1e4d\u053c") - buf.write("\3\2\2\2\u1e4e\u1e4f\7E\2\2\u1e4f\u1e50\7Q\2\2\u1e50\u1e51") - buf.write("\7P\2\2\u1e51\u1e52\7E\2\2\u1e52\u1e53\7C\2\2\u1e53\u1e54") - buf.write("\7V\2\2\u1e54\u053e\3\2\2\2\u1e55\u1e56\7E\2\2\u1e56\u1e57") - buf.write("\7Q\2\2\u1e57\u1e58\7P\2\2\u1e58\u1e59\7E\2\2\u1e59\u1e5a") - buf.write("\7C\2\2\u1e5a\u1e5b\7V\2\2\u1e5b\u1e5c\7a\2\2\u1e5c\u1e5d") - buf.write("\7Y\2\2\u1e5d\u1e5e\7U\2\2\u1e5e\u0540\3\2\2\2\u1e5f\u1e60") - buf.write("\7E\2\2\u1e60\u1e61\7Q\2\2\u1e61\u1e62\7P\2\2\u1e62\u1e63") - buf.write("\7P\2\2\u1e63\u1e64\7G\2\2\u1e64\u1e65\7E\2\2\u1e65\u1e66") - buf.write("\7V\2\2\u1e66\u1e67\7K\2\2\u1e67\u1e68\7Q\2\2\u1e68\u1e69") - buf.write("\7P\2\2\u1e69\u1e6a\7a\2\2\u1e6a\u1e6b\7K\2\2\u1e6b\u1e6c") - buf.write("\7F\2\2\u1e6c\u0542\3\2\2\2\u1e6d\u1e6e\7E\2\2\u1e6e\u1e6f") - buf.write("\7Q\2\2\u1e6f\u1e70\7P\2\2\u1e70\u1e71\7X\2\2\u1e71\u0544") - buf.write("\3\2\2\2\u1e72\u1e73\7E\2\2\u1e73\u1e74\7Q\2\2\u1e74\u1e75") - buf.write("\7P\2\2\u1e75\u1e76\7X\2\2\u1e76\u1e77\7G\2\2\u1e77\u1e78") - buf.write("\7T\2\2\u1e78\u1e79\7V\2\2\u1e79\u1e7a\7a\2\2\u1e7a\u1e7b") - buf.write("\7V\2\2\u1e7b\u1e7c\7\\\2\2\u1e7c\u0546\3\2\2\2\u1e7d") - buf.write("\u1e7e\7E\2\2\u1e7e\u1e7f\7Q\2\2\u1e7f\u1e80\7U\2\2\u1e80") - buf.write("\u0548\3\2\2\2\u1e81\u1e82\7E\2\2\u1e82\u1e83\7Q\2\2\u1e83") - buf.write("\u1e84\7V\2\2\u1e84\u054a\3\2\2\2\u1e85\u1e86\7E\2\2\u1e86") - buf.write("\u1e87\7T\2\2\u1e87\u1e88\7E\2\2\u1e88\u1e89\7\65\2\2") - buf.write("\u1e89\u1e8a\7\64\2\2\u1e8a\u054c\3\2\2\2\u1e8b\u1e8c") - buf.write("\7E\2\2\u1e8c\u1e8d\7T\2\2\u1e8d\u1e8e\7G\2\2\u1e8e\u1e8f") - buf.write("\7C\2\2\u1e8f\u1e90\7V\2\2\u1e90\u1e91\7G\2\2\u1e91\u1e92") - buf.write("\7a\2\2\u1e92\u1e93\7C\2\2\u1e93\u1e94\7U\2\2\u1e94\u1e95") - buf.write("\7[\2\2\u1e95\u1e96\7O\2\2\u1e96\u1e97\7O\2\2\u1e97\u1e98") - buf.write("\7G\2\2\u1e98\u1e99\7V\2\2\u1e99\u1e9a\7T\2\2\u1e9a\u1e9b") - buf.write("\7K\2\2\u1e9b\u1e9c\7E\2\2\u1e9c\u1e9d\7a\2\2\u1e9d\u1e9e") - buf.write("\7R\2\2\u1e9e\u1e9f\7T\2\2\u1e9f\u1ea0\7K\2\2\u1ea0\u1ea1") - buf.write("\7X\2\2\u1ea1\u1ea2\7a\2\2\u1ea2\u1ea3\7M\2\2\u1ea3\u1ea4") - buf.write("\7G\2\2\u1ea4\u1ea5\7[\2\2\u1ea5\u054e\3\2\2\2\u1ea6\u1ea7") - buf.write("\7E\2\2\u1ea7\u1ea8\7T\2\2\u1ea8\u1ea9\7G\2\2\u1ea9\u1eaa") - buf.write("\7C\2\2\u1eaa\u1eab\7V\2\2\u1eab\u1eac\7G\2\2\u1eac\u1ead") - buf.write("\7a\2\2\u1ead\u1eae\7C\2\2\u1eae\u1eaf\7U\2\2\u1eaf\u1eb0") - buf.write("\7[\2\2\u1eb0\u1eb1\7O\2\2\u1eb1\u1eb2\7O\2\2\u1eb2\u1eb3") - buf.write("\7G\2\2\u1eb3\u1eb4\7V\2\2\u1eb4\u1eb5\7T\2\2\u1eb5\u1eb6") - buf.write("\7K\2\2\u1eb6\u1eb7\7E\2\2\u1eb7\u1eb8\7a\2\2\u1eb8\u1eb9") - buf.write("\7R\2\2\u1eb9\u1eba\7W\2\2\u1eba\u1ebb\7D\2\2\u1ebb\u1ebc") - buf.write("\7a\2\2\u1ebc\u1ebd\7M\2\2\u1ebd\u1ebe\7G\2\2\u1ebe\u1ebf") - buf.write("\7[\2\2\u1ebf\u0550\3\2\2\2\u1ec0\u1ec1\7E\2\2\u1ec1\u1ec2") - buf.write("\7T\2\2\u1ec2\u1ec3\7G\2\2\u1ec3\u1ec4\7C\2\2\u1ec4\u1ec5") - buf.write("\7V\2\2\u1ec5\u1ec6\7G\2\2\u1ec6\u1ec7\7a\2\2\u1ec7\u1ec8") - buf.write("\7F\2\2\u1ec8\u1ec9\7J\2\2\u1ec9\u1eca\7a\2\2\u1eca\u1ecb") - buf.write("\7R\2\2\u1ecb\u1ecc\7C\2\2\u1ecc\u1ecd\7T\2\2\u1ecd\u1ece") - buf.write("\7C\2\2\u1ece\u1ecf\7O\2\2\u1ecf\u1ed0\7G\2\2\u1ed0\u1ed1") - buf.write("\7V\2\2\u1ed1\u1ed2\7G\2\2\u1ed2\u1ed3\7T\2\2\u1ed3\u1ed4") - buf.write("\7U\2\2\u1ed4\u0552\3\2\2\2\u1ed5\u1ed6\7E\2\2\u1ed6\u1ed7") - buf.write("\7T\2\2\u1ed7\u1ed8\7G\2\2\u1ed8\u1ed9\7C\2\2\u1ed9\u1eda") - buf.write("\7V\2\2\u1eda\u1edb\7G\2\2\u1edb\u1edc\7a\2\2\u1edc\u1edd") - buf.write("\7F\2\2\u1edd\u1ede\7K\2\2\u1ede\u1edf\7I\2\2\u1edf\u1ee0") - buf.write("\7G\2\2\u1ee0\u1ee1\7U\2\2\u1ee1\u1ee2\7V\2\2\u1ee2\u0554") - buf.write("\3\2\2\2\u1ee3\u1ee4\7E\2\2\u1ee4\u1ee5\7T\2\2\u1ee5\u1ee6") - buf.write("\7Q\2\2\u1ee6\u1ee7\7U\2\2\u1ee7\u1ee8\7U\2\2\u1ee8\u1ee9") - buf.write("\7G\2\2\u1ee9\u1eea\7U\2\2\u1eea\u0556\3\2\2\2\u1eeb\u1eec") - buf.write("\7F\2\2\u1eec\u1eed\7C\2\2\u1eed\u1eee\7V\2\2\u1eee\u1eef") - buf.write("\7G\2\2\u1eef\u1ef0\7F\2\2\u1ef0\u1ef1\7K\2\2\u1ef1\u1ef2") - buf.write("\7H\2\2\u1ef2\u1ef3\7H\2\2\u1ef3\u0558\3\2\2\2\u1ef4\u1ef5") - buf.write("\7F\2\2\u1ef5\u1ef6\7C\2\2\u1ef6\u1ef7\7V\2\2\u1ef7\u1ef8") - buf.write("\7G\2\2\u1ef8\u1ef9\7a\2\2\u1ef9\u1efa\7H\2\2\u1efa\u1efb") - buf.write("\7Q\2\2\u1efb\u1efc\7T\2\2\u1efc\u1efd\7O\2\2\u1efd\u1efe") - buf.write("\7C\2\2\u1efe\u1eff\7V\2\2\u1eff\u055a\3\2\2\2\u1f00\u1f01") - buf.write("\7F\2\2\u1f01\u1f02\7C\2\2\u1f02\u1f03\7[\2\2\u1f03\u1f04") - buf.write("\7P\2\2\u1f04\u1f05\7C\2\2\u1f05\u1f06\7O\2\2\u1f06\u1f07") - buf.write("\7G\2\2\u1f07\u055c\3\2\2\2\u1f08\u1f09\7F\2\2\u1f09\u1f0a") - buf.write("\7C\2\2\u1f0a\u1f0b\7[\2\2\u1f0b\u1f0c\7Q\2\2\u1f0c\u1f0d") - buf.write("\7H\2\2\u1f0d\u1f0e\7O\2\2\u1f0e\u1f0f\7Q\2\2\u1f0f\u1f10") - buf.write("\7P\2\2\u1f10\u1f11\7V\2\2\u1f11\u1f12\7J\2\2\u1f12\u055e") - buf.write("\3\2\2\2\u1f13\u1f14\7F\2\2\u1f14\u1f15\7C\2\2\u1f15\u1f16") - buf.write("\7[\2\2\u1f16\u1f17\7Q\2\2\u1f17\u1f18\7H\2\2\u1f18\u1f19") - buf.write("\7Y\2\2\u1f19\u1f1a\7G\2\2\u1f1a\u1f1b\7G\2\2\u1f1b\u1f1c") - buf.write("\7M\2\2\u1f1c\u0560\3\2\2\2\u1f1d\u1f1e\7F\2\2\u1f1e\u1f1f") - buf.write("\7C\2\2\u1f1f\u1f20\7[\2\2\u1f20\u1f21\7Q\2\2\u1f21\u1f22") - buf.write("\7H\2\2\u1f22\u1f23\7[\2\2\u1f23\u1f24\7G\2\2\u1f24\u1f25") - buf.write("\7C\2\2\u1f25\u1f26\7T\2\2\u1f26\u0562\3\2\2\2\u1f27\u1f28") - buf.write("\7F\2\2\u1f28\u1f29\7G\2\2\u1f29\u1f2a\7E\2\2\u1f2a\u1f2b") - buf.write("\7Q\2\2\u1f2b\u1f2c\7F\2\2\u1f2c\u1f2d\7G\2\2\u1f2d\u0564") - buf.write("\3\2\2\2\u1f2e\u1f2f\7F\2\2\u1f2f\u1f30\7G\2\2\u1f30\u1f31") - buf.write("\7I\2\2\u1f31\u1f32\7T\2\2\u1f32\u1f33\7G\2\2\u1f33\u1f34") - buf.write("\7G\2\2\u1f34\u1f35\7U\2\2\u1f35\u0566\3\2\2\2\u1f36\u1f37") - buf.write("\7F\2\2\u1f37\u1f38\7G\2\2\u1f38\u1f39\7U\2\2\u1f39\u1f3a") - buf.write("\7a\2\2\u1f3a\u1f3b\7F\2\2\u1f3b\u1f3c\7G\2\2\u1f3c\u1f3d") - buf.write("\7E\2\2\u1f3d\u1f3e\7T\2\2\u1f3e\u1f3f\7[\2\2\u1f3f\u1f40") - buf.write("\7R\2\2\u1f40\u1f41\7V\2\2\u1f41\u0568\3\2\2\2\u1f42\u1f43") - buf.write("\7F\2\2\u1f43\u1f44\7G\2\2\u1f44\u1f45\7U\2\2\u1f45\u1f46") - buf.write("\7a\2\2\u1f46\u1f47\7G\2\2\u1f47\u1f48\7P\2\2\u1f48\u1f49") - buf.write("\7E\2\2\u1f49\u1f4a\7T\2\2\u1f4a\u1f4b\7[\2\2\u1f4b\u1f4c") - buf.write("\7R\2\2\u1f4c\u1f4d\7V\2\2\u1f4d\u056a\3\2\2\2\u1f4e\u1f4f") - buf.write("\7F\2\2\u1f4f\u1f50\7K\2\2\u1f50\u1f51\7O\2\2\u1f51\u1f52") - buf.write("\7G\2\2\u1f52\u1f53\7P\2\2\u1f53\u1f54\7U\2\2\u1f54\u1f55") - buf.write("\7K\2\2\u1f55\u1f56\7Q\2\2\u1f56\u1f57\7P\2\2\u1f57\u056c") - buf.write("\3\2\2\2\u1f58\u1f59\7F\2\2\u1f59\u1f5a\7K\2\2\u1f5a\u1f5b") - buf.write("\7U\2\2\u1f5b\u1f5c\7L\2\2\u1f5c\u1f5d\7Q\2\2\u1f5d\u1f5e") - buf.write("\7K\2\2\u1f5e\u1f5f\7P\2\2\u1f5f\u1f60\7V\2\2\u1f60\u056e") - buf.write("\3\2\2\2\u1f61\u1f62\7G\2\2\u1f62\u1f63\7N\2\2\u1f63\u1f64") - buf.write("\7V\2\2\u1f64\u0570\3\2\2\2\u1f65\u1f66\7G\2\2\u1f66\u1f67") - buf.write("\7P\2\2\u1f67\u1f68\7E\2\2\u1f68\u1f69\7Q\2\2\u1f69\u1f6a") - buf.write("\7F\2\2\u1f6a\u1f6b\7G\2\2\u1f6b\u0572\3\2\2\2\u1f6c\u1f6d") - buf.write("\7G\2\2\u1f6d\u1f6e\7P\2\2\u1f6e\u1f6f\7E\2\2\u1f6f\u1f70") - buf.write("\7T\2\2\u1f70\u1f71\7[\2\2\u1f71\u1f72\7R\2\2\u1f72\u1f73") - buf.write("\7V\2\2\u1f73\u0574\3\2\2\2\u1f74\u1f75\7G\2\2\u1f75\u1f76") - buf.write("\7P\2\2\u1f76\u1f77\7F\2\2\u1f77\u1f78\7R\2\2\u1f78\u1f79") - buf.write("\7Q\2\2\u1f79\u1f7a\7K\2\2\u1f7a\u1f7b\7P\2\2\u1f7b\u1f7c") - buf.write("\7V\2\2\u1f7c\u0576\3\2\2\2\u1f7d\u1f7e\7G\2\2\u1f7e\u1f7f") - buf.write("\7P\2\2\u1f7f\u1f80\7X\2\2\u1f80\u1f81\7G\2\2\u1f81\u1f82") - buf.write("\7N\2\2\u1f82\u1f83\7Q\2\2\u1f83\u1f84\7R\2\2\u1f84\u1f85") - buf.write("\7G\2\2\u1f85\u0578\3\2\2\2\u1f86\u1f87\7G\2\2\u1f87\u1f88") - buf.write("\7S\2\2\u1f88\u1f89\7W\2\2\u1f89\u1f8a\7C\2\2\u1f8a\u1f8b") - buf.write("\7N\2\2\u1f8b\u1f8c\7U\2\2\u1f8c\u057a\3\2\2\2\u1f8d\u1f8e") - buf.write("\7G\2\2\u1f8e\u1f8f\7Z\2\2\u1f8f\u1f90\7R\2\2\u1f90\u057c") - buf.write("\3\2\2\2\u1f91\u1f92\7G\2\2\u1f92\u1f93\7Z\2\2\u1f93\u1f94") - buf.write("\7R\2\2\u1f94\u1f95\7Q\2\2\u1f95\u1f96\7T\2\2\u1f96\u1f97") - buf.write("\7V\2\2\u1f97\u1f98\7a\2\2\u1f98\u1f99\7U\2\2\u1f99\u1f9a") - buf.write("\7G\2\2\u1f9a\u1f9b\7V\2\2\u1f9b\u057e\3\2\2\2\u1f9c\u1f9d") - buf.write("\7G\2\2\u1f9d\u1f9e\7Z\2\2\u1f9e\u1f9f\7V\2\2\u1f9f\u1fa0") - buf.write("\7G\2\2\u1fa0\u1fa1\7T\2\2\u1fa1\u1fa2\7K\2\2\u1fa2\u1fa3") - buf.write("\7Q\2\2\u1fa3\u1fa4\7T\2\2\u1fa4\u1fa5\7T\2\2\u1fa5\u1fa6") - buf.write("\7K\2\2\u1fa6\u1fa7\7P\2\2\u1fa7\u1fa8\7I\2\2\u1fa8\u0580") - buf.write("\3\2\2\2\u1fa9\u1faa\7G\2\2\u1faa\u1fab\7Z\2\2\u1fab\u1fac") - buf.write("\7V\2\2\u1fac\u1fad\7T\2\2\u1fad\u1fae\7C\2\2\u1fae\u1faf") - buf.write("\7E\2\2\u1faf\u1fb0\7V\2\2\u1fb0\u1fb1\7X\2\2\u1fb1\u1fb2") - buf.write("\7C\2\2\u1fb2\u1fb3\7N\2\2\u1fb3\u1fb4\7W\2\2\u1fb4\u1fb5") - buf.write("\7G\2\2\u1fb5\u0582\3\2\2\2\u1fb6\u1fb7\7H\2\2\u1fb7\u1fb8") - buf.write("\7K\2\2\u1fb8\u1fb9\7G\2\2\u1fb9\u1fba\7N\2\2\u1fba\u1fbb") - buf.write("\7F\2\2\u1fbb\u0584\3\2\2\2\u1fbc\u1fbd\7H\2\2\u1fbd\u1fbe") - buf.write("\7K\2\2\u1fbe\u1fbf\7P\2\2\u1fbf\u1fc0\7F\2\2\u1fc0\u1fc1") - buf.write("\7a\2\2\u1fc1\u1fc2\7K\2\2\u1fc2\u1fc3\7P\2\2\u1fc3\u1fc4") - buf.write("\7a\2\2\u1fc4\u1fc5\7U\2\2\u1fc5\u1fc6\7G\2\2\u1fc6\u1fc7") - buf.write("\7V\2\2\u1fc7\u0586\3\2\2\2\u1fc8\u1fc9\7H\2\2\u1fc9\u1fca") - buf.write("\7N\2\2\u1fca\u1fcb\7Q\2\2\u1fcb\u1fcc\7Q\2\2\u1fcc\u1fcd") - buf.write("\7T\2\2\u1fcd\u0588\3\2\2\2\u1fce\u1fcf\7H\2\2\u1fcf\u1fd0") - buf.write("\7Q\2\2\u1fd0\u1fd1\7T\2\2\u1fd1\u1fd2\7O\2\2\u1fd2\u1fd3") - buf.write("\7C\2\2\u1fd3\u1fd4\7V\2\2\u1fd4\u058a\3\2\2\2\u1fd5\u1fd6") - buf.write("\7H\2\2\u1fd6\u1fd7\7Q\2\2\u1fd7\u1fd8\7W\2\2\u1fd8\u1fd9") - buf.write("\7P\2\2\u1fd9\u1fda\7F\2\2\u1fda\u1fdb\7a\2\2\u1fdb\u1fdc") - buf.write("\7T\2\2\u1fdc\u1fdd\7Q\2\2\u1fdd\u1fde\7Y\2\2\u1fde\u1fdf") - buf.write("\7U\2\2\u1fdf\u058c\3\2\2\2\u1fe0\u1fe1\7H\2\2\u1fe1\u1fe2") - buf.write("\7T\2\2\u1fe2\u1fe3\7Q\2\2\u1fe3\u1fe4\7O\2\2\u1fe4\u1fe5") - buf.write("\7a\2\2\u1fe5\u1fe6\7D\2\2\u1fe6\u1fe7\7C\2\2\u1fe7\u1fe8") - buf.write("\7U\2\2\u1fe8\u1fe9\7G\2\2\u1fe9\u1fea\78\2\2\u1fea\u1feb") - buf.write("\7\66\2\2\u1feb\u058e\3\2\2\2\u1fec\u1fed\7H\2\2\u1fed") - buf.write("\u1fee\7T\2\2\u1fee\u1fef\7Q\2\2\u1fef\u1ff0\7O\2\2\u1ff0") - buf.write("\u1ff1\7a\2\2\u1ff1\u1ff2\7F\2\2\u1ff2\u1ff3\7C\2\2\u1ff3") - buf.write("\u1ff4\7[\2\2\u1ff4\u1ff5\7U\2\2\u1ff5\u0590\3\2\2\2\u1ff6") - buf.write("\u1ff7\7H\2\2\u1ff7\u1ff8\7T\2\2\u1ff8\u1ff9\7Q\2\2\u1ff9") - buf.write("\u1ffa\7O\2\2\u1ffa\u1ffb\7a\2\2\u1ffb\u1ffc\7W\2\2\u1ffc") - buf.write("\u1ffd\7P\2\2\u1ffd\u1ffe\7K\2\2\u1ffe\u1fff\7Z\2\2\u1fff") - buf.write("\u2000\7V\2\2\u2000\u2001\7K\2\2\u2001\u2002\7O\2\2\u2002") - buf.write("\u2003\7G\2\2\u2003\u0592\3\2\2\2\u2004\u2005\7I\2\2\u2005") - buf.write("\u2006\7G\2\2\u2006\u2007\7Q\2\2\u2007\u2008\7O\2\2\u2008") - buf.write("\u2009\7E\2\2\u2009\u200a\7Q\2\2\u200a\u200b\7N\2\2\u200b") - buf.write("\u200c\7N\2\2\u200c\u200d\7H\2\2\u200d\u200e\7T\2\2\u200e") - buf.write("\u200f\7Q\2\2\u200f\u2010\7O\2\2\u2010\u2011\7V\2\2\u2011") - buf.write("\u2012\7G\2\2\u2012\u2013\7Z\2\2\u2013\u2014\7V\2\2\u2014") - buf.write("\u0594\3\2\2\2\u2015\u2016\7I\2\2\u2016\u2017\7G\2\2\u2017") - buf.write("\u2018\7Q\2\2\u2018\u2019\7O\2\2\u2019\u201a\7E\2\2\u201a") - buf.write("\u201b\7Q\2\2\u201b\u201c\7N\2\2\u201c\u201d\7N\2\2\u201d") - buf.write("\u201e\7H\2\2\u201e\u201f\7T\2\2\u201f\u2020\7Q\2\2\u2020") - buf.write("\u2021\7O\2\2\u2021\u2022\7Y\2\2\u2022\u2023\7M\2\2\u2023") - buf.write("\u2024\7D\2\2\u2024\u0596\3\2\2\2\u2025\u2026\7I\2\2\u2026") - buf.write("\u2027\7G\2\2\u2027\u2028\7Q\2\2\u2028\u2029\7O\2\2\u2029") - buf.write("\u202a\7G\2\2\u202a\u202b\7V\2\2\u202b\u202c\7T\2\2\u202c") - buf.write("\u202d\7[\2\2\u202d\u202e\7E\2\2\u202e\u202f\7Q\2\2\u202f") - buf.write("\u2030\7N\2\2\u2030\u2031\7N\2\2\u2031\u2032\7G\2\2\u2032") - buf.write("\u2033\7E\2\2\u2033\u2034\7V\2\2\u2034\u2035\7K\2\2\u2035") - buf.write("\u2036\7Q\2\2\u2036\u2037\7P\2\2\u2037\u2038\7H\2\2\u2038") - buf.write("\u2039\7T\2\2\u2039\u203a\7Q\2\2\u203a\u203b\7O\2\2\u203b") - buf.write("\u203c\7V\2\2\u203c\u203d\7G\2\2\u203d\u203e\7Z\2\2\u203e") - buf.write("\u203f\7V\2\2\u203f\u0598\3\2\2\2\u2040\u2041\7I\2\2\u2041") - buf.write("\u2042\7G\2\2\u2042\u2043\7Q\2\2\u2043\u2044\7O\2\2\u2044") - buf.write("\u2045\7G\2\2\u2045\u2046\7V\2\2\u2046\u2047\7T\2\2\u2047") - buf.write("\u2048\7[\2\2\u2048\u2049\7E\2\2\u2049\u204a\7Q\2\2\u204a") - buf.write("\u204b\7N\2\2\u204b\u204c\7N\2\2\u204c\u204d\7G\2\2\u204d") - buf.write("\u204e\7E\2\2\u204e\u204f\7V\2\2\u204f\u2050\7K\2\2\u2050") - buf.write("\u2051\7Q\2\2\u2051\u2052\7P\2\2\u2052\u2053\7H\2\2\u2053") - buf.write("\u2054\7T\2\2\u2054\u2055\7Q\2\2\u2055\u2056\7O\2\2\u2056") - buf.write("\u2057\7Y\2\2\u2057\u2058\7M\2\2\u2058\u2059\7D\2\2\u2059") - buf.write("\u059a\3\2\2\2\u205a\u205b\7I\2\2\u205b\u205c\7G\2\2\u205c") - buf.write("\u205d\7Q\2\2\u205d\u205e\7O\2\2\u205e\u205f\7G\2\2\u205f") - buf.write("\u2060\7V\2\2\u2060\u2061\7T\2\2\u2061\u2062\7[\2\2\u2062") - buf.write("\u2063\7H\2\2\u2063\u2064\7T\2\2\u2064\u2065\7Q\2\2\u2065") - buf.write("\u2066\7O\2\2\u2066\u2067\7V\2\2\u2067\u2068\7G\2\2\u2068") - buf.write("\u2069\7Z\2\2\u2069\u206a\7V\2\2\u206a\u059c\3\2\2\2\u206b") - buf.write("\u206c\7I\2\2\u206c\u206d\7G\2\2\u206d\u206e\7Q\2\2\u206e") - buf.write("\u206f\7O\2\2\u206f\u2070\7G\2\2\u2070\u2071\7V\2\2\u2071") - buf.write("\u2072\7T\2\2\u2072\u2073\7[\2\2\u2073\u2074\7H\2\2\u2074") - buf.write("\u2075\7T\2\2\u2075\u2076\7Q\2\2\u2076\u2077\7O\2\2\u2077") - buf.write("\u2078\7Y\2\2\u2078\u2079\7M\2\2\u2079\u207a\7D\2\2\u207a") - buf.write("\u059e\3\2\2\2\u207b\u207c\7I\2\2\u207c\u207d\7G\2\2\u207d") - buf.write("\u207e\7Q\2\2\u207e\u207f\7O\2\2\u207f\u2080\7G\2\2\u2080") - buf.write("\u2081\7V\2\2\u2081\u2082\7T\2\2\u2082\u2083\7[\2\2\u2083") - buf.write("\u2084\7P\2\2\u2084\u05a0\3\2\2\2\u2085\u2086\7I\2\2\u2086") - buf.write("\u2087\7G\2\2\u2087\u2088\7Q\2\2\u2088\u2089\7O\2\2\u2089") - buf.write("\u208a\7G\2\2\u208a\u208b\7V\2\2\u208b\u208c\7T\2\2\u208c") - buf.write("\u208d\7[\2\2\u208d\u208e\7V\2\2\u208e\u208f\7[\2\2\u208f") - buf.write("\u2090\7R\2\2\u2090\u2091\7G\2\2\u2091\u05a2\3\2\2\2\u2092") - buf.write("\u2093\7I\2\2\u2093\u2094\7G\2\2\u2094\u2095\7Q\2\2\u2095") - buf.write("\u2096\7O\2\2\u2096\u2097\7H\2\2\u2097\u2098\7T\2\2\u2098") - buf.write("\u2099\7Q\2\2\u2099\u209a\7O\2\2\u209a\u209b\7V\2\2\u209b") - buf.write("\u209c\7G\2\2\u209c\u209d\7Z\2\2\u209d\u209e\7V\2\2\u209e") - buf.write("\u05a4\3\2\2\2\u209f\u20a0\7I\2\2\u20a0\u20a1\7G\2\2\u20a1") - buf.write("\u20a2\7Q\2\2\u20a2\u20a3\7O\2\2\u20a3\u20a4\7H\2\2\u20a4") - buf.write("\u20a5\7T\2\2\u20a5\u20a6\7Q\2\2\u20a6\u20a7\7O\2\2\u20a7") - buf.write("\u20a8\7Y\2\2\u20a8\u20a9\7M\2\2\u20a9\u20aa\7D\2\2\u20aa") - buf.write("\u05a6\3\2\2\2\u20ab\u20ac\7I\2\2\u20ac\u20ad\7G\2\2\u20ad") - buf.write("\u20ae\7V\2\2\u20ae\u20af\7a\2\2\u20af\u20b0\7H\2\2\u20b0") - buf.write("\u20b1\7Q\2\2\u20b1\u20b2\7T\2\2\u20b2\u20b3\7O\2\2\u20b3") - buf.write("\u20b4\7C\2\2\u20b4\u20b5\7V\2\2\u20b5\u05a8\3\2\2\2\u20b6") - buf.write("\u20b7\7I\2\2\u20b7\u20b8\7G\2\2\u20b8\u20b9\7V\2\2\u20b9") - buf.write("\u20ba\7a\2\2\u20ba\u20bb\7N\2\2\u20bb\u20bc\7Q\2\2\u20bc") - buf.write("\u20bd\7E\2\2\u20bd\u20be\7M\2\2\u20be\u05aa\3\2\2\2\u20bf") - buf.write("\u20c0\7I\2\2\u20c0\u20c1\7N\2\2\u20c1\u20c2\7G\2\2\u20c2") - buf.write("\u20c3\7P\2\2\u20c3\u20c4\7I\2\2\u20c4\u20c5\7V\2\2\u20c5") - buf.write("\u20c6\7J\2\2\u20c6\u05ac\3\2\2\2\u20c7\u20c8\7I\2\2\u20c8") - buf.write("\u20c9\7T\2\2\u20c9\u20ca\7G\2\2\u20ca\u20cb\7C\2\2\u20cb") - buf.write("\u20cc\7V\2\2\u20cc\u20cd\7G\2\2\u20cd\u20ce\7U\2\2\u20ce") - buf.write("\u20cf\7V\2\2\u20cf\u05ae\3\2\2\2\u20d0\u20d1\7I\2\2\u20d1") - buf.write("\u20d2\7V\2\2\u20d2\u20d3\7K\2\2\u20d3\u20d4\7F\2\2\u20d4") - buf.write("\u20d5\7a\2\2\u20d5\u20d6\7U\2\2\u20d6\u20d7\7W\2\2\u20d7") - buf.write("\u20d8\7D\2\2\u20d8\u20d9\7U\2\2\u20d9\u20da\7G\2\2\u20da") - buf.write("\u20db\7V\2\2\u20db\u05b0\3\2\2\2\u20dc\u20dd\7I\2\2\u20dd") - buf.write("\u20de\7V\2\2\u20de\u20df\7K\2\2\u20df\u20e0\7F\2\2\u20e0") - buf.write("\u20e1\7a\2\2\u20e1\u20e2\7U\2\2\u20e2\u20e3\7W\2\2\u20e3") - buf.write("\u20e4\7D\2\2\u20e4\u20e5\7V\2\2\u20e5\u20e6\7T\2\2\u20e6") - buf.write("\u20e7\7C\2\2\u20e7\u20e8\7E\2\2\u20e8\u20e9\7V\2\2\u20e9") - buf.write("\u05b2\3\2\2\2\u20ea\u20eb\7J\2\2\u20eb\u20ec\7G\2\2\u20ec") - buf.write("\u20ed\7Z\2\2\u20ed\u05b4\3\2\2\2\u20ee\u20ef\7K\2\2\u20ef") - buf.write("\u20f0\7H\2\2\u20f0\u20f1\7P\2\2\u20f1\u20f2\7W\2\2\u20f2") - buf.write("\u20f3\7N\2\2\u20f3\u20f4\7N\2\2\u20f4\u05b6\3\2\2\2\u20f5") - buf.write("\u20f6\7K\2\2\u20f6\u20f7\7P\2\2\u20f7\u20f8\7G\2\2\u20f8") - buf.write("\u20f9\7V\2\2\u20f9\u20fa\78\2\2\u20fa\u20fb\7a\2\2\u20fb") - buf.write("\u20fc\7C\2\2\u20fc\u20fd\7V\2\2\u20fd\u20fe\7Q\2\2\u20fe") - buf.write("\u20ff\7P\2\2\u20ff\u05b8\3\2\2\2\u2100\u2101\7K\2\2\u2101") - buf.write("\u2102\7P\2\2\u2102\u2103\7G\2\2\u2103\u2104\7V\2\2\u2104") - buf.write("\u2105\78\2\2\u2105\u2106\7a\2\2\u2106\u2107\7P\2\2\u2107") - buf.write("\u2108\7V\2\2\u2108\u2109\7Q\2\2\u2109\u210a\7C\2\2\u210a") - buf.write("\u05ba\3\2\2\2\u210b\u210c\7K\2\2\u210c\u210d\7P\2\2\u210d") - buf.write("\u210e\7G\2\2\u210e\u210f\7V\2\2\u210f\u2110\7a\2\2\u2110") - buf.write("\u2111\7C\2\2\u2111\u2112\7V\2\2\u2112\u2113\7Q\2\2\u2113") - buf.write("\u2114\7P\2\2\u2114\u05bc\3\2\2\2\u2115\u2116\7K\2\2\u2116") - buf.write("\u2117\7P\2\2\u2117\u2118\7G\2\2\u2118\u2119\7V\2\2\u2119") - buf.write("\u211a\7a\2\2\u211a\u211b\7P\2\2\u211b\u211c\7V\2\2\u211c") - buf.write("\u211d\7Q\2\2\u211d\u211e\7C\2\2\u211e\u05be\3\2\2\2\u211f") - buf.write("\u2120\7K\2\2\u2120\u2121\7P\2\2\u2121\u2122\7U\2\2\u2122") - buf.write("\u2123\7V\2\2\u2123\u2124\7T\2\2\u2124\u05c0\3\2\2\2\u2125") - buf.write("\u2126\7K\2\2\u2126\u2127\7P\2\2\u2127\u2128\7V\2\2\u2128") - buf.write("\u2129\7G\2\2\u2129\u212a\7T\2\2\u212a\u212b\7K\2\2\u212b") - buf.write("\u212c\7Q\2\2\u212c\u212d\7T\2\2\u212d\u212e\7T\2\2\u212e") - buf.write("\u212f\7K\2\2\u212f\u2130\7P\2\2\u2130\u2131\7I\2\2\u2131") - buf.write("\u2132\7P\2\2\u2132\u05c2\3\2\2\2\u2133\u2134\7K\2\2\u2134") - buf.write("\u2135\7P\2\2\u2135\u2136\7V\2\2\u2136\u2137\7G\2\2\u2137") - buf.write("\u2138\7T\2\2\u2138\u2139\7U\2\2\u2139\u213a\7G\2\2\u213a") - buf.write("\u213b\7E\2\2\u213b\u213c\7V\2\2\u213c\u213d\7U\2\2\u213d") - buf.write("\u05c4\3\2\2\2\u213e\u213f\7K\2\2\u213f\u2140\7U\2\2\u2140") - buf.write("\u2141\7E\2\2\u2141\u2142\7N\2\2\u2142\u2143\7Q\2\2\u2143") - buf.write("\u2144\7U\2\2\u2144\u2145\7G\2\2\u2145\u2146\7F\2\2\u2146") - buf.write("\u05c6\3\2\2\2\u2147\u2148\7K\2\2\u2148\u2149\7U\2\2\u2149") - buf.write("\u214a\7G\2\2\u214a\u214b\7O\2\2\u214b\u214c\7R\2\2\u214c") - buf.write("\u214d\7V\2\2\u214d\u214e\7[\2\2\u214e\u05c8\3\2\2\2\u214f") - buf.write("\u2150\7K\2\2\u2150\u2151\7U\2\2\u2151\u2152\7P\2\2\u2152") - buf.write("\u2153\7W\2\2\u2153\u2154\7N\2\2\u2154\u2155\7N\2\2\u2155") - buf.write("\u05ca\3\2\2\2\u2156\u2157\7K\2\2\u2157\u2158\7U\2\2\u2158") - buf.write("\u2159\7U\2\2\u2159\u215a\7K\2\2\u215a\u215b\7O\2\2\u215b") - buf.write("\u215c\7R\2\2\u215c\u215d\7N\2\2\u215d\u215e\7G\2\2\u215e") - buf.write("\u05cc\3\2\2\2\u215f\u2160\7K\2\2\u2160\u2161\7U\2\2\u2161") - buf.write("\u2162\7a\2\2\u2162\u2163\7H\2\2\u2163\u2164\7T\2\2\u2164") - buf.write("\u2165\7G\2\2\u2165\u2166\7G\2\2\u2166\u2167\7a\2\2\u2167") - buf.write("\u2168\7N\2\2\u2168\u2169\7Q\2\2\u2169\u216a\7E\2\2\u216a") - buf.write("\u216b\7M\2\2\u216b\u05ce\3\2\2\2\u216c\u216d\7K\2\2\u216d") - buf.write("\u216e\7U\2\2\u216e\u216f\7a\2\2\u216f\u2170\7K\2\2\u2170") - buf.write("\u2171\7R\2\2\u2171\u2172\7X\2\2\u2172\u2173\7\66\2\2") - buf.write("\u2173\u05d0\3\2\2\2\u2174\u2175\7K\2\2\u2175\u2176\7") - buf.write("U\2\2\u2176\u2177\7a\2\2\u2177\u2178\7K\2\2\u2178\u2179") - buf.write("\7R\2\2\u2179\u217a\7X\2\2\u217a\u217b\7\66\2\2\u217b") - buf.write("\u217c\7a\2\2\u217c\u217d\7E\2\2\u217d\u217e\7Q\2\2\u217e") - buf.write("\u217f\7O\2\2\u217f\u2180\7R\2\2\u2180\u2181\7C\2\2\u2181") - buf.write("\u2182\7V\2\2\u2182\u05d2\3\2\2\2\u2183\u2184\7K\2\2\u2184") - buf.write("\u2185\7U\2\2\u2185\u2186\7a\2\2\u2186\u2187\7K\2\2\u2187") - buf.write("\u2188\7R\2\2\u2188\u2189\7X\2\2\u2189\u218a\7\66\2\2") - buf.write("\u218a\u218b\7a\2\2\u218b\u218c\7O\2\2\u218c\u218d\7C") - buf.write("\2\2\u218d\u218e\7R\2\2\u218e\u218f\7R\2\2\u218f\u2190") - buf.write("\7G\2\2\u2190\u2191\7F\2\2\u2191\u05d4\3\2\2\2\u2192\u2193") - buf.write("\7K\2\2\u2193\u2194\7U\2\2\u2194\u2195\7a\2\2\u2195\u2196") - buf.write("\7K\2\2\u2196\u2197\7R\2\2\u2197\u2198\7X\2\2\u2198\u2199") - buf.write("\78\2\2\u2199\u05d6\3\2\2\2\u219a\u219b\7K\2\2\u219b\u219c") - buf.write("\7U\2\2\u219c\u219d\7a\2\2\u219d\u219e\7W\2\2\u219e\u219f") - buf.write("\7U\2\2\u219f\u21a0\7G\2\2\u21a0\u21a1\7F\2\2\u21a1\u21a2") - buf.write("\7a\2\2\u21a2\u21a3\7N\2\2\u21a3\u21a4\7Q\2\2\u21a4\u21a5") - buf.write("\7E\2\2\u21a5\u21a6\7M\2\2\u21a6\u05d8\3\2\2\2\u21a7\u21a8") - buf.write("\7N\2\2\u21a8\u21a9\7C\2\2\u21a9\u21aa\7U\2\2\u21aa\u21ab") - buf.write("\7V\2\2\u21ab\u21ac\7a\2\2\u21ac\u21ad\7K\2\2\u21ad\u21ae") - buf.write("\7P\2\2\u21ae\u21af\7U\2\2\u21af\u21b0\7G\2\2\u21b0\u21b1") - buf.write("\7T\2\2\u21b1\u21b2\7V\2\2\u21b2\u21b3\7a\2\2\u21b3\u21b4") - buf.write("\7K\2\2\u21b4\u21b5\7F\2\2\u21b5\u05da\3\2\2\2\u21b6\u21b7") - buf.write("\7N\2\2\u21b7\u21b8\7E\2\2\u21b8\u21b9\7C\2\2\u21b9\u21ba") - buf.write("\7U\2\2\u21ba\u21bb\7G\2\2\u21bb\u05dc\3\2\2\2\u21bc\u21bd") - buf.write("\7N\2\2\u21bd\u21be\7G\2\2\u21be\u21bf\7C\2\2\u21bf\u21c0") - buf.write("\7U\2\2\u21c0\u21c1\7V\2\2\u21c1\u05de\3\2\2\2\u21c2\u21c3") - buf.write("\7N\2\2\u21c3\u21c4\7G\2\2\u21c4\u21c5\7P\2\2\u21c5\u21c6") - buf.write("\7I\2\2\u21c6\u21c7\7V\2\2\u21c7\u21c8\7J\2\2\u21c8\u05e0") - buf.write("\3\2\2\2\u21c9\u21ca\7N\2\2\u21ca\u21cb\7K\2\2\u21cb\u21cc") - buf.write("\7P\2\2\u21cc\u21cd\7G\2\2\u21cd\u21ce\7H\2\2\u21ce\u21cf") - buf.write("\7T\2\2\u21cf\u21d0\7Q\2\2\u21d0\u21d1\7O\2\2\u21d1\u21d2") - buf.write("\7V\2\2\u21d2\u21d3\7G\2\2\u21d3\u21d4\7Z\2\2\u21d4\u21d5") - buf.write("\7V\2\2\u21d5\u05e2\3\2\2\2\u21d6\u21d7\7N\2\2\u21d7\u21d8") - buf.write("\7K\2\2\u21d8\u21d9\7P\2\2\u21d9\u21da\7G\2\2\u21da\u21db") - buf.write("\7H\2\2\u21db\u21dc\7T\2\2\u21dc\u21dd\7Q\2\2\u21dd\u21de") - buf.write("\7O\2\2\u21de\u21df\7Y\2\2\u21df\u21e0\7M\2\2\u21e0\u21e1") - buf.write("\7D\2\2\u21e1\u05e4\3\2\2\2\u21e2\u21e3\7N\2\2\u21e3\u21e4") - buf.write("\7K\2\2\u21e4\u21e5\7P\2\2\u21e5\u21e6\7G\2\2\u21e6\u21e7") - buf.write("\7U\2\2\u21e7\u21e8\7V\2\2\u21e8\u21e9\7T\2\2\u21e9\u21ea") - buf.write("\7K\2\2\u21ea\u21eb\7P\2\2\u21eb\u21ec\7I\2\2\u21ec\u21ed") - buf.write("\7H\2\2\u21ed\u21ee\7T\2\2\u21ee\u21ef\7Q\2\2\u21ef\u21f0") - buf.write("\7O\2\2\u21f0\u21f1\7V\2\2\u21f1\u21f2\7G\2\2\u21f2\u21f3") - buf.write("\7Z\2\2\u21f3\u21f4\7V\2\2\u21f4\u05e6\3\2\2\2\u21f5\u21f6") - buf.write("\7N\2\2\u21f6\u21f7\7K\2\2\u21f7\u21f8\7P\2\2\u21f8\u21f9") - buf.write("\7G\2\2\u21f9\u21fa\7U\2\2\u21fa\u21fb\7V\2\2\u21fb\u21fc") - buf.write("\7T\2\2\u21fc\u21fd\7K\2\2\u21fd\u21fe\7P\2\2\u21fe\u21ff") - buf.write("\7I\2\2\u21ff\u2200\7H\2\2\u2200\u2201\7T\2\2\u2201\u2202") - buf.write("\7Q\2\2\u2202\u2203\7O\2\2\u2203\u2204\7Y\2\2\u2204\u2205") - buf.write("\7M\2\2\u2205\u2206\7D\2\2\u2206\u05e8\3\2\2\2\u2207\u2208") - buf.write("\7N\2\2\u2208\u2209\7P\2\2\u2209\u05ea\3\2\2\2\u220a\u220b") - buf.write("\7N\2\2\u220b\u220c\7Q\2\2\u220c\u220d\7C\2\2\u220d\u220e") - buf.write("\7F\2\2\u220e\u220f\7a\2\2\u220f\u2210\7H\2\2\u2210\u2211") - buf.write("\7K\2\2\u2211\u2212\7N\2\2\u2212\u2213\7G\2\2\u2213\u05ec") - buf.write("\3\2\2\2\u2214\u2215\7N\2\2\u2215\u2216\7Q\2\2\u2216\u2217") - buf.write("\7E\2\2\u2217\u2218\7C\2\2\u2218\u2219\7V\2\2\u2219\u221a") - buf.write("\7G\2\2\u221a\u05ee\3\2\2\2\u221b\u221c\7N\2\2\u221c\u221d") - buf.write("\7Q\2\2\u221d\u221e\7I\2\2\u221e\u05f0\3\2\2\2\u221f\u2220") - buf.write("\7N\2\2\u2220\u2221\7Q\2\2\u2221\u2222\7I\2\2\u2222\u2223") - buf.write("\7\63\2\2\u2223\u2224\7\62\2\2\u2224\u05f2\3\2\2\2\u2225") - buf.write("\u2226\7N\2\2\u2226\u2227\7Q\2\2\u2227\u2228\7I\2\2\u2228") - buf.write("\u2229\7\64\2\2\u2229\u05f4\3\2\2\2\u222a\u222b\7N\2\2") - buf.write("\u222b\u222c\7Q\2\2\u222c\u222d\7Y\2\2\u222d\u222e\7G") - buf.write("\2\2\u222e\u222f\7T\2\2\u222f\u05f6\3\2\2\2\u2230\u2231") - buf.write("\7N\2\2\u2231\u2232\7R\2\2\u2232\u2233\7C\2\2\u2233\u2234") - buf.write("\7F\2\2\u2234\u05f8\3\2\2\2\u2235\u2236\7N\2\2\u2236\u2237") - buf.write("\7V\2\2\u2237\u2238\7T\2\2\u2238\u2239\7K\2\2\u2239\u223a") - buf.write("\7O\2\2\u223a\u05fa\3\2\2\2\u223b\u223c\7O\2\2\u223c\u223d") - buf.write("\7C\2\2\u223d\u223e\7M\2\2\u223e\u223f\7G\2\2\u223f\u2240") - buf.write("\7F\2\2\u2240\u2241\7C\2\2\u2241\u2242\7V\2\2\u2242\u2243") - buf.write("\7G\2\2\u2243\u05fc\3\2\2\2\u2244\u2245\7O\2\2\u2245\u2246") - buf.write("\7C\2\2\u2246\u2247\7M\2\2\u2247\u2248\7G\2\2\u2248\u2249") - buf.write("\7V\2\2\u2249\u224a\7K\2\2\u224a\u224b\7O\2\2\u224b\u224c") - buf.write("\7G\2\2\u224c\u05fe\3\2\2\2\u224d\u224e\7O\2\2\u224e\u224f") - buf.write("\7C\2\2\u224f\u2250\7M\2\2\u2250\u2251\7G\2\2\u2251\u2252") - buf.write("\7a\2\2\u2252\u2253\7U\2\2\u2253\u2254\7G\2\2\u2254\u2255") - buf.write("\7V\2\2\u2255\u0600\3\2\2\2\u2256\u2257\7O\2\2\u2257\u2258") - buf.write("\7C\2\2\u2258\u2259\7U\2\2\u2259\u225a\7V\2\2\u225a\u225b") - buf.write("\7G\2\2\u225b\u225c\7T\2\2\u225c\u225d\7a\2\2\u225d\u225e") - buf.write("\7R\2\2\u225e\u225f\7Q\2\2\u225f\u2260\7U\2\2\u2260\u2261") - buf.write("\7a\2\2\u2261\u2262\7Y\2\2\u2262\u2263\7C\2\2\u2263\u2264") - buf.write("\7K\2\2\u2264\u2265\7V\2\2\u2265\u0602\3\2\2\2\u2266\u2267") - buf.write("\7O\2\2\u2267\u2268\7D\2\2\u2268\u2269\7T\2\2\u2269\u226a") - buf.write("\7E\2\2\u226a\u226b\7Q\2\2\u226b\u226c\7P\2\2\u226c\u226d") - buf.write("\7V\2\2\u226d\u226e\7C\2\2\u226e\u226f\7K\2\2\u226f\u2270") - buf.write("\7P\2\2\u2270\u2271\7U\2\2\u2271\u0604\3\2\2\2\u2272\u2273") - buf.write("\7O\2\2\u2273\u2274\7D\2\2\u2274\u2275\7T\2\2\u2275\u2276") - buf.write("\7F\2\2\u2276\u2277\7K\2\2\u2277\u2278\7U\2\2\u2278\u2279") - buf.write("\7L\2\2\u2279\u227a\7Q\2\2\u227a\u227b\7K\2\2\u227b\u227c") - buf.write("\7P\2\2\u227c\u227d\7V\2\2\u227d\u0606\3\2\2\2\u227e\u227f") - buf.write("\7O\2\2\u227f\u2280\7D\2\2\u2280\u2281\7T\2\2\u2281\u2282") - buf.write("\7G\2\2\u2282\u2283\7S\2\2\u2283\u2284\7W\2\2\u2284\u2285") - buf.write("\7C\2\2\u2285\u2286\7N\2\2\u2286\u0608\3\2\2\2\u2287\u2288") - buf.write("\7O\2\2\u2288\u2289\7D\2\2\u2289\u228a\7T\2\2\u228a\u228b") - buf.write("\7K\2\2\u228b\u228c\7P\2\2\u228c\u228d\7V\2\2\u228d\u228e") - buf.write("\7G\2\2\u228e\u228f\7T\2\2\u228f\u2290\7U\2\2\u2290\u2291") - buf.write("\7G\2\2\u2291\u2292\7E\2\2\u2292\u2293\7V\2\2\u2293\u2294") - buf.write("\7U\2\2\u2294\u060a\3\2\2\2\u2295\u2296\7O\2\2\u2296\u2297") - buf.write("\7D\2\2\u2297\u2298\7T\2\2\u2298\u2299\7Q\2\2\u2299\u229a") - buf.write("\7X\2\2\u229a\u229b\7G\2\2\u229b\u229c\7T\2\2\u229c\u229d") - buf.write("\7N\2\2\u229d\u229e\7C\2\2\u229e\u229f\7R\2\2\u229f\u22a0") - buf.write("\7U\2\2\u22a0\u060c\3\2\2\2\u22a1\u22a2\7O\2\2\u22a2\u22a3") - buf.write("\7D\2\2\u22a3\u22a4\7T\2\2\u22a4\u22a5\7V\2\2\u22a5\u22a6") - buf.write("\7Q\2\2\u22a6\u22a7\7W\2\2\u22a7\u22a8\7E\2\2\u22a8\u22a9") - buf.write("\7J\2\2\u22a9\u22aa\7G\2\2\u22aa\u22ab\7U\2\2\u22ab\u060e") - buf.write("\3\2\2\2\u22ac\u22ad\7O\2\2\u22ad\u22ae\7D\2\2\u22ae\u22af") - buf.write("\7T\2\2\u22af\u22b0\7Y\2\2\u22b0\u22b1\7K\2\2\u22b1\u22b2") - buf.write("\7V\2\2\u22b2\u22b3\7J\2\2\u22b3\u22b4\7K\2\2\u22b4\u22b5") - buf.write("\7P\2\2\u22b5\u0610\3\2\2\2\u22b6\u22b7\7O\2\2\u22b7\u22b8") - buf.write("\7F\2\2\u22b8\u22b9\7\67\2\2\u22b9\u0612\3\2\2\2\u22ba") - buf.write("\u22bb\7O\2\2\u22bb\u22bc\7N\2\2\u22bc\u22bd\7K\2\2\u22bd") - buf.write("\u22be\7P\2\2\u22be\u22bf\7G\2\2\u22bf\u22c0\7H\2\2\u22c0") - buf.write("\u22c1\7T\2\2\u22c1\u22c2\7Q\2\2\u22c2\u22c3\7O\2\2\u22c3") - buf.write("\u22c4\7V\2\2\u22c4\u22c5\7G\2\2\u22c5\u22c6\7Z\2\2\u22c6") - buf.write("\u22c7\7V\2\2\u22c7\u0614\3\2\2\2\u22c8\u22c9\7O\2\2\u22c9") - buf.write("\u22ca\7N\2\2\u22ca\u22cb\7K\2\2\u22cb\u22cc\7P\2\2\u22cc") - buf.write("\u22cd\7G\2\2\u22cd\u22ce\7H\2\2\u22ce\u22cf\7T\2\2\u22cf") - buf.write("\u22d0\7Q\2\2\u22d0\u22d1\7O\2\2\u22d1\u22d2\7Y\2\2\u22d2") - buf.write("\u22d3\7M\2\2\u22d3\u22d4\7D\2\2\u22d4\u0616\3\2\2\2\u22d5") - buf.write("\u22d6\7O\2\2\u22d6\u22d7\7Q\2\2\u22d7\u22d8\7P\2\2\u22d8") - buf.write("\u22d9\7V\2\2\u22d9\u22da\7J\2\2\u22da\u22db\7P\2\2\u22db") - buf.write("\u22dc\7C\2\2\u22dc\u22dd\7O\2\2\u22dd\u22de\7G\2\2\u22de") - buf.write("\u0618\3\2\2\2\u22df\u22e0\7O\2\2\u22e0\u22e1\7R\2\2\u22e1") - buf.write("\u22e2\7Q\2\2\u22e2\u22e3\7K\2\2\u22e3\u22e4\7P\2\2\u22e4") - buf.write("\u22e5\7V\2\2\u22e5\u22e6\7H\2\2\u22e6\u22e7\7T\2\2\u22e7") - buf.write("\u22e8\7Q\2\2\u22e8\u22e9\7O\2\2\u22e9\u22ea\7V\2\2\u22ea") - buf.write("\u22eb\7G\2\2\u22eb\u22ec\7Z\2\2\u22ec\u22ed\7V\2\2\u22ed") - buf.write("\u061a\3\2\2\2\u22ee\u22ef\7O\2\2\u22ef\u22f0\7R\2\2\u22f0") - buf.write("\u22f1\7Q\2\2\u22f1\u22f2\7K\2\2\u22f2\u22f3\7P\2\2\u22f3") - buf.write("\u22f4\7V\2\2\u22f4\u22f5\7H\2\2\u22f5\u22f6\7T\2\2\u22f6") - buf.write("\u22f7\7Q\2\2\u22f7\u22f8\7O\2\2\u22f8\u22f9\7Y\2\2\u22f9") - buf.write("\u22fa\7M\2\2\u22fa\u22fb\7D\2\2\u22fb\u061c\3\2\2\2\u22fc") - buf.write("\u22fd\7O\2\2\u22fd\u22fe\7R\2\2\u22fe\u22ff\7Q\2\2\u22ff") - buf.write("\u2300\7N\2\2\u2300\u2301\7[\2\2\u2301\u2302\7H\2\2\u2302") - buf.write("\u2303\7T\2\2\u2303\u2304\7Q\2\2\u2304\u2305\7O\2\2\u2305") - buf.write("\u2306\7V\2\2\u2306\u2307\7G\2\2\u2307\u2308\7Z\2\2\u2308") - buf.write("\u2309\7V\2\2\u2309\u061e\3\2\2\2\u230a\u230b\7O\2\2\u230b") - buf.write("\u230c\7R\2\2\u230c\u230d\7Q\2\2\u230d\u230e\7N\2\2\u230e") - buf.write("\u230f\7[\2\2\u230f\u2310\7H\2\2\u2310\u2311\7T\2\2\u2311") - buf.write("\u2312\7Q\2\2\u2312\u2313\7O\2\2\u2313\u2314\7Y\2\2\u2314") - buf.write("\u2315\7M\2\2\u2315\u2316\7D\2\2\u2316\u0620\3\2\2\2\u2317") - buf.write("\u2318\7O\2\2\u2318\u2319\7W\2\2\u2319\u231a\7N\2\2\u231a") - buf.write("\u231b\7V\2\2\u231b\u231c\7K\2\2\u231c\u231d\7N\2\2\u231d") - buf.write("\u231e\7K\2\2\u231e\u231f\7P\2\2\u231f\u2320\7G\2\2\u2320") - buf.write("\u2321\7U\2\2\u2321\u2322\7V\2\2\u2322\u2323\7T\2\2\u2323") - buf.write("\u2324\7K\2\2\u2324\u2325\7P\2\2\u2325\u2326\7I\2\2\u2326") - buf.write("\u2327\7H\2\2\u2327\u2328\7T\2\2\u2328\u2329\7Q\2\2\u2329") - buf.write("\u232a\7O\2\2\u232a\u232b\7V\2\2\u232b\u232c\7G\2\2\u232c") - buf.write("\u232d\7Z\2\2\u232d\u232e\7V\2\2\u232e\u0622\3\2\2\2\u232f") - buf.write("\u2330\7O\2\2\u2330\u2331\7W\2\2\u2331\u2332\7N\2\2\u2332") - buf.write("\u2333\7V\2\2\u2333\u2334\7K\2\2\u2334\u2335\7N\2\2\u2335") - buf.write("\u2336\7K\2\2\u2336\u2337\7P\2\2\u2337\u2338\7G\2\2\u2338") - buf.write("\u2339\7U\2\2\u2339\u233a\7V\2\2\u233a\u233b\7T\2\2\u233b") - buf.write("\u233c\7K\2\2\u233c\u233d\7P\2\2\u233d\u233e\7I\2\2\u233e") - buf.write("\u233f\7H\2\2\u233f\u2340\7T\2\2\u2340\u2341\7Q\2\2\u2341") - buf.write("\u2342\7O\2\2\u2342\u2343\7Y\2\2\u2343\u2344\7M\2\2\u2344") - buf.write("\u2345\7D\2\2\u2345\u0624\3\2\2\2\u2346\u2347\7O\2\2\u2347") - buf.write("\u2348\7W\2\2\u2348\u2349\7N\2\2\u2349\u234a\7V\2\2\u234a") - buf.write("\u234b\7K\2\2\u234b\u234c\7R\2\2\u234c\u234d\7Q\2\2\u234d") - buf.write("\u234e\7K\2\2\u234e\u234f\7P\2\2\u234f\u2350\7V\2\2\u2350") - buf.write("\u2351\7H\2\2\u2351\u2352\7T\2\2\u2352\u2353\7Q\2\2\u2353") - buf.write("\u2354\7O\2\2\u2354\u2355\7V\2\2\u2355\u2356\7G\2\2\u2356") - buf.write("\u2357\7Z\2\2\u2357\u2358\7V\2\2\u2358\u0626\3\2\2\2\u2359") - buf.write("\u235a\7O\2\2\u235a\u235b\7W\2\2\u235b\u235c\7N\2\2\u235c") - buf.write("\u235d\7V\2\2\u235d\u235e\7K\2\2\u235e\u235f\7R\2\2\u235f") - buf.write("\u2360\7Q\2\2\u2360\u2361\7K\2\2\u2361\u2362\7P\2\2\u2362") - buf.write("\u2363\7V\2\2\u2363\u2364\7H\2\2\u2364\u2365\7T\2\2\u2365") - buf.write("\u2366\7Q\2\2\u2366\u2367\7O\2\2\u2367\u2368\7Y\2\2\u2368") - buf.write("\u2369\7M\2\2\u2369\u236a\7D\2\2\u236a\u0628\3\2\2\2\u236b") - buf.write("\u236c\7O\2\2\u236c\u236d\7W\2\2\u236d\u236e\7N\2\2\u236e") - buf.write("\u236f\7V\2\2\u236f\u2370\7K\2\2\u2370\u2371\7R\2\2\u2371") - buf.write("\u2372\7Q\2\2\u2372\u2373\7N\2\2\u2373\u2374\7[\2\2\u2374") - buf.write("\u2375\7I\2\2\u2375\u2376\7Q\2\2\u2376\u2377\7P\2\2\u2377") - buf.write("\u2378\7H\2\2\u2378\u2379\7T\2\2\u2379\u237a\7Q\2\2\u237a") - buf.write("\u237b\7O\2\2\u237b\u237c\7V\2\2\u237c\u237d\7G\2\2\u237d") - buf.write("\u237e\7Z\2\2\u237e\u237f\7V\2\2\u237f\u062a\3\2\2\2\u2380") - buf.write("\u2381\7O\2\2\u2381\u2382\7W\2\2\u2382\u2383\7N\2\2\u2383") - buf.write("\u2384\7V\2\2\u2384\u2385\7K\2\2\u2385\u2386\7R\2\2\u2386") - buf.write("\u2387\7Q\2\2\u2387\u2388\7N\2\2\u2388\u2389\7[\2\2\u2389") - buf.write("\u238a\7I\2\2\u238a\u238b\7Q\2\2\u238b\u238c\7P\2\2\u238c") - buf.write("\u238d\7H\2\2\u238d\u238e\7T\2\2\u238e\u238f\7Q\2\2\u238f") - buf.write("\u2390\7O\2\2\u2390\u2391\7Y\2\2\u2391\u2392\7M\2\2\u2392") - buf.write("\u2393\7D\2\2\u2393\u062c\3\2\2\2\u2394\u2395\7P\2\2\u2395") - buf.write("\u2396\7C\2\2\u2396\u2397\7O\2\2\u2397\u2398\7G\2\2\u2398") - buf.write("\u2399\7a\2\2\u2399\u239a\7E\2\2\u239a\u239b\7Q\2\2\u239b") - buf.write("\u239c\7P\2\2\u239c\u239d\7U\2\2\u239d\u239e\7V\2\2\u239e") - buf.write("\u062e\3\2\2\2\u239f\u23a0\7P\2\2\u23a0\u23a1\7W\2\2\u23a1") - buf.write("\u23a2\7N\2\2\u23a2\u23a3\7N\2\2\u23a3\u23a4\7K\2\2\u23a4") - buf.write("\u23a5\7H\2\2\u23a5\u0630\3\2\2\2\u23a6\u23a7\7P\2\2\u23a7") - buf.write("\u23a8\7W\2\2\u23a8\u23a9\7O\2\2\u23a9\u23aa\7I\2\2\u23aa") - buf.write("\u23ab\7G\2\2\u23ab\u23ac\7Q\2\2\u23ac\u23ad\7O\2\2\u23ad") - buf.write("\u23ae\7G\2\2\u23ae\u23af\7V\2\2\u23af\u23b0\7T\2\2\u23b0") - buf.write("\u23b1\7K\2\2\u23b1\u23b2\7G\2\2\u23b2\u23b3\7U\2\2\u23b3") - buf.write("\u0632\3\2\2\2\u23b4\u23b5\7P\2\2\u23b5\u23b6\7W\2\2\u23b6") - buf.write("\u23b7\7O\2\2\u23b7\u23b8\7K\2\2\u23b8\u23b9\7P\2\2\u23b9") - buf.write("\u23ba\7V\2\2\u23ba\u23bb\7G\2\2\u23bb\u23bc\7T\2\2\u23bc") - buf.write("\u23bd\7K\2\2\u23bd\u23be\7Q\2\2\u23be\u23bf\7T\2\2\u23bf") - buf.write("\u23c0\7T\2\2\u23c0\u23c1\7K\2\2\u23c1\u23c2\7P\2\2\u23c2") - buf.write("\u23c3\7I\2\2\u23c3\u23c4\7U\2\2\u23c4\u0634\3\2\2\2\u23c5") - buf.write("\u23c6\7P\2\2\u23c6\u23c7\7W\2\2\u23c7\u23c8\7O\2\2\u23c8") - buf.write("\u23c9\7R\2\2\u23c9\u23ca\7Q\2\2\u23ca\u23cb\7K\2\2\u23cb") - buf.write("\u23cc\7P\2\2\u23cc\u23cd\7V\2\2\u23cd\u23ce\7U\2\2\u23ce") - buf.write("\u0636\3\2\2\2\u23cf\u23d0\7Q\2\2\u23d0\u23d1\7E\2\2\u23d1") - buf.write("\u23d2\7V\2\2\u23d2\u0638\3\2\2\2\u23d3\u23d4\7Q\2\2\u23d4") - buf.write("\u23d5\7E\2\2\u23d5\u23d6\7V\2\2\u23d6\u23d7\7G\2\2\u23d7") - buf.write("\u23d8\7V\2\2\u23d8\u23d9\7a\2\2\u23d9\u23da\7N\2\2\u23da") - buf.write("\u23db\7G\2\2\u23db\u23dc\7P\2\2\u23dc\u23dd\7I\2\2\u23dd") - buf.write("\u23de\7V\2\2\u23de\u23df\7J\2\2\u23df\u063a\3\2\2\2\u23e0") - buf.write("\u23e1\7Q\2\2\u23e1\u23e2\7T\2\2\u23e2\u23e3\7F\2\2\u23e3") - buf.write("\u063c\3\2\2\2\u23e4\u23e5\7Q\2\2\u23e5\u23e6\7X\2\2\u23e6") - buf.write("\u23e7\7G\2\2\u23e7\u23e8\7T\2\2\u23e8\u23e9\7N\2\2\u23e9") - buf.write("\u23ea\7C\2\2\u23ea\u23eb\7R\2\2\u23eb\u23ec\7U\2\2\u23ec") - buf.write("\u063e\3\2\2\2\u23ed\u23ee\7R\2\2\u23ee\u23ef\7G\2\2\u23ef") - buf.write("\u23f0\7T\2\2\u23f0\u23f1\7K\2\2\u23f1\u23f2\7Q\2\2\u23f2") - buf.write("\u23f3\7F\2\2\u23f3\u23f4\7a\2\2\u23f4\u23f5\7C\2\2\u23f5") - buf.write("\u23f6\7F\2\2\u23f6\u23f7\7F\2\2\u23f7\u0640\3\2\2\2\u23f8") - buf.write("\u23f9\7R\2\2\u23f9\u23fa\7G\2\2\u23fa\u23fb\7T\2\2\u23fb") - buf.write("\u23fc\7K\2\2\u23fc\u23fd\7Q\2\2\u23fd\u23fe\7F\2\2\u23fe") - buf.write("\u23ff\7a\2\2\u23ff\u2400\7F\2\2\u2400\u2401\7K\2\2\u2401") - buf.write("\u2402\7H\2\2\u2402\u2403\7H\2\2\u2403\u0642\3\2\2\2\u2404") - buf.write("\u2405\7R\2\2\u2405\u2406\7K\2\2\u2406\u0644\3\2\2\2\u2407") - buf.write("\u2408\7R\2\2\u2408\u2409\7Q\2\2\u2409\u240a\7K\2\2\u240a") - buf.write("\u240b\7P\2\2\u240b\u240c\7V\2\2\u240c\u240d\7H\2\2\u240d") - buf.write("\u240e\7T\2\2\u240e\u240f\7Q\2\2\u240f\u2410\7O\2\2\u2410") - buf.write("\u2411\7V\2\2\u2411\u2412\7G\2\2\u2412\u2413\7Z\2\2\u2413") - buf.write("\u2414\7V\2\2\u2414\u0646\3\2\2\2\u2415\u2416\7R\2\2\u2416") - buf.write("\u2417\7Q\2\2\u2417\u2418\7K\2\2\u2418\u2419\7P\2\2\u2419") - buf.write("\u241a\7V\2\2\u241a\u241b\7H\2\2\u241b\u241c\7T\2\2\u241c") - buf.write("\u241d\7Q\2\2\u241d\u241e\7O\2\2\u241e\u241f\7Y\2\2\u241f") - buf.write("\u2420\7M\2\2\u2420\u2421\7D\2\2\u2421\u0648\3\2\2\2\u2422") - buf.write("\u2423\7R\2\2\u2423\u2424\7Q\2\2\u2424\u2425\7K\2\2\u2425") - buf.write("\u2426\7P\2\2\u2426\u2427\7V\2\2\u2427\u2428\7P\2\2\u2428") - buf.write("\u064a\3\2\2\2\u2429\u242a\7R\2\2\u242a\u242b\7Q\2\2\u242b") - buf.write("\u242c\7N\2\2\u242c\u242d\7[\2\2\u242d\u242e\7H\2\2\u242e") - buf.write("\u242f\7T\2\2\u242f\u2430\7Q\2\2\u2430\u2431\7O\2\2\u2431") - buf.write("\u2432\7V\2\2\u2432\u2433\7G\2\2\u2433\u2434\7Z\2\2\u2434") - buf.write("\u2435\7V\2\2\u2435\u064c\3\2\2\2\u2436\u2437\7R\2\2\u2437") - buf.write("\u2438\7Q\2\2\u2438\u2439\7N\2\2\u2439\u243a\7[\2\2\u243a") - buf.write("\u243b\7H\2\2\u243b\u243c\7T\2\2\u243c\u243d\7Q\2\2\u243d") - buf.write("\u243e\7O\2\2\u243e\u243f\7Y\2\2\u243f\u2440\7M\2\2\u2440") - buf.write("\u2441\7D\2\2\u2441\u064e\3\2\2\2\u2442\u2443\7R\2\2\u2443") - buf.write("\u2444\7Q\2\2\u2444\u2445\7N\2\2\u2445\u2446\7[\2\2\u2446") - buf.write("\u2447\7I\2\2\u2447\u2448\7Q\2\2\u2448\u2449\7P\2\2\u2449") - buf.write("\u244a\7H\2\2\u244a\u244b\7T\2\2\u244b\u244c\7Q\2\2\u244c") - buf.write("\u244d\7O\2\2\u244d\u244e\7V\2\2\u244e\u244f\7G\2\2\u244f") - buf.write("\u2450\7Z\2\2\u2450\u2451\7V\2\2\u2451\u0650\3\2\2\2\u2452") - buf.write("\u2453\7R\2\2\u2453\u2454\7Q\2\2\u2454\u2455\7N\2\2\u2455") - buf.write("\u2456\7[\2\2\u2456\u2457\7I\2\2\u2457\u2458\7Q\2\2\u2458") - buf.write("\u2459\7P\2\2\u2459\u245a\7H\2\2\u245a\u245b\7T\2\2\u245b") - buf.write("\u245c\7Q\2\2\u245c\u245d\7O\2\2\u245d\u245e\7Y\2\2\u245e") - buf.write("\u245f\7M\2\2\u245f\u2460\7D\2\2\u2460\u0652\3\2\2\2\u2461") - buf.write("\u2462\7R\2\2\u2462\u2463\7Q\2\2\u2463\u2464\7Y\2\2\u2464") - buf.write("\u0654\3\2\2\2\u2465\u2466\7R\2\2\u2466\u2467\7Q\2\2\u2467") - buf.write("\u2468\7Y\2\2\u2468\u2469\7G\2\2\u2469\u246a\7T\2\2\u246a") - buf.write("\u0656\3\2\2\2\u246b\u246c\7S\2\2\u246c\u246d\7W\2\2\u246d") - buf.write("\u246e\7Q\2\2\u246e\u246f\7V\2\2\u246f\u2470\7G\2\2\u2470") - buf.write("\u0658\3\2\2\2\u2471\u2472\7T\2\2\u2472\u2473\7C\2\2\u2473") - buf.write("\u2474\7F\2\2\u2474\u2475\7K\2\2\u2475\u2476\7C\2\2\u2476") - buf.write("\u2477\7P\2\2\u2477\u2478\7U\2\2\u2478\u065a\3\2\2\2\u2479") - buf.write("\u247a\7T\2\2\u247a\u247b\7C\2\2\u247b\u247c\7P\2\2\u247c") - buf.write("\u247d\7F\2\2\u247d\u065c\3\2\2\2\u247e\u247f\7T\2\2\u247f") - buf.write("\u2480\7C\2\2\u2480\u2481\7P\2\2\u2481\u2482\7F\2\2\u2482") - buf.write("\u2483\7Q\2\2\u2483\u2484\7O\2\2\u2484\u2485\7a\2\2\u2485") - buf.write("\u2486\7D\2\2\u2486\u2487\7[\2\2\u2487\u2488\7V\2\2\u2488") - buf.write("\u2489\7G\2\2\u2489\u248a\7U\2\2\u248a\u065e\3\2\2\2\u248b") - buf.write("\u248c\7T\2\2\u248c\u248d\7G\2\2\u248d\u248e\7N\2\2\u248e") - buf.write("\u248f\7G\2\2\u248f\u2490\7C\2\2\u2490\u2491\7U\2\2\u2491") - buf.write("\u2492\7G\2\2\u2492\u2493\7a\2\2\u2493\u2494\7N\2\2\u2494") - buf.write("\u2495\7Q\2\2\u2495\u2496\7E\2\2\u2496\u2497\7M\2\2\u2497") - buf.write("\u0660\3\2\2\2\u2498\u2499\7T\2\2\u2499\u249a\7G\2\2\u249a") - buf.write("\u249b\7X\2\2\u249b\u249c\7G\2\2\u249c\u249d\7T\2\2\u249d") - buf.write("\u249e\7U\2\2\u249e\u249f\7G\2\2\u249f\u0662\3\2\2\2\u24a0") - buf.write("\u24a1\7T\2\2\u24a1\u24a2\7Q\2\2\u24a2\u24a3\7W\2\2\u24a3") - buf.write("\u24a4\7P\2\2\u24a4\u24a5\7F\2\2\u24a5\u0664\3\2\2\2\u24a6") - buf.write("\u24a7\7T\2\2\u24a7\u24a8\7Q\2\2\u24a8\u24a9\7Y\2\2\u24a9") - buf.write("\u24aa\7a\2\2\u24aa\u24ab\7E\2\2\u24ab\u24ac\7Q\2\2\u24ac") - buf.write("\u24ad\7W\2\2\u24ad\u24ae\7P\2\2\u24ae\u24af\7V\2\2\u24af") - buf.write("\u0666\3\2\2\2\u24b0\u24b1\7T\2\2\u24b1\u24b2\7R\2\2\u24b2") - buf.write("\u24b3\7C\2\2\u24b3\u24b4\7F\2\2\u24b4\u0668\3\2\2\2\u24b5") - buf.write("\u24b6\7T\2\2\u24b6\u24b7\7V\2\2\u24b7\u24b8\7T\2\2\u24b8") - buf.write("\u24b9\7K\2\2\u24b9\u24ba\7O\2\2\u24ba\u066a\3\2\2\2\u24bb") - buf.write("\u24bc\7U\2\2\u24bc\u24bd\7G\2\2\u24bd\u24be\7E\2\2\u24be") - buf.write("\u24bf\7a\2\2\u24bf\u24c0\7V\2\2\u24c0\u24c1\7Q\2\2\u24c1") - buf.write("\u24c2\7a\2\2\u24c2\u24c3\7V\2\2\u24c3\u24c4\7K\2\2\u24c4") - buf.write("\u24c5\7O\2\2\u24c5\u24c6\7G\2\2\u24c6\u066c\3\2\2\2\u24c7") - buf.write("\u24c8\7U\2\2\u24c8\u24c9\7G\2\2\u24c9\u24ca\7U\2\2\u24ca") - buf.write("\u24cb\7U\2\2\u24cb\u24cc\7K\2\2\u24cc\u24cd\7Q\2\2\u24cd") - buf.write("\u24ce\7P\2\2\u24ce\u24cf\7a\2\2\u24cf\u24d0\7W\2\2\u24d0") - buf.write("\u24d1\7U\2\2\u24d1\u24d2\7G\2\2\u24d2\u24d3\7T\2\2\u24d3") - buf.write("\u066e\3\2\2\2\u24d4\u24d5\7U\2\2\u24d5\u24d6\7J\2\2\u24d6") - buf.write("\u24d7\7C\2\2\u24d7\u0670\3\2\2\2\u24d8\u24d9\7U\2\2\u24d9") - buf.write("\u24da\7J\2\2\u24da\u24db\7C\2\2\u24db\u24dc\7\63\2\2") - buf.write("\u24dc\u0672\3\2\2\2\u24dd\u24de\7U\2\2\u24de\u24df\7") - buf.write("J\2\2\u24df\u24e0\7C\2\2\u24e0\u24e1\7\64\2\2\u24e1\u0674") - buf.write("\3\2\2\2\u24e2\u24e3\7U\2\2\u24e3\u24e4\7K\2\2\u24e4\u24e5") - buf.write("\7I\2\2\u24e5\u24e6\7P\2\2\u24e6\u0676\3\2\2\2\u24e7\u24e8") - buf.write("\7U\2\2\u24e8\u24e9\7K\2\2\u24e9\u24ea\7P\2\2\u24ea\u0678") - buf.write("\3\2\2\2\u24eb\u24ec\7U\2\2\u24ec\u24ed\7N\2\2\u24ed\u24ee") - buf.write("\7G\2\2\u24ee\u24ef\7G\2\2\u24ef\u24f0\7R\2\2\u24f0\u067a") - buf.write("\3\2\2\2\u24f1\u24f2\7U\2\2\u24f2\u24f3\7Q\2\2\u24f3\u24f4") - buf.write("\7W\2\2\u24f4\u24f5\7P\2\2\u24f5\u24f6\7F\2\2\u24f6\u24f7") - buf.write("\7G\2\2\u24f7\u24f8\7Z\2\2\u24f8\u067c\3\2\2\2\u24f9\u24fa") - buf.write("\7U\2\2\u24fa\u24fb\7S\2\2\u24fb\u24fc\7N\2\2\u24fc\u24fd") - buf.write("\7a\2\2\u24fd\u24fe\7V\2\2\u24fe\u24ff\7J\2\2\u24ff\u2500") - buf.write("\7T\2\2\u2500\u2501\7G\2\2\u2501\u2502\7C\2\2\u2502\u2503") - buf.write("\7F\2\2\u2503\u2504\7a\2\2\u2504\u2505\7Y\2\2\u2505\u2506") - buf.write("\7C\2\2\u2506\u2507\7K\2\2\u2507\u2508\7V\2\2\u2508\u2509") - buf.write("\7a\2\2\u2509\u250a\7C\2\2\u250a\u250b\7H\2\2\u250b\u250c") - buf.write("\7V\2\2\u250c\u250d\7G\2\2\u250d\u250e\7T\2\2\u250e\u250f") - buf.write("\7a\2\2\u250f\u2510\7I\2\2\u2510\u2511\7V\2\2\u2511\u2512") - buf.write("\7K\2\2\u2512\u2513\7F\2\2\u2513\u2514\7U\2\2\u2514\u067e") - buf.write("\3\2\2\2\u2515\u2516\7U\2\2\u2516\u2517\7S\2\2\u2517\u2518") - buf.write("\7T\2\2\u2518\u2519\7V\2\2\u2519\u0680\3\2\2\2\u251a\u251b") - buf.write("\7U\2\2\u251b\u251c\7T\2\2\u251c\u251d\7K\2\2\u251d\u251e") - buf.write("\7F\2\2\u251e\u0682\3\2\2\2\u251f\u2520\7U\2\2\u2520\u2521") - buf.write("\7V\2\2\u2521\u2522\7C\2\2\u2522\u2523\7T\2\2\u2523\u2524") - buf.write("\7V\2\2\u2524\u2525\7R\2\2\u2525\u2526\7Q\2\2\u2526\u2527") - buf.write("\7K\2\2\u2527\u2528\7P\2\2\u2528\u2529\7V\2\2\u2529\u0684") - buf.write("\3\2\2\2\u252a\u252b\7U\2\2\u252b\u252c\7V\2\2\u252c\u252d") - buf.write("\7T\2\2\u252d\u252e\7E\2\2\u252e\u252f\7O\2\2\u252f\u2530") - buf.write("\7R\2\2\u2530\u0686\3\2\2\2\u2531\u2532\7U\2\2\u2532\u2533") - buf.write("\7V\2\2\u2533\u2534\7T\2\2\u2534\u2535\7a\2\2\u2535\u2536") - buf.write("\7V\2\2\u2536\u2537\7Q\2\2\u2537\u2538\7a\2\2\u2538\u2539") - buf.write("\7F\2\2\u2539\u253a\7C\2\2\u253a\u253b\7V\2\2\u253b\u253c") - buf.write("\7G\2\2\u253c\u0688\3\2\2\2\u253d\u253e\7U\2\2\u253e\u253f") - buf.write("\7V\2\2\u253f\u2540\7a\2\2\u2540\u2541\7C\2\2\u2541\u2542") - buf.write("\7T\2\2\u2542\u2543\7G\2\2\u2543\u2544\7C\2\2\u2544\u068a") - buf.write("\3\2\2\2\u2545\u2546\7U\2\2\u2546\u2547\7V\2\2\u2547\u2548") - buf.write("\7a\2\2\u2548\u2549\7C\2\2\u2549\u254a\7U\2\2\u254a\u254b") - buf.write("\7D\2\2\u254b\u254c\7K\2\2\u254c\u254d\7P\2\2\u254d\u254e") - buf.write("\7C\2\2\u254e\u254f\7T\2\2\u254f\u2550\7[\2\2\u2550\u068c") - buf.write("\3\2\2\2\u2551\u2552\7U\2\2\u2552\u2553\7V\2\2\u2553\u2554") - buf.write("\7a\2\2\u2554\u2555\7C\2\2\u2555\u2556\7U\2\2\u2556\u2557") - buf.write("\7V\2\2\u2557\u2558\7G\2\2\u2558\u2559\7Z\2\2\u2559\u255a") - buf.write("\7V\2\2\u255a\u068e\3\2\2\2\u255b\u255c\7U\2\2\u255c\u255d") - buf.write("\7V\2\2\u255d\u255e\7a\2\2\u255e\u255f\7C\2\2\u255f\u2560") - buf.write("\7U\2\2\u2560\u2561\7Y\2\2\u2561\u2562\7M\2\2\u2562\u2563") - buf.write("\7D\2\2\u2563\u0690\3\2\2\2\u2564\u2565\7U\2\2\u2565\u2566") - buf.write("\7V\2\2\u2566\u2567\7a\2\2\u2567\u2568\7C\2\2\u2568\u2569") - buf.write("\7U\2\2\u2569\u256a\7Y\2\2\u256a\u256b\7M\2\2\u256b\u256c") - buf.write("\7V\2\2\u256c\u0692\3\2\2\2\u256d\u256e\7U\2\2\u256e\u256f") - buf.write("\7V\2\2\u256f\u2570\7a\2\2\u2570\u2571\7D\2\2\u2571\u2572") - buf.write("\7W\2\2\u2572\u2573\7H\2\2\u2573\u2574\7H\2\2\u2574\u2575") - buf.write("\7G\2\2\u2575\u2576\7T\2\2\u2576\u0694\3\2\2\2\u2577\u2578") - buf.write("\7U\2\2\u2578\u2579\7V\2\2\u2579\u257a\7a\2\2\u257a\u257b") - buf.write("\7E\2\2\u257b\u257c\7G\2\2\u257c\u257d\7P\2\2\u257d\u257e") - buf.write("\7V\2\2\u257e\u257f\7T\2\2\u257f\u2580\7Q\2\2\u2580\u2581") - buf.write("\7K\2\2\u2581\u2582\7F\2\2\u2582\u0696\3\2\2\2\u2583\u2584") - buf.write("\7U\2\2\u2584\u2585\7V\2\2\u2585\u2586\7a\2\2\u2586\u2587") - buf.write("\7E\2\2\u2587\u2588\7Q\2\2\u2588\u2589\7P\2\2\u2589\u258a") - buf.write("\7V\2\2\u258a\u258b\7C\2\2\u258b\u258c\7K\2\2\u258c\u258d") - buf.write("\7P\2\2\u258d\u258e\7U\2\2\u258e\u0698\3\2\2\2\u258f\u2590") - buf.write("\7U\2\2\u2590\u2591\7V\2\2\u2591\u2592\7a\2\2\u2592\u2593") - buf.write("\7E\2\2\u2593\u2594\7T\2\2\u2594\u2595\7Q\2\2\u2595\u2596") - buf.write("\7U\2\2\u2596\u2597\7U\2\2\u2597\u2598\7G\2\2\u2598\u2599") - buf.write("\7U\2\2\u2599\u069a\3\2\2\2\u259a\u259b\7U\2\2\u259b\u259c") - buf.write("\7V\2\2\u259c\u259d\7a\2\2\u259d\u259e\7F\2\2\u259e\u259f") - buf.write("\7K\2\2\u259f\u25a0\7H\2\2\u25a0\u25a1\7H\2\2\u25a1\u25a2") - buf.write("\7G\2\2\u25a2\u25a3\7T\2\2\u25a3\u25a4\7G\2\2\u25a4\u25a5") - buf.write("\7P\2\2\u25a5\u25a6\7E\2\2\u25a6\u25a7\7G\2\2\u25a7\u069c") - buf.write("\3\2\2\2\u25a8\u25a9\7U\2\2\u25a9\u25aa\7V\2\2\u25aa\u25ab") - buf.write("\7a\2\2\u25ab\u25ac\7F\2\2\u25ac\u25ad\7K\2\2\u25ad\u25ae") - buf.write("\7O\2\2\u25ae\u25af\7G\2\2\u25af\u25b0\7P\2\2\u25b0\u25b1") - buf.write("\7U\2\2\u25b1\u25b2\7K\2\2\u25b2\u25b3\7Q\2\2\u25b3\u25b4") - buf.write("\7P\2\2\u25b4\u069e\3\2\2\2\u25b5\u25b6\7U\2\2\u25b6\u25b7") - buf.write("\7V\2\2\u25b7\u25b8\7a\2\2\u25b8\u25b9\7F\2\2\u25b9\u25ba") - buf.write("\7K\2\2\u25ba\u25bb\7U\2\2\u25bb\u25bc\7L\2\2\u25bc\u25bd") - buf.write("\7Q\2\2\u25bd\u25be\7K\2\2\u25be\u25bf\7P\2\2\u25bf\u25c0") - buf.write("\7V\2\2\u25c0\u06a0\3\2\2\2\u25c1\u25c2\7U\2\2\u25c2\u25c3") - buf.write("\7V\2\2\u25c3\u25c4\7a\2\2\u25c4\u25c5\7F\2\2\u25c5\u25c6") - buf.write("\7K\2\2\u25c6\u25c7\7U\2\2\u25c7\u25c8\7V\2\2\u25c8\u25c9") - buf.write("\7C\2\2\u25c9\u25ca\7P\2\2\u25ca\u25cb\7E\2\2\u25cb\u25cc") - buf.write("\7G\2\2\u25cc\u06a2\3\2\2\2\u25cd\u25ce\7U\2\2\u25ce\u25cf") - buf.write("\7V\2\2\u25cf\u25d0\7a\2\2\u25d0\u25d1\7G\2\2\u25d1\u25d2") - buf.write("\7P\2\2\u25d2\u25d3\7F\2\2\u25d3\u25d4\7R\2\2\u25d4\u25d5") - buf.write("\7Q\2\2\u25d5\u25d6\7K\2\2\u25d6\u25d7\7P\2\2\u25d7\u25d8") - buf.write("\7V\2\2\u25d8\u06a4\3\2\2\2\u25d9\u25da\7U\2\2\u25da\u25db") - buf.write("\7V\2\2\u25db\u25dc\7a\2\2\u25dc\u25dd\7G\2\2\u25dd\u25de") - buf.write("\7P\2\2\u25de\u25df\7X\2\2\u25df\u25e0\7G\2\2\u25e0\u25e1") - buf.write("\7N\2\2\u25e1\u25e2\7Q\2\2\u25e2\u25e3\7R\2\2\u25e3\u25e4") - buf.write("\7G\2\2\u25e4\u06a6\3\2\2\2\u25e5\u25e6\7U\2\2\u25e6\u25e7") - buf.write("\7V\2\2\u25e7\u25e8\7a\2\2\u25e8\u25e9\7G\2\2\u25e9\u25ea") - buf.write("\7S\2\2\u25ea\u25eb\7W\2\2\u25eb\u25ec\7C\2\2\u25ec\u25ed") - buf.write("\7N\2\2\u25ed\u25ee\7U\2\2\u25ee\u06a8\3\2\2\2\u25ef\u25f0") - buf.write("\7U\2\2\u25f0\u25f1\7V\2\2\u25f1\u25f2\7a\2\2\u25f2\u25f3") - buf.write("\7G\2\2\u25f3\u25f4\7Z\2\2\u25f4\u25f5\7V\2\2\u25f5\u25f6") - buf.write("\7G\2\2\u25f6\u25f7\7T\2\2\u25f7\u25f8\7K\2\2\u25f8\u25f9") - buf.write("\7Q\2\2\u25f9\u25fa\7T\2\2\u25fa\u25fb\7T\2\2\u25fb\u25fc") - buf.write("\7K\2\2\u25fc\u25fd\7P\2\2\u25fd\u25fe\7I\2\2\u25fe\u06aa") - buf.write("\3\2\2\2\u25ff\u2600\7U\2\2\u2600\u2601\7V\2\2\u2601\u2602") - buf.write("\7a\2\2\u2602\u2603\7I\2\2\u2603\u2604\7G\2\2\u2604\u2605") - buf.write("\7Q\2\2\u2605\u2606\7O\2\2\u2606\u2607\7E\2\2\u2607\u2608") - buf.write("\7Q\2\2\u2608\u2609\7N\2\2\u2609\u260a\7N\2\2\u260a\u260b") - buf.write("\7H\2\2\u260b\u260c\7T\2\2\u260c\u260d\7Q\2\2\u260d\u260e") - buf.write("\7O\2\2\u260e\u260f\7V\2\2\u260f\u2610\7G\2\2\u2610\u2611") - buf.write("\7Z\2\2\u2611\u2612\7V\2\2\u2612\u06ac\3\2\2\2\u2613\u2614") - buf.write("\7U\2\2\u2614\u2615\7V\2\2\u2615\u2616\7a\2\2\u2616\u2617") - buf.write("\7I\2\2\u2617\u2618\7G\2\2\u2618\u2619\7Q\2\2\u2619\u261a") - buf.write("\7O\2\2\u261a\u261b\7E\2\2\u261b\u261c\7Q\2\2\u261c\u261d") - buf.write("\7N\2\2\u261d\u261e\7N\2\2\u261e\u261f\7H\2\2\u261f\u2620") - buf.write("\7T\2\2\u2620\u2621\7Q\2\2\u2621\u2622\7O\2\2\u2622\u2623") - buf.write("\7V\2\2\u2623\u2624\7Z\2\2\u2624\u2625\7V\2\2\u2625\u06ae") - buf.write("\3\2\2\2\u2626\u2627\7U\2\2\u2627\u2628\7V\2\2\u2628\u2629") - buf.write("\7a\2\2\u2629\u262a\7I\2\2\u262a\u262b\7G\2\2\u262b\u262c") - buf.write("\7Q\2\2\u262c\u262d\7O\2\2\u262d\u262e\7E\2\2\u262e\u262f") - buf.write("\7Q\2\2\u262f\u2630\7N\2\2\u2630\u2631\7N\2\2\u2631\u2632") - buf.write("\7H\2\2\u2632\u2633\7T\2\2\u2633\u2634\7Q\2\2\u2634\u2635") - buf.write("\7O\2\2\u2635\u2636\7Y\2\2\u2636\u2637\7M\2\2\u2637\u2638") - buf.write("\7D\2\2\u2638\u06b0\3\2\2\2\u2639\u263a\7U\2\2\u263a\u263b") - buf.write("\7V\2\2\u263b\u263c\7a\2\2\u263c\u263d\7I\2\2\u263d\u263e") - buf.write("\7G\2\2\u263e\u263f\7Q\2\2\u263f\u2640\7O\2\2\u2640\u2641") - buf.write("\7G\2\2\u2641\u2642\7V\2\2\u2642\u2643\7T\2\2\u2643\u2644") - buf.write("\7[\2\2\u2644\u2645\7E\2\2\u2645\u2646\7Q\2\2\u2646\u2647") - buf.write("\7N\2\2\u2647\u2648\7N\2\2\u2648\u2649\7G\2\2\u2649\u264a") - buf.write("\7E\2\2\u264a\u264b\7V\2\2\u264b\u264c\7K\2\2\u264c\u264d") - buf.write("\7Q\2\2\u264d\u264e\7P\2\2\u264e\u264f\7H\2\2\u264f\u2650") - buf.write("\7T\2\2\u2650\u2651\7Q\2\2\u2651\u2652\7O\2\2\u2652\u2653") - buf.write("\7V\2\2\u2653\u2654\7G\2\2\u2654\u2655\7Z\2\2\u2655\u2656") - buf.write("\7V\2\2\u2656\u06b2\3\2\2\2\u2657\u2658\7U\2\2\u2658\u2659") - buf.write("\7V\2\2\u2659\u265a\7a\2\2\u265a\u265b\7I\2\2\u265b\u265c") - buf.write("\7G\2\2\u265c\u265d\7Q\2\2\u265d\u265e\7O\2\2\u265e\u265f") - buf.write("\7G\2\2\u265f\u2660\7V\2\2\u2660\u2661\7T\2\2\u2661\u2662") - buf.write("\7[\2\2\u2662\u2663\7E\2\2\u2663\u2664\7Q\2\2\u2664\u2665") - buf.write("\7N\2\2\u2665\u2666\7N\2\2\u2666\u2667\7G\2\2\u2667\u2668") - buf.write("\7E\2\2\u2668\u2669\7V\2\2\u2669\u266a\7K\2\2\u266a\u266b") - buf.write("\7Q\2\2\u266b\u266c\7P\2\2\u266c\u266d\7H\2\2\u266d\u266e") - buf.write("\7T\2\2\u266e\u266f\7Q\2\2\u266f\u2670\7O\2\2\u2670\u2671") - buf.write("\7Y\2\2\u2671\u2672\7M\2\2\u2672\u2673\7D\2\2\u2673\u06b4") - buf.write("\3\2\2\2\u2674\u2675\7U\2\2\u2675\u2676\7V\2\2\u2676\u2677") - buf.write("\7a\2\2\u2677\u2678\7I\2\2\u2678\u2679\7G\2\2\u2679\u267a") - buf.write("\7Q\2\2\u267a\u267b\7O\2\2\u267b\u267c\7G\2\2\u267c\u267d") - buf.write("\7V\2\2\u267d\u267e\7T\2\2\u267e\u267f\7[\2\2\u267f\u2680") - buf.write("\7H\2\2\u2680\u2681\7T\2\2\u2681\u2682\7Q\2\2\u2682\u2683") - buf.write("\7O\2\2\u2683\u2684\7V\2\2\u2684\u2685\7G\2\2\u2685\u2686") - buf.write("\7Z\2\2\u2686\u2687\7V\2\2\u2687\u06b6\3\2\2\2\u2688\u2689") - buf.write("\7U\2\2\u2689\u268a\7V\2\2\u268a\u268b\7a\2\2\u268b\u268c") - buf.write("\7I\2\2\u268c\u268d\7G\2\2\u268d\u268e\7Q\2\2\u268e\u268f") - buf.write("\7O\2\2\u268f\u2690\7G\2\2\u2690\u2691\7V\2\2\u2691\u2692") - buf.write("\7T\2\2\u2692\u2693\7[\2\2\u2693\u2694\7H\2\2\u2694\u2695") - buf.write("\7T\2\2\u2695\u2696\7Q\2\2\u2696\u2697\7O\2\2\u2697\u2698") - buf.write("\7Y\2\2\u2698\u2699\7M\2\2\u2699\u269a\7D\2\2\u269a\u06b8") - buf.write("\3\2\2\2\u269b\u269c\7U\2\2\u269c\u269d\7V\2\2\u269d\u269e") - buf.write("\7a\2\2\u269e\u269f\7I\2\2\u269f\u26a0\7G\2\2\u26a0\u26a1") - buf.write("\7Q\2\2\u26a1\u26a2\7O\2\2\u26a2\u26a3\7G\2\2\u26a3\u26a4") - buf.write("\7V\2\2\u26a4\u26a5\7T\2\2\u26a5\u26a6\7[\2\2\u26a6\u26a7") - buf.write("\7P\2\2\u26a7\u06ba\3\2\2\2\u26a8\u26a9\7U\2\2\u26a9\u26aa") - buf.write("\7V\2\2\u26aa\u26ab\7a\2\2\u26ab\u26ac\7I\2\2\u26ac\u26ad") - buf.write("\7G\2\2\u26ad\u26ae\7Q\2\2\u26ae\u26af\7O\2\2\u26af\u26b0") - buf.write("\7G\2\2\u26b0\u26b1\7V\2\2\u26b1\u26b2\7T\2\2\u26b2\u26b3") - buf.write("\7[\2\2\u26b3\u26b4\7V\2\2\u26b4\u26b5\7[\2\2\u26b5\u26b6") - buf.write("\7R\2\2\u26b6\u26b7\7G\2\2\u26b7\u06bc\3\2\2\2\u26b8\u26b9") - buf.write("\7U\2\2\u26b9\u26ba\7V\2\2\u26ba\u26bb\7a\2\2\u26bb\u26bc") - buf.write("\7I\2\2\u26bc\u26bd\7G\2\2\u26bd\u26be\7Q\2\2\u26be\u26bf") - buf.write("\7O\2\2\u26bf\u26c0\7H\2\2\u26c0\u26c1\7T\2\2\u26c1\u26c2") - buf.write("\7Q\2\2\u26c2\u26c3\7O\2\2\u26c3\u26c4\7V\2\2\u26c4\u26c5") - buf.write("\7G\2\2\u26c5\u26c6\7Z\2\2\u26c6\u26c7\7V\2\2\u26c7\u06be") - buf.write("\3\2\2\2\u26c8\u26c9\7U\2\2\u26c9\u26ca\7V\2\2\u26ca\u26cb") - buf.write("\7a\2\2\u26cb\u26cc\7I\2\2\u26cc\u26cd\7G\2\2\u26cd\u26ce") - buf.write("\7Q\2\2\u26ce\u26cf\7O\2\2\u26cf\u26d0\7H\2\2\u26d0\u26d1") - buf.write("\7T\2\2\u26d1\u26d2\7Q\2\2\u26d2\u26d3\7O\2\2\u26d3\u26d4") - buf.write("\7Y\2\2\u26d4\u26d5\7M\2\2\u26d5\u26d6\7D\2\2\u26d6\u06c0") - buf.write("\3\2\2\2\u26d7\u26d8\7U\2\2\u26d8\u26d9\7V\2\2\u26d9\u26da") - buf.write("\7a\2\2\u26da\u26db\7K\2\2\u26db\u26dc\7P\2\2\u26dc\u26dd") - buf.write("\7V\2\2\u26dd\u26de\7G\2\2\u26de\u26df\7T\2\2\u26df\u26e0") - buf.write("\7K\2\2\u26e0\u26e1\7Q\2\2\u26e1\u26e2\7T\2\2\u26e2\u26e3") - buf.write("\7T\2\2\u26e3\u26e4\7K\2\2\u26e4\u26e5\7P\2\2\u26e5\u26e6") - buf.write("\7I\2\2\u26e6\u26e7\7P\2\2\u26e7\u06c2\3\2\2\2\u26e8\u26e9") - buf.write("\7U\2\2\u26e9\u26ea\7V\2\2\u26ea\u26eb\7a\2\2\u26eb\u26ec") - buf.write("\7K\2\2\u26ec\u26ed\7P\2\2\u26ed\u26ee\7V\2\2\u26ee\u26ef") - buf.write("\7G\2\2\u26ef\u26f0\7T\2\2\u26f0\u26f1\7U\2\2\u26f1\u26f2") - buf.write("\7G\2\2\u26f2\u26f3\7E\2\2\u26f3\u26f4\7V\2\2\u26f4\u26f5") - buf.write("\7K\2\2\u26f5\u26f6\7Q\2\2\u26f6\u26f7\7P\2\2\u26f7\u06c4") - buf.write("\3\2\2\2\u26f8\u26f9\7U\2\2\u26f9\u26fa\7V\2\2\u26fa\u26fb") - buf.write("\7a\2\2\u26fb\u26fc\7K\2\2\u26fc\u26fd\7P\2\2\u26fd\u26fe") - buf.write("\7V\2\2\u26fe\u26ff\7G\2\2\u26ff\u2700\7T\2\2\u2700\u2701") - buf.write("\7U\2\2\u2701\u2702\7G\2\2\u2702\u2703\7E\2\2\u2703\u2704") - buf.write("\7V\2\2\u2704\u2705\7U\2\2\u2705\u06c6\3\2\2\2\u2706\u2707") - buf.write("\7U\2\2\u2707\u2708\7V\2\2\u2708\u2709\7a\2\2\u2709\u270a") - buf.write("\7K\2\2\u270a\u270b\7U\2\2\u270b\u270c\7E\2\2\u270c\u270d") - buf.write("\7N\2\2\u270d\u270e\7Q\2\2\u270e\u270f\7U\2\2\u270f\u2710") - buf.write("\7G\2\2\u2710\u2711\7F\2\2\u2711\u06c8\3\2\2\2\u2712\u2713") - buf.write("\7U\2\2\u2713\u2714\7V\2\2\u2714\u2715\7a\2\2\u2715\u2716") - buf.write("\7K\2\2\u2716\u2717\7U\2\2\u2717\u2718\7G\2\2\u2718\u2719") - buf.write("\7O\2\2\u2719\u271a\7R\2\2\u271a\u271b\7V\2\2\u271b\u271c") - buf.write("\7[\2\2\u271c\u06ca\3\2\2\2\u271d\u271e\7U\2\2\u271e\u271f") - buf.write("\7V\2\2\u271f\u2720\7a\2\2\u2720\u2721\7K\2\2\u2721\u2722") - buf.write("\7U\2\2\u2722\u2723\7U\2\2\u2723\u2724\7K\2\2\u2724\u2725") - buf.write("\7O\2\2\u2725\u2726\7R\2\2\u2726\u2727\7N\2\2\u2727\u2728") - buf.write("\7G\2\2\u2728\u06cc\3\2\2\2\u2729\u272a\7U\2\2\u272a\u272b") - buf.write("\7V\2\2\u272b\u272c\7a\2\2\u272c\u272d\7N\2\2\u272d\u272e") - buf.write("\7K\2\2\u272e\u272f\7P\2\2\u272f\u2730\7G\2\2\u2730\u2731") - buf.write("\7H\2\2\u2731\u2732\7T\2\2\u2732\u2733\7Q\2\2\u2733\u2734") - buf.write("\7O\2\2\u2734\u2735\7V\2\2\u2735\u2736\7G\2\2\u2736\u2737") - buf.write("\7Z\2\2\u2737\u2738\7V\2\2\u2738\u06ce\3\2\2\2\u2739\u273a") - buf.write("\7U\2\2\u273a\u273b\7V\2\2\u273b\u273c\7a\2\2\u273c\u273d") - buf.write("\7N\2\2\u273d\u273e\7K\2\2\u273e\u273f\7P\2\2\u273f\u2740") - buf.write("\7G\2\2\u2740\u2741\7H\2\2\u2741\u2742\7T\2\2\u2742\u2743") - buf.write("\7Q\2\2\u2743\u2744\7O\2\2\u2744\u2745\7Y\2\2\u2745\u2746") - buf.write("\7M\2\2\u2746\u2747\7D\2\2\u2747\u06d0\3\2\2\2\u2748\u2749") - buf.write("\7U\2\2\u2749\u274a\7V\2\2\u274a\u274b\7a\2\2\u274b\u274c") - buf.write("\7N\2\2\u274c\u274d\7K\2\2\u274d\u274e\7P\2\2\u274e\u274f") - buf.write("\7G\2\2\u274f\u2750\7U\2\2\u2750\u2751\7V\2\2\u2751\u2752") - buf.write("\7T\2\2\u2752\u2753\7K\2\2\u2753\u2754\7P\2\2\u2754\u2755") - buf.write("\7I\2\2\u2755\u2756\7H\2\2\u2756\u2757\7T\2\2\u2757\u2758") - buf.write("\7Q\2\2\u2758\u2759\7O\2\2\u2759\u275a\7V\2\2\u275a\u275b") - buf.write("\7G\2\2\u275b\u275c\7Z\2\2\u275c\u275d\7V\2\2\u275d\u06d2") - buf.write("\3\2\2\2\u275e\u275f\7U\2\2\u275f\u2760\7V\2\2\u2760\u2761") - buf.write("\7a\2\2\u2761\u2762\7N\2\2\u2762\u2763\7K\2\2\u2763\u2764") - buf.write("\7P\2\2\u2764\u2765\7G\2\2\u2765\u2766\7U\2\2\u2766\u2767") - buf.write("\7V\2\2\u2767\u2768\7T\2\2\u2768\u2769\7K\2\2\u2769\u276a") - buf.write("\7P\2\2\u276a\u276b\7I\2\2\u276b\u276c\7H\2\2\u276c\u276d") - buf.write("\7T\2\2\u276d\u276e\7Q\2\2\u276e\u276f\7O\2\2\u276f\u2770") - buf.write("\7Y\2\2\u2770\u2771\7M\2\2\u2771\u2772\7D\2\2\u2772\u06d4") - buf.write("\3\2\2\2\u2773\u2774\7U\2\2\u2774\u2775\7V\2\2\u2775\u2776") - buf.write("\7a\2\2\u2776\u2777\7P\2\2\u2777\u2778\7W\2\2\u2778\u2779") - buf.write("\7O\2\2\u2779\u277a\7I\2\2\u277a\u277b\7G\2\2\u277b\u277c") - buf.write("\7Q\2\2\u277c\u277d\7O\2\2\u277d\u277e\7G\2\2\u277e\u277f") - buf.write("\7V\2\2\u277f\u2780\7T\2\2\u2780\u2781\7K\2\2\u2781\u2782") - buf.write("\7G\2\2\u2782\u2783\7U\2\2\u2783\u06d6\3\2\2\2\u2784\u2785") - buf.write("\7U\2\2\u2785\u2786\7V\2\2\u2786\u2787\7a\2\2\u2787\u2788") - buf.write("\7P\2\2\u2788\u2789\7W\2\2\u2789\u278a\7O\2\2\u278a\u278b") - buf.write("\7K\2\2\u278b\u278c\7P\2\2\u278c\u278d\7V\2\2\u278d\u278e") - buf.write("\7G\2\2\u278e\u278f\7T\2\2\u278f\u2790\7K\2\2\u2790\u2791") - buf.write("\7Q\2\2\u2791\u2792\7T\2\2\u2792\u2793\7T\2\2\u2793\u2794") - buf.write("\7K\2\2\u2794\u2795\7P\2\2\u2795\u2796\7I\2\2\u2796\u06d8") - buf.write("\3\2\2\2\u2797\u2798\7U\2\2\u2798\u2799\7V\2\2\u2799\u279a") - buf.write("\7a\2\2\u279a\u279b\7P\2\2\u279b\u279c\7W\2\2\u279c\u279d") - buf.write("\7O\2\2\u279d\u279e\7K\2\2\u279e\u279f\7P\2\2\u279f\u27a0") - buf.write("\7V\2\2\u27a0\u27a1\7G\2\2\u27a1\u27a2\7T\2\2\u27a2\u27a3") - buf.write("\7K\2\2\u27a3\u27a4\7Q\2\2\u27a4\u27a5\7T\2\2\u27a5\u27a6") - buf.write("\7T\2\2\u27a6\u27a7\7K\2\2\u27a7\u27a8\7P\2\2\u27a8\u27a9") - buf.write("\7I\2\2\u27a9\u27aa\7U\2\2\u27aa\u06da\3\2\2\2\u27ab\u27ac") - buf.write("\7U\2\2\u27ac\u27ad\7V\2\2\u27ad\u27ae\7a\2\2\u27ae\u27af") - buf.write("\7P\2\2\u27af\u27b0\7W\2\2\u27b0\u27b1\7O\2\2\u27b1\u27b2") - buf.write("\7R\2\2\u27b2\u27b3\7Q\2\2\u27b3\u27b4\7K\2\2\u27b4\u27b5") - buf.write("\7P\2\2\u27b5\u27b6\7V\2\2\u27b6\u27b7\7U\2\2\u27b7\u06dc") - buf.write("\3\2\2\2\u27b8\u27b9\7U\2\2\u27b9\u27ba\7V\2\2\u27ba\u27bb") - buf.write("\7a\2\2\u27bb\u27bc\7Q\2\2\u27bc\u27bd\7X\2\2\u27bd\u27be") - buf.write("\7G\2\2\u27be\u27bf\7T\2\2\u27bf\u27c0\7N\2\2\u27c0\u27c1") - buf.write("\7C\2\2\u27c1\u27c2\7R\2\2\u27c2\u27c3\7U\2\2\u27c3\u06de") - buf.write("\3\2\2\2\u27c4\u27c5\7U\2\2\u27c5\u27c6\7V\2\2\u27c6\u27c7") - buf.write("\7a\2\2\u27c7\u27c8\7R\2\2\u27c8\u27c9\7Q\2\2\u27c9\u27ca") - buf.write("\7K\2\2\u27ca\u27cb\7P\2\2\u27cb\u27cc\7V\2\2\u27cc\u27cd") - buf.write("\7H\2\2\u27cd\u27ce\7T\2\2\u27ce\u27cf\7Q\2\2\u27cf\u27d0") - buf.write("\7O\2\2\u27d0\u27d1\7V\2\2\u27d1\u27d2\7G\2\2\u27d2\u27d3") - buf.write("\7Z\2\2\u27d3\u27d4\7V\2\2\u27d4\u06e0\3\2\2\2\u27d5\u27d6") - buf.write("\7U\2\2\u27d6\u27d7\7V\2\2\u27d7\u27d8\7a\2\2\u27d8\u27d9") - buf.write("\7R\2\2\u27d9\u27da\7Q\2\2\u27da\u27db\7K\2\2\u27db\u27dc") - buf.write("\7P\2\2\u27dc\u27dd\7V\2\2\u27dd\u27de\7H\2\2\u27de\u27df") - buf.write("\7T\2\2\u27df\u27e0\7Q\2\2\u27e0\u27e1\7O\2\2\u27e1\u27e2") - buf.write("\7Y\2\2\u27e2\u27e3\7M\2\2\u27e3\u27e4\7D\2\2\u27e4\u06e2") - buf.write("\3\2\2\2\u27e5\u27e6\7U\2\2\u27e6\u27e7\7V\2\2\u27e7\u27e8") - buf.write("\7a\2\2\u27e8\u27e9\7R\2\2\u27e9\u27ea\7Q\2\2\u27ea\u27eb") - buf.write("\7K\2\2\u27eb\u27ec\7P\2\2\u27ec\u27ed\7V\2\2\u27ed\u27ee") - buf.write("\7P\2\2\u27ee\u06e4\3\2\2\2\u27ef\u27f0\7U\2\2\u27f0\u27f1") - buf.write("\7V\2\2\u27f1\u27f2\7a\2\2\u27f2\u27f3\7R\2\2\u27f3\u27f4") - buf.write("\7Q\2\2\u27f4\u27f5\7N\2\2\u27f5\u27f6\7[\2\2\u27f6\u27f7") - buf.write("\7H\2\2\u27f7\u27f8\7T\2\2\u27f8\u27f9\7Q\2\2\u27f9\u27fa") - buf.write("\7O\2\2\u27fa\u27fb\7V\2\2\u27fb\u27fc\7G\2\2\u27fc\u27fd") - buf.write("\7Z\2\2\u27fd\u27fe\7V\2\2\u27fe\u06e6\3\2\2\2\u27ff\u2800") - buf.write("\7U\2\2\u2800\u2801\7V\2\2\u2801\u2802\7a\2\2\u2802\u2803") - buf.write("\7R\2\2\u2803\u2804\7Q\2\2\u2804\u2805\7N\2\2\u2805\u2806") - buf.write("\7[\2\2\u2806\u2807\7H\2\2\u2807\u2808\7T\2\2\u2808\u2809") - buf.write("\7Q\2\2\u2809\u280a\7O\2\2\u280a\u280b\7Y\2\2\u280b\u280c") - buf.write("\7M\2\2\u280c\u280d\7D\2\2\u280d\u06e8\3\2\2\2\u280e\u280f") - buf.write("\7U\2\2\u280f\u2810\7V\2\2\u2810\u2811\7a\2\2\u2811\u2812") - buf.write("\7R\2\2\u2812\u2813\7Q\2\2\u2813\u2814\7N\2\2\u2814\u2815") - buf.write("\7[\2\2\u2815\u2816\7I\2\2\u2816\u2817\7Q\2\2\u2817\u2818") - buf.write("\7P\2\2\u2818\u2819\7H\2\2\u2819\u281a\7T\2\2\u281a\u281b") - buf.write("\7Q\2\2\u281b\u281c\7O\2\2\u281c\u281d\7V\2\2\u281d\u281e") - buf.write("\7G\2\2\u281e\u281f\7Z\2\2\u281f\u2820\7V\2\2\u2820\u06ea") - buf.write("\3\2\2\2\u2821\u2822\7U\2\2\u2822\u2823\7V\2\2\u2823\u2824") - buf.write("\7a\2\2\u2824\u2825\7R\2\2\u2825\u2826\7Q\2\2\u2826\u2827") - buf.write("\7N\2\2\u2827\u2828\7[\2\2\u2828\u2829\7I\2\2\u2829\u282a") - buf.write("\7Q\2\2\u282a\u282b\7P\2\2\u282b\u282c\7H\2\2\u282c\u282d") - buf.write("\7T\2\2\u282d\u282e\7Q\2\2\u282e\u282f\7O\2\2\u282f\u2830") - buf.write("\7Y\2\2\u2830\u2831\7M\2\2\u2831\u2832\7D\2\2\u2832\u06ec") - buf.write("\3\2\2\2\u2833\u2834\7U\2\2\u2834\u2835\7V\2\2\u2835\u2836") - buf.write("\7a\2\2\u2836\u2837\7U\2\2\u2837\u2838\7T\2\2\u2838\u2839") - buf.write("\7K\2\2\u2839\u283a\7F\2\2\u283a\u06ee\3\2\2\2\u283b\u283c") - buf.write("\7U\2\2\u283c\u283d\7V\2\2\u283d\u283e\7a\2\2\u283e\u283f") - buf.write("\7U\2\2\u283f\u2840\7V\2\2\u2840\u2841\7C\2\2\u2841\u2842") - buf.write("\7T\2\2\u2842\u2843\7V\2\2\u2843\u2844\7R\2\2\u2844\u2845") - buf.write("\7Q\2\2\u2845\u2846\7K\2\2\u2846\u2847\7P\2\2\u2847\u2848") - buf.write("\7V\2\2\u2848\u06f0\3\2\2\2\u2849\u284a\7U\2\2\u284a\u284b") - buf.write("\7V\2\2\u284b\u284c\7a\2\2\u284c\u284d\7U\2\2\u284d\u284e") - buf.write("\7[\2\2\u284e\u284f\7O\2\2\u284f\u2850\7F\2\2\u2850\u2851") - buf.write("\7K\2\2\u2851\u2852\7H\2\2\u2852\u2853\7H\2\2\u2853\u2854") - buf.write("\7G\2\2\u2854\u2855\7T\2\2\u2855\u2856\7G\2\2\u2856\u2857") - buf.write("\7P\2\2\u2857\u2858\7E\2\2\u2858\u2859\7G\2\2\u2859\u06f2") - buf.write("\3\2\2\2\u285a\u285b\7U\2\2\u285b\u285c\7V\2\2\u285c\u285d") - buf.write("\7a\2\2\u285d\u285e\7V\2\2\u285e\u285f\7Q\2\2\u285f\u2860") - buf.write("\7W\2\2\u2860\u2861\7E\2\2\u2861\u2862\7J\2\2\u2862\u2863") - buf.write("\7G\2\2\u2863\u2864\7U\2\2\u2864\u06f4\3\2\2\2\u2865\u2866") - buf.write("\7U\2\2\u2866\u2867\7V\2\2\u2867\u2868\7a\2\2\u2868\u2869") - buf.write("\7W\2\2\u2869\u286a\7P\2\2\u286a\u286b\7K\2\2\u286b\u286c") - buf.write("\7Q\2\2\u286c\u286d\7P\2\2\u286d\u06f6\3\2\2\2\u286e\u286f") - buf.write("\7U\2\2\u286f\u2870\7V\2\2\u2870\u2871\7a\2\2\u2871\u2872") - buf.write("\7Y\2\2\u2872\u2873\7K\2\2\u2873\u2874\7V\2\2\u2874\u2875") - buf.write("\7J\2\2\u2875\u2876\7K\2\2\u2876\u2877\7P\2\2\u2877\u06f8") - buf.write("\3\2\2\2\u2878\u2879\7U\2\2\u2879\u287a\7V\2\2\u287a\u287b") - buf.write("\7a\2\2\u287b\u287c\7Z\2\2\u287c\u06fa\3\2\2\2\u287d\u287e") - buf.write("\7U\2\2\u287e\u287f\7V\2\2\u287f\u2880\7a\2\2\u2880\u2881") - buf.write("\7[\2\2\u2881\u06fc\3\2\2\2\u2882\u2883\7U\2\2\u2883\u2884") - buf.write("\7W\2\2\u2884\u2885\7D\2\2\u2885\u2886\7F\2\2\u2886\u2887") - buf.write("\7C\2\2\u2887\u2888\7V\2\2\u2888\u2889\7G\2\2\u2889\u06fe") - buf.write("\3\2\2\2\u288a\u288b\7U\2\2\u288b\u288c\7W\2\2\u288c\u288d") - buf.write("\7D\2\2\u288d\u288e\7U\2\2\u288e\u288f\7V\2\2\u288f\u2890") - buf.write("\7T\2\2\u2890\u2891\7K\2\2\u2891\u2892\7P\2\2\u2892\u2893") - buf.write("\7I\2\2\u2893\u2894\7a\2\2\u2894\u2895\7K\2\2\u2895\u2896") - buf.write("\7P\2\2\u2896\u2897\7F\2\2\u2897\u2898\7G\2\2\u2898\u2899") - buf.write("\7Z\2\2\u2899\u0700\3\2\2\2\u289a\u289b\7U\2\2\u289b\u289c") - buf.write("\7W\2\2\u289c\u289d\7D\2\2\u289d\u289e\7V\2\2\u289e\u289f") - buf.write("\7K\2\2\u289f\u28a0\7O\2\2\u28a0\u28a1\7G\2\2\u28a1\u0702") - buf.write("\3\2\2\2\u28a2\u28a3\7U\2\2\u28a3\u28a4\7[\2\2\u28a4\u28a5") - buf.write("\7U\2\2\u28a5\u28a6\7V\2\2\u28a6\u28a7\7G\2\2\u28a7\u28a8") - buf.write("\7O\2\2\u28a8\u28a9\7a\2\2\u28a9\u28aa\7W\2\2\u28aa\u28ab") - buf.write("\7U\2\2\u28ab\u28ac\7G\2\2\u28ac\u28ad\7T\2\2\u28ad\u0704") - buf.write("\3\2\2\2\u28ae\u28af\7V\2\2\u28af\u28b0\7C\2\2\u28b0\u28b1") - buf.write("\7P\2\2\u28b1\u0706\3\2\2\2\u28b2\u28b3\7V\2\2\u28b3\u28b4") - buf.write("\7K\2\2\u28b4\u28b5\7O\2\2\u28b5\u28b6\7G\2\2\u28b6\u28b7") - buf.write("\7F\2\2\u28b7\u28b8\7K\2\2\u28b8\u28b9\7H\2\2\u28b9\u28ba") - buf.write("\7H\2\2\u28ba\u0708\3\2\2\2\u28bb\u28bc\7V\2\2\u28bc\u28bd") - buf.write("\7K\2\2\u28bd\u28be\7O\2\2\u28be\u28bf\7G\2\2\u28bf\u28c0") - buf.write("\7U\2\2\u28c0\u28c1\7V\2\2\u28c1\u28c2\7C\2\2\u28c2\u28c3") - buf.write("\7O\2\2\u28c3\u28c4\7R\2\2\u28c4\u28c5\7C\2\2\u28c5\u28c6") - buf.write("\7F\2\2\u28c6\u28c7\7F\2\2\u28c7\u070a\3\2\2\2\u28c8\u28c9") - buf.write("\7V\2\2\u28c9\u28ca\7K\2\2\u28ca\u28cb\7O\2\2\u28cb\u28cc") - buf.write("\7G\2\2\u28cc\u28cd\7U\2\2\u28cd\u28ce\7V\2\2\u28ce\u28cf") - buf.write("\7C\2\2\u28cf\u28d0\7O\2\2\u28d0\u28d1\7R\2\2\u28d1\u28d2") - buf.write("\7F\2\2\u28d2\u28d3\7K\2\2\u28d3\u28d4\7H\2\2\u28d4\u28d5") - buf.write("\7H\2\2\u28d5\u070c\3\2\2\2\u28d6\u28d7\7V\2\2\u28d7\u28d8") - buf.write("\7K\2\2\u28d8\u28d9\7O\2\2\u28d9\u28da\7G\2\2\u28da\u28db") - buf.write("\7a\2\2\u28db\u28dc\7H\2\2\u28dc\u28dd\7Q\2\2\u28dd\u28de") - buf.write("\7T\2\2\u28de\u28df\7O\2\2\u28df\u28e0\7C\2\2\u28e0\u28e1") - buf.write("\7V\2\2\u28e1\u070e\3\2\2\2\u28e2\u28e3\7V\2\2\u28e3\u28e4") - buf.write("\7K\2\2\u28e4\u28e5\7O\2\2\u28e5\u28e6\7G\2\2\u28e6\u28e7") - buf.write("\7a\2\2\u28e7\u28e8\7V\2\2\u28e8\u28e9\7Q\2\2\u28e9\u28ea") - buf.write("\7a\2\2\u28ea\u28eb\7U\2\2\u28eb\u28ec\7G\2\2\u28ec\u28ed") - buf.write("\7E\2\2\u28ed\u0710\3\2\2\2\u28ee\u28ef\7V\2\2\u28ef\u28f0") - buf.write("\7Q\2\2\u28f0\u28f1\7W\2\2\u28f1\u28f2\7E\2\2\u28f2\u28f3") - buf.write("\7J\2\2\u28f3\u28f4\7G\2\2\u28f4\u28f5\7U\2\2\u28f5\u0712") - buf.write("\3\2\2\2\u28f6\u28f7\7V\2\2\u28f7\u28f8\7Q\2\2\u28f8\u28f9") - buf.write("\7a\2\2\u28f9\u28fa\7D\2\2\u28fa\u28fb\7C\2\2\u28fb\u28fc") - buf.write("\7U\2\2\u28fc\u28fd\7G\2\2\u28fd\u28fe\78\2\2\u28fe\u28ff") - buf.write("\7\66\2\2\u28ff\u0714\3\2\2\2\u2900\u2901\7V\2\2\u2901") - buf.write("\u2902\7Q\2\2\u2902\u2903\7a\2\2\u2903\u2904\7F\2\2\u2904") - buf.write("\u2905\7C\2\2\u2905\u2906\7[\2\2\u2906\u2907\7U\2\2\u2907") - buf.write("\u0716\3\2\2\2\u2908\u2909\7V\2\2\u2909\u290a\7Q\2\2\u290a") - buf.write("\u290b\7a\2\2\u290b\u290c\7U\2\2\u290c\u290d\7G\2\2\u290d") - buf.write("\u290e\7E\2\2\u290e\u290f\7Q\2\2\u290f\u2910\7P\2\2\u2910") - buf.write("\u2911\7F\2\2\u2911\u2912\7U\2\2\u2912\u0718\3\2\2\2\u2913") - buf.write("\u2914\7W\2\2\u2914\u2915\7E\2\2\u2915\u2916\7C\2\2\u2916") - buf.write("\u2917\7U\2\2\u2917\u2918\7G\2\2\u2918\u071a\3\2\2\2\u2919") - buf.write("\u291a\7W\2\2\u291a\u291b\7P\2\2\u291b\u291c\7E\2\2\u291c") - buf.write("\u291d\7Q\2\2\u291d\u291e\7O\2\2\u291e\u291f\7R\2\2\u291f") - buf.write("\u2920\7T\2\2\u2920\u2921\7G\2\2\u2921\u2922\7U\2\2\u2922") - buf.write("\u2923\7U\2\2\u2923\u071c\3\2\2\2\u2924\u2925\7W\2\2\u2925") - buf.write("\u2926\7P\2\2\u2926\u2927\7E\2\2\u2927\u2928\7Q\2\2\u2928") - buf.write("\u2929\7O\2\2\u2929\u292a\7R\2\2\u292a\u292b\7T\2\2\u292b") - buf.write("\u292c\7G\2\2\u292c\u292d\7U\2\2\u292d\u292e\7U\2\2\u292e") - buf.write("\u292f\7G\2\2\u292f\u2930\7F\2\2\u2930\u2931\7a\2\2\u2931") - buf.write("\u2932\7N\2\2\u2932\u2933\7G\2\2\u2933\u2934\7P\2\2\u2934") - buf.write("\u2935\7I\2\2\u2935\u2936\7V\2\2\u2936\u2937\7J\2\2\u2937") - buf.write("\u071e\3\2\2\2\u2938\u2939\7W\2\2\u2939\u293a\7P\2\2\u293a") - buf.write("\u293b\7J\2\2\u293b\u293c\7G\2\2\u293c\u293d\7Z\2\2\u293d") - buf.write("\u0720\3\2\2\2\u293e\u293f\7W\2\2\u293f\u2940\7P\2\2\u2940") - buf.write("\u2941\7K\2\2\u2941\u2942\7Z\2\2\u2942\u2943\7a\2\2\u2943") - buf.write("\u2944\7V\2\2\u2944\u2945\7K\2\2\u2945\u2946\7O\2\2\u2946") - buf.write("\u2947\7G\2\2\u2947\u2948\7U\2\2\u2948\u2949\7V\2\2\u2949") - buf.write("\u294a\7C\2\2\u294a\u294b\7O\2\2\u294b\u294c\7R\2\2\u294c") - buf.write("\u0722\3\2\2\2\u294d\u294e\7W\2\2\u294e\u294f\7R\2\2\u294f") - buf.write("\u2950\7F\2\2\u2950\u2951\7C\2\2\u2951\u2952\7V\2\2\u2952") - buf.write("\u2953\7G\2\2\u2953\u2954\7Z\2\2\u2954\u2955\7O\2\2\u2955") - buf.write("\u2956\7N\2\2\u2956\u0724\3\2\2\2\u2957\u2958\7W\2\2\u2958") - buf.write("\u2959\7R\2\2\u2959\u295a\7R\2\2\u295a\u295b\7G\2\2\u295b") - buf.write("\u295c\7T\2\2\u295c\u0726\3\2\2\2\u295d\u295e\7W\2\2\u295e") - buf.write("\u295f\7W\2\2\u295f\u2960\7K\2\2\u2960\u2961\7F\2\2\u2961") - buf.write("\u0728\3\2\2\2\u2962\u2963\7W\2\2\u2963\u2964\7W\2\2\u2964") - buf.write("\u2965\7K\2\2\u2965\u2966\7F\2\2\u2966\u2967\7a\2\2\u2967") - buf.write("\u2968\7U\2\2\u2968\u2969\7J\2\2\u2969\u296a\7Q\2\2\u296a") - buf.write("\u296b\7T\2\2\u296b\u296c\7V\2\2\u296c\u072a\3\2\2\2\u296d") - buf.write("\u296e\7X\2\2\u296e\u296f\7C\2\2\u296f\u2970\7N\2\2\u2970") - buf.write("\u2971\7K\2\2\u2971\u2972\7F\2\2\u2972\u2973\7C\2\2\u2973") - buf.write("\u2974\7V\2\2\u2974\u2975\7G\2\2\u2975\u2976\7a\2\2\u2976") - buf.write("\u2977\7R\2\2\u2977\u2978\7C\2\2\u2978\u2979\7U\2\2\u2979") - buf.write("\u297a\7U\2\2\u297a\u297b\7Y\2\2\u297b\u297c\7Q\2\2\u297c") - buf.write("\u297d\7T\2\2\u297d\u297e\7F\2\2\u297e\u297f\7a\2\2\u297f") - buf.write("\u2980\7U\2\2\u2980\u2981\7V\2\2\u2981\u2982\7T\2\2\u2982") - buf.write("\u2983\7G\2\2\u2983\u2984\7P\2\2\u2984\u2985\7I\2\2\u2985") - buf.write("\u2986\7V\2\2\u2986\u2987\7J\2\2\u2987\u072c\3\2\2\2\u2988") - buf.write("\u2989\7X\2\2\u2989\u298a\7G\2\2\u298a\u298b\7T\2\2\u298b") - buf.write("\u298c\7U\2\2\u298c\u298d\7K\2\2\u298d\u298e\7Q\2\2\u298e") - buf.write("\u298f\7P\2\2\u298f\u072e\3\2\2\2\u2990\u2991\7Y\2\2\u2991") - buf.write("\u2992\7C\2\2\u2992\u2993\7K\2\2\u2993\u2994\7V\2\2\u2994") - buf.write("\u2995\7a\2\2\u2995\u2996\7W\2\2\u2996\u2997\7P\2\2\u2997") - buf.write("\u2998\7V\2\2\u2998\u2999\7K\2\2\u2999\u299a\7N\2\2\u299a") - buf.write("\u299b\7a\2\2\u299b\u299c\7U\2\2\u299c\u299d\7S\2\2\u299d") - buf.write("\u299e\7N\2\2\u299e\u299f\7a\2\2\u299f\u29a0\7V\2\2\u29a0") - buf.write("\u29a1\7J\2\2\u29a1\u29a2\7T\2\2\u29a2\u29a3\7G\2\2\u29a3") - buf.write("\u29a4\7C\2\2\u29a4\u29a5\7F\2\2\u29a5\u29a6\7a\2\2\u29a6") - buf.write("\u29a7\7C\2\2\u29a7\u29a8\7H\2\2\u29a8\u29a9\7V\2\2\u29a9") - buf.write("\u29aa\7G\2\2\u29aa\u29ab\7T\2\2\u29ab\u29ac\7a\2\2\u29ac") - buf.write("\u29ad\7I\2\2\u29ad\u29ae\7V\2\2\u29ae\u29af\7K\2\2\u29af") - buf.write("\u29b0\7F\2\2\u29b0\u29b1\7U\2\2\u29b1\u0730\3\2\2\2\u29b2") - buf.write("\u29b3\7Y\2\2\u29b3\u29b4\7G\2\2\u29b4\u29b5\7G\2\2\u29b5") - buf.write("\u29b6\7M\2\2\u29b6\u29b7\7F\2\2\u29b7\u29b8\7C\2\2\u29b8") - buf.write("\u29b9\7[\2\2\u29b9\u0732\3\2\2\2\u29ba\u29bb\7Y\2\2\u29bb") - buf.write("\u29bc\7G\2\2\u29bc\u29bd\7G\2\2\u29bd\u29be\7M\2\2\u29be") - buf.write("\u29bf\7Q\2\2\u29bf\u29c0\7H\2\2\u29c0\u29c1\7[\2\2\u29c1") - buf.write("\u29c2\7G\2\2\u29c2\u29c3\7C\2\2\u29c3\u29c4\7T\2\2\u29c4") - buf.write("\u0734\3\2\2\2\u29c5\u29c6\7Y\2\2\u29c6\u29c7\7G\2\2\u29c7") - buf.write("\u29c8\7K\2\2\u29c8\u29c9\7I\2\2\u29c9\u29ca\7J\2\2\u29ca") - buf.write("\u29cb\7V\2\2\u29cb\u29cc\7a\2\2\u29cc\u29cd\7U\2\2\u29cd") - buf.write("\u29ce\7V\2\2\u29ce\u29cf\7T\2\2\u29cf\u29d0\7K\2\2\u29d0") - buf.write("\u29d1\7P\2\2\u29d1\u29d2\7I\2\2\u29d2\u0736\3\2\2\2\u29d3") - buf.write("\u29d4\7Y\2\2\u29d4\u29d5\7K\2\2\u29d5\u29d6\7V\2\2\u29d6") - buf.write("\u29d7\7J\2\2\u29d7\u29d8\7K\2\2\u29d8\u29d9\7P\2\2\u29d9") - buf.write("\u0738\3\2\2\2\u29da\u29db\7[\2\2\u29db\u29dc\7G\2\2\u29dc") - buf.write("\u29dd\7C\2\2\u29dd\u29de\7T\2\2\u29de\u29df\7Y\2\2\u29df") - buf.write("\u29e0\7G\2\2\u29e0\u29e1\7G\2\2\u29e1\u29e2\7M\2\2\u29e2") - buf.write("\u073a\3\2\2\2\u29e3\u29e4\7[\2\2\u29e4\u073c\3\2\2\2") - buf.write("\u29e5\u29e6\7Z\2\2\u29e6\u073e\3\2\2\2\u29e7\u29e8\7") - buf.write("<\2\2\u29e8\u29e9\7?\2\2\u29e9\u0740\3\2\2\2\u29ea\u29eb") - buf.write("\7-\2\2\u29eb\u29ec\7?\2\2\u29ec\u0742\3\2\2\2\u29ed\u29ee") - buf.write("\7/\2\2\u29ee\u29ef\7?\2\2\u29ef\u0744\3\2\2\2\u29f0\u29f1") - buf.write("\7,\2\2\u29f1\u29f2\7?\2\2\u29f2\u0746\3\2\2\2\u29f3\u29f4") - buf.write("\7\61\2\2\u29f4\u29f5\7?\2\2\u29f5\u0748\3\2\2\2\u29f6") - buf.write("\u29f7\7\'\2\2\u29f7\u29f8\7?\2\2\u29f8\u074a\3\2\2\2") - buf.write("\u29f9\u29fa\7(\2\2\u29fa\u29fb\7?\2\2\u29fb\u074c\3\2") - buf.write("\2\2\u29fc\u29fd\7`\2\2\u29fd\u29fe\7?\2\2\u29fe\u074e") - buf.write("\3\2\2\2\u29ff\u2a00\7~\2\2\u2a00\u2a01\7?\2\2\u2a01\u0750") - buf.write("\3\2\2\2\u2a02\u2a03\7,\2\2\u2a03\u0752\3\2\2\2\u2a04") - buf.write("\u2a05\7\61\2\2\u2a05\u0754\3\2\2\2\u2a06\u2a07\7\'\2") - buf.write("\2\u2a07\u0756\3\2\2\2\u2a08\u2a09\7-\2\2\u2a09\u0758") - buf.write("\3\2\2\2\u2a0a\u2a0b\7/\2\2\u2a0b\u2a0c\7/\2\2\u2a0c\u075a") - buf.write("\3\2\2\2\u2a0d\u2a0e\7/\2\2\u2a0e\u075c\3\2\2\2\u2a0f") - buf.write("\u2a10\7F\2\2\u2a10\u2a11\7K\2\2\u2a11\u2a12\7X\2\2\u2a12") - buf.write("\u075e\3\2\2\2\u2a13\u2a14\7O\2\2\u2a14\u2a15\7Q\2\2\u2a15") - buf.write("\u2a16\7F\2\2\u2a16\u0760\3\2\2\2\u2a17\u2a18\7?\2\2\u2a18") - buf.write("\u0762\3\2\2\2\u2a19\u2a1a\7@\2\2\u2a1a\u0764\3\2\2\2") - buf.write("\u2a1b\u2a1c\7>\2\2\u2a1c\u0766\3\2\2\2\u2a1d\u2a1e\7") - buf.write("#\2\2\u2a1e\u0768\3\2\2\2\u2a1f\u2a20\7\u0080\2\2\u2a20") - buf.write("\u076a\3\2\2\2\u2a21\u2a22\7~\2\2\u2a22\u076c\3\2\2\2") - buf.write("\u2a23\u2a24\7(\2\2\u2a24\u076e\3\2\2\2\u2a25\u2a26\7") - buf.write("`\2\2\u2a26\u0770\3\2\2\2\u2a27\u2a28\7\60\2\2\u2a28\u0772") - buf.write("\3\2\2\2\u2a29\u2a2a\7*\2\2\u2a2a\u0774\3\2\2\2\u2a2b") - buf.write("\u2a2c\7+\2\2\u2a2c\u0776\3\2\2\2\u2a2d\u2a2e\7.\2\2\u2a2e") - buf.write("\u0778\3\2\2\2\u2a2f\u2a30\7=\2\2\u2a30\u077a\3\2\2\2") - buf.write("\u2a31\u2a32\7B\2\2\u2a32\u077c\3\2\2\2\u2a33\u2a34\7") - buf.write("\62\2\2\u2a34\u077e\3\2\2\2\u2a35\u2a36\7\63\2\2\u2a36") - buf.write("\u0780\3\2\2\2\u2a37\u2a38\7\64\2\2\u2a38\u0782\3\2\2") - buf.write("\2\u2a39\u2a3a\7)\2\2\u2a3a\u0784\3\2\2\2\u2a3b\u2a3c") - buf.write("\7$\2\2\u2a3c\u0786\3\2\2\2\u2a3d\u2a3e\7b\2\2\u2a3e\u0788") - buf.write("\3\2\2\2\u2a3f\u2a40\7<\2\2\u2a40\u078a\3\2\2\2\u2a41") - buf.write("\u2a42\7b\2\2\u2a42\u2a43\5\u07ab\u03d6\2\u2a43\u2a44") - buf.write("\7b\2\2\u2a44\u078c\3\2\2\2\u2a45\u2a47\5\u07b9\u03dd") - buf.write("\2\u2a46\u2a45\3\2\2\2\u2a47\u2a48\3\2\2\2\u2a48\u2a46") - buf.write("\3\2\2\2\u2a48\u2a49\3\2\2\2\u2a49\u2a4a\3\2\2\2\u2a4a") - buf.write("\u2a4b\t\4\2\2\u2a4b\u078e\3\2\2\2\u2a4c\u2a4d\7P\2\2") - buf.write("\u2a4d\u2a4e\5\u07b3\u03da\2\u2a4e\u0790\3\2\2\2\u2a4f") - buf.write("\u2a52\5\u07b1\u03d9\2\u2a50\u2a52\5\u07b3\u03da\2\u2a51") - buf.write("\u2a4f\3\2\2\2\u2a51\u2a50\3\2\2\2\u2a52\u0792\3\2\2\2") - buf.write("\u2a53\u2a55\5\u07b9\u03dd\2\u2a54\u2a53\3\2\2\2\u2a55") - buf.write("\u2a56\3\2\2\2\u2a56\u2a54\3\2\2\2\u2a56\u2a57\3\2\2\2") - buf.write("\u2a57\u0794\3\2\2\2\u2a58\u2a59\7Z\2\2\u2a59\u2a5d\7") - buf.write(")\2\2\u2a5a\u2a5b\5\u07b7\u03dc\2\u2a5b\u2a5c\5\u07b7") - buf.write("\u03dc\2\u2a5c\u2a5e\3\2\2\2\u2a5d\u2a5a\3\2\2\2\u2a5e") - buf.write("\u2a5f\3\2\2\2\u2a5f\u2a5d\3\2\2\2\u2a5f\u2a60\3\2\2\2") - buf.write("\u2a60\u2a61\3\2\2\2\u2a61\u2a62\7)\2\2\u2a62\u2a6c\3") - buf.write("\2\2\2\u2a63\u2a64\7\62\2\2\u2a64\u2a65\7Z\2\2\u2a65\u2a67") - buf.write("\3\2\2\2\u2a66\u2a68\5\u07b7\u03dc\2\u2a67\u2a66\3\2\2") - buf.write("\2\u2a68\u2a69\3\2\2\2\u2a69\u2a67\3\2\2\2\u2a69\u2a6a") - buf.write("\3\2\2\2\u2a6a\u2a6c\3\2\2\2\u2a6b\u2a58\3\2\2\2\u2a6b") - buf.write("\u2a63\3\2\2\2\u2a6c\u0796\3\2\2\2\u2a6d\u2a6f\5\u07b9") - buf.write("\u03dd\2\u2a6e\u2a6d\3\2\2\2\u2a6f\u2a70\3\2\2\2\u2a70") - buf.write("\u2a6e\3\2\2\2\u2a70\u2a71\3\2\2\2\u2a71\u2a73\3\2\2\2") - buf.write("\u2a72\u2a6e\3\2\2\2\u2a72\u2a73\3\2\2\2\u2a73\u2a74\3") - buf.write("\2\2\2\u2a74\u2a76\7\60\2\2\u2a75\u2a77\5\u07b9\u03dd") - buf.write("\2\u2a76\u2a75\3\2\2\2\u2a77\u2a78\3\2\2\2\u2a78\u2a76") - buf.write("\3\2\2\2\u2a78\u2a79\3\2\2\2\u2a79\u2a99\3\2\2\2\u2a7a") - buf.write("\u2a7c\5\u07b9\u03dd\2\u2a7b\u2a7a\3\2\2\2\u2a7c\u2a7d") - buf.write("\3\2\2\2\u2a7d\u2a7b\3\2\2\2\u2a7d\u2a7e\3\2\2\2\u2a7e") - buf.write("\u2a7f\3\2\2\2\u2a7f\u2a80\7\60\2\2\u2a80\u2a81\5\u07ad") - buf.write("\u03d7\2\u2a81\u2a99\3\2\2\2\u2a82\u2a84\5\u07b9\u03dd") - buf.write("\2\u2a83\u2a82\3\2\2\2\u2a84\u2a85\3\2\2\2\u2a85\u2a83") - buf.write("\3\2\2\2\u2a85\u2a86\3\2\2\2\u2a86\u2a88\3\2\2\2\u2a87") - buf.write("\u2a83\3\2\2\2\u2a87\u2a88\3\2\2\2\u2a88\u2a89\3\2\2\2") - buf.write("\u2a89\u2a8b\7\60\2\2\u2a8a\u2a8c\5\u07b9\u03dd\2\u2a8b") - buf.write("\u2a8a\3\2\2\2\u2a8c\u2a8d\3\2\2\2\u2a8d\u2a8b\3\2\2\2") - buf.write("\u2a8d\u2a8e\3\2\2\2\u2a8e\u2a8f\3\2\2\2\u2a8f\u2a90\5") - buf.write("\u07ad\u03d7\2\u2a90\u2a99\3\2\2\2\u2a91\u2a93\5\u07b9") - buf.write("\u03dd\2\u2a92\u2a91\3\2\2\2\u2a93\u2a94\3\2\2\2\u2a94") - buf.write("\u2a92\3\2\2\2\u2a94\u2a95\3\2\2\2\u2a95\u2a96\3\2\2\2") - buf.write("\u2a96\u2a97\5\u07ad\u03d7\2\u2a97\u2a99\3\2\2\2\u2a98") - buf.write("\u2a72\3\2\2\2\u2a98\u2a7b\3\2\2\2\u2a98\u2a87\3\2\2\2") - buf.write("\u2a98\u2a92\3\2\2\2\u2a99\u0798\3\2\2\2\u2a9a\u2a9b\7") - buf.write("^\2\2\u2a9b\u2a9c\7P\2\2\u2a9c\u079a\3\2\2\2\u2a9d\u2a9e") - buf.write("\5\u07bb\u03de\2\u2a9e\u079c\3\2\2\2\u2a9f\u2aa0\7a\2") - buf.write("\2\u2aa0\u2aa1\5\u07ab\u03d6\2\u2aa1\u079e\3\2\2\2\u2aa2") - buf.write("\u2aa3\7\60\2\2\u2aa3\u2aa4\5\u07af\u03d8\2\u2aa4\u07a0") - buf.write("\3\2\2\2\u2aa5\u2aa6\5\u07af\u03d8\2\u2aa6\u07a2\3\2\2") - buf.write("\2\u2aa7\u2aa9\7b\2\2\u2aa8\u2aaa\n\5\2\2\u2aa9\u2aa8") - buf.write("\3\2\2\2\u2aaa\u2aab\3\2\2\2\u2aab\u2aa9\3\2\2\2\u2aab") - buf.write("\u2aac\3\2\2\2\u2aac\u2aad\3\2\2\2\u2aad\u2aae\7b\2\2") - buf.write("\u2aae\u07a4\3\2\2\2\u2aaf\u2ab4\5\u07b3\u03da\2\u2ab0") - buf.write("\u2ab4\5\u07b1\u03d9\2\u2ab1\u2ab4\5\u07b5\u03db\2\u2ab2") - buf.write("\u2ab4\5\u07af\u03d8\2\u2ab3\u2aaf\3\2\2\2\u2ab3\u2ab0") - buf.write("\3\2\2\2\u2ab3\u2ab1\3\2\2\2\u2ab3\u2ab2\3\2\2\2\u2ab4") - buf.write("\u2ab5\3\2\2\2\u2ab5\u2aba\7B\2\2\u2ab6\u2abb\5\u07b3") - buf.write("\u03da\2\u2ab7\u2abb\5\u07b1\u03d9\2\u2ab8\u2abb\5\u07b5") - buf.write("\u03db\2\u2ab9\u2abb\5\u07af\u03d8\2\u2aba\u2ab6\3\2\2") - buf.write("\2\u2aba\u2ab7\3\2\2\2\u2aba\u2ab8\3\2\2\2\u2aba\u2ab9") - buf.write("\3\2\2\2\u2abb\u07a6\3\2\2\2\u2abc\u2ac5\7B\2\2\u2abd") - buf.write("\u2abf\t\6\2\2\u2abe\u2abd\3\2\2\2\u2abf\u2ac0\3\2\2\2") - buf.write("\u2ac0\u2abe\3\2\2\2\u2ac0\u2ac1\3\2\2\2\u2ac1\u2ac6\3") - buf.write("\2\2\2\u2ac2\u2ac6\5\u07b3\u03da\2\u2ac3\u2ac6\5\u07b1") - buf.write("\u03d9\2\u2ac4\u2ac6\5\u07b5\u03db\2\u2ac5\u2abe\3\2\2") - buf.write("\2\u2ac5\u2ac2\3\2\2\2\u2ac5\u2ac3\3\2\2\2\u2ac5\u2ac4") - buf.write("\3\2\2\2\u2ac6\u07a8\3\2\2\2\u2ac7\u2ac8\7B\2\2\u2ac8") - buf.write("\u2acf\7B\2\2\u2ac9\u2acb\t\6\2\2\u2aca\u2ac9\3\2\2\2") - buf.write("\u2acb\u2acc\3\2\2\2\u2acc\u2aca\3\2\2\2\u2acc\u2acd\3") - buf.write("\2\2\2\u2acd\u2ad0\3\2\2\2\u2ace\u2ad0\5\u07b5\u03db\2") - buf.write("\u2acf\u2aca\3\2\2\2\u2acf\u2ace\3\2\2\2\u2ad0\u07aa\3") - buf.write("\2\2\2\u2ad1\u2afa\5\u047f\u0240\2\u2ad2\u2afa\5\u0481") - buf.write("\u0241\2\u2ad3\u2afa\5\u0483\u0242\2\u2ad4\u2afa\5\u017f") - buf.write("\u00c0\2\u2ad5\u2afa\5\u0485\u0243\2\u2ad6\u2afa\5\u0487") - buf.write("\u0244\2\u2ad7\u2afa\5\u0489\u0245\2\u2ad8\u2afa\5\u048b") - buf.write("\u0246\2\u2ad9\u2afa\5\u048d\u0247\2\u2ada\u2afa\5\u048f") - buf.write("\u0248\2\u2adb\u2afa\5\u0491\u0249\2\u2adc\u2afa\5\u0493") - buf.write("\u024a\2\u2add\u2afa\5\u0495\u024b\2\u2ade\u2afa\5\u0497") - buf.write("\u024c\2\u2adf\u2afa\5\u0499\u024d\2\u2ae0\u2afa\5\u049b") - buf.write("\u024e\2\u2ae1\u2afa\5\u049d\u024f\2\u2ae2\u2afa\5\u049f") - buf.write("\u0250\2\u2ae3\u2afa\5\u04a1\u0251\2\u2ae4\u2afa\5\u04a3") - buf.write("\u0252\2\u2ae5\u2afa\5\u04a5\u0253\2\u2ae6\u2afa\5\u04a7") - buf.write("\u0254\2\u2ae7\u2afa\5\u04a9\u0255\2\u2ae8\u2afa\5\u04ab") - buf.write("\u0256\2\u2ae9\u2afa\5\u04ad\u0257\2\u2aea\u2afa\5\u04af") - buf.write("\u0258\2\u2aeb\u2afa\5\u04b1\u0259\2\u2aec\u2afa\5\u04b3") - buf.write("\u025a\2\u2aed\u2afa\5\u04b5\u025b\2\u2aee\u2afa\5\u04b7") - buf.write("\u025c\2\u2aef\u2afa\5\u04b9\u025d\2\u2af0\u2afa\5\u04bb") - buf.write("\u025e\2\u2af1\u2afa\5\u04bd\u025f\2\u2af2\u2afa\5\u04bf") - buf.write("\u0260\2\u2af3\u2afa\5\u04c1\u0261\2\u2af4\u2afa\5\u04c3") - buf.write("\u0262\2\u2af5\u2afa\5\u04c5\u0263\2\u2af6\u2afa\5\u04c7") - buf.write("\u0264\2\u2af7\u2afa\5\u04c9\u0265\2\u2af8\u2afa\5\u04cd") - buf.write("\u0267\2\u2af9\u2ad1\3\2\2\2\u2af9\u2ad2\3\2\2\2\u2af9") - buf.write("\u2ad3\3\2\2\2\u2af9\u2ad4\3\2\2\2\u2af9\u2ad5\3\2\2\2") - buf.write("\u2af9\u2ad6\3\2\2\2\u2af9\u2ad7\3\2\2\2\u2af9\u2ad8\3") - buf.write("\2\2\2\u2af9\u2ad9\3\2\2\2\u2af9\u2ada\3\2\2\2\u2af9\u2adb") - buf.write("\3\2\2\2\u2af9\u2adc\3\2\2\2\u2af9\u2add\3\2\2\2\u2af9") - buf.write("\u2ade\3\2\2\2\u2af9\u2adf\3\2\2\2\u2af9\u2ae0\3\2\2\2") - buf.write("\u2af9\u2ae1\3\2\2\2\u2af9\u2ae2\3\2\2\2\u2af9\u2ae3\3") - buf.write("\2\2\2\u2af9\u2ae4\3\2\2\2\u2af9\u2ae5\3\2\2\2\u2af9\u2ae6") - buf.write("\3\2\2\2\u2af9\u2ae7\3\2\2\2\u2af9\u2ae8\3\2\2\2\u2af9") - buf.write("\u2ae9\3\2\2\2\u2af9\u2aea\3\2\2\2\u2af9\u2aeb\3\2\2\2") - buf.write("\u2af9\u2aec\3\2\2\2\u2af9\u2aed\3\2\2\2\u2af9\u2aee\3") - buf.write("\2\2\2\u2af9\u2aef\3\2\2\2\u2af9\u2af0\3\2\2\2\u2af9\u2af1") - buf.write("\3\2\2\2\u2af9\u2af2\3\2\2\2\u2af9\u2af3\3\2\2\2\u2af9") - buf.write("\u2af4\3\2\2\2\u2af9\u2af5\3\2\2\2\u2af9\u2af6\3\2\2\2") - buf.write("\u2af9\u2af7\3\2\2\2\u2af9\u2af8\3\2\2\2\u2afa\u07ac\3") - buf.write("\2\2\2\u2afb\u2afd\7G\2\2\u2afc\u2afe\7/\2\2\u2afd\u2afc") - buf.write("\3\2\2\2\u2afd\u2afe\3\2\2\2\u2afe\u2b00\3\2\2\2\u2aff") - buf.write("\u2b01\5\u07b9\u03dd\2\u2b00\u2aff\3\2\2\2\u2b01\u2b02") - buf.write("\3\2\2\2\u2b02\u2b00\3\2\2\2\u2b02\u2b03\3\2\2\2\u2b03") - buf.write("\u07ae\3\2\2\2\u2b04\u2b06\t\7\2\2\u2b05\u2b04\3\2\2\2") - buf.write("\u2b06\u2b09\3\2\2\2\u2b07\u2b08\3\2\2\2\u2b07\u2b05\3") - buf.write("\2\2\2\u2b08\u2b0b\3\2\2\2\u2b09\u2b07\3\2\2\2\u2b0a\u2b0c") - buf.write("\t\b\2\2\u2b0b\u2b0a\3\2\2\2\u2b0c\u2b0d\3\2\2\2\u2b0d") - buf.write("\u2b0e\3\2\2\2\u2b0d\u2b0b\3\2\2\2\u2b0e\u2b12\3\2\2\2") - buf.write("\u2b0f\u2b11\t\7\2\2\u2b10\u2b0f\3\2\2\2\u2b11\u2b14\3") - buf.write("\2\2\2\u2b12\u2b10\3\2\2\2\u2b12\u2b13\3\2\2\2\u2b13\u07b0") - buf.write("\3\2\2\2\u2b14\u2b12\3\2\2\2\u2b15\u2b1d\7$\2\2\u2b16") - buf.write("\u2b17\7^\2\2\u2b17\u2b1c\13\2\2\2\u2b18\u2b19\7$\2\2") - buf.write("\u2b19\u2b1c\7$\2\2\u2b1a\u2b1c\n\t\2\2\u2b1b\u2b16\3") - buf.write("\2\2\2\u2b1b\u2b18\3\2\2\2\u2b1b\u2b1a\3\2\2\2\u2b1c\u2b1f") - buf.write("\3\2\2\2\u2b1d\u2b1b\3\2\2\2\u2b1d\u2b1e\3\2\2\2\u2b1e") - buf.write("\u2b20\3\2\2\2\u2b1f\u2b1d\3\2\2\2\u2b20\u2b21\7$\2\2") - buf.write("\u2b21\u07b2\3\2\2\2\u2b22\u2b2a\7)\2\2\u2b23\u2b24\7") - buf.write("^\2\2\u2b24\u2b29\13\2\2\2\u2b25\u2b26\7)\2\2\u2b26\u2b29") - buf.write("\7)\2\2\u2b27\u2b29\n\n\2\2\u2b28\u2b23\3\2\2\2\u2b28") - buf.write("\u2b25\3\2\2\2\u2b28\u2b27\3\2\2\2\u2b29\u2b2c\3\2\2\2") - buf.write("\u2b2a\u2b28\3\2\2\2\u2b2a\u2b2b\3\2\2\2\u2b2b\u2b2d\3") - buf.write("\2\2\2\u2b2c\u2b2a\3\2\2\2\u2b2d\u2b2e\7)\2\2\u2b2e\u07b4") - buf.write("\3\2\2\2\u2b2f\u2b37\7b\2\2\u2b30\u2b31\7^\2\2\u2b31\u2b36") - buf.write("\13\2\2\2\u2b32\u2b33\7b\2\2\u2b33\u2b36\7b\2\2\u2b34") - buf.write("\u2b36\n\13\2\2\u2b35\u2b30\3\2\2\2\u2b35\u2b32\3\2\2") - buf.write("\2\u2b35\u2b34\3\2\2\2\u2b36\u2b39\3\2\2\2\u2b37\u2b35") - buf.write("\3\2\2\2\u2b37\u2b38\3\2\2\2\u2b38\u2b3a\3\2\2\2\u2b39") - buf.write("\u2b37\3\2\2\2\u2b3a\u2b3b\7b\2\2\u2b3b\u07b6\3\2\2\2") - buf.write("\u2b3c\u2b3d\t\f\2\2\u2b3d\u07b8\3\2\2\2\u2b3e\u2b3f\t") - buf.write("\r\2\2\u2b3f\u07ba\3\2\2\2\u2b40\u2b41\7D\2\2\u2b41\u2b43") - buf.write("\7)\2\2\u2b42\u2b44\t\16\2\2\u2b43\u2b42\3\2\2\2\u2b44") - buf.write("\u2b45\3\2\2\2\u2b45\u2b43\3\2\2\2\u2b45\u2b46\3\2\2\2") - buf.write("\u2b46\u2b47\3\2\2\2\u2b47\u2b48\7)\2\2\u2b48\u07bc\3") - buf.write("\2\2\2\u2b49\u2b4a\13\2\2\2\u2b4a\u2b4b\3\2\2\2\u2b4b") - buf.write("\u2b4c\b\u03df\4\2\u2b4c\u07be\3\2\2\2\60\2\u07c2\u07cd") - buf.write("\u07da\u07e6\u07eb\u07ef\u07f3\u07f9\u07fd\u07ff\u2a48") - buf.write("\u2a51\u2a56\u2a5f\u2a69\u2a6b\u2a70\u2a72\u2a78\u2a7d") - buf.write("\u2a85\u2a87\u2a8d\u2a94\u2a98\u2aab\u2ab3\u2aba\u2ac0") - buf.write("\u2ac5\u2acc\u2acf\u2af9\u2afd\u2b02\u2b07\u2b0d\u2b12") - buf.write("\u2b1b\u2b1d\u2b28\u2b2a\u2b35\u2b37\u2b45\5\2\3\2\2\4") - buf.write("\2\2\5\2") - return buf.getvalue() - - -class frameQLLexer(Lexer): - - atn = ATNDeserializer().deserialize(serializedATN()) - - decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ] - - MYSQLCOMMENT = 2 - ERRORCHANNEL = 3 - - SPACE = 1 - SPEC_MYSQL_COMMENT = 2 - COMMENT_INPUT = 3 - LINE_COMMENT = 4 - ERRORBOUND = 5 - CONFLEVEL = 6 - ADD = 7 - ALL = 8 - ALTER = 9 - ALWAYS = 10 - ANALYZE = 11 - AND = 12 - AS = 13 - ASC = 14 - BEFORE = 15 - BETWEEN = 16 - BOTH = 17 - BY = 18 - CALL = 19 - CASCADE = 20 - CASE = 21 - CAST = 22 - CHANGE = 23 - CHARACTER = 24 - CHECK = 25 - COLLATE = 26 - COLUMN = 27 - CONDITION = 28 - CONSTRAINT = 29 - CONTINUE = 30 - CONVERT = 31 - CREATE = 32 - CROSS = 33 - CURRENT_USER = 34 - CURSOR = 35 - DATABASE = 36 - DATABASES = 37 - DECLARE = 38 - DEFAULT = 39 - DELAYED = 40 - DELETE = 41 - DESC = 42 - DESCRIBE = 43 - DETERMINISTIC = 44 - DISTINCT = 45 - DISTINCTROW = 46 - DROP = 47 - EACH = 48 - ELSE = 49 - ELSEIF = 50 - ENCLOSED = 51 - ESCAPED = 52 - EXISTS = 53 - EXIT = 54 - EXPLAIN = 55 - FALSE = 56 - FETCH = 57 - FOR = 58 - FORCE = 59 - FOREIGN = 60 - FROM = 61 - FULLTEXT = 62 - GENERATED = 63 - GRANT = 64 - GROUP = 65 - HAVING = 66 - HIGH_PRIORITY = 67 - IF = 68 - IGNORE = 69 - IN = 70 - INDEX = 71 - INFILE = 72 - INNER = 73 - INOUT = 74 - INSERT = 75 - INTERVAL = 76 - INTO = 77 - IS = 78 - ITERATE = 79 - JOIN = 80 - KEY = 81 - KEYS = 82 - KILL = 83 - LEADING = 84 - LEAVE = 85 - LEFT = 86 - LIKE = 87 - LIMIT = 88 - LINEAR = 89 - LINES = 90 - LOAD = 91 - LOCK = 92 - LOOP = 93 - LOW_PRIORITY = 94 - MASTER_BIND = 95 - MASTER_SSL_VERIFY_SERVER_CERT = 96 - MATCH = 97 - MAXVALUE = 98 - MODIFIES = 99 - NATURAL = 100 - NOT = 101 - NO_WRITE_TO_BINLOG = 102 - NULL_LITERAL = 103 - ON = 104 - OPTIMIZE = 105 - OPTION = 106 - OPTIONALLY = 107 - OR = 108 - ORDER = 109 - OUT = 110 - OUTER = 111 - OUTFILE = 112 - PARTITION = 113 - PRIMARY = 114 - PROCEDURE = 115 - PURGE = 116 - RANGE = 117 - READ = 118 - READS = 119 - REFERENCES = 120 - REGEXP = 121 - RELEASE = 122 - RENAME = 123 - REPEAT = 124 - REPLACE = 125 - REQUIRE = 126 - RESTRICT = 127 - RETURN = 128 - REVOKE = 129 - RIGHT = 130 - RLIKE = 131 - SCHEMA = 132 - SCHEMAS = 133 - SELECT = 134 - SET = 135 - SEPARATOR = 136 - SHOW = 137 - SPATIAL = 138 - SQL = 139 - SQLEXCEPTION = 140 - SQLSTATE = 141 - SQLWARNING = 142 - SQL_BIG_RESULT = 143 - SQL_CALC_FOUND_ROWS = 144 - SQL_SMALL_RESULT = 145 - SSL = 146 - STARTING = 147 - STRAIGHT_JOIN = 148 - TABLE = 149 - TERMINATED = 150 - THEN = 151 - TO = 152 - TRAILING = 153 - TRIGGER = 154 - TRUE = 155 - UNDO = 156 - UNION = 157 - UNIQUE = 158 - UNLOCK = 159 - UNSIGNED = 160 - UPDATE = 161 - USAGE = 162 - USE = 163 - USING = 164 - VALUES = 165 - WHEN = 166 - WHERE = 167 - WHILE = 168 - WITH = 169 - WRITE = 170 - XOR = 171 - ZEROFILL = 172 - TINYINT = 173 - SMALLINT = 174 - MEDIUMINT = 175 - INT = 176 - INTEGER = 177 - BIGINT = 178 - REAL = 179 - DOUBLE = 180 - FLOAT = 181 - DECIMAL = 182 - NUMERIC = 183 - DATE = 184 - TIME = 185 - TIMESTAMP = 186 - DATETIME = 187 - YEAR = 188 - CHAR = 189 - VARCHAR = 190 - BINARY = 191 - VARBINARY = 192 - TINYBLOB = 193 - BLOB = 194 - MEDIUMBLOB = 195 - LONGBLOB = 196 - TINYTEXT = 197 - TEXT = 198 - MEDIUMTEXT = 199 - LONGTEXT = 200 - ENUM = 201 - SERIAL = 202 - YEAR_MONTH = 203 - DAY_HOUR = 204 - DAY_MINUTE = 205 - DAY_SECOND = 206 - HOUR_MINUTE = 207 - HOUR_SECOND = 208 - MINUTE_SECOND = 209 - SECOND_MICROSECOND = 210 - MINUTE_MICROSECOND = 211 - HOUR_MICROSECOND = 212 - DAY_MICROSECOND = 213 - AVG = 214 - BIT_AND = 215 - BIT_OR = 216 - BIT_XOR = 217 - COUNT = 218 - GROUP_CONCAT = 219 - MAX = 220 - MIN = 221 - STD = 222 - STDDEV = 223 - STDDEV_POP = 224 - STDDEV_SAMP = 225 - SUM = 226 - VAR_POP = 227 - VAR_SAMP = 228 - VARIANCE = 229 - FCOUNT = 230 - CURRENT_DATE = 231 - CURRENT_TIME = 232 - CURRENT_TIMESTAMP = 233 - LOCALTIME = 234 - CURDATE = 235 - CURTIME = 236 - DATE_ADD = 237 - DATE_SUB = 238 - EXTRACT = 239 - LOCALTIMESTAMP = 240 - NOW = 241 - POSITION = 242 - SUBSTR = 243 - SUBSTRING = 244 - SYSDATE = 245 - TRIM = 246 - UTC_DATE = 247 - UTC_TIME = 248 - UTC_TIMESTAMP = 249 - ACCOUNT = 250 - ACTION = 251 - AFTER = 252 - AGGREGATE = 253 - ALGORITHM = 254 - ANY = 255 - AT = 256 - AUTHORS = 257 - AUTOCOMMIT = 258 - AUTOEXTEND_SIZE = 259 - AUTO_INCREMENT = 260 - AVG_ROW_LENGTH = 261 - BEGIN = 262 - BINLOG = 263 - BIT = 264 - BLOCK = 265 - BOOL = 266 - BOOLEAN = 267 - BTREE = 268 - CACHE = 269 - CASCADED = 270 - CHAIN = 271 - CHANGED = 272 - CHANNEL = 273 - CHECKSUM = 274 - CIPHER = 275 - CLIENT = 276 - CLOSE = 277 - COALESCE = 278 - CODE = 279 - COLUMNS = 280 - COLUMN_FORMAT = 281 - COMMENT = 282 - COMMIT = 283 - COMPACT = 284 - COMPLETION = 285 - COMPRESSED = 286 - COMPRESSION = 287 - CONCURRENT = 288 - CONNECTION = 289 - CONSISTENT = 290 - CONTAINS = 291 - CONTEXT = 292 - CONTRIBUTORS = 293 - COPY = 294 - CPU = 295 - DATA = 296 - DATAFILE = 297 - DEALLOCATE = 298 - DEFAULT_AUTH = 299 - DEFINER = 300 - DELAY_KEY_WRITE = 301 - DES_KEY_FILE = 302 - DIRECTORY = 303 - DISABLE = 304 - DISCARD = 305 - DISK = 306 - DO = 307 - DUMPFILE = 308 - DUPLICATE = 309 - DYNAMIC = 310 - ENABLE = 311 - ENCRYPTION = 312 - END = 313 - ENDS = 314 - ENGINE = 315 - ENGINES = 316 - ERROR = 317 - ERRORS = 318 - ESCAPE = 319 - EVEN = 320 - EVENT = 321 - EVENTS = 322 - EVERY = 323 - EXCHANGE = 324 - EXCLUSIVE = 325 - EXPIRE = 326 - EXPORT = 327 - EXTENDED = 328 - EXTENT_SIZE = 329 - FAST = 330 - FAULTS = 331 - FIELDS = 332 - FILE_BLOCK_SIZE = 333 - FILTER = 334 - FIRST = 335 - FIXED = 336 - FLUSH = 337 - FOLLOWS = 338 - FOUND = 339 - FULL = 340 - FUNCTION = 341 - GENERAL = 342 - GLOBAL = 343 - GRANTS = 344 - GROUP_REPLICATION = 345 - HANDLER = 346 - HASH = 347 - HELP = 348 - HOST = 349 - HOSTS = 350 - IDENTIFIED = 351 - IGNORE_SERVER_IDS = 352 - IMPORT = 353 - INDEXES = 354 - INITIAL_SIZE = 355 - INPLACE = 356 - INSERT_METHOD = 357 - INSTALL = 358 - INSTANCE = 359 - INVOKER = 360 - IO = 361 - IO_THREAD = 362 - IPC = 363 - ISOLATION = 364 - ISSUER = 365 - JSON = 366 - KEY_BLOCK_SIZE = 367 - LANGUAGE = 368 - LAST = 369 - LEAVES = 370 - LESS = 371 - LEVEL = 372 - LIST = 373 - LOCAL = 374 - LOGFILE = 375 - LOGS = 376 - MASTER = 377 - MASTER_AUTO_POSITION = 378 - MASTER_CONNECT_RETRY = 379 - MASTER_DELAY = 380 - MASTER_HEARTBEAT_PERIOD = 381 - MASTER_HOST = 382 - MASTER_LOG_FILE = 383 - MASTER_LOG_POS = 384 - MASTER_PASSWORD = 385 - MASTER_PORT = 386 - MASTER_RETRY_COUNT = 387 - MASTER_SSL = 388 - MASTER_SSL_CA = 389 - MASTER_SSL_CAPATH = 390 - MASTER_SSL_CERT = 391 - MASTER_SSL_CIPHER = 392 - MASTER_SSL_CRL = 393 - MASTER_SSL_CRLPATH = 394 - MASTER_SSL_KEY = 395 - MASTER_TLS_VERSION = 396 - MASTER_USER = 397 - MAX_CONNECTIONS_PER_HOUR = 398 - MAX_QUERIES_PER_HOUR = 399 - MAX_ROWS = 400 - MAX_SIZE = 401 - MAX_UPDATES_PER_HOUR = 402 - MAX_USER_CONNECTIONS = 403 - MEDIUM = 404 - MERGE = 405 - MID = 406 - MIGRATE = 407 - MIN_ROWS = 408 - MODE = 409 - MODIFY = 410 - MUTEX = 411 - MYSQL = 412 - NAME = 413 - NAMES = 414 - NCHAR = 415 - NEVER = 416 - NEXT = 417 - NO = 418 - NODEGROUP = 419 - NONE = 420 - OFFLINE = 421 - OFFSET = 422 - OJ = 423 - OLD_PASSWORD = 424 - ONE = 425 - ONLINE = 426 - ONLY = 427 - OPEN = 428 - OPTIMIZER_COSTS = 429 - OPTIONS = 430 - OWNER = 431 - PACK_KEYS = 432 - PAGE = 433 - PARSER = 434 - PARTIAL = 435 - PARTITIONING = 436 - PARTITIONS = 437 - PASSWORD = 438 - PHASE = 439 - PLUGIN = 440 - PLUGIN_DIR = 441 - PLUGINS = 442 - PORT = 443 - PRECEDES = 444 - PREPARE = 445 - PRESERVE = 446 - PREV = 447 - PROCESSLIST = 448 - PROFILE = 449 - PROFILES = 450 - PROXY = 451 - QUERY = 452 - QUICK = 453 - REBUILD = 454 - RECOVER = 455 - REDO_BUFFER_SIZE = 456 - REDUNDANT = 457 - RELAY = 458 - RELAY_LOG_FILE = 459 - RELAY_LOG_POS = 460 - RELAYLOG = 461 - REMOVE = 462 - REORGANIZE = 463 - REPAIR = 464 - REPLICATE_DO_DB = 465 - REPLICATE_DO_TABLE = 466 - REPLICATE_IGNORE_DB = 467 - REPLICATE_IGNORE_TABLE = 468 - REPLICATE_REWRITE_DB = 469 - REPLICATE_WILD_DO_TABLE = 470 - REPLICATE_WILD_IGNORE_TABLE = 471 - REPLICATION = 472 - RESET = 473 - RESUME = 474 - RETURNS = 475 - ROLLBACK = 476 - ROLLUP = 477 - ROTATE = 478 - ROW = 479 - ROWS = 480 - ROW_FORMAT = 481 - SAVEPOINT = 482 - SCHEDULE = 483 - SECURITY = 484 - SERVER = 485 - SESSION = 486 - SHARE = 487 - SHARED = 488 - SIGNED = 489 - SIMPLE = 490 - SLAVE = 491 - SLOW = 492 - SNAPSHOT = 493 - SOCKET = 494 - SOME = 495 - SONAME = 496 - SOUNDS = 497 - SOURCE = 498 - SQL_AFTER_GTIDS = 499 - SQL_AFTER_MTS_GAPS = 500 - SQL_BEFORE_GTIDS = 501 - SQL_BUFFER_RESULT = 502 - SQL_CACHE = 503 - SQL_NO_CACHE = 504 - SQL_THREAD = 505 - START = 506 - STARTS = 507 - STATS_AUTO_RECALC = 508 - STATS_PERSISTENT = 509 - STATS_SAMPLE_PAGES = 510 - STATUS = 511 - STOP = 512 - STORAGE = 513 - STORED = 514 - STRING = 515 - SUBJECT = 516 - SUBPARTITION = 517 - SUBPARTITIONS = 518 - SUSPEND = 519 - SWAPS = 520 - SWITCHES = 521 - TABLESPACE = 522 - TEMPORARY = 523 - TEMPTABLE = 524 - THAN = 525 - TRADITIONAL = 526 - TRANSACTION = 527 - TRIGGERS = 528 - TRUNCATE = 529 - UNDEFINED = 530 - UNDOFILE = 531 - UNDO_BUFFER_SIZE = 532 - UNINSTALL = 533 - UNKNOWN = 534 - UNTIL = 535 - UPGRADE = 536 - USER = 537 - USE_FRM = 538 - USER_RESOURCES = 539 - VALIDATION = 540 - VALUE = 541 - VARIABLES = 542 - VIEW = 543 - VIRTUAL = 544 - WAIT = 545 - WARNINGS = 546 - WITHOUT = 547 - WORK = 548 - WRAPPER = 549 - X509 = 550 - XA = 551 - XML = 552 - EUR = 553 - USA = 554 - JIS = 555 - ISO = 556 - INTERNAL = 557 - QUARTER = 558 - MONTH = 559 - DAY = 560 - HOUR = 561 - MINUTE = 562 - WEEK = 563 - SECOND = 564 - MICROSECOND = 565 - TABLES = 566 - ROUTINE = 567 - EXECUTE = 568 - FILE = 569 - PROCESS = 570 - RELOAD = 571 - SHUTDOWN = 572 - SUPER = 573 - PRIVILEGES = 574 - ARMSCII8 = 575 - ASCII = 576 - BIG5 = 577 - CP1250 = 578 - CP1251 = 579 - CP1256 = 580 - CP1257 = 581 - CP850 = 582 - CP852 = 583 - CP866 = 584 - CP932 = 585 - DEC8 = 586 - EUCJPMS = 587 - EUCKR = 588 - GB2312 = 589 - GBK = 590 - GEOSTD8 = 591 - GREEK = 592 - HEBREW = 593 - HP8 = 594 - KEYBCS2 = 595 - KOI8R = 596 - KOI8U = 597 - LATIN1 = 598 - LATIN2 = 599 - LATIN5 = 600 - LATIN7 = 601 - MACCE = 602 - MACROMAN = 603 - SJIS = 604 - SWE7 = 605 - TIS620 = 606 - UCS2 = 607 - UJIS = 608 - UTF16 = 609 - UTF16LE = 610 - UTF32 = 611 - UTF8 = 612 - UTF8MB3 = 613 - UTF8MB4 = 614 - ARCHIVE = 615 - BLACKHOLE = 616 - CSV = 617 - FEDERATED = 618 - INNODB = 619 - MEMORY = 620 - MRG_MYISAM = 621 - MYISAM = 622 - NDB = 623 - NDBCLUSTER = 624 - PERFOMANCE_SCHEMA = 625 - REPEATABLE = 626 - COMMITTED = 627 - UNCOMMITTED = 628 - SERIALIZABLE = 629 - GEOMETRYCOLLECTION = 630 - LINESTRING = 631 - MULTILINESTRING = 632 - MULTIPOINT = 633 - MULTIPOLYGON = 634 - POINT = 635 - POLYGON = 636 - ABS = 637 - ACOS = 638 - ADDDATE = 639 - ADDTIME = 640 - AES_DECRYPT = 641 - AES_ENCRYPT = 642 - AREA = 643 - ASBINARY = 644 - ASIN = 645 - ASTEXT = 646 - ASWKB = 647 - ASWKT = 648 - ASYMMETRIC_DECRYPT = 649 - ASYMMETRIC_DERIVE = 650 - ASYMMETRIC_ENCRYPT = 651 - ASYMMETRIC_SIGN = 652 - ASYMMETRIC_VERIFY = 653 - ATAN = 654 - ATAN2 = 655 - BENCHMARK = 656 - BIN = 657 - BIT_COUNT = 658 - BIT_LENGTH = 659 - BUFFER = 660 - CEIL = 661 - CEILING = 662 - CENTROID = 663 - CHARACTER_LENGTH = 664 - CHARSET = 665 - CHAR_LENGTH = 666 - COERCIBILITY = 667 - COLLATION = 668 - COMPRESS = 669 - CONCAT = 670 - CONCAT_WS = 671 - CONNECTION_ID = 672 - CONV = 673 - CONVERT_TZ = 674 - COS = 675 - COT = 676 - CRC32 = 677 - CREATE_ASYMMETRIC_PRIV_KEY = 678 - CREATE_ASYMMETRIC_PUB_KEY = 679 - CREATE_DH_PARAMETERS = 680 - CREATE_DIGEST = 681 - CROSSES = 682 - DATEDIFF = 683 - DATE_FORMAT = 684 - DAYNAME = 685 - DAYOFMONTH = 686 - DAYOFWEEK = 687 - DAYOFYEAR = 688 - DECODE = 689 - DEGREES = 690 - DES_DECRYPT = 691 - DES_ENCRYPT = 692 - DIMENSION = 693 - DISJOINT = 694 - ELT = 695 - ENCODE = 696 - ENCRYPT = 697 - ENDPOINT = 698 - ENVELOPE = 699 - EQUALS = 700 - EXP = 701 - EXPORT_SET = 702 - EXTERIORRING = 703 - EXTRACTVALUE = 704 - FIELD = 705 - FIND_IN_SET = 706 - FLOOR = 707 - FORMAT = 708 - FOUND_ROWS = 709 - FROM_BASE64 = 710 - FROM_DAYS = 711 - FROM_UNIXTIME = 712 - GEOMCOLLFROMTEXT = 713 - GEOMCOLLFROMWKB = 714 - GEOMETRYCOLLECTIONFROMTEXT = 715 - GEOMETRYCOLLECTIONFROMWKB = 716 - GEOMETRYFROMTEXT = 717 - GEOMETRYFROMWKB = 718 - GEOMETRYN = 719 - GEOMETRYTYPE = 720 - GEOMFROMTEXT = 721 - GEOMFROMWKB = 722 - GET_FORMAT = 723 - GET_LOCK = 724 - GLENGTH = 725 - GREATEST = 726 - GTID_SUBSET = 727 - GTID_SUBTRACT = 728 - HEX = 729 - IFNULL = 730 - INET6_ATON = 731 - INET6_NTOA = 732 - INET_ATON = 733 - INET_NTOA = 734 - INSTR = 735 - INTERIORRINGN = 736 - INTERSECTS = 737 - ISCLOSED = 738 - ISEMPTY = 739 - ISNULL = 740 - ISSIMPLE = 741 - IS_FREE_LOCK = 742 - IS_IPV4 = 743 - IS_IPV4_COMPAT = 744 - IS_IPV4_MAPPED = 745 - IS_IPV6 = 746 - IS_USED_LOCK = 747 - LAST_INSERT_ID = 748 - LCASE = 749 - LEAST = 750 - LENGTH = 751 - LINEFROMTEXT = 752 - LINEFROMWKB = 753 - LINESTRINGFROMTEXT = 754 - LINESTRINGFROMWKB = 755 - LN = 756 - LOAD_FILE = 757 - LOCATE = 758 - LOG = 759 - LOG10 = 760 - LOG2 = 761 - LOWER = 762 - LPAD = 763 - LTRIM = 764 - MAKEDATE = 765 - MAKETIME = 766 - MAKE_SET = 767 - MASTER_POS_WAIT = 768 - MBRCONTAINS = 769 - MBRDISJOINT = 770 - MBREQUAL = 771 - MBRINTERSECTS = 772 - MBROVERLAPS = 773 - MBRTOUCHES = 774 - MBRWITHIN = 775 - MD5 = 776 - MLINEFROMTEXT = 777 - MLINEFROMWKB = 778 - MONTHNAME = 779 - MPOINTFROMTEXT = 780 - MPOINTFROMWKB = 781 - MPOLYFROMTEXT = 782 - MPOLYFROMWKB = 783 - MULTILINESTRINGFROMTEXT = 784 - MULTILINESTRINGFROMWKB = 785 - MULTIPOINTFROMTEXT = 786 - MULTIPOINTFROMWKB = 787 - MULTIPOLYGONFROMTEXT = 788 - MULTIPOLYGONFROMWKB = 789 - NAME_CONST = 790 - NULLIF = 791 - NUMGEOMETRIES = 792 - NUMINTERIORRINGS = 793 - NUMPOINTS = 794 - OCT = 795 - OCTET_LENGTH = 796 - ORD = 797 - OVERLAPS = 798 - PERIOD_ADD = 799 - PERIOD_DIFF = 800 - PI = 801 - POINTFROMTEXT = 802 - POINTFROMWKB = 803 - POINTN = 804 - POLYFROMTEXT = 805 - POLYFROMWKB = 806 - POLYGONFROMTEXT = 807 - POLYGONFROMWKB = 808 - POW = 809 - POWER = 810 - QUOTE = 811 - RADIANS = 812 - RAND = 813 - RANDOM_BYTES = 814 - RELEASE_LOCK = 815 - REVERSE = 816 - ROUND = 817 - ROW_COUNT = 818 - RPAD = 819 - RTRIM = 820 - SEC_TO_TIME = 821 - SESSION_USER = 822 - SHA = 823 - SHA1 = 824 - SHA2 = 825 - SIGN = 826 - SIN = 827 - SLEEP = 828 - SOUNDEX = 829 - SQL_THREAD_WAIT_AFTER_GTIDS = 830 - SQRT = 831 - SRID = 832 - STARTPOINT = 833 - STRCMP = 834 - STR_TO_DATE = 835 - ST_AREA = 836 - ST_ASBINARY = 837 - ST_ASTEXT = 838 - ST_ASWKB = 839 - ST_ASWKT = 840 - ST_BUFFER = 841 - ST_CENTROID = 842 - ST_CONTAINS = 843 - ST_CROSSES = 844 - ST_DIFFERENCE = 845 - ST_DIMENSION = 846 - ST_DISJOINT = 847 - ST_DISTANCE = 848 - ST_ENDPOINT = 849 - ST_ENVELOPE = 850 - ST_EQUALS = 851 - ST_EXTERIORRING = 852 - ST_GEOMCOLLFROMTEXT = 853 - ST_GEOMCOLLFROMTXT = 854 - ST_GEOMCOLLFROMWKB = 855 - ST_GEOMETRYCOLLECTIONFROMTEXT = 856 - ST_GEOMETRYCOLLECTIONFROMWKB = 857 - ST_GEOMETRYFROMTEXT = 858 - ST_GEOMETRYFROMWKB = 859 - ST_GEOMETRYN = 860 - ST_GEOMETRYTYPE = 861 - ST_GEOMFROMTEXT = 862 - ST_GEOMFROMWKB = 863 - ST_INTERIORRINGN = 864 - ST_INTERSECTION = 865 - ST_INTERSECTS = 866 - ST_ISCLOSED = 867 - ST_ISEMPTY = 868 - ST_ISSIMPLE = 869 - ST_LINEFROMTEXT = 870 - ST_LINEFROMWKB = 871 - ST_LINESTRINGFROMTEXT = 872 - ST_LINESTRINGFROMWKB = 873 - ST_NUMGEOMETRIES = 874 - ST_NUMINTERIORRING = 875 - ST_NUMINTERIORRINGS = 876 - ST_NUMPOINTS = 877 - ST_OVERLAPS = 878 - ST_POINTFROMTEXT = 879 - ST_POINTFROMWKB = 880 - ST_POINTN = 881 - ST_POLYFROMTEXT = 882 - ST_POLYFROMWKB = 883 - ST_POLYGONFROMTEXT = 884 - ST_POLYGONFROMWKB = 885 - ST_SRID = 886 - ST_STARTPOINT = 887 - ST_SYMDIFFERENCE = 888 - ST_TOUCHES = 889 - ST_UNION = 890 - ST_WITHIN = 891 - ST_X = 892 - ST_Y = 893 - SUBDATE = 894 - SUBSTRING_INDEX = 895 - SUBTIME = 896 - SYSTEM_USER = 897 - TAN = 898 - TIMEDIFF = 899 - TIMESTAMPADD = 900 - TIMESTAMPDIFF = 901 - TIME_FORMAT = 902 - TIME_TO_SEC = 903 - TOUCHES = 904 - TO_BASE64 = 905 - TO_DAYS = 906 - TO_SECONDS = 907 - UCASE = 908 - UNCOMPRESS = 909 - UNCOMPRESSED_LENGTH = 910 - UNHEX = 911 - UNIX_TIMESTAMP = 912 - UPDATEXML = 913 - UPPER = 914 - UUID = 915 - UUID_SHORT = 916 - VALIDATE_PASSWORD_STRENGTH = 917 - VERSION = 918 - WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS = 919 - WEEKDAY = 920 - WEEKOFYEAR = 921 - WEIGHT_STRING = 922 - WITHIN = 923 - YEARWEEK = 924 - Y_FUNCTION = 925 - X_FUNCTION = 926 - VAR_ASSIGN = 927 - PLUS_ASSIGN = 928 - MINUS_ASSIGN = 929 - MULT_ASSIGN = 930 - DIV_ASSIGN = 931 - MOD_ASSIGN = 932 - AND_ASSIGN = 933 - XOR_ASSIGN = 934 - OR_ASSIGN = 935 - STAR = 936 - DIVIDE = 937 - MODULE = 938 - PLUS = 939 - MINUSMINUS = 940 - MINUS = 941 - DIV = 942 - MOD = 943 - EQUAL_SYMBOL = 944 - GREATER_SYMBOL = 945 - LESS_SYMBOL = 946 - EXCLAMATION_SYMBOL = 947 - BIT_NOT_OP = 948 - BIT_OR_OP = 949 - BIT_AND_OP = 950 - BIT_XOR_OP = 951 - DOT = 952 - LR_BRACKET = 953 - RR_BRACKET = 954 - COMMA = 955 - SEMI = 956 - AT_SIGN = 957 - ZERO_DECIMAL = 958 - ONE_DECIMAL = 959 - TWO_DECIMAL = 960 - SINGLE_QUOTE_SYMB = 961 - DOUBLE_QUOTE_SYMB = 962 - REVERSE_QUOTE_SYMB = 963 - COLON_SYMB = 964 - CHARSET_REVERSE_QOUTE_STRING = 965 - FILESIZE_LITERAL = 966 - START_NATIONAL_STRING_LITERAL = 967 - STRING_LITERAL = 968 - DECIMAL_LITERAL = 969 - HEXADECIMAL_LITERAL = 970 - REAL_LITERAL = 971 - NULL_SPEC_LITERAL = 972 - BIT_STRING = 973 - STRING_CHARSET_NAME = 974 - DOT_ID = 975 - ID = 976 - REVERSE_QUOTE_ID = 977 - STRING_USER_NAME = 978 - LOCAL_ID = 979 - GLOBAL_ID = 980 - ERROR_RECONGNIGION = 981 - - channelNames = [ u"DEFAULT_TOKEN_CHANNEL", u"HIDDEN", u"MYSQLCOMMENT", - u"ERRORCHANNEL" ] - - modeNames = [ "DEFAULT_MODE" ] - - literalNames = [ "", - "'ERROR_WITHIN'", "'AT_CONFIDENCE'", "'ADD'", "'ALL'", "'ALTER'", - "'ALWAYS'", "'ANALYZE'", "'AND'", "'AS'", "'ASC'", "'BEFORE'", - "'BETWEEN'", "'BOTH'", "'BY'", "'CALL'", "'CASCADE'", "'CASE'", - "'CAST'", "'CHANGE'", "'CHARACTER'", "'CHECK'", "'COLLATE'", - "'COLUMN'", "'CONDITION'", "'CONSTRAINT'", "'CONTINUE'", "'CONVERT'", - "'CREATE'", "'CROSS'", "'CURRENT_USER'", "'CURSOR'", "'DATABASE'", - "'DATABASES'", "'DECLARE'", "'DEFAULT'", "'DELAYED'", "'DELETE'", - "'DESC'", "'DESCRIBE'", "'DETERMINISTIC'", "'DISTINCT'", "'DISTINCTROW'", - "'DROP'", "'EACH'", "'ELSE'", "'ELSEIF'", "'ENCLOSED'", "'ESCAPED'", - "'EXISTS'", "'EXIT'", "'EXPLAIN'", "'FALSE'", "'FETCH'", "'FOR'", - "'FORCE'", "'FOREIGN'", "'FROM'", "'FULLTEXT'", "'GENERATED'", - "'GRANT'", "'GROUP'", "'HAVING'", "'HIGH_PRIORITY'", "'IF'", - "'IGNORE'", "'IN'", "'INDEX'", "'INFILE'", "'INNER'", "'INOUT'", - "'INSERT'", "'INTERVAL'", "'INTO'", "'IS'", "'ITERATE'", "'JOIN'", - "'KEY'", "'KEYS'", "'KILL'", "'LEADING'", "'LEAVE'", "'LEFT'", - "'LIKE'", "'LIMIT'", "'LINEAR'", "'LINES'", "'LOAD'", "'LOCK'", - "'LOOP'", "'LOW_PRIORITY'", "'MASTER_BIND'", "'MASTER_SSL_VERIFY_SERVER_CERT'", - "'MATCH'", "'MAXVALUE'", "'MODIFIES'", "'NATURAL'", "'NOT'", - "'NO_WRITE_TO_BINLOG'", "'NULL'", "'ON'", "'OPTIMIZE'", "'OPTION'", - "'OPTIONALLY'", "'OR'", "'ORDER'", "'OUT'", "'OUTER'", "'OUTFILE'", - "'PARTITION'", "'PRIMARY'", "'PROCEDURE'", "'PURGE'", "'RANGE'", - "'READ'", "'READS'", "'REFERENCES'", "'REGEXP'", "'RELEASE'", - "'RENAME'", "'REPEAT'", "'REPLACE'", "'REQUIRE'", "'RESTRICT'", - "'RETURN'", "'REVOKE'", "'RIGHT'", "'RLIKE'", "'SCHEMA'", "'SCHEMAS'", - "'SELECT'", "'SET'", "'SEPARATOR'", "'SHOW'", "'SPATIAL'", "'SQL'", - "'SQLEXCEPTION'", "'SQLSTATE'", "'SQLWARNING'", "'SQL_BIG_RESULT'", - "'SQL_CALC_FOUND_ROWS'", "'SQL_SMALL_RESULT'", "'SSL'", "'STARTING'", - "'STRAIGHT_JOIN'", "'TABLE'", "'TERMINATED'", "'THEN'", "'TO'", - "'TRAILING'", "'TRIGGER'", "'TRUE'", "'UNDO'", "'UNION'", "'UNIQUE'", - "'UNLOCK'", "'UNSIGNED'", "'UPDATE'", "'USAGE'", "'USE'", "'USING'", - "'VALUES'", "'WHEN'", "'WHERE'", "'WHILE'", "'WITH'", "'WRITE'", - "'XOR'", "'ZEROFILL'", "'TINYINT'", "'SMALLINT'", "'MEDIUMINT'", - "'INT'", "'INTEGER'", "'BIGINT'", "'REAL'", "'DOUBLE'", "'FLOAT'", - "'DECIMAL'", "'NUMERIC'", "'DATE'", "'TIME'", "'TIMESTAMP'", - "'DATETIME'", "'YEAR'", "'CHAR'", "'VARCHAR'", "'BINARY'", "'VARBINARY'", - "'TINYBLOB'", "'BLOB'", "'MEDIUMBLOB'", "'LONGBLOB'", "'TINYTEXT'", - "'TEXT'", "'MEDIUMTEXT'", "'LONGTEXT'", "'ENUM'", "'SERIAL'", - "'YEAR_MONTH'", "'DAY_HOUR'", "'DAY_MINUTE'", "'DAY_SECOND'", - "'HOUR_MINUTE'", "'HOUR_SECOND'", "'MINUTE_SECOND'", "'SECOND_MICROSECOND'", - "'MINUTE_MICROSECOND'", "'HOUR_MICROSECOND'", "'DAY_MICROSECOND'", - "'AVG'", "'BIT_AND'", "'BIT_OR'", "'BIT_XOR'", "'COUNT'", "'GROUP_CONCAT'", - "'MAX'", "'MIN'", "'STD'", "'STDDEV'", "'STDDEV_POP'", "'STDDEV_SAMP'", - "'SUM'", "'VAR_POP'", "'VAR_SAMP'", "'VARIANCE'", "'FCOUNT'", - "'CURRENT_DATE'", "'CURRENT_TIME'", "'CURRENT_TIMESTAMP'", "'LOCALTIME'", - "'CURDATE'", "'CURTIME'", "'DATE_ADD'", "'DATE_SUB'", "'EXTRACT'", - "'LOCALTIMESTAMP'", "'NOW'", "'POSITION'", "'SUBSTR'", "'SUBSTRING'", - "'SYSDATE'", "'TRIM'", "'UTC_DATE'", "'UTC_TIME'", "'UTC_TIMESTAMP'", - "'ACCOUNT'", "'ACTION'", "'AFTER'", "'AGGREGATE'", "'ALGORITHM'", - "'ANY'", "'AT'", "'AUTHORS'", "'AUTOCOMMIT'", "'AUTOEXTEND_SIZE'", - "'AUTO_INCREMENT'", "'AVG_ROW_LENGTH'", "'BEGIN'", "'BINLOG'", - "'BIT'", "'BLOCK'", "'BOOL'", "'BOOLEAN'", "'BTREE'", "'CACHE'", - "'CASCADED'", "'CHAIN'", "'CHANGED'", "'CHANNEL'", "'CHECKSUM'", - "'CIPHER'", "'CLIENT'", "'CLOSE'", "'COALESCE'", "'CODE'", "'COLUMNS'", - "'COLUMN_FORMAT'", "'COMMENT'", "'COMMIT'", "'COMPACT'", "'COMPLETION'", - "'COMPRESSED'", "'COMPRESSION'", "'CONCURRENT'", "'CONNECTION'", - "'CONSISTENT'", "'CONTAINS'", "'CONTEXT'", "'CONTRIBUTORS'", - "'COPY'", "'CPU'", "'DATA'", "'DATAFILE'", "'DEALLOCATE'", "'DEFAULT_AUTH'", - "'DEFINER'", "'DELAY_KEY_WRITE'", "'DES_KEY_FILE'", "'DIRECTORY'", - "'DISABLE'", "'DISCARD'", "'DISK'", "'DO'", "'DUMPFILE'", "'DUPLICATE'", - "'DYNAMIC'", "'ENABLE'", "'ENCRYPTION'", "'END'", "'ENDS'", - "'ENGINE'", "'ENGINES'", "'ERROR'", "'ERRORS'", "'ESCAPE'", - "'EVEN'", "'EVENT'", "'EVENTS'", "'EVERY'", "'EXCHANGE'", "'EXCLUSIVE'", - "'EXPIRE'", "'EXPORT'", "'EXTENDED'", "'EXTENT_SIZE'", "'FAST'", - "'FAULTS'", "'FIELDS'", "'FILE_BLOCK_SIZE'", "'FILTER'", "'FIRST'", - "'FIXED'", "'FLUSH'", "'FOLLOWS'", "'FOUND'", "'FULL'", "'FUNCTION'", - "'GENERAL'", "'GLOBAL'", "'GRANTS'", "'GROUP_REPLICATION'", - "'HANDLER'", "'HASH'", "'HELP'", "'HOST'", "'HOSTS'", "'IDENTIFIED'", - "'IGNORE_SERVER_IDS'", "'IMPORT'", "'INDEXES'", "'INITIAL_SIZE'", - "'INPLACE'", "'INSERT_METHOD'", "'INSTALL'", "'INSTANCE'", "'INVOKER'", - "'IO'", "'IO_THREAD'", "'IPC'", "'ISOLATION'", "'ISSUER'", "'JSON'", - "'KEY_BLOCK_SIZE'", "'LANGUAGE'", "'LAST'", "'LEAVES'", "'LESS'", - "'LEVEL'", "'LIST'", "'LOCAL'", "'LOGFILE'", "'LOGS'", "'MASTER'", - "'MASTER_AUTO_POSITION'", "'MASTER_CONNECT_RETRY'", "'MASTER_DELAY'", - "'MASTER_HEARTBEAT_PERIOD'", "'MASTER_HOST'", "'MASTER_LOG_FILE'", - "'MASTER_LOG_POS'", "'MASTER_PASSWORD'", "'MASTER_PORT'", "'MASTER_RETRY_COUNT'", - "'MASTER_SSL'", "'MASTER_SSL_CA'", "'MASTER_SSL_CAPATH'", "'MASTER_SSL_CERT'", - "'MASTER_SSL_CIPHER'", "'MASTER_SSL_CRL'", "'MASTER_SSL_CRLPATH'", - "'MASTER_SSL_KEY'", "'MASTER_TLS_VERSION'", "'MASTER_USER'", - "'MAX_CONNECTIONS_PER_HOUR'", "'MAX_QUERIES_PER_HOUR'", "'MAX_ROWS'", - "'MAX_SIZE'", "'MAX_UPDATES_PER_HOUR'", "'MAX_USER_CONNECTIONS'", - "'MEDIUM'", "'MERGE'", "'MID'", "'MIGRATE'", "'MIN_ROWS'", "'MODE'", - "'MODIFY'", "'MUTEX'", "'MYSQL'", "'NAME'", "'NAMES'", "'NCHAR'", - "'NEVER'", "'NEXT'", "'NO'", "'NODEGROUP'", "'NONE'", "'OFFLINE'", - "'OFFSET'", "'OJ'", "'OLD_PASSWORD'", "'ONE'", "'ONLINE'", "'ONLY'", - "'OPEN'", "'OPTIMIZER_COSTS'", "'OPTIONS'", "'OWNER'", "'PACK_KEYS'", - "'PAGE'", "'PARSER'", "'PARTIAL'", "'PARTITIONING'", "'PARTITIONS'", - "'PASSWORD'", "'PHASE'", "'PLUGIN'", "'PLUGIN_DIR'", "'PLUGINS'", - "'PORT'", "'PRECEDES'", "'PREPARE'", "'PRESERVE'", "'PREV'", - "'PROCESSLIST'", "'PROFILE'", "'PROFILES'", "'PROXY'", "'QUERY'", - "'QUICK'", "'REBUILD'", "'RECOVER'", "'REDO_BUFFER_SIZE'", "'REDUNDANT'", - "'RELAY'", "'RELAY_LOG_FILE'", "'RELAY_LOG_POS'", "'RELAYLOG'", - "'REMOVE'", "'REORGANIZE'", "'REPAIR'", "'REPLICATE_DO_DB'", - "'REPLICATE_DO_TABLE'", "'REPLICATE_IGNORE_DB'", "'REPLICATE_IGNORE_TABLE'", - "'REPLICATE_REWRITE_DB'", "'REPLICATE_WILD_DO_TABLE'", "'REPLICATE_WILD_IGNORE_TABLE'", - "'REPLICATION'", "'RESET'", "'RESUME'", "'RETURNS'", "'ROLLBACK'", - "'ROLLUP'", "'ROTATE'", "'ROW'", "'ROWS'", "'ROW_FORMAT'", "'SAVEPOINT'", - "'SCHEDULE'", "'SECURITY'", "'SERVER'", "'SESSION'", "'SHARE'", - "'SHARED'", "'SIGNED'", "'SIMPLE'", "'SLAVE'", "'SLOW'", "'SNAPSHOT'", - "'SOCKET'", "'SOME'", "'SONAME'", "'SOUNDS'", "'SOURCE'", "'SQL_AFTER_GTIDS'", - "'SQL_AFTER_MTS_GAPS'", "'SQL_BEFORE_GTIDS'", "'SQL_BUFFER_RESULT'", - "'SQL_CACHE'", "'SQL_NO_CACHE'", "'SQL_THREAD'", "'START'", - "'STARTS'", "'STATS_AUTO_RECALC'", "'STATS_PERSISTENT'", "'STATS_SAMPLE_PAGES'", - "'STATUS'", "'STOP'", "'STORAGE'", "'STORED'", "'STRING'", "'SUBJECT'", - "'SUBPARTITION'", "'SUBPARTITIONS'", "'SUSPEND'", "'SWAPS'", - "'SWITCHES'", "'TABLESPACE'", "'TEMPORARY'", "'TEMPTABLE'", - "'THAN'", "'TRADITIONAL'", "'TRANSACTION'", "'TRIGGERS'", "'TRUNCATE'", - "'UNDEFINED'", "'UNDOFILE'", "'UNDO_BUFFER_SIZE'", "'UNINSTALL'", - "'UNKNOWN'", "'UNTIL'", "'UPGRADE'", "'USER'", "'USE_FRM'", - "'USER_RESOURCES'", "'VALIDATION'", "'VALUE'", "'VARIABLES'", - "'VIEW'", "'VIRTUAL'", "'WAIT'", "'WARNINGS'", "'WITHOUT'", - "'WORK'", "'WRAPPER'", "'X509'", "'XA'", "'XML'", "'EUR'", "'USA'", - "'JIS'", "'ISO'", "'INTERNAL'", "'QUARTER'", "'MONTH'", "'DAY'", - "'HOUR'", "'MINUTE'", "'WEEK'", "'SECOND'", "'MICROSECOND'", - "'TABLES'", "'ROUTINE'", "'EXECUTE'", "'FILE'", "'PROCESS'", - "'RELOAD'", "'SHUTDOWN'", "'SUPER'", "'PRIVILEGES'", "'ARMSCII8'", - "'ASCII'", "'BIG5'", "'CP1250'", "'CP1251'", "'CP1256'", "'CP1257'", - "'CP850'", "'CP852'", "'CP866'", "'CP932'", "'DEC8'", "'EUCJPMS'", - "'EUCKR'", "'GB2312'", "'GBK'", "'GEOSTD8'", "'GREEK'", "'HEBREW'", - "'HP8'", "'KEYBCS2'", "'KOI8R'", "'KOI8U'", "'LATIN1'", "'LATIN2'", - "'LATIN5'", "'LATIN7'", "'MACCE'", "'MACROMAN'", "'SJIS'", "'SWE7'", - "'TIS620'", "'UCS2'", "'UJIS'", "'UTF16'", "'UTF16LE'", "'UTF32'", - "'UTF8'", "'UTF8MB3'", "'UTF8MB4'", "'ARCHIVE'", "'BLACKHOLE'", - "'CSV'", "'FEDERATED'", "'INNODB'", "'MEMORY'", "'MRG_MYISAM'", - "'MYISAM'", "'NDB'", "'NDBCLUSTER'", "'PERFOMANCE_SCHEMA'", - "'REPEATABLE'", "'COMMITTED'", "'UNCOMMITTED'", "'SERIALIZABLE'", - "'GEOMETRYCOLLECTION'", "'LINESTRING'", "'MULTILINESTRING'", - "'MULTIPOINT'", "'MULTIPOLYGON'", "'POINT'", "'POLYGON'", "'ABS'", - "'ACOS'", "'ADDDATE'", "'ADDTIME'", "'AES_DECRYPT'", "'AES_ENCRYPT'", - "'AREA'", "'ASBINARY'", "'ASIN'", "'ASTEXT'", "'ASWKB'", "'ASWKT'", - "'ASYMMETRIC_DECRYPT'", "'ASYMMETRIC_DERIVE'", "'ASYMMETRIC_ENCRYPT'", - "'ASYMMETRIC_SIGN'", "'ASYMMETRIC_VERIFY'", "'ATAN'", "'ATAN2'", - "'BENCHMARK'", "'BIN'", "'BIT_COUNT'", "'BIT_LENGTH'", "'BUFFER'", - "'CEIL'", "'CEILING'", "'CENTROID'", "'CHARACTER_LENGTH'", "'CHARSET'", - "'CHAR_LENGTH'", "'COERCIBILITY'", "'COLLATION'", "'COMPRESS'", - "'CONCAT'", "'CONCAT_WS'", "'CONNECTION_ID'", "'CONV'", "'CONVERT_TZ'", - "'COS'", "'COT'", "'CRC32'", "'CREATE_ASYMMETRIC_PRIV_KEY'", - "'CREATE_ASYMMETRIC_PUB_KEY'", "'CREATE_DH_PARAMETERS'", "'CREATE_DIGEST'", - "'CROSSES'", "'DATEDIFF'", "'DATE_FORMAT'", "'DAYNAME'", "'DAYOFMONTH'", - "'DAYOFWEEK'", "'DAYOFYEAR'", "'DECODE'", "'DEGREES'", "'DES_DECRYPT'", - "'DES_ENCRYPT'", "'DIMENSION'", "'DISJOINT'", "'ELT'", "'ENCODE'", - "'ENCRYPT'", "'ENDPOINT'", "'ENVELOPE'", "'EQUALS'", "'EXP'", - "'EXPORT_SET'", "'EXTERIORRING'", "'EXTRACTVALUE'", "'FIELD'", - "'FIND_IN_SET'", "'FLOOR'", "'FORMAT'", "'FOUND_ROWS'", "'FROM_BASE64'", - "'FROM_DAYS'", "'FROM_UNIXTIME'", "'GEOMCOLLFROMTEXT'", "'GEOMCOLLFROMWKB'", - "'GEOMETRYCOLLECTIONFROMTEXT'", "'GEOMETRYCOLLECTIONFROMWKB'", - "'GEOMETRYFROMTEXT'", "'GEOMETRYFROMWKB'", "'GEOMETRYN'", "'GEOMETRYTYPE'", - "'GEOMFROMTEXT'", "'GEOMFROMWKB'", "'GET_FORMAT'", "'GET_LOCK'", - "'GLENGTH'", "'GREATEST'", "'GTID_SUBSET'", "'GTID_SUBTRACT'", - "'HEX'", "'IFNULL'", "'INET6_ATON'", "'INET6_NTOA'", "'INET_ATON'", - "'INET_NTOA'", "'INSTR'", "'INTERIORRINGN'", "'INTERSECTS'", - "'ISCLOSED'", "'ISEMPTY'", "'ISNULL'", "'ISSIMPLE'", "'IS_FREE_LOCK'", - "'IS_IPV4'", "'IS_IPV4_COMPAT'", "'IS_IPV4_MAPPED'", "'IS_IPV6'", - "'IS_USED_LOCK'", "'LAST_INSERT_ID'", "'LCASE'", "'LEAST'", - "'LENGTH'", "'LINEFROMTEXT'", "'LINEFROMWKB'", "'LINESTRINGFROMTEXT'", - "'LINESTRINGFROMWKB'", "'LN'", "'LOAD_FILE'", "'LOCATE'", "'LOG'", - "'LOG10'", "'LOG2'", "'LOWER'", "'LPAD'", "'LTRIM'", "'MAKEDATE'", - "'MAKETIME'", "'MAKE_SET'", "'MASTER_POS_WAIT'", "'MBRCONTAINS'", - "'MBRDISJOINT'", "'MBREQUAL'", "'MBRINTERSECTS'", "'MBROVERLAPS'", - "'MBRTOUCHES'", "'MBRWITHIN'", "'MD5'", "'MLINEFROMTEXT'", "'MLINEFROMWKB'", - "'MONTHNAME'", "'MPOINTFROMTEXT'", "'MPOINTFROMWKB'", "'MPOLYFROMTEXT'", - "'MPOLYFROMWKB'", "'MULTILINESTRINGFROMTEXT'", "'MULTILINESTRINGFROMWKB'", - "'MULTIPOINTFROMTEXT'", "'MULTIPOINTFROMWKB'", "'MULTIPOLYGONFROMTEXT'", - "'MULTIPOLYGONFROMWKB'", "'NAME_CONST'", "'NULLIF'", "'NUMGEOMETRIES'", - "'NUMINTERIORRINGS'", "'NUMPOINTS'", "'OCT'", "'OCTET_LENGTH'", - "'ORD'", "'OVERLAPS'", "'PERIOD_ADD'", "'PERIOD_DIFF'", "'PI'", - "'POINTFROMTEXT'", "'POINTFROMWKB'", "'POINTN'", "'POLYFROMTEXT'", - "'POLYFROMWKB'", "'POLYGONFROMTEXT'", "'POLYGONFROMWKB'", "'POW'", - "'POWER'", "'QUOTE'", "'RADIANS'", "'RAND'", "'RANDOM_BYTES'", - "'RELEASE_LOCK'", "'REVERSE'", "'ROUND'", "'ROW_COUNT'", "'RPAD'", - "'RTRIM'", "'SEC_TO_TIME'", "'SESSION_USER'", "'SHA'", "'SHA1'", - "'SHA2'", "'SIGN'", "'SIN'", "'SLEEP'", "'SOUNDEX'", "'SQL_THREAD_WAIT_AFTER_GTIDS'", - "'SQRT'", "'SRID'", "'STARTPOINT'", "'STRCMP'", "'STR_TO_DATE'", - "'ST_AREA'", "'ST_ASBINARY'", "'ST_ASTEXT'", "'ST_ASWKB'", "'ST_ASWKT'", - "'ST_BUFFER'", "'ST_CENTROID'", "'ST_CONTAINS'", "'ST_CROSSES'", - "'ST_DIFFERENCE'", "'ST_DIMENSION'", "'ST_DISJOINT'", "'ST_DISTANCE'", - "'ST_ENDPOINT'", "'ST_ENVELOPE'", "'ST_EQUALS'", "'ST_EXTERIORRING'", - "'ST_GEOMCOLLFROMTEXT'", "'ST_GEOMCOLLFROMTXT'", "'ST_GEOMCOLLFROMWKB'", - "'ST_GEOMETRYCOLLECTIONFROMTEXT'", "'ST_GEOMETRYCOLLECTIONFROMWKB'", - "'ST_GEOMETRYFROMTEXT'", "'ST_GEOMETRYFROMWKB'", "'ST_GEOMETRYN'", - "'ST_GEOMETRYTYPE'", "'ST_GEOMFROMTEXT'", "'ST_GEOMFROMWKB'", - "'ST_INTERIORRINGN'", "'ST_INTERSECTION'", "'ST_INTERSECTS'", - "'ST_ISCLOSED'", "'ST_ISEMPTY'", "'ST_ISSIMPLE'", "'ST_LINEFROMTEXT'", - "'ST_LINEFROMWKB'", "'ST_LINESTRINGFROMTEXT'", "'ST_LINESTRINGFROMWKB'", - "'ST_NUMGEOMETRIES'", "'ST_NUMINTERIORRING'", "'ST_NUMINTERIORRINGS'", - "'ST_NUMPOINTS'", "'ST_OVERLAPS'", "'ST_POINTFROMTEXT'", "'ST_POINTFROMWKB'", - "'ST_POINTN'", "'ST_POLYFROMTEXT'", "'ST_POLYFROMWKB'", "'ST_POLYGONFROMTEXT'", - "'ST_POLYGONFROMWKB'", "'ST_SRID'", "'ST_STARTPOINT'", "'ST_SYMDIFFERENCE'", - "'ST_TOUCHES'", "'ST_UNION'", "'ST_WITHIN'", "'ST_X'", "'ST_Y'", - "'SUBDATE'", "'SUBSTRING_INDEX'", "'SUBTIME'", "'SYSTEM_USER'", - "'TAN'", "'TIMEDIFF'", "'TIMESTAMPADD'", "'TIMESTAMPDIFF'", - "'TIME_FORMAT'", "'TIME_TO_SEC'", "'TOUCHES'", "'TO_BASE64'", - "'TO_DAYS'", "'TO_SECONDS'", "'UCASE'", "'UNCOMPRESS'", "'UNCOMPRESSED_LENGTH'", - "'UNHEX'", "'UNIX_TIMESTAMP'", "'UPDATEXML'", "'UPPER'", "'UUID'", - "'UUID_SHORT'", "'VALIDATE_PASSWORD_STRENGTH'", "'VERSION'", - "'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS'", "'WEEKDAY'", "'WEEKOFYEAR'", - "'WEIGHT_STRING'", "'WITHIN'", "'YEARWEEK'", "'Y'", "'X'", "':='", - "'+='", "'-='", "'*='", "'/='", "'%='", "'&='", "'^='", "'|='", - "'*'", "'/'", "'%'", "'+'", "'--'", "'-'", "'DIV'", "'MOD'", - "'='", "'>'", "'<'", "'!'", "'~'", "'|'", "'&'", "'^'", "'.'", - "'('", "')'", "','", "';'", "'@'", "'0'", "'1'", "'2'", "'''", - "'\"'", "'`'", "':'" ] - - symbolicNames = [ "", - "SPACE", "SPEC_MYSQL_COMMENT", "COMMENT_INPUT", "LINE_COMMENT", - "ERRORBOUND", "CONFLEVEL", "ADD", "ALL", "ALTER", "ALWAYS", - "ANALYZE", "AND", "AS", "ASC", "BEFORE", "BETWEEN", "BOTH", - "BY", "CALL", "CASCADE", "CASE", "CAST", "CHANGE", "CHARACTER", - "CHECK", "COLLATE", "COLUMN", "CONDITION", "CONSTRAINT", "CONTINUE", - "CONVERT", "CREATE", "CROSS", "CURRENT_USER", "CURSOR", "DATABASE", - "DATABASES", "DECLARE", "DEFAULT", "DELAYED", "DELETE", "DESC", - "DESCRIBE", "DETERMINISTIC", "DISTINCT", "DISTINCTROW", "DROP", - "EACH", "ELSE", "ELSEIF", "ENCLOSED", "ESCAPED", "EXISTS", "EXIT", - "EXPLAIN", "FALSE", "FETCH", "FOR", "FORCE", "FOREIGN", "FROM", - "FULLTEXT", "GENERATED", "GRANT", "GROUP", "HAVING", "HIGH_PRIORITY", - "IF", "IGNORE", "IN", "INDEX", "INFILE", "INNER", "INOUT", "INSERT", - "INTERVAL", "INTO", "IS", "ITERATE", "JOIN", "KEY", "KEYS", - "KILL", "LEADING", "LEAVE", "LEFT", "LIKE", "LIMIT", "LINEAR", - "LINES", "LOAD", "LOCK", "LOOP", "LOW_PRIORITY", "MASTER_BIND", - "MASTER_SSL_VERIFY_SERVER_CERT", "MATCH", "MAXVALUE", "MODIFIES", - "NATURAL", "NOT", "NO_WRITE_TO_BINLOG", "NULL_LITERAL", "ON", - "OPTIMIZE", "OPTION", "OPTIONALLY", "OR", "ORDER", "OUT", "OUTER", - "OUTFILE", "PARTITION", "PRIMARY", "PROCEDURE", "PURGE", "RANGE", - "READ", "READS", "REFERENCES", "REGEXP", "RELEASE", "RENAME", - "REPEAT", "REPLACE", "REQUIRE", "RESTRICT", "RETURN", "REVOKE", - "RIGHT", "RLIKE", "SCHEMA", "SCHEMAS", "SELECT", "SET", "SEPARATOR", - "SHOW", "SPATIAL", "SQL", "SQLEXCEPTION", "SQLSTATE", "SQLWARNING", - "SQL_BIG_RESULT", "SQL_CALC_FOUND_ROWS", "SQL_SMALL_RESULT", - "SSL", "STARTING", "STRAIGHT_JOIN", "TABLE", "TERMINATED", "THEN", - "TO", "TRAILING", "TRIGGER", "TRUE", "UNDO", "UNION", "UNIQUE", - "UNLOCK", "UNSIGNED", "UPDATE", "USAGE", "USE", "USING", "VALUES", - "WHEN", "WHERE", "WHILE", "WITH", "WRITE", "XOR", "ZEROFILL", - "TINYINT", "SMALLINT", "MEDIUMINT", "INT", "INTEGER", "BIGINT", - "REAL", "DOUBLE", "FLOAT", "DECIMAL", "NUMERIC", "DATE", "TIME", - "TIMESTAMP", "DATETIME", "YEAR", "CHAR", "VARCHAR", "BINARY", - "VARBINARY", "TINYBLOB", "BLOB", "MEDIUMBLOB", "LONGBLOB", "TINYTEXT", - "TEXT", "MEDIUMTEXT", "LONGTEXT", "ENUM", "SERIAL", "YEAR_MONTH", - "DAY_HOUR", "DAY_MINUTE", "DAY_SECOND", "HOUR_MINUTE", "HOUR_SECOND", - "MINUTE_SECOND", "SECOND_MICROSECOND", "MINUTE_MICROSECOND", - "HOUR_MICROSECOND", "DAY_MICROSECOND", "AVG", "BIT_AND", "BIT_OR", - "BIT_XOR", "COUNT", "GROUP_CONCAT", "MAX", "MIN", "STD", "STDDEV", - "STDDEV_POP", "STDDEV_SAMP", "SUM", "VAR_POP", "VAR_SAMP", "VARIANCE", - "FCOUNT", "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", - "LOCALTIME", "CURDATE", "CURTIME", "DATE_ADD", "DATE_SUB", "EXTRACT", - "LOCALTIMESTAMP", "NOW", "POSITION", "SUBSTR", "SUBSTRING", - "SYSDATE", "TRIM", "UTC_DATE", "UTC_TIME", "UTC_TIMESTAMP", - "ACCOUNT", "ACTION", "AFTER", "AGGREGATE", "ALGORITHM", "ANY", - "AT", "AUTHORS", "AUTOCOMMIT", "AUTOEXTEND_SIZE", "AUTO_INCREMENT", - "AVG_ROW_LENGTH", "BEGIN", "BINLOG", "BIT", "BLOCK", "BOOL", - "BOOLEAN", "BTREE", "CACHE", "CASCADED", "CHAIN", "CHANGED", - "CHANNEL", "CHECKSUM", "CIPHER", "CLIENT", "CLOSE", "COALESCE", - "CODE", "COLUMNS", "COLUMN_FORMAT", "COMMENT", "COMMIT", "COMPACT", - "COMPLETION", "COMPRESSED", "COMPRESSION", "CONCURRENT", "CONNECTION", - "CONSISTENT", "CONTAINS", "CONTEXT", "CONTRIBUTORS", "COPY", - "CPU", "DATA", "DATAFILE", "DEALLOCATE", "DEFAULT_AUTH", "DEFINER", - "DELAY_KEY_WRITE", "DES_KEY_FILE", "DIRECTORY", "DISABLE", "DISCARD", - "DISK", "DO", "DUMPFILE", "DUPLICATE", "DYNAMIC", "ENABLE", - "ENCRYPTION", "END", "ENDS", "ENGINE", "ENGINES", "ERROR", "ERRORS", - "ESCAPE", "EVEN", "EVENT", "EVENTS", "EVERY", "EXCHANGE", "EXCLUSIVE", - "EXPIRE", "EXPORT", "EXTENDED", "EXTENT_SIZE", "FAST", "FAULTS", - "FIELDS", "FILE_BLOCK_SIZE", "FILTER", "FIRST", "FIXED", "FLUSH", - "FOLLOWS", "FOUND", "FULL", "FUNCTION", "GENERAL", "GLOBAL", - "GRANTS", "GROUP_REPLICATION", "HANDLER", "HASH", "HELP", "HOST", - "HOSTS", "IDENTIFIED", "IGNORE_SERVER_IDS", "IMPORT", "INDEXES", - "INITIAL_SIZE", "INPLACE", "INSERT_METHOD", "INSTALL", "INSTANCE", - "INVOKER", "IO", "IO_THREAD", "IPC", "ISOLATION", "ISSUER", - "JSON", "KEY_BLOCK_SIZE", "LANGUAGE", "LAST", "LEAVES", "LESS", - "LEVEL", "LIST", "LOCAL", "LOGFILE", "LOGS", "MASTER", "MASTER_AUTO_POSITION", - "MASTER_CONNECT_RETRY", "MASTER_DELAY", "MASTER_HEARTBEAT_PERIOD", - "MASTER_HOST", "MASTER_LOG_FILE", "MASTER_LOG_POS", "MASTER_PASSWORD", - "MASTER_PORT", "MASTER_RETRY_COUNT", "MASTER_SSL", "MASTER_SSL_CA", - "MASTER_SSL_CAPATH", "MASTER_SSL_CERT", "MASTER_SSL_CIPHER", - "MASTER_SSL_CRL", "MASTER_SSL_CRLPATH", "MASTER_SSL_KEY", "MASTER_TLS_VERSION", - "MASTER_USER", "MAX_CONNECTIONS_PER_HOUR", "MAX_QUERIES_PER_HOUR", - "MAX_ROWS", "MAX_SIZE", "MAX_UPDATES_PER_HOUR", "MAX_USER_CONNECTIONS", - "MEDIUM", "MERGE", "MID", "MIGRATE", "MIN_ROWS", "MODE", "MODIFY", - "MUTEX", "MYSQL", "NAME", "NAMES", "NCHAR", "NEVER", "NEXT", - "NO", "NODEGROUP", "NONE", "OFFLINE", "OFFSET", "OJ", "OLD_PASSWORD", - "ONE", "ONLINE", "ONLY", "OPEN", "OPTIMIZER_COSTS", "OPTIONS", - "OWNER", "PACK_KEYS", "PAGE", "PARSER", "PARTIAL", "PARTITIONING", - "PARTITIONS", "PASSWORD", "PHASE", "PLUGIN", "PLUGIN_DIR", "PLUGINS", - "PORT", "PRECEDES", "PREPARE", "PRESERVE", "PREV", "PROCESSLIST", - "PROFILE", "PROFILES", "PROXY", "QUERY", "QUICK", "REBUILD", - "RECOVER", "REDO_BUFFER_SIZE", "REDUNDANT", "RELAY", "RELAY_LOG_FILE", - "RELAY_LOG_POS", "RELAYLOG", "REMOVE", "REORGANIZE", "REPAIR", - "REPLICATE_DO_DB", "REPLICATE_DO_TABLE", "REPLICATE_IGNORE_DB", - "REPLICATE_IGNORE_TABLE", "REPLICATE_REWRITE_DB", "REPLICATE_WILD_DO_TABLE", - "REPLICATE_WILD_IGNORE_TABLE", "REPLICATION", "RESET", "RESUME", - "RETURNS", "ROLLBACK", "ROLLUP", "ROTATE", "ROW", "ROWS", "ROW_FORMAT", - "SAVEPOINT", "SCHEDULE", "SECURITY", "SERVER", "SESSION", "SHARE", - "SHARED", "SIGNED", "SIMPLE", "SLAVE", "SLOW", "SNAPSHOT", "SOCKET", - "SOME", "SONAME", "SOUNDS", "SOURCE", "SQL_AFTER_GTIDS", "SQL_AFTER_MTS_GAPS", - "SQL_BEFORE_GTIDS", "SQL_BUFFER_RESULT", "SQL_CACHE", "SQL_NO_CACHE", - "SQL_THREAD", "START", "STARTS", "STATS_AUTO_RECALC", "STATS_PERSISTENT", - "STATS_SAMPLE_PAGES", "STATUS", "STOP", "STORAGE", "STORED", - "STRING", "SUBJECT", "SUBPARTITION", "SUBPARTITIONS", "SUSPEND", - "SWAPS", "SWITCHES", "TABLESPACE", "TEMPORARY", "TEMPTABLE", - "THAN", "TRADITIONAL", "TRANSACTION", "TRIGGERS", "TRUNCATE", - "UNDEFINED", "UNDOFILE", "UNDO_BUFFER_SIZE", "UNINSTALL", "UNKNOWN", - "UNTIL", "UPGRADE", "USER", "USE_FRM", "USER_RESOURCES", "VALIDATION", - "VALUE", "VARIABLES", "VIEW", "VIRTUAL", "WAIT", "WARNINGS", - "WITHOUT", "WORK", "WRAPPER", "X509", "XA", "XML", "EUR", "USA", - "JIS", "ISO", "INTERNAL", "QUARTER", "MONTH", "DAY", "HOUR", - "MINUTE", "WEEK", "SECOND", "MICROSECOND", "TABLES", "ROUTINE", - "EXECUTE", "FILE", "PROCESS", "RELOAD", "SHUTDOWN", "SUPER", - "PRIVILEGES", "ARMSCII8", "ASCII", "BIG5", "CP1250", "CP1251", - "CP1256", "CP1257", "CP850", "CP852", "CP866", "CP932", "DEC8", - "EUCJPMS", "EUCKR", "GB2312", "GBK", "GEOSTD8", "GREEK", "HEBREW", - "HP8", "KEYBCS2", "KOI8R", "KOI8U", "LATIN1", "LATIN2", "LATIN5", - "LATIN7", "MACCE", "MACROMAN", "SJIS", "SWE7", "TIS620", "UCS2", - "UJIS", "UTF16", "UTF16LE", "UTF32", "UTF8", "UTF8MB3", "UTF8MB4", - "ARCHIVE", "BLACKHOLE", "CSV", "FEDERATED", "INNODB", "MEMORY", - "MRG_MYISAM", "MYISAM", "NDB", "NDBCLUSTER", "PERFOMANCE_SCHEMA", - "REPEATABLE", "COMMITTED", "UNCOMMITTED", "SERIALIZABLE", "GEOMETRYCOLLECTION", - "LINESTRING", "MULTILINESTRING", "MULTIPOINT", "MULTIPOLYGON", - "POINT", "POLYGON", "ABS", "ACOS", "ADDDATE", "ADDTIME", "AES_DECRYPT", - "AES_ENCRYPT", "AREA", "ASBINARY", "ASIN", "ASTEXT", "ASWKB", - "ASWKT", "ASYMMETRIC_DECRYPT", "ASYMMETRIC_DERIVE", "ASYMMETRIC_ENCRYPT", - "ASYMMETRIC_SIGN", "ASYMMETRIC_VERIFY", "ATAN", "ATAN2", "BENCHMARK", - "BIN", "BIT_COUNT", "BIT_LENGTH", "BUFFER", "CEIL", "CEILING", - "CENTROID", "CHARACTER_LENGTH", "CHARSET", "CHAR_LENGTH", "COERCIBILITY", - "COLLATION", "COMPRESS", "CONCAT", "CONCAT_WS", "CONNECTION_ID", - "CONV", "CONVERT_TZ", "COS", "COT", "CRC32", "CREATE_ASYMMETRIC_PRIV_KEY", - "CREATE_ASYMMETRIC_PUB_KEY", "CREATE_DH_PARAMETERS", "CREATE_DIGEST", - "CROSSES", "DATEDIFF", "DATE_FORMAT", "DAYNAME", "DAYOFMONTH", - "DAYOFWEEK", "DAYOFYEAR", "DECODE", "DEGREES", "DES_DECRYPT", - "DES_ENCRYPT", "DIMENSION", "DISJOINT", "ELT", "ENCODE", "ENCRYPT", - "ENDPOINT", "ENVELOPE", "EQUALS", "EXP", "EXPORT_SET", "EXTERIORRING", - "EXTRACTVALUE", "FIELD", "FIND_IN_SET", "FLOOR", "FORMAT", "FOUND_ROWS", - "FROM_BASE64", "FROM_DAYS", "FROM_UNIXTIME", "GEOMCOLLFROMTEXT", - "GEOMCOLLFROMWKB", "GEOMETRYCOLLECTIONFROMTEXT", "GEOMETRYCOLLECTIONFROMWKB", - "GEOMETRYFROMTEXT", "GEOMETRYFROMWKB", "GEOMETRYN", "GEOMETRYTYPE", - "GEOMFROMTEXT", "GEOMFROMWKB", "GET_FORMAT", "GET_LOCK", "GLENGTH", - "GREATEST", "GTID_SUBSET", "GTID_SUBTRACT", "HEX", "IFNULL", - "INET6_ATON", "INET6_NTOA", "INET_ATON", "INET_NTOA", "INSTR", - "INTERIORRINGN", "INTERSECTS", "ISCLOSED", "ISEMPTY", "ISNULL", - "ISSIMPLE", "IS_FREE_LOCK", "IS_IPV4", "IS_IPV4_COMPAT", "IS_IPV4_MAPPED", - "IS_IPV6", "IS_USED_LOCK", "LAST_INSERT_ID", "LCASE", "LEAST", - "LENGTH", "LINEFROMTEXT", "LINEFROMWKB", "LINESTRINGFROMTEXT", - "LINESTRINGFROMWKB", "LN", "LOAD_FILE", "LOCATE", "LOG", "LOG10", - "LOG2", "LOWER", "LPAD", "LTRIM", "MAKEDATE", "MAKETIME", "MAKE_SET", - "MASTER_POS_WAIT", "MBRCONTAINS", "MBRDISJOINT", "MBREQUAL", - "MBRINTERSECTS", "MBROVERLAPS", "MBRTOUCHES", "MBRWITHIN", "MD5", - "MLINEFROMTEXT", "MLINEFROMWKB", "MONTHNAME", "MPOINTFROMTEXT", - "MPOINTFROMWKB", "MPOLYFROMTEXT", "MPOLYFROMWKB", "MULTILINESTRINGFROMTEXT", - "MULTILINESTRINGFROMWKB", "MULTIPOINTFROMTEXT", "MULTIPOINTFROMWKB", - "MULTIPOLYGONFROMTEXT", "MULTIPOLYGONFROMWKB", "NAME_CONST", - "NULLIF", "NUMGEOMETRIES", "NUMINTERIORRINGS", "NUMPOINTS", - "OCT", "OCTET_LENGTH", "ORD", "OVERLAPS", "PERIOD_ADD", "PERIOD_DIFF", - "PI", "POINTFROMTEXT", "POINTFROMWKB", "POINTN", "POLYFROMTEXT", - "POLYFROMWKB", "POLYGONFROMTEXT", "POLYGONFROMWKB", "POW", "POWER", - "QUOTE", "RADIANS", "RAND", "RANDOM_BYTES", "RELEASE_LOCK", - "REVERSE", "ROUND", "ROW_COUNT", "RPAD", "RTRIM", "SEC_TO_TIME", - "SESSION_USER", "SHA", "SHA1", "SHA2", "SIGN", "SIN", "SLEEP", - "SOUNDEX", "SQL_THREAD_WAIT_AFTER_GTIDS", "SQRT", "SRID", "STARTPOINT", - "STRCMP", "STR_TO_DATE", "ST_AREA", "ST_ASBINARY", "ST_ASTEXT", - "ST_ASWKB", "ST_ASWKT", "ST_BUFFER", "ST_CENTROID", "ST_CONTAINS", - "ST_CROSSES", "ST_DIFFERENCE", "ST_DIMENSION", "ST_DISJOINT", - "ST_DISTANCE", "ST_ENDPOINT", "ST_ENVELOPE", "ST_EQUALS", "ST_EXTERIORRING", - "ST_GEOMCOLLFROMTEXT", "ST_GEOMCOLLFROMTXT", "ST_GEOMCOLLFROMWKB", - "ST_GEOMETRYCOLLECTIONFROMTEXT", "ST_GEOMETRYCOLLECTIONFROMWKB", - "ST_GEOMETRYFROMTEXT", "ST_GEOMETRYFROMWKB", "ST_GEOMETRYN", - "ST_GEOMETRYTYPE", "ST_GEOMFROMTEXT", "ST_GEOMFROMWKB", "ST_INTERIORRINGN", - "ST_INTERSECTION", "ST_INTERSECTS", "ST_ISCLOSED", "ST_ISEMPTY", - "ST_ISSIMPLE", "ST_LINEFROMTEXT", "ST_LINEFROMWKB", "ST_LINESTRINGFROMTEXT", - "ST_LINESTRINGFROMWKB", "ST_NUMGEOMETRIES", "ST_NUMINTERIORRING", - "ST_NUMINTERIORRINGS", "ST_NUMPOINTS", "ST_OVERLAPS", "ST_POINTFROMTEXT", - "ST_POINTFROMWKB", "ST_POINTN", "ST_POLYFROMTEXT", "ST_POLYFROMWKB", - "ST_POLYGONFROMTEXT", "ST_POLYGONFROMWKB", "ST_SRID", "ST_STARTPOINT", - "ST_SYMDIFFERENCE", "ST_TOUCHES", "ST_UNION", "ST_WITHIN", "ST_X", - "ST_Y", "SUBDATE", "SUBSTRING_INDEX", "SUBTIME", "SYSTEM_USER", - "TAN", "TIMEDIFF", "TIMESTAMPADD", "TIMESTAMPDIFF", "TIME_FORMAT", - "TIME_TO_SEC", "TOUCHES", "TO_BASE64", "TO_DAYS", "TO_SECONDS", - "UCASE", "UNCOMPRESS", "UNCOMPRESSED_LENGTH", "UNHEX", "UNIX_TIMESTAMP", - "UPDATEXML", "UPPER", "UUID", "UUID_SHORT", "VALIDATE_PASSWORD_STRENGTH", - "VERSION", "WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS", "WEEKDAY", "WEEKOFYEAR", - "WEIGHT_STRING", "WITHIN", "YEARWEEK", "Y_FUNCTION", "X_FUNCTION", - "VAR_ASSIGN", "PLUS_ASSIGN", "MINUS_ASSIGN", "MULT_ASSIGN", - "DIV_ASSIGN", "MOD_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN", - "STAR", "DIVIDE", "MODULE", "PLUS", "MINUSMINUS", "MINUS", "DIV", - "MOD", "EQUAL_SYMBOL", "GREATER_SYMBOL", "LESS_SYMBOL", "EXCLAMATION_SYMBOL", - "BIT_NOT_OP", "BIT_OR_OP", "BIT_AND_OP", "BIT_XOR_OP", "DOT", - "LR_BRACKET", "RR_BRACKET", "COMMA", "SEMI", "AT_SIGN", "ZERO_DECIMAL", - "ONE_DECIMAL", "TWO_DECIMAL", "SINGLE_QUOTE_SYMB", "DOUBLE_QUOTE_SYMB", - "REVERSE_QUOTE_SYMB", "COLON_SYMB", "CHARSET_REVERSE_QOUTE_STRING", - "FILESIZE_LITERAL", "START_NATIONAL_STRING_LITERAL", "STRING_LITERAL", - "DECIMAL_LITERAL", "HEXADECIMAL_LITERAL", "REAL_LITERAL", "NULL_SPEC_LITERAL", - "BIT_STRING", "STRING_CHARSET_NAME", "DOT_ID", "ID", "REVERSE_QUOTE_ID", - "STRING_USER_NAME", "LOCAL_ID", "GLOBAL_ID", "ERROR_RECONGNIGION" ] - - ruleNames = [ "SPACE", "SPEC_MYSQL_COMMENT", "COMMENT_INPUT", "LINE_COMMENT", - "ERRORBOUND", "CONFLEVEL", "ADD", "ALL", "ALTER", "ALWAYS", - "ANALYZE", "AND", "AS", "ASC", "BEFORE", "BETWEEN", "BOTH", - "BY", "CALL", "CASCADE", "CASE", "CAST", "CHANGE", "CHARACTER", - "CHECK", "COLLATE", "COLUMN", "CONDITION", "CONSTRAINT", - "CONTINUE", "CONVERT", "CREATE", "CROSS", "CURRENT_USER", - "CURSOR", "DATABASE", "DATABASES", "DECLARE", "DEFAULT", - "DELAYED", "DELETE", "DESC", "DESCRIBE", "DETERMINISTIC", - "DISTINCT", "DISTINCTROW", "DROP", "EACH", "ELSE", "ELSEIF", - "ENCLOSED", "ESCAPED", "EXISTS", "EXIT", "EXPLAIN", "FALSE", - "FETCH", "FOR", "FORCE", "FOREIGN", "FROM", "FULLTEXT", - "GENERATED", "GRANT", "GROUP", "HAVING", "HIGH_PRIORITY", - "IF", "IGNORE", "IN", "INDEX", "INFILE", "INNER", "INOUT", - "INSERT", "INTERVAL", "INTO", "IS", "ITERATE", "JOIN", - "KEY", "KEYS", "KILL", "LEADING", "LEAVE", "LEFT", "LIKE", - "LIMIT", "LINEAR", "LINES", "LOAD", "LOCK", "LOOP", "LOW_PRIORITY", - "MASTER_BIND", "MASTER_SSL_VERIFY_SERVER_CERT", "MATCH", - "MAXVALUE", "MODIFIES", "NATURAL", "NOT", "NO_WRITE_TO_BINLOG", - "NULL_LITERAL", "ON", "OPTIMIZE", "OPTION", "OPTIONALLY", - "OR", "ORDER", "OUT", "OUTER", "OUTFILE", "PARTITION", - "PRIMARY", "PROCEDURE", "PURGE", "RANGE", "READ", "READS", - "REFERENCES", "REGEXP", "RELEASE", "RENAME", "REPEAT", - "REPLACE", "REQUIRE", "RESTRICT", "RETURN", "REVOKE", - "RIGHT", "RLIKE", "SCHEMA", "SCHEMAS", "SELECT", "SET", - "SEPARATOR", "SHOW", "SPATIAL", "SQL", "SQLEXCEPTION", - "SQLSTATE", "SQLWARNING", "SQL_BIG_RESULT", "SQL_CALC_FOUND_ROWS", - "SQL_SMALL_RESULT", "SSL", "STARTING", "STRAIGHT_JOIN", - "TABLE", "TERMINATED", "THEN", "TO", "TRAILING", "TRIGGER", - "TRUE", "UNDO", "UNION", "UNIQUE", "UNLOCK", "UNSIGNED", - "UPDATE", "USAGE", "USE", "USING", "VALUES", "WHEN", "WHERE", - "WHILE", "WITH", "WRITE", "XOR", "ZEROFILL", "TINYINT", - "SMALLINT", "MEDIUMINT", "INT", "INTEGER", "BIGINT", "REAL", - "DOUBLE", "FLOAT", "DECIMAL", "NUMERIC", "DATE", "TIME", - "TIMESTAMP", "DATETIME", "YEAR", "CHAR", "VARCHAR", "BINARY", - "VARBINARY", "TINYBLOB", "BLOB", "MEDIUMBLOB", "LONGBLOB", - "TINYTEXT", "TEXT", "MEDIUMTEXT", "LONGTEXT", "ENUM", - "SERIAL", "YEAR_MONTH", "DAY_HOUR", "DAY_MINUTE", "DAY_SECOND", - "HOUR_MINUTE", "HOUR_SECOND", "MINUTE_SECOND", "SECOND_MICROSECOND", - "MINUTE_MICROSECOND", "HOUR_MICROSECOND", "DAY_MICROSECOND", - "AVG", "BIT_AND", "BIT_OR", "BIT_XOR", "COUNT", "GROUP_CONCAT", - "MAX", "MIN", "STD", "STDDEV", "STDDEV_POP", "STDDEV_SAMP", - "SUM", "VAR_POP", "VAR_SAMP", "VARIANCE", "FCOUNT", "CURRENT_DATE", - "CURRENT_TIME", "CURRENT_TIMESTAMP", "LOCALTIME", "CURDATE", - "CURTIME", "DATE_ADD", "DATE_SUB", "EXTRACT", "LOCALTIMESTAMP", - "NOW", "POSITION", "SUBSTR", "SUBSTRING", "SYSDATE", "TRIM", - "UTC_DATE", "UTC_TIME", "UTC_TIMESTAMP", "ACCOUNT", "ACTION", - "AFTER", "AGGREGATE", "ALGORITHM", "ANY", "AT", "AUTHORS", - "AUTOCOMMIT", "AUTOEXTEND_SIZE", "AUTO_INCREMENT", "AVG_ROW_LENGTH", - "BEGIN", "BINLOG", "BIT", "BLOCK", "BOOL", "BOOLEAN", - "BTREE", "CACHE", "CASCADED", "CHAIN", "CHANGED", "CHANNEL", - "CHECKSUM", "CIPHER", "CLIENT", "CLOSE", "COALESCE", "CODE", - "COLUMNS", "COLUMN_FORMAT", "COMMENT", "COMMIT", "COMPACT", - "COMPLETION", "COMPRESSED", "COMPRESSION", "CONCURRENT", - "CONNECTION", "CONSISTENT", "CONTAINS", "CONTEXT", "CONTRIBUTORS", - "COPY", "CPU", "DATA", "DATAFILE", "DEALLOCATE", "DEFAULT_AUTH", - "DEFINER", "DELAY_KEY_WRITE", "DES_KEY_FILE", "DIRECTORY", - "DISABLE", "DISCARD", "DISK", "DO", "DUMPFILE", "DUPLICATE", - "DYNAMIC", "ENABLE", "ENCRYPTION", "END", "ENDS", "ENGINE", - "ENGINES", "ERROR", "ERRORS", "ESCAPE", "EVEN", "EVENT", - "EVENTS", "EVERY", "EXCHANGE", "EXCLUSIVE", "EXPIRE", - "EXPORT", "EXTENDED", "EXTENT_SIZE", "FAST", "FAULTS", - "FIELDS", "FILE_BLOCK_SIZE", "FILTER", "FIRST", "FIXED", - "FLUSH", "FOLLOWS", "FOUND", "FULL", "FUNCTION", "GENERAL", - "GLOBAL", "GRANTS", "GROUP_REPLICATION", "HANDLER", "HASH", - "HELP", "HOST", "HOSTS", "IDENTIFIED", "IGNORE_SERVER_IDS", - "IMPORT", "INDEXES", "INITIAL_SIZE", "INPLACE", "INSERT_METHOD", - "INSTALL", "INSTANCE", "INVOKER", "IO", "IO_THREAD", "IPC", - "ISOLATION", "ISSUER", "JSON", "KEY_BLOCK_SIZE", "LANGUAGE", - "LAST", "LEAVES", "LESS", "LEVEL", "LIST", "LOCAL", "LOGFILE", - "LOGS", "MASTER", "MASTER_AUTO_POSITION", "MASTER_CONNECT_RETRY", - "MASTER_DELAY", "MASTER_HEARTBEAT_PERIOD", "MASTER_HOST", - "MASTER_LOG_FILE", "MASTER_LOG_POS", "MASTER_PASSWORD", - "MASTER_PORT", "MASTER_RETRY_COUNT", "MASTER_SSL", "MASTER_SSL_CA", - "MASTER_SSL_CAPATH", "MASTER_SSL_CERT", "MASTER_SSL_CIPHER", - "MASTER_SSL_CRL", "MASTER_SSL_CRLPATH", "MASTER_SSL_KEY", - "MASTER_TLS_VERSION", "MASTER_USER", "MAX_CONNECTIONS_PER_HOUR", - "MAX_QUERIES_PER_HOUR", "MAX_ROWS", "MAX_SIZE", "MAX_UPDATES_PER_HOUR", - "MAX_USER_CONNECTIONS", "MEDIUM", "MERGE", "MID", "MIGRATE", - "MIN_ROWS", "MODE", "MODIFY", "MUTEX", "MYSQL", "NAME", - "NAMES", "NCHAR", "NEVER", "NEXT", "NO", "NODEGROUP", - "NONE", "OFFLINE", "OFFSET", "OJ", "OLD_PASSWORD", "ONE", - "ONLINE", "ONLY", "OPEN", "OPTIMIZER_COSTS", "OPTIONS", - "OWNER", "PACK_KEYS", "PAGE", "PARSER", "PARTIAL", "PARTITIONING", - "PARTITIONS", "PASSWORD", "PHASE", "PLUGIN", "PLUGIN_DIR", - "PLUGINS", "PORT", "PRECEDES", "PREPARE", "PRESERVE", - "PREV", "PROCESSLIST", "PROFILE", "PROFILES", "PROXY", - "QUERY", "QUICK", "REBUILD", "RECOVER", "REDO_BUFFER_SIZE", - "REDUNDANT", "RELAY", "RELAY_LOG_FILE", "RELAY_LOG_POS", - "RELAYLOG", "REMOVE", "REORGANIZE", "REPAIR", "REPLICATE_DO_DB", - "REPLICATE_DO_TABLE", "REPLICATE_IGNORE_DB", "REPLICATE_IGNORE_TABLE", - "REPLICATE_REWRITE_DB", "REPLICATE_WILD_DO_TABLE", "REPLICATE_WILD_IGNORE_TABLE", - "REPLICATION", "RESET", "RESUME", "RETURNS", "ROLLBACK", - "ROLLUP", "ROTATE", "ROW", "ROWS", "ROW_FORMAT", "SAVEPOINT", - "SCHEDULE", "SECURITY", "SERVER", "SESSION", "SHARE", - "SHARED", "SIGNED", "SIMPLE", "SLAVE", "SLOW", "SNAPSHOT", - "SOCKET", "SOME", "SONAME", "SOUNDS", "SOURCE", "SQL_AFTER_GTIDS", - "SQL_AFTER_MTS_GAPS", "SQL_BEFORE_GTIDS", "SQL_BUFFER_RESULT", - "SQL_CACHE", "SQL_NO_CACHE", "SQL_THREAD", "START", "STARTS", - "STATS_AUTO_RECALC", "STATS_PERSISTENT", "STATS_SAMPLE_PAGES", - "STATUS", "STOP", "STORAGE", "STORED", "STRING", "SUBJECT", - "SUBPARTITION", "SUBPARTITIONS", "SUSPEND", "SWAPS", "SWITCHES", - "TABLESPACE", "TEMPORARY", "TEMPTABLE", "THAN", "TRADITIONAL", - "TRANSACTION", "TRIGGERS", "TRUNCATE", "UNDEFINED", "UNDOFILE", - "UNDO_BUFFER_SIZE", "UNINSTALL", "UNKNOWN", "UNTIL", "UPGRADE", - "USER", "USE_FRM", "USER_RESOURCES", "VALIDATION", "VALUE", - "VARIABLES", "VIEW", "VIRTUAL", "WAIT", "WARNINGS", "WITHOUT", - "WORK", "WRAPPER", "X509", "XA", "XML", "EUR", "USA", - "JIS", "ISO", "INTERNAL", "QUARTER", "MONTH", "DAY", "HOUR", - "MINUTE", "WEEK", "SECOND", "MICROSECOND", "TABLES", "ROUTINE", - "EXECUTE", "FILE", "PROCESS", "RELOAD", "SHUTDOWN", "SUPER", - "PRIVILEGES", "ARMSCII8", "ASCII", "BIG5", "CP1250", "CP1251", - "CP1256", "CP1257", "CP850", "CP852", "CP866", "CP932", - "DEC8", "EUCJPMS", "EUCKR", "GB2312", "GBK", "GEOSTD8", - "GREEK", "HEBREW", "HP8", "KEYBCS2", "KOI8R", "KOI8U", - "LATIN1", "LATIN2", "LATIN5", "LATIN7", "MACCE", "MACROMAN", - "SJIS", "SWE7", "TIS620", "UCS2", "UJIS", "UTF16", "UTF16LE", - "UTF32", "UTF8", "UTF8MB3", "UTF8MB4", "ARCHIVE", "BLACKHOLE", - "CSV", "FEDERATED", "INNODB", "MEMORY", "MRG_MYISAM", - "MYISAM", "NDB", "NDBCLUSTER", "PERFOMANCE_SCHEMA", "REPEATABLE", - "COMMITTED", "UNCOMMITTED", "SERIALIZABLE", "GEOMETRYCOLLECTION", - "LINESTRING", "MULTILINESTRING", "MULTIPOINT", "MULTIPOLYGON", - "POINT", "POLYGON", "ABS", "ACOS", "ADDDATE", "ADDTIME", - "AES_DECRYPT", "AES_ENCRYPT", "AREA", "ASBINARY", "ASIN", - "ASTEXT", "ASWKB", "ASWKT", "ASYMMETRIC_DECRYPT", "ASYMMETRIC_DERIVE", - "ASYMMETRIC_ENCRYPT", "ASYMMETRIC_SIGN", "ASYMMETRIC_VERIFY", - "ATAN", "ATAN2", "BENCHMARK", "BIN", "BIT_COUNT", "BIT_LENGTH", - "BUFFER", "CEIL", "CEILING", "CENTROID", "CHARACTER_LENGTH", - "CHARSET", "CHAR_LENGTH", "COERCIBILITY", "COLLATION", - "COMPRESS", "CONCAT", "CONCAT_WS", "CONNECTION_ID", "CONV", - "CONVERT_TZ", "COS", "COT", "CRC32", "CREATE_ASYMMETRIC_PRIV_KEY", - "CREATE_ASYMMETRIC_PUB_KEY", "CREATE_DH_PARAMETERS", "CREATE_DIGEST", - "CROSSES", "DATEDIFF", "DATE_FORMAT", "DAYNAME", "DAYOFMONTH", - "DAYOFWEEK", "DAYOFYEAR", "DECODE", "DEGREES", "DES_DECRYPT", - "DES_ENCRYPT", "DIMENSION", "DISJOINT", "ELT", "ENCODE", - "ENCRYPT", "ENDPOINT", "ENVELOPE", "EQUALS", "EXP", "EXPORT_SET", - "EXTERIORRING", "EXTRACTVALUE", "FIELD", "FIND_IN_SET", - "FLOOR", "FORMAT", "FOUND_ROWS", "FROM_BASE64", "FROM_DAYS", - "FROM_UNIXTIME", "GEOMCOLLFROMTEXT", "GEOMCOLLFROMWKB", - "GEOMETRYCOLLECTIONFROMTEXT", "GEOMETRYCOLLECTIONFROMWKB", - "GEOMETRYFROMTEXT", "GEOMETRYFROMWKB", "GEOMETRYN", "GEOMETRYTYPE", - "GEOMFROMTEXT", "GEOMFROMWKB", "GET_FORMAT", "GET_LOCK", - "GLENGTH", "GREATEST", "GTID_SUBSET", "GTID_SUBTRACT", - "HEX", "IFNULL", "INET6_ATON", "INET6_NTOA", "INET_ATON", - "INET_NTOA", "INSTR", "INTERIORRINGN", "INTERSECTS", "ISCLOSED", - "ISEMPTY", "ISNULL", "ISSIMPLE", "IS_FREE_LOCK", "IS_IPV4", - "IS_IPV4_COMPAT", "IS_IPV4_MAPPED", "IS_IPV6", "IS_USED_LOCK", - "LAST_INSERT_ID", "LCASE", "LEAST", "LENGTH", "LINEFROMTEXT", - "LINEFROMWKB", "LINESTRINGFROMTEXT", "LINESTRINGFROMWKB", - "LN", "LOAD_FILE", "LOCATE", "LOG", "LOG10", "LOG2", "LOWER", - "LPAD", "LTRIM", "MAKEDATE", "MAKETIME", "MAKE_SET", "MASTER_POS_WAIT", - "MBRCONTAINS", "MBRDISJOINT", "MBREQUAL", "MBRINTERSECTS", - "MBROVERLAPS", "MBRTOUCHES", "MBRWITHIN", "MD5", "MLINEFROMTEXT", - "MLINEFROMWKB", "MONTHNAME", "MPOINTFROMTEXT", "MPOINTFROMWKB", - "MPOLYFROMTEXT", "MPOLYFROMWKB", "MULTILINESTRINGFROMTEXT", - "MULTILINESTRINGFROMWKB", "MULTIPOINTFROMTEXT", "MULTIPOINTFROMWKB", - "MULTIPOLYGONFROMTEXT", "MULTIPOLYGONFROMWKB", "NAME_CONST", - "NULLIF", "NUMGEOMETRIES", "NUMINTERIORRINGS", "NUMPOINTS", - "OCT", "OCTET_LENGTH", "ORD", "OVERLAPS", "PERIOD_ADD", - "PERIOD_DIFF", "PI", "POINTFROMTEXT", "POINTFROMWKB", - "POINTN", "POLYFROMTEXT", "POLYFROMWKB", "POLYGONFROMTEXT", - "POLYGONFROMWKB", "POW", "POWER", "QUOTE", "RADIANS", - "RAND", "RANDOM_BYTES", "RELEASE_LOCK", "REVERSE", "ROUND", - "ROW_COUNT", "RPAD", "RTRIM", "SEC_TO_TIME", "SESSION_USER", - "SHA", "SHA1", "SHA2", "SIGN", "SIN", "SLEEP", "SOUNDEX", - "SQL_THREAD_WAIT_AFTER_GTIDS", "SQRT", "SRID", "STARTPOINT", - "STRCMP", "STR_TO_DATE", "ST_AREA", "ST_ASBINARY", "ST_ASTEXT", - "ST_ASWKB", "ST_ASWKT", "ST_BUFFER", "ST_CENTROID", "ST_CONTAINS", - "ST_CROSSES", "ST_DIFFERENCE", "ST_DIMENSION", "ST_DISJOINT", - "ST_DISTANCE", "ST_ENDPOINT", "ST_ENVELOPE", "ST_EQUALS", - "ST_EXTERIORRING", "ST_GEOMCOLLFROMTEXT", "ST_GEOMCOLLFROMTXT", - "ST_GEOMCOLLFROMWKB", "ST_GEOMETRYCOLLECTIONFROMTEXT", - "ST_GEOMETRYCOLLECTIONFROMWKB", "ST_GEOMETRYFROMTEXT", - "ST_GEOMETRYFROMWKB", "ST_GEOMETRYN", "ST_GEOMETRYTYPE", - "ST_GEOMFROMTEXT", "ST_GEOMFROMWKB", "ST_INTERIORRINGN", - "ST_INTERSECTION", "ST_INTERSECTS", "ST_ISCLOSED", "ST_ISEMPTY", - "ST_ISSIMPLE", "ST_LINEFROMTEXT", "ST_LINEFROMWKB", "ST_LINESTRINGFROMTEXT", - "ST_LINESTRINGFROMWKB", "ST_NUMGEOMETRIES", "ST_NUMINTERIORRING", - "ST_NUMINTERIORRINGS", "ST_NUMPOINTS", "ST_OVERLAPS", - "ST_POINTFROMTEXT", "ST_POINTFROMWKB", "ST_POINTN", "ST_POLYFROMTEXT", - "ST_POLYFROMWKB", "ST_POLYGONFROMTEXT", "ST_POLYGONFROMWKB", - "ST_SRID", "ST_STARTPOINT", "ST_SYMDIFFERENCE", "ST_TOUCHES", - "ST_UNION", "ST_WITHIN", "ST_X", "ST_Y", "SUBDATE", "SUBSTRING_INDEX", - "SUBTIME", "SYSTEM_USER", "TAN", "TIMEDIFF", "TIMESTAMPADD", - "TIMESTAMPDIFF", "TIME_FORMAT", "TIME_TO_SEC", "TOUCHES", - "TO_BASE64", "TO_DAYS", "TO_SECONDS", "UCASE", "UNCOMPRESS", - "UNCOMPRESSED_LENGTH", "UNHEX", "UNIX_TIMESTAMP", "UPDATEXML", - "UPPER", "UUID", "UUID_SHORT", "VALIDATE_PASSWORD_STRENGTH", - "VERSION", "WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS", "WEEKDAY", - "WEEKOFYEAR", "WEIGHT_STRING", "WITHIN", "YEARWEEK", "Y_FUNCTION", - "X_FUNCTION", "VAR_ASSIGN", "PLUS_ASSIGN", "MINUS_ASSIGN", - "MULT_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "AND_ASSIGN", - "XOR_ASSIGN", "OR_ASSIGN", "STAR", "DIVIDE", "MODULE", - "PLUS", "MINUSMINUS", "MINUS", "DIV", "MOD", "EQUAL_SYMBOL", - "GREATER_SYMBOL", "LESS_SYMBOL", "EXCLAMATION_SYMBOL", - "BIT_NOT_OP", "BIT_OR_OP", "BIT_AND_OP", "BIT_XOR_OP", - "DOT", "LR_BRACKET", "RR_BRACKET", "COMMA", "SEMI", "AT_SIGN", - "ZERO_DECIMAL", "ONE_DECIMAL", "TWO_DECIMAL", "SINGLE_QUOTE_SYMB", - "DOUBLE_QUOTE_SYMB", "REVERSE_QUOTE_SYMB", "COLON_SYMB", - "CHARSET_REVERSE_QOUTE_STRING", "FILESIZE_LITERAL", "START_NATIONAL_STRING_LITERAL", - "STRING_LITERAL", "DECIMAL_LITERAL", "HEXADECIMAL_LITERAL", - "REAL_LITERAL", "NULL_SPEC_LITERAL", "BIT_STRING", "STRING_CHARSET_NAME", - "DOT_ID", "ID", "REVERSE_QUOTE_ID", "STRING_USER_NAME", - "LOCAL_ID", "GLOBAL_ID", "CHARSET_NAME", "EXPONENT_NUM_PART", - "ID_LITERAL", "DQUOTA_STRING", "SQUOTA_STRING", "BQUOTA_STRING", - "HEX_DIGIT", "DEC_DIGIT", "BIT_STRING_L", "ERROR_RECONGNIGION" ] - - grammarFileName = "frameQLLexer.g4" - - def __init__(self, input=None, output:TextIO = sys.stdout): - super().__init__(input, output) - self.checkVersion("4.7.1") - self._interp = LexerATNSimulator(self, self.atn, self.decisionsToDFA, PredictionContextCache()) - self._actions = None - self._predicates = None - - diff --git a/third_party/evaQL/parser/frameQLParser.py b/third_party/evaQL/parser/frameQLParser.py deleted file mode 100644 index 3a7e53f6d1..0000000000 --- a/third_party/evaQL/parser/frameQLParser.py +++ /dev/null @@ -1,49878 +0,0 @@ -# Generated from frameQLParser.g4 by ANTLR 4.7.1 -# encoding: utf-8 -from antlr4 import * -from io import StringIO -from typing.io import TextIO -import sys - -def serializedATN(): - with StringIO() as buf: - buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3\u03d7") - buf.write("\u17d0\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7") - buf.write("\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r\4\16") - buf.write("\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22\4\23\t\23") - buf.write("\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31") - buf.write("\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36") - buf.write("\4\37\t\37\4 \t \4!\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t") - buf.write("&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4,\t,\4-\t-\4.\t.\4") - buf.write("/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t\64") - buf.write("\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t") - buf.write(";\4<\t<\4=\t=\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\t") - buf.write("D\4E\tE\4F\tF\4G\tG\4H\tH\4I\tI\4J\tJ\4K\tK\4L\tL\4M\t") - buf.write("M\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT\4U\tU\4V\t") - buf.write("V\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4") - buf.write("_\t_\4`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4") - buf.write("h\th\4i\ti\4j\tj\4k\tk\4l\tl\4m\tm\4n\tn\4o\to\4p\tp\4") - buf.write("q\tq\4r\tr\4s\ts\4t\tt\4u\tu\4v\tv\4w\tw\4x\tx\4y\ty\4") - buf.write("z\tz\4{\t{\4|\t|\4}\t}\4~\t~\4\177\t\177\4\u0080\t\u0080") - buf.write("\4\u0081\t\u0081\4\u0082\t\u0082\4\u0083\t\u0083\4\u0084") - buf.write("\t\u0084\4\u0085\t\u0085\4\u0086\t\u0086\4\u0087\t\u0087") - buf.write("\4\u0088\t\u0088\4\u0089\t\u0089\4\u008a\t\u008a\4\u008b") - buf.write("\t\u008b\4\u008c\t\u008c\4\u008d\t\u008d\4\u008e\t\u008e") - buf.write("\4\u008f\t\u008f\4\u0090\t\u0090\4\u0091\t\u0091\4\u0092") - buf.write("\t\u0092\4\u0093\t\u0093\4\u0094\t\u0094\4\u0095\t\u0095") - buf.write("\4\u0096\t\u0096\4\u0097\t\u0097\4\u0098\t\u0098\4\u0099") - buf.write("\t\u0099\4\u009a\t\u009a\4\u009b\t\u009b\4\u009c\t\u009c") - buf.write("\4\u009d\t\u009d\4\u009e\t\u009e\4\u009f\t\u009f\4\u00a0") - buf.write("\t\u00a0\4\u00a1\t\u00a1\4\u00a2\t\u00a2\4\u00a3\t\u00a3") - buf.write("\4\u00a4\t\u00a4\4\u00a5\t\u00a5\4\u00a6\t\u00a6\4\u00a7") - buf.write("\t\u00a7\4\u00a8\t\u00a8\4\u00a9\t\u00a9\4\u00aa\t\u00aa") - buf.write("\4\u00ab\t\u00ab\4\u00ac\t\u00ac\4\u00ad\t\u00ad\4\u00ae") - buf.write("\t\u00ae\4\u00af\t\u00af\4\u00b0\t\u00b0\4\u00b1\t\u00b1") - buf.write("\4\u00b2\t\u00b2\4\u00b3\t\u00b3\4\u00b4\t\u00b4\4\u00b5") - buf.write("\t\u00b5\4\u00b6\t\u00b6\4\u00b7\t\u00b7\4\u00b8\t\u00b8") - buf.write("\4\u00b9\t\u00b9\4\u00ba\t\u00ba\4\u00bb\t\u00bb\4\u00bc") - buf.write("\t\u00bc\4\u00bd\t\u00bd\4\u00be\t\u00be\4\u00bf\t\u00bf") - buf.write("\4\u00c0\t\u00c0\4\u00c1\t\u00c1\4\u00c2\t\u00c2\4\u00c3") - buf.write("\t\u00c3\4\u00c4\t\u00c4\4\u00c5\t\u00c5\4\u00c6\t\u00c6") - buf.write("\4\u00c7\t\u00c7\4\u00c8\t\u00c8\4\u00c9\t\u00c9\4\u00ca") - buf.write("\t\u00ca\4\u00cb\t\u00cb\4\u00cc\t\u00cc\4\u00cd\t\u00cd") - buf.write("\4\u00ce\t\u00ce\4\u00cf\t\u00cf\4\u00d0\t\u00d0\4\u00d1") - buf.write("\t\u00d1\4\u00d2\t\u00d2\4\u00d3\t\u00d3\4\u00d4\t\u00d4") - buf.write("\4\u00d5\t\u00d5\4\u00d6\t\u00d6\4\u00d7\t\u00d7\4\u00d8") - buf.write("\t\u00d8\4\u00d9\t\u00d9\4\u00da\t\u00da\4\u00db\t\u00db") - buf.write("\4\u00dc\t\u00dc\4\u00dd\t\u00dd\4\u00de\t\u00de\4\u00df") - buf.write("\t\u00df\4\u00e0\t\u00e0\4\u00e1\t\u00e1\4\u00e2\t\u00e2") - buf.write("\4\u00e3\t\u00e3\4\u00e4\t\u00e4\4\u00e5\t\u00e5\4\u00e6") - buf.write("\t\u00e6\4\u00e7\t\u00e7\4\u00e8\t\u00e8\4\u00e9\t\u00e9") - buf.write("\4\u00ea\t\u00ea\4\u00eb\t\u00eb\4\u00ec\t\u00ec\4\u00ed") - buf.write("\t\u00ed\4\u00ee\t\u00ee\4\u00ef\t\u00ef\4\u00f0\t\u00f0") - buf.write("\4\u00f1\t\u00f1\4\u00f2\t\u00f2\4\u00f3\t\u00f3\4\u00f4") - buf.write("\t\u00f4\4\u00f5\t\u00f5\4\u00f6\t\u00f6\4\u00f7\t\u00f7") - buf.write("\4\u00f8\t\u00f8\4\u00f9\t\u00f9\4\u00fa\t\u00fa\4\u00fb") - buf.write("\t\u00fb\4\u00fc\t\u00fc\4\u00fd\t\u00fd\4\u00fe\t\u00fe") - buf.write("\4\u00ff\t\u00ff\4\u0100\t\u0100\4\u0101\t\u0101\4\u0102") - buf.write("\t\u0102\4\u0103\t\u0103\4\u0104\t\u0104\4\u0105\t\u0105") - buf.write("\4\u0106\t\u0106\4\u0107\t\u0107\4\u0108\t\u0108\4\u0109") - buf.write("\t\u0109\4\u010a\t\u010a\4\u010b\t\u010b\4\u010c\t\u010c") - buf.write("\4\u010d\t\u010d\4\u010e\t\u010e\4\u010f\t\u010f\4\u0110") - buf.write("\t\u0110\4\u0111\t\u0111\4\u0112\t\u0112\4\u0113\t\u0113") - buf.write("\4\u0114\t\u0114\4\u0115\t\u0115\4\u0116\t\u0116\4\u0117") - buf.write("\t\u0117\4\u0118\t\u0118\4\u0119\t\u0119\4\u011a\t\u011a") - buf.write("\4\u011b\t\u011b\4\u011c\t\u011c\4\u011d\t\u011d\4\u011e") - buf.write("\t\u011e\4\u011f\t\u011f\4\u0120\t\u0120\4\u0121\t\u0121") - buf.write("\4\u0122\t\u0122\4\u0123\t\u0123\4\u0124\t\u0124\4\u0125") - buf.write("\t\u0125\4\u0126\t\u0126\4\u0127\t\u0127\4\u0128\t\u0128") - buf.write("\4\u0129\t\u0129\4\u012a\t\u012a\4\u012b\t\u012b\4\u012c") - buf.write("\t\u012c\4\u012d\t\u012d\4\u012e\t\u012e\4\u012f\t\u012f") - buf.write("\4\u0130\t\u0130\4\u0131\t\u0131\4\u0132\t\u0132\4\u0133") - buf.write("\t\u0133\4\u0134\t\u0134\4\u0135\t\u0135\4\u0136\t\u0136") - buf.write("\4\u0137\t\u0137\3\2\5\2\u0270\n\2\3\2\5\2\u0273\n\2\3") - buf.write("\2\3\2\3\3\3\3\5\3\u0279\n\3\3\3\3\3\3\3\7\3\u027e\n\3") - buf.write("\f\3\16\3\u0281\13\3\3\3\3\3\5\3\u0285\n\3\3\3\5\3\u0288") - buf.write("\n\3\3\3\5\3\u028b\n\3\3\4\3\4\3\4\3\4\3\4\3\4\3\4\5\4") - buf.write("\u0294\n\4\3\5\3\5\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6") - buf.write("\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3") - buf.write("\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\5\6") - buf.write("\u02bb\n\6\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\5\7") - buf.write("\u02c7\n\7\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\5\b\u02d2") - buf.write("\n\b\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3") - buf.write("\t\3\t\3\t\5\t\u02e3\n\t\3\n\3\n\3\n\5\n\u02e8\n\n\3\13") - buf.write("\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\5\13\u02f4") - buf.write("\n\13\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f") - buf.write("\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\5") - buf.write("\f\u030f\n\f\3\r\3\r\3\r\3\r\5\r\u0315\n\r\3\16\3\16\3") - buf.write("\16\5\16\u031a\n\16\3\16\3\16\7\16\u031e\n\16\f\16\16") - buf.write("\16\u0321\13\16\3\17\3\17\5\17\u0325\n\17\3\17\3\17\5") - buf.write("\17\u0329\n\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\5\17") - buf.write("\u0332\n\17\3\17\5\17\u0335\n\17\3\17\5\17\u0338\n\17") - buf.write("\3\17\3\17\5\17\u033c\n\17\3\17\3\17\3\17\3\20\3\20\5") - buf.write("\20\u0343\n\20\3\20\5\20\u0346\n\20\3\20\3\20\3\20\5\20") - buf.write("\u034b\n\20\3\20\3\20\3\20\3\20\7\20\u0351\n\20\f\20\16") - buf.write("\20\u0354\13\20\3\20\3\20\5\20\u0358\n\20\3\20\3\20\3") - buf.write("\20\5\20\u035d\n\20\3\20\5\20\u0360\n\20\3\21\3\21\3\21") - buf.write("\3\21\3\21\3\21\3\21\3\21\3\21\5\21\u036b\n\21\3\21\5") - buf.write("\21\u036e\n\21\3\21\3\21\5\21\u0372\n\21\3\21\5\21\u0375") - buf.write("\n\21\3\21\3\21\5\21\u0379\n\21\3\21\5\21\u037c\n\21\3") - buf.write("\21\3\21\5\21\u0380\n\21\3\21\5\21\u0383\n\21\3\21\5\21") - buf.write("\u0386\n\21\3\21\3\21\5\21\u038a\n\21\3\21\5\21\u038d") - buf.write("\n\21\3\21\3\21\5\21\u0391\n\21\3\21\3\21\3\22\3\22\5") - buf.write("\22\u0397\n\22\3\22\3\22\3\22\3\22\5\22\u039d\n\22\3\22") - buf.write("\3\22\7\22\u03a1\n\22\f\22\16\22\u03a4\13\22\3\22\3\22") - buf.write("\7\22\u03a8\n\22\f\22\16\22\u03ab\13\22\3\22\3\22\3\23") - buf.write("\3\23\5\23\u03b1\n\23\3\23\3\23\3\23\3\23\5\23\u03b7\n") - buf.write("\23\3\23\3\23\7\23\u03bb\n\23\f\23\16\23\u03be\13\23\3") - buf.write("\23\3\23\3\23\3\23\7\23\u03c4\n\23\f\23\16\23\u03c7\13") - buf.write("\23\3\23\3\23\3\24\3\24\3\24\3\24\3\24\3\24\3\24\3\24") - buf.write("\3\24\3\24\3\24\3\24\7\24\u03d7\n\24\f\24\16\24\u03da") - buf.write("\13\24\3\24\3\24\3\25\3\25\5\25\u03e0\n\25\3\25\3\25\5") - buf.write("\25\u03e4\n\25\3\25\3\25\3\25\3\25\3\25\3\25\3\25\3\25") - buf.write("\5\25\u03ee\n\25\3\25\3\25\5\25\u03f2\n\25\3\25\3\25\5") - buf.write("\25\u03f6\n\25\3\25\3\25\5\25\u03fa\n\25\3\25\3\25\5\25") - buf.write("\u03fe\n\25\3\25\7\25\u0401\n\25\f\25\16\25\u0404\13\25") - buf.write("\5\25\u0406\n\25\3\25\5\25\u0409\n\25\3\25\5\25\u040c") - buf.write("\n\25\3\25\5\25\u040f\n\25\3\25\3\25\3\25\3\25\5\25\u0415") - buf.write("\n\25\3\25\3\25\5\25\u0419\n\25\3\25\3\25\3\25\3\25\5") - buf.write("\25\u041f\n\25\3\25\7\25\u0422\n\25\f\25\16\25\u0425\13") - buf.write("\25\5\25\u0427\n\25\3\25\5\25\u042a\n\25\5\25\u042c\n") - buf.write("\25\3\26\3\26\3\26\3\26\3\26\3\26\3\26\3\26\3\26\5\26") - buf.write("\u0437\n\26\3\26\3\26\5\26\u043b\n\26\3\26\5\26\u043e") - buf.write("\n\26\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27") - buf.write("\3\27\3\27\5\27\u044c\n\27\3\27\5\27\u044f\n\27\3\27\3") - buf.write("\27\5\27\u0453\n\27\3\27\5\27\u0456\n\27\3\27\3\27\5\27") - buf.write("\u045a\n\27\3\27\5\27\u045d\n\27\3\27\3\27\5\27\u0461") - buf.write("\n\27\3\27\5\27\u0464\n\27\3\27\3\27\5\27\u0468\n\27\3") - buf.write("\27\5\27\u046b\n\27\3\27\5\27\u046e\n\27\3\27\3\27\5\27") - buf.write("\u0472\n\27\3\27\5\27\u0475\n\27\3\27\3\27\5\27\u0479") - buf.write("\n\27\3\27\3\27\3\30\3\30\5\30\u047f\n\30\3\30\3\30\3") - buf.write("\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\5\30\u048c") - buf.write("\n\30\3\30\3\30\3\31\3\31\3\31\5\31\u0493\n\31\3\31\3") - buf.write("\31\3\31\5\31\u0498\n\31\3\31\5\31\u049b\n\31\3\31\3\31") - buf.write("\3\31\5\31\u04a0\n\31\3\31\3\31\3\31\3\31\3\31\3\31\5") - buf.write("\31\u04a8\n\31\3\31\3\31\3\31\3\31\5\31\u04ae\n\31\3\31") - buf.write("\3\31\5\31\u04b2\n\31\3\32\5\32\u04b5\n\32\3\32\3\32\3") - buf.write("\32\5\32\u04ba\n\32\3\32\5\32\u04bd\n\32\3\32\3\32\5\32") - buf.write("\u04c1\n\32\3\32\3\32\5\32\u04c5\n\32\3\32\5\32\u04c8") - buf.write("\n\32\3\33\3\33\3\33\3\33\3\33\3\33\5\33\u04d0\n\33\5") - buf.write("\33\u04d2\n\33\3\34\3\34\3\34\7\34\u04d7\n\34\f\34\16") - buf.write("\34\u04da\13\34\3\34\3\34\3\34\5\34\u04df\n\34\3\34\3") - buf.write("\34\3\34\3\34\7\34\u04e5\n\34\f\34\16\34\u04e8\13\34\5") - buf.write("\34\u04ea\n\34\3\34\3\34\3\34\7\34\u04ef\n\34\f\34\16") - buf.write("\34\u04f2\13\34\5\34\u04f4\n\34\5\34\u04f6\n\34\3\35\3") - buf.write("\35\3\35\3\35\5\35\u04fc\n\35\3\36\3\36\3\36\3\36\5\36") - buf.write("\u0502\n\36\3\36\3\36\3\37\3\37\3\37\3\37\3\37\3\37\3") - buf.write("\37\3\37\3\37\3\37\3\37\3\37\3\37\5\37\u0513\n\37\3 \3") - buf.write(" \3 \3 \3 \5 \u051a\n \3!\3!\3!\3\"\3\"\5\"\u0521\n\"") - buf.write("\3\"\3\"\3\"\3\"\3\"\3\"\3\"\5\"\u052a\n\"\3#\3#\3#\3") - buf.write("#\3$\3$\3$\3%\3%\3%\3%\3%\5%\u0538\n%\3%\3%\3%\3%\3%\3") - buf.write("%\3%\3%\3%\3%\3%\5%\u0545\n%\3%\3%\3%\5%\u054a\n%\3&\3") - buf.write("&\3&\3&\3&\3&\3&\3&\3&\3&\3&\3&\3&\3&\5&\u055a\n&\3\'") - buf.write("\3\'\3\'\3\'\7\'\u0560\n\'\f\'\16\'\u0563\13\'\3\'\3\'") - buf.write("\3(\3(\3(\3(\3(\5(\u056c\n(\3)\3)\7)\u0570\n)\f)\16)\u0573") - buf.write("\13)\3*\3*\3*\3*\3*\5*\u057a\n*\3*\3*\3*\5*\u057f\n*\3") - buf.write("*\3*\3*\3*\3*\3*\3*\3*\3*\5*\u058a\n*\3*\3*\3*\3*\3*\5") - buf.write("*\u0591\n*\3*\3*\3*\5*\u0596\n*\3+\3+\5+\u059a\n+\5+\u059c") - buf.write("\n+\3+\3+\3+\5+\u05a1\n+\3+\3+\7+\u05a5\n+\f+\16+\u05a8") - buf.write("\13+\3+\3+\5+\u05ac\n+\5+\u05ae\n+\3+\3+\5+\u05b2\n+\3") - buf.write("+\5+\u05b5\n+\3+\5+\u05b8\n+\3+\3+\7+\u05bc\n+\f+\16+") - buf.write("\u05bf\13+\3+\3+\5+\u05c3\n+\5+\u05c5\n+\3+\3+\3+\5+\u05ca") - buf.write("\n+\3+\3+\3+\3+\3+\5+\u05d1\n+\5+\u05d3\n+\3+\3+\3+\3") - buf.write("+\3+\5+\u05da\n+\3,\3,\3,\3,\3,\5,\u05e1\n,\3,\5,\u05e4") - buf.write("\n,\3-\3-\3-\3-\3-\3-\5-\u05ec\n-\3-\3-\3-\3-\3-\3-\5") - buf.write("-\u05f4\n-\5-\u05f6\n-\3.\3.\3.\3.\3.\3.\5.\u05fe\n.\3") - buf.write("/\3/\5/\u0602\n/\3/\5/\u0605\n/\3/\3/\7/\u0609\n/\f/\16") - buf.write("/\u060c\13/\3/\3/\5/\u0610\n/\3/\5/\u0613\n/\3/\3/\7/") - buf.write("\u0617\n/\f/\16/\u061a\13/\5/\u061c\n/\3\60\3\60\5\60") - buf.write("\u0620\n\60\3\60\3\60\3\60\5\60\u0625\n\60\3\60\3\60\3") - buf.write("\60\5\60\u062a\n\60\3\60\3\60\5\60\u062e\n\60\3\60\3\60") - buf.write("\3\60\5\60\u0633\n\60\3\60\5\60\u0636\n\60\3\60\3\60\3") - buf.write("\60\5\60\u063b\n\60\3\60\3\60\5\60\u063f\n\60\3\60\3\60") - buf.write("\5\60\u0643\n\60\3\60\3\60\3\60\5\60\u0648\n\60\3\60\3") - buf.write("\60\3\60\5\60\u064d\n\60\3\60\3\60\3\60\5\60\u0652\n\60") - buf.write("\3\60\3\60\3\60\3\60\5\60\u0658\n\60\3\60\3\60\3\60\5") - buf.write("\60\u065d\n\60\3\60\3\60\3\60\5\60\u0662\n\60\3\60\3\60") - buf.write("\3\60\3\60\5\60\u0668\n\60\3\60\3\60\3\60\5\60\u066d\n") - buf.write("\60\3\60\3\60\3\60\5\60\u0672\n\60\3\60\3\60\3\60\5\60") - buf.write("\u0677\n\60\3\60\3\60\3\60\5\60\u067c\n\60\3\60\3\60\3") - buf.write("\60\5\60\u0681\n\60\3\60\3\60\3\60\5\60\u0686\n\60\3\60") - buf.write("\3\60\3\60\5\60\u068b\n\60\3\60\3\60\3\60\5\60\u0690\n") - buf.write("\60\3\60\3\60\3\60\5\60\u0695\n\60\3\60\3\60\3\60\5\60") - buf.write("\u069a\n\60\3\60\3\60\3\60\3\60\5\60\u06a0\n\60\3\60\3") - buf.write("\60\5\60\u06a4\n\60\3\60\3\60\3\60\3\60\5\60\u06aa\n\60") - buf.write("\3\61\3\61\3\61\3\62\3\62\3\62\3\62\3\62\5\62\u06b4\n") - buf.write("\62\3\62\3\62\3\62\3\62\3\62\5\62\u06bb\n\62\5\62\u06bd") - buf.write("\n\62\3\62\3\62\3\62\3\62\7\62\u06c3\n\62\f\62\16\62\u06c6") - buf.write("\13\62\3\62\3\62\5\62\u06ca\n\62\3\63\5\63\u06cd\n\63") - buf.write("\3\63\3\63\3\63\3\63\3\63\3\63\5\63\u06d5\n\63\3\63\3") - buf.write("\63\3\63\3\63\5\63\u06db\n\63\3\63\3\63\3\63\3\63\3\63") - buf.write("\3\63\3\63\3\63\3\63\3\63\3\63\3\63\3\63\3\63\5\63\u06eb") - buf.write("\n\63\3\63\3\63\3\63\3\63\3\63\3\63\3\63\3\63\3\63\3\63") - buf.write("\5\63\u06f7\n\63\5\63\u06f9\n\63\3\64\5\64\u06fc\n\64") - buf.write("\3\64\3\64\3\64\3\64\3\64\3\64\5\64\u0704\n\64\3\64\3") - buf.write("\64\3\64\3\64\5\64\u070a\n\64\3\64\3\64\3\64\3\64\5\64") - buf.write("\u0710\n\64\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3") - buf.write("\65\7\65\u071b\n\65\f\65\16\65\u071e\13\65\3\65\3\65\7") - buf.write("\65\u0722\n\65\f\65\16\65\u0725\13\65\3\65\3\65\3\65\7") - buf.write("\65\u072a\n\65\f\65\16\65\u072d\13\65\5\65\u072f\n\65") - buf.write("\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\7\65\u0739\n") - buf.write("\65\f\65\16\65\u073c\13\65\3\65\3\65\7\65\u0740\n\65\f") - buf.write("\65\16\65\u0743\13\65\3\65\3\65\3\65\7\65\u0748\n\65\f") - buf.write("\65\16\65\u074b\13\65\5\65\u074d\n\65\3\65\3\65\3\65\3") - buf.write("\65\3\65\3\65\3\65\3\65\7\65\u0757\n\65\f\65\16\65\u075a") - buf.write("\13\65\3\65\3\65\7\65\u075e\n\65\f\65\16\65\u0761\13\65") - buf.write("\3\65\3\65\3\65\7\65\u0766\n\65\f\65\16\65\u0769\13\65") - buf.write("\5\65\u076b\n\65\3\65\3\65\3\65\7\65\u0770\n\65\f\65\16") - buf.write("\65\u0773\13\65\3\65\3\65\3\65\7\65\u0778\n\65\f\65\16") - buf.write("\65\u077b\13\65\5\65\u077d\n\65\5\65\u077f\n\65\3\66\3") - buf.write("\66\3\66\5\66\u0784\n\66\3\67\3\67\3\67\3\67\6\67\u078a") - buf.write("\n\67\r\67\16\67\u078b\3\67\3\67\38\38\38\78\u0793\n8") - buf.write("\f8\168\u0796\138\39\59\u0799\n9\39\39\59\u079d\n9\39") - buf.write("\39\39\59\u07a2\n9\39\39\39\39\59\u07a8\n9\39\39\39\3") - buf.write("9\59\u07ae\n9\39\39\39\59\u07b3\n9\39\39\39\59\u07b8\n") - buf.write("9\39\39\39\59\u07bd\n9\39\39\39\59\u07c2\n9\39\59\u07c5") - buf.write("\n9\3:\3:\3:\5:\u07ca\n:\3:\6:\u07cd\n:\r:\16:\u07ce\3") - buf.write(":\3:\3:\3:\3:\3:\3:\3:\5:\u07d9\n:\3;\3;\5;\u07dd\n;\3") - buf.write(";\3;\3;\3;\3;\5;\u07e4\n;\3;\3;\3;\5;\u07e9\n;\3;\5;\u07ec") - buf.write("\n;\3;\3;\3;\5;\u07f1\n;\3;\5;\u07f4\n;\3;\3;\5;\u07f8") - buf.write("\n;\3;\3;\5;\u07fc\n;\3<\3<\3<\3<\7<\u0802\n<\f<\16<\u0805") - buf.write("\13<\3=\3=\3=\3=\3=\3=\3=\3>\3>\3>\3>\3>\3>\3>\3>\3>\5") - buf.write(">\u0817\n>\3>\5>\u081a\n>\3>\5>\u081d\n>\3>\3>\5>\u0821") - buf.write("\n>\3>\3>\3?\3?\3?\3?\7?\u0829\n?\f?\16?\u082c\13?\3@") - buf.write("\3@\3@\3@\3@\3@\3@\3@\7@\u0836\n@\f@\16@\u0839\13@\3@") - buf.write("\3@\3A\3A\5A\u083f\nA\3A\5A\u0842\nA\3A\3A\3A\3A\3A\7") - buf.write("A\u0849\nA\fA\16A\u084c\13A\3A\5A\u084f\nA\3B\3B\3B\3") - buf.write("B\3B\3B\3B\3B\3B\5B\u085a\nB\3B\5B\u085d\nB\3B\3B\5B\u0861") - buf.write("\nB\3B\3B\3C\3C\3C\3C\5C\u0869\nC\3C\5C\u086c\nC\3C\3") - buf.write("C\3C\5C\u0871\nC\3C\3C\3C\3C\3C\3C\5C\u0879\nC\3C\3C\3") - buf.write("C\3C\5C\u087f\nC\3C\3C\5C\u0883\nC\3D\3D\5D\u0887\nD\3") - buf.write("D\7D\u088a\nD\fD\16D\u088d\13D\3D\3D\5D\u0891\nD\3D\3") - buf.write("D\3D\3D\3D\5D\u0898\nD\3D\3D\5D\u089c\nD\3D\3D\3D\3D\3") - buf.write("D\3D\3D\7D\u08a5\nD\fD\16D\u08a8\13D\3D\3D\3D\3D\3D\5") - buf.write("D\u08af\nD\3D\5D\u08b2\nD\3D\3D\7D\u08b6\nD\fD\16D\u08b9") - buf.write("\13D\3D\3D\3D\5D\u08be\nD\5D\u08c0\nD\3D\3D\3D\5D\u08c5") - buf.write("\nD\3D\3D\7D\u08c9\nD\fD\16D\u08cc\13D\3D\3D\3D\5D\u08d1") - buf.write("\nD\5D\u08d3\nD\3D\3D\5D\u08d7\nD\3D\5D\u08da\nD\3D\5") - buf.write("D\u08dd\nD\3D\3D\7D\u08e1\nD\fD\16D\u08e4\13D\3D\3D\3") - buf.write("D\5D\u08e9\nD\3D\5D\u08ec\nD\3D\3D\7D\u08f0\nD\fD\16D") - buf.write("\u08f3\13D\3D\3D\3D\5D\u08f8\nD\5D\u08fa\nD\3D\3D\3D\5") - buf.write("D\u08ff\nD\3D\3D\3D\3D\3D\3D\5D\u0907\nD\5D\u0909\nD\3") - buf.write("D\3D\3D\3D\3D\3D\3D\5D\u0912\nD\3D\3D\3D\5D\u0917\nD\3") - buf.write("D\3D\3D\3D\3D\3D\5D\u091f\nD\3D\3D\5D\u0923\nD\3D\3D\3") - buf.write("D\3D\3D\3D\5D\u092b\nD\3D\3D\3D\3D\3D\3D\3D\3D\5D\u0935") - buf.write("\nD\3D\3D\3D\5D\u093a\nD\3D\3D\3D\3D\3D\5D\u0941\nD\3") - buf.write("D\3D\5D\u0945\nD\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3") - buf.write("D\3D\3D\3D\3D\5D\u0958\nD\3D\3D\5D\u095c\nD\3D\3D\3D\3") - buf.write("D\3D\3D\3D\3D\3D\3D\5D\u0968\nD\3D\5D\u096b\nD\3D\3D\3") - buf.write("D\3D\3D\3D\3D\5D\u0974\nD\3D\3D\3D\3D\3D\3D\3D\3D\3D\3") - buf.write("D\3D\3D\3D\7D\u0983\nD\fD\16D\u0986\13D\3D\3D\3D\3D\3") - buf.write("D\3D\3D\3D\3D\5D\u0991\nD\3D\3D\3D\3D\3D\5D\u0998\nD\3") - buf.write("D\3D\3D\3D\3D\5D\u099f\nD\3D\3D\3D\3D\3D\3D\3D\3D\3D\3") - buf.write("D\3D\7D\u09ac\nD\fD\16D\u09af\13D\3D\3D\3D\3D\3D\3D\3") - buf.write("D\3D\3D\3D\5D\u09bb\nD\3D\3D\3D\3D\5D\u09c1\nD\3D\3D\3") - buf.write("D\3D\5D\u09c7\nD\3D\3D\3D\3D\5D\u09cd\nD\3D\3D\3D\3D\5") - buf.write("D\u09d3\nD\3D\3D\3D\3D\5D\u09d9\nD\3D\3D\3D\3D\5D\u09df") - buf.write("\nD\3E\3E\3E\5E\u09e4\nE\3E\3E\3F\3F\3F\5F\u09eb\nF\3") - buf.write("F\3F\3G\3G\3G\5G\u09f2\nG\3G\3G\3G\3G\3G\5G\u09f9\nG\3") - buf.write("G\5G\u09fc\nG\3G\3G\5G\u0a00\nG\3G\5G\u0a03\nG\3H\3H\3") - buf.write("H\3H\3H\3H\3H\3H\3I\3I\3I\5I\u0a10\nI\3I\3I\3J\3J\3J\5") - buf.write("J\u0a17\nJ\3J\3J\3K\3K\3K\5K\u0a1e\nK\3K\3K\3L\3L\5L\u0a24") - buf.write("\nL\3L\3L\5L\u0a28\nL\3L\3L\5L\u0a2c\nL\3M\3M\3M\3M\3") - buf.write("M\5M\u0a33\nM\3M\5M\u0a36\nM\3N\3N\3N\5N\u0a3b\nN\3N\3") - buf.write("N\3O\3O\3O\5O\u0a42\nO\3O\3O\3O\7O\u0a47\nO\fO\16O\u0a4a") - buf.write("\13O\3O\5O\u0a4d\nO\3P\3P\3P\3P\3P\7P\u0a54\nP\fP\16P") - buf.write("\u0a57\13P\3Q\3Q\3Q\3Q\3R\3R\5R\u0a5f\nR\3R\3R\3S\3S\3") - buf.write("S\3S\3S\5S\u0a68\nS\3S\5S\u0a6b\nS\3T\3T\5T\u0a6f\nT\3") - buf.write("U\3U\3U\3V\3V\3V\3V\5V\u0a78\nV\3W\3W\5W\u0a7c\nW\3W\5") - buf.write("W\u0a7f\nW\3W\5W\u0a82\nW\3W\3W\3W\3W\3W\3W\5W\u0a8a\n") - buf.write("W\3W\3W\3W\3W\5W\u0a90\nW\3W\3W\3W\3W\3W\7W\u0a97\nW\f") - buf.write("W\16W\u0a9a\13W\5W\u0a9c\nW\3W\3W\3W\3W\3W\3W\3W\7W\u0aa5") - buf.write("\nW\fW\16W\u0aa8\13W\5W\u0aaa\nW\3X\3X\3X\5X\u0aaf\nX") - buf.write("\3X\5X\u0ab2\nX\3X\3X\3X\5X\u0ab7\nX\3X\3X\3X\3X\3X\3") - buf.write("X\3X\3X\5X\u0ac1\nX\3X\3X\3X\5X\u0ac6\nX\3X\3X\6X\u0aca") - buf.write("\nX\rX\16X\u0acb\5X\u0ace\nX\3X\3X\6X\u0ad2\nX\rX\16X") - buf.write("\u0ad3\5X\u0ad6\nX\3X\3X\3X\3X\5X\u0adc\nX\3X\3X\3X\3") - buf.write("X\7X\u0ae2\nX\fX\16X\u0ae5\13X\3X\3X\5X\u0ae9\nX\3X\3") - buf.write("X\3X\3X\7X\u0aef\nX\fX\16X\u0af2\13X\5X\u0af4\nX\3Y\3") - buf.write("Y\3Y\5Y\u0af9\nY\3Y\5Y\u0afc\nY\3Y\3Y\3Y\5Y\u0b01\nY\3") - buf.write("Y\3Y\3Y\3Y\3Y\3Y\5Y\u0b09\nY\3Y\3Y\3Y\3Y\3Y\3Y\5Y\u0b11") - buf.write("\nY\3Y\3Y\3Y\3Y\5Y\u0b17\nY\3Y\3Y\3Y\3Y\7Y\u0b1d\nY\f") - buf.write("Y\16Y\u0b20\13Y\3Y\3Y\5Y\u0b24\nY\3Y\3Y\3Y\3Y\7Y\u0b2a") - buf.write("\nY\fY\16Y\u0b2d\13Y\5Y\u0b2f\nY\3Z\3Z\5Z\u0b33\nZ\3Z") - buf.write("\5Z\u0b36\nZ\3Z\3Z\3Z\3Z\3Z\3Z\5Z\u0b3e\nZ\3Z\3Z\3Z\3") - buf.write("Z\5Z\u0b44\nZ\3Z\3Z\3Z\3Z\3Z\7Z\u0b4b\nZ\fZ\16Z\u0b4e") - buf.write("\13Z\5Z\u0b50\nZ\3[\3[\5[\u0b54\n[\3[\3[\5[\u0b58\n[\3") - buf.write("[\3[\6[\u0b5c\n[\r[\16[\u0b5d\3[\3[\5[\u0b62\n[\3[\3[") - buf.write("\5[\u0b66\n[\5[\u0b68\n[\3[\5[\u0b6b\n[\3[\5[\u0b6e\n") - buf.write("[\3[\5[\u0b71\n[\3[\3[\6[\u0b75\n[\r[\16[\u0b76\3[\3[") - buf.write("\5[\u0b7b\n[\3[\5[\u0b7e\n[\3[\5[\u0b81\n[\3[\5[\u0b84") - buf.write("\n[\3[\5[\u0b87\n[\5[\u0b89\n[\3\\\3\\\5\\\u0b8d\n\\\3") - buf.write("]\3]\3]\3]\3]\3]\3]\3]\3]\3]\7]\u0b99\n]\f]\16]\u0b9c") - buf.write("\13]\5]\u0b9e\n]\3^\3^\3^\3^\5^\u0ba4\n^\3_\3_\5_\u0ba8") - buf.write("\n_\3`\3`\3`\3`\3`\3`\5`\u0bb0\n`\3a\3a\5a\u0bb4\na\3") - buf.write("a\5a\u0bb7\na\3a\5a\u0bba\na\3a\3a\3a\3a\3a\3a\3a\5a\u0bc3") - buf.write("\na\3a\3a\5a\u0bc7\na\3a\5a\u0bca\na\3a\3a\5a\u0bce\n") - buf.write("a\3b\3b\5b\u0bd2\nb\3b\5b\u0bd5\nb\3b\5b\u0bd8\nb\3b\3") - buf.write("b\3b\5b\u0bdd\nb\3b\3b\3b\3b\5b\u0be3\nb\7b\u0be5\nb\f") - buf.write("b\16b\u0be8\13b\3b\3b\3b\3b\3b\3b\3b\5b\u0bf1\nb\3b\3") - buf.write("b\3b\3b\5b\u0bf7\nb\7b\u0bf9\nb\fb\16b\u0bfc\13b\3b\3") - buf.write("b\3b\5b\u0c01\nb\3b\3b\5b\u0c05\nb\3c\3c\3c\3c\5c\u0c0b") - buf.write("\nc\3c\5c\u0c0e\nc\3d\3d\3d\3d\3d\3d\3d\3d\3d\3d\5d\u0c1a") - buf.write("\nd\3d\3d\5d\u0c1e\nd\3d\3d\5d\u0c22\nd\3e\3e\3e\3e\3") - buf.write("e\3e\5e\u0c2a\ne\3e\3e\5e\u0c2e\ne\3f\3f\3f\3f\3g\3g\5") - buf.write("g\u0c36\ng\3g\5g\u0c39\ng\3g\3g\5g\u0c3d\ng\3g\5g\u0c40") - buf.write("\ng\3g\3g\3g\3g\7g\u0c46\ng\fg\16g\u0c49\13g\3g\3g\5g") - buf.write("\u0c4d\ng\3g\5g\u0c50\ng\3g\5g\u0c53\ng\3h\3h\5h\u0c57") - buf.write("\nh\3h\5h\u0c5a\nh\3h\3h\3h\3h\3h\7h\u0c61\nh\fh\16h\u0c64") - buf.write("\13h\3h\3h\5h\u0c68\nh\3i\3i\3i\3i\3i\7i\u0c6f\ni\fi\16") - buf.write("i\u0c72\13i\3j\3j\5j\u0c76\nj\3k\3k\3k\7k\u0c7b\nk\fk") - buf.write("\16k\u0c7e\13k\3l\3l\7l\u0c82\nl\fl\16l\u0c85\13l\3l\3") - buf.write("l\3l\7l\u0c8a\nl\fl\16l\u0c8d\13l\3l\3l\5l\u0c91\nl\3") - buf.write("m\3m\3m\3m\3m\3m\5m\u0c99\nm\3m\5m\u0c9c\nm\3m\5m\u0c9f") - buf.write("\nm\3m\3m\3m\7m\u0ca4\nm\fm\16m\u0ca7\13m\5m\u0ca9\nm") - buf.write("\3m\3m\3m\3m\3m\5m\u0cb0\nm\3m\5m\u0cb3\nm\3m\3m\3m\3") - buf.write("m\3m\3m\5m\u0cbb\nm\3n\3n\3n\3n\5n\u0cc1\nn\3n\3n\3n\3") - buf.write("n\3o\3o\3o\3o\3o\5o\u0ccc\no\3p\5p\u0ccf\np\3p\3p\3p\3") - buf.write("p\3p\3p\3p\3p\3p\5p\u0cda\np\3p\3p\3p\3p\5p\u0ce0\np\3") - buf.write("p\3p\5p\u0ce4\np\3p\3p\3p\3p\3p\3p\3p\3p\3p\5p\u0cef\n") - buf.write("p\3p\3p\3p\5p\u0cf4\np\5p\u0cf6\np\3p\3p\5p\u0cfa\np\3") - buf.write("q\3q\3q\3q\3q\3q\3q\3q\5q\u0d04\nq\3r\3r\3r\3r\3r\3r\3") - buf.write("r\3r\5r\u0d0e\nr\3s\3s\7s\u0d12\ns\fs\16s\u0d15\13s\3") - buf.write("s\3s\5s\u0d19\ns\3s\5s\u0d1c\ns\3s\5s\u0d1f\ns\3s\5s\u0d22") - buf.write("\ns\3s\3s\7s\u0d26\ns\fs\16s\u0d29\13s\3s\3s\5s\u0d2d") - buf.write("\ns\3s\5s\u0d30\ns\3s\5s\u0d33\ns\3s\5s\u0d36\ns\3s\3") - buf.write("s\7s\u0d3a\ns\fs\16s\u0d3d\13s\3s\3s\5s\u0d41\ns\3s\5") - buf.write("s\u0d44\ns\3s\5s\u0d47\ns\5s\u0d49\ns\3t\3t\7t\u0d4d\n") - buf.write("t\ft\16t\u0d50\13t\3t\3t\5t\u0d54\nt\3t\5t\u0d57\nt\3") - buf.write("t\5t\u0d5a\nt\3u\3u\5u\u0d5e\nu\3u\3u\3v\3v\5v\u0d64\n") - buf.write("v\3v\3v\5v\u0d68\nv\3w\3w\3w\3w\3w\3w\3w\3w\5w\u0d72\n") - buf.write("w\3x\3x\5x\u0d76\nx\3x\3x\7x\u0d7a\nx\fx\16x\u0d7d\13") - buf.write("x\3y\3y\3y\3y\3y\3y\5y\u0d85\ny\3y\5y\u0d88\ny\3y\3y\5") - buf.write("y\u0d8c\ny\3y\5y\u0d8f\ny\3y\3y\5y\u0d93\ny\3y\3y\5y\u0d97") - buf.write("\ny\3y\5y\u0d9a\ny\5y\u0d9c\ny\3z\3z\3z\3{\3{\3{\3|\3") - buf.write("|\3|\3|\7|\u0da8\n|\f|\16|\u0dab\13|\3|\3|\3|\3|\3|\3") - buf.write("|\3|\3|\3|\5|\u0db6\n|\3|\3|\6|\u0dba\n|\r|\16|\u0dbb") - buf.write("\5|\u0dbe\n|\3|\3|\6|\u0dc2\n|\r|\16|\u0dc3\5|\u0dc6\n") - buf.write("|\5|\u0dc8\n|\3}\3}\3}\3}\5}\u0dce\n}\3}\3}\3}\3}\3}\3") - buf.write("}\5}\u0dd6\n}\3~\3~\3~\3~\3~\3~\5~\u0dde\n~\3\177\3\177") - buf.write("\3\177\3\177\5\177\u0de4\n\177\3\177\3\177\3\177\3\177") - buf.write("\3\177\7\177\u0deb\n\177\f\177\16\177\u0dee\13\177\3\177") - buf.write("\3\177\5\177\u0df2\n\177\5\177\u0df4\n\177\3\177\3\177") - buf.write("\5\177\u0df8\n\177\3\u0080\3\u0080\5\u0080\u0dfc\n\u0080") - buf.write("\3\u0081\3\u0081\3\u0081\3\u0081\5\u0081\u0e02\n\u0081") - buf.write("\3\u0081\3\u0081\3\u0081\3\u0081\3\u0081\5\u0081\u0e09") - buf.write("\n\u0081\3\u0082\3\u0082\3\u0082\3\u0082\3\u0082\7\u0082") - buf.write("\u0e10\n\u0082\f\u0082\16\u0082\u0e13\13\u0082\5\u0082") - buf.write("\u0e15\n\u0082\3\u0083\3\u0083\5\u0083\u0e19\n\u0083\3") - buf.write("\u0084\3\u0084\5\u0084\u0e1d\n\u0084\3\u0084\3\u0084\5") - buf.write("\u0084\u0e21\n\u0084\3\u0084\5\u0084\u0e24\n\u0084\3\u0084") - buf.write("\5\u0084\u0e27\n\u0084\3\u0084\5\u0084\u0e2a\n\u0084\3") - buf.write("\u0085\3\u0085\5\u0085\u0e2e\n\u0085\3\u0085\3\u0085\5") - buf.write("\u0085\u0e32\n\u0085\3\u0085\5\u0085\u0e35\n\u0085\3\u0085") - buf.write("\5\u0085\u0e38\n\u0085\3\u0085\5\u0085\u0e3b\n\u0085\3") - buf.write("\u0086\3\u0086\3\u0086\3\u0087\3\u0087\5\u0087\u0e42\n") - buf.write("\u0087\3\u0087\3\u0087\5\u0087\u0e46\n\u0087\3\u0087\3") - buf.write("\u0087\3\u0088\3\u0088\3\u0088\3\u0088\3\u0089\3\u0089") - buf.write("\3\u0089\3\u0089\3\u0089\7\u0089\u0e53\n\u0089\f\u0089") - buf.write("\16\u0089\u0e56\13\u0089\3\u008a\3\u008a\3\u008a\3\u008b") - buf.write("\3\u008b\3\u008b\3\u008b\3\u008b\3\u008c\3\u008c\5\u008c") - buf.write("\u0e62\n\u008c\3\u008c\3\u008c\3\u008c\3\u008c\7\u008c") - buf.write("\u0e68\n\u008c\f\u008c\16\u008c\u0e6b\13\u008c\3\u008d") - buf.write("\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d\3\u008d\5\u008d") - buf.write("\u0e74\n\u008d\3\u008e\3\u008e\5\u008e\u0e78\n\u008e\3") - buf.write("\u008e\5\u008e\u0e7b\n\u008e\3\u008e\3\u008e\3\u008f\3") - buf.write("\u008f\5\u008f\u0e81\n\u008f\3\u008f\5\u008f\u0e84\n\u008f") - buf.write("\3\u008f\5\u008f\u0e87\n\u008f\3\u0090\3\u0090\3\u0090") - buf.write("\3\u0090\3\u0090\3\u0090\3\u0090\5\u0090\u0e90\n\u0090") - buf.write("\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091\3\u0091") - buf.write("\5\u0091\u0e99\n\u0091\3\u0092\3\u0092\3\u0092\3\u0092") - buf.write("\3\u0092\3\u0092\7\u0092\u0ea1\n\u0092\f\u0092\16\u0092") - buf.write("\u0ea4\13\u0092\3\u0092\5\u0092\u0ea7\n\u0092\3\u0093") - buf.write("\3\u0093\3\u0093\3\u0093\3\u0093\3\u0093\7\u0093\u0eaf") - buf.write("\n\u0093\f\u0093\16\u0093\u0eb2\13\u0093\3\u0094\3\u0094") - buf.write("\3\u0094\3\u0094\3\u0094\3\u0094\3\u0094\5\u0094\u0ebb") - buf.write("\n\u0094\3\u0095\3\u0095\3\u0095\3\u0096\3\u0096\3\u0096") - buf.write("\5\u0096\u0ec3\n\u0096\3\u0096\5\u0096\u0ec6\n\u0096\3") - buf.write("\u0097\3\u0097\3\u0097\3\u0097\3\u0097\7\u0097\u0ecd\n") - buf.write("\u0097\f\u0097\16\u0097\u0ed0\13\u0097\5\u0097\u0ed2\n") - buf.write("\u0097\3\u0097\3\u0097\5\u0097\u0ed6\n\u0097\3\u0097\7") - buf.write("\u0097\u0ed9\n\u0097\f\u0097\16\u0097\u0edc\13\u0097\3") - buf.write("\u0097\5\u0097\u0edf\n\u0097\3\u0098\3\u0098\3\u0098\3") - buf.write("\u0098\3\u0098\7\u0098\u0ee6\n\u0098\f\u0098\16\u0098") - buf.write("\u0ee9\13\u0098\5\u0098\u0eeb\n\u0098\3\u0099\3\u0099") - buf.write("\3\u0099\3\u009a\3\u009a\3\u009a\3\u009b\3\u009b\3\u009b") - buf.write("\3\u009b\3\u009b\3\u009b\3\u009b\3\u009b\3\u009b\3\u009b") - buf.write("\3\u009b\3\u009b\3\u009b\3\u009b\3\u009b\3\u009b\3\u009b") - buf.write("\3\u009b\3\u009b\3\u009b\3\u009b\7\u009b\u0f08\n\u009b") - buf.write("\f\u009b\16\u009b\u0f0b\13\u009b\5\u009b\u0f0d\n\u009b") - buf.write("\3\u009b\5\u009b\u0f10\n\u009b\3\u009c\3\u009c\3\u009d") - buf.write("\3\u009d\3\u009e\3\u009e\3\u009f\3\u009f\3\u009f\3\u009f") - buf.write("\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0") - buf.write("\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0") - buf.write("\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0") - buf.write("\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0") - buf.write("\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0") - buf.write("\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0\3\u00a0") - buf.write("\7\u00a0\u0f46\n\u00a0\f\u00a0\16\u00a0\u0f49\13\u00a0") - buf.write("\3\u00a0\3\u00a0\5\u00a0\u0f4d\n\u00a0\3\u00a1\3\u00a1") - buf.write("\3\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a2\3\u00a2\3\u00a3") - buf.write("\3\u00a3\3\u00a3\3\u00a3\3\u00a3\3\u00a3\3\u00a3\3\u00a3") - buf.write("\3\u00a3\3\u00a3\3\u00a3\3\u00a3\3\u00a3\3\u00a3\3\u00a3") - buf.write("\3\u00a3\3\u00a3\3\u00a3\5\u00a3\u0f69\n\u00a3\3\u00a4") - buf.write("\3\u00a4\3\u00a4\3\u00a4\3\u00a4\3\u00a4\3\u00a4\3\u00a4") - buf.write("\3\u00a4\3\u00a4\3\u00a4\3\u00a4\5\u00a4\u0f77\n\u00a4") - buf.write("\3\u00a5\3\u00a5\3\u00a5\7\u00a5\u0f7c\n\u00a5\f\u00a5") - buf.write("\16\u00a5\u0f7f\13\u00a5\3\u00a5\5\u00a5\u0f82\n\u00a5") - buf.write("\3\u00a6\3\u00a6\3\u00a6\3\u00a6\5\u00a6\u0f88\n\u00a6") - buf.write("\3\u00a7\3\u00a7\3\u00a7\3\u00a7\3\u00a7\3\u00a7\5\u00a7") - buf.write("\u0f90\n\u00a7\5\u00a7\u0f92\n\u00a7\3\u00a8\3\u00a8\3") - buf.write("\u00a8\3\u00a8\3\u00a9\3\u00a9\3\u00a9\3\u00a9\3\u00a9") - buf.write("\5\u00a9\u0f9d\n\u00a9\3\u00aa\3\u00aa\3\u00aa\3\u00aa") - buf.write("\3\u00ab\3\u00ab\3\u00ab\3\u00ab\5\u00ab\u0fa7\n\u00ab") - buf.write("\3\u00ac\3\u00ac\3\u00ac\3\u00ac\3\u00ac\5\u00ac\u0fae") - buf.write("\n\u00ac\3\u00ad\3\u00ad\3\u00ad\3\u00ad\5\u00ad\u0fb4") - buf.write("\n\u00ad\3\u00ae\3\u00ae\3\u00ae\3\u00ae\3\u00af\3\u00af") - buf.write("\5\u00af\u0fbc\n\u00af\3\u00b0\3\u00b0\3\u00b0\5\u00b0") - buf.write("\u0fc1\n\u00b0\3\u00b0\3\u00b0\3\u00b0\3\u00b0\7\u00b0") - buf.write("\u0fc7\n\u00b0\f\u00b0\16\u00b0\u0fca\13\u00b0\3\u00b0") - buf.write("\3\u00b0\3\u00b0\7\u00b0\u0fcf\n\u00b0\f\u00b0\16\u00b0") - buf.write("\u0fd2\13\u00b0\3\u00b0\3\u00b0\3\u00b0\7\u00b0\u0fd7") - buf.write("\n\u00b0\f\u00b0\16\u00b0\u0fda\13\u00b0\3\u00b0\3\u00b0") - buf.write("\3\u00b0\7\u00b0\u0fdf\n\u00b0\f\u00b0\16\u00b0\u0fe2") - buf.write("\13\u00b0\3\u00b0\6\u00b0\u0fe5\n\u00b0\r\u00b0\16\u00b0") - buf.write("\u0fe6\5\u00b0\u0fe9\n\u00b0\3\u00b0\3\u00b0\5\u00b0\u0fed") - buf.write("\n\u00b0\3\u00b1\3\u00b1\3\u00b1\5\u00b1\u0ff2\n\u00b1") - buf.write("\3\u00b1\6\u00b1\u0ff5\n\u00b1\r\u00b1\16\u00b1\u0ff6") - buf.write("\3\u00b1\3\u00b1\6\u00b1\u0ffb\n\u00b1\r\u00b1\16\u00b1") - buf.write("\u0ffc\5\u00b1\u0fff\n\u00b1\3\u00b1\3\u00b1\3\u00b1\3") - buf.write("\u00b2\3\u00b2\3\u00b2\3\u00b2\6\u00b2\u1008\n\u00b2\r") - buf.write("\u00b2\16\u00b2\u1009\3\u00b2\7\u00b2\u100d\n\u00b2\f") - buf.write("\u00b2\16\u00b2\u1010\13\u00b2\3\u00b2\3\u00b2\6\u00b2") - buf.write("\u1014\n\u00b2\r\u00b2\16\u00b2\u1015\5\u00b2\u1018\n") - buf.write("\u00b2\3\u00b2\3\u00b2\3\u00b2\3\u00b3\3\u00b3\3\u00b3") - buf.write("\3\u00b4\3\u00b4\3\u00b4\3\u00b5\3\u00b5\3\u00b5\5\u00b5") - buf.write("\u1026\n\u00b5\3\u00b5\3\u00b5\6\u00b5\u102a\n\u00b5\r") - buf.write("\u00b5\16\u00b5\u102b\3\u00b5\3\u00b5\3\u00b5\5\u00b5") - buf.write("\u1031\n\u00b5\3\u00b6\3\u00b6\3\u00b6\5\u00b6\u1036\n") - buf.write("\u00b6\3\u00b6\3\u00b6\6\u00b6\u103a\n\u00b6\r\u00b6\16") - buf.write("\u00b6\u103b\3\u00b6\3\u00b6\3\u00b6\3\u00b6\3\u00b6\5") - buf.write("\u00b6\u1043\n\u00b6\3\u00b7\3\u00b7\3\u00b7\3\u00b8\3") - buf.write("\u00b8\3\u00b8\5\u00b8\u104b\n\u00b8\3\u00b8\3\u00b8\3") - buf.write("\u00b8\3\u00b8\6\u00b8\u1051\n\u00b8\r\u00b8\16\u00b8") - buf.write("\u1052\3\u00b8\3\u00b8\3\u00b8\5\u00b8\u1058\n\u00b8\3") - buf.write("\u00b9\3\u00b9\3\u00b9\3\u00b9\5\u00b9\u105e\n\u00b9\3") - buf.write("\u00b9\5\u00b9\u1061\n\u00b9\3\u00b9\3\u00b9\3\u00b9\3") - buf.write("\u00b9\3\u00b9\3\u00b9\5\u00b9\u1069\n\u00b9\3\u00ba\3") - buf.write("\u00ba\3\u00ba\3\u00ba\3\u00ba\5\u00ba\u1070\n\u00ba\3") - buf.write("\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb") - buf.write("\5\u00bb\u1079\n\u00bb\3\u00bb\5\u00bb\u107c\n\u00bb\3") - buf.write("\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bd") - buf.write("\3\u00bd\3\u00bd\3\u00bd\3\u00bd\3\u00bd\3\u00bd\7\u00bd") - buf.write("\u108b\n\u00bd\f\u00bd\16\u00bd\u108e\13\u00bd\3\u00bd") - buf.write("\3\u00bd\3\u00be\3\u00be\3\u00be\5\u00be\u1095\n\u00be") - buf.write("\3\u00be\3\u00be\3\u00be\3\u00be\3\u00be\3\u00be\5\u00be") - buf.write("\u109d\n\u00be\3\u00bf\3\u00bf\5\u00bf\u10a1\n\u00bf\3") - buf.write("\u00bf\3\u00bf\3\u00c0\3\u00c0\3\u00c0\5\u00c0\u10a8\n") - buf.write("\u00c0\3\u00c0\3\u00c0\6\u00c0\u10ac\n\u00c0\r\u00c0\16") - buf.write("\u00c0\u10ad\3\u00c1\3\u00c1\3\u00c1\3\u00c1\6\u00c1\u10b4") - buf.write("\n\u00c1\r\u00c1\16\u00c1\u10b5\3\u00c2\3\u00c2\3\u00c2") - buf.write("\3\u00c2\3\u00c2\7\u00c2\u10bd\n\u00c2\f\u00c2\16\u00c2") - buf.write("\u10c0\13\u00c2\3\u00c2\3\u00c2\3\u00c2\5\u00c2\u10c5") - buf.write("\n\u00c2\3\u00c2\3\u00c2\3\u00c2\7\u00c2\u10ca\n\u00c2") - buf.write("\f\u00c2\16\u00c2\u10cd\13\u00c2\3\u00c2\3\u00c2\3\u00c2") - buf.write("\3\u00c2\5\u00c2\u10d3\n\u00c2\3\u00c2\7\u00c2\u10d6\n") - buf.write("\u00c2\f\u00c2\16\u00c2\u10d9\13\u00c2\5\u00c2\u10db\n") - buf.write("\u00c2\5\u00c2\u10dd\n\u00c2\3\u00c2\3\u00c2\6\u00c2\u10e1") - buf.write("\n\u00c2\r\u00c2\16\u00c2\u10e2\5\u00c2\u10e5\n\u00c2") - buf.write("\3\u00c2\3\u00c2\7\u00c2\u10e9\n\u00c2\f\u00c2\16\u00c2") - buf.write("\u10ec\13\u00c2\5\u00c2\u10ee\n\u00c2\3\u00c3\3\u00c3") - buf.write("\3\u00c3\3\u00c3\3\u00c3\7\u00c3\u10f5\n\u00c3\f\u00c3") - buf.write("\16\u00c3\u10f8\13\u00c3\3\u00c3\3\u00c3\3\u00c3\5\u00c3") - buf.write("\u10fd\n\u00c3\3\u00c3\3\u00c3\3\u00c3\7\u00c3\u1102\n") - buf.write("\u00c3\f\u00c3\16\u00c3\u1105\13\u00c3\3\u00c3\3\u00c3") - buf.write("\3\u00c3\3\u00c3\5\u00c3\u110b\n\u00c3\3\u00c3\7\u00c3") - buf.write("\u110e\n\u00c3\f\u00c3\16\u00c3\u1111\13\u00c3\5\u00c3") - buf.write("\u1113\n\u00c3\5\u00c3\u1115\n\u00c3\3\u00c3\3\u00c3\6") - buf.write("\u00c3\u1119\n\u00c3\r\u00c3\16\u00c3\u111a\5\u00c3\u111d") - buf.write("\n\u00c3\3\u00c3\3\u00c3\7\u00c3\u1121\n\u00c3\f\u00c3") - buf.write("\16\u00c3\u1124\13\u00c3\5\u00c3\u1126\n\u00c3\3\u00c4") - buf.write("\3\u00c4\3\u00c4\5\u00c4\u112b\n\u00c4\3\u00c4\3\u00c4") - buf.write("\3\u00c4\7\u00c4\u1130\n\u00c4\f\u00c4\16\u00c4\u1133") - buf.write("\13\u00c4\3\u00c5\3\u00c5\3\u00c5\3\u00c5\7\u00c5\u1139") - buf.write("\n\u00c5\f\u00c5\16\u00c5\u113c\13\u00c5\3\u00c5\3\u00c5") - buf.write("\5\u00c5\u1140\n\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5") - buf.write("\3\u00c5\7\u00c5\u1147\n\u00c5\f\u00c5\16\u00c5\u114a") - buf.write("\13\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\5\u00c5\u1150") - buf.write("\n\u00c5\3\u00c5\7\u00c5\u1153\n\u00c5\f\u00c5\16\u00c5") - buf.write("\u1156\13\u00c5\5\u00c5\u1158\n\u00c5\5\u00c5\u115a\n") - buf.write("\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\7\u00c5\u1160\n") - buf.write("\u00c5\f\u00c5\16\u00c5\u1163\13\u00c5\5\u00c5\u1165\n") - buf.write("\u00c5\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6") - buf.write("\3\u00c6\3\u00c6\7\u00c6\u116f\n\u00c6\f\u00c6\16\u00c6") - buf.write("\u1172\13\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u1177") - buf.write("\n\u00c6\3\u00c7\3\u00c7\3\u00c7\3\u00c7\3\u00c7\7\u00c7") - buf.write("\u117e\n\u00c7\f\u00c7\16\u00c7\u1181\13\u00c7\3\u00c8") - buf.write("\3\u00c8\3\u00c8\3\u00c8\7\u00c8\u1187\n\u00c8\f\u00c8") - buf.write("\16\u00c8\u118a\13\u00c8\3\u00c8\3\u00c8\5\u00c8\u118e") - buf.write("\n\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\7\u00c8") - buf.write("\u1195\n\u00c8\f\u00c8\16\u00c8\u1198\13\u00c8\3\u00c8") - buf.write("\3\u00c8\3\u00c8\5\u00c8\u119d\n\u00c8\3\u00c8\3\u00c8") - buf.write("\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\7\u00c8\u11a6") - buf.write("\n\u00c8\f\u00c8\16\u00c8\u11a9\13\u00c8\5\u00c8\u11ab") - buf.write("\n\u00c8\3\u00c9\3\u00c9\3\u00c9\3\u00c9\3\u00c9\3\u00c9") - buf.write("\3\u00c9\3\u00c9\7\u00c9\u11b5\n\u00c9\f\u00c9\16\u00c9") - buf.write("\u11b8\13\u00c9\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca") - buf.write("\u11be\n\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u11c3\n") - buf.write("\u00ca\3\u00cb\3\u00cb\3\u00cb\3\u00cc\3\u00cc\3\u00cc") - buf.write("\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc") - buf.write("\5\u00cc\u11d2\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc") - buf.write("\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u11dd") - buf.write("\n\u00cc\3\u00cc\5\u00cc\u11e0\n\u00cc\3\u00cd\3\u00cd") - buf.write("\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\5\u00cd") - buf.write("\u11ea\n\u00cd\3\u00ce\3\u00ce\3\u00ce\3\u00ce\3\u00ce") - buf.write("\3\u00ce\3\u00ce\3\u00ce\5\u00ce\u11f4\n\u00ce\3\u00cf") - buf.write("\3\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00cf\3\u00cf") - buf.write("\5\u00cf\u11fe\n\u00cf\3\u00d0\3\u00d0\3\u00d0\3\u00d1") - buf.write("\3\u00d1\3\u00d1\3\u00d1\3\u00d1\5\u00d1\u1208\n\u00d1") - buf.write("\3\u00d2\3\u00d2\5\u00d2\u120c\n\u00d2\3\u00d2\3\u00d2") - buf.write("\5\u00d2\u1210\n\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2") - buf.write("\3\u00d2\3\u00d2\3\u00d2\5\u00d2\u1219\n\u00d2\3\u00d2") - buf.write("\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2") - buf.write("\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2") - buf.write("\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d2") - buf.write("\3\u00d2\3\u00d2\3\u00d2\5\u00d2\u1234\n\u00d2\3\u00d3") - buf.write("\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3") - buf.write("\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\5\u00d3\u1243") - buf.write("\n\u00d3\3\u00d4\3\u00d4\3\u00d4\3\u00d4\3\u00d5\3\u00d5") - buf.write("\5\u00d5\u124b\n\u00d5\3\u00d5\3\u00d5\3\u00d5\3\u00d6") - buf.write("\3\u00d6\3\u00d6\3\u00d6\7\u00d6\u1254\n\u00d6\f\u00d6") - buf.write("\16\u00d6\u1257\13\u00d6\3\u00d7\3\u00d7\3\u00d7\3\u00d7") - buf.write("\5\u00d7\u125d\n\u00d7\3\u00d8\3\u00d8\5\u00d8\u1261\n") - buf.write("\u00d8\3\u00d8\3\u00d8\3\u00d8\3\u00d9\3\u00d9\5\u00d9") - buf.write("\u1268\n\u00d9\3\u00d9\3\u00d9\3\u00d9\5\u00d9\u126d\n") - buf.write("\u00d9\3\u00d9\5\u00d9\u1270\n\u00d9\3\u00d9\5\u00d9\u1273") - buf.write("\n\u00d9\3\u00da\3\u00da\3\u00da\3\u00da\3\u00da\3\u00da") - buf.write("\3\u00da\5\u00da\u127c\n\u00da\3\u00db\3\u00db\5\u00db") - buf.write("\u1280\n\u00db\3\u00db\3\u00db\3\u00db\3\u00db\3\u00db") - buf.write("\3\u00db\3\u00db\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc") - buf.write("\3\u00dc\3\u00dd\3\u00dd\3\u00dd\3\u00dd\3\u00de\3\u00de") - buf.write("\3\u00de\3\u00de\3\u00de\3\u00de\3\u00de\3\u00de\3\u00de") - buf.write("\7\u00de\u129c\n\u00de\f\u00de\16\u00de\u129f\13\u00de") - buf.write("\3\u00de\3\u00de\3\u00de\3\u00de\5\u00de\u12a5\n\u00de") - buf.write("\3\u00de\3\u00de\5\u00de\u12a9\n\u00de\3\u00de\3\u00de") - buf.write("\3\u00de\3\u00de\3\u00de\5\u00de\u12b0\n\u00de\3\u00de") - buf.write("\5\u00de\u12b3\n\u00de\3\u00de\3\u00de\3\u00de\5\u00de") - buf.write("\u12b8\n\u00de\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df") - buf.write("\3\u00df\3\u00df\3\u00df\5\u00df\u12c2\n\u00df\3\u00df") - buf.write("\3\u00df\5\u00df\u12c6\n\u00df\3\u00df\3\u00df\3\u00df") - buf.write("\3\u00df\5\u00df\u12cc\n\u00df\3\u00df\5\u00df\u12cf\n") - buf.write("\u00df\3\u00df\3\u00df\3\u00df\5\u00df\u12d4\n\u00df\3") - buf.write("\u00df\3\u00df\5\u00df\u12d8\n\u00df\3\u00df\3\u00df\3") - buf.write("\u00df\3\u00df\3\u00df\5\u00df\u12df\n\u00df\3\u00df\5") - buf.write("\u00df\u12e2\n\u00df\3\u00df\3\u00df\3\u00df\3\u00df\5") - buf.write("\u00df\u12e8\n\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3") - buf.write("\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df") - buf.write("\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df") - buf.write("\3\u00df\3\u00df\3\u00df\3\u00df\5\u00df\u1300\n\u00df") - buf.write("\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df") - buf.write("\3\u00df\3\u00df\3\u00df\3\u00df\5\u00df\u130d\n\u00df") - buf.write("\3\u00df\5\u00df\u1310\n\u00df\3\u00df\3\u00df\3\u00df") - buf.write("\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\5\u00df\u131a") - buf.write("\n\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df") - buf.write("\5\u00df\u1322\n\u00df\3\u00df\3\u00df\5\u00df\u1326\n") - buf.write("\u00df\3\u00df\3\u00df\3\u00df\3\u00df\3\u00df\5\u00df") - buf.write("\u132d\n\u00df\3\u00df\5\u00df\u1330\n\u00df\3\u00df\3") - buf.write("\u00df\3\u00df\3\u00df\3\u00df\7\u00df\u1337\n\u00df\f") - buf.write("\u00df\16\u00df\u133a\13\u00df\3\u00df\3\u00df\3\u00df") - buf.write("\5\u00df\u133f\n\u00df\3\u00df\3\u00df\3\u00df\3\u00df") - buf.write("\5\u00df\u1345\n\u00df\3\u00df\3\u00df\3\u00df\3\u00df") - buf.write("\3\u00df\3\u00df\3\u00df\3\u00df\5\u00df\u134f\n\u00df") - buf.write("\5\u00df\u1351\n\u00df\3\u00e0\3\u00e0\3\u00e0\3\u00e0") - buf.write("\5\u00e0\u1357\n\u00e0\3\u00e0\5\u00e0\u135a\n\u00e0\3") - buf.write("\u00e0\5\u00e0\u135d\n\u00e0\3\u00e1\3\u00e1\3\u00e1\3") - buf.write("\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1") - buf.write("\5\u00e1\u1369\n\u00e1\3\u00e1\5\u00e1\u136c\n\u00e1\3") - buf.write("\u00e2\3\u00e2\3\u00e2\3\u00e2\5\u00e2\u1372\n\u00e2\3") - buf.write("\u00e3\5\u00e3\u1375\n\u00e3\3\u00e3\3\u00e3\3\u00e3\3") - buf.write("\u00e3\3\u00e3\3\u00e3\5\u00e3\u137d\n\u00e3\3\u00e3\3") - buf.write("\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\5\u00e3\u1385\n") - buf.write("\u00e3\3\u00e4\3\u00e4\3\u00e4\3\u00e4\5\u00e4\u138b\n") - buf.write("\u00e4\3\u00e4\3\u00e4\5\u00e4\u138f\n\u00e4\3\u00e5\3") - buf.write("\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5") - buf.write("\3\u00e5\3\u00e5\3\u00e5\3\u00e5\5\u00e5\u139d\n\u00e5") - buf.write("\3\u00e6\3\u00e6\3\u00e6\3\u00e7\3\u00e7\3\u00e7\3\u00e7") - buf.write("\3\u00e7\7\u00e7\u13a7\n\u00e7\f\u00e7\16\u00e7\u13aa") - buf.write("\13\u00e7\3\u00e7\3\u00e7\3\u00e7\3\u00e7\5\u00e7\u13b0") - buf.write("\n\u00e7\3\u00e7\5\u00e7\u13b3\n\u00e7\3\u00e7\3\u00e7") - buf.write("\3\u00e7\3\u00e8\3\u00e8\5\u00e8\u13ba\n\u00e8\3\u00e8") - buf.write("\3\u00e8\3\u00e8\7\u00e8\u13bf\n\u00e8\f\u00e8\16\u00e8") - buf.write("\u13c2\13\u00e8\3\u00e9\3\u00e9\5\u00e9\u13c6\n\u00e9") - buf.write("\3\u00e9\6\u00e9\u13c9\n\u00e9\r\u00e9\16\u00e9\u13ca") - buf.write("\3\u00ea\3\u00ea\3\u00ea\3\u00ea\3\u00ea\3\u00ea\3\u00ea") - buf.write("\7\u00ea\u13d4\n\u00ea\f\u00ea\16\u00ea\u13d7\13\u00ea") - buf.write("\3\u00eb\3\u00eb\3\u00eb\3\u00eb\3\u00ec\3\u00ec\3\u00ed") - buf.write("\3\u00ed\5\u00ed\u13e1\n\u00ed\3\u00ed\3\u00ed\3\u00ed") - buf.write("\3\u00ed\5\u00ed\u13e7\n\u00ed\3\u00ee\3\u00ee\3\u00ee") - buf.write("\5\u00ee\u13ec\n\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee") - buf.write("\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee") - buf.write("\5\u00ee\u13f9\n\u00ee\5\u00ee\u13fb\n\u00ee\3\u00ee\3") - buf.write("\u00ee\3\u00ee\5\u00ee\u1400\n\u00ee\3\u00ee\3\u00ee\3") - buf.write("\u00ee\5\u00ee\u1405\n\u00ee\5\u00ee\u1407\n\u00ee\3\u00ef") - buf.write("\3\u00ef\3\u00ef\3\u00ef\3\u00ef\5\u00ef\u140e\n\u00ef") - buf.write("\3\u00f0\3\u00f0\3\u00f0\3\u00f0\3\u00f0\5\u00f0\u1415") - buf.write("\n\u00f0\3\u00f0\5\u00f0\u1418\n\u00f0\3\u00f0\5\u00f0") - buf.write("\u141b\n\u00f0\3\u00f0\3\u00f0\3\u00f0\3\u00f0\5\u00f0") - buf.write("\u1421\n\u00f0\3\u00f0\3\u00f0\5\u00f0\u1425\n\u00f0\3") - buf.write("\u00f1\3\u00f1\3\u00f1\3\u00f1\5\u00f1\u142b\n\u00f1\3") - buf.write("\u00f2\3\u00f2\3\u00f2\3\u00f2\5\u00f2\u1431\n\u00f2\3") - buf.write("\u00f2\3\u00f2\3\u00f3\3\u00f3\3\u00f3\3\u00f4\3\u00f4") - buf.write("\3\u00f4\3\u00f5\3\u00f5\3\u00f5\3\u00f5\3\u00f5\5\u00f5") - buf.write("\u1440\n\u00f5\3\u00f5\3\u00f5\3\u00f5\5\u00f5\u1445\n") - buf.write("\u00f5\3\u00f6\3\u00f6\3\u00f6\3\u00f6\5\u00f6\u144b\n") - buf.write("\u00f6\3\u00f7\3\u00f7\3\u00f8\3\u00f8\3\u00f8\5\u00f8") - buf.write("\u1452\n\u00f8\5\u00f8\u1454\n\u00f8\3\u00f9\3\u00f9\3") - buf.write("\u00f9\3\u00f9\3\u00f9\5\u00f9\u145b\n\u00f9\3\u00f9\5") - buf.write("\u00f9\u145e\n\u00f9\3\u00fa\3\u00fa\3\u00fb\3\u00fb\3") - buf.write("\u00fc\3\u00fc\3\u00fc\3\u00fc\5\u00fc\u1468\n\u00fc\3") - buf.write("\u00fd\3\u00fd\5\u00fd\u146c\n\u00fd\3\u00fe\3\u00fe\3") - buf.write("\u00ff\3\u00ff\3\u00ff\3\u00ff\3\u00ff\3\u00ff\3\u00ff") - buf.write("\3\u00ff\3\u00ff\3\u00ff\3\u00ff\3\u00ff\3\u00ff\3\u00ff") - buf.write("\6\u00ff\u147e\n\u00ff\r\u00ff\16\u00ff\u147f\3\u0100") - buf.write("\3\u0100\3\u0100\3\u0100\3\u0100\5\u0100\u1487\n\u0100") - buf.write("\5\u0100\u1489\n\u0100\3\u0101\3\u0101\3\u0101\6\u0101") - buf.write("\u148e\n\u0101\r\u0101\16\u0101\u148f\5\u0101\u1492\n") - buf.write("\u0101\3\u0102\3\u0102\5\u0102\u1496\n\u0102\3\u0103\3") - buf.write("\u0103\3\u0103\5\u0103\u149b\n\u0103\3\u0104\3\u0104\3") - buf.write("\u0104\3\u0104\3\u0104\3\u0104\3\u0104\3\u0104\3\u0104") - buf.write("\5\u0104\u14a6\n\u0104\3\u0105\3\u0105\3\u0105\5\u0105") - buf.write("\u14ab\n\u0105\3\u0106\3\u0106\3\u0107\3\u0107\5\u0107") - buf.write("\u14b1\n\u0107\3\u0108\5\u0108\u14b4\n\u0108\3\u0108\3") - buf.write("\u0108\5\u0108\u14b8\n\u0108\3\u0108\6\u0108\u14bb\n\u0108") - buf.write("\r\u0108\16\u0108\u14bc\3\u0108\5\u0108\u14c0\n\u0108") - buf.write("\3\u0108\3\u0108\5\u0108\u14c4\n\u0108\3\u0108\3\u0108") - buf.write("\5\u0108\u14c8\n\u0108\5\u0108\u14ca\n\u0108\3\u0109\3") - buf.write("\u0109\3\u010a\5\u010a\u14cf\n\u010a\3\u010a\3\u010a\3") - buf.write("\u010b\5\u010b\u14d4\n\u010b\3\u010b\3\u010b\3\u010c\3") - buf.write("\u010c\3\u010c\3\u010c\3\u010c\3\u010c\3\u010c\3\u010c") - buf.write("\3\u010c\5\u010c\u14e1\n\u010c\3\u010c\5\u010c\u14e4\n") - buf.write("\u010c\3\u010d\3\u010d\5\u010d\u14e8\n\u010d\3\u010d\5") - buf.write("\u010d\u14eb\n\u010d\3\u010d\3\u010d\3\u010d\5\u010d\u14f0") - buf.write("\n\u010d\3\u010d\3\u010d\5\u010d\u14f4\n\u010d\3\u010d") - buf.write("\3\u010d\5\u010d\u14f8\n\u010d\3\u010d\5\u010d\u14fb\n") - buf.write("\u010d\3\u010d\5\u010d\u14fe\n\u010d\3\u010d\3\u010d\5") - buf.write("\u010d\u1502\n\u010d\3\u010d\5\u010d\u1505\n\u010d\3\u010d") - buf.write("\5\u010d\u1508\n\u010d\3\u010d\3\u010d\5\u010d\u150c\n") - buf.write("\u010d\3\u010d\5\u010d\u150f\n\u010d\3\u010d\5\u010d\u1512") - buf.write("\n\u010d\3\u010d\3\u010d\3\u010d\5\u010d\u1517\n\u010d") - buf.write("\3\u010d\3\u010d\3\u010d\3\u010d\3\u010d\7\u010d\u151e") - buf.write("\n\u010d\f\u010d\16\u010d\u1521\13\u010d\3\u010d\3\u010d") - buf.write("\5\u010d\u1525\n\u010d\3\u010d\3\u010d\3\u010d\5\u010d") - buf.write("\u152a\n\u010d\3\u010d\3\u010d\5\u010d\u152e\n\u010d\3") - buf.write("\u010d\5\u010d\u1531\n\u010d\3\u010e\3\u010e\5\u010e\u1535") - buf.write("\n\u010e\3\u010e\3\u010e\5\u010e\u1539\n\u010e\3\u010e") - buf.write("\3\u010e\3\u010e\5\u010e\u153e\n\u010e\3\u010e\3\u010e") - buf.write("\3\u010e\5\u010e\u1543\n\u010e\3\u010e\3\u010e\5\u010e") - buf.write("\u1547\n\u010e\5\u010e\u1549\n\u010e\3\u010f\3\u010f\3") - buf.write("\u010f\3\u010f\3\u0110\3\u0110\3\u0110\3\u0110\3\u0110") - buf.write("\3\u0110\3\u0111\3\u0111\3\u0111\3\u0111\5\u0111\u1559") - buf.write("\n\u0111\3\u0111\3\u0111\3\u0112\3\u0112\3\u0112\7\u0112") - buf.write("\u1560\n\u0112\f\u0112\16\u0112\u1563\13\u0112\3\u0113") - buf.write("\3\u0113\3\u0113\7\u0113\u1568\n\u0113\f\u0113\16\u0113") - buf.write("\u156b\13\u0113\3\u0114\3\u0114\3\u0114\3\u0114\7\u0114") - buf.write("\u1571\n\u0114\f\u0114\16\u0114\u1574\13\u0114\3\u0114") - buf.write("\3\u0114\3\u0115\3\u0115\3\u0115\7\u0115\u157b\n\u0115") - buf.write("\f\u0115\16\u0115\u157e\13\u0115\3\u0116\3\u0116\3\u0116") - buf.write("\7\u0116\u1583\n\u0116\f\u0116\16\u0116\u1586\13\u0116") - buf.write("\3\u0117\3\u0117\3\u0117\7\u0117\u158b\n\u0117\f\u0117") - buf.write("\16\u0117\u158e\13\u0117\3\u0118\3\u0118\3\u0118\7\u0118") - buf.write("\u1593\n\u0118\f\u0118\16\u0118\u1596\13\u0118\3\u0119") - buf.write("\3\u0119\3\u0119\7\u0119\u159b\n\u0119\f\u0119\16\u0119") - buf.write("\u159e\13\u0119\3\u011a\3\u011a\3\u011a\3\u011a\3\u011a") - buf.write("\3\u011a\5\u011a\u15a6\n\u011a\5\u011a\u15a8\n\u011a\3") - buf.write("\u011b\3\u011b\3\u011b\5\u011b\u15ad\n\u011b\3\u011b\5") - buf.write("\u011b\u15b0\n\u011b\3\u011b\3\u011b\3\u011b\5\u011b\u15b5") - buf.write("\n\u011b\3\u011b\5\u011b\u15b8\n\u011b\3\u011c\3\u011c") - buf.write("\5\u011c\u15bc\n\u011c\3\u011d\3\u011d\3\u011d\3\u011e") - buf.write("\3\u011e\3\u011e\3\u011e\3\u011f\3\u011f\3\u011f\3\u011f") - buf.write("\3\u011f\5\u011f\u15ca\n\u011f\3\u011f\3\u011f\3\u011f") - buf.write("\3\u011f\3\u011f\5\u011f\u15d1\n\u011f\3\u011f\3\u011f") - buf.write("\3\u011f\5\u011f\u15d6\n\u011f\3\u0120\3\u0120\3\u0120") - buf.write("\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120") - buf.write("\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120") - buf.write("\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120") - buf.write("\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\6\u0120") - buf.write("\u15f6\n\u0120\r\u0120\16\u0120\u15f7\3\u0120\3\u0120") - buf.write("\5\u0120\u15fc\n\u0120\3\u0120\3\u0120\3\u0120\3\u0120") - buf.write("\6\u0120\u1602\n\u0120\r\u0120\16\u0120\u1603\3\u0120") - buf.write("\3\u0120\5\u0120\u1608\n\u0120\3\u0120\3\u0120\3\u0120") - buf.write("\3\u0120\3\u0120\3\u0120\3\u0120\5\u0120\u1611\n\u0120") - buf.write("\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\5\u0120") - buf.write("\u1619\n\u0120\3\u0120\3\u0120\3\u0120\5\u0120\u161e\n") - buf.write("\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120") - buf.write("\5\u0120\u1626\n\u0120\3\u0120\3\u0120\3\u0120\5\u0120") - buf.write("\u162b\n\u0120\3\u0120\3\u0120\3\u0120\5\u0120\u1630\n") - buf.write("\u0120\5\u0120\u1632\n\u0120\3\u0120\3\u0120\3\u0120\3") - buf.write("\u0120\3\u0120\3\u0120\3\u0120\5\u0120\u163b\n\u0120\3") - buf.write("\u0120\3\u0120\3\u0120\5\u0120\u1640\n\u0120\3\u0120\3") - buf.write("\u0120\3\u0120\3\u0120\3\u0120\3\u0120\5\u0120\u1648\n") - buf.write("\u0120\3\u0120\3\u0120\3\u0120\5\u0120\u164d\n\u0120\3") - buf.write("\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\5\u0120") - buf.write("\u1655\n\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120") - buf.write("\3\u0120\5\u0120\u165d\n\u0120\3\u0120\5\u0120\u1660\n") - buf.write("\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120") - buf.write("\3\u0120\3\u0120\5\u0120\u166a\n\u0120\3\u0120\3\u0120") - buf.write("\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120\3\u0120") - buf.write("\5\u0120\u1675\n\u0120\3\u0121\3\u0121\3\u0121\3\u0121") - buf.write("\3\u0121\3\u0122\3\u0122\3\u0122\3\u0122\7\u0122\u1680") - buf.write("\n\u0122\f\u0122\16\u0122\u1683\13\u0122\3\u0122\3\u0122") - buf.write("\3\u0122\3\u0122\3\u0122\5\u0122\u168a\n\u0122\3\u0123") - buf.write("\3\u0123\5\u0123\u168e\n\u0123\3\u0124\3\u0124\3\u0124") - buf.write("\5\u0124\u1693\n\u0124\3\u0124\3\u0124\3\u0124\3\u0124") - buf.write("\3\u0124\3\u0124\3\u0124\5\u0124\u169c\n\u0124\3\u0124") - buf.write("\5\u0124\u169f\n\u0124\3\u0124\3\u0124\3\u0124\3\u0124") - buf.write("\3\u0124\3\u0124\3\u0124\3\u0124\3\u0124\3\u0124\3\u0124") - buf.write("\3\u0124\3\u0124\3\u0124\5\u0124\u16af\n\u0124\3\u0124") - buf.write("\3\u0124\3\u0124\3\u0124\3\u0124\3\u0124\5\u0124\u16b7") - buf.write("\n\u0124\3\u0124\3\u0124\3\u0124\3\u0124\3\u0124\3\u0124") - buf.write("\7\u0124\u16bf\n\u0124\f\u0124\16\u0124\u16c2\13\u0124") - buf.write("\5\u0124\u16c4\n\u0124\3\u0124\3\u0124\5\u0124\u16c8\n") - buf.write("\u0124\3\u0124\3\u0124\5\u0124\u16cc\n\u0124\3\u0125\3") - buf.write("\u0125\3\u0125\3\u0125\3\u0125\3\u0125\3\u0125\3\u0125") - buf.write("\3\u0125\3\u0125\3\u0125\3\u0125\3\u0125\3\u0125\3\u0125") - buf.write("\3\u0125\3\u0125\3\u0125\3\u0125\3\u0125\3\u0125\3\u0125") - buf.write("\3\u0125\5\u0125\u16e5\n\u0125\3\u0126\3\u0126\3\u0126") - buf.write("\3\u0126\3\u0126\3\u0127\3\u0127\3\u0127\3\u0127\5\u0127") - buf.write("\u16f0\n\u0127\3\u0127\3\u0127\3\u0127\3\u0127\3\u0127") - buf.write("\5\u0127\u16f7\n\u0127\7\u0127\u16f9\n\u0127\f\u0127\16") - buf.write("\u0127\u16fc\13\u0127\3\u0128\3\u0128\3\u0128\3\u0128") - buf.write("\5\u0128\u1702\n\u0128\3\u0129\3\u0129\3\u0129\3\u0129") - buf.write("\3\u0129\3\u0129\5\u0129\u170a\n\u0129\3\u0129\3\u0129") - buf.write("\3\u0129\5\u0129\u170f\n\u0129\3\u0129\3\u0129\3\u0129") - buf.write("\3\u0129\7\u0129\u1715\n\u0129\f\u0129\16\u0129\u1718") - buf.write("\13\u0129\3\u012a\3\u012a\3\u012a\5\u012a\u171d\n\u012a") - buf.write("\3\u012a\3\u012a\3\u012a\3\u012a\3\u012a\3\u012a\3\u012a") - buf.write("\3\u012a\5\u012a\u1727\n\u012a\3\u012a\3\u012a\3\u012a") - buf.write("\3\u012a\3\u012a\3\u012a\3\u012a\3\u012a\3\u012a\3\u012a") - buf.write("\3\u012a\5\u012a\u1734\n\u012a\3\u012a\3\u012a\3\u012a") - buf.write("\3\u012a\5\u012a\u173a\n\u012a\3\u012a\3\u012a\3\u012a") - buf.write("\3\u012a\5\u012a\u1740\n\u012a\3\u012a\3\u012a\3\u012a") - buf.write("\3\u012a\3\u012a\3\u012a\3\u012a\3\u012a\3\u012a\3\u012a") - buf.write("\3\u012a\3\u012a\3\u012a\3\u012a\5\u012a\u1750\n\u012a") - buf.write("\3\u012a\3\u012a\3\u012a\3\u012a\5\u012a\u1756\n\u012a") - buf.write("\7\u012a\u1758\n\u012a\f\u012a\16\u012a\u175b\13\u012a") - buf.write("\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b") - buf.write("\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b") - buf.write("\7\u012b\u176b\n\u012b\f\u012b\16\u012b\u176e\13\u012b") - buf.write("\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b") - buf.write("\6\u012b\u1777\n\u012b\r\u012b\16\u012b\u1778\3\u012b") - buf.write("\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b") - buf.write("\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b") - buf.write("\5\u012b\u178a\n\u012b\3\u012b\3\u012b\3\u012b\3\u012b") - buf.write("\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b\3\u012b") - buf.write("\7\u012b\u1797\n\u012b\f\u012b\16\u012b\u179a\13\u012b") - buf.write("\3\u012c\3\u012c\3\u012d\3\u012d\3\u012d\3\u012d\3\u012d") - buf.write("\3\u012d\3\u012d\3\u012d\3\u012d\3\u012d\3\u012d\3\u012d") - buf.write("\3\u012d\3\u012d\5\u012d\u17ac\n\u012d\3\u012e\3\u012e") - buf.write("\3\u012e\3\u012e\3\u012e\3\u012e\3\u012e\5\u012e\u17b5") - buf.write("\n\u012e\3\u012f\3\u012f\3\u012f\3\u012f\3\u012f\3\u012f") - buf.write("\3\u012f\5\u012f\u17be\n\u012f\3\u0130\3\u0130\3\u0131") - buf.write("\3\u0131\3\u0132\3\u0132\3\u0133\3\u0133\3\u0134\3\u0134") - buf.write("\3\u0135\3\u0135\3\u0136\3\u0136\3\u0137\3\u0137\3\u0137") - buf.write("\2\5\u0250\u0252\u0254\u0138\2\4\6\b\n\f\16\20\22\24\26") - buf.write("\30\32\34\36 \"$&(*,.\60\62\64\668:<>@BDFHJLNPRTVXZ\\") - buf.write("^`bdfhjlnprtvxz|~\u0080\u0082\u0084\u0086\u0088\u008a") - buf.write("\u008c\u008e\u0090\u0092\u0094\u0096\u0098\u009a\u009c") - buf.write("\u009e\u00a0\u00a2\u00a4\u00a6\u00a8\u00aa\u00ac\u00ae") - buf.write("\u00b0\u00b2\u00b4\u00b6\u00b8\u00ba\u00bc\u00be\u00c0") - buf.write("\u00c2\u00c4\u00c6\u00c8\u00ca\u00cc\u00ce\u00d0\u00d2") - buf.write("\u00d4\u00d6\u00d8\u00da\u00dc\u00de\u00e0\u00e2\u00e4") - buf.write("\u00e6\u00e8\u00ea\u00ec\u00ee\u00f0\u00f2\u00f4\u00f6") - buf.write("\u00f8\u00fa\u00fc\u00fe\u0100\u0102\u0104\u0106\u0108") - buf.write("\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a") - buf.write("\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c") - buf.write("\u012e\u0130\u0132\u0134\u0136\u0138\u013a\u013c\u013e") - buf.write("\u0140\u0142\u0144\u0146\u0148\u014a\u014c\u014e\u0150") - buf.write("\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162") - buf.write("\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174") - buf.write("\u0176\u0178\u017a\u017c\u017e\u0180\u0182\u0184\u0186") - buf.write("\u0188\u018a\u018c\u018e\u0190\u0192\u0194\u0196\u0198") - buf.write("\u019a\u019c\u019e\u01a0\u01a2\u01a4\u01a6\u01a8\u01aa") - buf.write("\u01ac\u01ae\u01b0\u01b2\u01b4\u01b6\u01b8\u01ba\u01bc") - buf.write("\u01be\u01c0\u01c2\u01c4\u01c6\u01c8\u01ca\u01cc\u01ce") - buf.write("\u01d0\u01d2\u01d4\u01d6\u01d8\u01da\u01dc\u01de\u01e0") - buf.write("\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec\u01ee\u01f0\u01f2") - buf.write("\u01f4\u01f6\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204") - buf.write("\u0206\u0208\u020a\u020c\u020e\u0210\u0212\u0214\u0216") - buf.write("\u0218\u021a\u021c\u021e\u0220\u0222\u0224\u0226\u0228") - buf.write("\u022a\u022c\u022e\u0230\u0232\u0234\u0236\u0238\u023a") - buf.write("\u023c\u023e\u0240\u0242\u0244\u0246\u0248\u024a\u024c") - buf.write("\u024e\u0250\u0252\u0254\u0256\u0258\u025a\u025c\u025e") - buf.write("\u0260\u0262\u0264\u0266\u0268\u026a\u026c\2u\4\2&&\u0086") - buf.write("\u0086\4\2\u01a7\u01a7\u01ac\u01ac\5\2@@\u008c\u008c\u00a0") - buf.write("\u00a0\5\2))\u0128\u0128\u0166\u0166\6\2))\u0147\u0147") - buf.write("\u01a6\u01a6\u01ea\u01ea\4\2\u019e\u019e\u03ca\u03ca\4") - buf.write("\2GG\177\177\4\2\21\21\u00fe\u00fe\5\2++MM\u00a3\u00a3") - buf.write("\4\2\u0154\u0154\u01be\u01be\5\2\u0197\u0197\u020e\u020e") - buf.write("\u0214\u0214\4\2\u012e\u012e\u016a\u016a\4\2\u0110\u0110") - buf.write("\u0178\u0178\4\2\u010e\u010e\u015d\u015d\5\2HHLLpp\5\2") - buf.write("))\u0138\u0138\u0152\u0152\5\2))\u0134\u0134\u026e\u026e") - buf.write("\4\2\u0204\u0204\u0222\u0222\4\2IISS\5\2\u0156\u0156\u01b5") - buf.write("\u01b5\u01ec\u01ec\4\2@@\u008c\u008c\3\2\u03c0\u03c1\5") - buf.write("\2\u0151\u0151\u0173\u0173\u01a4\u01a4\4\2))\u03c0\u03c1") - buf.write("\b\2))\u011e\u011e\u0120\u0120\u0138\u0138\u0152\u0152") - buf.write("\u01cb\u01cb\3\2\u03c1\u03c2\4\2\t\t\61\61\4\2\17\17\u009a") - buf.write("\u009a\4\2\u00ab\u00ab\u0225\u0225\4\2\26\26\u0081\u0081") - buf.write("\5\2**EE``\4\2``\u0122\u0122\4\2\u011a\u011a\u014e\u014e") - buf.write("\4\2\\\\\u01e2\u01e2\4\2**``\4\2\n\n//\4\2\u00a7\u00a7") - buf.write("\u021f\u021f\6\2\u0151\u0151\u0173\u0173\u01a3\u01a3\u01c1") - buf.write("\u01c1\4\2\u0151\u0151\u01a3\u01a3\4\2\20\20,,\5\2==G") - buf.write("G\u00a5\u00a5\4\2##KK\4\2XX\u0084\u0084\4\2\n\n/\60\3") - buf.write("\2\u01f9\u01fa\4\2\u0159\u0159\u01e8\u01e8\4\2\u00c1\u00c1") - buf.write("\u017b\u017b\7\2aa\u0180\u0181\u0183\u0183\u0187\u018f") - buf.write("\u01cd\u01cd\6\2\u017d\u017e\u0182\u0182\u0184\u0185\u01ce") - buf.write("\u01ce\5\2bb\u017c\u017c\u0186\u0186\4\2\u016c\u016c\u01fb") - buf.write("\u01fb\4\2\u01f5\u01f5\u01f7\u01f7\4\2\u0108\u0108\u01fc") - buf.write("\u01fc\4\2RR\u01dc\u01dc\4\2\61\61\u012c\u012c\5\2 8") - buf.write("8\u009e\u009e\5\2uu\u0097\u0097\u0157\u0157\4\2^^\u00a1") - buf.write("\u00a1\4\2\u0116\u0116\u01ed\u01ed\4\2\'\'\u0221\u0221") - buf.write("\4\2hh\u0178\u0178\4\2\u014a\u014a\u01c7\u01c7\6\2\u00b3") - buf.write("\u00b3\u00b5\u00b5\u00b8\u00b8\u0205\u0205\4\2\u0109\u0109") - buf.write("\u01cf\u01cf\4\2??HH\b\2uu\u0097\u0097\u009c\u009c\u0143") - buf.write("\u0143\u0157\u0157\u0221\u0221\4\2\u019d\u019d\u0201\u0201") - buf.write("\4\2\u0140\u0140\u0224\u0224\4\2uu\u0157\u0157\5\2IIT") - buf.write("T\u0164\u0164\4\2\u0201\u0201\u0220\u0220\4\2\u0123\u0123") - buf.write("\u01c6\u01c6\b\2\u00c1\u00c1\u013d\u013d\u013f\u013f\u0158") - buf.write("\u0158\u01cc\u01cc\u01ee\u01ee\4\2,-99\5\2\u014a\u014a") - buf.write("\u01b7\u01b7\u02c6\u02c6\4\2\u0170\u0170\u0210\u0210\4") - buf.write("\2\u03d2\u03d2\u03d4\u03d4\3\2\u03d5\u03d6\5\2\u0269\u0273") - buf.write("\u03ca\u03ca\u03d3\u03d3\4\2\u03c0\u03c2\u03cb\u03cb\4") - buf.write("\2::\u009d\u009d\4\2ii\u03ce\u03ce\4\2\u00bf\u00c0\u00c7") - buf.write("\u00ca\3\2\u00af\u00b4\3\2\u00b5\u00b7\3\2\u00b8\u00b9") - buf.write("\6\2\u00ba\u00ba\u00c3\u00c6\u00cc\u00cc\u010c\u010d\5") - buf.write("\2\u00bb\u00be\u00c1\u00c2\u010a\u010a\4\2\u0089\u0089") - buf.write("\u00cb\u00cb\3\2\u0278\u027e\4\2\u00c1\u00c1\u01a1\u01a1") - buf.write("\4\2\u00ba\u00bb\u00bd\u00bd\4\2\u00a2\u00a2\u01eb\u01eb") - buf.write("\4\2\u00eb\u00ec\u00f2\u00f2\4\2$$\u00e9\u00ec\3\2\u00f5") - buf.write("\u00f6\5\2\23\23VV\u009b\u009b\4\2\u00bf\u00bf\u00c1\u00c1") - buf.write("\5\2\20\20,,\u0332\u0332\5\2\u00d8\u00d8\u00de\u00df\u00e4") - buf.write("\u00e4\5\2\u00d9\u00db\u00e0\u00e3\u00e5\u00e7\4\2\u01aa") - buf.write("\u01aa\u01b8\u01b8\4\2gg\u03b5\u03b5\5\2::\u009d\u009d") - buf.write("\u0218\u0218\4\2{{\u0085\u0085\5\2\n\n\u0101\u0101\u01f1") - buf.write("\u01f1\6\2gg\u03ad\u03ad\u03af\u03af\u03b5\u03b6\3\2\u03aa") - buf.write("\u03b1\3\2\u0241\u0268\3\2\u0274\u0277\3\2\u0238\u0240") - buf.write("\3\2\u0230\u0237\5\2\u00ba\u00be\u00c8\u00c8\u00cb\u00cb") - buf.write("!\2\u00cc\u00cc\u00fc\u010e\u0110\u0116\u0118\u012f\u0131") - buf.write("\u013a\u013c\u0148\u014a\u0152\u0154\u0154\u0156\u0157") - buf.write("\u0159\u015b\u015d\u015d\u015f\u015f\u0161\u0167\u0169") - buf.write("\u016f\u0171\u019a\u019c\u01a2\u01a4\u01ad\u01af\u01b9") - buf.write("\u01bb\u01cb\u01cd\u01da\u01dc\u01ed\u01ef\u01f1\u01f3") - buf.write("\u0203\u0205\u020f\u0211\u0211\u0213\u0216\u0218\u0218") - buf.write("\u021a\u021b\u021e\u0221\u0223\u022a\u026e\u026e\13\2") - buf.write("&&XX\u0084\u0084\u00ba\u00bc\u00be\u00be\u00dc\u00dc\u00f4") - buf.write("\u00f4\u0230\u0237\u0278\u03a0\2\u1bd6\2\u026f\3\2\2\2") - buf.write("\4\u027f\3\2\2\2\6\u0293\3\2\2\2\b\u0295\3\2\2\2\n\u02ba") - buf.write("\3\2\2\2\f\u02c6\3\2\2\2\16\u02d1\3\2\2\2\20\u02e2\3\2") - buf.write("\2\2\22\u02e7\3\2\2\2\24\u02f3\3\2\2\2\26\u030e\3\2\2") - buf.write("\2\30\u0314\3\2\2\2\32\u0316\3\2\2\2\34\u0322\3\2\2\2") - buf.write("\36\u0340\3\2\2\2 \u0361\3\2\2\2\"\u0394\3\2\2\2$\u03ae") - buf.write("\3\2\2\2&\u03ca\3\2\2\2(\u042b\3\2\2\2*\u042d\3\2\2\2") - buf.write(",\u043f\3\2\2\2.\u047c\3\2\2\2\60\u048f\3\2\2\2\62\u04c7") - buf.write("\3\2\2\2\64\u04c9\3\2\2\2\66\u04f5\3\2\2\28\u04fb\3\2") - buf.write("\2\2:\u04fd\3\2\2\2<\u0512\3\2\2\2>\u0519\3\2\2\2@\u051b") - buf.write("\3\2\2\2B\u0529\3\2\2\2D\u052b\3\2\2\2F\u052f\3\2\2\2") - buf.write("H\u0549\3\2\2\2J\u0559\3\2\2\2L\u055b\3\2\2\2N\u056b\3") - buf.write("\2\2\2P\u056d\3\2\2\2R\u0595\3\2\2\2T\u05d9\3\2\2\2V\u05db") - buf.write("\3\2\2\2X\u05f5\3\2\2\2Z\u05fd\3\2\2\2\\\u061b\3\2\2\2") - buf.write("^\u06a9\3\2\2\2`\u06ab\3\2\2\2b\u06ae\3\2\2\2d\u06f8\3") - buf.write("\2\2\2f\u070f\3\2\2\2h\u077e\3\2\2\2j\u0783\3\2\2\2l\u0785") - buf.write("\3\2\2\2n\u078f\3\2\2\2p\u07c4\3\2\2\2r\u07d8\3\2\2\2") - buf.write("t\u07da\3\2\2\2v\u07fd\3\2\2\2x\u0806\3\2\2\2z\u080d\3") - buf.write("\2\2\2|\u0824\3\2\2\2~\u082d\3\2\2\2\u0080\u083c\3\2\2") - buf.write("\2\u0082\u0850\3\2\2\2\u0084\u0864\3\2\2\2\u0086\u09de") - buf.write("\3\2\2\2\u0088\u09e0\3\2\2\2\u008a\u09e7\3\2\2\2\u008c") - buf.write("\u09ee\3\2\2\2\u008e\u0a04\3\2\2\2\u0090\u0a0c\3\2\2\2") - buf.write("\u0092\u0a13\3\2\2\2\u0094\u0a1a\3\2\2\2\u0096\u0a21\3") - buf.write("\2\2\2\u0098\u0a2d\3\2\2\2\u009a\u0a37\3\2\2\2\u009c\u0a3e") - buf.write("\3\2\2\2\u009e\u0a4e\3\2\2\2\u00a0\u0a58\3\2\2\2\u00a2") - buf.write("\u0a5c\3\2\2\2\u00a4\u0a62\3\2\2\2\u00a6\u0a6e\3\2\2\2") - buf.write("\u00a8\u0a70\3\2\2\2\u00aa\u0a77\3\2\2\2\u00ac\u0a79\3") - buf.write("\2\2\2\u00ae\u0aab\3\2\2\2\u00b0\u0af5\3\2\2\2\u00b2\u0b30") - buf.write("\3\2\2\2\u00b4\u0b88\3\2\2\2\u00b6\u0b8c\3\2\2\2\u00b8") - buf.write("\u0b9d\3\2\2\2\u00ba\u0b9f\3\2\2\2\u00bc\u0ba7\3\2\2\2") - buf.write("\u00be\u0baf\3\2\2\2\u00c0\u0bb1\3\2\2\2\u00c2\u0bcf\3") - buf.write("\2\2\2\u00c4\u0c06\3\2\2\2\u00c6\u0c0f\3\2\2\2\u00c8\u0c23") - buf.write("\3\2\2\2\u00ca\u0c2f\3\2\2\2\u00cc\u0c33\3\2\2\2\u00ce") - buf.write("\u0c54\3\2\2\2\u00d0\u0c69\3\2\2\2\u00d2\u0c73\3\2\2\2") - buf.write("\u00d4\u0c77\3\2\2\2\u00d6\u0c90\3\2\2\2\u00d8\u0cba\3") - buf.write("\2\2\2\u00da\u0cbc\3\2\2\2\u00dc\u0ccb\3\2\2\2\u00de\u0cf9") - buf.write("\3\2\2\2\u00e0\u0d03\3\2\2\2\u00e2\u0d0d\3\2\2\2\u00e4") - buf.write("\u0d48\3\2\2\2\u00e6\u0d4a\3\2\2\2\u00e8\u0d5b\3\2\2\2") - buf.write("\u00ea\u0d61\3\2\2\2\u00ec\u0d71\3\2\2\2\u00ee\u0d75\3") - buf.write("\2\2\2\u00f0\u0d9b\3\2\2\2\u00f2\u0d9d\3\2\2\2\u00f4\u0da0") - buf.write("\3\2\2\2\u00f6\u0dc7\3\2\2\2\u00f8\u0dd5\3\2\2\2\u00fa") - buf.write("\u0ddd\3\2\2\2\u00fc\u0ddf\3\2\2\2\u00fe\u0df9\3\2\2\2") - buf.write("\u0100\u0dfd\3\2\2\2\u0102\u0e0a\3\2\2\2\u0104\u0e16\3") - buf.write("\2\2\2\u0106\u0e1a\3\2\2\2\u0108\u0e2b\3\2\2\2\u010a\u0e3c") - buf.write("\3\2\2\2\u010c\u0e3f\3\2\2\2\u010e\u0e49\3\2\2\2\u0110") - buf.write("\u0e4d\3\2\2\2\u0112\u0e57\3\2\2\2\u0114\u0e5a\3\2\2\2") - buf.write("\u0116\u0e5f\3\2\2\2\u0118\u0e73\3\2\2\2\u011a\u0e75\3") - buf.write("\2\2\2\u011c\u0e86\3\2\2\2\u011e\u0e8f\3\2\2\2\u0120\u0e98") - buf.write("\3\2\2\2\u0122\u0e9a\3\2\2\2\u0124\u0ea8\3\2\2\2\u0126") - buf.write("\u0eb3\3\2\2\2\u0128\u0ebc\3\2\2\2\u012a\u0ebf\3\2\2\2") - buf.write("\u012c\u0ec7\3\2\2\2\u012e\u0ee0\3\2\2\2\u0130\u0eec\3") - buf.write("\2\2\2\u0132\u0eef\3\2\2\2\u0134\u0f0f\3\2\2\2\u0136\u0f11") - buf.write("\3\2\2\2\u0138\u0f13\3\2\2\2\u013a\u0f15\3\2\2\2\u013c") - buf.write("\u0f17\3\2\2\2\u013e\u0f4c\3\2\2\2\u0140\u0f4e\3\2\2\2") - buf.write("\u0142\u0f54\3\2\2\2\u0144\u0f68\3\2\2\2\u0146\u0f76\3") - buf.write("\2\2\2\u0148\u0f81\3\2\2\2\u014a\u0f83\3\2\2\2\u014c\u0f89") - buf.write("\3\2\2\2\u014e\u0f93\3\2\2\2\u0150\u0f97\3\2\2\2\u0152") - buf.write("\u0f9e\3\2\2\2\u0154\u0fa2\3\2\2\2\u0156\u0fa8\3\2\2\2") - buf.write("\u0158\u0faf\3\2\2\2\u015a\u0fb5\3\2\2\2\u015c\u0fbb\3") - buf.write("\2\2\2\u015e\u0fc0\3\2\2\2\u0160\u0fee\3\2\2\2\u0162\u1003") - buf.write("\3\2\2\2\u0164\u101c\3\2\2\2\u0166\u101f\3\2\2\2\u0168") - buf.write("\u1025\3\2\2\2\u016a\u1035\3\2\2\2\u016c\u1044\3\2\2\2") - buf.write("\u016e\u104a\3\2\2\2\u0170\u1068\3\2\2\2\u0172\u106a\3") - buf.write("\2\2\2\u0174\u1071\3\2\2\2\u0176\u107d\3\2\2\2\u0178\u1083") - buf.write("\3\2\2\2\u017a\u109c\3\2\2\2\u017c\u10a0\3\2\2\2\u017e") - buf.write("\u10a4\3\2\2\2\u0180\u10af\3\2\2\2\u0182\u10ed\3\2\2\2") - buf.write("\u0184\u1125\3\2\2\2\u0186\u1127\3\2\2\2\u0188\u1134\3") - buf.write("\2\2\2\u018a\u1166\3\2\2\2\u018c\u1178\3\2\2\2\u018e\u11aa") - buf.write("\3\2\2\2\u0190\u11ac\3\2\2\2\u0192\u11b9\3\2\2\2\u0194") - buf.write("\u11c4\3\2\2\2\u0196\u11df\3\2\2\2\u0198\u11e9\3\2\2\2") - buf.write("\u019a\u11f3\3\2\2\2\u019c\u11f5\3\2\2\2\u019e\u11ff\3") - buf.write("\2\2\2\u01a0\u1202\3\2\2\2\u01a2\u1233\3\2\2\2\u01a4\u1242") - buf.write("\3\2\2\2\u01a6\u1244\3\2\2\2\u01a8\u1248\3\2\2\2\u01aa") - buf.write("\u124f\3\2\2\2\u01ac\u1258\3\2\2\2\u01ae\u125e\3\2\2\2") - buf.write("\u01b0\u1265\3\2\2\2\u01b2\u127b\3\2\2\2\u01b4\u127d\3") - buf.write("\2\2\2\u01b6\u1288\3\2\2\2\u01b8\u128e\3\2\2\2\u01ba\u12b7") - buf.write("\3\2\2\2\u01bc\u1350\3\2\2\2\u01be\u135c\3\2\2\2\u01c0") - buf.write("\u136b\3\2\2\2\u01c2\u1371\3\2\2\2\u01c4\u1384\3\2\2\2") - buf.write("\u01c6\u138e\3\2\2\2\u01c8\u139c\3\2\2\2\u01ca\u139e\3") - buf.write("\2\2\2\u01cc\u13a1\3\2\2\2\u01ce\u13b7\3\2\2\2\u01d0\u13c3") - buf.write("\3\2\2\2\u01d2\u13cc\3\2\2\2\u01d4\u13d8\3\2\2\2\u01d6") - buf.write("\u13dc\3\2\2\2\u01d8\u13de\3\2\2\2\u01da\u1406\3\2\2\2") - buf.write("\u01dc\u140d\3\2\2\2\u01de\u140f\3\2\2\2\u01e0\u1426\3") - buf.write("\2\2\2\u01e2\u142c\3\2\2\2\u01e4\u1434\3\2\2\2\u01e6\u1437") - buf.write("\3\2\2\2\u01e8\u1444\3\2\2\2\u01ea\u1446\3\2\2\2\u01ec") - buf.write("\u144c\3\2\2\2\u01ee\u144e\3\2\2\2\u01f0\u1455\3\2\2\2") - buf.write("\u01f2\u145f\3\2\2\2\u01f4\u1461\3\2\2\2\u01f6\u1467\3") - buf.write("\2\2\2\u01f8\u146b\3\2\2\2\u01fa\u146d\3\2\2\2\u01fc\u146f") - buf.write("\3\2\2\2\u01fe\u1481\3\2\2\2\u0200\u1491\3\2\2\2\u0202") - buf.write("\u1495\3\2\2\2\u0204\u149a\3\2\2\2\u0206\u14a5\3\2\2\2") - buf.write("\u0208\u14aa\3\2\2\2\u020a\u14ac\3\2\2\2\u020c\u14b0\3") - buf.write("\2\2\2\u020e\u14c9\3\2\2\2\u0210\u14cb\3\2\2\2\u0212\u14ce") - buf.write("\3\2\2\2\u0214\u14d3\3\2\2\2\u0216\u14e3\3\2\2\2\u0218") - buf.write("\u1530\3\2\2\2\u021a\u1548\3\2\2\2\u021c\u154a\3\2\2\2") - buf.write("\u021e\u154e\3\2\2\2\u0220\u1554\3\2\2\2\u0222\u155c\3") - buf.write("\2\2\2\u0224\u1564\3\2\2\2\u0226\u156c\3\2\2\2\u0228\u1577") - buf.write("\3\2\2\2\u022a\u157f\3\2\2\2\u022c\u1587\3\2\2\2\u022e") - buf.write("\u158f\3\2\2\2\u0230\u1597\3\2\2\2\u0232\u15a7\3\2\2\2") - buf.write("\u0234\u15b7\3\2\2\2\u0236\u15bb\3\2\2\2\u0238\u15bd\3") - buf.write("\2\2\2\u023a\u15c0\3\2\2\2\u023c\u15d5\3\2\2\2\u023e\u1674") - buf.write("\3\2\2\2\u0240\u1676\3\2\2\2\u0242\u1689\3\2\2\2\u0244") - buf.write("\u168b\3\2\2\2\u0246\u16cb\3\2\2\2\u0248\u16e4\3\2\2\2") - buf.write("\u024a\u16e6\3\2\2\2\u024c\u16ef\3\2\2\2\u024e\u1701\3") - buf.write("\2\2\2\u0250\u170e\3\2\2\2\u0252\u1719\3\2\2\2\u0254\u1789") - buf.write("\3\2\2\2\u0256\u179b\3\2\2\2\u0258\u17ab\3\2\2\2\u025a") - buf.write("\u17b4\3\2\2\2\u025c\u17bd\3\2\2\2\u025e\u17bf\3\2\2\2") - buf.write("\u0260\u17c1\3\2\2\2\u0262\u17c3\3\2\2\2\u0264\u17c5\3") - buf.write("\2\2\2\u0266\u17c7\3\2\2\2\u0268\u17c9\3\2\2\2\u026a\u17cb") - buf.write("\3\2\2\2\u026c\u17cd\3\2\2\2\u026e\u0270\5\4\3\2\u026f") - buf.write("\u026e\3\2\2\2\u026f\u0270\3\2\2\2\u0270\u0272\3\2\2\2") - buf.write("\u0271\u0273\7\u03ae\2\2\u0272\u0271\3\2\2\2\u0272\u0273") - buf.write("\3\2\2\2\u0273\u0274\3\2\2\2\u0274\u0275\7\2\2\3\u0275") - buf.write("\3\3\2\2\2\u0276\u0278\5\6\4\2\u0277\u0279\7\u03ae\2\2") - buf.write("\u0278\u0277\3\2\2\2\u0278\u0279\3\2\2\2\u0279\u027a\3") - buf.write("\2\2\2\u027a\u027b\7\u03be\2\2\u027b\u027e\3\2\2\2\u027c") - buf.write("\u027e\5\b\5\2\u027d\u0276\3\2\2\2\u027d\u027c\3\2\2\2") - buf.write("\u027e\u0281\3\2\2\2\u027f\u027d\3\2\2\2\u027f\u0280\3") - buf.write("\2\2\2\u0280\u028a\3\2\2\2\u0281\u027f\3\2\2\2\u0282\u0287") - buf.write("\5\6\4\2\u0283\u0285\7\u03ae\2\2\u0284\u0283\3\2\2\2\u0284") - buf.write("\u0285\3\2\2\2\u0285\u0286\3\2\2\2\u0286\u0288\7\u03be") - buf.write("\2\2\u0287\u0284\3\2\2\2\u0287\u0288\3\2\2\2\u0288\u028b") - buf.write("\3\2\2\2\u0289\u028b\5\b\5\2\u028a\u0282\3\2\2\2\u028a") - buf.write("\u0289\3\2\2\2\u028b\5\3\2\2\2\u028c\u0294\5\n\6\2\u028d") - buf.write("\u0294\5\f\7\2\u028e\u0294\5\16\b\2\u028f\u0294\5\20\t") - buf.write("\2\u0290\u0294\5\22\n\2\u0291\u0294\5\26\f\2\u0292\u0294") - buf.write("\5\30\r\2\u0293\u028c\3\2\2\2\u0293\u028d\3\2\2\2\u0293") - buf.write("\u028e\3\2\2\2\u0293\u028f\3\2\2\2\u0293\u0290\3\2\2\2") - buf.write("\u0293\u0291\3\2\2\2\u0293\u0292\3\2\2\2\u0294\7\3\2\2") - buf.write("\2\u0295\u0296\7\u03be\2\2\u0296\t\3\2\2\2\u0297\u02bb") - buf.write("\5\32\16\2\u0298\u02bb\5\34\17\2\u0299\u02bb\5\36\20\2") - buf.write("\u029a\u02bb\5 \21\2\u029b\u02bb\5\"\22\2\u029c\u02bb") - buf.write("\5$\23\2\u029d\u02bb\5&\24\2\u029e\u02bb\5(\25\2\u029f") - buf.write("\u02bb\5*\26\2\u02a0\u02bb\5,\27\2\u02a1\u02bb\5.\30\2") - buf.write("\u02a2\u02bb\5\60\31\2\u02a3\u02bb\5r:\2\u02a4\u02bb\5") - buf.write("t;\2\u02a5\u02bb\5v<\2\u02a6\u02bb\5x=\2\u02a7\u02bb\5") - buf.write("z>\2\u02a8\u02bb\5|?\2\u02a9\u02bb\5~@\2\u02aa\u02bb\5") - buf.write("\u0080A\2\u02ab\u02bb\5\u0082B\2\u02ac\u02bb\5\u0084C") - buf.write("\2\u02ad\u02bb\5\u0088E\2\u02ae\u02bb\5\u008aF\2\u02af") - buf.write("\u02bb\5\u008cG\2\u02b0\u02bb\5\u008eH\2\u02b1\u02bb\5") - buf.write("\u0090I\2\u02b2\u02bb\5\u0092J\2\u02b3\u02bb\5\u0094K") - buf.write("\2\u02b4\u02bb\5\u0096L\2\u02b5\u02bb\5\u0098M\2\u02b6") - buf.write("\u02bb\5\u009aN\2\u02b7\u02bb\5\u009cO\2\u02b8\u02bb\5") - buf.write("\u009eP\2\u02b9\u02bb\5\u00a2R\2\u02ba\u0297\3\2\2\2\u02ba") - buf.write("\u0298\3\2\2\2\u02ba\u0299\3\2\2\2\u02ba\u029a\3\2\2\2") - buf.write("\u02ba\u029b\3\2\2\2\u02ba\u029c\3\2\2\2\u02ba\u029d\3") - buf.write("\2\2\2\u02ba\u029e\3\2\2\2\u02ba\u029f\3\2\2\2\u02ba\u02a0") - buf.write("\3\2\2\2\u02ba\u02a1\3\2\2\2\u02ba\u02a2\3\2\2\2\u02ba") - buf.write("\u02a3\3\2\2\2\u02ba\u02a4\3\2\2\2\u02ba\u02a5\3\2\2\2") - buf.write("\u02ba\u02a6\3\2\2\2\u02ba\u02a7\3\2\2\2\u02ba\u02a8\3") - buf.write("\2\2\2\u02ba\u02a9\3\2\2\2\u02ba\u02aa\3\2\2\2\u02ba\u02ab") - buf.write("\3\2\2\2\u02ba\u02ac\3\2\2\2\u02ba\u02ad\3\2\2\2\u02ba") - buf.write("\u02ae\3\2\2\2\u02ba\u02af\3\2\2\2\u02ba\u02b0\3\2\2\2") - buf.write("\u02ba\u02b1\3\2\2\2\u02ba\u02b2\3\2\2\2\u02ba\u02b3\3") - buf.write("\2\2\2\u02ba\u02b4\3\2\2\2\u02ba\u02b5\3\2\2\2\u02ba\u02b6") - buf.write("\3\2\2\2\u02ba\u02b7\3\2\2\2\u02ba\u02b8\3\2\2\2\u02ba") - buf.write("\u02b9\3\2\2\2\u02bb\13\3\2\2\2\u02bc\u02c7\5\u00b4[\2") - buf.write("\u02bd\u02c7\5\u00acW\2\u02be\u02c7\5\u00b6\\\2\u02bf") - buf.write("\u02c7\5\u00a6T\2\u02c0\u02c7\5\u00b2Z\2\u02c1\u02c7\5") - buf.write("\u00a4S\2\u02c2\u02c7\5\u00aeX\2\u02c3\u02c7\5\u00b0Y") - buf.write("\2\u02c4\u02c7\5\u00a8U\2\u02c5\u02c7\5\u00aaV\2\u02c6") - buf.write("\u02bc\3\2\2\2\u02c6\u02bd\3\2\2\2\u02c6\u02be\3\2\2\2") - buf.write("\u02c6\u02bf\3\2\2\2\u02c6\u02c0\3\2\2\2\u02c6\u02c1\3") - buf.write("\2\2\2\u02c6\u02c2\3\2\2\2\u02c6\u02c3\3\2\2\2\u02c6\u02c4") - buf.write("\3\2\2\2\u02c6\u02c5\3\2\2\2\u02c7\r\3\2\2\2\u02c8\u02d2") - buf.write("\5\u0102\u0082\2\u02c9\u02d2\5\u0104\u0083\2\u02ca\u02d2") - buf.write("\5\u0106\u0084\2\u02cb\u02d2\5\u0108\u0085\2\u02cc\u02d2") - buf.write("\5\u010a\u0086\2\u02cd\u02d2\5\u010c\u0087\2\u02ce\u02d2") - buf.write("\5\u010e\u0088\2\u02cf\u02d2\5\u0110\u0089\2\u02d0\u02d2") - buf.write("\5\u0112\u008a\2\u02d1\u02c8\3\2\2\2\u02d1\u02c9\3\2\2") - buf.write("\2\u02d1\u02ca\3\2\2\2\u02d1\u02cb\3\2\2\2\u02d1\u02cc") - buf.write("\3\2\2\2\u02d1\u02cd\3\2\2\2\u02d1\u02ce\3\2\2\2\u02d1") - buf.write("\u02cf\3\2\2\2\u02d1\u02d0\3\2\2\2\u02d2\17\3\2\2\2\u02d3") - buf.write("\u02e3\5\u0122\u0092\2\u02d4\u02e3\5\u0124\u0093\2\u02d5") - buf.write("\u02e3\5\u0126\u0094\2\u02d6\u02e3\5\u0128\u0095\2\u02d7") - buf.write("\u02e3\5\u012a\u0096\2\u02d8\u02e3\5\u012c\u0097\2\u02d9") - buf.write("\u02e3\5\u012e\u0098\2\u02da\u02e3\5\u0130\u0099\2\u02db") - buf.write("\u02e3\5\u0132\u009a\2\u02dc\u02e3\5\u014a\u00a6\2\u02dd") - buf.write("\u02e3\5\u014c\u00a7\2\u02de\u02e3\5\u014e\u00a8\2\u02df") - buf.write("\u02e3\5\u0150\u00a9\2\u02e0\u02e3\5\u0152\u00aa\2\u02e1") - buf.write("\u02e3\5\u0154\u00ab\2\u02e2\u02d3\3\2\2\2\u02e2\u02d4") - buf.write("\3\2\2\2\u02e2\u02d5\3\2\2\2\u02e2\u02d6\3\2\2\2\u02e2") - buf.write("\u02d7\3\2\2\2\u02e2\u02d8\3\2\2\2\u02e2\u02d9\3\2\2\2") - buf.write("\u02e2\u02da\3\2\2\2\u02e2\u02db\3\2\2\2\u02e2\u02dc\3") - buf.write("\2\2\2\u02e2\u02dd\3\2\2\2\u02e2\u02de\3\2\2\2\u02e2\u02df") - buf.write("\3\2\2\2\u02e2\u02e0\3\2\2\2\u02e2\u02e1\3\2\2\2\u02e3") - buf.write("\21\3\2\2\2\u02e4\u02e8\5\u0156\u00ac\2\u02e5\u02e8\5") - buf.write("\u0158\u00ad\2\u02e6\u02e8\5\u015a\u00ae\2\u02e7\u02e4") - buf.write("\3\2\2\2\u02e7\u02e5\3\2\2\2\u02e7\u02e6\3\2\2\2\u02e8") - buf.write("\23\3\2\2\2\u02e9\u02f4\5\u015e\u00b0\2\u02ea\u02f4\5") - buf.write("\u0160\u00b1\2\u02eb\u02f4\5\u0162\u00b2\2\u02ec\u02f4") - buf.write("\5\u0166\u00b4\2\u02ed\u02f4\5\u0168\u00b5\2\u02ee\u02f4") - buf.write("\5\u016a\u00b6\2\u02ef\u02f4\5\u016e\u00b8\2\u02f0\u02f4") - buf.write("\5\u0164\u00b3\2\u02f1\u02f4\5\u016c\u00b7\2\u02f2\u02f4") - buf.write("\5\u0170\u00b9\2\u02f3\u02e9\3\2\2\2\u02f3\u02ea\3\2\2") - buf.write("\2\u02f3\u02eb\3\2\2\2\u02f3\u02ec\3\2\2\2\u02f3\u02ed") - buf.write("\3\2\2\2\u02f3\u02ee\3\2\2\2\u02f3\u02ef\3\2\2\2\u02f3") - buf.write("\u02f0\3\2\2\2\u02f3\u02f1\3\2\2\2\u02f3\u02f2\3\2\2\2") - buf.write("\u02f4\25\3\2\2\2\u02f5\u030f\5\u0182\u00c2\2\u02f6\u030f") - buf.write("\5\u0184\u00c3\2\u02f7\u030f\5\u0186\u00c4\2\u02f8\u030f") - buf.write("\5\u0188\u00c5\2\u02f9\u030f\5\u018a\u00c6\2\u02fa\u030f") - buf.write("\5\u018c\u00c7\2\u02fb\u030f\5\u018e\u00c8\2\u02fc\u030f") - buf.write("\5\u0190\u00c9\2\u02fd\u030f\5\u01a8\u00d5\2\u02fe\u030f") - buf.write("\5\u01aa\u00d6\2\u02ff\u030f\5\u01ac\u00d7\2\u0300\u030f") - buf.write("\5\u01ae\u00d8\2\u0301\u030f\5\u01b0\u00d9\2\u0302\u030f") - buf.write("\5\u01b4\u00db\2\u0303\u030f\5\u01b6\u00dc\2\u0304\u030f") - buf.write("\5\u01b8\u00dd\2\u0305\u030f\5\u01ba\u00de\2\u0306\u030f") - buf.write("\5\u01bc\u00df\2\u0307\u030f\5\u01ca\u00e6\2\u0308\u030f") - buf.write("\5\u01cc\u00e7\2\u0309\u030f\5\u01ce\u00e8\2\u030a\u030f") - buf.write("\5\u01d0\u00e9\2\u030b\u030f\5\u01d2\u00ea\2\u030c\u030f") - buf.write("\5\u01d4\u00eb\2\u030d\u030f\5\u01d6\u00ec\2\u030e\u02f5") - buf.write("\3\2\2\2\u030e\u02f6\3\2\2\2\u030e\u02f7\3\2\2\2\u030e") - buf.write("\u02f8\3\2\2\2\u030e\u02f9\3\2\2\2\u030e\u02fa\3\2\2\2") - buf.write("\u030e\u02fb\3\2\2\2\u030e\u02fc\3\2\2\2\u030e\u02fd\3") - buf.write("\2\2\2\u030e\u02fe\3\2\2\2\u030e\u02ff\3\2\2\2\u030e\u0300") - buf.write("\3\2\2\2\u030e\u0301\3\2\2\2\u030e\u0302\3\2\2\2\u030e") - buf.write("\u0303\3\2\2\2\u030e\u0304\3\2\2\2\u030e\u0305\3\2\2\2") - buf.write("\u030e\u0306\3\2\2\2\u030e\u0307\3\2\2\2\u030e\u0308\3") - buf.write("\2\2\2\u030e\u0309\3\2\2\2\u030e\u030a\3\2\2\2\u030e\u030b") - buf.write("\3\2\2\2\u030e\u030c\3\2\2\2\u030e\u030d\3\2\2\2\u030f") - buf.write("\27\3\2\2\2\u0310\u0315\5\u01e0\u00f1\2\u0311\u0315\5") - buf.write("\u01e2\u00f2\2\u0312\u0315\5\u01e4\u00f3\2\u0313\u0315") - buf.write("\5\u01e6\u00f4\2\u0314\u0310\3\2\2\2\u0314\u0311\3\2\2") - buf.write("\2\u0314\u0312\3\2\2\2\u0314\u0313\3\2\2\2\u0315\31\3") - buf.write("\2\2\2\u0316\u0317\7\"\2\2\u0317\u0319\t\2\2\2\u0318\u031a") - buf.write("\5\u023a\u011e\2\u0319\u0318\3\2\2\2\u0319\u031a\3\2\2") - buf.write("\2\u031a\u031b\3\2\2\2\u031b\u031f\5\u0204\u0103\2\u031c") - buf.write("\u031e\5\62\32\2\u031d\u031c\3\2\2\2\u031e\u0321\3\2\2") - buf.write("\2\u031f\u031d\3\2\2\2\u031f\u0320\3\2\2\2\u0320\33\3") - buf.write("\2\2\2\u0321\u031f\3\2\2\2\u0322\u0324\7\"\2\2\u0323\u0325") - buf.write("\5\64\33\2\u0324\u0323\3\2\2\2\u0324\u0325\3\2\2\2\u0325") - buf.write("\u0326\3\2\2\2\u0326\u0328\7\u0143\2\2\u0327\u0329\5\u023a") - buf.write("\u011e\2\u0328\u0327\3\2\2\2\u0328\u0329\3\2\2\2\u0329") - buf.write("\u032a\3\2\2\2\u032a\u032b\5\u01ea\u00f6\2\u032b\u032c") - buf.write("\7j\2\2\u032c\u032d\7\u01e5\2\2\u032d\u0334\5\66\34\2") - buf.write("\u032e\u032f\7j\2\2\u032f\u0331\7\u011f\2\2\u0330\u0332") - buf.write("\7g\2\2\u0331\u0330\3\2\2\2\u0331\u0332\3\2\2\2\u0332") - buf.write("\u0333\3\2\2\2\u0333\u0335\7\u01c0\2\2\u0334\u032e\3\2") - buf.write("\2\2\u0334\u0335\3\2\2\2\u0335\u0337\3\2\2\2\u0336\u0338") - buf.write("\5> \2\u0337\u0336\3\2\2\2\u0337\u0338\3\2\2\2\u0338\u033b") - buf.write("\3\2\2\2\u0339\u033a\7\u011c\2\2\u033a\u033c\7\u03ca\2") - buf.write("\2\u033b\u0339\3\2\2\2\u033b\u033c\3\2\2\2\u033c\u033d") - buf.write("\3\2\2\2\u033d\u033e\7\u0135\2\2\u033e\u033f\5\u015c\u00af") - buf.write("\2\u033f\35\3\2\2\2\u0340\u0342\7\"\2\2\u0341\u0343\t") - buf.write("\3\2\2\u0342\u0341\3\2\2\2\u0342\u0343\3\2\2\2\u0343\u0345") - buf.write("\3\2\2\2\u0344\u0346\t\4\2\2\u0345\u0344\3\2\2\2\u0345") - buf.write("\u0346\3\2\2\2\u0346\u0347\3\2\2\2\u0347\u0348\7I\2\2") - buf.write("\u0348\u034a\5\u0204\u0103\2\u0349\u034b\5@!\2\u034a\u0349") - buf.write("\3\2\2\2\u034a\u034b\3\2\2\2\u034b\u034c\3\2\2\2\u034c") - buf.write("\u034d\7j\2\2\u034d\u034e\5\u01ec\u00f7\2\u034e\u0352") - buf.write("\5\u0226\u0114\2\u034f\u0351\5B\"\2\u0350\u034f\3\2\2") - buf.write("\2\u0351\u0354\3\2\2\2\u0352\u0350\3\2\2\2\u0352\u0353") - buf.write("\3\2\2\2\u0353\u035f\3\2\2\2\u0354\u0352\3\2\2\2\u0355") - buf.write("\u0357\7\u0100\2\2\u0356\u0358\7\u03b2\2\2\u0357\u0356") - buf.write("\3\2\2\2\u0357\u0358\3\2\2\2\u0358\u0359\3\2\2\2\u0359") - buf.write("\u0360\t\5\2\2\u035a\u035c\7^\2\2\u035b\u035d\7\u03b2") - buf.write("\2\2\u035c\u035b\3\2\2\2\u035c\u035d\3\2\2\2\u035d\u035e") - buf.write("\3\2\2\2\u035e\u0360\t\6\2\2\u035f\u0355\3\2\2\2\u035f") - buf.write("\u035a\3\2\2\2\u035f\u0360\3\2\2\2\u0360\37\3\2\2\2\u0361") - buf.write("\u0362\7\"\2\2\u0362\u0363\7\u0179\2\2\u0363\u0364\7C") - buf.write("\2\2\u0364\u0365\5\u0204\u0103\2\u0365\u0366\7\t\2\2\u0366") - buf.write("\u0367\7\u0215\2\2\u0367\u036d\7\u03ca\2\2\u0368\u036a") - buf.write("\7\u0165\2\2\u0369\u036b\7\u03b2\2\2\u036a\u0369\3\2\2") - buf.write("\2\u036a\u036b\3\2\2\2\u036b\u036c\3\2\2\2\u036c\u036e") - buf.write("\5\u020c\u0107\2\u036d\u0368\3\2\2\2\u036d\u036e\3\2\2") - buf.write("\2\u036e\u0374\3\2\2\2\u036f\u0371\7\u0216\2\2\u0370\u0372") - buf.write("\7\u03b2\2\2\u0371\u0370\3\2\2\2\u0371\u0372\3\2\2\2\u0372") - buf.write("\u0373\3\2\2\2\u0373\u0375\5\u020c\u0107\2\u0374\u036f") - buf.write("\3\2\2\2\u0374\u0375\3\2\2\2\u0375\u037b\3\2\2\2\u0376") - buf.write("\u0378\7\u01ca\2\2\u0377\u0379\7\u03b2\2\2\u0378\u0377") - buf.write("\3\2\2\2\u0378\u0379\3\2\2\2\u0379\u037a\3\2\2\2\u037a") - buf.write("\u037c\5\u020c\u0107\2\u037b\u0376\3\2\2\2\u037b\u037c") - buf.write("\3\2\2\2\u037c\u0382\3\2\2\2\u037d\u037f\7\u01a5\2\2\u037e") - buf.write("\u0380\7\u03b2\2\2\u037f\u037e\3\2\2\2\u037f\u0380\3\2") - buf.write("\2\2\u0380\u0381\3\2\2\2\u0381\u0383\5\u0204\u0103\2\u0382") - buf.write("\u037d\3\2\2\2\u0382\u0383\3\2\2\2\u0383\u0385\3\2\2\2") - buf.write("\u0384\u0386\7\u0223\2\2\u0385\u0384\3\2\2\2\u0385\u0386") - buf.write("\3\2\2\2\u0386\u038c\3\2\2\2\u0387\u0389\7\u011c\2\2\u0388") - buf.write("\u038a\7\u03b2\2\2\u0389\u0388\3\2\2\2\u0389\u038a\3\2") - buf.write("\2\2\u038a\u038b\3\2\2\2\u038b\u038d\7\u03ca\2\2\u038c") - buf.write("\u0387\3\2\2\2\u038c\u038d\3\2\2\2\u038d\u038e\3\2\2\2") - buf.write("\u038e\u0390\7\u013d\2\2\u038f\u0391\7\u03b2\2\2\u0390") - buf.write("\u038f\3\2\2\2\u0390\u0391\3\2\2\2\u0391\u0392\3\2\2\2") - buf.write("\u0392\u0393\5\u01fa\u00fe\2\u0393!\3\2\2\2\u0394\u0396") - buf.write("\7\"\2\2\u0395\u0397\5\64\33\2\u0396\u0395\3\2\2\2\u0396") - buf.write("\u0397\3\2\2\2\u0397\u0398\3\2\2\2\u0398\u0399\7u\2\2") - buf.write("\u0399\u039a\5\u01ea\u00f6\2\u039a\u039c\7\u03bb\2\2\u039b") - buf.write("\u039d\5D#\2\u039c\u039b\3\2\2\2\u039c\u039d\3\2\2\2\u039d") - buf.write("\u03a2\3\2\2\2\u039e\u039f\7\u03bd\2\2\u039f\u03a1\5D") - buf.write("#\2\u03a0\u039e\3\2\2\2\u03a1\u03a4\3\2\2\2\u03a2\u03a0") - buf.write("\3\2\2\2\u03a2\u03a3\3\2\2\2\u03a3\u03a5\3\2\2\2\u03a4") - buf.write("\u03a2\3\2\2\2\u03a5\u03a9\7\u03bc\2\2\u03a6\u03a8\5H") - buf.write("%\2\u03a7\u03a6\3\2\2\2\u03a8\u03ab\3\2\2\2\u03a9\u03a7") - buf.write("\3\2\2\2\u03a9\u03aa\3\2\2\2\u03aa\u03ac\3\2\2\2\u03ab") - buf.write("\u03a9\3\2\2\2\u03ac\u03ad\5\u015c\u00af\2\u03ad#\3\2") - buf.write("\2\2\u03ae\u03b0\7\"\2\2\u03af\u03b1\5\64\33\2\u03b0\u03af") - buf.write("\3\2\2\2\u03b0\u03b1\3\2\2\2\u03b1\u03b2\3\2\2\2\u03b2") - buf.write("\u03b3\7\u0157\2\2\u03b3\u03b4\5\u01ea\u00f6\2\u03b4\u03b6") - buf.write("\7\u03bb\2\2\u03b5\u03b7\5F$\2\u03b6\u03b5\3\2\2\2\u03b6") - buf.write("\u03b7\3\2\2\2\u03b7\u03bc\3\2\2\2\u03b8\u03b9\7\u03bd") - buf.write("\2\2\u03b9\u03bb\5F$\2\u03ba\u03b8\3\2\2\2\u03bb\u03be") - buf.write("\3\2\2\2\u03bc\u03ba\3\2\2\2\u03bc\u03bd\3\2\2\2\u03bd") - buf.write("\u03bf\3\2\2\2\u03be\u03bc\3\2\2\2\u03bf\u03c0\7\u03bc") - buf.write("\2\2\u03c0\u03c1\7\u01dd\2\2\u03c1\u03c5\5\u0218\u010d") - buf.write("\2\u03c2\u03c4\5H%\2\u03c3\u03c2\3\2\2\2\u03c4\u03c7\3") - buf.write("\2\2\2\u03c5\u03c3\3\2\2\2\u03c5\u03c6\3\2\2\2\u03c6\u03c8") - buf.write("\3\2\2\2\u03c7\u03c5\3\2\2\2\u03c8\u03c9\5\u015c\u00af") - buf.write("\2\u03c9%\3\2\2\2\u03ca\u03cb\7\"\2\2\u03cb\u03cc\7\u01e7") - buf.write("\2\2\u03cc\u03cd\5\u0204\u0103\2\u03cd\u03ce\7>\2\2\u03ce") - buf.write("\u03cf\7\u012a\2\2\u03cf\u03d0\7\u0227\2\2\u03d0\u03d1") - buf.write("\t\7\2\2\u03d1\u03d2\7\u01b0\2\2\u03d2\u03d3\7\u03bb\2") - buf.write("\2\u03d3\u03d8\5J&\2\u03d4\u03d5\7\u03bd\2\2\u03d5\u03d7") - buf.write("\5J&\2\u03d6\u03d4\3\2\2\2\u03d7\u03da\3\2\2\2\u03d8\u03d6") - buf.write("\3\2\2\2\u03d8\u03d9\3\2\2\2\u03d9\u03db\3\2\2\2\u03da") - buf.write("\u03d8\3\2\2\2\u03db\u03dc\7\u03bc\2\2\u03dc\'\3\2\2\2") - buf.write("\u03dd\u03df\7\"\2\2\u03de\u03e0\7\u020d\2\2\u03df\u03de") - buf.write("\3\2\2\2\u03df\u03e0\3\2\2\2\u03e0\u03e1\3\2\2\2\u03e1") - buf.write("\u03e3\7\u0097\2\2\u03e2\u03e4\5\u023a\u011e\2\u03e3\u03e2") - buf.write("\3\2\2\2\u03e3\u03e4\3\2\2\2\u03e4\u03e5\3\2\2\2\u03e5") - buf.write("\u03ed\5\u01ec\u00f7\2\u03e6\u03e7\7Y\2\2\u03e7\u03ee") - buf.write("\5\u01ec\u00f7\2\u03e8\u03e9\7\u03bb\2\2\u03e9\u03ea\7") - buf.write("Y\2\2\u03ea\u03eb\5\u01ec\u00f7\2\u03eb\u03ec\7\u03bc") - buf.write("\2\2\u03ec\u03ee\3\2\2\2\u03ed\u03e6\3\2\2\2\u03ed\u03e8") - buf.write("\3\2\2\2\u03ee\u042c\3\2\2\2\u03ef\u03f1\7\"\2\2\u03f0") - buf.write("\u03f2\7\u020d\2\2\u03f1\u03f0\3\2\2\2\u03f1\u03f2\3\2") - buf.write("\2\2\u03f2\u03f3\3\2\2\2\u03f3\u03f5\7\u0097\2\2\u03f4") - buf.write("\u03f6\5\u023a\u011e\2\u03f5\u03f4\3\2\2\2\u03f5\u03f6") - buf.write("\3\2\2\2\u03f6\u03f7\3\2\2\2\u03f7\u03f9\5\u01ec\u00f7") - buf.write("\2\u03f8\u03fa\5L\'\2\u03f9\u03f8\3\2\2\2\u03f9\u03fa") - buf.write("\3\2\2\2\u03fa\u0405\3\2\2\2\u03fb\u0402\5^\60\2\u03fc") - buf.write("\u03fe\7\u03bd\2\2\u03fd\u03fc\3\2\2\2\u03fd\u03fe\3\2") - buf.write("\2\2\u03fe\u03ff\3\2\2\2\u03ff\u0401\5^\60\2\u0400\u03fd") - buf.write("\3\2\2\2\u0401\u0404\3\2\2\2\u0402\u0400\3\2\2\2\u0402") - buf.write("\u0403\3\2\2\2\u0403\u0406\3\2\2\2\u0404\u0402\3\2\2\2") - buf.write("\u0405\u03fb\3\2\2\2\u0405\u0406\3\2\2\2\u0406\u0408\3") - buf.write("\2\2\2\u0407\u0409\5b\62\2\u0408\u0407\3\2\2\2\u0408\u0409") - buf.write("\3\2\2\2\u0409\u040b\3\2\2\2\u040a\u040c\t\b\2\2\u040b") - buf.write("\u040a\3\2\2\2\u040b\u040c\3\2\2\2\u040c\u040e\3\2\2\2") - buf.write("\u040d\u040f\7\17\2\2\u040e\u040d\3\2\2\2\u040e\u040f") - buf.write("\3\2\2\2\u040f\u0410\3\2\2\2\u0410\u0411\5\u00b4[\2\u0411") - buf.write("\u042c\3\2\2\2\u0412\u0414\7\"\2\2\u0413\u0415\7\u020d") - buf.write("\2\2\u0414\u0413\3\2\2\2\u0414\u0415\3\2\2\2\u0415\u0416") - buf.write("\3\2\2\2\u0416\u0418\7\u0097\2\2\u0417\u0419\5\u023a\u011e") - buf.write("\2\u0418\u0417\3\2\2\2\u0418\u0419\3\2\2\2\u0419\u041a") - buf.write("\3\2\2\2\u041a\u041b\5\u01ec\u00f7\2\u041b\u0426\5L\'") - buf.write("\2\u041c\u0423\5^\60\2\u041d\u041f\7\u03bd\2\2\u041e\u041d") - buf.write("\3\2\2\2\u041e\u041f\3\2\2\2\u041f\u0420\3\2\2\2\u0420") - buf.write("\u0422\5^\60\2\u0421\u041e\3\2\2\2\u0422\u0425\3\2\2\2") - buf.write("\u0423\u0421\3\2\2\2\u0423\u0424\3\2\2\2\u0424\u0427\3") - buf.write("\2\2\2\u0425\u0423\3\2\2\2\u0426\u041c\3\2\2\2\u0426\u0427") - buf.write("\3\2\2\2\u0427\u0429\3\2\2\2\u0428\u042a\5b\62\2\u0429") - buf.write("\u0428\3\2\2\2\u0429\u042a\3\2\2\2\u042a\u042c\3\2\2\2") - buf.write("\u042b\u03dd\3\2\2\2\u042b\u03ef\3\2\2\2\u042b\u0412\3") - buf.write("\2\2\2\u042c)\3\2\2\2\u042d\u042e\7\"\2\2\u042e\u042f") - buf.write("\7\u020c\2\2\u042f\u0430\5\u0204\u0103\2\u0430\u0431\7") - buf.write("\t\2\2\u0431\u0432\7\u012b\2\2\u0432\u0436\7\u03ca\2\2") - buf.write("\u0433\u0434\7\u014f\2\2\u0434\u0435\7\u03b2\2\2\u0435") - buf.write("\u0437\5\u020c\u0107\2\u0436\u0433\3\2\2\2\u0436\u0437") - buf.write("\3\2\2\2\u0437\u043d\3\2\2\2\u0438\u043a\7\u013d\2\2\u0439") - buf.write("\u043b\7\u03b2\2\2\u043a\u0439\3\2\2\2\u043a\u043b\3\2") - buf.write("\2\2\u043b\u043c\3\2\2\2\u043c\u043e\5\u01fa\u00fe\2\u043d") - buf.write("\u0438\3\2\2\2\u043d\u043e\3\2\2\2\u043e+\3\2\2\2\u043f") - buf.write("\u0440\7\"\2\2\u0440\u0441\7\u020c\2\2\u0441\u0442\5\u0204") - buf.write("\u0103\2\u0442\u0443\7\t\2\2\u0443\u0444\7\u012b\2\2\u0444") - buf.write("\u0445\7\u03ca\2\2\u0445\u0446\7\u00a5\2\2\u0446\u0447") - buf.write("\7\u0179\2\2\u0447\u0448\7C\2\2\u0448\u044e\5\u0204\u0103") - buf.write("\2\u0449\u044b\7\u014b\2\2\u044a\u044c\7\u03b2\2\2\u044b") - buf.write("\u044a\3\2\2\2\u044b\u044c\3\2\2\2\u044c\u044d\3\2\2\2") - buf.write("\u044d\u044f\5\u020c\u0107\2\u044e\u0449\3\2\2\2\u044e") - buf.write("\u044f\3\2\2\2\u044f\u0455\3\2\2\2\u0450\u0452\7\u0165") - buf.write("\2\2\u0451\u0453\7\u03b2\2\2\u0452\u0451\3\2\2\2\u0452") - buf.write("\u0453\3\2\2\2\u0453\u0454\3\2\2\2\u0454\u0456\5\u020c") - buf.write("\u0107\2\u0455\u0450\3\2\2\2\u0455\u0456\3\2\2\2\u0456") - buf.write("\u045c\3\2\2\2\u0457\u0459\7\u0105\2\2\u0458\u045a\7\u03b2") - buf.write("\2\2\u0459\u0458\3\2\2\2\u0459\u045a\3\2\2\2\u045a\u045b") - buf.write("\3\2\2\2\u045b\u045d\5\u020c\u0107\2\u045c\u0457\3\2\2") - buf.write("\2\u045c\u045d\3\2\2\2\u045d\u0463\3\2\2\2\u045e\u0460") - buf.write("\7\u0193\2\2\u045f\u0461\7\u03b2\2\2\u0460\u045f\3\2\2") - buf.write("\2\u0460\u0461\3\2\2\2\u0461\u0462\3\2\2\2\u0462\u0464") - buf.write("\5\u020c\u0107\2\u0463\u045e\3\2\2\2\u0463\u0464\3\2\2") - buf.write("\2\u0464\u046a\3\2\2\2\u0465\u0467\7\u01a5\2\2\u0466\u0468") - buf.write("\7\u03b2\2\2\u0467\u0466\3\2\2\2\u0467\u0468\3\2\2\2\u0468") - buf.write("\u0469\3\2\2\2\u0469\u046b\5\u0204\u0103\2\u046a\u0465") - buf.write("\3\2\2\2\u046a\u046b\3\2\2\2\u046b\u046d\3\2\2\2\u046c") - buf.write("\u046e\7\u0223\2\2\u046d\u046c\3\2\2\2\u046d\u046e\3\2") - buf.write("\2\2\u046e\u0474\3\2\2\2\u046f\u0471\7\u011c\2\2\u0470") - buf.write("\u0472\7\u03b2\2\2\u0471\u0470\3\2\2\2\u0471\u0472\3\2") - buf.write("\2\2\u0472\u0473\3\2\2\2\u0473\u0475\7\u03ca\2\2\u0474") - buf.write("\u046f\3\2\2\2\u0474\u0475\3\2\2\2\u0475\u0476\3\2\2\2") - buf.write("\u0476\u0478\7\u013d\2\2\u0477\u0479\7\u03b2\2\2\u0478") - buf.write("\u0477\3\2\2\2\u0478\u0479\3\2\2\2\u0479\u047a\3\2\2\2") - buf.write("\u047a\u047b\5\u01fa\u00fe\2\u047b-\3\2\2\2\u047c\u047e") - buf.write("\7\"\2\2\u047d\u047f\5\64\33\2\u047e\u047d\3\2\2\2\u047e") - buf.write("\u047f\3\2\2\2\u047f\u0480\3\2\2\2\u0480\u0481\7\u009c") - buf.write("\2\2\u0481\u0482\5\u01ea\u00f6\2\u0482\u0483\t\t\2\2\u0483") - buf.write("\u0484\t\n\2\2\u0484\u0485\7j\2\2\u0485\u0486\5\u01ec") - buf.write("\u00f7\2\u0486\u0487\7<\2\2\u0487\u0488\7\62\2\2\u0488") - buf.write("\u048b\7\u01e1\2\2\u0489\u048a\t\13\2\2\u048a\u048c\5") - buf.write("\u01ea\u00f6\2\u048b\u0489\3\2\2\2\u048b\u048c\3\2\2\2") - buf.write("\u048c\u048d\3\2\2\2\u048d\u048e\5\u015c\u00af\2\u048e") - buf.write("/\3\2\2\2\u048f\u0492\7\"\2\2\u0490\u0491\7n\2\2\u0491") - buf.write("\u0493\7\177\2\2\u0492\u0490\3\2\2\2\u0492\u0493\3\2\2") - buf.write("\2\u0493\u0497\3\2\2\2\u0494\u0495\7\u0100\2\2\u0495\u0496") - buf.write("\7\u03b2\2\2\u0496\u0498\t\f\2\2\u0497\u0494\3\2\2\2\u0497") - buf.write("\u0498\3\2\2\2\u0498\u049a\3\2\2\2\u0499\u049b\5\64\33") - buf.write("\2\u049a\u0499\3\2\2\2\u049a\u049b\3\2\2\2\u049b\u049f") - buf.write("\3\2\2\2\u049c\u049d\7\u008d\2\2\u049d\u049e\7\u01e6\2") - buf.write("\2\u049e\u04a0\t\r\2\2\u049f\u049c\3\2\2\2\u049f\u04a0") - buf.write("\3\2\2\2\u04a0\u04a1\3\2\2\2\u04a1\u04a2\7\u0221\2\2\u04a2") - buf.write("\u04a7\5\u01ea\u00f6\2\u04a3\u04a4\7\u03bb\2\2\u04a4\u04a5") - buf.write("\5\u0222\u0112\2\u04a5\u04a6\7\u03bc\2\2\u04a6\u04a8\3") - buf.write("\2\2\2\u04a7\u04a3\3\2\2\2\u04a7\u04a8\3\2\2\2\u04a8\u04a9") - buf.write("\3\2\2\2\u04a9\u04aa\7\17\2\2\u04aa\u04b1\5\u00b4[\2\u04ab") - buf.write("\u04ad\7\u00ab\2\2\u04ac\u04ae\t\16\2\2\u04ad\u04ac\3") - buf.write("\2\2\2\u04ad\u04ae\3\2\2\2\u04ae\u04af\3\2\2\2\u04af\u04b0") - buf.write("\7\33\2\2\u04b0\u04b2\7l\2\2\u04b1\u04ab\3\2\2\2\u04b1") - buf.write("\u04b2\3\2\2\2\u04b2\61\3\2\2\2\u04b3\u04b5\7)\2\2\u04b4") - buf.write("\u04b3\3\2\2\2\u04b4\u04b5\3\2\2\2\u04b5\u04b9\3\2\2\2") - buf.write("\u04b6\u04b7\7\32\2\2\u04b7\u04ba\7\u0089\2\2\u04b8\u04ba") - buf.write("\7\u029b\2\2\u04b9\u04b6\3\2\2\2\u04b9\u04b8\3\2\2\2\u04ba") - buf.write("\u04bc\3\2\2\2\u04bb\u04bd\7\u03b2\2\2\u04bc\u04bb\3\2") - buf.write("\2\2\u04bc\u04bd\3\2\2\2\u04bd\u04be\3\2\2\2\u04be\u04c8") - buf.write("\5\u01f6\u00fc\2\u04bf\u04c1\7)\2\2\u04c0\u04bf\3\2\2") - buf.write("\2\u04c0\u04c1\3\2\2\2\u04c1\u04c2\3\2\2\2\u04c2\u04c4") - buf.write("\7\34\2\2\u04c3\u04c5\7\u03b2\2\2\u04c4\u04c3\3\2\2\2") - buf.write("\u04c4\u04c5\3\2\2\2\u04c5\u04c6\3\2\2\2\u04c6\u04c8\5") - buf.write("\u01f8\u00fd\2\u04c7\u04b4\3\2\2\2\u04c7\u04c0\3\2\2\2") - buf.write("\u04c8\63\3\2\2\2\u04c9\u04ca\7\u012e\2\2\u04ca\u04d1") - buf.write("\7\u03b2\2\2\u04cb\u04d2\5\u01f2\u00fa\2\u04cc\u04cf\7") - buf.write("$\2\2\u04cd\u04ce\7\u03bb\2\2\u04ce\u04d0\7\u03bc\2\2") - buf.write("\u04cf\u04cd\3\2\2\2\u04cf\u04d0\3\2\2\2\u04d0\u04d2\3") - buf.write("\2\2\2\u04d1\u04cb\3\2\2\2\u04d1\u04cc\3\2\2\2\u04d2\65") - buf.write("\3\2\2\2\u04d3\u04d4\7\u0102\2\2\u04d4\u04d8\58\35\2\u04d5") - buf.write("\u04d7\5:\36\2\u04d6\u04d5\3\2\2\2\u04d7\u04da\3\2\2\2") - buf.write("\u04d8\u04d6\3\2\2\2\u04d8\u04d9\3\2\2\2\u04d9\u04f6\3") - buf.write("\2\2\2\u04da\u04d8\3\2\2\2\u04db\u04de\7\u0145\2\2\u04dc") - buf.write("\u04df\5\u020a\u0106\2\u04dd\u04df\5\u0250\u0129\2\u04de") - buf.write("\u04dc\3\2\2\2\u04de\u04dd\3\2\2\2\u04df\u04e0\3\2\2\2") - buf.write("\u04e0\u04e9\5<\37\2\u04e1\u04e2\7\u01fd\2\2\u04e2\u04e6") - buf.write("\58\35\2\u04e3\u04e5\5:\36\2\u04e4\u04e3\3\2\2\2\u04e5") - buf.write("\u04e8\3\2\2\2\u04e6\u04e4\3\2\2\2\u04e6\u04e7\3\2\2\2") - buf.write("\u04e7\u04ea\3\2\2\2\u04e8\u04e6\3\2\2\2\u04e9\u04e1\3") - buf.write("\2\2\2\u04e9\u04ea\3\2\2\2\u04ea\u04f3\3\2\2\2\u04eb\u04ec") - buf.write("\7\u013c\2\2\u04ec\u04f0\58\35\2\u04ed\u04ef\5:\36\2\u04ee") - buf.write("\u04ed\3\2\2\2\u04ef\u04f2\3\2\2\2\u04f0\u04ee\3\2\2\2") - buf.write("\u04f0\u04f1\3\2\2\2\u04f1\u04f4\3\2\2\2\u04f2\u04f0\3") - buf.write("\2\2\2\u04f3\u04eb\3\2\2\2\u04f3\u04f4\3\2\2\2\u04f4\u04f6") - buf.write("\3\2\2\2\u04f5\u04d3\3\2\2\2\u04f5\u04db\3\2\2\2\u04f6") - buf.write("\67\3\2\2\2\u04f7\u04fc\7\u00eb\2\2\u04f8\u04fc\5\u020e") - buf.write("\u0108\2\u04f9\u04fc\5\u020a\u0106\2\u04fa\u04fc\5\u0250") - buf.write("\u0129\2\u04fb\u04f7\3\2\2\2\u04fb\u04f8\3\2\2\2\u04fb") - buf.write("\u04f9\3\2\2\2\u04fb\u04fa\3\2\2\2\u04fc9\3\2\2\2\u04fd") - buf.write("\u04fe\7\u03ad\2\2\u04fe\u0501\7N\2\2\u04ff\u0502\5\u020a") - buf.write("\u0106\2\u0500\u0502\5\u0250\u0129\2\u0501\u04ff\3\2\2") - buf.write("\2\u0501\u0500\3\2\2\2\u0502\u0503\3\2\2\2\u0503\u0504") - buf.write("\5<\37\2\u0504;\3\2\2\2\u0505\u0513\5\u0266\u0134\2\u0506") - buf.write("\u0513\7\u00be\2\2\u0507\u0513\7\u00cd\2\2\u0508\u0513") - buf.write("\7\u00ce\2\2\u0509\u0513\7\u00cf\2\2\u050a\u0513\7\u00d0") - buf.write("\2\2\u050b\u0513\7\u00d1\2\2\u050c\u0513\7\u00d2\2\2\u050d") - buf.write("\u0513\7\u00d3\2\2\u050e\u0513\7\u00d4\2\2\u050f\u0513") - buf.write("\7\u00d5\2\2\u0510\u0513\7\u00d6\2\2\u0511\u0513\7\u00d7") - buf.write("\2\2\u0512\u0505\3\2\2\2\u0512\u0506\3\2\2\2\u0512\u0507") - buf.write("\3\2\2\2\u0512\u0508\3\2\2\2\u0512\u0509\3\2\2\2\u0512") - buf.write("\u050a\3\2\2\2\u0512\u050b\3\2\2\2\u0512\u050c\3\2\2\2") - buf.write("\u0512\u050d\3\2\2\2\u0512\u050e\3\2\2\2\u0512\u050f\3") - buf.write("\2\2\2\u0512\u0510\3\2\2\2\u0512\u0511\3\2\2\2\u0513=") - buf.write("\3\2\2\2\u0514\u051a\7\u0139\2\2\u0515\u051a\7\u0132\2") - buf.write("\2\u0516\u0517\7\u0132\2\2\u0517\u0518\7j\2\2\u0518\u051a") - buf.write("\7\u01ed\2\2\u0519\u0514\3\2\2\2\u0519\u0515\3\2\2\2\u0519") - buf.write("\u0516\3\2\2\2\u051a?\3\2\2\2\u051b\u051c\7\u00a6\2\2") - buf.write("\u051c\u051d\t\17\2\2\u051dA\3\2\2\2\u051e\u0520\7\u0171") - buf.write("\2\2\u051f\u0521\7\u03b2\2\2\u0520\u051f\3\2\2\2\u0520") - buf.write("\u0521\3\2\2\2\u0521\u0522\3\2\2\2\u0522\u052a\5\u020c") - buf.write("\u0107\2\u0523\u052a\5@!\2\u0524\u0525\7\u00ab\2\2\u0525") - buf.write("\u0526\7\u01b4\2\2\u0526\u052a\5\u0204\u0103\2\u0527\u0528") - buf.write("\7\u011c\2\2\u0528\u052a\7\u03ca\2\2\u0529\u051e\3\2\2") - buf.write("\2\u0529\u0523\3\2\2\2\u0529\u0524\3\2\2\2\u0529\u0527") - buf.write("\3\2\2\2\u052aC\3\2\2\2\u052b\u052c\t\20\2\2\u052c\u052d") - buf.write("\5\u0204\u0103\2\u052d\u052e\5\u0218\u010d\2\u052eE\3") - buf.write("\2\2\2\u052f\u0530\5\u0204\u0103\2\u0530\u0531\5\u0218") - buf.write("\u010d\2\u0531G\3\2\2\2\u0532\u0533\7\u011c\2\2\u0533") - buf.write("\u054a\7\u03ca\2\2\u0534\u0535\7\u0172\2\2\u0535\u054a") - buf.write("\7\u008d\2\2\u0536\u0538\7g\2\2\u0537\u0536\3\2\2\2\u0537") - buf.write("\u0538\3\2\2\2\u0538\u0539\3\2\2\2\u0539\u054a\7.\2\2") - buf.write("\u053a\u053b\7\u0125\2\2\u053b\u0545\7\u008d\2\2\u053c") - buf.write("\u053d\7\u01a4\2\2\u053d\u0545\7\u008d\2\2\u053e\u053f") - buf.write("\7y\2\2\u053f\u0540\7\u008d\2\2\u0540\u0545\7\u012a\2") - buf.write("\2\u0541\u0542\7e\2\2\u0542\u0543\7\u008d\2\2\u0543\u0545") - buf.write("\7\u012a\2\2\u0544\u053a\3\2\2\2\u0544\u053c\3\2\2\2\u0544") - buf.write("\u053e\3\2\2\2\u0544\u0541\3\2\2\2\u0545\u054a\3\2\2\2") - buf.write("\u0546\u0547\7\u008d\2\2\u0547\u0548\7\u01e6\2\2\u0548") - buf.write("\u054a\t\r\2\2\u0549\u0532\3\2\2\2\u0549\u0534\3\2\2\2") - buf.write("\u0549\u0537\3\2\2\2\u0549\u0544\3\2\2\2\u0549\u0546\3") - buf.write("\2\2\2\u054aI\3\2\2\2\u054b\u054c\7\u015f\2\2\u054c\u055a") - buf.write("\7\u03ca\2\2\u054d\u054e\7&\2\2\u054e\u055a\7\u03ca\2") - buf.write("\2\u054f\u0550\7\u021b\2\2\u0550\u055a\7\u03ca\2\2\u0551") - buf.write("\u0552\7\u01b8\2\2\u0552\u055a\7\u03ca\2\2\u0553\u0554") - buf.write("\7\u01f0\2\2\u0554\u055a\7\u03ca\2\2\u0555\u0556\7\u01b1") - buf.write("\2\2\u0556\u055a\7\u03ca\2\2\u0557\u0558\7\u01bd\2\2\u0558") - buf.write("\u055a\5\u020a\u0106\2\u0559\u054b\3\2\2\2\u0559\u054d") - buf.write("\3\2\2\2\u0559\u054f\3\2\2\2\u0559\u0551\3\2\2\2\u0559") - buf.write("\u0553\3\2\2\2\u0559\u0555\3\2\2\2\u0559\u0557\3\2\2\2") - buf.write("\u055aK\3\2\2\2\u055b\u055c\7\u03bb\2\2\u055c\u0561\5") - buf.write("N(\2\u055d\u055e\7\u03bd\2\2\u055e\u0560\5N(\2\u055f\u055d") - buf.write("\3\2\2\2\u0560\u0563\3\2\2\2\u0561\u055f\3\2\2\2\u0561") - buf.write("\u0562\3\2\2\2\u0562\u0564\3\2\2\2\u0563\u0561\3\2\2\2") - buf.write("\u0564\u0565\7\u03bc\2\2\u0565M\3\2\2\2\u0566\u0567\5") - buf.write("\u0204\u0103\2\u0567\u0568\5P)\2\u0568\u056c\3\2\2\2\u0569") - buf.write("\u056c\5T+\2\u056a\u056c\5\\/\2\u056b\u0566\3\2\2\2\u056b") - buf.write("\u0569\3\2\2\2\u056b\u056a\3\2\2\2\u056cO\3\2\2\2\u056d") - buf.write("\u0571\5\u0218\u010d\2\u056e\u0570\5R*\2\u056f\u056e\3") - buf.write("\2\2\2\u0570\u0573\3\2\2\2\u0571\u056f\3\2\2\2\u0571\u0572") - buf.write("\3\2\2\2\u0572Q\3\2\2\2\u0573\u0571\3\2\2\2\u0574\u0596") - buf.write("\5\u0214\u010b\2\u0575\u0576\7)\2\2\u0576\u0596\5\u0232") - buf.write("\u011a\2\u0577\u0596\7\u0106\2\2\u0578\u057a\7t\2\2\u0579") - buf.write("\u0578\3\2\2\2\u0579\u057a\3\2\2\2\u057a\u057b\3\2\2\2") - buf.write("\u057b\u0596\7S\2\2\u057c\u057e\7\u00a0\2\2\u057d\u057f") - buf.write("\7S\2\2\u057e\u057d\3\2\2\2\u057e\u057f\3\2\2\2\u057f") - buf.write("\u0596\3\2\2\2\u0580\u0581\7\u011c\2\2\u0581\u0596\7\u03ca") - buf.write("\2\2\u0582\u0583\7\u011b\2\2\u0583\u0596\t\21\2\2\u0584") - buf.write("\u0585\7\u0203\2\2\u0585\u0596\t\22\2\2\u0586\u0596\5") - buf.write("V,\2\u0587\u0588\7A\2\2\u0588\u058a\7\f\2\2\u0589\u0587") - buf.write("\3\2\2\2\u0589\u058a\3\2\2\2\u058a\u058b\3\2\2\2\u058b") - buf.write("\u058c\7\17\2\2\u058c\u058d\7\u03bb\2\2\u058d\u058e\5") - buf.write("\u0250\u0129\2\u058e\u0590\7\u03bc\2\2\u058f\u0591\t\23") - buf.write("\2\2\u0590\u058f\3\2\2\2\u0590\u0591\3\2\2\2\u0591\u0596") - buf.write("\3\2\2\2\u0592\u0593\7\u00cc\2\2\u0593\u0594\7)\2\2\u0594") - buf.write("\u0596\7\u021f\2\2\u0595\u0574\3\2\2\2\u0595\u0575\3\2") - buf.write("\2\2\u0595\u0577\3\2\2\2\u0595\u0579\3\2\2\2\u0595\u057c") - buf.write("\3\2\2\2\u0595\u0580\3\2\2\2\u0595\u0582\3\2\2\2\u0595") - buf.write("\u0584\3\2\2\2\u0595\u0586\3\2\2\2\u0595\u0589\3\2\2\2") - buf.write("\u0595\u0592\3\2\2\2\u0596S\3\2\2\2\u0597\u0599\7\37\2") - buf.write("\2\u0598\u059a\5\u0204\u0103\2\u0599\u0598\3\2\2\2\u0599") - buf.write("\u059a\3\2\2\2\u059a\u059c\3\2\2\2\u059b\u0597\3\2\2\2") - buf.write("\u059b\u059c\3\2\2\2\u059c\u059d\3\2\2\2\u059d\u059e\7") - buf.write("t\2\2\u059e\u05a0\7S\2\2\u059f\u05a1\5@!\2\u05a0\u059f") - buf.write("\3\2\2\2\u05a0\u05a1\3\2\2\2\u05a1\u05a2\3\2\2\2\u05a2") - buf.write("\u05a6\5\u0226\u0114\2\u05a3\u05a5\5B\"\2\u05a4\u05a3") - buf.write("\3\2\2\2\u05a5\u05a8\3\2\2\2\u05a6\u05a4\3\2\2\2\u05a6") - buf.write("\u05a7\3\2\2\2\u05a7\u05da\3\2\2\2\u05a8\u05a6\3\2\2\2") - buf.write("\u05a9\u05ab\7\37\2\2\u05aa\u05ac\5\u0204\u0103\2\u05ab") - buf.write("\u05aa\3\2\2\2\u05ab\u05ac\3\2\2\2\u05ac\u05ae\3\2\2\2") - buf.write("\u05ad\u05a9\3\2\2\2\u05ad\u05ae\3\2\2\2\u05ae\u05af\3") - buf.write("\2\2\2\u05af\u05b1\7\u00a0\2\2\u05b0\u05b2\t\24\2\2\u05b1") - buf.write("\u05b0\3\2\2\2\u05b1\u05b2\3\2\2\2\u05b2\u05b4\3\2\2\2") - buf.write("\u05b3\u05b5\5\u0204\u0103\2\u05b4\u05b3\3\2\2\2\u05b4") - buf.write("\u05b5\3\2\2\2\u05b5\u05b7\3\2\2\2\u05b6\u05b8\5@!\2\u05b7") - buf.write("\u05b6\3\2\2\2\u05b7\u05b8\3\2\2\2\u05b8\u05b9\3\2\2\2") - buf.write("\u05b9\u05bd\5\u0226\u0114\2\u05ba\u05bc\5B\"\2\u05bb") - buf.write("\u05ba\3\2\2\2\u05bc\u05bf\3\2\2\2\u05bd\u05bb\3\2\2\2") - buf.write("\u05bd\u05be\3\2\2\2\u05be\u05da\3\2\2\2\u05bf\u05bd\3") - buf.write("\2\2\2\u05c0\u05c2\7\37\2\2\u05c1\u05c3\5\u0204\u0103") - buf.write("\2\u05c2\u05c1\3\2\2\2\u05c2\u05c3\3\2\2\2\u05c3\u05c5") - buf.write("\3\2\2\2\u05c4\u05c0\3\2\2\2\u05c4\u05c5\3\2\2\2\u05c5") - buf.write("\u05c6\3\2\2\2\u05c6\u05c7\7>\2\2\u05c7\u05c9\7S\2\2\u05c8") - buf.write("\u05ca\5\u0204\u0103\2\u05c9\u05c8\3\2\2\2\u05c9\u05ca") - buf.write("\3\2\2\2\u05ca\u05cb\3\2\2\2\u05cb\u05cc\5\u0226\u0114") - buf.write("\2\u05cc\u05cd\5V,\2\u05cd\u05da\3\2\2\2\u05ce\u05d0\7") - buf.write("\37\2\2\u05cf\u05d1\5\u0204\u0103\2\u05d0\u05cf\3\2\2") - buf.write("\2\u05d0\u05d1\3\2\2\2\u05d1\u05d3\3\2\2\2\u05d2\u05ce") - buf.write("\3\2\2\2\u05d2\u05d3\3\2\2\2\u05d3\u05d4\3\2\2\2\u05d4") - buf.write("\u05d5\7\33\2\2\u05d5\u05d6\7\u03bb\2\2\u05d6\u05d7\5") - buf.write("\u0250\u0129\2\u05d7\u05d8\7\u03bc\2\2\u05d8\u05da\3\2") - buf.write("\2\2\u05d9\u059b\3\2\2\2\u05d9\u05ad\3\2\2\2\u05d9\u05c4") - buf.write("\3\2\2\2\u05d9\u05d2\3\2\2\2\u05daU\3\2\2\2\u05db\u05dc") - buf.write("\7z\2\2\u05dc\u05dd\5\u01ec\u00f7\2\u05dd\u05e0\5\u0226") - buf.write("\u0114\2\u05de\u05df\7c\2\2\u05df\u05e1\t\25\2\2\u05e0") - buf.write("\u05de\3\2\2\2\u05e0\u05e1\3\2\2\2\u05e1\u05e3\3\2\2\2") - buf.write("\u05e2\u05e4\5X-\2\u05e3\u05e2\3\2\2\2\u05e3\u05e4\3\2") - buf.write("\2\2\u05e4W\3\2\2\2\u05e5\u05e6\7j\2\2\u05e6\u05e7\7+") - buf.write("\2\2\u05e7\u05eb\5Z.\2\u05e8\u05e9\7j\2\2\u05e9\u05ea") - buf.write("\7\u00a3\2\2\u05ea\u05ec\5Z.\2\u05eb\u05e8\3\2\2\2\u05eb") - buf.write("\u05ec\3\2\2\2\u05ec\u05f6\3\2\2\2\u05ed\u05ee\7j\2\2") - buf.write("\u05ee\u05ef\7\u00a3\2\2\u05ef\u05f3\5Z.\2\u05f0\u05f1") - buf.write("\7j\2\2\u05f1\u05f2\7+\2\2\u05f2\u05f4\5Z.\2\u05f3\u05f0") - buf.write("\3\2\2\2\u05f3\u05f4\3\2\2\2\u05f4\u05f6\3\2\2\2\u05f5") - buf.write("\u05e5\3\2\2\2\u05f5\u05ed\3\2\2\2\u05f6Y\3\2\2\2\u05f7") - buf.write("\u05fe\7\u0081\2\2\u05f8\u05fe\7\26\2\2\u05f9\u05fa\7") - buf.write("\u0089\2\2\u05fa\u05fe\7i\2\2\u05fb\u05fc\7\u01a4\2\2") - buf.write("\u05fc\u05fe\7\u00fd\2\2\u05fd\u05f7\3\2\2\2\u05fd\u05f8") - buf.write("\3\2\2\2\u05fd\u05f9\3\2\2\2\u05fd\u05fb\3\2\2\2\u05fe") - buf.write("[\3\2\2\2\u05ff\u0601\t\24\2\2\u0600\u0602\5\u0204\u0103") - buf.write("\2\u0601\u0600\3\2\2\2\u0601\u0602\3\2\2\2\u0602\u0604") - buf.write("\3\2\2\2\u0603\u0605\5@!\2\u0604\u0603\3\2\2\2\u0604\u0605") - buf.write("\3\2\2\2\u0605\u0606\3\2\2\2\u0606\u060a\5\u0226\u0114") - buf.write("\2\u0607\u0609\5B\"\2\u0608\u0607\3\2\2\2\u0609\u060c") - buf.write("\3\2\2\2\u060a\u0608\3\2\2\2\u060a\u060b\3\2\2\2\u060b") - buf.write("\u061c\3\2\2\2\u060c\u060a\3\2\2\2\u060d\u060f\t\26\2") - buf.write("\2\u060e\u0610\t\24\2\2\u060f\u060e\3\2\2\2\u060f\u0610") - buf.write("\3\2\2\2\u0610\u0612\3\2\2\2\u0611\u0613\5\u0204\u0103") - buf.write("\2\u0612\u0611\3\2\2\2\u0612\u0613\3\2\2\2\u0613\u0614") - buf.write("\3\2\2\2\u0614\u0618\5\u0226\u0114\2\u0615\u0617\5B\"") - buf.write("\2\u0616\u0615\3\2\2\2\u0617\u061a\3\2\2\2\u0618\u0616") - buf.write("\3\2\2\2\u0618\u0619\3\2\2\2\u0619\u061c\3\2\2\2\u061a") - buf.write("\u0618\3\2\2\2\u061b\u05ff\3\2\2\2\u061b\u060d\3\2\2\2") - buf.write("\u061c]\3\2\2\2\u061d\u061f\7\u013d\2\2\u061e\u0620\7") - buf.write("\u03b2\2\2\u061f\u061e\3\2\2\2\u061f\u0620\3\2\2\2\u0620") - buf.write("\u0621\3\2\2\2\u0621\u06aa\5\u01fa\u00fe\2\u0622\u0624") - buf.write("\7\u0106\2\2\u0623\u0625\7\u03b2\2\2\u0624\u0623\3\2\2") - buf.write("\2\u0624\u0625\3\2\2\2\u0625\u0626\3\2\2\2\u0626\u06aa") - buf.write("\5\u020a\u0106\2\u0627\u0629\7\u0107\2\2\u0628\u062a\7") - buf.write("\u03b2\2\2\u0629\u0628\3\2\2\2\u0629\u062a\3\2\2\2\u062a") - buf.write("\u062b\3\2\2\2\u062b\u06aa\5\u020a\u0106\2\u062c\u062e") - buf.write("\7)\2\2\u062d\u062c\3\2\2\2\u062d\u062e\3\2\2\2\u062e") - buf.write("\u0632\3\2\2\2\u062f\u0630\7\32\2\2\u0630\u0633\7\u0089") - buf.write("\2\2\u0631\u0633\7\u029b\2\2\u0632\u062f\3\2\2\2\u0632") - buf.write("\u0631\3\2\2\2\u0633\u0635\3\2\2\2\u0634\u0636\7\u03b2") - buf.write("\2\2\u0635\u0634\3\2\2\2\u0635\u0636\3\2\2\2\u0636\u0637") - buf.write("\3\2\2\2\u0637\u06aa\5\u01f6\u00fc\2\u0638\u063a\7\u0114") - buf.write("\2\2\u0639\u063b\7\u03b2\2\2\u063a\u0639\3\2\2\2\u063a") - buf.write("\u063b\3\2\2\2\u063b\u063c\3\2\2\2\u063c\u06aa\t\27\2") - buf.write("\2\u063d\u063f\7)\2\2\u063e\u063d\3\2\2\2\u063e\u063f") - buf.write("\3\2\2\2\u063f\u0640\3\2\2\2\u0640\u0642\7\34\2\2\u0641") - buf.write("\u0643\7\u03b2\2\2\u0642\u0641\3\2\2\2\u0642\u0643\3\2") - buf.write("\2\2\u0643\u0644\3\2\2\2\u0644\u06aa\5\u01f8\u00fd\2\u0645") - buf.write("\u0647\7\u011c\2\2\u0646\u0648\7\u03b2\2\2\u0647\u0646") - buf.write("\3\2\2\2\u0647\u0648\3\2\2\2\u0648\u0649\3\2\2\2\u0649") - buf.write("\u06aa\7\u03ca\2\2\u064a\u064c\7\u0121\2\2\u064b\u064d") - buf.write("\7\u03b2\2\2\u064c\u064b\3\2\2\2\u064c\u064d\3\2\2\2\u064d") - buf.write("\u064e\3\2\2\2\u064e\u06aa\7\u03ca\2\2\u064f\u0651\7\u0123") - buf.write("\2\2\u0650\u0652\7\u03b2\2\2\u0651\u0650\3\2\2\2\u0651") - buf.write("\u0652\3\2\2\2\u0652\u0653\3\2\2\2\u0653\u06aa\7\u03ca") - buf.write("\2\2\u0654\u0655\7\u012a\2\2\u0655\u0657\7\u0131\2\2\u0656") - buf.write("\u0658\7\u03b2\2\2\u0657\u0656\3\2\2\2\u0657\u0658\3\2") - buf.write("\2\2\u0658\u0659\3\2\2\2\u0659\u06aa\7\u03ca\2\2\u065a") - buf.write("\u065c\7\u012f\2\2\u065b\u065d\7\u03b2\2\2\u065c\u065b") - buf.write("\3\2\2\2\u065c\u065d\3\2\2\2\u065d\u065e\3\2\2\2\u065e") - buf.write("\u06aa\t\27\2\2\u065f\u0661\7\u013a\2\2\u0660\u0662\7") - buf.write("\u03b2\2\2\u0661\u0660\3\2\2\2\u0661\u0662\3\2\2\2\u0662") - buf.write("\u0663\3\2\2\2\u0663\u06aa\7\u03ca\2\2\u0664\u0665\7I") - buf.write("\2\2\u0665\u0667\7\u0131\2\2\u0666\u0668\7\u03b2\2\2\u0667") - buf.write("\u0666\3\2\2\2\u0667\u0668\3\2\2\2\u0668\u0669\3\2\2\2") - buf.write("\u0669\u06aa\7\u03ca\2\2\u066a\u066c\7\u0167\2\2\u066b") - buf.write("\u066d\7\u03b2\2\2\u066c\u066b\3\2\2\2\u066c\u066d\3\2") - buf.write("\2\2\u066d\u066e\3\2\2\2\u066e\u06aa\t\30\2\2\u066f\u0671") - buf.write("\7\u0171\2\2\u0670\u0672\7\u03b2\2\2\u0671\u0670\3\2\2") - buf.write("\2\u0671\u0672\3\2\2\2\u0672\u0673\3\2\2\2\u0673\u06aa") - buf.write("\5\u020c\u0107\2\u0674\u0676\7\u0192\2\2\u0675\u0677\7") - buf.write("\u03b2\2\2\u0676\u0675\3\2\2\2\u0676\u0677\3\2\2\2\u0677") - buf.write("\u0678\3\2\2\2\u0678\u06aa\5\u020a\u0106\2\u0679\u067b") - buf.write("\7\u019a\2\2\u067a\u067c\7\u03b2\2\2\u067b\u067a\3\2\2") - buf.write("\2\u067b\u067c\3\2\2\2\u067c\u067d\3\2\2\2\u067d\u06aa") - buf.write("\5\u020a\u0106\2\u067e\u0680\7\u01b2\2\2\u067f\u0681\7") - buf.write("\u03b2\2\2\u0680\u067f\3\2\2\2\u0680\u0681\3\2\2\2\u0681") - buf.write("\u0682\3\2\2\2\u0682\u06aa\t\31\2\2\u0683\u0685\7\u01b8") - buf.write("\2\2\u0684\u0686\7\u03b2\2\2\u0685\u0684\3\2\2\2\u0685") - buf.write("\u0686\3\2\2\2\u0686\u0687\3\2\2\2\u0687\u06aa\7\u03ca") - buf.write("\2\2\u0688\u068a\7\u01e3\2\2\u0689\u068b\7\u03b2\2\2\u068a") - buf.write("\u0689\3\2\2\2\u068a\u068b\3\2\2\2\u068b\u068c\3\2\2\2") - buf.write("\u068c\u06aa\t\32\2\2\u068d\u068f\7\u01fe\2\2\u068e\u0690") - buf.write("\7\u03b2\2\2\u068f\u068e\3\2\2\2\u068f\u0690\3\2\2\2\u0690") - buf.write("\u0691\3\2\2\2\u0691\u06aa\t\31\2\2\u0692\u0694\7\u01ff") - buf.write("\2\2\u0693\u0695\7\u03b2\2\2\u0694\u0693\3\2\2\2\u0694") - buf.write("\u0695\3\2\2\2\u0695\u0696\3\2\2\2\u0696\u06aa\t\31\2") - buf.write("\2\u0697\u0699\7\u0200\2\2\u0698\u069a\7\u03b2\2\2\u0699") - buf.write("\u0698\3\2\2\2\u0699\u069a\3\2\2\2\u069a\u069b\3\2\2\2") - buf.write("\u069b\u06aa\5\u020a\u0106\2\u069c\u069d\7\u020c\2\2\u069d") - buf.write("\u069f\5\u0204\u0103\2\u069e\u06a0\5`\61\2\u069f\u069e") - buf.write("\3\2\2\2\u069f\u06a0\3\2\2\2\u06a0\u06aa\3\2\2\2\u06a1") - buf.write("\u06a3\7\u009f\2\2\u06a2\u06a4\7\u03b2\2\2\u06a3\u06a2") - buf.write("\3\2\2\2\u06a3\u06a4\3\2\2\2\u06a4\u06a5\3\2\2\2\u06a5") - buf.write("\u06a6\7\u03bb\2\2\u06a6\u06a7\5\u0224\u0113\2\u06a7\u06a8") - buf.write("\7\u03bc\2\2\u06a8\u06aa\3\2\2\2\u06a9\u061d\3\2\2\2\u06a9") - buf.write("\u0622\3\2\2\2\u06a9\u0627\3\2\2\2\u06a9\u062d\3\2\2\2") - buf.write("\u06a9\u0638\3\2\2\2\u06a9\u063e\3\2\2\2\u06a9\u0645\3") - buf.write("\2\2\2\u06a9\u064a\3\2\2\2\u06a9\u064f\3\2\2\2\u06a9\u0654") - buf.write("\3\2\2\2\u06a9\u065a\3\2\2\2\u06a9\u065f\3\2\2\2\u06a9") - buf.write("\u0664\3\2\2\2\u06a9\u066a\3\2\2\2\u06a9\u066f\3\2\2\2") - buf.write("\u06a9\u0674\3\2\2\2\u06a9\u0679\3\2\2\2\u06a9\u067e\3") - buf.write("\2\2\2\u06a9\u0683\3\2\2\2\u06a9\u0688\3\2\2\2\u06a9\u068d") - buf.write("\3\2\2\2\u06a9\u0692\3\2\2\2\u06a9\u0697\3\2\2\2\u06a9") - buf.write("\u069c\3\2\2\2\u06a9\u06a1\3\2\2\2\u06aa_\3\2\2\2\u06ab") - buf.write("\u06ac\7\u0203\2\2\u06ac\u06ad\t\22\2\2\u06ada\3\2\2\2") - buf.write("\u06ae\u06af\7s\2\2\u06af\u06b0\7\24\2\2\u06b0\u06b3\5") - buf.write("d\63\2\u06b1\u06b2\7\u01b7\2\2\u06b2\u06b4\5\u020a\u0106") - buf.write("\2\u06b3\u06b1\3\2\2\2\u06b3\u06b4\3\2\2\2\u06b4\u06bc") - buf.write("\3\2\2\2\u06b5\u06b6\7\u0207\2\2\u06b6\u06b7\7\24\2\2") - buf.write("\u06b7\u06ba\5f\64\2\u06b8\u06b9\7\u0208\2\2\u06b9\u06bb") - buf.write("\5\u020a\u0106\2\u06ba\u06b8\3\2\2\2\u06ba\u06bb\3\2\2") - buf.write("\2\u06bb\u06bd\3\2\2\2\u06bc\u06b5\3\2\2\2\u06bc\u06bd") - buf.write("\3\2\2\2\u06bd\u06c9\3\2\2\2\u06be\u06bf\7\u03bb\2\2\u06bf") - buf.write("\u06c4\5h\65\2\u06c0\u06c1\7\u03bd\2\2\u06c1\u06c3\5h") - buf.write("\65\2\u06c2\u06c0\3\2\2\2\u06c3\u06c6\3\2\2\2\u06c4\u06c2") - buf.write("\3\2\2\2\u06c4\u06c5\3\2\2\2\u06c5\u06c7\3\2\2\2\u06c6") - buf.write("\u06c4\3\2\2\2\u06c7\u06c8\7\u03bc\2\2\u06c8\u06ca\3\2") - buf.write("\2\2\u06c9\u06be\3\2\2\2\u06c9\u06ca\3\2\2\2\u06cac\3") - buf.write("\2\2\2\u06cb\u06cd\7[\2\2\u06cc\u06cb\3\2\2\2\u06cc\u06cd") - buf.write("\3\2\2\2\u06cd\u06ce\3\2\2\2\u06ce\u06cf\7\u015d\2\2\u06cf") - buf.write("\u06d0\7\u03bb\2\2\u06d0\u06d1\5\u0250\u0129\2\u06d1\u06d2") - buf.write("\7\u03bc\2\2\u06d2\u06f9\3\2\2\2\u06d3\u06d5\7[\2\2\u06d4") - buf.write("\u06d3\3\2\2\2\u06d4\u06d5\3\2\2\2\u06d5\u06d6\3\2\2\2") - buf.write("\u06d6\u06da\7S\2\2\u06d7\u06d8\7\u0100\2\2\u06d8\u06d9") - buf.write("\7\u03b2\2\2\u06d9\u06db\t\33\2\2\u06da\u06d7\3\2\2\2") - buf.write("\u06da\u06db\3\2\2\2\u06db\u06dc\3\2\2\2\u06dc\u06dd\7") - buf.write("\u03bb\2\2\u06dd\u06de\5\u0222\u0112\2\u06de\u06df\7\u03bc") - buf.write("\2\2\u06df\u06f9\3\2\2\2\u06e0\u06ea\7w\2\2\u06e1\u06e2") - buf.write("\7\u03bb\2\2\u06e2\u06e3\5\u0250\u0129\2\u06e3\u06e4\7") - buf.write("\u03bc\2\2\u06e4\u06eb\3\2\2\2\u06e5\u06e6\7\u011a\2\2") - buf.write("\u06e6\u06e7\7\u03bb\2\2\u06e7\u06e8\5\u0222\u0112\2\u06e8") - buf.write("\u06e9\7\u03bc\2\2\u06e9\u06eb\3\2\2\2\u06ea\u06e1\3\2") - buf.write("\2\2\u06ea\u06e5\3\2\2\2\u06eb\u06f9\3\2\2\2\u06ec\u06f6") - buf.write("\7\u0177\2\2\u06ed\u06ee\7\u03bb\2\2\u06ee\u06ef\5\u0250") - buf.write("\u0129\2\u06ef\u06f0\7\u03bc\2\2\u06f0\u06f7\3\2\2\2\u06f1") - buf.write("\u06f2\7\u011a\2\2\u06f2\u06f3\7\u03bb\2\2\u06f3\u06f4") - buf.write("\5\u0222\u0112\2\u06f4\u06f5\7\u03bc\2\2\u06f5\u06f7\3") - buf.write("\2\2\2\u06f6\u06ed\3\2\2\2\u06f6\u06f1\3\2\2\2\u06f7\u06f9") - buf.write("\3\2\2\2\u06f8\u06cc\3\2\2\2\u06f8\u06d4\3\2\2\2\u06f8") - buf.write("\u06e0\3\2\2\2\u06f8\u06ec\3\2\2\2\u06f9e\3\2\2\2\u06fa") - buf.write("\u06fc\7[\2\2\u06fb\u06fa\3\2\2\2\u06fb\u06fc\3\2\2\2") - buf.write("\u06fc\u06fd\3\2\2\2\u06fd\u06fe\7\u015d\2\2\u06fe\u06ff") - buf.write("\7\u03bb\2\2\u06ff\u0700\5\u0250\u0129\2\u0700\u0701\7") - buf.write("\u03bc\2\2\u0701\u0710\3\2\2\2\u0702\u0704\7[\2\2\u0703") - buf.write("\u0702\3\2\2\2\u0703\u0704\3\2\2\2\u0704\u0705\3\2\2\2") - buf.write("\u0705\u0709\7S\2\2\u0706\u0707\7\u0100\2\2\u0707\u0708") - buf.write("\7\u03b2\2\2\u0708\u070a\t\33\2\2\u0709\u0706\3\2\2\2") - buf.write("\u0709\u070a\3\2\2\2\u070a\u070b\3\2\2\2\u070b\u070c\7") - buf.write("\u03bb\2\2\u070c\u070d\5\u0222\u0112\2\u070d\u070e\7\u03bc") - buf.write("\2\2\u070e\u0710\3\2\2\2\u070f\u06fb\3\2\2\2\u070f\u0703") - buf.write("\3\2\2\2\u0710g\3\2\2\2\u0711\u0712\7s\2\2\u0712\u0713") - buf.write("\5\u0204\u0103\2\u0713\u0714\7\u00a7\2\2\u0714\u0715\7") - buf.write("\u0175\2\2\u0715\u0716\7\u020f\2\2\u0716\u0717\7\u03bb") - buf.write("\2\2\u0717\u071c\5j\66\2\u0718\u0719\7\u03bd\2\2\u0719") - buf.write("\u071b\5j\66\2\u071a\u0718\3\2\2\2\u071b\u071e\3\2\2\2") - buf.write("\u071c\u071a\3\2\2\2\u071c\u071d\3\2\2\2\u071d\u071f\3") - buf.write("\2\2\2\u071e\u071c\3\2\2\2\u071f\u0723\7\u03bc\2\2\u0720") - buf.write("\u0722\5p9\2\u0721\u0720\3\2\2\2\u0722\u0725\3\2\2\2\u0723") - buf.write("\u0721\3\2\2\2\u0723\u0724\3\2\2\2\u0724\u072e\3\2\2\2") - buf.write("\u0725\u0723\3\2\2\2\u0726\u072b\5n8\2\u0727\u0728\7\u03bd") - buf.write("\2\2\u0728\u072a\5n8\2\u0729\u0727\3\2\2\2\u072a\u072d") - buf.write("\3\2\2\2\u072b\u0729\3\2\2\2\u072b\u072c\3\2\2\2\u072c") - buf.write("\u072f\3\2\2\2\u072d\u072b\3\2\2\2\u072e\u0726\3\2\2\2") - buf.write("\u072e\u072f\3\2\2\2\u072f\u077f\3\2\2\2\u0730\u0731\7") - buf.write("s\2\2\u0731\u0732\5\u0204\u0103\2\u0732\u0733\7\u00a7") - buf.write("\2\2\u0733\u0734\7H\2\2\u0734\u0735\7\u03bb\2\2\u0735") - buf.write("\u073a\5j\66\2\u0736\u0737\7\u03bd\2\2\u0737\u0739\5j") - buf.write("\66\2\u0738\u0736\3\2\2\2\u0739\u073c\3\2\2\2\u073a\u0738") - buf.write("\3\2\2\2\u073a\u073b\3\2\2\2\u073b\u073d\3\2\2\2\u073c") - buf.write("\u073a\3\2\2\2\u073d\u0741\7\u03bc\2\2\u073e\u0740\5p") - buf.write("9\2\u073f\u073e\3\2\2\2\u0740\u0743\3\2\2\2\u0741\u073f") - buf.write("\3\2\2\2\u0741\u0742\3\2\2\2\u0742\u074c\3\2\2\2\u0743") - buf.write("\u0741\3\2\2\2\u0744\u0749\5n8\2\u0745\u0746\7\u03bd\2") - buf.write("\2\u0746\u0748\5n8\2\u0747\u0745\3\2\2\2\u0748\u074b\3") - buf.write("\2\2\2\u0749\u0747\3\2\2\2\u0749\u074a\3\2\2\2\u074a\u074d") - buf.write("\3\2\2\2\u074b\u0749\3\2\2\2\u074c\u0744\3\2\2\2\u074c") - buf.write("\u074d\3\2\2\2\u074d\u077f\3\2\2\2\u074e\u074f\7s\2\2") - buf.write("\u074f\u0750\5\u0204\u0103\2\u0750\u0751\7\u00a7\2\2\u0751") - buf.write("\u0752\7H\2\2\u0752\u0753\7\u03bb\2\2\u0753\u0758\5l\67") - buf.write("\2\u0754\u0755\7\u03bd\2\2\u0755\u0757\5l\67\2\u0756\u0754") - buf.write("\3\2\2\2\u0757\u075a\3\2\2\2\u0758\u0756\3\2\2\2\u0758") - buf.write("\u0759\3\2\2\2\u0759\u075b\3\2\2\2\u075a\u0758\3\2\2\2") - buf.write("\u075b\u075f\7\u03bc\2\2\u075c\u075e\5p9\2\u075d\u075c") - buf.write("\3\2\2\2\u075e\u0761\3\2\2\2\u075f\u075d\3\2\2\2\u075f") - buf.write("\u0760\3\2\2\2\u0760\u076a\3\2\2\2\u0761\u075f\3\2\2\2") - buf.write("\u0762\u0767\5n8\2\u0763\u0764\7\u03bd\2\2\u0764\u0766") - buf.write("\5n8\2\u0765\u0763\3\2\2\2\u0766\u0769\3\2\2\2\u0767\u0765") - buf.write("\3\2\2\2\u0767\u0768\3\2\2\2\u0768\u076b\3\2\2\2\u0769") - buf.write("\u0767\3\2\2\2\u076a\u0762\3\2\2\2\u076a\u076b\3\2\2\2") - buf.write("\u076b\u077f\3\2\2\2\u076c\u076d\7s\2\2\u076d\u0771\5") - buf.write("\u0204\u0103\2\u076e\u0770\5p9\2\u076f\u076e\3\2\2\2\u0770") - buf.write("\u0773\3\2\2\2\u0771\u076f\3\2\2\2\u0771\u0772\3\2\2\2") - buf.write("\u0772\u077c\3\2\2\2\u0773\u0771\3\2\2\2\u0774\u0779\5") - buf.write("n8\2\u0775\u0776\7\u03bd\2\2\u0776\u0778\5n8\2\u0777\u0775") - buf.write("\3\2\2\2\u0778\u077b\3\2\2\2\u0779\u0777\3\2\2\2\u0779") - buf.write("\u077a\3\2\2\2\u077a\u077d\3\2\2\2\u077b\u0779\3\2\2\2") - buf.write("\u077c\u0774\3\2\2\2\u077c\u077d\3\2\2\2\u077d\u077f\3") - buf.write("\2\2\2\u077e\u0711\3\2\2\2\u077e\u0730\3\2\2\2\u077e\u074e") - buf.write("\3\2\2\2\u077e\u076c\3\2\2\2\u077fi\3\2\2\2\u0780\u0784") - buf.write("\5\u0216\u010c\2\u0781\u0784\7d\2\2\u0782\u0784\5\u0250") - buf.write("\u0129\2\u0783\u0780\3\2\2\2\u0783\u0781\3\2\2\2\u0783") - buf.write("\u0782\3\2\2\2\u0784k\3\2\2\2\u0785\u0786\7\u03bb\2\2") - buf.write("\u0786\u0789\5j\66\2\u0787\u0788\7\u03bd\2\2\u0788\u078a") - buf.write("\5j\66\2\u0789\u0787\3\2\2\2\u078a\u078b\3\2\2\2\u078b") - buf.write("\u0789\3\2\2\2\u078b\u078c\3\2\2\2\u078c\u078d\3\2\2\2") - buf.write("\u078d\u078e\7\u03bc\2\2\u078em\3\2\2\2\u078f\u0790\7") - buf.write("\u0207\2\2\u0790\u0794\5\u0204\u0103\2\u0791\u0793\5p") - buf.write("9\2\u0792\u0791\3\2\2\2\u0793\u0796\3\2\2\2\u0794\u0792") - buf.write("\3\2\2\2\u0794\u0795\3\2\2\2\u0795o\3\2\2\2\u0796\u0794") - buf.write("\3\2\2\2\u0797\u0799\7\u0203\2\2\u0798\u0797\3\2\2\2\u0798") - buf.write("\u0799\3\2\2\2\u0799\u079a\3\2\2\2\u079a\u079c\7\u013d") - buf.write("\2\2\u079b\u079d\7\u03b2\2\2\u079c\u079b\3\2\2\2\u079c") - buf.write("\u079d\3\2\2\2\u079d\u079e\3\2\2\2\u079e\u07c5\5\u01fa") - buf.write("\u00fe\2\u079f\u07a1\7\u011c\2\2\u07a0\u07a2\7\u03b2\2") - buf.write("\2\u07a1\u07a0\3\2\2\2\u07a1\u07a2\3\2\2\2\u07a2\u07a3") - buf.write("\3\2\2\2\u07a3\u07c5\7\u03ca\2\2\u07a4\u07a5\7\u012a\2") - buf.write("\2\u07a5\u07a7\7\u0131\2\2\u07a6\u07a8\7\u03b2\2\2\u07a7") - buf.write("\u07a6\3\2\2\2\u07a7\u07a8\3\2\2\2\u07a8\u07a9\3\2\2\2") - buf.write("\u07a9\u07c5\7\u03ca\2\2\u07aa\u07ab\7I\2\2\u07ab\u07ad") - buf.write("\7\u0131\2\2\u07ac\u07ae\7\u03b2\2\2\u07ad\u07ac\3\2\2") - buf.write("\2\u07ad\u07ae\3\2\2\2\u07ae\u07af\3\2\2\2\u07af\u07c5") - buf.write("\7\u03ca\2\2\u07b0\u07b2\7\u0192\2\2\u07b1\u07b3\7\u03b2") - buf.write("\2\2\u07b2\u07b1\3\2\2\2\u07b2\u07b3\3\2\2\2\u07b3\u07b4") - buf.write("\3\2\2\2\u07b4\u07c5\5\u020a\u0106\2\u07b5\u07b7\7\u019a") - buf.write("\2\2\u07b6\u07b8\7\u03b2\2\2\u07b7\u07b6\3\2\2\2\u07b7") - buf.write("\u07b8\3\2\2\2\u07b8\u07b9\3\2\2\2\u07b9\u07c5\5\u020a") - buf.write("\u0106\2\u07ba\u07bc\7\u020c\2\2\u07bb\u07bd\7\u03b2\2") - buf.write("\2\u07bc\u07bb\3\2\2\2\u07bc\u07bd\3\2\2\2\u07bd\u07be") - buf.write("\3\2\2\2\u07be\u07c5\5\u0204\u0103\2\u07bf\u07c1\7\u01a5") - buf.write("\2\2\u07c0\u07c2\7\u03b2\2\2\u07c1\u07c0\3\2\2\2\u07c1") - buf.write("\u07c2\3\2\2\2\u07c2\u07c3\3\2\2\2\u07c3\u07c5\5\u0204") - buf.write("\u0103\2\u07c4\u0798\3\2\2\2\u07c4\u079f\3\2\2\2\u07c4") - buf.write("\u07a4\3\2\2\2\u07c4\u07aa\3\2\2\2\u07c4\u07b0\3\2\2\2") - buf.write("\u07c4\u07b5\3\2\2\2\u07c4\u07ba\3\2\2\2\u07c4\u07bf\3") - buf.write("\2\2\2\u07c5q\3\2\2\2\u07c6\u07c7\7\13\2\2\u07c7\u07c9") - buf.write("\t\2\2\2\u07c8\u07ca\5\u0204\u0103\2\u07c9\u07c8\3\2\2") - buf.write("\2\u07c9\u07ca\3\2\2\2\u07ca\u07cc\3\2\2\2\u07cb\u07cd") - buf.write("\5\62\32\2\u07cc\u07cb\3\2\2\2\u07cd\u07ce\3\2\2\2\u07ce") - buf.write("\u07cc\3\2\2\2\u07ce\u07cf\3\2\2\2\u07cf\u07d9\3\2\2\2") - buf.write("\u07d0\u07d1\7\13\2\2\u07d1\u07d2\t\2\2\2\u07d2\u07d3") - buf.write("\5\u0204\u0103\2\u07d3\u07d4\7\u021a\2\2\u07d4\u07d5\7") - buf.write("\u012a\2\2\u07d5\u07d6\7\u0131\2\2\u07d6\u07d7\7\u019f") - buf.write("\2\2\u07d7\u07d9\3\2\2\2\u07d8\u07c6\3\2\2\2\u07d8\u07d0") - buf.write("\3\2\2\2\u07d9s\3\2\2\2\u07da\u07dc\7\13\2\2\u07db\u07dd") - buf.write("\5\64\33\2\u07dc\u07db\3\2\2\2\u07dc\u07dd\3\2\2\2\u07dd") - buf.write("\u07de\3\2\2\2\u07de\u07df\7\u0143\2\2\u07df\u07e3\5\u01ea") - buf.write("\u00f6\2\u07e0\u07e1\7j\2\2\u07e1\u07e2\7\u01e5\2\2\u07e2") - buf.write("\u07e4\5\66\34\2\u07e3\u07e0\3\2\2\2\u07e3\u07e4\3\2\2") - buf.write("\2\u07e4\u07eb\3\2\2\2\u07e5\u07e6\7j\2\2\u07e6\u07e8") - buf.write("\7\u011f\2\2\u07e7\u07e9\7g\2\2\u07e8\u07e7\3\2\2\2\u07e8") - buf.write("\u07e9\3\2\2\2\u07e9\u07ea\3\2\2\2\u07ea\u07ec\7\u01c0") - buf.write("\2\2\u07eb\u07e5\3\2\2\2\u07eb\u07ec\3\2\2\2\u07ec\u07f0") - buf.write("\3\2\2\2\u07ed\u07ee\7}\2\2\u07ee\u07ef\7\u009a\2\2\u07ef") - buf.write("\u07f1\5\u01ea\u00f6\2\u07f0\u07ed\3\2\2\2\u07f0\u07f1") - buf.write("\3\2\2\2\u07f1\u07f3\3\2\2\2\u07f2\u07f4\5> \2\u07f3\u07f2") - buf.write("\3\2\2\2\u07f3\u07f4\3\2\2\2\u07f4\u07f7\3\2\2\2\u07f5") - buf.write("\u07f6\7\u011c\2\2\u07f6\u07f8\7\u03ca\2\2\u07f7\u07f5") - buf.write("\3\2\2\2\u07f7\u07f8\3\2\2\2\u07f8\u07fb\3\2\2\2\u07f9") - buf.write("\u07fa\7\u0135\2\2\u07fa\u07fc\5\u015c\u00af\2\u07fb\u07f9") - buf.write("\3\2\2\2\u07fb\u07fc\3\2\2\2\u07fcu\3\2\2\2\u07fd\u07fe") - buf.write("\7\13\2\2\u07fe\u07ff\7\u0157\2\2\u07ff\u0803\5\u01ea") - buf.write("\u00f6\2\u0800\u0802\5H%\2\u0801\u0800\3\2\2\2\u0802\u0805") - buf.write("\3\2\2\2\u0803\u0801\3\2\2\2\u0803\u0804\3\2\2\2\u0804") - buf.write("w\3\2\2\2\u0805\u0803\3\2\2\2\u0806\u0807\7\13\2\2\u0807") - buf.write("\u0808\7\u0169\2\2\u0808\u0809\7\u01e0\2\2\u0809\u080a") - buf.write("\7\u026d\2\2\u080a\u080b\7\u017b\2\2\u080b\u080c\7S\2") - buf.write("\2\u080cy\3\2\2\2\u080d\u080e\7\13\2\2\u080e\u080f\7\u0179") - buf.write("\2\2\u080f\u0810\7C\2\2\u0810\u0811\5\u0204\u0103\2\u0811") - buf.write("\u0812\7\t\2\2\u0812\u0813\7\u0215\2\2\u0813\u0819\7\u03ca") - buf.write("\2\2\u0814\u0816\7\u0165\2\2\u0815\u0817\7\u03b2\2\2\u0816") - buf.write("\u0815\3\2\2\2\u0816\u0817\3\2\2\2\u0817\u0818\3\2\2\2") - buf.write("\u0818\u081a\5\u020c\u0107\2\u0819\u0814\3\2\2\2\u0819") - buf.write("\u081a\3\2\2\2\u081a\u081c\3\2\2\2\u081b\u081d\7\u0223") - buf.write("\2\2\u081c\u081b\3\2\2\2\u081c\u081d\3\2\2\2\u081d\u081e") - buf.write("\3\2\2\2\u081e\u0820\7\u013d\2\2\u081f\u0821\7\u03b2\2") - buf.write("\2\u0820\u081f\3\2\2\2\u0820\u0821\3\2\2\2\u0821\u0822") - buf.write("\3\2\2\2\u0822\u0823\5\u01fa\u00fe\2\u0823{\3\2\2\2\u0824") - buf.write("\u0825\7\13\2\2\u0825\u0826\7u\2\2\u0826\u082a\5\u01ea") - buf.write("\u00f6\2\u0827\u0829\5H%\2\u0828\u0827\3\2\2\2\u0829\u082c") - buf.write("\3\2\2\2\u082a\u0828\3\2\2\2\u082a\u082b\3\2\2\2\u082b") - buf.write("}\3\2\2\2\u082c\u082a\3\2\2\2\u082d\u082e\7\13\2\2\u082e") - buf.write("\u082f\7\u01e7\2\2\u082f\u0830\5\u0204\u0103\2\u0830\u0831") - buf.write("\7\u01b0\2\2\u0831\u0832\7\u03bb\2\2\u0832\u0837\5J&\2") - buf.write("\u0833\u0834\7\u03bd\2\2\u0834\u0836\5J&\2\u0835\u0833") - buf.write("\3\2\2\2\u0836\u0839\3\2\2\2\u0837\u0835\3\2\2\2\u0837") - buf.write("\u0838\3\2\2\2\u0838\u083a\3\2\2\2\u0839\u0837\3\2\2\2") - buf.write("\u083a\u083b\7\u03bc\2\2\u083b\177\3\2\2\2\u083c\u083e") - buf.write("\7\13\2\2\u083d\u083f\t\3\2\2\u083e\u083d\3\2\2\2\u083e") - buf.write("\u083f\3\2\2\2\u083f\u0841\3\2\2\2\u0840\u0842\7G\2\2") - buf.write("\u0841\u0840\3\2\2\2\u0841\u0842\3\2\2\2\u0842\u0843\3") - buf.write("\2\2\2\u0843\u0844\7\u0097\2\2\u0844\u0845\5\u01ec\u00f7") - buf.write("\2\u0845\u084a\5\u0086D\2\u0846\u0847\7\u03bd\2\2\u0847") - buf.write("\u0849\5\u0086D\2\u0848\u0846\3\2\2\2\u0849\u084c\3\2") - buf.write("\2\2\u084a\u0848\3\2\2\2\u084a\u084b\3\2\2\2\u084b\u084e") - buf.write("\3\2\2\2\u084c\u084a\3\2\2\2\u084d\u084f\5b\62\2\u084e") - buf.write("\u084d\3\2\2\2\u084e\u084f\3\2\2\2\u084f\u0081\3\2\2\2") - buf.write("\u0850\u0851\7\13\2\2\u0851\u0852\7\u020c\2\2\u0852\u0853") - buf.write("\5\u0204\u0103\2\u0853\u0854\t\34\2\2\u0854\u0855\7\u012b") - buf.write("\2\2\u0855\u0859\7\u03ca\2\2\u0856\u0857\7\u0165\2\2\u0857") - buf.write("\u0858\7\u03b2\2\2\u0858\u085a\5\u020c\u0107\2\u0859\u0856") - buf.write("\3\2\2\2\u0859\u085a\3\2\2\2\u085a\u085c\3\2\2\2\u085b") - buf.write("\u085d\7\u0223\2\2\u085c\u085b\3\2\2\2\u085c\u085d\3\2") - buf.write("\2\2\u085d\u085e\3\2\2\2\u085e\u0860\7\u013d\2\2\u085f") - buf.write("\u0861\7\u03b2\2\2\u0860\u085f\3\2\2\2\u0860\u0861\3\2") - buf.write("\2\2\u0861\u0862\3\2\2\2\u0862\u0863\5\u01fa\u00fe\2\u0863") - buf.write("\u0083\3\2\2\2\u0864\u0868\7\13\2\2\u0865\u0866\7\u0100") - buf.write("\2\2\u0866\u0867\7\u03b2\2\2\u0867\u0869\t\f\2\2\u0868") - buf.write("\u0865\3\2\2\2\u0868\u0869\3\2\2\2\u0869\u086b\3\2\2\2") - buf.write("\u086a\u086c\5\64\33\2\u086b\u086a\3\2\2\2\u086b\u086c") - buf.write("\3\2\2\2\u086c\u0870\3\2\2\2\u086d\u086e\7\u008d\2\2\u086e") - buf.write("\u086f\7\u01e6\2\2\u086f\u0871\t\r\2\2\u0870\u086d\3\2") - buf.write("\2\2\u0870\u0871\3\2\2\2\u0871\u0872\3\2\2\2\u0872\u0873") - buf.write("\7\u0221\2\2\u0873\u0878\5\u01ea\u00f6\2\u0874\u0875\7") - buf.write("\u03bb\2\2\u0875\u0876\5\u0222\u0112\2\u0876\u0877\7\u03bc") - buf.write("\2\2\u0877\u0879\3\2\2\2\u0878\u0874\3\2\2\2\u0878\u0879") - buf.write("\3\2\2\2\u0879\u087a\3\2\2\2\u087a\u087b\7\17\2\2\u087b") - buf.write("\u0882\5\u00b4[\2\u087c\u087e\7\u00ab\2\2\u087d\u087f") - buf.write("\t\16\2\2\u087e\u087d\3\2\2\2\u087e\u087f\3\2\2\2\u087f") - buf.write("\u0880\3\2\2\2\u0880\u0881\7\33\2\2\u0881\u0883\7l\2\2") - buf.write("\u0882\u087c\3\2\2\2\u0882\u0883\3\2\2\2\u0883\u0085\3") - buf.write("\2\2\2\u0884\u088b\5^\60\2\u0885\u0887\7\u03bd\2\2\u0886") - buf.write("\u0885\3\2\2\2\u0886\u0887\3\2\2\2\u0887\u0888\3\2\2\2") - buf.write("\u0888\u088a\5^\60\2\u0889\u0886\3\2\2\2\u088a\u088d\3") - buf.write("\2\2\2\u088b\u0889\3\2\2\2\u088b\u088c\3\2\2\2\u088c\u09df") - buf.write("\3\2\2\2\u088d\u088b\3\2\2\2\u088e\u0890\7\t\2\2\u088f") - buf.write("\u0891\7\35\2\2\u0890\u088f\3\2\2\2\u0890\u0891\3\2\2") - buf.write("\2\u0891\u0892\3\2\2\2\u0892\u0893\5\u0204\u0103\2\u0893") - buf.write("\u0897\5P)\2\u0894\u0898\7\u0151\2\2\u0895\u0896\7\u00fe") - buf.write("\2\2\u0896\u0898\5\u0204\u0103\2\u0897\u0894\3\2\2\2\u0897") - buf.write("\u0895\3\2\2\2\u0897\u0898\3\2\2\2\u0898\u09df\3\2\2\2") - buf.write("\u0899\u089b\7\t\2\2\u089a\u089c\7\35\2\2\u089b\u089a") - buf.write("\3\2\2\2\u089b\u089c\3\2\2\2\u089c\u089d\3\2\2\2\u089d") - buf.write("\u089e\7\u03bb\2\2\u089e\u089f\5\u0204\u0103\2\u089f\u08a6") - buf.write("\5P)\2\u08a0\u08a1\7\u03bd\2\2\u08a1\u08a2\5\u0204\u0103") - buf.write("\2\u08a2\u08a3\5P)\2\u08a3\u08a5\3\2\2\2\u08a4\u08a0\3") - buf.write("\2\2\2\u08a5\u08a8\3\2\2\2\u08a6\u08a4\3\2\2\2\u08a6\u08a7") - buf.write("\3\2\2\2\u08a7\u08a9\3\2\2\2\u08a8\u08a6\3\2\2\2\u08a9") - buf.write("\u08aa\7\u03bc\2\2\u08aa\u09df\3\2\2\2\u08ab\u08ac\7\t") - buf.write("\2\2\u08ac\u08ae\t\24\2\2\u08ad\u08af\5\u0204\u0103\2") - buf.write("\u08ae\u08ad\3\2\2\2\u08ae\u08af\3\2\2\2\u08af\u08b1\3") - buf.write("\2\2\2\u08b0\u08b2\5@!\2\u08b1\u08b0\3\2\2\2\u08b1\u08b2") - buf.write("\3\2\2\2\u08b2\u08b3\3\2\2\2\u08b3\u08b7\5\u0226\u0114") - buf.write("\2\u08b4\u08b6\5B\"\2\u08b5\u08b4\3\2\2\2\u08b6\u08b9") - buf.write("\3\2\2\2\u08b7\u08b5\3\2\2\2\u08b7\u08b8\3\2\2\2\u08b8") - buf.write("\u09df\3\2\2\2\u08b9\u08b7\3\2\2\2\u08ba\u08bf\7\t\2\2") - buf.write("\u08bb\u08bd\7\37\2\2\u08bc\u08be\5\u0204\u0103\2\u08bd") - buf.write("\u08bc\3\2\2\2\u08bd\u08be\3\2\2\2\u08be\u08c0\3\2\2\2") - buf.write("\u08bf\u08bb\3\2\2\2\u08bf\u08c0\3\2\2\2\u08c0\u08c1\3") - buf.write("\2\2\2\u08c1\u08c2\7t\2\2\u08c2\u08c4\7S\2\2\u08c3\u08c5") - buf.write("\5@!\2\u08c4\u08c3\3\2\2\2\u08c4\u08c5\3\2\2\2\u08c5\u08c6") - buf.write("\3\2\2\2\u08c6\u08ca\5\u0226\u0114\2\u08c7\u08c9\5B\"") - buf.write("\2\u08c8\u08c7\3\2\2\2\u08c9\u08cc\3\2\2\2\u08ca\u08c8") - buf.write("\3\2\2\2\u08ca\u08cb\3\2\2\2\u08cb\u09df\3\2\2\2\u08cc") - buf.write("\u08ca\3\2\2\2\u08cd\u08d2\7\t\2\2\u08ce\u08d0\7\37\2") - buf.write("\2\u08cf\u08d1\5\u0204\u0103\2\u08d0\u08cf\3\2\2\2\u08d0") - buf.write("\u08d1\3\2\2\2\u08d1\u08d3\3\2\2\2\u08d2\u08ce\3\2\2\2") - buf.write("\u08d2\u08d3\3\2\2\2\u08d3\u08d4\3\2\2\2\u08d4\u08d6\7") - buf.write("\u00a0\2\2\u08d5\u08d7\t\24\2\2\u08d6\u08d5\3\2\2\2\u08d6") - buf.write("\u08d7\3\2\2\2\u08d7\u08d9\3\2\2\2\u08d8\u08da\5\u0204") - buf.write("\u0103\2\u08d9\u08d8\3\2\2\2\u08d9\u08da\3\2\2\2\u08da") - buf.write("\u08dc\3\2\2\2\u08db\u08dd\5@!\2\u08dc\u08db\3\2\2\2\u08dc") - buf.write("\u08dd\3\2\2\2\u08dd\u08de\3\2\2\2\u08de\u08e2\5\u0226") - buf.write("\u0114\2\u08df\u08e1\5B\"\2\u08e0\u08df\3\2\2\2\u08e1") - buf.write("\u08e4\3\2\2\2\u08e2\u08e0\3\2\2\2\u08e2\u08e3\3\2\2\2") - buf.write("\u08e3\u09df\3\2\2\2\u08e4\u08e2\3\2\2\2\u08e5\u08e6\7") - buf.write("\t\2\2\u08e6\u08e8\t\26\2\2\u08e7\u08e9\t\24\2\2\u08e8") - buf.write("\u08e7\3\2\2\2\u08e8\u08e9\3\2\2\2\u08e9\u08eb\3\2\2\2") - buf.write("\u08ea\u08ec\5\u0204\u0103\2\u08eb\u08ea\3\2\2\2\u08eb") - buf.write("\u08ec\3\2\2\2\u08ec\u08ed\3\2\2\2\u08ed\u08f1\5\u0226") - buf.write("\u0114\2\u08ee\u08f0\5B\"\2\u08ef\u08ee\3\2\2\2\u08f0") - buf.write("\u08f3\3\2\2\2\u08f1\u08ef\3\2\2\2\u08f1\u08f2\3\2\2\2") - buf.write("\u08f2\u09df\3\2\2\2\u08f3\u08f1\3\2\2\2\u08f4\u08f9\7") - buf.write("\t\2\2\u08f5\u08f7\7\37\2\2\u08f6\u08f8\5\u0204\u0103") - buf.write("\2\u08f7\u08f6\3\2\2\2\u08f7\u08f8\3\2\2\2\u08f8\u08fa") - buf.write("\3\2\2\2\u08f9\u08f5\3\2\2\2\u08f9\u08fa\3\2\2\2\u08fa") - buf.write("\u08fb\3\2\2\2\u08fb\u08fc\7>\2\2\u08fc\u08fe\7S\2\2\u08fd") - buf.write("\u08ff\5\u0204\u0103\2\u08fe\u08fd\3\2\2\2\u08fe\u08ff") - buf.write("\3\2\2\2\u08ff\u0900\3\2\2\2\u0900\u0901\5\u0226\u0114") - buf.write("\2\u0901\u0902\5V,\2\u0902\u09df\3\2\2\2\u0903\u0908\7") - buf.write("\t\2\2\u0904\u0906\7\37\2\2\u0905\u0907\5\u0204\u0103") - buf.write("\2\u0906\u0905\3\2\2\2\u0906\u0907\3\2\2\2\u0907\u0909") - buf.write("\3\2\2\2\u0908\u0904\3\2\2\2\u0908\u0909\3\2\2\2\u0909") - buf.write("\u090a\3\2\2\2\u090a\u090b\7\33\2\2\u090b\u090c\7\u03bb") - buf.write("\2\2\u090c\u090d\5\u0250\u0129\2\u090d\u090e\7\u03bc\2") - buf.write("\2\u090e\u09df\3\2\2\2\u090f\u0911\7\u0100\2\2\u0910\u0912") - buf.write("\7\u03b2\2\2\u0911\u0910\3\2\2\2\u0911\u0912\3\2\2\2\u0912") - buf.write("\u0913\3\2\2\2\u0913\u09df\t\5\2\2\u0914\u0916\7\13\2") - buf.write("\2\u0915\u0917\7\35\2\2\u0916\u0915\3\2\2\2\u0916\u0917") - buf.write("\3\2\2\2\u0917\u0918\3\2\2\2\u0918\u091e\5\u0204\u0103") - buf.write("\2\u0919\u091a\7\u0089\2\2\u091a\u091b\7)\2\2\u091b\u091f") - buf.write("\5\u0232\u011a\2\u091c\u091d\7\61\2\2\u091d\u091f\7)\2") - buf.write("\2\u091e\u0919\3\2\2\2\u091e\u091c\3\2\2\2\u091f\u09df") - buf.write("\3\2\2\2\u0920\u0922\7\31\2\2\u0921\u0923\7\35\2\2\u0922") - buf.write("\u0921\3\2\2\2\u0922\u0923\3\2\2\2\u0923\u0924\3\2\2\2") - buf.write("\u0924\u0925\5\u0204\u0103\2\u0925\u0926\5\u0204\u0103") - buf.write("\2\u0926\u092a\5P)\2\u0927\u092b\7\u0151\2\2\u0928\u0929") - buf.write("\7\u00fe\2\2\u0929\u092b\5\u0204\u0103\2\u092a\u0927\3") - buf.write("\2\2\2\u092a\u0928\3\2\2\2\u092a\u092b\3\2\2\2\u092b\u09df") - buf.write("\3\2\2\2\u092c\u092d\7}\2\2\u092d\u092e\7\35\2\2\u092e") - buf.write("\u092f\5\u0204\u0103\2\u092f\u0930\7\u009a\2\2\u0930\u0931") - buf.write("\5\u0204\u0103\2\u0931\u09df\3\2\2\2\u0932\u0934\7^\2") - buf.write("\2\u0933\u0935\7\u03b2\2\2\u0934\u0933\3\2\2\2\u0934\u0935") - buf.write("\3\2\2\2\u0935\u0936\3\2\2\2\u0936\u09df\t\6\2\2\u0937") - buf.write("\u0939\7\u019c\2\2\u0938\u093a\7\35\2\2\u0939\u0938\3") - buf.write("\2\2\2\u0939\u093a\3\2\2\2\u093a\u093b\3\2\2\2\u093b\u093c") - buf.write("\5\u0204\u0103\2\u093c\u0940\5P)\2\u093d\u0941\7\u0151") - buf.write("\2\2\u093e\u093f\7\u00fe\2\2\u093f\u0941\5\u0204\u0103") - buf.write("\2\u0940\u093d\3\2\2\2\u0940\u093e\3\2\2\2\u0940\u0941") - buf.write("\3\2\2\2\u0941\u09df\3\2\2\2\u0942\u0944\7\61\2\2\u0943") - buf.write("\u0945\7\35\2\2\u0944\u0943\3\2\2\2\u0944\u0945\3\2\2") - buf.write("\2\u0945\u0946\3\2\2\2\u0946\u09df\5\u0204\u0103\2\u0947") - buf.write("\u0948\7\61\2\2\u0948\u0949\7t\2\2\u0949\u09df\7S\2\2") - buf.write("\u094a\u094b\7\61\2\2\u094b\u094c\t\24\2\2\u094c\u09df") - buf.write("\5\u0204\u0103\2\u094d\u094e\7\61\2\2\u094e\u094f\7>\2") - buf.write("\2\u094f\u0950\7S\2\2\u0950\u09df\5\u0204\u0103\2\u0951") - buf.write("\u0952\7\u0132\2\2\u0952\u09df\7T\2\2\u0953\u0954\7\u0139") - buf.write("\2\2\u0954\u09df\7T\2\2\u0955\u0957\7}\2\2\u0956\u0958") - buf.write("\t\35\2\2\u0957\u0956\3\2\2\2\u0957\u0958\3\2\2\2\u0958") - buf.write("\u095b\3\2\2\2\u0959\u095c\5\u0204\u0103\2\u095a\u095c") - buf.write("\5\u01ea\u00f6\2\u095b\u0959\3\2\2\2\u095b\u095a\3\2\2") - buf.write("\2\u095c\u09df\3\2\2\2\u095d\u095e\7o\2\2\u095e\u095f") - buf.write("\7\24\2\2\u095f\u09df\5\u0222\u0112\2\u0960\u0961\7!\2") - buf.write("\2\u0961\u0962\7\u009a\2\2\u0962\u0963\7\32\2\2\u0963") - buf.write("\u0964\7\u0089\2\2\u0964\u0967\5\u01f6\u00fc\2\u0965\u0966") - buf.write("\7\34\2\2\u0966\u0968\5\u01f8\u00fd\2\u0967\u0965\3\2") - buf.write("\2\2\u0967\u0968\3\2\2\2\u0968\u09df\3\2\2\2\u0969\u096b") - buf.write("\7)\2\2\u096a\u0969\3\2\2\2\u096a\u096b\3\2\2\2\u096b") - buf.write("\u096c\3\2\2\2\u096c\u096d\7\32\2\2\u096d\u096e\7\u0089") - buf.write("\2\2\u096e\u096f\7\u03b2\2\2\u096f\u0973\5\u01f6\u00fc") - buf.write("\2\u0970\u0971\7\34\2\2\u0971\u0972\7\u03b2\2\2\u0972") - buf.write("\u0974\5\u01f8\u00fd\2\u0973\u0970\3\2\2\2\u0973\u0974") - buf.write("\3\2\2\2\u0974\u09df\3\2\2\2\u0975\u0976\7\u0133\2\2\u0976") - buf.write("\u09df\7\u020c\2\2\u0977\u0978\7\u0163\2\2\u0978\u09df") - buf.write("\7\u020c\2\2\u0979\u09df\7=\2\2\u097a\u097b\t\36\2\2\u097b") - buf.write("\u09df\7\u021e\2\2\u097c\u097d\7\t\2\2\u097d\u097e\7s") - buf.write("\2\2\u097e\u097f\7\u03bb\2\2\u097f\u0984\5h\65\2\u0980") - buf.write("\u0981\7\u03bd\2\2\u0981\u0983\5h\65\2\u0982\u0980\3\2") - buf.write("\2\2\u0983\u0986\3\2\2\2\u0984\u0982\3\2\2\2\u0984\u0985") - buf.write("\3\2\2\2\u0985\u0987\3\2\2\2\u0986\u0984\3\2\2\2\u0987") - buf.write("\u0988\7\u03bc\2\2\u0988\u09df\3\2\2\2\u0989\u098a\7\61") - buf.write("\2\2\u098a\u098b\7s\2\2\u098b\u09df\5\u0222\u0112\2\u098c") - buf.write("\u098d\7\u0133\2\2\u098d\u0990\7s\2\2\u098e\u0991\5\u0222") - buf.write("\u0112\2\u098f\u0991\7\n\2\2\u0990\u098e\3\2\2\2\u0990") - buf.write("\u098f\3\2\2\2\u0991\u0992\3\2\2\2\u0992\u09df\7\u020c") - buf.write("\2\2\u0993\u0994\7\u0163\2\2\u0994\u0997\7s\2\2\u0995") - buf.write("\u0998\5\u0222\u0112\2\u0996\u0998\7\n\2\2\u0997\u0995") - buf.write("\3\2\2\2\u0997\u0996\3\2\2\2\u0998\u0999\3\2\2\2\u0999") - buf.write("\u09df\7\u020c\2\2\u099a\u099b\7\u0213\2\2\u099b\u099e") - buf.write("\7s\2\2\u099c\u099f\5\u0222\u0112\2\u099d\u099f\7\n\2") - buf.write("\2\u099e\u099c\3\2\2\2\u099e\u099d\3\2\2\2\u099f\u09df") - buf.write("\3\2\2\2\u09a0\u09a1\7\u0118\2\2\u09a1\u09a2\7s\2\2\u09a2") - buf.write("\u09df\5\u020a\u0106\2\u09a3\u09a4\7\u01d1\2\2\u09a4\u09a5") - buf.write("\7s\2\2\u09a5\u09a6\5\u0222\u0112\2\u09a6\u09a7\7O\2\2") - buf.write("\u09a7\u09a8\7\u03bb\2\2\u09a8\u09ad\5h\65\2\u09a9\u09aa") - buf.write("\7\u03bd\2\2\u09aa\u09ac\5h\65\2\u09ab\u09a9\3\2\2\2\u09ac") - buf.write("\u09af\3\2\2\2\u09ad\u09ab\3\2\2\2\u09ad\u09ae\3\2\2\2") - buf.write("\u09ae\u09b0\3\2\2\2\u09af\u09ad\3\2\2\2\u09b0\u09b1\7") - buf.write("\u03bc\2\2\u09b1\u09df\3\2\2\2\u09b2\u09b3\7\u0146\2\2") - buf.write("\u09b3\u09b4\7s\2\2\u09b4\u09b5\5\u0204\u0103\2\u09b5") - buf.write("\u09b6\7\u00ab\2\2\u09b6\u09b7\7\u0097\2\2\u09b7\u09ba") - buf.write("\5\u01ec\u00f7\2\u09b8\u09b9\t\36\2\2\u09b9\u09bb\7\u021e") - buf.write("\2\2\u09ba\u09b8\3\2\2\2\u09ba\u09bb\3\2\2\2\u09bb\u09df") - buf.write("\3\2\2\2\u09bc\u09bd\7\r\2\2\u09bd\u09c0\7s\2\2\u09be") - buf.write("\u09c1\5\u0222\u0112\2\u09bf\u09c1\7\n\2\2\u09c0\u09be") - buf.write("\3\2\2\2\u09c0\u09bf\3\2\2\2\u09c1\u09df\3\2\2\2\u09c2") - buf.write("\u09c3\7\33\2\2\u09c3\u09c6\7s\2\2\u09c4\u09c7\5\u0222") - buf.write("\u0112\2\u09c5\u09c7\7\n\2\2\u09c6\u09c4\3\2\2\2\u09c6") - buf.write("\u09c5\3\2\2\2\u09c7\u09df\3\2\2\2\u09c8\u09c9\7k\2\2") - buf.write("\u09c9\u09cc\7s\2\2\u09ca\u09cd\5\u0222\u0112\2\u09cb") - buf.write("\u09cd\7\n\2\2\u09cc\u09ca\3\2\2\2\u09cc\u09cb\3\2\2\2") - buf.write("\u09cd\u09df\3\2\2\2\u09ce\u09cf\7\u01c8\2\2\u09cf\u09d2") - buf.write("\7s\2\2\u09d0\u09d3\5\u0222\u0112\2\u09d1\u09d3\7\n\2") - buf.write("\2\u09d2\u09d0\3\2\2\2\u09d2\u09d1\3\2\2\2\u09d3\u09df") - buf.write("\3\2\2\2\u09d4\u09d5\7\u01d2\2\2\u09d5\u09d8\7s\2\2\u09d6") - buf.write("\u09d9\5\u0222\u0112\2\u09d7\u09d9\7\n\2\2\u09d8\u09d6") - buf.write("\3\2\2\2\u09d8\u09d7\3\2\2\2\u09d9\u09df\3\2\2\2\u09da") - buf.write("\u09db\7\u01d0\2\2\u09db\u09df\7\u01b6\2\2\u09dc\u09dd") - buf.write("\7\u021a\2\2\u09dd\u09df\7\u01b6\2\2\u09de\u0884\3\2\2") - buf.write("\2\u09de\u088e\3\2\2\2\u09de\u0899\3\2\2\2\u09de\u08ab") - buf.write("\3\2\2\2\u09de\u08ba\3\2\2\2\u09de\u08cd\3\2\2\2\u09de") - buf.write("\u08e5\3\2\2\2\u09de\u08f4\3\2\2\2\u09de\u0903\3\2\2\2") - buf.write("\u09de\u090f\3\2\2\2\u09de\u0914\3\2\2\2\u09de\u0920\3") - buf.write("\2\2\2\u09de\u092c\3\2\2\2\u09de\u0932\3\2\2\2\u09de\u0937") - buf.write("\3\2\2\2\u09de\u0942\3\2\2\2\u09de\u0947\3\2\2\2\u09de") - buf.write("\u094a\3\2\2\2\u09de\u094d\3\2\2\2\u09de\u0951\3\2\2\2") - buf.write("\u09de\u0953\3\2\2\2\u09de\u0955\3\2\2\2\u09de\u095d\3") - buf.write("\2\2\2\u09de\u0960\3\2\2\2\u09de\u096a\3\2\2\2\u09de\u0975") - buf.write("\3\2\2\2\u09de\u0977\3\2\2\2\u09de\u0979\3\2\2\2\u09de") - buf.write("\u097a\3\2\2\2\u09de\u097c\3\2\2\2\u09de\u0989\3\2\2\2") - buf.write("\u09de\u098c\3\2\2\2\u09de\u0993\3\2\2\2\u09de\u099a\3") - buf.write("\2\2\2\u09de\u09a0\3\2\2\2\u09de\u09a3\3\2\2\2\u09de\u09b2") - buf.write("\3\2\2\2\u09de\u09bc\3\2\2\2\u09de\u09c2\3\2\2\2\u09de") - buf.write("\u09c8\3\2\2\2\u09de\u09ce\3\2\2\2\u09de\u09d4\3\2\2\2") - buf.write("\u09de\u09da\3\2\2\2\u09de\u09dc\3\2\2\2\u09df\u0087\3") - buf.write("\2\2\2\u09e0\u09e1\7\61\2\2\u09e1\u09e3\t\2\2\2\u09e2") - buf.write("\u09e4\5\u0238\u011d\2\u09e3\u09e2\3\2\2\2\u09e3\u09e4") - buf.write("\3\2\2\2\u09e4\u09e5\3\2\2\2\u09e5\u09e6\5\u0204\u0103") - buf.write("\2\u09e6\u0089\3\2\2\2\u09e7\u09e8\7\61\2\2\u09e8\u09ea") - buf.write("\7\u0143\2\2\u09e9\u09eb\5\u0238\u011d\2\u09ea\u09e9\3") - buf.write("\2\2\2\u09ea\u09eb\3\2\2\2\u09eb\u09ec\3\2\2\2\u09ec\u09ed") - buf.write("\5\u01ea\u00f6\2\u09ed\u008b\3\2\2\2\u09ee\u09ef\7\61") - buf.write("\2\2\u09ef\u09f1\7I\2\2\u09f0\u09f2\t\3\2\2\u09f1\u09f0") - buf.write("\3\2\2\2\u09f1\u09f2\3\2\2\2\u09f2\u09f3\3\2\2\2\u09f3") - buf.write("\u09f4\5\u0204\u0103\2\u09f4\u09f5\7j\2\2\u09f5\u09fb") - buf.write("\5\u01ec\u00f7\2\u09f6\u09f8\7\u0100\2\2\u09f7\u09f9\7") - buf.write("\u03b2\2\2\u09f8\u09f7\3\2\2\2\u09f8\u09f9\3\2\2\2\u09f9") - buf.write("\u09fa\3\2\2\2\u09fa\u09fc\t\5\2\2\u09fb\u09f6\3\2\2\2") - buf.write("\u09fb\u09fc\3\2\2\2\u09fc\u0a02\3\2\2\2\u09fd\u09ff\7") - buf.write("^\2\2\u09fe\u0a00\7\u03b2\2\2\u09ff\u09fe\3\2\2\2\u09ff") - buf.write("\u0a00\3\2\2\2\u0a00\u0a01\3\2\2\2\u0a01\u0a03\t\6\2\2") - buf.write("\u0a02\u09fd\3\2\2\2\u0a02\u0a03\3\2\2\2\u0a03\u008d\3") - buf.write("\2\2\2\u0a04\u0a05\7\61\2\2\u0a05\u0a06\7\u0179\2\2\u0a06") - buf.write("\u0a07\7C\2\2\u0a07\u0a08\5\u0204\u0103\2\u0a08\u0a09") - buf.write("\7\u013d\2\2\u0a09\u0a0a\7\u03b2\2\2\u0a0a\u0a0b\5\u01fa") - buf.write("\u00fe\2\u0a0b\u008f\3\2\2\2\u0a0c\u0a0d\7\61\2\2\u0a0d") - buf.write("\u0a0f\7u\2\2\u0a0e\u0a10\5\u0238\u011d\2\u0a0f\u0a0e") - buf.write("\3\2\2\2\u0a0f\u0a10\3\2\2\2\u0a10\u0a11\3\2\2\2\u0a11") - buf.write("\u0a12\5\u01ea\u00f6\2\u0a12\u0091\3\2\2\2\u0a13\u0a14") - buf.write("\7\61\2\2\u0a14\u0a16\7\u0157\2\2\u0a15\u0a17\5\u0238") - buf.write("\u011d\2\u0a16\u0a15\3\2\2\2\u0a16\u0a17\3\2\2\2\u0a17") - buf.write("\u0a18\3\2\2\2\u0a18\u0a19\5\u01ea\u00f6\2\u0a19\u0093") - buf.write("\3\2\2\2\u0a1a\u0a1b\7\61\2\2\u0a1b\u0a1d\7\u01e7\2\2") - buf.write("\u0a1c\u0a1e\5\u0238\u011d\2\u0a1d\u0a1c\3\2\2\2\u0a1d") - buf.write("\u0a1e\3\2\2\2\u0a1e\u0a1f\3\2\2\2\u0a1f\u0a20\5\u0204") - buf.write("\u0103\2\u0a20\u0095\3\2\2\2\u0a21\u0a23\7\61\2\2\u0a22") - buf.write("\u0a24\7\u020d\2\2\u0a23\u0a22\3\2\2\2\u0a23\u0a24\3\2") - buf.write("\2\2\u0a24\u0a25\3\2\2\2\u0a25\u0a27\7\u0097\2\2\u0a26") - buf.write("\u0a28\5\u0238\u011d\2\u0a27\u0a26\3\2\2\2\u0a27\u0a28") - buf.write("\3\2\2\2\u0a28\u0a29\3\2\2\2\u0a29\u0a2b\5\u0224\u0113") - buf.write("\2\u0a2a\u0a2c\t\37\2\2\u0a2b\u0a2a\3\2\2\2\u0a2b\u0a2c") - buf.write("\3\2\2\2\u0a2c\u0097\3\2\2\2\u0a2d\u0a2e\7\61\2\2\u0a2e") - buf.write("\u0a2f\7\u020c\2\2\u0a2f\u0a35\5\u0204\u0103\2\u0a30\u0a32") - buf.write("\7\u013d\2\2\u0a31\u0a33\7\u03b2\2\2\u0a32\u0a31\3\2\2") - buf.write("\2\u0a32\u0a33\3\2\2\2\u0a33\u0a34\3\2\2\2\u0a34\u0a36") - buf.write("\5\u01fa\u00fe\2\u0a35\u0a30\3\2\2\2\u0a35\u0a36\3\2\2") - buf.write("\2\u0a36\u0099\3\2\2\2\u0a37\u0a38\7\61\2\2\u0a38\u0a3a") - buf.write("\7\u009c\2\2\u0a39\u0a3b\5\u0238\u011d\2\u0a3a\u0a39\3") - buf.write("\2\2\2\u0a3a\u0a3b\3\2\2\2\u0a3b\u0a3c\3\2\2\2\u0a3c\u0a3d") - buf.write("\5\u01ea\u00f6\2\u0a3d\u009b\3\2\2\2\u0a3e\u0a3f\7\61") - buf.write("\2\2\u0a3f\u0a41\7\u0221\2\2\u0a40\u0a42\5\u0238\u011d") - buf.write("\2\u0a41\u0a40\3\2\2\2\u0a41\u0a42\3\2\2\2\u0a42\u0a43") - buf.write("\3\2\2\2\u0a43\u0a48\5\u01ea\u00f6\2\u0a44\u0a45\7\u03bd") - buf.write("\2\2\u0a45\u0a47\5\u01ea\u00f6\2\u0a46\u0a44\3\2\2\2\u0a47") - buf.write("\u0a4a\3\2\2\2\u0a48\u0a46\3\2\2\2\u0a48\u0a49\3\2\2\2") - buf.write("\u0a49\u0a4c\3\2\2\2\u0a4a\u0a48\3\2\2\2\u0a4b\u0a4d\t") - buf.write("\37\2\2\u0a4c\u0a4b\3\2\2\2\u0a4c\u0a4d\3\2\2\2\u0a4d") - buf.write("\u009d\3\2\2\2\u0a4e\u0a4f\7}\2\2\u0a4f\u0a50\7\u0097") - buf.write("\2\2\u0a50\u0a55\5\u00a0Q\2\u0a51\u0a52\7\u03bd\2\2\u0a52") - buf.write("\u0a54\5\u00a0Q\2\u0a53\u0a51\3\2\2\2\u0a54\u0a57\3\2") - buf.write("\2\2\u0a55\u0a53\3\2\2\2\u0a55\u0a56\3\2\2\2\u0a56\u009f") - buf.write("\3\2\2\2\u0a57\u0a55\3\2\2\2\u0a58\u0a59\5\u01ec\u00f7") - buf.write("\2\u0a59\u0a5a\7\u009a\2\2\u0a5a\u0a5b\5\u01ec\u00f7\2") - buf.write("\u0a5b\u00a1\3\2\2\2\u0a5c\u0a5e\7\u0213\2\2\u0a5d\u0a5f") - buf.write("\7\u0097\2\2\u0a5e\u0a5d\3\2\2\2\u0a5e\u0a5f\3\2\2\2\u0a5f") - buf.write("\u0a60\3\2\2\2\u0a60\u0a61\5\u01ec\u00f7\2\u0a61\u00a3") - buf.write("\3\2\2\2\u0a62\u0a63\7\25\2\2\u0a63\u0a6a\5\u01ea\u00f6") - buf.write("\2\u0a64\u0a67\7\u03bb\2\2\u0a65\u0a68\5\u022c\u0117\2") - buf.write("\u0a66\u0a68\5\u0228\u0115\2\u0a67\u0a65\3\2\2\2\u0a67") - buf.write("\u0a66\3\2\2\2\u0a67\u0a68\3\2\2\2\u0a68\u0a69\3\2\2\2") - buf.write("\u0a69\u0a6b\7\u03bc\2\2\u0a6a\u0a64\3\2\2\2\u0a6a\u0a6b") - buf.write("\3\2\2\2\u0a6b\u00a5\3\2\2\2\u0a6c\u0a6f\5\u00c0a\2\u0a6d") - buf.write("\u0a6f\5\u00c2b\2\u0a6e\u0a6c\3\2\2\2\u0a6e\u0a6d\3\2") - buf.write("\2\2\u0a6f\u00a7\3\2\2\2\u0a70\u0a71\7\u0135\2\2\u0a71") - buf.write("\u0a72\5\u0228\u0115\2\u0a72\u00a9\3\2\2\2\u0a73\u0a78") - buf.write("\5\u00c4c\2\u0a74\u0a78\5\u00c6d\2\u0a75\u0a78\5\u00c8") - buf.write("e\2\u0a76\u0a78\5\u00caf\2\u0a77\u0a73\3\2\2\2\u0a77\u0a74") - buf.write("\3\2\2\2\u0a77\u0a75\3\2\2\2\u0a77\u0a76\3\2\2\2\u0a78") - buf.write("\u00ab\3\2\2\2\u0a79\u0a7b\7M\2\2\u0a7a\u0a7c\t \2\2\u0a7b") - buf.write("\u0a7a\3\2\2\2\u0a7b\u0a7c\3\2\2\2\u0a7c\u0a7e\3\2\2\2") - buf.write("\u0a7d\u0a7f\7G\2\2\u0a7e\u0a7d\3\2\2\2\u0a7e\u0a7f\3") - buf.write("\2\2\2\u0a7f\u0a81\3\2\2\2\u0a80\u0a82\7O\2\2\u0a81\u0a80") - buf.write("\3\2\2\2\u0a81\u0a82\3\2\2\2\u0a82\u0a83\3\2\2\2\u0a83") - buf.write("\u0a89\5\u01ec\u00f7\2\u0a84\u0a85\7s\2\2\u0a85\u0a86") - buf.write("\7\u03bb\2\2\u0a86\u0a87\5\u0222\u0112\2\u0a87\u0a88\7") - buf.write("\u03bc\2\2\u0a88\u0a8a\3\2\2\2\u0a89\u0a84\3\2\2\2\u0a89") - buf.write("\u0a8a\3\2\2\2\u0a8a\u0a9b\3\2\2\2\u0a8b\u0a8c\7\u03bb") - buf.write("\2\2\u0a8c\u0a8d\5\u0222\u0112\2\u0a8d\u0a8e\7\u03bc\2") - buf.write("\2\u0a8e\u0a90\3\2\2\2\u0a8f\u0a8b\3\2\2\2\u0a8f\u0a90") - buf.write("\3\2\2\2\u0a90\u0a91\3\2\2\2\u0a91\u0a9c\5\u00b8]\2\u0a92") - buf.write("\u0a93\7\u0089\2\2\u0a93\u0a98\5\u00ba^\2\u0a94\u0a95") - buf.write("\7\u03bd\2\2\u0a95\u0a97\5\u00ba^\2\u0a96\u0a94\3\2\2") - buf.write("\2\u0a97\u0a9a\3\2\2\2\u0a98\u0a96\3\2\2\2\u0a98\u0a99") - buf.write("\3\2\2\2\u0a99\u0a9c\3\2\2\2\u0a9a\u0a98\3\2\2\2\u0a9b") - buf.write("\u0a8f\3\2\2\2\u0a9b\u0a92\3\2\2\2\u0a9c\u0aa9\3\2\2\2") - buf.write("\u0a9d\u0a9e\7j\2\2\u0a9e\u0a9f\7\u0137\2\2\u0a9f\u0aa0") - buf.write("\7S\2\2\u0aa0\u0aa1\7\u00a3\2\2\u0aa1\u0aa6\5\u00ba^\2") - buf.write("\u0aa2\u0aa3\7\u03bd\2\2\u0aa3\u0aa5\5\u00ba^\2\u0aa4") - buf.write("\u0aa2\3\2\2\2\u0aa5\u0aa8\3\2\2\2\u0aa6\u0aa4\3\2\2\2") - buf.write("\u0aa6\u0aa7\3\2\2\2\u0aa7\u0aaa\3\2\2\2\u0aa8\u0aa6\3") - buf.write("\2\2\2\u0aa9\u0a9d\3\2\2\2\u0aa9\u0aaa\3\2\2\2\u0aaa\u00ad") - buf.write("\3\2\2\2\u0aab\u0aac\7]\2\2\u0aac\u0aae\7\u012a\2\2\u0aad") - buf.write("\u0aaf\t!\2\2\u0aae\u0aad\3\2\2\2\u0aae\u0aaf\3\2\2\2") - buf.write("\u0aaf\u0ab1\3\2\2\2\u0ab0\u0ab2\7\u0178\2\2\u0ab1\u0ab0") - buf.write("\3\2\2\2\u0ab1\u0ab2\3\2\2\2\u0ab2\u0ab3\3\2\2\2\u0ab3") - buf.write("\u0ab4\7J\2\2\u0ab4\u0ab6\7\u03ca\2\2\u0ab5\u0ab7\t\b") - buf.write("\2\2\u0ab6\u0ab5\3\2\2\2\u0ab6\u0ab7\3\2\2\2\u0ab7\u0ab8") - buf.write("\3\2\2\2\u0ab8\u0ab9\7O\2\2\u0ab9\u0aba\7\u0097\2\2\u0aba") - buf.write("\u0ac0\5\u01ec\u00f7\2\u0abb\u0abc\7s\2\2\u0abc\u0abd") - buf.write("\7\u03bb\2\2\u0abd\u0abe\5\u0222\u0112\2\u0abe\u0abf\7") - buf.write("\u03bc\2\2\u0abf\u0ac1\3\2\2\2\u0ac0\u0abb\3\2\2\2\u0ac0") - buf.write("\u0ac1\3\2\2\2\u0ac1\u0ac5\3\2\2\2\u0ac2\u0ac3\7\32\2") - buf.write("\2\u0ac3\u0ac4\7\u0089\2\2\u0ac4\u0ac6\5\u01f6\u00fc\2") - buf.write("\u0ac5\u0ac2\3\2\2\2\u0ac5\u0ac6\3\2\2\2\u0ac6\u0acd\3") - buf.write("\2\2\2\u0ac7\u0ac9\t\"\2\2\u0ac8\u0aca\5\u00f8}\2\u0ac9") - buf.write("\u0ac8\3\2\2\2\u0aca\u0acb\3\2\2\2\u0acb\u0ac9\3\2\2\2") - buf.write("\u0acb\u0acc\3\2\2\2\u0acc\u0ace\3\2\2\2\u0acd\u0ac7\3") - buf.write("\2\2\2\u0acd\u0ace\3\2\2\2\u0ace\u0ad5\3\2\2\2\u0acf\u0ad1") - buf.write("\7\\\2\2\u0ad0\u0ad2\5\u00fa~\2\u0ad1\u0ad0\3\2\2\2\u0ad2") - buf.write("\u0ad3\3\2\2\2\u0ad3\u0ad1\3\2\2\2\u0ad3\u0ad4\3\2\2\2") - buf.write("\u0ad4\u0ad6\3\2\2\2\u0ad5\u0acf\3\2\2\2\u0ad5\u0ad6\3") - buf.write("\2\2\2\u0ad6\u0adb\3\2\2\2\u0ad7\u0ad8\7G\2\2\u0ad8\u0ad9") - buf.write("\5\u020a\u0106\2\u0ad9\u0ada\t#\2\2\u0ada\u0adc\3\2\2") - buf.write("\2\u0adb\u0ad7\3\2\2\2\u0adb\u0adc\3\2\2\2\u0adc\u0ae8") - buf.write("\3\2\2\2\u0add\u0ade\7\u03bb\2\2\u0ade\u0ae3\5\u00bc_") - buf.write("\2\u0adf\u0ae0\7\u03bd\2\2\u0ae0\u0ae2\5\u00bc_\2\u0ae1") - buf.write("\u0adf\3\2\2\2\u0ae2\u0ae5\3\2\2\2\u0ae3\u0ae1\3\2\2\2") - buf.write("\u0ae3\u0ae4\3\2\2\2\u0ae4\u0ae6\3\2\2\2\u0ae5\u0ae3\3") - buf.write("\2\2\2\u0ae6\u0ae7\7\u03bc\2\2\u0ae7\u0ae9\3\2\2\2\u0ae8") - buf.write("\u0add\3\2\2\2\u0ae8\u0ae9\3\2\2\2\u0ae9\u0af3\3\2\2\2") - buf.write("\u0aea\u0aeb\7\u0089\2\2\u0aeb\u0af0\5\u00ba^\2\u0aec") - buf.write("\u0aed\7\u03bd\2\2\u0aed\u0aef\5\u00ba^\2\u0aee\u0aec") - buf.write("\3\2\2\2\u0aef\u0af2\3\2\2\2\u0af0\u0aee\3\2\2\2\u0af0") - buf.write("\u0af1\3\2\2\2\u0af1\u0af4\3\2\2\2\u0af2\u0af0\3\2\2\2") - buf.write("\u0af3\u0aea\3\2\2\2\u0af3\u0af4\3\2\2\2\u0af4\u00af\3") - buf.write("\2\2\2\u0af5\u0af6\7]\2\2\u0af6\u0af8\7\u022a\2\2\u0af7") - buf.write("\u0af9\t!\2\2\u0af8\u0af7\3\2\2\2\u0af8\u0af9\3\2\2\2") - buf.write("\u0af9\u0afb\3\2\2\2\u0afa\u0afc\7\u0178\2\2\u0afb\u0afa") - buf.write("\3\2\2\2\u0afb\u0afc\3\2\2\2\u0afc\u0afd\3\2\2\2\u0afd") - buf.write("\u0afe\7J\2\2\u0afe\u0b00\7\u03ca\2\2\u0aff\u0b01\t\b") - buf.write("\2\2\u0b00\u0aff\3\2\2\2\u0b00\u0b01\3\2\2\2\u0b01\u0b02") - buf.write("\3\2\2\2\u0b02\u0b03\7O\2\2\u0b03\u0b04\7\u0097\2\2\u0b04") - buf.write("\u0b08\5\u01ec\u00f7\2\u0b05\u0b06\7\32\2\2\u0b06\u0b07") - buf.write("\7\u0089\2\2\u0b07\u0b09\5\u01f6\u00fc\2\u0b08\u0b05\3") - buf.write("\2\2\2\u0b08\u0b09\3\2\2\2\u0b09\u0b10\3\2\2\2\u0b0a\u0b0b") - buf.write("\7\u01e2\2\2\u0b0b\u0b0c\7\u0161\2\2\u0b0c\u0b0d\7\24") - buf.write("\2\2\u0b0d\u0b0e\7\u03b4\2\2\u0b0e\u0b0f\7\u03ca\2\2\u0b0f") - buf.write("\u0b11\7\u03b3\2\2\u0b10\u0b0a\3\2\2\2\u0b10\u0b11\3\2") - buf.write("\2\2\u0b11\u0b16\3\2\2\2\u0b12\u0b13\7G\2\2\u0b13\u0b14") - buf.write("\5\u020a\u0106\2\u0b14\u0b15\t#\2\2\u0b15\u0b17\3\2\2") - buf.write("\2\u0b16\u0b12\3\2\2\2\u0b16\u0b17\3\2\2\2\u0b17\u0b23") - buf.write("\3\2\2\2\u0b18\u0b19\7\u03bb\2\2\u0b19\u0b1e\5\u00bc_") - buf.write("\2\u0b1a\u0b1b\7\u03bd\2\2\u0b1b\u0b1d\5\u00bc_\2\u0b1c") - buf.write("\u0b1a\3\2\2\2\u0b1d\u0b20\3\2\2\2\u0b1e\u0b1c\3\2\2\2") - buf.write("\u0b1e\u0b1f\3\2\2\2\u0b1f\u0b21\3\2\2\2\u0b20\u0b1e\3") - buf.write("\2\2\2\u0b21\u0b22\7\u03bc\2\2\u0b22\u0b24\3\2\2\2\u0b23") - buf.write("\u0b18\3\2\2\2\u0b23\u0b24\3\2\2\2\u0b24\u0b2e\3\2\2\2") - buf.write("\u0b25\u0b26\7\u0089\2\2\u0b26\u0b2b\5\u00ba^\2\u0b27") - buf.write("\u0b28\7\u03bd\2\2\u0b28\u0b2a\5\u00ba^\2\u0b29\u0b27") - buf.write("\3\2\2\2\u0b2a\u0b2d\3\2\2\2\u0b2b\u0b29\3\2\2\2\u0b2b") - buf.write("\u0b2c\3\2\2\2\u0b2c\u0b2f\3\2\2\2\u0b2d\u0b2b\3\2\2\2") - buf.write("\u0b2e\u0b25\3\2\2\2\u0b2e\u0b2f\3\2\2\2\u0b2f\u00b1\3") - buf.write("\2\2\2\u0b30\u0b32\7\177\2\2\u0b31\u0b33\t$\2\2\u0b32") - buf.write("\u0b31\3\2\2\2\u0b32\u0b33\3\2\2\2\u0b33\u0b35\3\2\2\2") - buf.write("\u0b34\u0b36\7O\2\2\u0b35\u0b34\3\2\2\2\u0b35\u0b36\3") - buf.write("\2\2\2\u0b36\u0b37\3\2\2\2\u0b37\u0b3d\5\u01ec\u00f7\2") - buf.write("\u0b38\u0b39\7s\2\2\u0b39\u0b3a\7\u03bb\2\2\u0b3a\u0b3b") - buf.write("\5\u0222\u0112\2\u0b3b\u0b3c\7\u03bc\2\2\u0b3c\u0b3e\3") - buf.write("\2\2\2\u0b3d\u0b38\3\2\2\2\u0b3d\u0b3e\3\2\2\2\u0b3e\u0b4f") - buf.write("\3\2\2\2\u0b3f\u0b40\7\u03bb\2\2\u0b40\u0b41\5\u0222\u0112") - buf.write("\2\u0b41\u0b42\7\u03bc\2\2\u0b42\u0b44\3\2\2\2\u0b43\u0b3f") - buf.write("\3\2\2\2\u0b43\u0b44\3\2\2\2\u0b44\u0b45\3\2\2\2\u0b45") - buf.write("\u0b50\5\u00b8]\2\u0b46\u0b47\7\u0089\2\2\u0b47\u0b4c") - buf.write("\5\u00ba^\2\u0b48\u0b49\7\u03bd\2\2\u0b49\u0b4b\5\u00ba") - buf.write("^\2\u0b4a\u0b48\3\2\2\2\u0b4b\u0b4e\3\2\2\2\u0b4c\u0b4a") - buf.write("\3\2\2\2\u0b4c\u0b4d\3\2\2\2\u0b4d\u0b50\3\2\2\2\u0b4e") - buf.write("\u0b4c\3\2\2\2\u0b4f\u0b43\3\2\2\2\u0b4f\u0b46\3\2\2\2") - buf.write("\u0b50\u00b3\3\2\2\2\u0b51\u0b53\5\u00e4s\2\u0b52\u0b54") - buf.write("\5\u00be`\2\u0b53\u0b52\3\2\2\2\u0b53\u0b54\3\2\2\2\u0b54") - buf.write("\u0b89\3\2\2\2\u0b55\u0b57\5\u00e0q\2\u0b56\u0b58\5\u00be") - buf.write("`\2\u0b57\u0b56\3\2\2\2\u0b57\u0b58\3\2\2\2\u0b58\u0b89") - buf.write("\3\2\2\2\u0b59\u0b5b\5\u00e6t\2\u0b5a\u0b5c\5\u00eav\2") - buf.write("\u0b5b\u0b5a\3\2\2\2\u0b5c\u0b5d\3\2\2\2\u0b5d\u0b5b\3") - buf.write("\2\2\2\u0b5d\u0b5e\3\2\2\2\u0b5e\u0b67\3\2\2\2\u0b5f\u0b61") - buf.write("\7\u009f\2\2\u0b60\u0b62\t%\2\2\u0b61\u0b60\3\2\2\2\u0b61") - buf.write("\u0b62\3\2\2\2\u0b62\u0b65\3\2\2\2\u0b63\u0b66\5\u00e4") - buf.write("s\2\u0b64\u0b66\5\u00e0q\2\u0b65\u0b63\3\2\2\2\u0b65\u0b64") - buf.write("\3\2\2\2\u0b66\u0b68\3\2\2\2\u0b67\u0b5f\3\2\2\2\u0b67") - buf.write("\u0b68\3\2\2\2\u0b68\u0b6a\3\2\2\2\u0b69\u0b6b\5\u00d0") - buf.write("i\2\u0b6a\u0b69\3\2\2\2\u0b6a\u0b6b\3\2\2\2\u0b6b\u0b6d") - buf.write("\3\2\2\2\u0b6c\u0b6e\5\u0100\u0081\2\u0b6d\u0b6c\3\2\2") - buf.write("\2\u0b6d\u0b6e\3\2\2\2\u0b6e\u0b70\3\2\2\2\u0b6f\u0b71") - buf.write("\5\u00be`\2\u0b70\u0b6f\3\2\2\2\u0b70\u0b71\3\2\2\2\u0b71") - buf.write("\u0b89\3\2\2\2\u0b72\u0b74\5\u00e2r\2\u0b73\u0b75\5\u00e8") - buf.write("u\2\u0b74\u0b73\3\2\2\2\u0b75\u0b76\3\2\2\2\u0b76\u0b74") - buf.write("\3\2\2\2\u0b76\u0b77\3\2\2\2\u0b77\u0b7d\3\2\2\2\u0b78") - buf.write("\u0b7a\7\u009f\2\2\u0b79\u0b7b\t%\2\2\u0b7a\u0b79\3\2") - buf.write("\2\2\u0b7a\u0b7b\3\2\2\2\u0b7b\u0b7c\3\2\2\2\u0b7c\u0b7e") - buf.write("\5\u00e0q\2\u0b7d\u0b78\3\2\2\2\u0b7d\u0b7e\3\2\2\2\u0b7e") - buf.write("\u0b80\3\2\2\2\u0b7f\u0b81\5\u00d0i\2\u0b80\u0b7f\3\2") - buf.write("\2\2\u0b80\u0b81\3\2\2\2\u0b81\u0b83\3\2\2\2\u0b82\u0b84") - buf.write("\5\u0100\u0081\2\u0b83\u0b82\3\2\2\2\u0b83\u0b84\3\2\2") - buf.write("\2\u0b84\u0b86\3\2\2\2\u0b85\u0b87\5\u00be`\2\u0b86\u0b85") - buf.write("\3\2\2\2\u0b86\u0b87\3\2\2\2\u0b87\u0b89\3\2\2\2\u0b88") - buf.write("\u0b51\3\2\2\2\u0b88\u0b55\3\2\2\2\u0b88\u0b59\3\2\2\2") - buf.write("\u0b88\u0b72\3\2\2\2\u0b89\u00b5\3\2\2\2\u0b8a\u0b8d\5") - buf.write("\u00ccg\2\u0b8b\u0b8d\5\u00ceh\2\u0b8c\u0b8a\3\2\2\2\u0b8c") - buf.write("\u0b8b\3\2\2\2\u0b8d\u00b7\3\2\2\2\u0b8e\u0b9e\5\u00b4") - buf.write("[\2\u0b8f\u0b90\t&\2\2\u0b90\u0b91\7\u03bb\2\2\u0b91\u0b92") - buf.write("\5\u022a\u0116\2\u0b92\u0b9a\7\u03bc\2\2\u0b93\u0b94\7") - buf.write("\u03bd\2\2\u0b94\u0b95\7\u03bb\2\2\u0b95\u0b96\5\u022a") - buf.write("\u0116\2\u0b96\u0b97\7\u03bc\2\2\u0b97\u0b99\3\2\2\2\u0b98") - buf.write("\u0b93\3\2\2\2\u0b99\u0b9c\3\2\2\2\u0b9a\u0b98\3\2\2\2") - buf.write("\u0b9a\u0b9b\3\2\2\2\u0b9b\u0b9e\3\2\2\2\u0b9c\u0b9a\3") - buf.write("\2\2\2\u0b9d\u0b8e\3\2\2\2\u0b9d\u0b8f\3\2\2\2\u0b9e\u00b9") - buf.write("\3\2\2\2\u0b9f\u0ba0\5\u01ee\u00f8\2\u0ba0\u0ba3\7\u03b2") - buf.write("\2\2\u0ba1\u0ba4\5\u0250\u0129\2\u0ba2\u0ba4\7)\2\2\u0ba3") - buf.write("\u0ba1\3\2\2\2\u0ba3\u0ba2\3\2\2\2\u0ba4\u00bb\3\2\2\2") - buf.write("\u0ba5\u0ba8\5\u0204\u0103\2\u0ba6\u0ba8\7\u03d5\2\2\u0ba7") - buf.write("\u0ba5\3\2\2\2\u0ba7\u0ba6\3\2\2\2\u0ba8\u00bd\3\2\2\2") - buf.write("\u0ba9\u0baa\7<\2\2\u0baa\u0bb0\7\u00a3\2\2\u0bab\u0bac") - buf.write("\7^\2\2\u0bac\u0bad\7H\2\2\u0bad\u0bae\7\u01e9\2\2\u0bae") - buf.write("\u0bb0\7\u019b\2\2\u0baf\u0ba9\3\2\2\2\u0baf\u0bab\3\2") - buf.write("\2\2\u0bb0\u00bf\3\2\2\2\u0bb1\u0bb3\7+\2\2\u0bb2\u0bb4") - buf.write("\7`\2\2\u0bb3\u0bb2\3\2\2\2\u0bb3\u0bb4\3\2\2\2\u0bb4") - buf.write("\u0bb6\3\2\2\2\u0bb5\u0bb7\7\u01c7\2\2\u0bb6\u0bb5\3\2") - buf.write("\2\2\u0bb6\u0bb7\3\2\2\2\u0bb7\u0bb9\3\2\2\2\u0bb8\u0bba") - buf.write("\7G\2\2\u0bb9\u0bb8\3\2\2\2\u0bb9\u0bba\3\2\2\2\u0bba") - buf.write("\u0bbb\3\2\2\2\u0bbb\u0bbc\7?\2\2\u0bbc\u0bc2\5\u01ec") - buf.write("\u00f7\2\u0bbd\u0bbe\7s\2\2\u0bbe\u0bbf\7\u03bb\2\2\u0bbf") - buf.write("\u0bc0\5\u0222\u0112\2\u0bc0\u0bc1\7\u03bc\2\2\u0bc1\u0bc3") - buf.write("\3\2\2\2\u0bc2\u0bbd\3\2\2\2\u0bc2\u0bc3\3\2\2\2\u0bc3") - buf.write("\u0bc6\3\2\2\2\u0bc4\u0bc5\7\u00a9\2\2\u0bc5\u0bc7\5\u0250") - buf.write("\u0129\2\u0bc6\u0bc4\3\2\2\2\u0bc6\u0bc7\3\2\2\2\u0bc7") - buf.write("\u0bc9\3\2\2\2\u0bc8\u0bca\5\u00d0i\2\u0bc9\u0bc8\3\2") - buf.write("\2\2\u0bc9\u0bca\3\2\2\2\u0bca\u0bcd\3\2\2\2\u0bcb\u0bcc") - buf.write("\7Z\2\2\u0bcc\u0bce\5\u020a\u0106\2\u0bcd\u0bcb\3\2\2") - buf.write("\2\u0bcd\u0bce\3\2\2\2\u0bce\u00c1\3\2\2\2\u0bcf\u0bd1") - buf.write("\7+\2\2\u0bd0\u0bd2\7`\2\2\u0bd1\u0bd0\3\2\2\2\u0bd1\u0bd2") - buf.write("\3\2\2\2\u0bd2\u0bd4\3\2\2\2\u0bd3\u0bd5\7\u01c7\2\2\u0bd4") - buf.write("\u0bd3\3\2\2\2\u0bd4\u0bd5\3\2\2\2\u0bd5\u0bd7\3\2\2\2") - buf.write("\u0bd6\u0bd8\7G\2\2\u0bd7\u0bd6\3\2\2\2\u0bd7\u0bd8\3") - buf.write("\2\2\2\u0bd8\u0c00\3\2\2\2\u0bd9\u0bdc\5\u01ec\u00f7\2") - buf.write("\u0bda\u0bdb\7\u03ba\2\2\u0bdb\u0bdd\7\u03aa\2\2\u0bdc") - buf.write("\u0bda\3\2\2\2\u0bdc\u0bdd\3\2\2\2\u0bdd\u0be6\3\2\2\2") - buf.write("\u0bde\u0bdf\7\u03bd\2\2\u0bdf\u0be2\5\u01ec\u00f7\2\u0be0") - buf.write("\u0be1\7\u03ba\2\2\u0be1\u0be3\7\u03aa\2\2\u0be2\u0be0") - buf.write("\3\2\2\2\u0be2\u0be3\3\2\2\2\u0be3\u0be5\3\2\2\2\u0be4") - buf.write("\u0bde\3\2\2\2\u0be5\u0be8\3\2\2\2\u0be6\u0be4\3\2\2\2") - buf.write("\u0be6\u0be7\3\2\2\2\u0be7\u0be9\3\2\2\2\u0be8\u0be6\3") - buf.write("\2\2\2\u0be9\u0bea\7?\2\2\u0bea\u0beb\5\u00d4k\2\u0beb") - buf.write("\u0c01\3\2\2\2\u0bec\u0bed\7?\2\2\u0bed\u0bf0\5\u01ec") - buf.write("\u00f7\2\u0bee\u0bef\7\u03ba\2\2\u0bef\u0bf1\7\u03aa\2") - buf.write("\2\u0bf0\u0bee\3\2\2\2\u0bf0\u0bf1\3\2\2\2\u0bf1\u0bfa") - buf.write("\3\2\2\2\u0bf2\u0bf3\7\u03bd\2\2\u0bf3\u0bf6\5\u01ec\u00f7") - buf.write("\2\u0bf4\u0bf5\7\u03ba\2\2\u0bf5\u0bf7\7\u03aa\2\2\u0bf6") - buf.write("\u0bf4\3\2\2\2\u0bf6\u0bf7\3\2\2\2\u0bf7\u0bf9\3\2\2\2") - buf.write("\u0bf8\u0bf2\3\2\2\2\u0bf9\u0bfc\3\2\2\2\u0bfa\u0bf8\3") - buf.write("\2\2\2\u0bfa\u0bfb\3\2\2\2\u0bfb\u0bfd\3\2\2\2\u0bfc\u0bfa") - buf.write("\3\2\2\2\u0bfd\u0bfe\7\u00a6\2\2\u0bfe\u0bff\5\u00d4k") - buf.write("\2\u0bff\u0c01\3\2\2\2\u0c00\u0bd9\3\2\2\2\u0c00\u0bec") - buf.write("\3\2\2\2\u0c01\u0c04\3\2\2\2\u0c02\u0c03\7\u00a9\2\2\u0c03") - buf.write("\u0c05\5\u0250\u0129\2\u0c04\u0c02\3\2\2\2\u0c04\u0c05") - buf.write("\3\2\2\2\u0c05\u00c3\3\2\2\2\u0c06\u0c07\7\u015c\2\2\u0c07") - buf.write("\u0c08\5\u01ec\u00f7\2\u0c08\u0c0d\7\u01ae\2\2\u0c09\u0c0b") - buf.write("\7\17\2\2\u0c0a\u0c09\3\2\2\2\u0c0a\u0c0b\3\2\2\2\u0c0b") - buf.write("\u0c0c\3\2\2\2\u0c0c\u0c0e\5\u0204\u0103\2\u0c0d\u0c0a") - buf.write("\3\2\2\2\u0c0d\u0c0e\3\2\2\2\u0c0e\u00c5\3\2\2\2\u0c0f") - buf.write("\u0c10\7\u015c\2\2\u0c10\u0c11\5\u01ec\u00f7\2\u0c11\u0c12") - buf.write("\7x\2\2\u0c12\u0c19\5\u0204\u0103\2\u0c13\u0c14\5\u0258") - buf.write("\u012d\2\u0c14\u0c15\7\u03bb\2\2\u0c15\u0c16\5\u022c\u0117") - buf.write("\2\u0c16\u0c17\7\u03bc\2\2\u0c17\u0c1a\3\2\2\2\u0c18\u0c1a") - buf.write("\t\'\2\2\u0c19\u0c13\3\2\2\2\u0c19\u0c18\3\2\2\2\u0c1a") - buf.write("\u0c1d\3\2\2\2\u0c1b\u0c1c\7\u00a9\2\2\u0c1c\u0c1e\5\u0250") - buf.write("\u0129\2\u0c1d\u0c1b\3\2\2\2\u0c1d\u0c1e\3\2\2\2\u0c1e") - buf.write("\u0c21\3\2\2\2\u0c1f\u0c20\7Z\2\2\u0c20\u0c22\5\u020a") - buf.write("\u0106\2\u0c21\u0c1f\3\2\2\2\u0c21\u0c22\3\2\2\2\u0c22") - buf.write("\u00c7\3\2\2\2\u0c23\u0c24\7\u015c\2\2\u0c24\u0c25\5\u01ec") - buf.write("\u00f7\2\u0c25\u0c26\7x\2\2\u0c26\u0c29\t(\2\2\u0c27\u0c28") - buf.write("\7\u00a9\2\2\u0c28\u0c2a\5\u0250\u0129\2\u0c29\u0c27\3") - buf.write("\2\2\2\u0c29\u0c2a\3\2\2\2\u0c2a\u0c2d\3\2\2\2\u0c2b\u0c2c") - buf.write("\7Z\2\2\u0c2c\u0c2e\5\u020a\u0106\2\u0c2d\u0c2b\3\2\2") - buf.write("\2\u0c2d\u0c2e\3\2\2\2\u0c2e\u00c9\3\2\2\2\u0c2f\u0c30") - buf.write("\7\u015c\2\2\u0c30\u0c31\5\u01ec\u00f7\2\u0c31\u0c32\7") - buf.write("\u0117\2\2\u0c32\u00cb\3\2\2\2\u0c33\u0c35\7\u00a3\2\2") - buf.write("\u0c34\u0c36\7`\2\2\u0c35\u0c34\3\2\2\2\u0c35\u0c36\3") - buf.write("\2\2\2\u0c36\u0c38\3\2\2\2\u0c37\u0c39\7G\2\2\u0c38\u0c37") - buf.write("\3\2\2\2\u0c38\u0c39\3\2\2\2\u0c39\u0c3a\3\2\2\2\u0c3a") - buf.write("\u0c3f\5\u01ec\u00f7\2\u0c3b\u0c3d\7\17\2\2\u0c3c\u0c3b") - buf.write("\3\2\2\2\u0c3c\u0c3d\3\2\2\2\u0c3d\u0c3e\3\2\2\2\u0c3e") - buf.write("\u0c40\5\u0204\u0103\2\u0c3f\u0c3c\3\2\2\2\u0c3f\u0c40") - buf.write("\3\2\2\2\u0c40\u0c41\3\2\2\2\u0c41\u0c42\7\u0089\2\2\u0c42") - buf.write("\u0c47\5\u00ba^\2\u0c43\u0c44\7\u03bd\2\2\u0c44\u0c46") - buf.write("\5\u00ba^\2\u0c45\u0c43\3\2\2\2\u0c46\u0c49\3\2\2\2\u0c47") - buf.write("\u0c45\3\2\2\2\u0c47\u0c48\3\2\2\2\u0c48\u0c4c\3\2\2\2") - buf.write("\u0c49\u0c47\3\2\2\2\u0c4a\u0c4b\7\u00a9\2\2\u0c4b\u0c4d") - buf.write("\5\u0250\u0129\2\u0c4c\u0c4a\3\2\2\2\u0c4c\u0c4d\3\2\2") - buf.write("\2\u0c4d\u0c4f\3\2\2\2\u0c4e\u0c50\5\u00d0i\2\u0c4f\u0c4e") - buf.write("\3\2\2\2\u0c4f\u0c50\3\2\2\2\u0c50\u0c52\3\2\2\2\u0c51") - buf.write("\u0c53\5\u0100\u0081\2\u0c52\u0c51\3\2\2\2\u0c52\u0c53") - buf.write("\3\2\2\2\u0c53\u00cd\3\2\2\2\u0c54\u0c56\7\u00a3\2\2\u0c55") - buf.write("\u0c57\7`\2\2\u0c56\u0c55\3\2\2\2\u0c56\u0c57\3\2\2\2") - buf.write("\u0c57\u0c59\3\2\2\2\u0c58\u0c5a\7G\2\2\u0c59\u0c58\3") - buf.write("\2\2\2\u0c59\u0c5a\3\2\2\2\u0c5a\u0c5b\3\2\2\2\u0c5b\u0c5c") - buf.write("\5\u00d4k\2\u0c5c\u0c5d\7\u0089\2\2\u0c5d\u0c62\5\u00ba") - buf.write("^\2\u0c5e\u0c5f\7\u03bd\2\2\u0c5f\u0c61\5\u00ba^\2\u0c60") - buf.write("\u0c5e\3\2\2\2\u0c61\u0c64\3\2\2\2\u0c62\u0c60\3\2\2\2") - buf.write("\u0c62\u0c63\3\2\2\2\u0c63\u0c67\3\2\2\2\u0c64\u0c62\3") - buf.write("\2\2\2\u0c65\u0c66\7\u00a9\2\2\u0c66\u0c68\5\u0250\u0129") - buf.write("\2\u0c67\u0c65\3\2\2\2\u0c67\u0c68\3\2\2\2\u0c68\u00cf") - buf.write("\3\2\2\2\u0c69\u0c6a\7o\2\2\u0c6a\u0c6b\7\24\2\2\u0c6b") - buf.write("\u0c70\5\u00d2j\2\u0c6c\u0c6d\7\u03bd\2\2\u0c6d\u0c6f") - buf.write("\5\u00d2j\2\u0c6e\u0c6c\3\2\2\2\u0c6f\u0c72\3\2\2\2\u0c70") - buf.write("\u0c6e\3\2\2\2\u0c70\u0c71\3\2\2\2\u0c71\u00d1\3\2\2\2") - buf.write("\u0c72\u0c70\3\2\2\2\u0c73\u0c75\5\u0250\u0129\2\u0c74") - buf.write("\u0c76\t)\2\2\u0c75\u0c74\3\2\2\2\u0c75\u0c76\3\2\2\2") - buf.write("\u0c76\u00d3\3\2\2\2\u0c77\u0c7c\5\u00d6l\2\u0c78\u0c79") - buf.write("\7\u03bd\2\2\u0c79\u0c7b\5\u00d6l\2\u0c7a\u0c78\3\2\2") - buf.write("\2\u0c7b\u0c7e\3\2\2\2\u0c7c\u0c7a\3\2\2\2\u0c7c\u0c7d") - buf.write("\3\2\2\2\u0c7d\u00d5\3\2\2\2\u0c7e\u0c7c\3\2\2\2\u0c7f") - buf.write("\u0c83\5\u00d8m\2\u0c80\u0c82\5\u00dep\2\u0c81\u0c80\3") - buf.write("\2\2\2\u0c82\u0c85\3\2\2\2\u0c83\u0c81\3\2\2\2\u0c83\u0c84") - buf.write("\3\2\2\2\u0c84\u0c91\3\2\2\2\u0c85\u0c83\3\2\2\2\u0c86") - buf.write("\u0c87\7\u03bb\2\2\u0c87\u0c8b\5\u00d8m\2\u0c88\u0c8a") - buf.write("\5\u00dep\2\u0c89\u0c88\3\2\2\2\u0c8a\u0c8d\3\2\2\2\u0c8b") - buf.write("\u0c89\3\2\2\2\u0c8b\u0c8c\3\2\2\2\u0c8c\u0c8e\3\2\2\2") - buf.write("\u0c8d\u0c8b\3\2\2\2\u0c8e\u0c8f\7\u03bc\2\2\u0c8f\u0c91") - buf.write("\3\2\2\2\u0c90\u0c7f\3\2\2\2\u0c90\u0c86\3\2\2\2\u0c91") - buf.write("\u00d7\3\2\2\2\u0c92\u0c98\5\u01ec\u00f7\2\u0c93\u0c94") - buf.write("\7s\2\2\u0c94\u0c95\7\u03bb\2\2\u0c95\u0c96\5\u0222\u0112") - buf.write("\2\u0c96\u0c97\7\u03bc\2\2\u0c97\u0c99\3\2\2\2\u0c98\u0c93") - buf.write("\3\2\2\2\u0c98\u0c99\3\2\2\2\u0c99\u0c9e\3\2\2\2\u0c9a") - buf.write("\u0c9c\7\17\2\2\u0c9b\u0c9a\3\2\2\2\u0c9b\u0c9c\3\2\2") - buf.write("\2\u0c9c\u0c9d\3\2\2\2\u0c9d\u0c9f\5\u0204\u0103\2\u0c9e") - buf.write("\u0c9b\3\2\2\2\u0c9e\u0c9f\3\2\2\2\u0c9f\u0ca8\3\2\2\2") - buf.write("\u0ca0\u0ca5\5\u00dan\2\u0ca1\u0ca2\7\u03bd\2\2\u0ca2") - buf.write("\u0ca4\5\u00dan\2\u0ca3\u0ca1\3\2\2\2\u0ca4\u0ca7\3\2") - buf.write("\2\2\u0ca5\u0ca3\3\2\2\2\u0ca5\u0ca6\3\2\2\2\u0ca6\u0ca9") - buf.write("\3\2\2\2\u0ca7\u0ca5\3\2\2\2\u0ca8\u0ca0\3\2\2\2\u0ca8") - buf.write("\u0ca9\3\2\2\2\u0ca9\u0cbb\3\2\2\2\u0caa\u0cb0\5\u00b4") - buf.write("[\2\u0cab\u0cac\7\u03bb\2\2\u0cac\u0cad\5\u00b4[\2\u0cad") - buf.write("\u0cae\7\u03bc\2\2\u0cae\u0cb0\3\2\2\2\u0caf\u0caa\3\2") - buf.write("\2\2\u0caf\u0cab\3\2\2\2\u0cb0\u0cb2\3\2\2\2\u0cb1\u0cb3") - buf.write("\7\17\2\2\u0cb2\u0cb1\3\2\2\2\u0cb2\u0cb3\3\2\2\2\u0cb3") - buf.write("\u0cb4\3\2\2\2\u0cb4\u0cb5\5\u0204\u0103\2\u0cb5\u0cbb") - buf.write("\3\2\2\2\u0cb6\u0cb7\7\u03bb\2\2\u0cb7\u0cb8\5\u00d4k") - buf.write("\2\u0cb8\u0cb9\7\u03bc\2\2\u0cb9\u0cbb\3\2\2\2\u0cba\u0c92") - buf.write("\3\2\2\2\u0cba\u0caf\3\2\2\2\u0cba\u0cb6\3\2\2\2\u0cbb") - buf.write("\u00d9\3\2\2\2\u0cbc\u0cbd\t*\2\2\u0cbd\u0cc0\t\24\2\2") - buf.write("\u0cbe\u0cbf\7<\2\2\u0cbf\u0cc1\5\u00dco\2\u0cc0\u0cbe") - buf.write("\3\2\2\2\u0cc0\u0cc1\3\2\2\2\u0cc1\u0cc2\3\2\2\2\u0cc2") - buf.write("\u0cc3\7\u03bb\2\2\u0cc3\u0cc4\5\u0222\u0112\2\u0cc4\u0cc5") - buf.write("\7\u03bc\2\2\u0cc5\u00db\3\2\2\2\u0cc6\u0ccc\7R\2\2\u0cc7") - buf.write("\u0cc8\7o\2\2\u0cc8\u0ccc\7\24\2\2\u0cc9\u0cca\7C\2\2") - buf.write("\u0cca\u0ccc\7\24\2\2\u0ccb\u0cc6\3\2\2\2\u0ccb\u0cc7") - buf.write("\3\2\2\2\u0ccb\u0cc9\3\2\2\2\u0ccc\u00dd\3\2\2\2\u0ccd") - buf.write("\u0ccf\t+\2\2\u0cce\u0ccd\3\2\2\2\u0cce\u0ccf\3\2\2\2") - buf.write("\u0ccf\u0cd0\3\2\2\2\u0cd0\u0cd1\7R\2\2\u0cd1\u0cd9\5") - buf.write("\u00d8m\2\u0cd2\u0cd3\7j\2\2\u0cd3\u0cda\5\u0250\u0129") - buf.write("\2\u0cd4\u0cd5\7\u00a6\2\2\u0cd5\u0cd6\7\u03bb\2\2\u0cd6") - buf.write("\u0cd7\5\u0222\u0112\2\u0cd7\u0cd8\7\u03bc\2\2\u0cd8\u0cda") - buf.write("\3\2\2\2\u0cd9\u0cd2\3\2\2\2\u0cd9\u0cd4\3\2\2\2\u0cd9") - buf.write("\u0cda\3\2\2\2\u0cda\u0cfa\3\2\2\2\u0cdb\u0cdc\7\u0096") - buf.write("\2\2\u0cdc\u0cdf\5\u00d8m\2\u0cdd\u0cde\7j\2\2\u0cde\u0ce0") - buf.write("\5\u0250\u0129\2\u0cdf\u0cdd\3\2\2\2\u0cdf\u0ce0\3\2\2") - buf.write("\2\u0ce0\u0cfa\3\2\2\2\u0ce1\u0ce3\t,\2\2\u0ce2\u0ce4") - buf.write("\7q\2\2\u0ce3\u0ce2\3\2\2\2\u0ce3\u0ce4\3\2\2\2\u0ce4") - buf.write("\u0ce5\3\2\2\2\u0ce5\u0ce6\7R\2\2\u0ce6\u0cee\5\u00d8") - buf.write("m\2\u0ce7\u0ce8\7j\2\2\u0ce8\u0cef\5\u0250\u0129\2\u0ce9") - buf.write("\u0cea\7\u00a6\2\2\u0cea\u0ceb\7\u03bb\2\2\u0ceb\u0cec") - buf.write("\5\u0222\u0112\2\u0cec\u0ced\7\u03bc\2\2\u0ced\u0cef\3") - buf.write("\2\2\2\u0cee\u0ce7\3\2\2\2\u0cee\u0ce9\3\2\2\2\u0cef\u0cfa") - buf.write("\3\2\2\2\u0cf0\u0cf5\7f\2\2\u0cf1\u0cf3\t,\2\2\u0cf2\u0cf4") - buf.write("\7q\2\2\u0cf3\u0cf2\3\2\2\2\u0cf3\u0cf4\3\2\2\2\u0cf4") - buf.write("\u0cf6\3\2\2\2\u0cf5\u0cf1\3\2\2\2\u0cf5\u0cf6\3\2\2\2") - buf.write("\u0cf6\u0cf7\3\2\2\2\u0cf7\u0cf8\7R\2\2\u0cf8\u0cfa\5") - buf.write("\u00d8m\2\u0cf9\u0cce\3\2\2\2\u0cf9\u0cdb\3\2\2\2\u0cf9") - buf.write("\u0ce1\3\2\2\2\u0cf9\u0cf0\3\2\2\2\u0cfa\u00df\3\2\2\2") - buf.write("\u0cfb\u0cfc\7\u03bb\2\2\u0cfc\u0cfd\5\u00e4s\2\u0cfd") - buf.write("\u0cfe\7\u03bc\2\2\u0cfe\u0d04\3\2\2\2\u0cff\u0d00\7\u03bb") - buf.write("\2\2\u0d00\u0d01\5\u00e0q\2\u0d01\u0d02\7\u03bc\2\2\u0d02") - buf.write("\u0d04\3\2\2\2\u0d03\u0cfb\3\2\2\2\u0d03\u0cff\3\2\2\2") - buf.write("\u0d04\u00e1\3\2\2\2\u0d05\u0d06\7\u03bb\2\2\u0d06\u0d07") - buf.write("\5\u00e6t\2\u0d07\u0d08\7\u03bc\2\2\u0d08\u0d0e\3\2\2") - buf.write("\2\u0d09\u0d0a\7\u03bb\2\2\u0d0a\u0d0b\5\u00e2r\2\u0d0b") - buf.write("\u0d0c\7\u03bc\2\2\u0d0c\u0d0e\3\2\2\2\u0d0d\u0d05\3\2") - buf.write("\2\2\u0d0d\u0d09\3\2\2\2\u0d0e\u00e3\3\2\2\2\u0d0f\u0d13") - buf.write("\7\u0088\2\2\u0d10\u0d12\5\u00ecw\2\u0d11\u0d10\3\2\2") - buf.write("\2\u0d12\u0d15\3\2\2\2\u0d13\u0d11\3\2\2\2\u0d13\u0d14") - buf.write("\3\2\2\2\u0d14\u0d16\3\2\2\2\u0d15\u0d13\3\2\2\2\u0d16") - buf.write("\u0d18\5\u00eex\2\u0d17\u0d19\5\u00f6|\2\u0d18\u0d17\3") - buf.write("\2\2\2\u0d18\u0d19\3\2\2\2\u0d19\u0d1b\3\2\2\2\u0d1a\u0d1c") - buf.write("\5\u00fc\177\2\u0d1b\u0d1a\3\2\2\2\u0d1b\u0d1c\3\2\2\2") - buf.write("\u0d1c\u0d1e\3\2\2\2\u0d1d\u0d1f\5\u00d0i\2\u0d1e\u0d1d") - buf.write("\3\2\2\2\u0d1e\u0d1f\3\2\2\2\u0d1f\u0d21\3\2\2\2\u0d20") - buf.write("\u0d22\5\u0100\u0081\2\u0d21\u0d20\3\2\2\2\u0d21\u0d22") - buf.write("\3\2\2\2\u0d22\u0d49\3\2\2\2\u0d23\u0d27\7\u0088\2\2\u0d24") - buf.write("\u0d26\5\u00ecw\2\u0d25\u0d24\3\2\2\2\u0d26\u0d29\3\2") - buf.write("\2\2\u0d27\u0d25\3\2\2\2\u0d27\u0d28\3\2\2\2\u0d28\u0d2a") - buf.write("\3\2\2\2\u0d29\u0d27\3\2\2\2\u0d2a\u0d2c\5\u00eex\2\u0d2b") - buf.write("\u0d2d\5\u00fc\177\2\u0d2c\u0d2b\3\2\2\2\u0d2c\u0d2d\3") - buf.write("\2\2\2\u0d2d\u0d2f\3\2\2\2\u0d2e\u0d30\5\u00d0i\2\u0d2f") - buf.write("\u0d2e\3\2\2\2\u0d2f\u0d30\3\2\2\2\u0d30\u0d32\3\2\2\2") - buf.write("\u0d31\u0d33\5\u0100\u0081\2\u0d32\u0d31\3\2\2\2\u0d32") - buf.write("\u0d33\3\2\2\2\u0d33\u0d35\3\2\2\2\u0d34\u0d36\5\u00f6") - buf.write("|\2\u0d35\u0d34\3\2\2\2\u0d35\u0d36\3\2\2\2\u0d36\u0d49") - buf.write("\3\2\2\2\u0d37\u0d3b\7\u0088\2\2\u0d38\u0d3a\5\u00ecw") - buf.write("\2\u0d39\u0d38\3\2\2\2\u0d3a\u0d3d\3\2\2\2\u0d3b\u0d39") - buf.write("\3\2\2\2\u0d3b\u0d3c\3\2\2\2\u0d3c\u0d3e\3\2\2\2\u0d3d") - buf.write("\u0d3b\3\2\2\2\u0d3e\u0d40\5\u00eex\2\u0d3f\u0d41\5\u00fc") - buf.write("\177\2\u0d40\u0d3f\3\2\2\2\u0d40\u0d41\3\2\2\2\u0d41\u0d43") - buf.write("\3\2\2\2\u0d42\u0d44\5\u00f2z\2\u0d43\u0d42\3\2\2\2\u0d43") - buf.write("\u0d44\3\2\2\2\u0d44\u0d46\3\2\2\2\u0d45\u0d47\5\u00f4") - buf.write("{\2\u0d46\u0d45\3\2\2\2\u0d46\u0d47\3\2\2\2\u0d47\u0d49") - buf.write("\3\2\2\2\u0d48\u0d0f\3\2\2\2\u0d48\u0d23\3\2\2\2\u0d48") - buf.write("\u0d37\3\2\2\2\u0d49\u00e5\3\2\2\2\u0d4a\u0d4e\7\u0088") - buf.write("\2\2\u0d4b\u0d4d\5\u00ecw\2\u0d4c\u0d4b\3\2\2\2\u0d4d") - buf.write("\u0d50\3\2\2\2\u0d4e\u0d4c\3\2\2\2\u0d4e\u0d4f\3\2\2\2") - buf.write("\u0d4f\u0d51\3\2\2\2\u0d50\u0d4e\3\2\2\2\u0d51\u0d53\5") - buf.write("\u00eex\2\u0d52\u0d54\5\u00fc\177\2\u0d53\u0d52\3\2\2") - buf.write("\2\u0d53\u0d54\3\2\2\2\u0d54\u0d56\3\2\2\2\u0d55\u0d57") - buf.write("\5\u00d0i\2\u0d56\u0d55\3\2\2\2\u0d56\u0d57\3\2\2\2\u0d57") - buf.write("\u0d59\3\2\2\2\u0d58\u0d5a\5\u0100\u0081\2\u0d59\u0d58") - buf.write("\3\2\2\2\u0d59\u0d5a\3\2\2\2\u0d5a\u00e7\3\2\2\2\u0d5b") - buf.write("\u0d5d\7\u009f\2\2\u0d5c\u0d5e\t%\2\2\u0d5d\u0d5c\3\2") - buf.write("\2\2\u0d5d\u0d5e\3\2\2\2\u0d5e\u0d5f\3\2\2\2\u0d5f\u0d60") - buf.write("\5\u00e2r\2\u0d60\u00e9\3\2\2\2\u0d61\u0d63\7\u009f\2") - buf.write("\2\u0d62\u0d64\t%\2\2\u0d63\u0d62\3\2\2\2\u0d63\u0d64") - buf.write("\3\2\2\2\u0d64\u0d67\3\2\2\2\u0d65\u0d68\5\u00e6t\2\u0d66") - buf.write("\u0d68\5\u00e2r\2\u0d67\u0d65\3\2\2\2\u0d67\u0d66\3\2") - buf.write("\2\2\u0d68\u00eb\3\2\2\2\u0d69\u0d72\t-\2\2\u0d6a\u0d72") - buf.write("\7E\2\2\u0d6b\u0d72\7\u0096\2\2\u0d6c\u0d72\7\u0093\2") - buf.write("\2\u0d6d\u0d72\7\u0091\2\2\u0d6e\u0d72\7\u01f8\2\2\u0d6f") - buf.write("\u0d72\t.\2\2\u0d70\u0d72\7\u0092\2\2\u0d71\u0d69\3\2") - buf.write("\2\2\u0d71\u0d6a\3\2\2\2\u0d71\u0d6b\3\2\2\2\u0d71\u0d6c") - buf.write("\3\2\2\2\u0d71\u0d6d\3\2\2\2\u0d71\u0d6e\3\2\2\2\u0d71") - buf.write("\u0d6f\3\2\2\2\u0d71\u0d70\3\2\2\2\u0d72\u00ed\3\2\2\2") - buf.write("\u0d73\u0d76\7\u03aa\2\2\u0d74\u0d76\5\u00f0y\2\u0d75") - buf.write("\u0d73\3\2\2\2\u0d75\u0d74\3\2\2\2\u0d76\u0d7b\3\2\2\2") - buf.write("\u0d77\u0d78\7\u03bd\2\2\u0d78\u0d7a\5\u00f0y\2\u0d79") - buf.write("\u0d77\3\2\2\2\u0d7a\u0d7d\3\2\2\2\u0d7b\u0d79\3\2\2\2") - buf.write("\u0d7b\u0d7c\3\2\2\2\u0d7c\u00ef\3\2\2\2\u0d7d\u0d7b\3") - buf.write("\2\2\2\u0d7e\u0d7f\5\u01ea\u00f6\2\u0d7f\u0d80\7\u03ba") - buf.write("\2\2\u0d80\u0d81\7\u03aa\2\2\u0d81\u0d9c\3\2\2\2\u0d82") - buf.write("\u0d87\5\u01ee\u00f8\2\u0d83\u0d85\7\17\2\2\u0d84\u0d83") - buf.write("\3\2\2\2\u0d84\u0d85\3\2\2\2\u0d85\u0d86\3\2\2\2\u0d86") - buf.write("\u0d88\5\u0204\u0103\2\u0d87\u0d84\3\2\2\2\u0d87\u0d88") - buf.write("\3\2\2\2\u0d88\u0d9c\3\2\2\2\u0d89\u0d8e\5\u023c\u011f") - buf.write("\2\u0d8a\u0d8c\7\17\2\2\u0d8b\u0d8a\3\2\2\2\u0d8b\u0d8c") - buf.write("\3\2\2\2\u0d8c\u0d8d\3\2\2\2\u0d8d\u0d8f\5\u0204\u0103") - buf.write("\2\u0d8e\u0d8b\3\2\2\2\u0d8e\u0d8f\3\2\2\2\u0d8f\u0d9c") - buf.write("\3\2\2\2\u0d90\u0d91\7\u03d5\2\2\u0d91\u0d93\7\u03a1\2") - buf.write("\2\u0d92\u0d90\3\2\2\2\u0d92\u0d93\3\2\2\2\u0d93\u0d94") - buf.write("\3\2\2\2\u0d94\u0d99\5\u0250\u0129\2\u0d95\u0d97\7\17") - buf.write("\2\2\u0d96\u0d95\3\2\2\2\u0d96\u0d97\3\2\2\2\u0d97\u0d98") - buf.write("\3\2\2\2\u0d98\u0d9a\5\u0204\u0103\2\u0d99\u0d96\3\2\2") - buf.write("\2\u0d99\u0d9a\3\2\2\2\u0d9a\u0d9c\3\2\2\2\u0d9b\u0d7e") - buf.write("\3\2\2\2\u0d9b\u0d82\3\2\2\2\u0d9b\u0d89\3\2\2\2\u0d9b") - buf.write("\u0d92\3\2\2\2\u0d9c\u00f1\3\2\2\2\u0d9d\u0d9e\7\7\2\2") - buf.write("\u0d9e\u0d9f\7\u03cd\2\2\u0d9f\u00f3\3\2\2\2\u0da0\u0da1") - buf.write("\7\b\2\2\u0da1\u0da2\7\u03cd\2\2\u0da2\u00f5\3\2\2\2\u0da3") - buf.write("\u0da4\7O\2\2\u0da4\u0da9\5\u00bc_\2\u0da5\u0da6\7\u03bd") - buf.write("\2\2\u0da6\u0da8\5\u00bc_\2\u0da7\u0da5\3\2\2\2\u0da8") - buf.write("\u0dab\3\2\2\2\u0da9\u0da7\3\2\2\2\u0da9\u0daa\3\2\2\2") - buf.write("\u0daa\u0dc8\3\2\2\2\u0dab\u0da9\3\2\2\2\u0dac\u0dad\7") - buf.write("O\2\2\u0dad\u0dae\7\u0136\2\2\u0dae\u0dc8\7\u03ca\2\2") - buf.write("\u0daf\u0db0\7O\2\2\u0db0\u0db1\7r\2\2\u0db1\u0db5\7\u03ca") - buf.write("\2\2\u0db2\u0db3\7\32\2\2\u0db3\u0db4\7\u0089\2\2\u0db4") - buf.write("\u0db6\5\u01f6\u00fc\2\u0db5\u0db2\3\2\2\2\u0db5\u0db6") - buf.write("\3\2\2\2\u0db6\u0dbd\3\2\2\2\u0db7\u0db9\t\"\2\2\u0db8") - buf.write("\u0dba\5\u00f8}\2\u0db9\u0db8\3\2\2\2\u0dba\u0dbb\3\2") - buf.write("\2\2\u0dbb\u0db9\3\2\2\2\u0dbb\u0dbc\3\2\2\2\u0dbc\u0dbe") - buf.write("\3\2\2\2\u0dbd\u0db7\3\2\2\2\u0dbd\u0dbe\3\2\2\2\u0dbe") - buf.write("\u0dc5\3\2\2\2\u0dbf\u0dc1\7\\\2\2\u0dc0\u0dc2\5\u00fa") - buf.write("~\2\u0dc1\u0dc0\3\2\2\2\u0dc2\u0dc3\3\2\2\2\u0dc3\u0dc1") - buf.write("\3\2\2\2\u0dc3\u0dc4\3\2\2\2\u0dc4\u0dc6\3\2\2\2\u0dc5") - buf.write("\u0dbf\3\2\2\2\u0dc5\u0dc6\3\2\2\2\u0dc6\u0dc8\3\2\2\2") - buf.write("\u0dc7\u0da3\3\2\2\2\u0dc7\u0dac\3\2\2\2\u0dc7\u0daf\3") - buf.write("\2\2\2\u0dc8\u00f7\3\2\2\2\u0dc9\u0dca\7\u0098\2\2\u0dca") - buf.write("\u0dcb\7\24\2\2\u0dcb\u0dd6\7\u03ca\2\2\u0dcc\u0dce\7") - buf.write("m\2\2\u0dcd\u0dcc\3\2\2\2\u0dcd\u0dce\3\2\2\2\u0dce\u0dcf") - buf.write("\3\2\2\2\u0dcf\u0dd0\7\65\2\2\u0dd0\u0dd1\7\24\2\2\u0dd1") - buf.write("\u0dd6\7\u03ca\2\2\u0dd2\u0dd3\7\66\2\2\u0dd3\u0dd4\7") - buf.write("\24\2\2\u0dd4\u0dd6\7\u03ca\2\2\u0dd5\u0dc9\3\2\2\2\u0dd5") - buf.write("\u0dcd\3\2\2\2\u0dd5\u0dd2\3\2\2\2\u0dd6\u00f9\3\2\2\2") - buf.write("\u0dd7\u0dd8\7\u0095\2\2\u0dd8\u0dd9\7\24\2\2\u0dd9\u0dde") - buf.write("\7\u03ca\2\2\u0dda\u0ddb\7\u0098\2\2\u0ddb\u0ddc\7\24") - buf.write("\2\2\u0ddc\u0dde\7\u03ca\2\2\u0ddd\u0dd7\3\2\2\2\u0ddd") - buf.write("\u0dda\3\2\2\2\u0dde\u00fb\3\2\2\2\u0ddf\u0de0\7?\2\2") - buf.write("\u0de0\u0de3\5\u00d4k\2\u0de1\u0de2\7\u00a9\2\2\u0de2") - buf.write("\u0de4\5\u0250\u0129\2\u0de3\u0de1\3\2\2\2\u0de3\u0de4") - buf.write("\3\2\2\2\u0de4\u0df3\3\2\2\2\u0de5\u0de6\7C\2\2\u0de6") - buf.write("\u0de7\7\24\2\2\u0de7\u0dec\5\u00fe\u0080\2\u0de8\u0de9") - buf.write("\7\u03bd\2\2\u0de9\u0deb\5\u00fe\u0080\2\u0dea\u0de8\3") - buf.write("\2\2\2\u0deb\u0dee\3\2\2\2\u0dec\u0dea\3\2\2\2\u0dec\u0ded") - buf.write("\3\2\2\2\u0ded\u0df1\3\2\2\2\u0dee\u0dec\3\2\2\2\u0def") - buf.write("\u0df0\7\u00ab\2\2\u0df0\u0df2\7\u01df\2\2\u0df1\u0def") - buf.write("\3\2\2\2\u0df1\u0df2\3\2\2\2\u0df2\u0df4\3\2\2\2\u0df3") - buf.write("\u0de5\3\2\2\2\u0df3\u0df4\3\2\2\2\u0df4\u0df7\3\2\2\2") - buf.write("\u0df5\u0df6\7D\2\2\u0df6\u0df8\5\u0250\u0129\2\u0df7") - buf.write("\u0df5\3\2\2\2\u0df7\u0df8\3\2\2\2\u0df8\u00fd\3\2\2\2") - buf.write("\u0df9\u0dfb\5\u0250\u0129\2\u0dfa\u0dfc\t)\2\2\u0dfb") - buf.write("\u0dfa\3\2\2\2\u0dfb\u0dfc\3\2\2\2\u0dfc\u00ff\3\2\2\2") - buf.write("\u0dfd\u0e08\7Z\2\2\u0dfe\u0dff\5\u020a\u0106\2\u0dff") - buf.write("\u0e00\7\u03bd\2\2\u0e00\u0e02\3\2\2\2\u0e01\u0dfe\3\2") - buf.write("\2\2\u0e01\u0e02\3\2\2\2\u0e02\u0e03\3\2\2\2\u0e03\u0e09") - buf.write("\5\u020a\u0106\2\u0e04\u0e05\5\u020a\u0106\2\u0e05\u0e06") - buf.write("\7\u01a8\2\2\u0e06\u0e07\5\u020a\u0106\2\u0e07\u0e09\3") - buf.write("\2\2\2\u0e08\u0e01\3\2\2\2\u0e08\u0e04\3\2\2\2\u0e09\u0101") - buf.write("\3\2\2\2\u0e0a\u0e0b\7\u01fc\2\2\u0e0b\u0e14\7\u0211\2") - buf.write("\2\u0e0c\u0e11\5\u0118\u008d\2\u0e0d\u0e0e\7\u03bd\2\2") - buf.write("\u0e0e\u0e10\5\u0118\u008d\2\u0e0f\u0e0d\3\2\2\2\u0e10") - buf.write("\u0e13\3\2\2\2\u0e11\u0e0f\3\2\2\2\u0e11\u0e12\3\2\2\2") - buf.write("\u0e12\u0e15\3\2\2\2\u0e13\u0e11\3\2\2\2\u0e14\u0e0c\3") - buf.write("\2\2\2\u0e14\u0e15\3\2\2\2\u0e15\u0103\3\2\2\2\u0e16\u0e18") - buf.write("\7\u0108\2\2\u0e17\u0e19\7\u0226\2\2\u0e18\u0e17\3\2\2") - buf.write("\2\u0e18\u0e19\3\2\2\2\u0e19\u0105\3\2\2\2\u0e1a\u0e1c") - buf.write("\7\u011d\2\2\u0e1b\u0e1d\7\u0226\2\2\u0e1c\u0e1b\3\2\2") - buf.write("\2\u0e1c\u0e1d\3\2\2\2\u0e1d\u0e23\3\2\2\2\u0e1e\u0e20") - buf.write("\7\16\2\2\u0e1f\u0e21\7\u01a4\2\2\u0e20\u0e1f\3\2\2\2") - buf.write("\u0e20\u0e21\3\2\2\2\u0e21\u0e22\3\2\2\2\u0e22\u0e24\7") - buf.write("\u0111\2\2\u0e23\u0e1e\3\2\2\2\u0e23\u0e24\3\2\2\2\u0e24") - buf.write("\u0e29\3\2\2\2\u0e25\u0e27\7\u01a4\2\2\u0e26\u0e25\3\2") - buf.write("\2\2\u0e26\u0e27\3\2\2\2\u0e27\u0e28\3\2\2\2\u0e28\u0e2a") - buf.write("\7|\2\2\u0e29\u0e26\3\2\2\2\u0e29\u0e2a\3\2\2\2\u0e2a") - buf.write("\u0107\3\2\2\2\u0e2b\u0e2d\7\u01de\2\2\u0e2c\u0e2e\7\u0226") - buf.write("\2\2\u0e2d\u0e2c\3\2\2\2\u0e2d\u0e2e\3\2\2\2\u0e2e\u0e34") - buf.write("\3\2\2\2\u0e2f\u0e31\7\16\2\2\u0e30\u0e32\7\u01a4\2\2") - buf.write("\u0e31\u0e30\3\2\2\2\u0e31\u0e32\3\2\2\2\u0e32\u0e33\3") - buf.write("\2\2\2\u0e33\u0e35\7\u0111\2\2\u0e34\u0e2f\3\2\2\2\u0e34") - buf.write("\u0e35\3\2\2\2\u0e35\u0e3a\3\2\2\2\u0e36\u0e38\7\u01a4") - buf.write("\2\2\u0e37\u0e36\3\2\2\2\u0e37\u0e38\3\2\2\2\u0e38\u0e39") - buf.write("\3\2\2\2\u0e39\u0e3b\7|\2\2\u0e3a\u0e37\3\2\2\2\u0e3a") - buf.write("\u0e3b\3\2\2\2\u0e3b\u0109\3\2\2\2\u0e3c\u0e3d\7\u01e4") - buf.write("\2\2\u0e3d\u0e3e\5\u0204\u0103\2\u0e3e\u010b\3\2\2\2\u0e3f") - buf.write("\u0e41\7\u01de\2\2\u0e40\u0e42\7\u0226\2\2\u0e41\u0e40") - buf.write("\3\2\2\2\u0e41\u0e42\3\2\2\2\u0e42\u0e43\3\2\2\2\u0e43") - buf.write("\u0e45\7\u009a\2\2\u0e44\u0e46\7\u01e4\2\2\u0e45\u0e44") - buf.write("\3\2\2\2\u0e45\u0e46\3\2\2\2\u0e46\u0e47\3\2\2\2\u0e47") - buf.write("\u0e48\5\u0204\u0103\2\u0e48\u010d\3\2\2\2\u0e49\u0e4a") - buf.write("\7|\2\2\u0e4a\u0e4b\7\u01e4\2\2\u0e4b\u0e4c\5\u0204\u0103") - buf.write("\2\u0e4c\u010f\3\2\2\2\u0e4d\u0e4e\7^\2\2\u0e4e\u0e4f") - buf.write("\7\u0238\2\2\u0e4f\u0e54\5\u011a\u008e\2\u0e50\u0e51\7") - buf.write("\u03bd\2\2\u0e51\u0e53\5\u011a\u008e\2\u0e52\u0e50\3\2") - buf.write("\2\2\u0e53\u0e56\3\2\2\2\u0e54\u0e52\3\2\2\2\u0e54\u0e55") - buf.write("\3\2\2\2\u0e55\u0111\3\2\2\2\u0e56\u0e54\3\2\2\2\u0e57") - buf.write("\u0e58\7\u00a1\2\2\u0e58\u0e59\7\u0238\2\2\u0e59\u0113") - buf.write("\3\2\2\2\u0e5a\u0e5b\7\u0089\2\2\u0e5b\u0e5c\7\u0104\2") - buf.write("\2\u0e5c\u0e5d\7\u03b2\2\2\u0e5d\u0e5e\t\27\2\2\u0e5e") - buf.write("\u0115\3\2\2\2\u0e5f\u0e61\7\u0089\2\2\u0e60\u0e62\t/") - buf.write("\2\2\u0e61\u0e60\3\2\2\2\u0e61\u0e62\3\2\2\2\u0e62\u0e63") - buf.write("\3\2\2\2\u0e63\u0e64\7\u0211\2\2\u0e64\u0e69\5\u011e\u0090") - buf.write("\2\u0e65\u0e66\7\u03bd\2\2\u0e66\u0e68\5\u011e\u0090\2") - buf.write("\u0e67\u0e65\3\2\2\2\u0e68\u0e6b\3\2\2\2\u0e69\u0e67\3") - buf.write("\2\2\2\u0e69\u0e6a\3\2\2\2\u0e6a\u0117\3\2\2\2\u0e6b\u0e69") - buf.write("\3\2\2\2\u0e6c\u0e6d\7\u00ab\2\2\u0e6d\u0e6e\7\u0124\2") - buf.write("\2\u0e6e\u0e74\7\u01ef\2\2\u0e6f\u0e70\7x\2\2\u0e70\u0e74") - buf.write("\7\u00ac\2\2\u0e71\u0e72\7x\2\2\u0e72\u0e74\7\u01ad\2") - buf.write("\2\u0e73\u0e6c\3\2\2\2\u0e73\u0e6f\3\2\2\2\u0e73\u0e71") - buf.write("\3\2\2\2\u0e74\u0119\3\2\2\2\u0e75\u0e7a\5\u01ec\u00f7") - buf.write("\2\u0e76\u0e78\7\17\2\2\u0e77\u0e76\3\2\2\2\u0e77\u0e78") - buf.write("\3\2\2\2\u0e78\u0e79\3\2\2\2\u0e79\u0e7b\5\u0204\u0103") - buf.write("\2\u0e7a\u0e77\3\2\2\2\u0e7a\u0e7b\3\2\2\2\u0e7b\u0e7c") - buf.write("\3\2\2\2\u0e7c\u0e7d\5\u011c\u008f\2\u0e7d\u011b\3\2\2") - buf.write("\2\u0e7e\u0e80\7x\2\2\u0e7f\u0e81\7\u0178\2\2\u0e80\u0e7f") - buf.write("\3\2\2\2\u0e80\u0e81\3\2\2\2\u0e81\u0e87\3\2\2\2\u0e82") - buf.write("\u0e84\7`\2\2\u0e83\u0e82\3\2\2\2\u0e83\u0e84\3\2\2\2") - buf.write("\u0e84\u0e85\3\2\2\2\u0e85\u0e87\7\u00ac\2\2\u0e86\u0e7e") - buf.write("\3\2\2\2\u0e86\u0e83\3\2\2\2\u0e87\u011d\3\2\2\2\u0e88") - buf.write("\u0e89\7\u016e\2\2\u0e89\u0e8a\7\u0176\2\2\u0e8a\u0e90") - buf.write("\5\u0120\u0091\2\u0e8b\u0e8c\7x\2\2\u0e8c\u0e90\7\u00ac") - buf.write("\2\2\u0e8d\u0e8e\7x\2\2\u0e8e\u0e90\7\u01ad\2\2\u0e8f") - buf.write("\u0e88\3\2\2\2\u0e8f\u0e8b\3\2\2\2\u0e8f\u0e8d\3\2\2\2") - buf.write("\u0e90\u011f\3\2\2\2\u0e91\u0e92\7\u0274\2\2\u0e92\u0e99") - buf.write("\7x\2\2\u0e93\u0e94\7x\2\2\u0e94\u0e99\7\u0275\2\2\u0e95") - buf.write("\u0e96\7x\2\2\u0e96\u0e99\7\u0276\2\2\u0e97\u0e99\7\u0277") - buf.write("\2\2\u0e98\u0e91\3\2\2\2\u0e98\u0e93\3\2\2\2\u0e98\u0e95") - buf.write("\3\2\2\2\u0e98\u0e97\3\2\2\2\u0e99\u0121\3\2\2\2\u0e9a") - buf.write("\u0e9b\7\31\2\2\u0e9b\u0e9c\7\u017b\2\2\u0e9c\u0e9d\7") - buf.write("\u009a\2\2\u0e9d\u0ea2\5\u0134\u009b\2\u0e9e\u0e9f\7\u03bd") - buf.write("\2\2\u0e9f\u0ea1\5\u0134\u009b\2\u0ea0\u0e9e\3\2\2\2\u0ea1") - buf.write("\u0ea4\3\2\2\2\u0ea2\u0ea0\3\2\2\2\u0ea2\u0ea3\3\2\2\2") - buf.write("\u0ea3\u0ea6\3\2\2\2\u0ea4\u0ea2\3\2\2\2\u0ea5\u0ea7\5") - buf.write("\u013c\u009f\2\u0ea6\u0ea5\3\2\2\2\u0ea6\u0ea7\3\2\2\2") - buf.write("\u0ea7\u0123\3\2\2\2\u0ea8\u0ea9\7\31\2\2\u0ea9\u0eaa") - buf.write("\7\u01da\2\2\u0eaa\u0eab\7\u0150\2\2\u0eab\u0eb0\5\u013e") - buf.write("\u00a0\2\u0eac\u0ead\7\u03bd\2\2\u0ead\u0eaf\5\u013e\u00a0") - buf.write("\2\u0eae\u0eac\3\2\2\2\u0eaf\u0eb2\3\2\2\2\u0eb0\u0eae") - buf.write("\3\2\2\2\u0eb0\u0eb1\3\2\2\2\u0eb1\u0125\3\2\2\2\u0eb2") - buf.write("\u0eb0\3\2\2\2\u0eb3\u0eb4\7v\2\2\u0eb4\u0eb5\t\60\2\2") - buf.write("\u0eb5\u0eba\7\u017a\2\2\u0eb6\u0eb7\7\u009a\2\2\u0eb7") - buf.write("\u0ebb\7\u03ca\2\2\u0eb8\u0eb9\7\21\2\2\u0eb9\u0ebb\7") - buf.write("\u03ca\2\2\u0eba\u0eb6\3\2\2\2\u0eba\u0eb8\3\2\2\2\u0ebb") - buf.write("\u0127\3\2\2\2\u0ebc\u0ebd\7\u01db\2\2\u0ebd\u0ebe\7\u017b") - buf.write("\2\2\u0ebe\u0129\3\2\2\2\u0ebf\u0ec0\7\u01db\2\2\u0ec0") - buf.write("\u0ec2\7\u01ed\2\2\u0ec1\u0ec3\7\n\2\2\u0ec2\u0ec1\3\2") - buf.write("\2\2\u0ec2\u0ec3\3\2\2\2\u0ec3\u0ec5\3\2\2\2\u0ec4\u0ec6") - buf.write("\5\u013c\u009f\2\u0ec5\u0ec4\3\2\2\2\u0ec5\u0ec6\3\2\2") - buf.write("\2\u0ec6\u012b\3\2\2\2\u0ec7\u0ec8\7\u01fc\2\2\u0ec8\u0ed1") - buf.write("\7\u01ed\2\2\u0ec9\u0ece\5\u0142\u00a2\2\u0eca\u0ecb\7") - buf.write("\u03bd\2\2\u0ecb\u0ecd\5\u0142\u00a2\2\u0ecc\u0eca\3\2") - buf.write("\2\2\u0ecd\u0ed0\3\2\2\2\u0ece\u0ecc\3\2\2\2\u0ece\u0ecf") - buf.write("\3\2\2\2\u0ecf\u0ed2\3\2\2\2\u0ed0\u0ece\3\2\2\2\u0ed1") - buf.write("\u0ec9\3\2\2\2\u0ed1\u0ed2\3\2\2\2\u0ed2\u0ed5\3\2\2\2") - buf.write("\u0ed3\u0ed4\7\u0219\2\2\u0ed4\u0ed6\5\u0144\u00a3\2\u0ed5") - buf.write("\u0ed3\3\2\2\2\u0ed5\u0ed6\3\2\2\2\u0ed6\u0eda\3\2\2\2") - buf.write("\u0ed7\u0ed9\5\u0146\u00a4\2\u0ed8\u0ed7\3\2\2\2\u0ed9") - buf.write("\u0edc\3\2\2\2\u0eda\u0ed8\3\2\2\2\u0eda\u0edb\3\2\2\2") - buf.write("\u0edb\u0ede\3\2\2\2\u0edc\u0eda\3\2\2\2\u0edd\u0edf\5") - buf.write("\u013c\u009f\2\u0ede\u0edd\3\2\2\2\u0ede\u0edf\3\2\2\2") - buf.write("\u0edf\u012d\3\2\2\2\u0ee0\u0ee1\7\u0202\2\2\u0ee1\u0eea") - buf.write("\7\u01ed\2\2\u0ee2\u0ee7\5\u0142\u00a2\2\u0ee3\u0ee4\7") - buf.write("\u03bd\2\2\u0ee4\u0ee6\5\u0142\u00a2\2\u0ee5\u0ee3\3\2") - buf.write("\2\2\u0ee6\u0ee9\3\2\2\2\u0ee7\u0ee5\3\2\2\2\u0ee7\u0ee8") - buf.write("\3\2\2\2\u0ee8\u0eeb\3\2\2\2\u0ee9\u0ee7\3\2\2\2\u0eea") - buf.write("\u0ee2\3\2\2\2\u0eea\u0eeb\3\2\2\2\u0eeb\u012f\3\2\2\2") - buf.write("\u0eec\u0eed\7\u01fc\2\2\u0eed\u0eee\7\u015b\2\2\u0eee") - buf.write("\u0131\3\2\2\2\u0eef\u0ef0\7\u0202\2\2\u0ef0\u0ef1\7\u015b") - buf.write("\2\2\u0ef1\u0133\3\2\2\2\u0ef2\u0ef3\5\u0136\u009c\2\u0ef3") - buf.write("\u0ef4\7\u03b2\2\2\u0ef4\u0ef5\7\u03ca\2\2\u0ef5\u0f10") - buf.write("\3\2\2\2\u0ef6\u0ef7\5\u0138\u009d\2\u0ef7\u0ef8\7\u03b2") - buf.write("\2\2\u0ef8\u0ef9\5\u020a\u0106\2\u0ef9\u0f10\3\2\2\2\u0efa") - buf.write("\u0efb\5\u013a\u009e\2\u0efb\u0efc\7\u03b2\2\2\u0efc\u0efd") - buf.write("\t\27\2\2\u0efd\u0f10\3\2\2\2\u0efe\u0eff\7\u017f\2\2") - buf.write("\u0eff\u0f00\7\u03b2\2\2\u0f00\u0f10\7\u03cd\2\2\u0f01") - buf.write("\u0f02\7\u0162\2\2\u0f02\u0f03\7\u03b2\2\2\u0f03\u0f0c") - buf.write("\7\u03bb\2\2\u0f04\u0f09\5\u0204\u0103\2\u0f05\u0f06\7") - buf.write("\u03bd\2\2\u0f06\u0f08\5\u0204\u0103\2\u0f07\u0f05\3\2") - buf.write("\2\2\u0f08\u0f0b\3\2\2\2\u0f09\u0f07\3\2\2\2\u0f09\u0f0a") - buf.write("\3\2\2\2\u0f0a\u0f0d\3\2\2\2\u0f0b\u0f09\3\2\2\2\u0f0c") - buf.write("\u0f04\3\2\2\2\u0f0c\u0f0d\3\2\2\2\u0f0d\u0f0e\3\2\2\2") - buf.write("\u0f0e\u0f10\7\u03bc\2\2\u0f0f\u0ef2\3\2\2\2\u0f0f\u0ef6") - buf.write("\3\2\2\2\u0f0f\u0efa\3\2\2\2\u0f0f\u0efe\3\2\2\2\u0f0f") - buf.write("\u0f01\3\2\2\2\u0f10\u0135\3\2\2\2\u0f11\u0f12\t\61\2") - buf.write("\2\u0f12\u0137\3\2\2\2\u0f13\u0f14\t\62\2\2\u0f14\u0139") - buf.write("\3\2\2\2\u0f15\u0f16\t\63\2\2\u0f16\u013b\3\2\2\2\u0f17") - buf.write("\u0f18\7<\2\2\u0f18\u0f19\7\u0113\2\2\u0f19\u0f1a\7\u03ca") - buf.write("\2\2\u0f1a\u013d\3\2\2\2\u0f1b\u0f1c\7\u01d3\2\2\u0f1c") - buf.write("\u0f1d\7\u03b2\2\2\u0f1d\u0f1e\7\u03bb\2\2\u0f1e\u0f1f") - buf.write("\5\u0222\u0112\2\u0f1f\u0f20\7\u03bc\2\2\u0f20\u0f4d\3") - buf.write("\2\2\2\u0f21\u0f22\7\u01d5\2\2\u0f22\u0f23\7\u03b2\2\2") - buf.write("\u0f23\u0f24\7\u03bb\2\2\u0f24\u0f25\5\u0222\u0112\2\u0f25") - buf.write("\u0f26\7\u03bc\2\2\u0f26\u0f4d\3\2\2\2\u0f27\u0f28\7\u01d4") - buf.write("\2\2\u0f28\u0f29\7\u03b2\2\2\u0f29\u0f2a\7\u03bb\2\2\u0f2a") - buf.write("\u0f2b\5\u0224\u0113\2\u0f2b\u0f2c\7\u03bc\2\2\u0f2c\u0f4d") - buf.write("\3\2\2\2\u0f2d\u0f2e\7\u01d6\2\2\u0f2e\u0f2f\7\u03b2\2") - buf.write("\2\u0f2f\u0f30\7\u03bb\2\2\u0f30\u0f31\5\u0224\u0113\2") - buf.write("\u0f31\u0f32\7\u03bc\2\2\u0f32\u0f4d\3\2\2\2\u0f33\u0f34") - buf.write("\7\u01d8\2\2\u0f34\u0f35\7\u03b2\2\2\u0f35\u0f36\7\u03bb") - buf.write("\2\2\u0f36\u0f37\5\u022e\u0118\2\u0f37\u0f38\7\u03bc\2") - buf.write("\2\u0f38\u0f4d\3\2\2\2\u0f39\u0f3a\7\u01d9\2\2\u0f3a\u0f3b") - buf.write("\7\u03b2\2\2\u0f3b\u0f3c\7\u03bb\2\2\u0f3c\u0f3d\5\u022e") - buf.write("\u0118\2\u0f3d\u0f3e\7\u03bc\2\2\u0f3e\u0f4d\3\2\2\2\u0f3f") - buf.write("\u0f40\7\u01d7\2\2\u0f40\u0f41\7\u03b2\2\2\u0f41\u0f42") - buf.write("\7\u03bb\2\2\u0f42\u0f47\5\u0140\u00a1\2\u0f43\u0f44\7") - buf.write("\u03bd\2\2\u0f44\u0f46\5\u0140\u00a1\2\u0f45\u0f43\3\2") - buf.write("\2\2\u0f46\u0f49\3\2\2\2\u0f47\u0f45\3\2\2\2\u0f47\u0f48") - buf.write("\3\2\2\2\u0f48\u0f4a\3\2\2\2\u0f49\u0f47\3\2\2\2\u0f4a") - buf.write("\u0f4b\7\u03bc\2\2\u0f4b\u0f4d\3\2\2\2\u0f4c\u0f1b\3\2") - buf.write("\2\2\u0f4c\u0f21\3\2\2\2\u0f4c\u0f27\3\2\2\2\u0f4c\u0f2d") - buf.write("\3\2\2\2\u0f4c\u0f33\3\2\2\2\u0f4c\u0f39\3\2\2\2\u0f4c") - buf.write("\u0f3f\3\2\2\2\u0f4d\u013f\3\2\2\2\u0f4e\u0f4f\7\u03bb") - buf.write("\2\2\u0f4f\u0f50\5\u01ec\u00f7\2\u0f50\u0f51\7\u03bd\2") - buf.write("\2\u0f51\u0f52\5\u01ec\u00f7\2\u0f52\u0f53\7\u03bc\2\2") - buf.write("\u0f53\u0141\3\2\2\2\u0f54\u0f55\t\64\2\2\u0f55\u0143") - buf.write("\3\2\2\2\u0f56\u0f57\t\65\2\2\u0f57\u0f58\7\u03b2\2\2") - buf.write("\u0f58\u0f69\5\u0148\u00a5\2\u0f59\u0f5a\7\u0181\2\2\u0f5a") - buf.write("\u0f5b\7\u03b2\2\2\u0f5b\u0f5c\7\u03ca\2\2\u0f5c\u0f5d") - buf.write("\7\u03bd\2\2\u0f5d\u0f5e\7\u0182\2\2\u0f5e\u0f5f\7\u03b2") - buf.write("\2\2\u0f5f\u0f69\5\u020a\u0106\2\u0f60\u0f61\7\u01cd\2") - buf.write("\2\u0f61\u0f62\7\u03b2\2\2\u0f62\u0f63\7\u03ca\2\2\u0f63") - buf.write("\u0f64\7\u03bd\2\2\u0f64\u0f65\7\u01ce\2\2\u0f65\u0f66") - buf.write("\7\u03b2\2\2\u0f66\u0f69\5\u020a\u0106\2\u0f67\u0f69\7") - buf.write("\u01f6\2\2\u0f68\u0f56\3\2\2\2\u0f68\u0f59\3\2\2\2\u0f68") - buf.write("\u0f60\3\2\2\2\u0f68\u0f67\3\2\2\2\u0f69\u0145\3\2\2\2") - buf.write("\u0f6a\u0f6b\7\u021b\2\2\u0f6b\u0f6c\7\u03b2\2\2\u0f6c") - buf.write("\u0f77\7\u03ca\2\2\u0f6d\u0f6e\7\u01b8\2\2\u0f6e\u0f6f") - buf.write("\7\u03b2\2\2\u0f6f\u0f77\7\u03ca\2\2\u0f70\u0f71\7\u012d") - buf.write("\2\2\u0f71\u0f72\7\u03b2\2\2\u0f72\u0f77\7\u03ca\2\2\u0f73") - buf.write("\u0f74\7\u01bb\2\2\u0f74\u0f75\7\u03b2\2\2\u0f75\u0f77") - buf.write("\7\u03ca\2\2\u0f76\u0f6a\3\2\2\2\u0f76\u0f6d\3\2\2\2\u0f76") - buf.write("\u0f70\3\2\2\2\u0f76\u0f73\3\2\2\2\u0f77\u0147\3\2\2\2") - buf.write("\u0f78\u0f7d\5\u01fc\u00ff\2\u0f79\u0f7a\7\u03bd\2\2\u0f7a") - buf.write("\u0f7c\5\u01fc\u00ff\2\u0f7b\u0f79\3\2\2\2\u0f7c\u0f7f") - buf.write("\3\2\2\2\u0f7d\u0f7b\3\2\2\2\u0f7d\u0f7e\3\2\2\2\u0f7e") - buf.write("\u0f82\3\2\2\2\u0f7f\u0f7d\3\2\2\2\u0f80\u0f82\7\u03ca") - buf.write("\2\2\u0f81\u0f78\3\2\2\2\u0f81\u0f80\3\2\2\2\u0f82\u0149") - buf.write("\3\2\2\2\u0f83\u0f84\7\u0229\2\2\u0f84\u0f85\t\66\2\2") - buf.write("\u0f85\u0f87\5\u01fe\u0100\2\u0f86\u0f88\t\67\2\2\u0f87") - buf.write("\u0f86\3\2\2\2\u0f87\u0f88\3\2\2\2\u0f88\u014b\3\2\2\2") - buf.write("\u0f89\u0f8a\7\u0229\2\2\u0f8a\u0f8b\7\u013b\2\2\u0f8b") - buf.write("\u0f91\5\u01fe\u0100\2\u0f8c\u0f8f\7\u0209\2\2\u0f8d\u0f8e") - buf.write("\7<\2\2\u0f8e\u0f90\7\u0199\2\2\u0f8f\u0f8d\3\2\2\2\u0f8f") - buf.write("\u0f90\3\2\2\2\u0f90\u0f92\3\2\2\2\u0f91\u0f8c\3\2\2\2") - buf.write("\u0f91\u0f92\3\2\2\2\u0f92\u014d\3\2\2\2\u0f93\u0f94\7") - buf.write("\u0229\2\2\u0f94\u0f95\7\u01bf\2\2\u0f95\u0f96\5\u01fe") - buf.write("\u0100\2\u0f96\u014f\3\2\2\2\u0f97\u0f98\7\u0229\2\2\u0f98") - buf.write("\u0f99\7\u011d\2\2\u0f99\u0f9c\5\u01fe\u0100\2\u0f9a\u0f9b") - buf.write("\7\u01ab\2\2\u0f9b\u0f9d\7\u01b9\2\2\u0f9c\u0f9a\3\2\2") - buf.write("\2\u0f9c\u0f9d\3\2\2\2\u0f9d\u0151\3\2\2\2\u0f9e\u0f9f") - buf.write("\7\u0229\2\2\u0f9f\u0fa0\7\u01de\2\2\u0fa0\u0fa1\5\u01fe") - buf.write("\u0100\2\u0fa1\u0153\3\2\2\2\u0fa2\u0fa3\7\u0229\2\2\u0fa3") - buf.write("\u0fa6\7\u01c9\2\2\u0fa4\u0fa5\7!\2\2\u0fa5\u0fa7\5\u01fe") - buf.write("\u0100\2\u0fa6\u0fa4\3\2\2\2\u0fa6\u0fa7\3\2\2\2\u0fa7") - buf.write("\u0155\3\2\2\2\u0fa8\u0fa9\7\u01bf\2\2\u0fa9\u0faa\5\u0204") - buf.write("\u0103\2\u0faa\u0fad\7?\2\2\u0fab\u0fae\7\u03ca\2\2\u0fac") - buf.write("\u0fae\7\u03d5\2\2\u0fad\u0fab\3\2\2\2\u0fad\u0fac\3\2") - buf.write("\2\2\u0fae\u0157\3\2\2\2\u0faf\u0fb0\7\u023a\2\2\u0fb0") - buf.write("\u0fb3\5\u0204\u0103\2\u0fb1\u0fb2\7\u00a6\2\2\u0fb2\u0fb4") - buf.write("\5\u0230\u0119\2\u0fb3\u0fb1\3\2\2\2\u0fb3\u0fb4\3\2\2") - buf.write("\2\u0fb4\u0159\3\2\2\2\u0fb5\u0fb6\t8\2\2\u0fb6\u0fb7") - buf.write("\7\u01bf\2\2\u0fb7\u0fb8\5\u0204\u0103\2\u0fb8\u015b\3") - buf.write("\2\2\2\u0fb9\u0fbc\5\u015e\u00b0\2\u0fba\u0fbc\5\6\4\2") - buf.write("\u0fbb\u0fb9\3\2\2\2\u0fbb\u0fba\3\2\2\2\u0fbc\u015d\3") - buf.write("\2\2\2\u0fbd\u0fbe\5\u0204\u0103\2\u0fbe\u0fbf\7\u03c6") - buf.write("\2\2\u0fbf\u0fc1\3\2\2\2\u0fc0\u0fbd\3\2\2\2\u0fc0\u0fc1") - buf.write("\3\2\2\2\u0fc1\u0fc2\3\2\2\2\u0fc2\u0fe8\7\u0108\2\2\u0fc3") - buf.write("\u0fc4\5\u0172\u00ba\2\u0fc4\u0fc5\7\u03be\2\2\u0fc5\u0fc7") - buf.write("\3\2\2\2\u0fc6\u0fc3\3\2\2\2\u0fc7\u0fca\3\2\2\2\u0fc8") - buf.write("\u0fc6\3\2\2\2\u0fc8\u0fc9\3\2\2\2\u0fc9\u0fd0\3\2\2\2") - buf.write("\u0fca\u0fc8\3\2\2\2\u0fcb\u0fcc\5\u0174\u00bb\2\u0fcc") - buf.write("\u0fcd\7\u03be\2\2\u0fcd\u0fcf\3\2\2\2\u0fce\u0fcb\3\2") - buf.write("\2\2\u0fcf\u0fd2\3\2\2\2\u0fd0\u0fce\3\2\2\2\u0fd0\u0fd1") - buf.write("\3\2\2\2\u0fd1\u0fd8\3\2\2\2\u0fd2\u0fd0\3\2\2\2\u0fd3") - buf.write("\u0fd4\5\u0176\u00bc\2\u0fd4\u0fd5\7\u03be\2\2\u0fd5\u0fd7") - buf.write("\3\2\2\2\u0fd6\u0fd3\3\2\2\2\u0fd7\u0fda\3\2\2\2\u0fd8") - buf.write("\u0fd6\3\2\2\2\u0fd8\u0fd9\3\2\2\2\u0fd9\u0fe0\3\2\2\2") - buf.write("\u0fda\u0fd8\3\2\2\2\u0fdb\u0fdc\5\u0178\u00bd\2\u0fdc") - buf.write("\u0fdd\7\u03be\2\2\u0fdd\u0fdf\3\2\2\2\u0fde\u0fdb\3\2") - buf.write("\2\2\u0fdf\u0fe2\3\2\2\2\u0fe0\u0fde\3\2\2\2\u0fe0\u0fe1") - buf.write("\3\2\2\2\u0fe1\u0fe4\3\2\2\2\u0fe2\u0fe0\3\2\2\2\u0fe3") - buf.write("\u0fe5\5\u017c\u00bf\2\u0fe4\u0fe3\3\2\2\2\u0fe5\u0fe6") - buf.write("\3\2\2\2\u0fe6\u0fe4\3\2\2\2\u0fe6\u0fe7\3\2\2\2\u0fe7") - buf.write("\u0fe9\3\2\2\2\u0fe8\u0fc8\3\2\2\2\u0fe8\u0fe9\3\2\2\2") - buf.write("\u0fe9\u0fea\3\2\2\2\u0fea\u0fec\7\u013b\2\2\u0feb\u0fed") - buf.write("\5\u0204\u0103\2\u0fec\u0feb\3\2\2\2\u0fec\u0fed\3\2\2") - buf.write("\2\u0fed\u015f\3\2\2\2\u0fee\u0ff1\7\27\2\2\u0fef\u0ff2") - buf.write("\5\u0204\u0103\2\u0ff0\u0ff2\5\u0250\u0129\2\u0ff1\u0fef") - buf.write("\3\2\2\2\u0ff1\u0ff0\3\2\2\2\u0ff1\u0ff2\3\2\2\2\u0ff2") - buf.write("\u0ff4\3\2\2\2\u0ff3\u0ff5\5\u017e\u00c0\2\u0ff4\u0ff3") - buf.write("\3\2\2\2\u0ff5\u0ff6\3\2\2\2\u0ff6\u0ff4\3\2\2\2\u0ff6") - buf.write("\u0ff7\3\2\2\2\u0ff7\u0ffe\3\2\2\2\u0ff8\u0ffa\7\63\2") - buf.write("\2\u0ff9\u0ffb\5\u017c\u00bf\2\u0ffa\u0ff9\3\2\2\2\u0ffb") - buf.write("\u0ffc\3\2\2\2\u0ffc\u0ffa\3\2\2\2\u0ffc\u0ffd\3\2\2\2") - buf.write("\u0ffd\u0fff\3\2\2\2\u0ffe\u0ff8\3\2\2\2\u0ffe\u0fff\3") - buf.write("\2\2\2\u0fff\u1000\3\2\2\2\u1000\u1001\7\u013b\2\2\u1001") - buf.write("\u1002\7\27\2\2\u1002\u0161\3\2\2\2\u1003\u1004\7F\2\2") - buf.write("\u1004\u1005\5\u0250\u0129\2\u1005\u1007\7\u0099\2\2\u1006") - buf.write("\u1008\5\u017c\u00bf\2\u1007\u1006\3\2\2\2\u1008\u1009") - buf.write("\3\2\2\2\u1009\u1007\3\2\2\2\u1009\u100a\3\2\2\2\u100a") - buf.write("\u100e\3\2\2\2\u100b\u100d\5\u0180\u00c1\2\u100c\u100b") - buf.write("\3\2\2\2\u100d\u1010\3\2\2\2\u100e\u100c\3\2\2\2\u100e") - buf.write("\u100f\3\2\2\2\u100f\u1017\3\2\2\2\u1010\u100e\3\2\2\2") - buf.write("\u1011\u1013\7\63\2\2\u1012\u1014\5\u017c\u00bf\2\u1013") - buf.write("\u1012\3\2\2\2\u1014\u1015\3\2\2\2\u1015\u1013\3\2\2\2") - buf.write("\u1015\u1016\3\2\2\2\u1016\u1018\3\2\2\2\u1017\u1011\3") - buf.write("\2\2\2\u1017\u1018\3\2\2\2\u1018\u1019\3\2\2\2\u1019\u101a") - buf.write("\7\u013b\2\2\u101a\u101b\7F\2\2\u101b\u0163\3\2\2\2\u101c") - buf.write("\u101d\7Q\2\2\u101d\u101e\5\u0204\u0103\2\u101e\u0165") - buf.write("\3\2\2\2\u101f\u1020\7W\2\2\u1020\u1021\5\u0204\u0103") - buf.write("\2\u1021\u0167\3\2\2\2\u1022\u1023\5\u0204\u0103\2\u1023") - buf.write("\u1024\7\u03c6\2\2\u1024\u1026\3\2\2\2\u1025\u1022\3\2") - buf.write("\2\2\u1025\u1026\3\2\2\2\u1026\u1027\3\2\2\2\u1027\u1029") - buf.write("\7_\2\2\u1028\u102a\5\u017c\u00bf\2\u1029\u1028\3\2\2") - buf.write("\2\u102a\u102b\3\2\2\2\u102b\u1029\3\2\2\2\u102b\u102c") - buf.write("\3\2\2\2\u102c\u102d\3\2\2\2\u102d\u102e\7\u013b\2\2\u102e") - buf.write("\u1030\7_\2\2\u102f\u1031\5\u0204\u0103\2\u1030\u102f") - buf.write("\3\2\2\2\u1030\u1031\3\2\2\2\u1031\u0169\3\2\2\2\u1032") - buf.write("\u1033\5\u0204\u0103\2\u1033\u1034\7\u03c6\2\2\u1034\u1036") - buf.write("\3\2\2\2\u1035\u1032\3\2\2\2\u1035\u1036\3\2\2\2\u1036") - buf.write("\u1037\3\2\2\2\u1037\u1039\7~\2\2\u1038\u103a\5\u017c") - buf.write("\u00bf\2\u1039\u1038\3\2\2\2\u103a\u103b\3\2\2\2\u103b") - buf.write("\u1039\3\2\2\2\u103b\u103c\3\2\2\2\u103c\u103d\3\2\2\2") - buf.write("\u103d\u103e\7\u0219\2\2\u103e\u103f\5\u0250\u0129\2\u103f") - buf.write("\u1040\7\u013b\2\2\u1040\u1042\7~\2\2\u1041\u1043\5\u0204") - buf.write("\u0103\2\u1042\u1041\3\2\2\2\u1042\u1043\3\2\2\2\u1043") - buf.write("\u016b\3\2\2\2\u1044\u1045\7\u0082\2\2\u1045\u1046\5\u0250") - buf.write("\u0129\2\u1046\u016d\3\2\2\2\u1047\u1048\5\u0204\u0103") - buf.write("\2\u1048\u1049\7\u03c6\2\2\u1049\u104b\3\2\2\2\u104a\u1047") - buf.write("\3\2\2\2\u104a\u104b\3\2\2\2\u104b\u104c\3\2\2\2\u104c") - buf.write("\u104d\7\u00aa\2\2\u104d\u104e\5\u0250\u0129\2\u104e\u1050") - buf.write("\7\u0135\2\2\u104f\u1051\5\u017c\u00bf\2\u1050\u104f\3") - buf.write("\2\2\2\u1051\u1052\3\2\2\2\u1052\u1050\3\2\2\2\u1052\u1053") - buf.write("\3\2\2\2\u1053\u1054\3\2\2\2\u1054\u1055\7\u013b\2\2\u1055") - buf.write("\u1057\7\u00aa\2\2\u1056\u1058\5\u0204\u0103\2\u1057\u1056") - buf.write("\3\2\2\2\u1057\u1058\3\2\2\2\u1058\u016f\3\2\2\2\u1059") - buf.write("\u105a\7\u0117\2\2\u105a\u1069\5\u0204\u0103\2\u105b\u1060") - buf.write("\7;\2\2\u105c\u105e\7\u01a3\2\2\u105d\u105c\3\2\2\2\u105d") - buf.write("\u105e\3\2\2\2\u105e\u105f\3\2\2\2\u105f\u1061\7?\2\2") - buf.write("\u1060\u105d\3\2\2\2\u1060\u1061\3\2\2\2\u1061\u1062\3") - buf.write("\2\2\2\u1062\u1063\5\u0204\u0103\2\u1063\u1064\7O\2\2") - buf.write("\u1064\u1065\5\u0222\u0112\2\u1065\u1069\3\2\2\2\u1066") - buf.write("\u1067\7\u01ae\2\2\u1067\u1069\5\u0204\u0103\2\u1068\u1059") - buf.write("\3\2\2\2\u1068\u105b\3\2\2\2\u1068\u1066\3\2\2\2\u1069") - buf.write("\u0171\3\2\2\2\u106a\u106b\7(\2\2\u106b\u106c\5\u0222") - buf.write("\u0112\2\u106c\u106f\5\u0218\u010d\2\u106d\u106e\7)\2") - buf.write("\2\u106e\u1070\5\u0232\u011a\2\u106f\u106d\3\2\2\2\u106f") - buf.write("\u1070\3\2\2\2\u1070\u0173\3\2\2\2\u1071\u1072\7(\2\2") - buf.write("\u1072\u1073\5\u0204\u0103\2\u1073\u1074\7\36\2\2\u1074") - buf.write("\u107b\7<\2\2\u1075\u107c\5\u020a\u0106\2\u1076\u1078") - buf.write("\7\u008f\2\2\u1077\u1079\7\u021f\2\2\u1078\u1077\3\2\2") - buf.write("\2\u1078\u1079\3\2\2\2\u1079\u107a\3\2\2\2\u107a\u107c") - buf.write("\7\u03ca\2\2\u107b\u1075\3\2\2\2\u107b\u1076\3\2\2\2\u107c") - buf.write("\u0175\3\2\2\2\u107d\u107e\7(\2\2\u107e\u107f\5\u0204") - buf.write("\u0103\2\u107f\u1080\7%\2\2\u1080\u1081\7<\2\2\u1081\u1082") - buf.write("\5\u00b4[\2\u1082\u0177\3\2\2\2\u1083\u1084\7(\2\2\u1084") - buf.write("\u1085\t9\2\2\u1085\u1086\7\u015c\2\2\u1086\u1087\7<\2") - buf.write("\2\u1087\u108c\5\u017a\u00be\2\u1088\u1089\7\u03bd\2\2") - buf.write("\u1089\u108b\5\u017a\u00be\2\u108a\u1088\3\2\2\2\u108b") - buf.write("\u108e\3\2\2\2\u108c\u108a\3\2\2\2\u108c\u108d\3\2\2\2") - buf.write("\u108d\u108f\3\2\2\2\u108e\u108c\3\2\2\2\u108f\u1090\5") - buf.write("\u015c\u00af\2\u1090\u0179\3\2\2\2\u1091\u109d\5\u020a") - buf.write("\u0106\2\u1092\u1094\7\u008f\2\2\u1093\u1095\7\u021f\2") - buf.write("\2\u1094\u1093\3\2\2\2\u1094\u1095\3\2\2\2\u1095\u1096") - buf.write("\3\2\2\2\u1096\u109d\7\u03ca\2\2\u1097\u109d\5\u0204\u0103") - buf.write("\2\u1098\u109d\7\u0090\2\2\u1099\u109a\7g\2\2\u109a\u109d") - buf.write("\7\u0155\2\2\u109b\u109d\7\u008e\2\2\u109c\u1091\3\2\2") - buf.write("\2\u109c\u1092\3\2\2\2\u109c\u1097\3\2\2\2\u109c\u1098") - buf.write("\3\2\2\2\u109c\u1099\3\2\2\2\u109c\u109b\3\2\2\2\u109d") - buf.write("\u017b\3\2\2\2\u109e\u10a1\5\24\13\2\u109f\u10a1\5\6\4") - buf.write("\2\u10a0\u109e\3\2\2\2\u10a0\u109f\3\2\2\2\u10a1\u10a2") - buf.write("\3\2\2\2\u10a2\u10a3\7\u03be\2\2\u10a3\u017d\3\2\2\2\u10a4") - buf.write("\u10a7\7\u00a8\2\2\u10a5\u10a8\5\u0216\u010c\2\u10a6\u10a8") - buf.write("\5\u0250\u0129\2\u10a7\u10a5\3\2\2\2\u10a7\u10a6\3\2\2") - buf.write("\2\u10a8\u10a9\3\2\2\2\u10a9\u10ab\7\u0099\2\2\u10aa\u10ac") - buf.write("\5\u017c\u00bf\2\u10ab\u10aa\3\2\2\2\u10ac\u10ad\3\2\2") - buf.write("\2\u10ad\u10ab\3\2\2\2\u10ad\u10ae\3\2\2\2\u10ae\u017f") - buf.write("\3\2\2\2\u10af\u10b0\7\64\2\2\u10b0\u10b1\5\u0250\u0129") - buf.write("\2\u10b1\u10b3\7\u0099\2\2\u10b2\u10b4\5\u017c\u00bf\2") - buf.write("\u10b3\u10b2\3\2\2\2\u10b4\u10b5\3\2\2\2\u10b5\u10b3\3") - buf.write("\2\2\2\u10b5\u10b6\3\2\2\2\u10b6\u0181\3\2\2\2\u10b7\u10b8") - buf.write("\7\13\2\2\u10b8\u10b9\7\u021b\2\2\u10b9\u10be\5\u0194") - buf.write("\u00cb\2\u10ba\u10bb\7\u03bd\2\2\u10bb\u10bd\5\u0194\u00cb") - buf.write("\2\u10bc\u10ba\3\2\2\2\u10bd\u10c0\3\2\2\2\u10be\u10bc") - buf.write("\3\2\2\2\u10be\u10bf\3\2\2\2\u10bf\u10ee\3\2\2\2\u10c0") - buf.write("\u10be\3\2\2\2\u10c1\u10c2\7\13\2\2\u10c2\u10c4\7\u021b") - buf.write("\2\2\u10c3\u10c5\5\u0238\u011d\2\u10c4\u10c3\3\2\2\2\u10c4") - buf.write("\u10c5\3\2\2\2\u10c5\u10c6\3\2\2\2\u10c6\u10cb\5\u0196") - buf.write("\u00cc\2\u10c7\u10c8\7\u03bd\2\2\u10c8\u10ca\5\u0196\u00cc") - buf.write("\2\u10c9\u10c7\3\2\2\2\u10ca\u10cd\3\2\2\2\u10cb\u10c9") - buf.write("\3\2\2\2\u10cb\u10cc\3\2\2\2\u10cc\u10dc\3\2\2\2\u10cd") - buf.write("\u10cb\3\2\2\2\u10ce\u10da\7\u0080\2\2\u10cf\u10db\7\u01a6") - buf.write("\2\2\u10d0\u10d7\5\u0198\u00cd\2\u10d1\u10d3\7\16\2\2") - buf.write("\u10d2\u10d1\3\2\2\2\u10d2\u10d3\3\2\2\2\u10d3\u10d4\3") - buf.write("\2\2\2\u10d4\u10d6\5\u0198\u00cd\2\u10d5\u10d2\3\2\2\2") - buf.write("\u10d6\u10d9\3\2\2\2\u10d7\u10d5\3\2\2\2\u10d7\u10d8\3") - buf.write("\2\2\2\u10d8\u10db\3\2\2\2\u10d9\u10d7\3\2\2\2\u10da\u10cf") - buf.write("\3\2\2\2\u10da\u10d0\3\2\2\2\u10db\u10dd\3\2\2\2\u10dc") - buf.write("\u10ce\3\2\2\2\u10dc\u10dd\3\2\2\2\u10dd\u10e4\3\2\2\2") - buf.write("\u10de\u10e0\7\u00ab\2\2\u10df\u10e1\5\u019a\u00ce\2\u10e0") - buf.write("\u10df\3\2\2\2\u10e1\u10e2\3\2\2\2\u10e2\u10e0\3\2\2\2") - buf.write("\u10e2\u10e3\3\2\2\2\u10e3\u10e5\3\2\2\2\u10e4\u10de\3") - buf.write("\2\2\2\u10e4\u10e5\3\2\2\2\u10e5\u10ea\3\2\2\2\u10e6\u10e9") - buf.write("\5\u019c\u00cf\2\u10e7\u10e9\5\u019e\u00d0\2\u10e8\u10e6") - buf.write("\3\2\2\2\u10e8\u10e7\3\2\2\2\u10e9\u10ec\3\2\2\2\u10ea") - buf.write("\u10e8\3\2\2\2\u10ea\u10eb\3\2\2\2\u10eb\u10ee\3\2\2\2") - buf.write("\u10ec\u10ea\3\2\2\2\u10ed\u10b7\3\2\2\2\u10ed\u10c1\3") - buf.write("\2\2\2\u10ee\u0183\3\2\2\2\u10ef\u10f0\7\"\2\2\u10f0\u10f1") - buf.write("\7\u021b\2\2\u10f1\u10f6\5\u0196\u00cc\2\u10f2\u10f3\7") - buf.write("\u03bd\2\2\u10f3\u10f5\5\u0196\u00cc\2\u10f4\u10f2\3\2") - buf.write("\2\2\u10f5\u10f8\3\2\2\2\u10f6\u10f4\3\2\2\2\u10f6\u10f7") - buf.write("\3\2\2\2\u10f7\u1126\3\2\2\2\u10f8\u10f6\3\2\2\2\u10f9") - buf.write("\u10fa\7\"\2\2\u10fa\u10fc\7\u021b\2\2\u10fb\u10fd\5\u023a") - buf.write("\u011e\2\u10fc\u10fb\3\2\2\2\u10fc\u10fd\3\2\2\2\u10fd") - buf.write("\u10fe\3\2\2\2\u10fe\u1103\5\u0196\u00cc\2\u10ff\u1100") - buf.write("\7\u03bd\2\2\u1100\u1102\5\u0196\u00cc\2\u1101\u10ff\3") - buf.write("\2\2\2\u1102\u1105\3\2\2\2\u1103\u1101\3\2\2\2\u1103\u1104") - buf.write("\3\2\2\2\u1104\u1114\3\2\2\2\u1105\u1103\3\2\2\2\u1106") - buf.write("\u1112\7\u0080\2\2\u1107\u1113\7\u01a6\2\2\u1108\u110f") - buf.write("\5\u0198\u00cd\2\u1109\u110b\7\16\2\2\u110a\u1109\3\2") - buf.write("\2\2\u110a\u110b\3\2\2\2\u110b\u110c\3\2\2\2\u110c\u110e") - buf.write("\5\u0198\u00cd\2\u110d\u110a\3\2\2\2\u110e\u1111\3\2\2") - buf.write("\2\u110f\u110d\3\2\2\2\u110f\u1110\3\2\2\2\u1110\u1113") - buf.write("\3\2\2\2\u1111\u110f\3\2\2\2\u1112\u1107\3\2\2\2\u1112") - buf.write("\u1108\3\2\2\2\u1113\u1115\3\2\2\2\u1114\u1106\3\2\2\2") - buf.write("\u1114\u1115\3\2\2\2\u1115\u111c\3\2\2\2\u1116\u1118\7") - buf.write("\u00ab\2\2\u1117\u1119\5\u019a\u00ce\2\u1118\u1117\3\2") - buf.write("\2\2\u1119\u111a\3\2\2\2\u111a\u1118\3\2\2\2\u111a\u111b") - buf.write("\3\2\2\2\u111b\u111d\3\2\2\2\u111c\u1116\3\2\2\2\u111c") - buf.write("\u111d\3\2\2\2\u111d\u1122\3\2\2\2\u111e\u1121\5\u019c") - buf.write("\u00cf\2\u111f\u1121\5\u019e\u00d0\2\u1120\u111e\3\2\2") - buf.write("\2\u1120\u111f\3\2\2\2\u1121\u1124\3\2\2\2\u1122\u1120") - buf.write("\3\2\2\2\u1122\u1123\3\2\2\2\u1123\u1126\3\2\2\2\u1124") - buf.write("\u1122\3\2\2\2\u1125\u10ef\3\2\2\2\u1125\u10f9\3\2\2\2") - buf.write("\u1126\u0185\3\2\2\2\u1127\u1128\7\61\2\2\u1128\u112a") - buf.write("\7\u021b\2\2\u1129\u112b\5\u0238\u011d\2\u112a\u1129\3") - buf.write("\2\2\2\u112a\u112b\3\2\2\2\u112b\u112c\3\2\2\2\u112c\u1131") - buf.write("\5\u01f2\u00fa\2\u112d\u112e\7\u03bd\2\2\u112e\u1130\5") - buf.write("\u01f2\u00fa\2\u112f\u112d\3\2\2\2\u1130\u1133\3\2\2\2") - buf.write("\u1131\u112f\3\2\2\2\u1131\u1132\3\2\2\2\u1132\u0187\3") - buf.write("\2\2\2\u1133\u1131\3\2\2\2\u1134\u1135\7B\2\2\u1135\u113a") - buf.write("\5\u01a0\u00d1\2\u1136\u1137\7\u03bd\2\2\u1137\u1139\5") - buf.write("\u01a0\u00d1\2\u1138\u1136\3\2\2\2\u1139\u113c\3\2\2\2") - buf.write("\u113a\u1138\3\2\2\2\u113a\u113b\3\2\2\2\u113b\u113d\3") - buf.write("\2\2\2\u113c\u113a\3\2\2\2\u113d\u113f\7j\2\2\u113e\u1140") - buf.write("\t:\2\2\u113f\u113e\3\2\2\2\u113f\u1140\3\2\2\2\u1140") - buf.write("\u1141\3\2\2\2\u1141\u1142\5\u01a4\u00d3\2\u1142\u1143") - buf.write("\7\u009a\2\2\u1143\u1148\5\u0196\u00cc\2\u1144\u1145\7") - buf.write("\u03bd\2\2\u1145\u1147\5\u0196\u00cc\2\u1146\u1144\3\2") - buf.write("\2\2\u1147\u114a\3\2\2\2\u1148\u1146\3\2\2\2\u1148\u1149") - buf.write("\3\2\2\2\u1149\u1159\3\2\2\2\u114a\u1148\3\2\2\2\u114b") - buf.write("\u1157\7\u0080\2\2\u114c\u1158\7\u01a6\2\2\u114d\u1154") - buf.write("\5\u0198\u00cd\2\u114e\u1150\7\16\2\2\u114f\u114e\3\2") - buf.write("\2\2\u114f\u1150\3\2\2\2\u1150\u1151\3\2\2\2\u1151\u1153") - buf.write("\5\u0198\u00cd\2\u1152\u114f\3\2\2\2\u1153\u1156\3\2\2") - buf.write("\2\u1154\u1152\3\2\2\2\u1154\u1155\3\2\2\2\u1155\u1158") - buf.write("\3\2\2\2\u1156\u1154\3\2\2\2\u1157\u114c\3\2\2\2\u1157") - buf.write("\u114d\3\2\2\2\u1158\u115a\3\2\2\2\u1159\u114b\3\2\2\2") - buf.write("\u1159\u115a\3\2\2\2\u115a\u1164\3\2\2\2\u115b\u1161\7") - buf.write("\u00ab\2\2\u115c\u115d\7B\2\2\u115d\u1160\7l\2\2\u115e") - buf.write("\u1160\5\u019a\u00ce\2\u115f\u115c\3\2\2\2\u115f\u115e") - buf.write("\3\2\2\2\u1160\u1163\3\2\2\2\u1161\u115f\3\2\2\2\u1161") - buf.write("\u1162\3\2\2\2\u1162\u1165\3\2\2\2\u1163\u1161\3\2\2\2") - buf.write("\u1164\u115b\3\2\2\2\u1164\u1165\3\2\2\2\u1165\u0189\3") - buf.write("\2\2\2\u1166\u1167\7B\2\2\u1167\u1168\7\u01c5\2\2\u1168") - buf.write("\u1169\7j\2\2\u1169\u116a\5\u01f2\u00fa\2\u116a\u116b") - buf.write("\7\u009a\2\2\u116b\u1170\5\u01f2\u00fa\2\u116c\u116d\7") - buf.write("\u03bd\2\2\u116d\u116f\5\u01f2\u00fa\2\u116e\u116c\3\2") - buf.write("\2\2\u116f\u1172\3\2\2\2\u1170\u116e\3\2\2\2\u1170\u1171") - buf.write("\3\2\2\2\u1171\u1176\3\2\2\2\u1172\u1170\3\2\2\2\u1173") - buf.write("\u1174\7\u00ab\2\2\u1174\u1175\7B\2\2\u1175\u1177\7l\2") - buf.write("\2\u1176\u1173\3\2\2\2\u1176\u1177\3\2\2\2\u1177\u018b") - buf.write("\3\2\2\2\u1178\u1179\7}\2\2\u1179\u117a\7\u021b\2\2\u117a") - buf.write("\u117f\5\u01a6\u00d4\2\u117b\u117c\7\u03bd\2\2\u117c\u117e") - buf.write("\5\u01a6\u00d4\2\u117d\u117b\3\2\2\2\u117e\u1181\3\2\2") - buf.write("\2\u117f\u117d\3\2\2\2\u117f\u1180\3\2\2\2\u1180\u018d") - buf.write("\3\2\2\2\u1181\u117f\3\2\2\2\u1182\u1183\7\u0083\2\2\u1183") - buf.write("\u1188\5\u01a0\u00d1\2\u1184\u1185\7\u03bd\2\2\u1185\u1187") - buf.write("\5\u01a0\u00d1\2\u1186\u1184\3\2\2\2\u1187\u118a\3\2\2") - buf.write("\2\u1188\u1186\3\2\2\2\u1188\u1189\3\2\2\2\u1189\u118b") - buf.write("\3\2\2\2\u118a\u1188\3\2\2\2\u118b\u118d\7j\2\2\u118c") - buf.write("\u118e\t:\2\2\u118d\u118c\3\2\2\2\u118d\u118e\3\2\2\2") - buf.write("\u118e\u118f\3\2\2\2\u118f\u1190\5\u01a4\u00d3\2\u1190") - buf.write("\u1191\7?\2\2\u1191\u1196\5\u01f2\u00fa\2\u1192\u1193") - buf.write("\7\u03bd\2\2\u1193\u1195\5\u01f2\u00fa\2\u1194\u1192\3") - buf.write("\2\2\2\u1195\u1198\3\2\2\2\u1196\u1194\3\2\2\2\u1196\u1197") - buf.write("\3\2\2\2\u1197\u11ab\3\2\2\2\u1198\u1196\3\2\2\2\u1199") - buf.write("\u119a\7\u0083\2\2\u119a\u119c\7\n\2\2\u119b\u119d\7\u0240") - buf.write("\2\2\u119c\u119b\3\2\2\2\u119c\u119d\3\2\2\2\u119d\u119e") - buf.write("\3\2\2\2\u119e\u119f\7\u03bd\2\2\u119f\u11a0\7B\2\2\u11a0") - buf.write("\u11a1\7l\2\2\u11a1\u11a2\7?\2\2\u11a2\u11a7\5\u01f2\u00fa") - buf.write("\2\u11a3\u11a4\7\u03bd\2\2\u11a4\u11a6\5\u01f2\u00fa\2") - buf.write("\u11a5\u11a3\3\2\2\2\u11a6\u11a9\3\2\2\2\u11a7\u11a5\3") - buf.write("\2\2\2\u11a7\u11a8\3\2\2\2\u11a8\u11ab\3\2\2\2\u11a9\u11a7") - buf.write("\3\2\2\2\u11aa\u1182\3\2\2\2\u11aa\u1199\3\2\2\2\u11ab") - buf.write("\u018f\3\2\2\2\u11ac\u11ad\7\u0083\2\2\u11ad\u11ae\7\u01c5") - buf.write("\2\2\u11ae\u11af\7j\2\2\u11af\u11b0\5\u01f2\u00fa\2\u11b0") - buf.write("\u11b1\7?\2\2\u11b1\u11b6\5\u01f2\u00fa\2\u11b2\u11b3") - buf.write("\7\u03bd\2\2\u11b3\u11b5\5\u01f2\u00fa\2\u11b4\u11b2\3") - buf.write("\2\2\2\u11b5\u11b8\3\2\2\2\u11b6\u11b4\3\2\2\2\u11b6\u11b7") - buf.write("\3\2\2\2\u11b7\u0191\3\2\2\2\u11b8\u11b6\3\2\2\2\u11b9") - buf.write("\u11ba\7\u0089\2\2\u11ba\u11bd\7\u01b8\2\2\u11bb\u11bc") - buf.write("\7<\2\2\u11bc\u11be\5\u01f2\u00fa\2\u11bd\u11bb\3\2\2") - buf.write("\2\u11bd\u11be\3\2\2\2\u11be\u11bf\3\2\2\2\u11bf\u11c2") - buf.write("\7\u03b2\2\2\u11c0\u11c3\5\u024a\u0126\2\u11c1\u11c3\7") - buf.write("\u03ca\2\2\u11c2\u11c0\3\2\2\2\u11c2\u11c1\3\2\2\2\u11c3") - buf.write("\u0193\3\2\2\2\u11c4\u11c5\5\u01f2\u00fa\2\u11c5\u11c6") - buf.write("\5\u019c\u00cf\2\u11c6\u0195\3\2\2\2\u11c7\u11c8\5\u01f2") - buf.write("\u00fa\2\u11c8\u11c9\7\u0161\2\2\u11c9\u11ca\7\24\2\2") - buf.write("\u11ca\u11cb\7\u01b8\2\2\u11cb\u11cc\7\u03ca\2\2\u11cc") - buf.write("\u11e0\3\2\2\2\u11cd\u11ce\5\u01f2\u00fa\2\u11ce\u11d1") - buf.write("\7\u0161\2\2\u11cf\u11d0\7\u00ab\2\2\u11d0\u11d2\5\u0202") - buf.write("\u0102\2\u11d1\u11cf\3\2\2\2\u11d1\u11d2\3\2\2\2\u11d2") - buf.write("\u11d3\3\2\2\2\u11d3\u11d4\7\24\2\2\u11d4\u11d5\7\u03ca") - buf.write("\2\2\u11d5\u11e0\3\2\2\2\u11d6\u11d7\5\u01f2\u00fa\2\u11d7") - buf.write("\u11d8\7\u0161\2\2\u11d8\u11d9\7\u00ab\2\2\u11d9\u11dc") - buf.write("\5\u0202\u0102\2\u11da\u11db\7\17\2\2\u11db\u11dd\7\u03ca") - buf.write("\2\2\u11dc\u11da\3\2\2\2\u11dc\u11dd\3\2\2\2\u11dd\u11e0") - buf.write("\3\2\2\2\u11de\u11e0\5\u01f2\u00fa\2\u11df\u11c7\3\2\2") - buf.write("\2\u11df\u11cd\3\2\2\2\u11df\u11d6\3\2\2\2\u11df\u11de") - buf.write("\3\2\2\2\u11e0\u0197\3\2\2\2\u11e1\u11ea\7\u0094\2\2\u11e2") - buf.write("\u11ea\7\u0228\2\2\u11e3\u11e4\7\u0115\2\2\u11e4\u11ea") - buf.write("\7\u03ca\2\2\u11e5\u11e6\7\u016f\2\2\u11e6\u11ea\7\u03ca") - buf.write("\2\2\u11e7\u11e8\7\u0206\2\2\u11e8\u11ea\7\u03ca\2\2\u11e9") - buf.write("\u11e1\3\2\2\2\u11e9\u11e2\3\2\2\2\u11e9\u11e3\3\2\2\2") - buf.write("\u11e9\u11e5\3\2\2\2\u11e9\u11e7\3\2\2\2\u11ea\u0199\3") - buf.write("\2\2\2\u11eb\u11ec\7\u0191\2\2\u11ec\u11f4\5\u020a\u0106") - buf.write("\2\u11ed\u11ee\7\u0194\2\2\u11ee\u11f4\5\u020a\u0106\2") - buf.write("\u11ef\u11f0\7\u0190\2\2\u11f0\u11f4\5\u020a\u0106\2\u11f1") - buf.write("\u11f2\7\u0195\2\2\u11f2\u11f4\5\u020a\u0106\2\u11f3\u11eb") - buf.write("\3\2\2\2\u11f3\u11ed\3\2\2\2\u11f3\u11ef\3\2\2\2\u11f3") - buf.write("\u11f1\3\2\2\2\u11f4\u019b\3\2\2\2\u11f5\u11f6\7\u01b8") - buf.write("\2\2\u11f6\u11fd\7\u0148\2\2\u11f7\u11fe\7)\2\2\u11f8") - buf.write("\u11fe\7\u01a2\2\2\u11f9\u11fa\7N\2\2\u11fa\u11fb\5\u020a") - buf.write("\u0106\2\u11fb\u11fc\7\u0232\2\2\u11fc\u11fe\3\2\2\2\u11fd") - buf.write("\u11f7\3\2\2\2\u11fd\u11f8\3\2\2\2\u11fd\u11f9\3\2\2\2") - buf.write("\u11fd\u11fe\3\2\2\2\u11fe\u019d\3\2\2\2\u11ff\u1200\7") - buf.write("\u00fc\2\2\u1200\u1201\t;\2\2\u1201\u019f\3\2\2\2\u1202") - buf.write("\u1207\5\u01a2\u00d2\2\u1203\u1204\7\u03bb\2\2\u1204\u1205") - buf.write("\5\u0222\u0112\2\u1205\u1206\7\u03bc\2\2\u1206\u1208\3") - buf.write("\2\2\2\u1207\u1203\3\2\2\2\u1207\u1208\3\2\2\2\u1208\u01a1") - buf.write("\3\2\2\2\u1209\u120b\7\n\2\2\u120a\u120c\7\u0240\2\2\u120b") - buf.write("\u120a\3\2\2\2\u120b\u120c\3\2\2\2\u120c\u1234\3\2\2\2") - buf.write("\u120d\u120f\7\13\2\2\u120e\u1210\7\u0239\2\2\u120f\u120e") - buf.write("\3\2\2\2\u120f\u1210\3\2\2\2\u1210\u1234\3\2\2\2\u1211") - buf.write("\u1218\7\"\2\2\u1212\u1213\7\u020d\2\2\u1213\u1219\7\u0238") - buf.write("\2\2\u1214\u1219\7\u0239\2\2\u1215\u1219\7\u0221\2\2\u1216") - buf.write("\u1219\7\u021b\2\2\u1217\u1219\7\u020c\2\2\u1218\u1212") - buf.write("\3\2\2\2\u1218\u1214\3\2\2\2\u1218\u1215\3\2\2\2\u1218") - buf.write("\u1216\3\2\2\2\u1218\u1217\3\2\2\2\u1218\u1219\3\2\2\2") - buf.write("\u1219\u1234\3\2\2\2\u121a\u1234\7+\2\2\u121b\u1234\7") - buf.write("\61\2\2\u121c\u1234\7\u0143\2\2\u121d\u1234\7\u023a\2") - buf.write("\2\u121e\u1234\7\u023b\2\2\u121f\u1220\7B\2\2\u1220\u1234") - buf.write("\7l\2\2\u1221\u1234\7I\2\2\u1222\u1234\7M\2\2\u1223\u1224") - buf.write("\7^\2\2\u1224\u1234\7\u0238\2\2\u1225\u1234\7\u023c\2") - buf.write("\2\u1226\u1234\7\u01c5\2\2\u1227\u1234\7z\2\2\u1228\u1234") - buf.write("\7\u023d\2\2\u1229\u122a\7\u01da\2\2\u122a\u1234\t<\2") - buf.write("\2\u122b\u1234\7\u0088\2\2\u122c\u122d\7\u008b\2\2\u122d") - buf.write("\u1234\t=\2\2\u122e\u1234\7\u023e\2\2\u122f\u1234\7\u023f") - buf.write("\2\2\u1230\u1234\7\u009c\2\2\u1231\u1234\7\u00a3\2\2\u1232") - buf.write("\u1234\7\u00a4\2\2\u1233\u1209\3\2\2\2\u1233\u120d\3\2") - buf.write("\2\2\u1233\u1211\3\2\2\2\u1233\u121a\3\2\2\2\u1233\u121b") - buf.write("\3\2\2\2\u1233\u121c\3\2\2\2\u1233\u121d\3\2\2\2\u1233") - buf.write("\u121e\3\2\2\2\u1233\u121f\3\2\2\2\u1233\u1221\3\2\2\2") - buf.write("\u1233\u1222\3\2\2\2\u1233\u1223\3\2\2\2\u1233\u1225\3") - buf.write("\2\2\2\u1233\u1226\3\2\2\2\u1233\u1227\3\2\2\2\u1233\u1228") - buf.write("\3\2\2\2\u1233\u1229\3\2\2\2\u1233\u122b\3\2\2\2\u1233") - buf.write("\u122c\3\2\2\2\u1233\u122e\3\2\2\2\u1233\u122f\3\2\2\2") - buf.write("\u1233\u1230\3\2\2\2\u1233\u1231\3\2\2\2\u1233\u1232\3") - buf.write("\2\2\2\u1234\u01a3\3\2\2\2\u1235\u1243\7\u03aa\2\2\u1236") - buf.write("\u1237\7\u03aa\2\2\u1237\u1238\7\u03ba\2\2\u1238\u1243") - buf.write("\7\u03aa\2\2\u1239\u123a\5\u0204\u0103\2\u123a\u123b\7") - buf.write("\u03ba\2\2\u123b\u123c\7\u03aa\2\2\u123c\u1243\3\2\2\2") - buf.write("\u123d\u123e\5\u0204\u0103\2\u123e\u123f\7\u03ba\2\2\u123f") - buf.write("\u1240\5\u0204\u0103\2\u1240\u1243\3\2\2\2\u1241\u1243") - buf.write("\5\u0204\u0103\2\u1242\u1235\3\2\2\2\u1242\u1236\3\2\2") - buf.write("\2\u1242\u1239\3\2\2\2\u1242\u123d\3\2\2\2\u1242\u1241") - buf.write("\3\2\2\2\u1243\u01a5\3\2\2\2\u1244\u1245\5\u01f2\u00fa") - buf.write("\2\u1245\u1246\7\u009a\2\2\u1246\u1247\5\u01f2\u00fa\2") - buf.write("\u1247\u01a7\3\2\2\2\u1248\u124a\7\r\2\2\u1249\u124b\t") - buf.write(">\2\2\u124a\u1249\3\2\2\2\u124a\u124b\3\2\2\2\u124b\u124c") - buf.write("\3\2\2\2\u124c\u124d\7\u0097\2\2\u124d\u124e\5\u0224\u0113") - buf.write("\2\u124e\u01a9\3\2\2\2\u124f\u1250\7\33\2\2\u1250\u1251") - buf.write("\7\u0097\2\2\u1251\u1255\5\u0224\u0113\2\u1252\u1254\5") - buf.write("\u01b2\u00da\2\u1253\u1252\3\2\2\2\u1254\u1257\3\2\2\2") - buf.write("\u1255\u1253\3\2\2\2\u1255\u1256\3\2\2\2\u1256\u01ab\3") - buf.write("\2\2\2\u1257\u1255\3\2\2\2\u1258\u1259\7\u0114\2\2\u1259") - buf.write("\u125a\7\u0097\2\2\u125a\u125c\5\u0224\u0113\2\u125b\u125d") - buf.write("\t?\2\2\u125c\u125b\3\2\2\2\u125c\u125d\3\2\2\2\u125d") - buf.write("\u01ad\3\2\2\2\u125e\u1260\7k\2\2\u125f\u1261\t>\2\2\u1260") - buf.write("\u125f\3\2\2\2\u1260\u1261\3\2\2\2\u1261\u1262\3\2\2\2") - buf.write("\u1262\u1263\7\u0097\2\2\u1263\u1264\5\u0224\u0113\2\u1264") - buf.write("\u01af\3\2\2\2\u1265\u1267\7\u01d2\2\2\u1266\u1268\t>") - buf.write("\2\2\u1267\u1266\3\2\2\2\u1267\u1268\3\2\2\2\u1268\u1269") - buf.write("\3\2\2\2\u1269\u126a\7\u0097\2\2\u126a\u126c\5\u0224\u0113") - buf.write("\2\u126b\u126d\7\u01c7\2\2\u126c\u126b\3\2\2\2\u126c\u126d") - buf.write("\3\2\2\2\u126d\u126f\3\2\2\2\u126e\u1270\7\u014a\2\2\u126f") - buf.write("\u126e\3\2\2\2\u126f\u1270\3\2\2\2\u1270\u1272\3\2\2\2") - buf.write("\u1271\u1273\7\u021c\2\2\u1272\u1271\3\2\2\2\u1272\u1273") - buf.write("\3\2\2\2\u1273\u01b1\3\2\2\2\u1274\u1275\7<\2\2\u1275") - buf.write("\u127c\7\u021a\2\2\u1276\u127c\7\u01c7\2\2\u1277\u127c") - buf.write("\7\u014c\2\2\u1278\u127c\7\u0196\2\2\u1279\u127c\7\u014a") - buf.write("\2\2\u127a\u127c\7\u0112\2\2\u127b\u1274\3\2\2\2\u127b") - buf.write("\u1276\3\2\2\2\u127b\u1277\3\2\2\2\u127b\u1278\3\2\2\2") - buf.write("\u127b\u1279\3\2\2\2\u127b\u127a\3\2\2\2\u127c\u01b3\3") - buf.write("\2\2\2\u127d\u127f\7\"\2\2\u127e\u1280\7\u00ff\2\2\u127f") - buf.write("\u127e\3\2\2\2\u127f\u1280\3\2\2\2\u1280\u1281\3\2\2\2") - buf.write("\u1281\u1282\7\u0157\2\2\u1282\u1283\5\u0204\u0103\2\u1283") - buf.write("\u1284\7\u01dd\2\2\u1284\u1285\t@\2\2\u1285\u1286\7\u01f2") - buf.write("\2\2\u1286\u1287\7\u03ca\2\2\u1287\u01b5\3\2\2\2\u1288") - buf.write("\u1289\7\u0168\2\2\u1289\u128a\7\u01ba\2\2\u128a\u128b") - buf.write("\5\u0204\u0103\2\u128b\u128c\7\u01f2\2\2\u128c\u128d\7") - buf.write("\u03ca\2\2\u128d\u01b7\3\2\2\2\u128e\u128f\7\u0217\2\2") - buf.write("\u128f\u1290\7\u01ba\2\2\u1290\u1291\5\u0204\u0103\2\u1291") - buf.write("\u01b9\3\2\2\2\u1292\u1293\7\u0089\2\2\u1293\u1294\5\u01be") - buf.write("\u00e0\2\u1294\u1295\7\u03b2\2\2\u1295\u129d\5\u0250\u0129") - buf.write("\2\u1296\u1297\7\u03bd\2\2\u1297\u1298\5\u01be\u00e0\2") - buf.write("\u1298\u1299\7\u03b2\2\2\u1299\u129a\5\u0250\u0129\2\u129a") - buf.write("\u129c\3\2\2\2\u129b\u1296\3\2\2\2\u129c\u129f\3\2\2\2") - buf.write("\u129d\u129b\3\2\2\2\u129d\u129e\3\2\2\2\u129e\u12b8\3") - buf.write("\2\2\2\u129f\u129d\3\2\2\2\u12a0\u12a4\7\u0089\2\2\u12a1") - buf.write("\u12a2\7\32\2\2\u12a2\u12a5\7\u0089\2\2\u12a3\u12a5\7") - buf.write("\u029b\2\2\u12a4\u12a1\3\2\2\2\u12a4\u12a3\3\2\2\2\u12a5") - buf.write("\u12a8\3\2\2\2\u12a6\u12a9\5\u01f6\u00fc\2\u12a7\u12a9") - buf.write("\7)\2\2\u12a8\u12a6\3\2\2\2\u12a8\u12a7\3\2\2\2\u12a9") - buf.write("\u12b8\3\2\2\2\u12aa\u12ab\7\u0089\2\2\u12ab\u12b2\7\u01a0") - buf.write("\2\2\u12ac\u12af\5\u01f6\u00fc\2\u12ad\u12ae\7\34\2\2") - buf.write("\u12ae\u12b0\5\u01f8\u00fd\2\u12af\u12ad\3\2\2\2\u12af") - buf.write("\u12b0\3\2\2\2\u12b0\u12b3\3\2\2\2\u12b1\u12b3\7)\2\2") - buf.write("\u12b2\u12ac\3\2\2\2\u12b2\u12b1\3\2\2\2\u12b3\u12b8\3") - buf.write("\2\2\2\u12b4\u12b8\5\u0192\u00ca\2\u12b5\u12b8\5\u0116") - buf.write("\u008c\2\u12b6\u12b8\5\u0114\u008b\2\u12b7\u1292\3\2\2") - buf.write("\2\u12b7\u12a0\3\2\2\2\u12b7\u12aa\3\2\2\2\u12b7\u12b4") - buf.write("\3\2\2\2\u12b7\u12b5\3\2\2\2\u12b7\u12b6\3\2\2\2\u12b8") - buf.write("\u01bb\3\2\2\2\u12b9\u12ba\7\u008b\2\2\u12ba\u12bb\t\60") - buf.write("\2\2\u12bb\u1351\7\u017a\2\2\u12bc\u12bd\7\u008b\2\2\u12bd") - buf.write("\u12be\tA\2\2\u12be\u12c1\7\u0144\2\2\u12bf\u12c0\7H\2") - buf.write("\2\u12c0\u12c2\7\u03ca\2\2\u12c1\u12bf\3\2\2\2\u12c1\u12c2") - buf.write("\3\2\2\2\u12c2\u12c5\3\2\2\2\u12c3\u12c4\7?\2\2\u12c4") - buf.write("\u12c6\5\u020a\u0106\2\u12c5\u12c3\3\2\2\2\u12c5\u12c6") - buf.write("\3\2\2\2\u12c6\u12ce\3\2\2\2\u12c7\u12cb\7Z\2\2\u12c8") - buf.write("\u12c9\5\u020a\u0106\2\u12c9\u12ca\7\u03bd\2\2\u12ca\u12cc") - buf.write("\3\2\2\2\u12cb\u12c8\3\2\2\2\u12cb\u12cc\3\2\2\2\u12cc") - buf.write("\u12cd\3\2\2\2\u12cd\u12cf\5\u020a\u0106\2\u12ce\u12c7") - buf.write("\3\2\2\2\u12ce\u12cf\3\2\2\2\u12cf\u1351\3\2\2\2\u12d0") - buf.write("\u12d1\7\u008b\2\2\u12d1\u12d3\5\u01c0\u00e1\2\u12d2\u12d4") - buf.write("\5\u01c2\u00e2\2\u12d3\u12d2\3\2\2\2\u12d3\u12d4\3\2\2") - buf.write("\2\u12d4\u1351\3\2\2\2\u12d5\u12d7\7\u008b\2\2\u12d6\u12d8") - buf.write("\7\u0156\2\2\u12d7\u12d6\3\2\2\2\u12d7\u12d8\3\2\2\2\u12d8") - buf.write("\u12d9\3\2\2\2\u12d9\u12da\t\"\2\2\u12da\u12db\tB\2\2") - buf.write("\u12db\u12de\5\u01ec\u00f7\2\u12dc\u12dd\tB\2\2\u12dd") - buf.write("\u12df\5\u0204\u0103\2\u12de\u12dc\3\2\2\2\u12de\u12df") - buf.write("\3\2\2\2\u12df\u12e1\3\2\2\2\u12e0\u12e2\5\u01c2\u00e2") - buf.write("\2\u12e1\u12e0\3\2\2\2\u12e1\u12e2\3\2\2\2\u12e2\u1351") - buf.write("\3\2\2\2\u12e3\u12e4\7\u008b\2\2\u12e4\u12e5\7\"\2\2\u12e5") - buf.write("\u12e7\t\2\2\2\u12e6\u12e8\5\u023a\u011e\2\u12e7\u12e6") - buf.write("\3\2\2\2\u12e7\u12e8\3\2\2\2\u12e8\u12e9\3\2\2\2\u12e9") - buf.write("\u1351\5\u0204\u0103\2\u12ea\u12eb\7\u008b\2\2\u12eb\u12ec") - buf.write("\7\"\2\2\u12ec\u12ed\tC\2\2\u12ed\u1351\5\u01ea\u00f6") - buf.write("\2\u12ee\u12ef\7\u008b\2\2\u12ef\u12f0\7\"\2\2\u12f0\u12f1") - buf.write("\7\u021b\2\2\u12f1\u1351\5\u01f2\u00fa\2\u12f2\u12f3\7") - buf.write("\u008b\2\2\u12f3\u12f4\7\u013d\2\2\u12f4\u12f5\5\u01fa") - buf.write("\u00fe\2\u12f5\u12f6\tD\2\2\u12f6\u1351\3\2\2\2\u12f7") - buf.write("\u12f8\7\u008b\2\2\u12f8\u1351\5\u01c4\u00e3\2\u12f9\u12fa") - buf.write("\7\u008b\2\2\u12fa\u12fb\tE\2\2\u12fb\u12ff\7Z\2\2\u12fc") - buf.write("\u12fd\5\u020a\u0106\2\u12fd\u12fe\7\u03bd\2\2\u12fe\u1300") - buf.write("\3\2\2\2\u12ff\u12fc\3\2\2\2\u12ff\u1300\3\2\2\2\u1300") - buf.write("\u1301\3\2\2\2\u1301\u1351\5\u020a\u0106\2\u1302\u1303") - buf.write("\7\u008b\2\2\u1303\u1304\7\u00dc\2\2\u1304\u1305\7\u03bb") - buf.write("\2\2\u1305\u1306\7\u03aa\2\2\u1306\u1307\7\u03bc\2\2\u1307") - buf.write("\u1351\tE\2\2\u1308\u1309\7\u008b\2\2\u1309\u130c\5\u01c6") - buf.write("\u00e4\2\u130a\u130b\tB\2\2\u130b\u130d\5\u0204\u0103") - buf.write("\2\u130c\u130a\3\2\2\2\u130c\u130d\3\2\2\2\u130d\u130f") - buf.write("\3\2\2\2\u130e\u1310\5\u01c2\u00e2\2\u130f\u130e\3\2\2") - buf.write("\2\u130f\u1310\3\2\2\2\u1310\u1351\3\2\2\2\u1311\u1312") - buf.write("\7\u008b\2\2\u1312\u1313\tF\2\2\u1313\u1314\7\u0119\2") - buf.write("\2\u1314\u1351\5\u01ea\u00f6\2\u1315\u1316\7\u008b\2\2") - buf.write("\u1316\u1319\7\u015a\2\2\u1317\u1318\7<\2\2\u1318\u131a") - buf.write("\5\u01f2\u00fa\2\u1319\u1317\3\2\2\2\u1319\u131a\3\2\2") - buf.write("\2\u131a\u1351\3\2\2\2\u131b\u131c\7\u008b\2\2\u131c\u131d") - buf.write("\tG\2\2\u131d\u131e\tB\2\2\u131e\u1321\5\u01ec\u00f7\2") - buf.write("\u131f\u1320\tB\2\2\u1320\u1322\5\u0204\u0103\2\u1321") - buf.write("\u131f\3\2\2\2\u1321\u1322\3\2\2\2\u1322\u1325\3\2\2\2") - buf.write("\u1323\u1324\7\u00a9\2\2\u1324\u1326\5\u0250\u0129\2\u1325") - buf.write("\u1323\3\2\2\2\u1325\u1326\3\2\2\2\u1326\u1351\3\2\2\2") - buf.write("\u1327\u1328\7\u008b\2\2\u1328\u1329\7\u01ae\2\2\u1329") - buf.write("\u132c\7\u0238\2\2\u132a\u132b\tB\2\2\u132b\u132d\5\u0204") - buf.write("\u0103\2\u132c\u132a\3\2\2\2\u132c\u132d\3\2\2\2\u132d") - buf.write("\u132f\3\2\2\2\u132e\u1330\5\u01c2\u00e2\2\u132f\u132e") - buf.write("\3\2\2\2\u132f\u1330\3\2\2\2\u1330\u1351\3\2\2\2\u1331") - buf.write("\u1332\7\u008b\2\2\u1332\u1333\7\u01c3\2\2\u1333\u1338") - buf.write("\5\u01c8\u00e5\2\u1334\u1335\7\u03bd\2\2\u1335\u1337\5") - buf.write("\u01c8\u00e5\2\u1336\u1334\3\2\2\2\u1337\u133a\3\2\2\2") - buf.write("\u1338\u1336\3\2\2\2\u1338\u1339\3\2\2\2\u1339\u133e\3") - buf.write("\2\2\2\u133a\u1338\3\2\2\2\u133b\u133c\7<\2\2\u133c\u133d") - buf.write("\7\u01c6\2\2\u133d\u133f\5\u020a\u0106\2\u133e\u133b\3") - buf.write("\2\2\2\u133e\u133f\3\2\2\2\u133f\u1340\3\2\2\2\u1340\u1344") - buf.write("\7Z\2\2\u1341\u1342\5\u020a\u0106\2\u1342\u1343\7\u03bd") - buf.write("\2\2\u1343\u1345\3\2\2\2\u1344\u1341\3\2\2\2\u1344\u1345") - buf.write("\3\2\2\2\u1345\u1346\3\2\2\2\u1346\u1347\5\u020a\u0106") - buf.write("\2\u1347\u1351\3\2\2\2\u1348\u1349\7\u008b\2\2\u1349\u134a") - buf.write("\7\u01ed\2\2\u134a\u134e\7\u0201\2\2\u134b\u134c\7<\2") - buf.write("\2\u134c\u134d\7\u0113\2\2\u134d\u134f\7\u03ca\2\2\u134e") - buf.write("\u134b\3\2\2\2\u134e\u134f\3\2\2\2\u134f\u1351\3\2\2\2") - buf.write("\u1350\u12b9\3\2\2\2\u1350\u12bc\3\2\2\2\u1350\u12d0\3") - buf.write("\2\2\2\u1350\u12d5\3\2\2\2\u1350\u12e3\3\2\2\2\u1350\u12ea") - buf.write("\3\2\2\2\u1350\u12ee\3\2\2\2\u1350\u12f2\3\2\2\2\u1350") - buf.write("\u12f7\3\2\2\2\u1350\u12f9\3\2\2\2\u1350\u1302\3\2\2\2") - buf.write("\u1350\u1308\3\2\2\2\u1350\u1311\3\2\2\2\u1350\u1315\3") - buf.write("\2\2\2\u1350\u131b\3\2\2\2\u1350\u1327\3\2\2\2\u1350\u1331") - buf.write("\3\2\2\2\u1350\u1348\3\2\2\2\u1351\u01bd\3\2\2\2\u1352") - buf.write("\u135d\7\u03d5\2\2\u1353\u135d\7\u03d6\2\2\u1354\u1355") - buf.write("\7\u03bf\2\2\u1355\u1357\7\u03bf\2\2\u1356\u1354\3\2\2") - buf.write("\2\u1356\u1357\3\2\2\2\u1357\u1358\3\2\2\2\u1358\u135a") - buf.write("\t/\2\2\u1359\u1356\3\2\2\2\u1359\u135a\3\2\2\2\u135a") - buf.write("\u135b\3\2\2\2\u135b\u135d\5\u0204\u0103\2\u135c\u1352") - buf.write("\3\2\2\2\u135c\u1353\3\2\2\2\u135c\u1359\3\2\2\2\u135d") - buf.write("\u01bf\3\2\2\2\u135e\u135f\7\32\2\2\u135f\u136c\7\u0089") - buf.write("\2\2\u1360\u136c\7\u029e\2\2\u1361\u136c\7\'\2\2\u1362") - buf.write("\u136c\7\u0087\2\2\u1363\u1364\7\u0157\2\2\u1364\u136c") - buf.write("\7\u0201\2\2\u1365\u1366\7u\2\2\u1366\u136c\7\u0201\2") - buf.write("\2\u1367\u1369\t/\2\2\u1368\u1367\3\2\2\2\u1368\u1369") - buf.write("\3\2\2\2\u1369\u136a\3\2\2\2\u136a\u136c\tH\2\2\u136b") - buf.write("\u135e\3\2\2\2\u136b\u1360\3\2\2\2\u136b\u1361\3\2\2\2") - buf.write("\u136b\u1362\3\2\2\2\u136b\u1363\3\2\2\2\u136b\u1365\3") - buf.write("\2\2\2\u136b\u1368\3\2\2\2\u136c\u01c1\3\2\2\2\u136d\u136e") - buf.write("\7Y\2\2\u136e\u1372\7\u03ca\2\2\u136f\u1370\7\u00a9\2") - buf.write("\2\u1370\u1372\5\u0250\u0129\2\u1371\u136d\3\2\2\2\u1371") - buf.write("\u136f\3\2\2\2\u1372\u01c3\3\2\2\2\u1373\u1375\7\u0203") - buf.write("\2\2\u1374\u1373\3\2\2\2\u1374\u1375\3\2\2\2\u1375\u1376") - buf.write("\3\2\2\2\u1376\u1385\7\u013e\2\2\u1377\u1378\7\u017b\2") - buf.write("\2\u1378\u1385\7\u0201\2\2\u1379\u1385\7\u01bc\2\2\u137a") - buf.write("\u1385\7\u0240\2\2\u137b\u137d\7\u0156\2\2\u137c\u137b") - buf.write("\3\2\2\2\u137c\u137d\3\2\2\2\u137d\u137e\3\2\2\2\u137e") - buf.write("\u1385\7\u01c2\2\2\u137f\u1385\7\u01c4\2\2\u1380\u1381") - buf.write("\7\u01ed\2\2\u1381\u1385\7\u0160\2\2\u1382\u1385\7\u0103") - buf.write("\2\2\u1383\u1385\7\u0127\2\2\u1384\u1374\3\2\2\2\u1384") - buf.write("\u1377\3\2\2\2\u1384\u1379\3\2\2\2\u1384\u137a\3\2\2\2") - buf.write("\u1384\u137c\3\2\2\2\u1384\u137f\3\2\2\2\u1384\u1380\3") - buf.write("\2\2\2\u1384\u1382\3\2\2\2\u1384\u1383\3\2\2\2\u1385\u01c5") - buf.write("\3\2\2\2\u1386\u138f\7\u0144\2\2\u1387\u1388\7\u0097\2") - buf.write("\2\u1388\u138f\7\u0201\2\2\u1389\u138b\7\u0156\2\2\u138a") - buf.write("\u1389\3\2\2\2\u138a\u138b\3\2\2\2\u138b\u138c\3\2\2\2") - buf.write("\u138c\u138f\7\u0238\2\2\u138d\u138f\7\u0212\2\2\u138e") - buf.write("\u1386\3\2\2\2\u138e\u1387\3\2\2\2\u138e\u138a\3\2\2\2") - buf.write("\u138e\u138d\3\2\2\2\u138f\u01c7\3\2\2\2\u1390\u139d\7") - buf.write("\n\2\2\u1391\u1392\7\u010b\2\2\u1392\u139d\7\u016b\2\2") - buf.write("\u1393\u1394\7\u0126\2\2\u1394\u139d\7\u020b\2\2\u1395") - buf.write("\u139d\7\u0129\2\2\u1396\u139d\7\u016d\2\2\u1397\u139d") - buf.write("\7\u026e\2\2\u1398\u1399\7\u01b3\2\2\u1399\u139d\7\u014d") - buf.write("\2\2\u139a\u139d\7\u01f4\2\2\u139b\u139d\7\u020a\2\2\u139c") - buf.write("\u1390\3\2\2\2\u139c\u1391\3\2\2\2\u139c\u1393\3\2\2\2") - buf.write("\u139c\u1395\3\2\2\2\u139c\u1396\3\2\2\2\u139c\u1397\3") - buf.write("\2\2\2\u139c\u1398\3\2\2\2\u139c\u139a\3\2\2\2\u139c\u139b") - buf.write("\3\2\2\2\u139d\u01c9\3\2\2\2\u139e\u139f\7\u0109\2\2\u139f") - buf.write("\u13a0\7\u03ca\2\2\u13a0\u01cb\3\2\2\2\u13a1\u13a2\7\u010f") - buf.write("\2\2\u13a2\u13a3\7I\2\2\u13a3\u13a8\5\u01d8\u00ed\2\u13a4") - buf.write("\u13a5\7\u03bd\2\2\u13a5\u13a7\5\u01d8\u00ed\2\u13a6\u13a4") - buf.write("\3\2\2\2\u13a7\u13aa\3\2\2\2\u13a8\u13a6\3\2\2\2\u13a8") - buf.write("\u13a9\3\2\2\2\u13a9\u13b2\3\2\2\2\u13aa\u13a8\3\2\2\2") - buf.write("\u13ab\u13ac\7s\2\2\u13ac\u13af\7\u03bb\2\2\u13ad\u13b0") - buf.write("\5\u0222\u0112\2\u13ae\u13b0\7\n\2\2\u13af\u13ad\3\2\2") - buf.write("\2\u13af\u13ae\3\2\2\2\u13b0\u13b1\3\2\2\2\u13b1\u13b3") - buf.write("\7\u03bc\2\2\u13b2\u13ab\3\2\2\2\u13b2\u13b3\3\2\2\2\u13b3") - buf.write("\u13b4\3\2\2\2\u13b4\u13b5\7H\2\2\u13b5\u13b6\5\u0204") - buf.write("\u0103\2\u13b6\u01cd\3\2\2\2\u13b7\u13b9\7\u0153\2\2\u13b8") - buf.write("\u13ba\t>\2\2\u13b9\u13b8\3\2\2\2\u13b9\u13ba\3\2\2\2") - buf.write("\u13ba\u13bb\3\2\2\2\u13bb\u13c0\5\u01da\u00ee\2\u13bc") - buf.write("\u13bd\7\u03bd\2\2\u13bd\u13bf\5\u01da\u00ee\2\u13be\u13bc") - buf.write("\3\2\2\2\u13bf\u13c2\3\2\2\2\u13c0\u13be\3\2\2\2\u13c0") - buf.write("\u13c1\3\2\2\2\u13c1\u01cf\3\2\2\2\u13c2\u13c0\3\2\2\2") - buf.write("\u13c3\u13c5\7U\2\2\u13c4\u13c6\tI\2\2\u13c5\u13c4\3\2") - buf.write("\2\2\u13c5\u13c6\3\2\2\2\u13c6\u13c8\3\2\2\2\u13c7\u13c9") - buf.write("\5\u020a\u0106\2\u13c8\u13c7\3\2\2\2\u13c9\u13ca\3\2\2") - buf.write("\2\u13ca\u13c8\3\2\2\2\u13ca\u13cb\3\2\2\2\u13cb\u01d1") - buf.write("\3\2\2\2\u13cc\u13cd\7]\2\2\u13cd\u13ce\7I\2\2\u13ce\u13cf") - buf.write("\7O\2\2\u13cf\u13d0\7\u010f\2\2\u13d0\u13d5\5\u01de\u00f0") - buf.write("\2\u13d1\u13d2\7\u03bd\2\2\u13d2\u13d4\5\u01de\u00f0\2") - buf.write("\u13d3\u13d1\3\2\2\2\u13d4\u13d7\3\2\2\2\u13d5\u13d3\3") - buf.write("\2\2\2\u13d5\u13d6\3\2\2\2\u13d6\u01d3\3\2\2\2\u13d7\u13d5") - buf.write("\3\2\2\2\u13d8\u13d9\7\u01db\2\2\u13d9\u13da\7\u01c6\2") - buf.write("\2\u13da\u13db\7\u010f\2\2\u13db\u01d5\3\2\2\2\u13dc\u13dd") - buf.write("\7\u023e\2\2\u13dd\u01d7\3\2\2\2\u13de\u13e6\5\u01ec\u00f7") - buf.write("\2\u13df\u13e1\t\24\2\2\u13e0\u13df\3\2\2\2\u13e0\u13e1") - buf.write("\3\2\2\2\u13e1\u13e2\3\2\2\2\u13e2\u13e3\7\u03bb\2\2\u13e3") - buf.write("\u13e4\5\u0222\u0112\2\u13e4\u13e5\7\u03bc\2\2\u13e5\u13e7") - buf.write("\3\2\2\2\u13e6\u13e0\3\2\2\2\u13e6\u13e7\3\2\2\2\u13e7") - buf.write("\u01d9\3\2\2\2\u13e8\u13fb\7\u0130\2\2\u13e9\u13fb\7\u0160") - buf.write("\2\2\u13ea\u13ec\tJ\2\2\u13eb\u13ea\3\2\2\2\u13eb\u13ec") - buf.write("\3\2\2\2\u13ec\u13ed\3\2\2\2\u13ed\u13fb\7\u017a\2\2\u13ee") - buf.write("\u13fb\7\u01af\2\2\u13ef\u13fb\7\u0240\2\2\u13f0\u13f1") - buf.write("\7\u01c6\2\2\u13f1\u13fb\7\u010f\2\2\u13f2\u13fb\7\u0201") - buf.write("\2\2\u13f3\u13fb\7\u021d\2\2\u13f4\u13f8\7\u0238\2\2\u13f5") - buf.write("\u13f6\7\u00ab\2\2\u13f6\u13f7\7x\2\2\u13f7\u13f9\7^\2") - buf.write("\2\u13f8\u13f5\3\2\2\2\u13f8\u13f9\3\2\2\2\u13f9\u13fb") - buf.write("\3\2\2\2\u13fa\u13e8\3\2\2\2\u13fa\u13e9\3\2\2\2\u13fa") - buf.write("\u13eb\3\2\2\2\u13fa\u13ee\3\2\2\2\u13fa\u13ef\3\2\2\2") - buf.write("\u13fa\u13f0\3\2\2\2\u13fa\u13f2\3\2\2\2\u13fa\u13f3\3") - buf.write("\2\2\2\u13fa\u13f4\3\2\2\2\u13fb\u1407\3\2\2\2\u13fc\u13fd") - buf.write("\7\u01cc\2\2\u13fd\u13ff\7\u017a\2\2\u13fe\u1400\5\u013c") - buf.write("\u009f\2\u13ff\u13fe\3\2\2\2\u13ff\u1400\3\2\2\2\u1400") - buf.write("\u1407\3\2\2\2\u1401\u1402\7\u0238\2\2\u1402\u1404\5\u0224") - buf.write("\u0113\2\u1403\u1405\5\u01dc\u00ef\2\u1404\u1403\3\2\2") - buf.write("\2\u1404\u1405\3\2\2\2\u1405\u1407\3\2\2\2\u1406\u13fa") - buf.write("\3\2\2\2\u1406\u13fc\3\2\2\2\u1406\u1401\3\2\2\2\u1407") - buf.write("\u01db\3\2\2\2\u1408\u1409\7\u00ab\2\2\u1409\u140a\7x") - buf.write("\2\2\u140a\u140e\7^\2\2\u140b\u140c\7<\2\2\u140c\u140e") - buf.write("\7\u0149\2\2\u140d\u1408\3\2\2\2\u140d\u140b\3\2\2\2\u140e") - buf.write("\u01dd\3\2\2\2\u140f\u1417\5\u01ec\u00f7\2\u1410\u1411") - buf.write("\7s\2\2\u1411\u1414\7\u03bb\2\2\u1412\u1415\5\u0222\u0112") - buf.write("\2\u1413\u1415\7\n\2\2\u1414\u1412\3\2\2\2\u1414\u1413") - buf.write("\3\2\2\2\u1415\u1416\3\2\2\2\u1416\u1418\7\u03bc\2\2\u1417") - buf.write("\u1410\3\2\2\2\u1417\u1418\3\2\2\2\u1418\u1420\3\2\2\2") - buf.write("\u1419\u141b\t\24\2\2\u141a\u1419\3\2\2\2\u141a\u141b") - buf.write("\3\2\2\2\u141b\u141c\3\2\2\2\u141c\u141d\7\u03bb\2\2\u141d") - buf.write("\u141e\5\u0222\u0112\2\u141e\u141f\7\u03bc\2\2\u141f\u1421") - buf.write("\3\2\2\2\u1420\u141a\3\2\2\2\u1420\u1421\3\2\2\2\u1421") - buf.write("\u1424\3\2\2\2\u1422\u1423\7G\2\2\u1423\u1425\7\u0174") - buf.write("\2\2\u1424\u1422\3\2\2\2\u1424\u1425\3\2\2\2\u1425\u01df") - buf.write("\3\2\2\2\u1426\u1427\tK\2\2\u1427\u142a\5\u01ec\u00f7") - buf.write("\2\u1428\u142b\5\u0204\u0103\2\u1429\u142b\7\u03ca\2\2") - buf.write("\u142a\u1428\3\2\2\2\u142a\u1429\3\2\2\2\u142a\u142b\3") - buf.write("\2\2\2\u142b\u01e1\3\2\2\2\u142c\u1430\tK\2\2\u142d\u142e") - buf.write("\tL\2\2\u142e\u142f\7\u03b2\2\2\u142f\u1431\tM\2\2\u1430") - buf.write("\u142d\3\2\2\2\u1430\u1431\3\2\2\2\u1431\u1432\3\2\2\2") - buf.write("\u1432\u1433\5\u01e8\u00f5\2\u1433\u01e3\3\2\2\2\u1434") - buf.write("\u1435\7\u015e\2\2\u1435\u1436\7\u03ca\2\2\u1436\u01e5") - buf.write("\3\2\2\2\u1437\u1438\7\u00a5\2\2\u1438\u1439\5\u0204\u0103") - buf.write("\2\u1439\u01e7\3\2\2\2\u143a\u1440\5\u00b4[\2\u143b\u1440") - buf.write("\5\u00a6T\2\u143c\u1440\5\u00acW\2\u143d\u1440\5\u00b2") - buf.write("Z\2\u143e\u1440\5\u00b6\\\2\u143f\u143a\3\2\2\2\u143f") - buf.write("\u143b\3\2\2\2\u143f\u143c\3\2\2\2\u143f\u143d\3\2\2\2") - buf.write("\u143f\u143e\3\2\2\2\u1440\u1445\3\2\2\2\u1441\u1442\7") - buf.write("<\2\2\u1442\u1443\7\u0123\2\2\u1443\u1445\5\u0204\u0103") - buf.write("\2\u1444\u143f\3\2\2\2\u1444\u1441\3\2\2\2\u1445\u01e9") - buf.write("\3\2\2\2\u1446\u144a\5\u0204\u0103\2\u1447\u144b\7\u03d1") - buf.write("\2\2\u1448\u1449\7\u03ba\2\2\u1449\u144b\5\u0204\u0103") - buf.write("\2\u144a\u1447\3\2\2\2\u144a\u1448\3\2\2\2\u144a\u144b") - buf.write("\3\2\2\2\u144b\u01eb\3\2\2\2\u144c\u144d\5\u01ea\u00f6") - buf.write("\2\u144d\u01ed\3\2\2\2\u144e\u1453\5\u0204\u0103\2\u144f") - buf.write("\u1451\5\u0208\u0105\2\u1450\u1452\5\u0208\u0105\2\u1451") - buf.write("\u1450\3\2\2\2\u1451\u1452\3\2\2\2\u1452\u1454\3\2\2\2") - buf.write("\u1453\u144f\3\2\2\2\u1453\u1454\3\2\2\2\u1454\u01ef\3") - buf.write("\2\2\2\u1455\u145a\5\u0204\u0103\2\u1456\u1457\7\u03bb") - buf.write("\2\2\u1457\u1458\5\u020a\u0106\2\u1458\u1459\7\u03bc\2") - buf.write("\2\u1459\u145b\3\2\2\2\u145a\u1456\3\2\2\2\u145a\u145b") - buf.write("\3\2\2\2\u145b\u145d\3\2\2\2\u145c\u145e\t)\2\2\u145d") - buf.write("\u145c\3\2\2\2\u145d\u145e\3\2\2\2\u145e\u01f1\3\2\2\2") - buf.write("\u145f\u1460\tN\2\2\u1460\u01f3\3\2\2\2\u1461\u1462\t") - buf.write("O\2\2\u1462\u01f5\3\2\2\2\u1463\u1468\7\u00c1\2\2\u1464") - buf.write("\u1468\5\u0260\u0131\2\u1465\u1468\7\u03ca\2\2\u1466\u1468") - buf.write("\7\u03c7\2\2\u1467\u1463\3\2\2\2\u1467\u1464\3\2\2\2\u1467") - buf.write("\u1465\3\2\2\2\u1467\u1466\3\2\2\2\u1468\u01f7\3\2\2\2") - buf.write("\u1469\u146c\5\u0204\u0103\2\u146a\u146c\7\u03ca\2\2\u146b") - buf.write("\u1469\3\2\2\2\u146b\u146a\3\2\2\2\u146c\u01f9\3\2\2\2") - buf.write("\u146d\u146e\tP\2\2\u146e\u01fb\3\2\2\2\u146f\u1470\5") - buf.write("\u020a\u0106\2\u1470\u1471\7\u03af\2\2\u1471\u1472\5\u020a") - buf.write("\u0106\2\u1472\u1473\7\u03af\2\2\u1473\u1474\5\u020a\u0106") - buf.write("\2\u1474\u1475\7\u03af\2\2\u1475\u1476\5\u020a\u0106\2") - buf.write("\u1476\u1477\7\u03af\2\2\u1477\u147d\5\u020a\u0106\2\u1478") - buf.write("\u1479\7\u03c6\2\2\u1479\u147a\5\u020a\u0106\2\u147a\u147b") - buf.write("\7\u03af\2\2\u147b\u147c\5\u020a\u0106\2\u147c\u147e\3") - buf.write("\2\2\2\u147d\u1478\3\2\2\2\u147e\u147f\3\2\2\2\u147f\u147d") - buf.write("\3\2\2\2\u147f\u1480\3\2\2\2\u1480\u01fd\3\2\2\2\u1481") - buf.write("\u1488\5\u0200\u0101\2\u1482\u1483\7\u03bd\2\2\u1483\u1486") - buf.write("\5\u0200\u0101\2\u1484\u1485\7\u03bd\2\2\u1485\u1487\5") - buf.write("\u020a\u0106\2\u1486\u1484\3\2\2\2\u1486\u1487\3\2\2\2") - buf.write("\u1487\u1489\3\2\2\2\u1488\u1482\3\2\2\2\u1488\u1489\3") - buf.write("\2\2\2\u1489\u01ff\3\2\2\2\u148a\u1492\7\u03ca\2\2\u148b") - buf.write("\u1492\7\u03cf\2\2\u148c\u148e\7\u03cc\2\2\u148d\u148c") - buf.write("\3\2\2\2\u148e\u148f\3\2\2\2\u148f\u148d\3\2\2\2\u148f") - buf.write("\u1490\3\2\2\2\u1490\u1492\3\2\2\2\u1491\u148a\3\2\2\2") - buf.write("\u1491\u148b\3\2\2\2\u1491\u148d\3\2\2\2\u1492\u0201\3") - buf.write("\2\2\2\u1493\u1496\5\u0204\u0103\2\u1494\u1496\7\u03ca") - buf.write("\2\2\u1495\u1493\3\2\2\2\u1495\u1494\3\2\2\2\u1496\u0203") - buf.write("\3\2\2\2\u1497\u149b\5\u0206\u0104\2\u1498\u149b\7\u03d3") - buf.write("\2\2\u1499\u149b\7\u03c7\2\2\u149a\u1497\3\2\2\2\u149a") - buf.write("\u1498\3\2\2\2\u149a\u1499\3\2\2\2\u149b\u0205\3\2\2\2") - buf.write("\u149c\u14a6\7\u03d2\2\2\u149d\u14a6\5\u0260\u0131\2\u149e") - buf.write("\u14a6\5\u0262\u0132\2\u149f\u14a6\5\u01fa\u00fe\2\u14a0") - buf.write("\u14a6\5\u0264\u0133\2\u14a1\u14a6\5\u0266\u0134\2\u14a2") - buf.write("\u14a6\5\u0268\u0135\2\u14a3\u14a6\5\u026a\u0136\2\u14a4") - buf.write("\u14a6\5\u026c\u0137\2\u14a5\u149c\3\2\2\2\u14a5\u149d") - buf.write("\3\2\2\2\u14a5\u149e\3\2\2\2\u14a5\u149f\3\2\2\2\u14a5") - buf.write("\u14a0\3\2\2\2\u14a5\u14a1\3\2\2\2\u14a5\u14a2\3\2\2\2") - buf.write("\u14a5\u14a3\3\2\2\2\u14a5\u14a4\3\2\2\2\u14a6\u0207\3") - buf.write("\2\2\2\u14a7\u14ab\7\u03d1\2\2\u14a8\u14a9\7\u03ba\2\2") - buf.write("\u14a9\u14ab\5\u0204\u0103\2\u14aa\u14a7\3\2\2\2\u14aa") - buf.write("\u14a8\3\2\2\2\u14ab\u0209\3\2\2\2\u14ac\u14ad\tQ\2\2") - buf.write("\u14ad\u020b\3\2\2\2\u14ae\u14b1\7\u03c8\2\2\u14af\u14b1") - buf.write("\5\u020a\u0106\2\u14b0\u14ae\3\2\2\2\u14b0\u14af\3\2\2") - buf.write("\2\u14b1\u020d\3\2\2\2\u14b2\u14b4\7\u03d0\2\2\u14b3\u14b2") - buf.write("\3\2\2\2\u14b3\u14b4\3\2\2\2\u14b4\u14b5\3\2\2\2\u14b5") - buf.write("\u14b8\7\u03ca\2\2\u14b6\u14b8\7\u03c9\2\2\u14b7\u14b3") - buf.write("\3\2\2\2\u14b7\u14b6\3\2\2\2\u14b8\u14ba\3\2\2\2\u14b9") - buf.write("\u14bb\7\u03ca\2\2\u14ba\u14b9\3\2\2\2\u14bb\u14bc\3\2") - buf.write("\2\2\u14bc\u14ba\3\2\2\2\u14bc\u14bd\3\2\2\2\u14bd\u14ca") - buf.write("\3\2\2\2\u14be\u14c0\7\u03d0\2\2\u14bf\u14be\3\2\2\2\u14bf") - buf.write("\u14c0\3\2\2\2\u14c0\u14c1\3\2\2\2\u14c1\u14c4\7\u03ca") - buf.write("\2\2\u14c2\u14c4\7\u03c9\2\2\u14c3\u14bf\3\2\2\2\u14c3") - buf.write("\u14c2\3\2\2\2\u14c4\u14c7\3\2\2\2\u14c5\u14c6\7\34\2") - buf.write("\2\u14c6\u14c8\5\u01f8\u00fd\2\u14c7\u14c5\3\2\2\2\u14c7") - buf.write("\u14c8\3\2\2\2\u14c8\u14ca\3\2\2\2\u14c9\u14b7\3\2\2\2") - buf.write("\u14c9\u14c3\3\2\2\2\u14ca\u020f\3\2\2\2\u14cb\u14cc\t") - buf.write("R\2\2\u14cc\u0211\3\2\2\2\u14cd\u14cf\7\u03d0\2\2\u14ce") - buf.write("\u14cd\3\2\2\2\u14ce\u14cf\3\2\2\2\u14cf\u14d0\3\2\2\2") - buf.write("\u14d0\u14d1\7\u03cc\2\2\u14d1\u0213\3\2\2\2\u14d2\u14d4") - buf.write("\7g\2\2\u14d3\u14d2\3\2\2\2\u14d3\u14d4\3\2\2\2\u14d4") - buf.write("\u14d5\3\2\2\2\u14d5\u14d6\tS\2\2\u14d6\u0215\3\2\2\2") - buf.write("\u14d7\u14e4\5\u020e\u0108\2\u14d8\u14e4\5\u020a\u0106") - buf.write("\2\u14d9\u14da\7\u03af\2\2\u14da\u14e4\5\u020a\u0106\2") - buf.write("\u14db\u14e4\5\u0212\u010a\2\u14dc\u14e4\5\u0210\u0109") - buf.write("\2\u14dd\u14e4\7\u03cd\2\2\u14de\u14e4\7\u03cf\2\2\u14df") - buf.write("\u14e1\7g\2\2\u14e0\u14df\3\2\2\2\u14e0\u14e1\3\2\2\2") - buf.write("\u14e1\u14e2\3\2\2\2\u14e2\u14e4\tS\2\2\u14e3\u14d7\3") - buf.write("\2\2\2\u14e3\u14d8\3\2\2\2\u14e3\u14d9\3\2\2\2\u14e3\u14db") - buf.write("\3\2\2\2\u14e3\u14dc\3\2\2\2\u14e3\u14dd\3\2\2\2\u14e3") - buf.write("\u14de\3\2\2\2\u14e3\u14e0\3\2\2\2\u14e4\u0217\3\2\2\2") - buf.write("\u14e5\u14e7\tT\2\2\u14e6\u14e8\5\u021c\u010f\2\u14e7") - buf.write("\u14e6\3\2\2\2\u14e7\u14e8\3\2\2\2\u14e8\u14ea\3\2\2\2") - buf.write("\u14e9\u14eb\7\u00c1\2\2\u14ea\u14e9\3\2\2\2\u14ea\u14eb") - buf.write("\3\2\2\2\u14eb\u14ef\3\2\2\2\u14ec\u14ed\7\32\2\2\u14ed") - buf.write("\u14ee\7\u0089\2\2\u14ee\u14f0\5\u01f6\u00fc\2\u14ef\u14ec") - buf.write("\3\2\2\2\u14ef\u14f0\3\2\2\2\u14f0\u14f3\3\2\2\2\u14f1") - buf.write("\u14f2\7\34\2\2\u14f2\u14f4\5\u01f8\u00fd\2\u14f3\u14f1") - buf.write("\3\2\2\2\u14f3\u14f4\3\2\2\2\u14f4\u1531\3\2\2\2\u14f5") - buf.write("\u14f7\tU\2\2\u14f6\u14f8\5\u021c\u010f\2\u14f7\u14f6") - buf.write("\3\2\2\2\u14f7\u14f8\3\2\2\2\u14f8\u14fa\3\2\2\2\u14f9") - buf.write("\u14fb\7\u00a2\2\2\u14fa\u14f9\3\2\2\2\u14fa\u14fb\3\2") - buf.write("\2\2\u14fb\u14fd\3\2\2\2\u14fc\u14fe\7\u00ae\2\2\u14fd") - buf.write("\u14fc\3\2\2\2\u14fd\u14fe\3\2\2\2\u14fe\u1531\3\2\2\2") - buf.write("\u14ff\u1501\tV\2\2\u1500\u1502\5\u021e\u0110\2\u1501") - buf.write("\u1500\3\2\2\2\u1501\u1502\3\2\2\2\u1502\u1504\3\2\2\2") - buf.write("\u1503\u1505\7\u00a2\2\2\u1504\u1503\3\2\2\2\u1504\u1505") - buf.write("\3\2\2\2\u1505\u1507\3\2\2\2\u1506\u1508\7\u00ae\2\2\u1507") - buf.write("\u1506\3\2\2\2\u1507\u1508\3\2\2\2\u1508\u1531\3\2\2\2") - buf.write("\u1509\u150b\tW\2\2\u150a\u150c\5\u0220\u0111\2\u150b") - buf.write("\u150a\3\2\2\2\u150b\u150c\3\2\2\2\u150c\u150e\3\2\2\2") - buf.write("\u150d\u150f\7\u00a2\2\2\u150e\u150d\3\2\2\2\u150e\u150f") - buf.write("\3\2\2\2\u150f\u1511\3\2\2\2\u1510\u1512\7\u00ae\2\2\u1511") - buf.write("\u1510\3\2\2\2\u1511\u1512\3\2\2\2\u1512\u1531\3\2\2\2") - buf.write("\u1513\u1531\tX\2\2\u1514\u1516\tY\2\2\u1515\u1517\5\u021c") - buf.write("\u010f\2\u1516\u1515\3\2\2\2\u1516\u1517\3\2\2\2\u1517") - buf.write("\u1531\3\2\2\2\u1518\u1519\tZ\2\2\u1519\u151a\7\u03bb") - buf.write("\2\2\u151a\u151f\7\u03ca\2\2\u151b\u151c\7\u03bd\2\2\u151c") - buf.write("\u151e\7\u03ca\2\2\u151d\u151b\3\2\2\2\u151e\u1521\3\2") - buf.write("\2\2\u151f\u151d\3\2\2\2\u151f\u1520\3\2\2\2\u1520\u1522") - buf.write("\3\2\2\2\u1521\u151f\3\2\2\2\u1522\u1524\7\u03bc\2\2\u1523") - buf.write("\u1525\7\u00c1\2\2\u1524\u1523\3\2\2\2\u1524\u1525\3\2") - buf.write("\2\2\u1525\u1529\3\2\2\2\u1526\u1527\7\32\2\2\u1527\u1528") - buf.write("\7\u0089\2\2\u1528\u152a\5\u01f6\u00fc\2\u1529\u1526\3") - buf.write("\2\2\2\u1529\u152a\3\2\2\2\u152a\u152d\3\2\2\2\u152b\u152c") - buf.write("\7\34\2\2\u152c\u152e\5\u01f8\u00fd\2\u152d\u152b\3\2") - buf.write("\2\2\u152d\u152e\3\2\2\2\u152e\u1531\3\2\2\2\u152f\u1531") - buf.write("\t[\2\2\u1530\u14e5\3\2\2\2\u1530\u14f5\3\2\2\2\u1530") - buf.write("\u14ff\3\2\2\2\u1530\u1509\3\2\2\2\u1530\u1513\3\2\2\2") - buf.write("\u1530\u1514\3\2\2\2\u1530\u1518\3\2\2\2\u1530\u152f\3") - buf.write("\2\2\2\u1531\u0219\3\2\2\2\u1532\u1534\t\\\2\2\u1533\u1535") - buf.write("\5\u021c\u010f\2\u1534\u1533\3\2\2\2\u1534\u1535\3\2\2") - buf.write("\2\u1535\u1549\3\2\2\2\u1536\u1538\7\u00bf\2\2\u1537\u1539") - buf.write("\5\u021c\u010f\2\u1538\u1537\3\2\2\2\u1538\u1539\3\2\2") - buf.write("\2\u1539\u153d\3\2\2\2\u153a\u153b\7\32\2\2\u153b\u153c") - buf.write("\7\u0089\2\2\u153c\u153e\5\u01f6\u00fc\2\u153d\u153a\3") - buf.write("\2\2\2\u153d\u153e\3\2\2\2\u153e\u1549\3\2\2\2\u153f\u1549") - buf.write("\t]\2\2\u1540\u1542\7\u00b8\2\2\u1541\u1543\5\u021e\u0110") - buf.write("\2\u1542\u1541\3\2\2\2\u1542\u1543\3\2\2\2\u1543\u1549") - buf.write("\3\2\2\2\u1544\u1546\t^\2\2\u1545\u1547\7\u00b3\2\2\u1546") - buf.write("\u1545\3\2\2\2\u1546\u1547\3\2\2\2\u1547\u1549\3\2\2\2") - buf.write("\u1548\u1532\3\2\2\2\u1548\u1536\3\2\2\2\u1548\u153f\3") - buf.write("\2\2\2\u1548\u1540\3\2\2\2\u1548\u1544\3\2\2\2\u1549\u021b") - buf.write("\3\2\2\2\u154a\u154b\7\u03bb\2\2\u154b\u154c\5\u020a\u0106") - buf.write("\2\u154c\u154d\7\u03bc\2\2\u154d\u021d\3\2\2\2\u154e\u154f") - buf.write("\7\u03bb\2\2\u154f\u1550\5\u020a\u0106\2\u1550\u1551\7") - buf.write("\u03bd\2\2\u1551\u1552\5\u020a\u0106\2\u1552\u1553\7\u03bc") - buf.write("\2\2\u1553\u021f\3\2\2\2\u1554\u1555\7\u03bb\2\2\u1555") - buf.write("\u1558\5\u020a\u0106\2\u1556\u1557\7\u03bd\2\2\u1557\u1559") - buf.write("\5\u020a\u0106\2\u1558\u1556\3\2\2\2\u1558\u1559\3\2\2") - buf.write("\2\u1559\u155a\3\2\2\2\u155a\u155b\7\u03bc\2\2\u155b\u0221") - buf.write("\3\2\2\2\u155c\u1561\5\u0204\u0103\2\u155d\u155e\7\u03bd") - buf.write("\2\2\u155e\u1560\5\u0204\u0103\2\u155f\u155d\3\2\2\2\u1560") - buf.write("\u1563\3\2\2\2\u1561\u155f\3\2\2\2\u1561\u1562\3\2\2\2") - buf.write("\u1562\u0223\3\2\2\2\u1563\u1561\3\2\2\2\u1564\u1569\5") - buf.write("\u01ec\u00f7\2\u1565\u1566\7\u03bd\2\2\u1566\u1568\5\u01ec") - buf.write("\u00f7\2\u1567\u1565\3\2\2\2\u1568\u156b\3\2\2\2\u1569") - buf.write("\u1567\3\2\2\2\u1569\u156a\3\2\2\2\u156a\u0225\3\2\2\2") - buf.write("\u156b\u1569\3\2\2\2\u156c\u156d\7\u03bb\2\2\u156d\u1572") - buf.write("\5\u01f0\u00f9\2\u156e\u156f\7\u03bd\2\2\u156f\u1571\5") - buf.write("\u01f0\u00f9\2\u1570\u156e\3\2\2\2\u1571\u1574\3\2\2\2") - buf.write("\u1572\u1570\3\2\2\2\u1572\u1573\3\2\2\2\u1573\u1575\3") - buf.write("\2\2\2\u1574\u1572\3\2\2\2\u1575\u1576\7\u03bc\2\2\u1576") - buf.write("\u0227\3\2\2\2\u1577\u157c\5\u0250\u0129\2\u1578\u1579") - buf.write("\7\u03bd\2\2\u1579\u157b\5\u0250\u0129\2\u157a\u1578\3") - buf.write("\2\2\2\u157b\u157e\3\2\2\2\u157c\u157a\3\2\2\2\u157c\u157d") - buf.write("\3\2\2\2\u157d\u0229\3\2\2\2\u157e\u157c\3\2\2\2\u157f") - buf.write("\u1584\5\u0236\u011c\2\u1580\u1581\7\u03bd\2\2\u1581\u1583") - buf.write("\5\u0236\u011c\2\u1582\u1580\3\2\2\2\u1583\u1586\3\2\2") - buf.write("\2\u1584\u1582\3\2\2\2\u1584\u1585\3\2\2\2\u1585\u022b") - buf.write("\3\2\2\2\u1586\u1584\3\2\2\2\u1587\u158c\5\u0216\u010c") - buf.write("\2\u1588\u1589\7\u03bd\2\2\u1589\u158b\5\u0216\u010c\2") - buf.write("\u158a\u1588\3\2\2\2\u158b\u158e\3\2\2\2\u158c\u158a\3") - buf.write("\2\2\2\u158c\u158d\3\2\2\2\u158d\u022d\3\2\2\2\u158e\u158c") - buf.write("\3\2\2\2\u158f\u1594\7\u03ca\2\2\u1590\u1591\7\u03bd\2") - buf.write("\2\u1591\u1593\7\u03ca\2\2\u1592\u1590\3\2\2\2\u1593\u1596") - buf.write("\3\2\2\2\u1594\u1592\3\2\2\2\u1594\u1595\3\2\2\2\u1595") - buf.write("\u022f\3\2\2\2\u1596\u1594\3\2\2\2\u1597\u159c\7\u03d5") - buf.write("\2\2\u1598\u1599\7\u03bd\2\2\u1599\u159b\7\u03d5\2\2\u159a") - buf.write("\u1598\3\2\2\2\u159b\u159e\3\2\2\2\u159c\u159a\3\2\2\2") - buf.write("\u159c\u159d\3\2\2\2\u159d\u0231\3\2\2\2\u159e\u159c\3") - buf.write("\2\2\2\u159f\u15a8\7i\2\2\u15a0\u15a8\5\u0216\u010c\2") - buf.write("\u15a1\u15a5\5\u0234\u011b\2\u15a2\u15a3\7j\2\2\u15a3") - buf.write("\u15a4\7\u00a3\2\2\u15a4\u15a6\5\u0234\u011b\2\u15a5\u15a2") - buf.write("\3\2\2\2\u15a5\u15a6\3\2\2\2\u15a6\u15a8\3\2\2\2\u15a7") - buf.write("\u159f\3\2\2\2\u15a7\u15a0\3\2\2\2\u15a7\u15a1\3\2\2\2") - buf.write("\u15a8\u0233\3\2\2\2\u15a9\u15af\t_\2\2\u15aa\u15ac\7") - buf.write("\u03bb\2\2\u15ab\u15ad\5\u020a\u0106\2\u15ac\u15ab\3\2") - buf.write("\2\2\u15ac\u15ad\3\2\2\2\u15ad\u15ae\3\2\2\2\u15ae\u15b0") - buf.write("\7\u03bc\2\2\u15af\u15aa\3\2\2\2\u15af\u15b0\3\2\2\2\u15b0") - buf.write("\u15b8\3\2\2\2\u15b1\u15b2\7\u00f3\2\2\u15b2\u15b4\7\u03bb") - buf.write("\2\2\u15b3\u15b5\5\u020a\u0106\2\u15b4\u15b3\3\2\2\2\u15b4") - buf.write("\u15b5\3\2\2\2\u15b5\u15b6\3\2\2\2\u15b6\u15b8\7\u03bc") - buf.write("\2\2\u15b7\u15a9\3\2\2\2\u15b7\u15b1\3\2\2\2\u15b8\u0235") - buf.write("\3\2\2\2\u15b9\u15bc\5\u0250\u0129\2\u15ba\u15bc\7)\2") - buf.write("\2\u15bb\u15b9\3\2\2\2\u15bb\u15ba\3\2\2\2\u15bc\u0237") - buf.write("\3\2\2\2\u15bd\u15be\7F\2\2\u15be\u15bf\7\67\2\2\u15bf") - buf.write("\u0239\3\2\2\2\u15c0\u15c1\7F\2\2\u15c1\u15c2\7g\2\2\u15c2") - buf.write("\u15c3\7\67\2\2\u15c3\u023b\3\2\2\2\u15c4\u15d6\5\u023e") - buf.write("\u0120\2\u15c5\u15d6\5\u0246\u0124\2\u15c6\u15c7\5\u0248") - buf.write("\u0125\2\u15c7\u15c9\7\u03bb\2\2\u15c8\u15ca\5\u024c\u0127") - buf.write("\2\u15c9\u15c8\3\2\2\2\u15c9\u15ca\3\2\2\2\u15ca\u15cb") - buf.write("\3\2\2\2\u15cb\u15cc\7\u03bc\2\2\u15cc\u15d6\3\2\2\2\u15cd") - buf.write("\u15ce\5\u01ea\u00f6\2\u15ce\u15d0\7\u03bb\2\2\u15cf\u15d1") - buf.write("\5\u024c\u0127\2\u15d0\u15cf\3\2\2\2\u15d0\u15d1\3\2\2") - buf.write("\2\u15d1\u15d2\3\2\2\2\u15d2\u15d3\7\u03bc\2\2\u15d3\u15d6") - buf.write("\3\2\2\2\u15d4\u15d6\5\u024a\u0126\2\u15d5\u15c4\3\2\2") - buf.write("\2\u15d5\u15c5\3\2\2\2\u15d5\u15c6\3\2\2\2\u15d5\u15cd") - buf.write("\3\2\2\2\u15d5\u15d4\3\2\2\2\u15d6\u023d\3\2\2\2\u15d7") - buf.write("\u1675\t`\2\2\u15d8\u15d9\7!\2\2\u15d9\u15da\7\u03bb\2") - buf.write("\2\u15da\u15db\5\u0250\u0129\2\u15db\u15dc\7\u03bd\2\2") - buf.write("\u15dc\u15dd\5\u021a\u010e\2\u15dd\u15de\7\u03bc\2\2\u15de") - buf.write("\u1675\3\2\2\2\u15df\u15e0\7!\2\2\u15e0\u15e1\7\u03bb") - buf.write("\2\2\u15e1\u15e2\5\u0250\u0129\2\u15e2\u15e3\7\u00a6\2") - buf.write("\2\u15e3\u15e4\5\u01f6\u00fc\2\u15e4\u15e5\7\u03bc\2\2") - buf.write("\u15e5\u1675\3\2\2\2\u15e6\u15e7\7\30\2\2\u15e7\u15e8") - buf.write("\7\u03bb\2\2\u15e8\u15e9\5\u0250\u0129\2\u15e9\u15ea\7") - buf.write("\17\2\2\u15ea\u15eb\5\u021a\u010e\2\u15eb\u15ec\7\u03bc") - buf.write("\2\2\u15ec\u1675\3\2\2\2\u15ed\u15ee\7\u00a7\2\2\u15ee") - buf.write("\u15ef\7\u03bb\2\2\u15ef\u15f0\5\u01ee\u00f8\2\u15f0\u15f1") - buf.write("\7\u03bc\2\2\u15f1\u1675\3\2\2\2\u15f2\u15f3\7\27\2\2") - buf.write("\u15f3\u15f5\5\u0250\u0129\2\u15f4\u15f6\5\u0240\u0121") - buf.write("\2\u15f5\u15f4\3\2\2\2\u15f6\u15f7\3\2\2\2\u15f7\u15f5") - buf.write("\3\2\2\2\u15f7\u15f8\3\2\2\2\u15f8\u15fb\3\2\2\2\u15f9") - buf.write("\u15fa\7\63\2\2\u15fa\u15fc\5\u024e\u0128\2\u15fb\u15f9") - buf.write("\3\2\2\2\u15fb\u15fc\3\2\2\2\u15fc\u15fd\3\2\2\2\u15fd") - buf.write("\u15fe\7\u013b\2\2\u15fe\u1675\3\2\2\2\u15ff\u1601\7\27") - buf.write("\2\2\u1600\u1602\5\u0240\u0121\2\u1601\u1600\3\2\2\2\u1602") - buf.write("\u1603\3\2\2\2\u1603\u1601\3\2\2\2\u1603\u1604\3\2\2\2") - buf.write("\u1604\u1607\3\2\2\2\u1605\u1606\7\63\2\2\u1606\u1608") - buf.write("\5\u024e\u0128\2\u1607\u1605\3\2\2\2\u1607\u1608\3\2\2") - buf.write("\2\u1608\u1609\3\2\2\2\u1609\u160a\7\u013b\2\2\u160a\u1675") - buf.write("\3\2\2\2\u160b\u160c\7\u00bf\2\2\u160c\u160d\7\u03bb\2") - buf.write("\2\u160d\u1610\5\u024c\u0127\2\u160e\u160f\7\u00a6\2\2") - buf.write("\u160f\u1611\5\u01f6\u00fc\2\u1610\u160e\3\2\2\2\u1610") - buf.write("\u1611\3\2\2\2\u1611\u1612\3\2\2\2\u1612\u1613\7\u03bc") - buf.write("\2\2\u1613\u1675\3\2\2\2\u1614\u1615\7\u00f4\2\2\u1615") - buf.write("\u1618\7\u03bb\2\2\u1616\u1619\5\u020e\u0108\2\u1617\u1619") - buf.write("\5\u0250\u0129\2\u1618\u1616\3\2\2\2\u1618\u1617\3\2\2") - buf.write("\2\u1619\u161a\3\2\2\2\u161a\u161d\7H\2\2\u161b\u161e") - buf.write("\5\u020e\u0108\2\u161c\u161e\5\u0250\u0129\2\u161d\u161b") - buf.write("\3\2\2\2\u161d\u161c\3\2\2\2\u161e\u161f\3\2\2\2\u161f") - buf.write("\u1620\7\u03bc\2\2\u1620\u1675\3\2\2\2\u1621\u1622\ta") - buf.write("\2\2\u1622\u1625\7\u03bb\2\2\u1623\u1626\5\u020e\u0108") - buf.write("\2\u1624\u1626\5\u0250\u0129\2\u1625\u1623\3\2\2\2\u1625") - buf.write("\u1624\3\2\2\2\u1626\u1627\3\2\2\2\u1627\u162a\7?\2\2") - buf.write("\u1628\u162b\5\u020a\u0106\2\u1629\u162b\5\u0250\u0129") - buf.write("\2\u162a\u1628\3\2\2\2\u162a\u1629\3\2\2\2\u162b\u1631") - buf.write("\3\2\2\2\u162c\u162f\7<\2\2\u162d\u1630\5\u020a\u0106") - buf.write("\2\u162e\u1630\5\u0250\u0129\2\u162f\u162d\3\2\2\2\u162f") - buf.write("\u162e\3\2\2\2\u1630\u1632\3\2\2\2\u1631\u162c\3\2\2\2") - buf.write("\u1631\u1632\3\2\2\2\u1632\u1633\3\2\2\2\u1633\u1634\7") - buf.write("\u03bc\2\2\u1634\u1675\3\2\2\2\u1635\u1636\7\u00f8\2\2") - buf.write("\u1636\u1637\7\u03bb\2\2\u1637\u163a\tb\2\2\u1638\u163b") - buf.write("\5\u020e\u0108\2\u1639\u163b\5\u0250\u0129\2\u163a\u1638") - buf.write("\3\2\2\2\u163a\u1639\3\2\2\2\u163a\u163b\3\2\2\2\u163b") - buf.write("\u163c\3\2\2\2\u163c\u163f\7?\2\2\u163d\u1640\5\u020e") - buf.write("\u0108\2\u163e\u1640\5\u0250\u0129\2\u163f\u163d\3\2\2") - buf.write("\2\u163f\u163e\3\2\2\2\u1640\u1641\3\2\2\2\u1641\u1642") - buf.write("\7\u03bc\2\2\u1642\u1675\3\2\2\2\u1643\u1644\7\u00f8\2") - buf.write("\2\u1644\u1647\7\u03bb\2\2\u1645\u1648\5\u020e\u0108\2") - buf.write("\u1646\u1648\5\u0250\u0129\2\u1647\u1645\3\2\2\2\u1647") - buf.write("\u1646\3\2\2\2\u1648\u1649\3\2\2\2\u1649\u164c\7?\2\2") - buf.write("\u164a\u164d\5\u020e\u0108\2\u164b\u164d\5\u0250\u0129") - buf.write("\2\u164c\u164a\3\2\2\2\u164c\u164b\3\2\2\2\u164d\u164e") - buf.write("\3\2\2\2\u164e\u164f\7\u03bc\2\2\u164f\u1675\3\2\2\2\u1650") - buf.write("\u1651\7\u039c\2\2\u1651\u1654\7\u03bb\2\2\u1652\u1655") - buf.write("\5\u020e\u0108\2\u1653\u1655\5\u0250\u0129\2\u1654\u1652") - buf.write("\3\2\2\2\u1654\u1653\3\2\2\2\u1655\u165c\3\2\2\2\u1656") - buf.write("\u1657\7\17\2\2\u1657\u1658\tc\2\2\u1658\u1659\7\u03bb") - buf.write("\2\2\u1659\u165a\5\u020a\u0106\2\u165a\u165b\7\u03bc\2") - buf.write("\2\u165b\u165d\3\2\2\2\u165c\u1656\3\2\2\2\u165c\u165d") - buf.write("\3\2\2\2\u165d\u165f\3\2\2\2\u165e\u1660\5\u0242\u0122") - buf.write("\2\u165f\u165e\3\2\2\2\u165f\u1660\3\2\2\2\u1660\u1661") - buf.write("\3\2\2\2\u1661\u1662\7\u03bc\2\2\u1662\u1675\3\2\2\2\u1663") - buf.write("\u1664\7\u00f1\2\2\u1664\u1665\7\u03bb\2\2\u1665\u1666") - buf.write("\5<\37\2\u1666\u1669\7?\2\2\u1667\u166a\5\u020e\u0108") - buf.write("\2\u1668\u166a\5\u0250\u0129\2\u1669\u1667\3\2\2\2\u1669") - buf.write("\u1668\3\2\2\2\u166a\u166b\3\2\2\2\u166b\u166c\7\u03bc") - buf.write("\2\2\u166c\u1675\3\2\2\2\u166d\u166e\7\u02d5\2\2\u166e") - buf.write("\u166f\7\u03bb\2\2\u166f\u1670\t]\2\2\u1670\u1671\7\u03bd") - buf.write("\2\2\u1671\u1672\5\u020e\u0108\2\u1672\u1673\7\u03bc\2") - buf.write("\2\u1673\u1675\3\2\2\2\u1674\u15d7\3\2\2\2\u1674\u15d8") - buf.write("\3\2\2\2\u1674\u15df\3\2\2\2\u1674\u15e6\3\2\2\2\u1674") - buf.write("\u15ed\3\2\2\2\u1674\u15f2\3\2\2\2\u1674\u15ff\3\2\2\2") - buf.write("\u1674\u160b\3\2\2\2\u1674\u1614\3\2\2\2\u1674\u1621\3") - buf.write("\2\2\2\u1674\u1635\3\2\2\2\u1674\u1643\3\2\2\2\u1674\u1650") - buf.write("\3\2\2\2\u1674\u1663\3\2\2\2\u1674\u166d\3\2\2\2\u1675") - buf.write("\u023f\3\2\2\2\u1676\u1677\7\u00a8\2\2\u1677\u1678\5\u024e") - buf.write("\u0128\2\u1678\u1679\7\u0099\2\2\u1679\u167a\5\u024e\u0128") - buf.write("\2\u167a\u0241\3\2\2\2\u167b\u167c\7\u0176\2\2\u167c\u1681") - buf.write("\5\u0244\u0123\2\u167d\u167e\7\u03bd\2\2\u167e\u1680\5") - buf.write("\u0244\u0123\2\u167f\u167d\3\2\2\2\u1680\u1683\3\2\2\2") - buf.write("\u1681\u167f\3\2\2\2\u1681\u1682\3\2\2\2\u1682\u168a\3") - buf.write("\2\2\2\u1683\u1681\3\2\2\2\u1684\u1685\7\u0176\2\2\u1685") - buf.write("\u1686\5\u020a\u0106\2\u1686\u1687\7\u03af\2\2\u1687\u1688") - buf.write("\5\u020a\u0106\2\u1688\u168a\3\2\2\2\u1689\u167b\3\2\2") - buf.write("\2\u1689\u1684\3\2\2\2\u168a\u0243\3\2\2\2\u168b\u168d") - buf.write("\5\u020a\u0106\2\u168c\u168e\td\2\2\u168d\u168c\3\2\2") - buf.write("\2\u168d\u168e\3\2\2\2\u168e\u0245\3\2\2\2\u168f\u1690") - buf.write("\te\2\2\u1690\u1692\7\u03bb\2\2\u1691\u1693\t%\2\2\u1692") - buf.write("\u1691\3\2\2\2\u1692\u1693\3\2\2\2\u1693\u1694\3\2\2\2") - buf.write("\u1694\u1695\5\u024e\u0128\2\u1695\u1696\7\u03bc\2\2\u1696") - buf.write("\u16cc\3\2\2\2\u1697\u1698\7\u00dc\2\2\u1698\u169e\7\u03bb") - buf.write("\2\2\u1699\u169f\7\u03aa\2\2\u169a\u169c\7\n\2\2\u169b") - buf.write("\u169a\3\2\2\2\u169b\u169c\3\2\2\2\u169c\u169d\3\2\2\2") - buf.write("\u169d\u169f\5\u024e\u0128\2\u169e\u1699\3\2\2\2\u169e") - buf.write("\u169b\3\2\2\2\u169f\u16a0\3\2\2\2\u16a0\u16cc\7\u03bc") - buf.write("\2\2\u16a1\u16a2\7\u00dc\2\2\u16a2\u16a3\7\u03bb\2\2\u16a3") - buf.write("\u16a4\7/\2\2\u16a4\u16a5\5\u024c\u0127\2\u16a5\u16a6") - buf.write("\7\u03bc\2\2\u16a6\u16cc\3\2\2\2\u16a7\u16a8\7\u00e8\2") - buf.write("\2\u16a8\u16a9\7\u03bb\2\2\u16a9\u16aa\7\u03aa\2\2\u16aa") - buf.write("\u16cc\7\u03bc\2\2\u16ab\u16ac\tf\2\2\u16ac\u16ae\7\u03bb") - buf.write("\2\2\u16ad\u16af\7\n\2\2\u16ae\u16ad\3\2\2\2\u16ae\u16af") - buf.write("\3\2\2\2\u16af\u16b0\3\2\2\2\u16b0\u16b1\5\u024e\u0128") - buf.write("\2\u16b1\u16b2\7\u03bc\2\2\u16b2\u16cc\3\2\2\2\u16b3\u16b4") - buf.write("\7\u00dd\2\2\u16b4\u16b6\7\u03bb\2\2\u16b5\u16b7\7/\2") - buf.write("\2\u16b6\u16b5\3\2\2\2\u16b6\u16b7\3\2\2\2\u16b7\u16b8") - buf.write("\3\2\2\2\u16b8\u16c3\5\u024c\u0127\2\u16b9\u16ba\7o\2") - buf.write("\2\u16ba\u16bb\7\24\2\2\u16bb\u16c0\5\u00d2j\2\u16bc\u16bd") - buf.write("\7\u03bd\2\2\u16bd\u16bf\5\u00d2j\2\u16be\u16bc\3\2\2") - buf.write("\2\u16bf\u16c2\3\2\2\2\u16c0\u16be\3\2\2\2\u16c0\u16c1") - buf.write("\3\2\2\2\u16c1\u16c4\3\2\2\2\u16c2\u16c0\3\2\2\2\u16c3") - buf.write("\u16b9\3\2\2\2\u16c3\u16c4\3\2\2\2\u16c4\u16c7\3\2\2\2") - buf.write("\u16c5\u16c6\7\u008a\2\2\u16c6\u16c8\7\u03ca\2\2\u16c7") - buf.write("\u16c5\3\2\2\2\u16c7\u16c8\3\2\2\2\u16c8\u16c9\3\2\2\2") - buf.write("\u16c9\u16ca\7\u03bc\2\2\u16ca\u16cc\3\2\2\2\u16cb\u168f") - buf.write("\3\2\2\2\u16cb\u1697\3\2\2\2\u16cb\u16a1\3\2\2\2\u16cb") - buf.write("\u16a7\3\2\2\2\u16cb\u16ab\3\2\2\2\u16cb\u16b3\3\2\2\2") - buf.write("\u16cc\u0247\3\2\2\2\u16cd\u16e5\5\u026c\u0137\2\u16ce") - buf.write("\u16e5\7\u0242\2\2\u16cf\u16e5\7\u00ed\2\2\u16d0\u16e5") - buf.write("\7\u00e9\2\2\u16d1\u16e5\7\u00ea\2\2\u16d2\u16e5\7\u00eb") - buf.write("\2\2\u16d3\u16e5\7\u00ee\2\2\u16d4\u16e5\7\u00ef\2\2\u16d5") - buf.write("\u16e5\7\u00f0\2\2\u16d6\u16e5\7F\2\2\u16d7\u16e5\7M\2") - buf.write("\2\u16d8\u16e5\7\u00ec\2\2\u16d9\u16e5\7\u00f2\2\2\u16da") - buf.write("\u16e5\7\u0198\2\2\u16db\u16e5\7\u00f3\2\2\u16dc\u16e5") - buf.write("\7\177\2\2\u16dd\u16e5\7\u00f5\2\2\u16de\u16e5\7\u00f6") - buf.write("\2\2\u16df\u16e5\7\u00f7\2\2\u16e0\u16e5\7\u00f8\2\2\u16e1") - buf.write("\u16e5\7\u00f9\2\2\u16e2\u16e5\7\u00fa\2\2\u16e3\u16e5") - buf.write("\7\u00fb\2\2\u16e4\u16cd\3\2\2\2\u16e4\u16ce\3\2\2\2\u16e4") - buf.write("\u16cf\3\2\2\2\u16e4\u16d0\3\2\2\2\u16e4\u16d1\3\2\2\2") - buf.write("\u16e4\u16d2\3\2\2\2\u16e4\u16d3\3\2\2\2\u16e4\u16d4\3") - buf.write("\2\2\2\u16e4\u16d5\3\2\2\2\u16e4\u16d6\3\2\2\2\u16e4\u16d7") - buf.write("\3\2\2\2\u16e4\u16d8\3\2\2\2\u16e4\u16d9\3\2\2\2\u16e4") - buf.write("\u16da\3\2\2\2\u16e4\u16db\3\2\2\2\u16e4\u16dc\3\2\2\2") - buf.write("\u16e4\u16dd\3\2\2\2\u16e4\u16de\3\2\2\2\u16e4\u16df\3") - buf.write("\2\2\2\u16e4\u16e0\3\2\2\2\u16e4\u16e1\3\2\2\2\u16e4\u16e2") - buf.write("\3\2\2\2\u16e4\u16e3\3\2\2\2\u16e5\u0249\3\2\2\2\u16e6") - buf.write("\u16e7\tg\2\2\u16e7\u16e8\7\u03bb\2\2\u16e8\u16e9\5\u024e") - buf.write("\u0128\2\u16e9\u16ea\7\u03bc\2\2\u16ea\u024b\3\2\2\2\u16eb") - buf.write("\u16f0\5\u0216\u010c\2\u16ec\u16f0\5\u01ee\u00f8\2\u16ed") - buf.write("\u16f0\5\u023c\u011f\2\u16ee\u16f0\5\u0250\u0129\2\u16ef") - buf.write("\u16eb\3\2\2\2\u16ef\u16ec\3\2\2\2\u16ef\u16ed\3\2\2\2") - buf.write("\u16ef\u16ee\3\2\2\2\u16f0\u16fa\3\2\2\2\u16f1\u16f6\7") - buf.write("\u03bd\2\2\u16f2\u16f7\5\u0216\u010c\2\u16f3\u16f7\5\u01ee") - buf.write("\u00f8\2\u16f4\u16f7\5\u023c\u011f\2\u16f5\u16f7\5\u0250") - buf.write("\u0129\2\u16f6\u16f2\3\2\2\2\u16f6\u16f3\3\2\2\2\u16f6") - buf.write("\u16f4\3\2\2\2\u16f6\u16f5\3\2\2\2\u16f7\u16f9\3\2\2\2") - buf.write("\u16f8\u16f1\3\2\2\2\u16f9\u16fc\3\2\2\2\u16fa\u16f8\3") - buf.write("\2\2\2\u16fa\u16fb\3\2\2\2\u16fb\u024d\3\2\2\2\u16fc\u16fa") - buf.write("\3\2\2\2\u16fd\u1702\5\u0216\u010c\2\u16fe\u1702\5\u01ee") - buf.write("\u00f8\2\u16ff\u1702\5\u023c\u011f\2\u1700\u1702\5\u0250") - buf.write("\u0129\2\u1701\u16fd\3\2\2\2\u1701\u16fe\3\2\2\2\u1701") - buf.write("\u16ff\3\2\2\2\u1701\u1700\3\2\2\2\u1702\u024f\3\2\2\2") - buf.write("\u1703\u1704\b\u0129\1\2\u1704\u1705\th\2\2\u1705\u170f") - buf.write("\5\u0250\u0129\6\u1706\u1707\5\u0252\u012a\2\u1707\u1709") - buf.write("\7P\2\2\u1708\u170a\7g\2\2\u1709\u1708\3\2\2\2\u1709\u170a") - buf.write("\3\2\2\2\u170a\u170b\3\2\2\2\u170b\u170c\ti\2\2\u170c") - buf.write("\u170f\3\2\2\2\u170d\u170f\5\u0252\u012a\2\u170e\u1703") - buf.write("\3\2\2\2\u170e\u1706\3\2\2\2\u170e\u170d\3\2\2\2\u170f") - buf.write("\u1716\3\2\2\2\u1710\u1711\f\5\2\2\u1711\u1712\5\u025a") - buf.write("\u012e\2\u1712\u1713\5\u0250\u0129\6\u1713\u1715\3\2\2") - buf.write("\2\u1714\u1710\3\2\2\2\u1715\u1718\3\2\2\2\u1716\u1714") - buf.write("\3\2\2\2\u1716\u1717\3\2\2\2\u1717\u0251\3\2\2\2\u1718") - buf.write("\u1716\3\2\2\2\u1719\u171c\b\u012a\1\2\u171a\u171b\7\u03d5") - buf.write("\2\2\u171b\u171d\7\u03a1\2\2\u171c\u171a\3\2\2\2\u171c") - buf.write("\u171d\3\2\2\2\u171d\u171e\3\2\2\2\u171e\u171f\5\u0254") - buf.write("\u012b\2\u171f\u1759\3\2\2\2\u1720\u1721\f\t\2\2\u1721") - buf.write("\u1722\5\u0258\u012d\2\u1722\u1723\5\u0252\u012a\n\u1723") - buf.write("\u1758\3\2\2\2\u1724\u1726\f\7\2\2\u1725\u1727\7g\2\2") - buf.write("\u1726\u1725\3\2\2\2\u1726\u1727\3\2\2\2\u1727\u1728\3") - buf.write("\2\2\2\u1728\u1729\7\22\2\2\u1729\u172a\5\u0252\u012a") - buf.write("\2\u172a\u172b\7\16\2\2\u172b\u172c\5\u0252\u012a\b\u172c") - buf.write("\u1758\3\2\2\2\u172d\u172e\f\6\2\2\u172e\u172f\7\u01f3") - buf.write("\2\2\u172f\u1730\7Y\2\2\u1730\u1758\5\u0252\u012a\7\u1731") - buf.write("\u1733\f\4\2\2\u1732\u1734\7g\2\2\u1733\u1732\3\2\2\2") - buf.write("\u1733\u1734\3\2\2\2\u1734\u1735\3\2\2\2\u1735\u1736\t") - buf.write("j\2\2\u1736\u1758\5\u0252\u012a\5\u1737\u1739\f\13\2\2") - buf.write("\u1738\u173a\7g\2\2\u1739\u1738\3\2\2\2\u1739\u173a\3") - buf.write("\2\2\2\u173a\u173b\3\2\2\2\u173b\u173c\7H\2\2\u173c\u173f") - buf.write("\7\u03bb\2\2\u173d\u1740\5\u00b4[\2\u173e\u1740\5\u0228") - buf.write("\u0115\2\u173f\u173d\3\2\2\2\u173f\u173e\3\2\2\2\u1740") - buf.write("\u1741\3\2\2\2\u1741\u1742\7\u03bc\2\2\u1742\u1758\3\2") - buf.write("\2\2\u1743\u1744\f\n\2\2\u1744\u1745\7P\2\2\u1745\u1758") - buf.write("\5\u0214\u010b\2\u1746\u1747\f\b\2\2\u1747\u1748\5\u0258") - buf.write("\u012d\2\u1748\u1749\tk\2\2\u1749\u174a\7\u03bb\2\2\u174a") - buf.write("\u174b\5\u00b4[\2\u174b\u174c\7\u03bc\2\2\u174c\u1758") - buf.write("\3\2\2\2\u174d\u174f\f\5\2\2\u174e\u1750\7g\2\2\u174f") - buf.write("\u174e\3\2\2\2\u174f\u1750\3\2\2\2\u1750\u1751\3\2\2\2") - buf.write("\u1751\u1752\7Y\2\2\u1752\u1755\5\u0252\u012a\2\u1753") - buf.write("\u1754\7\u0141\2\2\u1754\u1756\7\u03ca\2\2\u1755\u1753") - buf.write("\3\2\2\2\u1755\u1756\3\2\2\2\u1756\u1758\3\2\2\2\u1757") - buf.write("\u1720\3\2\2\2\u1757\u1724\3\2\2\2\u1757\u172d\3\2\2\2") - buf.write("\u1757\u1731\3\2\2\2\u1757\u1737\3\2\2\2\u1757\u1743\3") - buf.write("\2\2\2\u1757\u1746\3\2\2\2\u1757\u174d\3\2\2\2\u1758\u175b") - buf.write("\3\2\2\2\u1759\u1757\3\2\2\2\u1759\u175a\3\2\2\2\u175a") - buf.write("\u0253\3\2\2\2\u175b\u1759\3\2\2\2\u175c\u175d\b\u012b") - buf.write("\1\2\u175d\u178a\5\u0216\u010c\2\u175e\u178a\5\u01ee\u00f8") - buf.write("\2\u175f\u178a\5\u023c\u011f\2\u1760\u178a\5\u01f4\u00fb") - buf.write("\2\u1761\u1762\5\u0256\u012c\2\u1762\u1763\5\u0254\u012b") - buf.write("\13\u1763\u178a\3\2\2\2\u1764\u1765\7\u00c1\2\2\u1765") - buf.write("\u178a\5\u0254\u012b\n\u1766\u1767\7\u03bb\2\2\u1767\u176c") - buf.write("\5\u0250\u0129\2\u1768\u1769\7\u03bd\2\2\u1769\u176b\5") - buf.write("\u0250\u0129\2\u176a\u1768\3\2\2\2\u176b\u176e\3\2\2\2") - buf.write("\u176c\u176a\3\2\2\2\u176c\u176d\3\2\2\2\u176d\u176f\3") - buf.write("\2\2\2\u176e\u176c\3\2\2\2\u176f\u1770\7\u03bc\2\2\u1770") - buf.write("\u178a\3\2\2\2\u1771\u1772\7\u01e1\2\2\u1772\u1773\7\u03bb") - buf.write("\2\2\u1773\u1776\5\u0250\u0129\2\u1774\u1775\7\u03bd\2") - buf.write("\2\u1775\u1777\5\u0250\u0129\2\u1776\u1774\3\2\2\2\u1777") - buf.write("\u1778\3\2\2\2\u1778\u1776\3\2\2\2\u1778\u1779\3\2\2\2") - buf.write("\u1779\u177a\3\2\2\2\u177a\u177b\7\u03bc\2\2\u177b\u178a") - buf.write("\3\2\2\2\u177c\u177d\7\67\2\2\u177d\u177e\7\u03bb\2\2") - buf.write("\u177e\u177f\5\u00b4[\2\u177f\u1780\7\u03bc\2\2\u1780") - buf.write("\u178a\3\2\2\2\u1781\u1782\7\u03bb\2\2\u1782\u1783\5\u00b4") - buf.write("[\2\u1783\u1784\7\u03bc\2\2\u1784\u178a\3\2\2\2\u1785") - buf.write("\u1786\7N\2\2\u1786\u1787\5\u0250\u0129\2\u1787\u1788") - buf.write("\5<\37\2\u1788\u178a\3\2\2\2\u1789\u175c\3\2\2\2\u1789") - buf.write("\u175e\3\2\2\2\u1789\u175f\3\2\2\2\u1789\u1760\3\2\2\2") - buf.write("\u1789\u1761\3\2\2\2\u1789\u1764\3\2\2\2\u1789\u1766\3") - buf.write("\2\2\2\u1789\u1771\3\2\2\2\u1789\u177c\3\2\2\2\u1789\u1781") - buf.write("\3\2\2\2\u1789\u1785\3\2\2\2\u178a\u1798\3\2\2\2\u178b") - buf.write("\u178c\f\4\2\2\u178c\u178d\5\u025c\u012f\2\u178d\u178e") - buf.write("\5\u0254\u012b\5\u178e\u1797\3\2\2\2\u178f\u1790\f\3\2") - buf.write("\2\u1790\u1791\5\u025e\u0130\2\u1791\u1792\5\u0254\u012b") - buf.write("\4\u1792\u1797\3\2\2\2\u1793\u1794\f\r\2\2\u1794\u1795") - buf.write("\7\34\2\2\u1795\u1797\5\u01f8\u00fd\2\u1796\u178b\3\2") - buf.write("\2\2\u1796\u178f\3\2\2\2\u1796\u1793\3\2\2\2\u1797\u179a") - buf.write("\3\2\2\2\u1798\u1796\3\2\2\2\u1798\u1799\3\2\2\2\u1799") - buf.write("\u0255\3\2\2\2\u179a\u1798\3\2\2\2\u179b\u179c\tl\2\2") - buf.write("\u179c\u0257\3\2\2\2\u179d\u17ac\7\u03b2\2\2\u179e\u17ac") - buf.write("\7\u03b3\2\2\u179f\u17ac\7\u03b4\2\2\u17a0\u17a1\7\u03b4") - buf.write("\2\2\u17a1\u17ac\7\u03b2\2\2\u17a2\u17a3\7\u03b3\2\2\u17a3") - buf.write("\u17ac\7\u03b2\2\2\u17a4\u17a5\7\u03b4\2\2\u17a5\u17ac") - buf.write("\7\u03b3\2\2\u17a6\u17a7\7\u03b5\2\2\u17a7\u17ac\7\u03b2") - buf.write("\2\2\u17a8\u17a9\7\u03b4\2\2\u17a9\u17aa\7\u03b2\2\2\u17aa") - buf.write("\u17ac\7\u03b3\2\2\u17ab\u179d\3\2\2\2\u17ab\u179e\3\2") - buf.write("\2\2\u17ab\u179f\3\2\2\2\u17ab\u17a0\3\2\2\2\u17ab\u17a2") - buf.write("\3\2\2\2\u17ab\u17a4\3\2\2\2\u17ab\u17a6\3\2\2\2\u17ab") - buf.write("\u17a8\3\2\2\2\u17ac\u0259\3\2\2\2\u17ad\u17b5\7\16\2") - buf.write("\2\u17ae\u17af\7\u03b8\2\2\u17af\u17b5\7\u03b8\2\2\u17b0") - buf.write("\u17b5\7\u00ad\2\2\u17b1\u17b5\7n\2\2\u17b2\u17b3\7\u03b7") - buf.write("\2\2\u17b3\u17b5\7\u03b7\2\2\u17b4\u17ad\3\2\2\2\u17b4") - buf.write("\u17ae\3\2\2\2\u17b4\u17b0\3\2\2\2\u17b4\u17b1\3\2\2\2") - buf.write("\u17b4\u17b2\3\2\2\2\u17b5\u025b\3\2\2\2\u17b6\u17b7\7") - buf.write("\u03b4\2\2\u17b7\u17be\7\u03b4\2\2\u17b8\u17b9\7\u03b3") - buf.write("\2\2\u17b9\u17be\7\u03b3\2\2\u17ba\u17be\7\u03b8\2\2\u17bb") - buf.write("\u17be\7\u03b9\2\2\u17bc\u17be\7\u03b7\2\2\u17bd\u17b6") - buf.write("\3\2\2\2\u17bd\u17b8\3\2\2\2\u17bd\u17ba\3\2\2\2\u17bd") - buf.write("\u17bb\3\2\2\2\u17bd\u17bc\3\2\2\2\u17be\u025d\3\2\2\2") - buf.write("\u17bf\u17c0\tm\2\2\u17c0\u025f\3\2\2\2\u17c1\u17c2\t") - buf.write("n\2\2\u17c2\u0261\3\2\2\2\u17c3\u17c4\to\2\2\u17c4\u0263") - buf.write("\3\2\2\2\u17c5\u17c6\tp\2\2\u17c6\u0265\3\2\2\2\u17c7") - buf.write("\u17c8\tq\2\2\u17c8\u0267\3\2\2\2\u17c9\u17ca\tr\2\2\u17ca") - buf.write("\u0269\3\2\2\2\u17cb\u17cc\ts\2\2\u17cc\u026b\3\2\2\2") - buf.write("\u17cd\u17ce\tt\2\2\u17ce\u026d\3\2\2\2\u036e\u026f\u0272") - buf.write("\u0278\u027d\u027f\u0284\u0287\u028a\u0293\u02ba\u02c6") - buf.write("\u02d1\u02e2\u02e7\u02f3\u030e\u0314\u0319\u031f\u0324") - buf.write("\u0328\u0331\u0334\u0337\u033b\u0342\u0345\u034a\u0352") - buf.write("\u0357\u035c\u035f\u036a\u036d\u0371\u0374\u0378\u037b") - buf.write("\u037f\u0382\u0385\u0389\u038c\u0390\u0396\u039c\u03a2") - buf.write("\u03a9\u03b0\u03b6\u03bc\u03c5\u03d8\u03df\u03e3\u03ed") - buf.write("\u03f1\u03f5\u03f9\u03fd\u0402\u0405\u0408\u040b\u040e") - buf.write("\u0414\u0418\u041e\u0423\u0426\u0429\u042b\u0436\u043a") - buf.write("\u043d\u044b\u044e\u0452\u0455\u0459\u045c\u0460\u0463") - buf.write("\u0467\u046a\u046d\u0471\u0474\u0478\u047e\u048b\u0492") - buf.write("\u0497\u049a\u049f\u04a7\u04ad\u04b1\u04b4\u04b9\u04bc") - buf.write("\u04c0\u04c4\u04c7\u04cf\u04d1\u04d8\u04de\u04e6\u04e9") - buf.write("\u04f0\u04f3\u04f5\u04fb\u0501\u0512\u0519\u0520\u0529") - buf.write("\u0537\u0544\u0549\u0559\u0561\u056b\u0571\u0579\u057e") - buf.write("\u0589\u0590\u0595\u0599\u059b\u05a0\u05a6\u05ab\u05ad") - buf.write("\u05b1\u05b4\u05b7\u05bd\u05c2\u05c4\u05c9\u05d0\u05d2") - buf.write("\u05d9\u05e0\u05e3\u05eb\u05f3\u05f5\u05fd\u0601\u0604") - buf.write("\u060a\u060f\u0612\u0618\u061b\u061f\u0624\u0629\u062d") - buf.write("\u0632\u0635\u063a\u063e\u0642\u0647\u064c\u0651\u0657") - buf.write("\u065c\u0661\u0667\u066c\u0671\u0676\u067b\u0680\u0685") - buf.write("\u068a\u068f\u0694\u0699\u069f\u06a3\u06a9\u06b3\u06ba") - buf.write("\u06bc\u06c4\u06c9\u06cc\u06d4\u06da\u06ea\u06f6\u06f8") - buf.write("\u06fb\u0703\u0709\u070f\u071c\u0723\u072b\u072e\u073a") - buf.write("\u0741\u0749\u074c\u0758\u075f\u0767\u076a\u0771\u0779") - buf.write("\u077c\u077e\u0783\u078b\u0794\u0798\u079c\u07a1\u07a7") - buf.write("\u07ad\u07b2\u07b7\u07bc\u07c1\u07c4\u07c9\u07ce\u07d8") - buf.write("\u07dc\u07e3\u07e8\u07eb\u07f0\u07f3\u07f7\u07fb\u0803") - buf.write("\u0816\u0819\u081c\u0820\u082a\u0837\u083e\u0841\u084a") - buf.write("\u084e\u0859\u085c\u0860\u0868\u086b\u0870\u0878\u087e") - buf.write("\u0882\u0886\u088b\u0890\u0897\u089b\u08a6\u08ae\u08b1") - buf.write("\u08b7\u08bd\u08bf\u08c4\u08ca\u08d0\u08d2\u08d6\u08d9") - buf.write("\u08dc\u08e2\u08e8\u08eb\u08f1\u08f7\u08f9\u08fe\u0906") - buf.write("\u0908\u0911\u0916\u091e\u0922\u092a\u0934\u0939\u0940") - buf.write("\u0944\u0957\u095b\u0967\u096a\u0973\u0984\u0990\u0997") - buf.write("\u099e\u09ad\u09ba\u09c0\u09c6\u09cc\u09d2\u09d8\u09de") - buf.write("\u09e3\u09ea\u09f1\u09f8\u09fb\u09ff\u0a02\u0a0f\u0a16") - buf.write("\u0a1d\u0a23\u0a27\u0a2b\u0a32\u0a35\u0a3a\u0a41\u0a48") - buf.write("\u0a4c\u0a55\u0a5e\u0a67\u0a6a\u0a6e\u0a77\u0a7b\u0a7e") - buf.write("\u0a81\u0a89\u0a8f\u0a98\u0a9b\u0aa6\u0aa9\u0aae\u0ab1") - buf.write("\u0ab6\u0ac0\u0ac5\u0acb\u0acd\u0ad3\u0ad5\u0adb\u0ae3") - buf.write("\u0ae8\u0af0\u0af3\u0af8\u0afb\u0b00\u0b08\u0b10\u0b16") - buf.write("\u0b1e\u0b23\u0b2b\u0b2e\u0b32\u0b35\u0b3d\u0b43\u0b4c") - buf.write("\u0b4f\u0b53\u0b57\u0b5d\u0b61\u0b65\u0b67\u0b6a\u0b6d") - buf.write("\u0b70\u0b76\u0b7a\u0b7d\u0b80\u0b83\u0b86\u0b88\u0b8c") - buf.write("\u0b9a\u0b9d\u0ba3\u0ba7\u0baf\u0bb3\u0bb6\u0bb9\u0bc2") - buf.write("\u0bc6\u0bc9\u0bcd\u0bd1\u0bd4\u0bd7\u0bdc\u0be2\u0be6") - buf.write("\u0bf0\u0bf6\u0bfa\u0c00\u0c04\u0c0a\u0c0d\u0c19\u0c1d") - buf.write("\u0c21\u0c29\u0c2d\u0c35\u0c38\u0c3c\u0c3f\u0c47\u0c4c") - buf.write("\u0c4f\u0c52\u0c56\u0c59\u0c62\u0c67\u0c70\u0c75\u0c7c") - buf.write("\u0c83\u0c8b\u0c90\u0c98\u0c9b\u0c9e\u0ca5\u0ca8\u0caf") - buf.write("\u0cb2\u0cba\u0cc0\u0ccb\u0cce\u0cd9\u0cdf\u0ce3\u0cee") - buf.write("\u0cf3\u0cf5\u0cf9\u0d03\u0d0d\u0d13\u0d18\u0d1b\u0d1e") - buf.write("\u0d21\u0d27\u0d2c\u0d2f\u0d32\u0d35\u0d3b\u0d40\u0d43") - buf.write("\u0d46\u0d48\u0d4e\u0d53\u0d56\u0d59\u0d5d\u0d63\u0d67") - buf.write("\u0d71\u0d75\u0d7b\u0d84\u0d87\u0d8b\u0d8e\u0d92\u0d96") - buf.write("\u0d99\u0d9b\u0da9\u0db5\u0dbb\u0dbd\u0dc3\u0dc5\u0dc7") - buf.write("\u0dcd\u0dd5\u0ddd\u0de3\u0dec\u0df1\u0df3\u0df7\u0dfb") - buf.write("\u0e01\u0e08\u0e11\u0e14\u0e18\u0e1c\u0e20\u0e23\u0e26") - buf.write("\u0e29\u0e2d\u0e31\u0e34\u0e37\u0e3a\u0e41\u0e45\u0e54") - buf.write("\u0e61\u0e69\u0e73\u0e77\u0e7a\u0e80\u0e83\u0e86\u0e8f") - buf.write("\u0e98\u0ea2\u0ea6\u0eb0\u0eba\u0ec2\u0ec5\u0ece\u0ed1") - buf.write("\u0ed5\u0eda\u0ede\u0ee7\u0eea\u0f09\u0f0c\u0f0f\u0f47") - buf.write("\u0f4c\u0f68\u0f76\u0f7d\u0f81\u0f87\u0f8f\u0f91\u0f9c") - buf.write("\u0fa6\u0fad\u0fb3\u0fbb\u0fc0\u0fc8\u0fd0\u0fd8\u0fe0") - buf.write("\u0fe6\u0fe8\u0fec\u0ff1\u0ff6\u0ffc\u0ffe\u1009\u100e") - buf.write("\u1015\u1017\u1025\u102b\u1030\u1035\u103b\u1042\u104a") - buf.write("\u1052\u1057\u105d\u1060\u1068\u106f\u1078\u107b\u108c") - buf.write("\u1094\u109c\u10a0\u10a7\u10ad\u10b5\u10be\u10c4\u10cb") - buf.write("\u10d2\u10d7\u10da\u10dc\u10e2\u10e4\u10e8\u10ea\u10ed") - buf.write("\u10f6\u10fc\u1103\u110a\u110f\u1112\u1114\u111a\u111c") - buf.write("\u1120\u1122\u1125\u112a\u1131\u113a\u113f\u1148\u114f") - buf.write("\u1154\u1157\u1159\u115f\u1161\u1164\u1170\u1176\u117f") - buf.write("\u1188\u118d\u1196\u119c\u11a7\u11aa\u11b6\u11bd\u11c2") - buf.write("\u11d1\u11dc\u11df\u11e9\u11f3\u11fd\u1207\u120b\u120f") - buf.write("\u1218\u1233\u1242\u124a\u1255\u125c\u1260\u1267\u126c") - buf.write("\u126f\u1272\u127b\u127f\u129d\u12a4\u12a8\u12af\u12b2") - buf.write("\u12b7\u12c1\u12c5\u12cb\u12ce\u12d3\u12d7\u12de\u12e1") - buf.write("\u12e7\u12ff\u130c\u130f\u1319\u1321\u1325\u132c\u132f") - buf.write("\u1338\u133e\u1344\u134e\u1350\u1356\u1359\u135c\u1368") - buf.write("\u136b\u1371\u1374\u137c\u1384\u138a\u138e\u139c\u13a8") - buf.write("\u13af\u13b2\u13b9\u13c0\u13c5\u13ca\u13d5\u13e0\u13e6") - buf.write("\u13eb\u13f8\u13fa\u13ff\u1404\u1406\u140d\u1414\u1417") - buf.write("\u141a\u1420\u1424\u142a\u1430\u143f\u1444\u144a\u1451") - buf.write("\u1453\u145a\u145d\u1467\u146b\u147f\u1486\u1488\u148f") - buf.write("\u1491\u1495\u149a\u14a5\u14aa\u14b0\u14b3\u14b7\u14bc") - buf.write("\u14bf\u14c3\u14c7\u14c9\u14ce\u14d3\u14e0\u14e3\u14e7") - buf.write("\u14ea\u14ef\u14f3\u14f7\u14fa\u14fd\u1501\u1504\u1507") - buf.write("\u150b\u150e\u1511\u1516\u151f\u1524\u1529\u152d\u1530") - buf.write("\u1534\u1538\u153d\u1542\u1546\u1548\u1558\u1561\u1569") - buf.write("\u1572\u157c\u1584\u158c\u1594\u159c\u15a5\u15a7\u15ac") - buf.write("\u15af\u15b4\u15b7\u15bb\u15c9\u15d0\u15d5\u15f7\u15fb") - buf.write("\u1603\u1607\u1610\u1618\u161d\u1625\u162a\u162f\u1631") - buf.write("\u163a\u163f\u1647\u164c\u1654\u165c\u165f\u1669\u1674") - buf.write("\u1681\u1689\u168d\u1692\u169b\u169e\u16ae\u16b6\u16c0") - buf.write("\u16c3\u16c7\u16cb\u16e4\u16ef\u16f6\u16fa\u1701\u1709") - buf.write("\u170e\u1716\u171c\u1726\u1733\u1739\u173f\u174f\u1755") - buf.write("\u1757\u1759\u176c\u1778\u1789\u1796\u1798\u17ab\u17b4") - buf.write("\u17bd") - return buf.getvalue() - - -class frameQLParser ( Parser ): - - grammarFileName = "frameQLParser.g4" - - atn = ATNDeserializer().deserialize(serializedATN()) - - decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ] - - sharedContextCache = PredictionContextCache() - - literalNames = [ "", "", "", "", - "", "'ERROR_WITHIN'", "'AT_CONFIDENCE'", "'ADD'", - "'ALL'", "'ALTER'", "'ALWAYS'", "'ANALYZE'", "'AND'", - "'AS'", "'ASC'", "'BEFORE'", "'BETWEEN'", "'BOTH'", - "'BY'", "'CALL'", "'CASCADE'", "'CASE'", "'CAST'", - "'CHANGE'", "'CHARACTER'", "'CHECK'", "'COLLATE'", - "'COLUMN'", "'CONDITION'", "'CONSTRAINT'", "'CONTINUE'", - "'CONVERT'", "'CREATE'", "'CROSS'", "'CURRENT_USER'", - "'CURSOR'", "'DATABASE'", "'DATABASES'", "'DECLARE'", - "'DEFAULT'", "'DELAYED'", "'DELETE'", "'DESC'", "'DESCRIBE'", - "'DETERMINISTIC'", "'DISTINCT'", "'DISTINCTROW'", "'DROP'", - "'EACH'", "'ELSE'", "'ELSEIF'", "'ENCLOSED'", "'ESCAPED'", - "'EXISTS'", "'EXIT'", "'EXPLAIN'", "'FALSE'", "'FETCH'", - "'FOR'", "'FORCE'", "'FOREIGN'", "'FROM'", "'FULLTEXT'", - "'GENERATED'", "'GRANT'", "'GROUP'", "'HAVING'", "'HIGH_PRIORITY'", - "'IF'", "'IGNORE'", "'IN'", "'INDEX'", "'INFILE'", - "'INNER'", "'INOUT'", "'INSERT'", "'INTERVAL'", "'INTO'", - "'IS'", "'ITERATE'", "'JOIN'", "'KEY'", "'KEYS'", "'KILL'", - "'LEADING'", "'LEAVE'", "'LEFT'", "'LIKE'", "'LIMIT'", - "'LINEAR'", "'LINES'", "'LOAD'", "'LOCK'", "'LOOP'", - "'LOW_PRIORITY'", "'MASTER_BIND'", "'MASTER_SSL_VERIFY_SERVER_CERT'", - "'MATCH'", "'MAXVALUE'", "'MODIFIES'", "'NATURAL'", - "'NOT'", "'NO_WRITE_TO_BINLOG'", "'NULL'", "'ON'", - "'OPTIMIZE'", "'OPTION'", "'OPTIONALLY'", "'OR'", "'ORDER'", - "'OUT'", "'OUTER'", "'OUTFILE'", "'PARTITION'", "'PRIMARY'", - "'PROCEDURE'", "'PURGE'", "'RANGE'", "'READ'", "'READS'", - "'REFERENCES'", "'REGEXP'", "'RELEASE'", "'RENAME'", - "'REPEAT'", "'REPLACE'", "'REQUIRE'", "'RESTRICT'", - "'RETURN'", "'REVOKE'", "'RIGHT'", "'RLIKE'", "'SCHEMA'", - "'SCHEMAS'", "'SELECT'", "'SET'", "'SEPARATOR'", "'SHOW'", - "'SPATIAL'", "'SQL'", "'SQLEXCEPTION'", "'SQLSTATE'", - "'SQLWARNING'", "'SQL_BIG_RESULT'", "'SQL_CALC_FOUND_ROWS'", - "'SQL_SMALL_RESULT'", "'SSL'", "'STARTING'", "'STRAIGHT_JOIN'", - "'TABLE'", "'TERMINATED'", "'THEN'", "'TO'", "'TRAILING'", - "'TRIGGER'", "'TRUE'", "'UNDO'", "'UNION'", "'UNIQUE'", - "'UNLOCK'", "'UNSIGNED'", "'UPDATE'", "'USAGE'", "'USE'", - "'USING'", "'VALUES'", "'WHEN'", "'WHERE'", "'WHILE'", - "'WITH'", "'WRITE'", "'XOR'", "'ZEROFILL'", "'TINYINT'", - "'SMALLINT'", "'MEDIUMINT'", "'INT'", "'INTEGER'", - "'BIGINT'", "'REAL'", "'DOUBLE'", "'FLOAT'", "'DECIMAL'", - "'NUMERIC'", "'DATE'", "'TIME'", "'TIMESTAMP'", "'DATETIME'", - "'YEAR'", "'CHAR'", "'VARCHAR'", "'BINARY'", "'VARBINARY'", - "'TINYBLOB'", "'BLOB'", "'MEDIUMBLOB'", "'LONGBLOB'", - "'TINYTEXT'", "'TEXT'", "'MEDIUMTEXT'", "'LONGTEXT'", - "'ENUM'", "'SERIAL'", "'YEAR_MONTH'", "'DAY_HOUR'", - "'DAY_MINUTE'", "'DAY_SECOND'", "'HOUR_MINUTE'", "'HOUR_SECOND'", - "'MINUTE_SECOND'", "'SECOND_MICROSECOND'", "'MINUTE_MICROSECOND'", - "'HOUR_MICROSECOND'", "'DAY_MICROSECOND'", "'AVG'", - "'BIT_AND'", "'BIT_OR'", "'BIT_XOR'", "'COUNT'", "'GROUP_CONCAT'", - "'MAX'", "'MIN'", "'STD'", "'STDDEV'", "'STDDEV_POP'", - "'STDDEV_SAMP'", "'SUM'", "'VAR_POP'", "'VAR_SAMP'", - "'VARIANCE'", "'FCOUNT'", "'CURRENT_DATE'", "'CURRENT_TIME'", - "'CURRENT_TIMESTAMP'", "'LOCALTIME'", "'CURDATE'", - "'CURTIME'", "'DATE_ADD'", "'DATE_SUB'", "'EXTRACT'", - "'LOCALTIMESTAMP'", "'NOW'", "'POSITION'", "'SUBSTR'", - "'SUBSTRING'", "'SYSDATE'", "'TRIM'", "'UTC_DATE'", - "'UTC_TIME'", "'UTC_TIMESTAMP'", "'ACCOUNT'", "'ACTION'", - "'AFTER'", "'AGGREGATE'", "'ALGORITHM'", "'ANY'", "'AT'", - "'AUTHORS'", "'AUTOCOMMIT'", "'AUTOEXTEND_SIZE'", "'AUTO_INCREMENT'", - "'AVG_ROW_LENGTH'", "'BEGIN'", "'BINLOG'", "'BIT'", - "'BLOCK'", "'BOOL'", "'BOOLEAN'", "'BTREE'", "'CACHE'", - "'CASCADED'", "'CHAIN'", "'CHANGED'", "'CHANNEL'", - "'CHECKSUM'", "'CIPHER'", "'CLIENT'", "'CLOSE'", "'COALESCE'", - "'CODE'", "'COLUMNS'", "'COLUMN_FORMAT'", "'COMMENT'", - "'COMMIT'", "'COMPACT'", "'COMPLETION'", "'COMPRESSED'", - "'COMPRESSION'", "'CONCURRENT'", "'CONNECTION'", "'CONSISTENT'", - "'CONTAINS'", "'CONTEXT'", "'CONTRIBUTORS'", "'COPY'", - "'CPU'", "'DATA'", "'DATAFILE'", "'DEALLOCATE'", "'DEFAULT_AUTH'", - "'DEFINER'", "'DELAY_KEY_WRITE'", "'DES_KEY_FILE'", - "'DIRECTORY'", "'DISABLE'", "'DISCARD'", "'DISK'", - "'DO'", "'DUMPFILE'", "'DUPLICATE'", "'DYNAMIC'", "'ENABLE'", - "'ENCRYPTION'", "'END'", "'ENDS'", "'ENGINE'", "'ENGINES'", - "'ERROR'", "'ERRORS'", "'ESCAPE'", "'EVEN'", "'EVENT'", - "'EVENTS'", "'EVERY'", "'EXCHANGE'", "'EXCLUSIVE'", - "'EXPIRE'", "'EXPORT'", "'EXTENDED'", "'EXTENT_SIZE'", - "'FAST'", "'FAULTS'", "'FIELDS'", "'FILE_BLOCK_SIZE'", - "'FILTER'", "'FIRST'", "'FIXED'", "'FLUSH'", "'FOLLOWS'", - "'FOUND'", "'FULL'", "'FUNCTION'", "'GENERAL'", "'GLOBAL'", - "'GRANTS'", "'GROUP_REPLICATION'", "'HANDLER'", "'HASH'", - "'HELP'", "'HOST'", "'HOSTS'", "'IDENTIFIED'", "'IGNORE_SERVER_IDS'", - "'IMPORT'", "'INDEXES'", "'INITIAL_SIZE'", "'INPLACE'", - "'INSERT_METHOD'", "'INSTALL'", "'INSTANCE'", "'INVOKER'", - "'IO'", "'IO_THREAD'", "'IPC'", "'ISOLATION'", "'ISSUER'", - "'JSON'", "'KEY_BLOCK_SIZE'", "'LANGUAGE'", "'LAST'", - "'LEAVES'", "'LESS'", "'LEVEL'", "'LIST'", "'LOCAL'", - "'LOGFILE'", "'LOGS'", "'MASTER'", "'MASTER_AUTO_POSITION'", - "'MASTER_CONNECT_RETRY'", "'MASTER_DELAY'", "'MASTER_HEARTBEAT_PERIOD'", - "'MASTER_HOST'", "'MASTER_LOG_FILE'", "'MASTER_LOG_POS'", - "'MASTER_PASSWORD'", "'MASTER_PORT'", "'MASTER_RETRY_COUNT'", - "'MASTER_SSL'", "'MASTER_SSL_CA'", "'MASTER_SSL_CAPATH'", - "'MASTER_SSL_CERT'", "'MASTER_SSL_CIPHER'", "'MASTER_SSL_CRL'", - "'MASTER_SSL_CRLPATH'", "'MASTER_SSL_KEY'", "'MASTER_TLS_VERSION'", - "'MASTER_USER'", "'MAX_CONNECTIONS_PER_HOUR'", "'MAX_QUERIES_PER_HOUR'", - "'MAX_ROWS'", "'MAX_SIZE'", "'MAX_UPDATES_PER_HOUR'", - "'MAX_USER_CONNECTIONS'", "'MEDIUM'", "'MERGE'", "'MID'", - "'MIGRATE'", "'MIN_ROWS'", "'MODE'", "'MODIFY'", "'MUTEX'", - "'MYSQL'", "'NAME'", "'NAMES'", "'NCHAR'", "'NEVER'", - "'NEXT'", "'NO'", "'NODEGROUP'", "'NONE'", "'OFFLINE'", - "'OFFSET'", "'OJ'", "'OLD_PASSWORD'", "'ONE'", "'ONLINE'", - "'ONLY'", "'OPEN'", "'OPTIMIZER_COSTS'", "'OPTIONS'", - "'OWNER'", "'PACK_KEYS'", "'PAGE'", "'PARSER'", "'PARTIAL'", - "'PARTITIONING'", "'PARTITIONS'", "'PASSWORD'", "'PHASE'", - "'PLUGIN'", "'PLUGIN_DIR'", "'PLUGINS'", "'PORT'", - "'PRECEDES'", "'PREPARE'", "'PRESERVE'", "'PREV'", - "'PROCESSLIST'", "'PROFILE'", "'PROFILES'", "'PROXY'", - "'QUERY'", "'QUICK'", "'REBUILD'", "'RECOVER'", "'REDO_BUFFER_SIZE'", - "'REDUNDANT'", "'RELAY'", "'RELAY_LOG_FILE'", "'RELAY_LOG_POS'", - "'RELAYLOG'", "'REMOVE'", "'REORGANIZE'", "'REPAIR'", - "'REPLICATE_DO_DB'", "'REPLICATE_DO_TABLE'", "'REPLICATE_IGNORE_DB'", - "'REPLICATE_IGNORE_TABLE'", "'REPLICATE_REWRITE_DB'", - "'REPLICATE_WILD_DO_TABLE'", "'REPLICATE_WILD_IGNORE_TABLE'", - "'REPLICATION'", "'RESET'", "'RESUME'", "'RETURNS'", - "'ROLLBACK'", "'ROLLUP'", "'ROTATE'", "'ROW'", "'ROWS'", - "'ROW_FORMAT'", "'SAVEPOINT'", "'SCHEDULE'", "'SECURITY'", - "'SERVER'", "'SESSION'", "'SHARE'", "'SHARED'", "'SIGNED'", - "'SIMPLE'", "'SLAVE'", "'SLOW'", "'SNAPSHOT'", "'SOCKET'", - "'SOME'", "'SONAME'", "'SOUNDS'", "'SOURCE'", "'SQL_AFTER_GTIDS'", - "'SQL_AFTER_MTS_GAPS'", "'SQL_BEFORE_GTIDS'", "'SQL_BUFFER_RESULT'", - "'SQL_CACHE'", "'SQL_NO_CACHE'", "'SQL_THREAD'", "'START'", - "'STARTS'", "'STATS_AUTO_RECALC'", "'STATS_PERSISTENT'", - "'STATS_SAMPLE_PAGES'", "'STATUS'", "'STOP'", "'STORAGE'", - "'STORED'", "'STRING'", "'SUBJECT'", "'SUBPARTITION'", - "'SUBPARTITIONS'", "'SUSPEND'", "'SWAPS'", "'SWITCHES'", - "'TABLESPACE'", "'TEMPORARY'", "'TEMPTABLE'", "'THAN'", - "'TRADITIONAL'", "'TRANSACTION'", "'TRIGGERS'", "'TRUNCATE'", - "'UNDEFINED'", "'UNDOFILE'", "'UNDO_BUFFER_SIZE'", - "'UNINSTALL'", "'UNKNOWN'", "'UNTIL'", "'UPGRADE'", - "'USER'", "'USE_FRM'", "'USER_RESOURCES'", "'VALIDATION'", - "'VALUE'", "'VARIABLES'", "'VIEW'", "'VIRTUAL'", "'WAIT'", - "'WARNINGS'", "'WITHOUT'", "'WORK'", "'WRAPPER'", "'X509'", - "'XA'", "'XML'", "'EUR'", "'USA'", "'JIS'", "'ISO'", - "'INTERNAL'", "'QUARTER'", "'MONTH'", "'DAY'", "'HOUR'", - "'MINUTE'", "'WEEK'", "'SECOND'", "'MICROSECOND'", - "'TABLES'", "'ROUTINE'", "'EXECUTE'", "'FILE'", "'PROCESS'", - "'RELOAD'", "'SHUTDOWN'", "'SUPER'", "'PRIVILEGES'", - "'ARMSCII8'", "'ASCII'", "'BIG5'", "'CP1250'", "'CP1251'", - "'CP1256'", "'CP1257'", "'CP850'", "'CP852'", "'CP866'", - "'CP932'", "'DEC8'", "'EUCJPMS'", "'EUCKR'", "'GB2312'", - "'GBK'", "'GEOSTD8'", "'GREEK'", "'HEBREW'", "'HP8'", - "'KEYBCS2'", "'KOI8R'", "'KOI8U'", "'LATIN1'", "'LATIN2'", - "'LATIN5'", "'LATIN7'", "'MACCE'", "'MACROMAN'", "'SJIS'", - "'SWE7'", "'TIS620'", "'UCS2'", "'UJIS'", "'UTF16'", - "'UTF16LE'", "'UTF32'", "'UTF8'", "'UTF8MB3'", "'UTF8MB4'", - "'ARCHIVE'", "'BLACKHOLE'", "'CSV'", "'FEDERATED'", - "'INNODB'", "'MEMORY'", "'MRG_MYISAM'", "'MYISAM'", - "'NDB'", "'NDBCLUSTER'", "'PERFOMANCE_SCHEMA'", "'REPEATABLE'", - "'COMMITTED'", "'UNCOMMITTED'", "'SERIALIZABLE'", "'GEOMETRYCOLLECTION'", - "'LINESTRING'", "'MULTILINESTRING'", "'MULTIPOINT'", - "'MULTIPOLYGON'", "'POINT'", "'POLYGON'", "'ABS'", - "'ACOS'", "'ADDDATE'", "'ADDTIME'", "'AES_DECRYPT'", - "'AES_ENCRYPT'", "'AREA'", "'ASBINARY'", "'ASIN'", - "'ASTEXT'", "'ASWKB'", "'ASWKT'", "'ASYMMETRIC_DECRYPT'", - "'ASYMMETRIC_DERIVE'", "'ASYMMETRIC_ENCRYPT'", "'ASYMMETRIC_SIGN'", - "'ASYMMETRIC_VERIFY'", "'ATAN'", "'ATAN2'", "'BENCHMARK'", - "'BIN'", "'BIT_COUNT'", "'BIT_LENGTH'", "'BUFFER'", - "'CEIL'", "'CEILING'", "'CENTROID'", "'CHARACTER_LENGTH'", - "'CHARSET'", "'CHAR_LENGTH'", "'COERCIBILITY'", "'COLLATION'", - "'COMPRESS'", "'CONCAT'", "'CONCAT_WS'", "'CONNECTION_ID'", - "'CONV'", "'CONVERT_TZ'", "'COS'", "'COT'", "'CRC32'", - "'CREATE_ASYMMETRIC_PRIV_KEY'", "'CREATE_ASYMMETRIC_PUB_KEY'", - "'CREATE_DH_PARAMETERS'", "'CREATE_DIGEST'", "'CROSSES'", - "'DATEDIFF'", "'DATE_FORMAT'", "'DAYNAME'", "'DAYOFMONTH'", - "'DAYOFWEEK'", "'DAYOFYEAR'", "'DECODE'", "'DEGREES'", - "'DES_DECRYPT'", "'DES_ENCRYPT'", "'DIMENSION'", "'DISJOINT'", - "'ELT'", "'ENCODE'", "'ENCRYPT'", "'ENDPOINT'", "'ENVELOPE'", - "'EQUALS'", "'EXP'", "'EXPORT_SET'", "'EXTERIORRING'", - "'EXTRACTVALUE'", "'FIELD'", "'FIND_IN_SET'", "'FLOOR'", - "'FORMAT'", "'FOUND_ROWS'", "'FROM_BASE64'", "'FROM_DAYS'", - "'FROM_UNIXTIME'", "'GEOMCOLLFROMTEXT'", "'GEOMCOLLFROMWKB'", - "'GEOMETRYCOLLECTIONFROMTEXT'", "'GEOMETRYCOLLECTIONFROMWKB'", - "'GEOMETRYFROMTEXT'", "'GEOMETRYFROMWKB'", "'GEOMETRYN'", - "'GEOMETRYTYPE'", "'GEOMFROMTEXT'", "'GEOMFROMWKB'", - "'GET_FORMAT'", "'GET_LOCK'", "'GLENGTH'", "'GREATEST'", - "'GTID_SUBSET'", "'GTID_SUBTRACT'", "'HEX'", "'IFNULL'", - "'INET6_ATON'", "'INET6_NTOA'", "'INET_ATON'", "'INET_NTOA'", - "'INSTR'", "'INTERIORRINGN'", "'INTERSECTS'", "'ISCLOSED'", - "'ISEMPTY'", "'ISNULL'", "'ISSIMPLE'", "'IS_FREE_LOCK'", - "'IS_IPV4'", "'IS_IPV4_COMPAT'", "'IS_IPV4_MAPPED'", - "'IS_IPV6'", "'IS_USED_LOCK'", "'LAST_INSERT_ID'", - "'LCASE'", "'LEAST'", "'LENGTH'", "'LINEFROMTEXT'", - "'LINEFROMWKB'", "'LINESTRINGFROMTEXT'", "'LINESTRINGFROMWKB'", - "'LN'", "'LOAD_FILE'", "'LOCATE'", "'LOG'", "'LOG10'", - "'LOG2'", "'LOWER'", "'LPAD'", "'LTRIM'", "'MAKEDATE'", - "'MAKETIME'", "'MAKE_SET'", "'MASTER_POS_WAIT'", "'MBRCONTAINS'", - "'MBRDISJOINT'", "'MBREQUAL'", "'MBRINTERSECTS'", "'MBROVERLAPS'", - "'MBRTOUCHES'", "'MBRWITHIN'", "'MD5'", "'MLINEFROMTEXT'", - "'MLINEFROMWKB'", "'MONTHNAME'", "'MPOINTFROMTEXT'", - "'MPOINTFROMWKB'", "'MPOLYFROMTEXT'", "'MPOLYFROMWKB'", - "'MULTILINESTRINGFROMTEXT'", "'MULTILINESTRINGFROMWKB'", - "'MULTIPOINTFROMTEXT'", "'MULTIPOINTFROMWKB'", "'MULTIPOLYGONFROMTEXT'", - "'MULTIPOLYGONFROMWKB'", "'NAME_CONST'", "'NULLIF'", - "'NUMGEOMETRIES'", "'NUMINTERIORRINGS'", "'NUMPOINTS'", - "'OCT'", "'OCTET_LENGTH'", "'ORD'", "'OVERLAPS'", "'PERIOD_ADD'", - "'PERIOD_DIFF'", "'PI'", "'POINTFROMTEXT'", "'POINTFROMWKB'", - "'POINTN'", "'POLYFROMTEXT'", "'POLYFROMWKB'", "'POLYGONFROMTEXT'", - "'POLYGONFROMWKB'", "'POW'", "'POWER'", "'QUOTE'", - "'RADIANS'", "'RAND'", "'RANDOM_BYTES'", "'RELEASE_LOCK'", - "'REVERSE'", "'ROUND'", "'ROW_COUNT'", "'RPAD'", "'RTRIM'", - "'SEC_TO_TIME'", "'SESSION_USER'", "'SHA'", "'SHA1'", - "'SHA2'", "'SIGN'", "'SIN'", "'SLEEP'", "'SOUNDEX'", - "'SQL_THREAD_WAIT_AFTER_GTIDS'", "'SQRT'", "'SRID'", - "'STARTPOINT'", "'STRCMP'", "'STR_TO_DATE'", "'ST_AREA'", - "'ST_ASBINARY'", "'ST_ASTEXT'", "'ST_ASWKB'", "'ST_ASWKT'", - "'ST_BUFFER'", "'ST_CENTROID'", "'ST_CONTAINS'", "'ST_CROSSES'", - "'ST_DIFFERENCE'", "'ST_DIMENSION'", "'ST_DISJOINT'", - "'ST_DISTANCE'", "'ST_ENDPOINT'", "'ST_ENVELOPE'", - "'ST_EQUALS'", "'ST_EXTERIORRING'", "'ST_GEOMCOLLFROMTEXT'", - "'ST_GEOMCOLLFROMTXT'", "'ST_GEOMCOLLFROMWKB'", "'ST_GEOMETRYCOLLECTIONFROMTEXT'", - "'ST_GEOMETRYCOLLECTIONFROMWKB'", "'ST_GEOMETRYFROMTEXT'", - "'ST_GEOMETRYFROMWKB'", "'ST_GEOMETRYN'", "'ST_GEOMETRYTYPE'", - "'ST_GEOMFROMTEXT'", "'ST_GEOMFROMWKB'", "'ST_INTERIORRINGN'", - "'ST_INTERSECTION'", "'ST_INTERSECTS'", "'ST_ISCLOSED'", - "'ST_ISEMPTY'", "'ST_ISSIMPLE'", "'ST_LINEFROMTEXT'", - "'ST_LINEFROMWKB'", "'ST_LINESTRINGFROMTEXT'", "'ST_LINESTRINGFROMWKB'", - "'ST_NUMGEOMETRIES'", "'ST_NUMINTERIORRING'", "'ST_NUMINTERIORRINGS'", - "'ST_NUMPOINTS'", "'ST_OVERLAPS'", "'ST_POINTFROMTEXT'", - "'ST_POINTFROMWKB'", "'ST_POINTN'", "'ST_POLYFROMTEXT'", - "'ST_POLYFROMWKB'", "'ST_POLYGONFROMTEXT'", "'ST_POLYGONFROMWKB'", - "'ST_SRID'", "'ST_STARTPOINT'", "'ST_SYMDIFFERENCE'", - "'ST_TOUCHES'", "'ST_UNION'", "'ST_WITHIN'", "'ST_X'", - "'ST_Y'", "'SUBDATE'", "'SUBSTRING_INDEX'", "'SUBTIME'", - "'SYSTEM_USER'", "'TAN'", "'TIMEDIFF'", "'TIMESTAMPADD'", - "'TIMESTAMPDIFF'", "'TIME_FORMAT'", "'TIME_TO_SEC'", - "'TOUCHES'", "'TO_BASE64'", "'TO_DAYS'", "'TO_SECONDS'", - "'UCASE'", "'UNCOMPRESS'", "'UNCOMPRESSED_LENGTH'", - "'UNHEX'", "'UNIX_TIMESTAMP'", "'UPDATEXML'", "'UPPER'", - "'UUID'", "'UUID_SHORT'", "'VALIDATE_PASSWORD_STRENGTH'", - "'VERSION'", "'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS'", - "'WEEKDAY'", "'WEEKOFYEAR'", "'WEIGHT_STRING'", "'WITHIN'", - "'YEARWEEK'", "'Y'", "'X'", "':='", "'+='", "'-='", - "'*='", "'/='", "'%='", "'&='", "'^='", "'|='", "'*'", - "'/'", "'%'", "'+'", "'--'", "'-'", "'DIV'", "'MOD'", - "'='", "'>'", "'<'", "'!'", "'~'", "'|'", "'&'", "'^'", - "'.'", "'('", "')'", "','", "';'", "'@'", "'0'", "'1'", - "'2'", "'''", "'\"'", "'`'", "':'" ] - - symbolicNames = [ "", "SPACE", "SPEC_MYSQL_COMMENT", "COMMENT_INPUT", - "LINE_COMMENT", "ERRORBOUND", "CONFLEVEL", "ADD", - "ALL", "ALTER", "ALWAYS", "ANALYZE", "AND", "AS", - "ASC", "BEFORE", "BETWEEN", "BOTH", "BY", "CALL", - "CASCADE", "CASE", "CAST", "CHANGE", "CHARACTER", - "CHECK", "COLLATE", "COLUMN", "CONDITION", "CONSTRAINT", - "CONTINUE", "CONVERT", "CREATE", "CROSS", "CURRENT_USER", - "CURSOR", "DATABASE", "DATABASES", "DECLARE", "DEFAULT", - "DELAYED", "DELETE", "DESC", "DESCRIBE", "DETERMINISTIC", - "DISTINCT", "DISTINCTROW", "DROP", "EACH", "ELSE", - "ELSEIF", "ENCLOSED", "ESCAPED", "EXISTS", "EXIT", - "EXPLAIN", "FALSE", "FETCH", "FOR", "FORCE", "FOREIGN", - "FROM", "FULLTEXT", "GENERATED", "GRANT", "GROUP", - "HAVING", "HIGH_PRIORITY", "IF", "IGNORE", "IN", "INDEX", - "INFILE", "INNER", "INOUT", "INSERT", "INTERVAL", - "INTO", "IS", "ITERATE", "JOIN", "KEY", "KEYS", "KILL", - "LEADING", "LEAVE", "LEFT", "LIKE", "LIMIT", "LINEAR", - "LINES", "LOAD", "LOCK", "LOOP", "LOW_PRIORITY", "MASTER_BIND", - "MASTER_SSL_VERIFY_SERVER_CERT", "MATCH", "MAXVALUE", - "MODIFIES", "NATURAL", "NOT", "NO_WRITE_TO_BINLOG", - "NULL_LITERAL", "ON", "OPTIMIZE", "OPTION", "OPTIONALLY", - "OR", "ORDER", "OUT", "OUTER", "OUTFILE", "PARTITION", - "PRIMARY", "PROCEDURE", "PURGE", "RANGE", "READ", - "READS", "REFERENCES", "REGEXP", "RELEASE", "RENAME", - "REPEAT", "REPLACE", "REQUIRE", "RESTRICT", "RETURN", - "REVOKE", "RIGHT", "RLIKE", "SCHEMA", "SCHEMAS", "SELECT", - "SET", "SEPARATOR", "SHOW", "SPATIAL", "SQL", "SQLEXCEPTION", - "SQLSTATE", "SQLWARNING", "SQL_BIG_RESULT", "SQL_CALC_FOUND_ROWS", - "SQL_SMALL_RESULT", "SSL", "STARTING", "STRAIGHT_JOIN", - "TABLE", "TERMINATED", "THEN", "TO", "TRAILING", "TRIGGER", - "TRUE", "UNDO", "UNION", "UNIQUE", "UNLOCK", "UNSIGNED", - "UPDATE", "USAGE", "USE", "USING", "VALUES", "WHEN", - "WHERE", "WHILE", "WITH", "WRITE", "XOR", "ZEROFILL", - "TINYINT", "SMALLINT", "MEDIUMINT", "INT", "INTEGER", - "BIGINT", "REAL", "DOUBLE", "FLOAT", "DECIMAL", "NUMERIC", - "DATE", "TIME", "TIMESTAMP", "DATETIME", "YEAR", "CHAR", - "VARCHAR", "BINARY", "VARBINARY", "TINYBLOB", "BLOB", - "MEDIUMBLOB", "LONGBLOB", "TINYTEXT", "TEXT", "MEDIUMTEXT", - "LONGTEXT", "ENUM", "SERIAL", "YEAR_MONTH", "DAY_HOUR", - "DAY_MINUTE", "DAY_SECOND", "HOUR_MINUTE", "HOUR_SECOND", - "MINUTE_SECOND", "SECOND_MICROSECOND", "MINUTE_MICROSECOND", - "HOUR_MICROSECOND", "DAY_MICROSECOND", "AVG", "BIT_AND", - "BIT_OR", "BIT_XOR", "COUNT", "GROUP_CONCAT", "MAX", - "MIN", "STD", "STDDEV", "STDDEV_POP", "STDDEV_SAMP", - "SUM", "VAR_POP", "VAR_SAMP", "VARIANCE", "FCOUNT", - "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", - "LOCALTIME", "CURDATE", "CURTIME", "DATE_ADD", "DATE_SUB", - "EXTRACT", "LOCALTIMESTAMP", "NOW", "POSITION", "SUBSTR", - "SUBSTRING", "SYSDATE", "TRIM", "UTC_DATE", "UTC_TIME", - "UTC_TIMESTAMP", "ACCOUNT", "ACTION", "AFTER", "AGGREGATE", - "ALGORITHM", "ANY", "AT", "AUTHORS", "AUTOCOMMIT", - "AUTOEXTEND_SIZE", "AUTO_INCREMENT", "AVG_ROW_LENGTH", - "BEGIN", "BINLOG", "BIT", "BLOCK", "BOOL", "BOOLEAN", - "BTREE", "CACHE", "CASCADED", "CHAIN", "CHANGED", - "CHANNEL", "CHECKSUM", "CIPHER", "CLIENT", "CLOSE", - "COALESCE", "CODE", "COLUMNS", "COLUMN_FORMAT", "COMMENT", - "COMMIT", "COMPACT", "COMPLETION", "COMPRESSED", "COMPRESSION", - "CONCURRENT", "CONNECTION", "CONSISTENT", "CONTAINS", - "CONTEXT", "CONTRIBUTORS", "COPY", "CPU", "DATA", - "DATAFILE", "DEALLOCATE", "DEFAULT_AUTH", "DEFINER", - "DELAY_KEY_WRITE", "DES_KEY_FILE", "DIRECTORY", "DISABLE", - "DISCARD", "DISK", "DO", "DUMPFILE", "DUPLICATE", - "DYNAMIC", "ENABLE", "ENCRYPTION", "END", "ENDS", - "ENGINE", "ENGINES", "ERROR", "ERRORS", "ESCAPE", - "EVEN", "EVENT", "EVENTS", "EVERY", "EXCHANGE", "EXCLUSIVE", - "EXPIRE", "EXPORT", "EXTENDED", "EXTENT_SIZE", "FAST", - "FAULTS", "FIELDS", "FILE_BLOCK_SIZE", "FILTER", "FIRST", - "FIXED", "FLUSH", "FOLLOWS", "FOUND", "FULL", "FUNCTION", - "GENERAL", "GLOBAL", "GRANTS", "GROUP_REPLICATION", - "HANDLER", "HASH", "HELP", "HOST", "HOSTS", "IDENTIFIED", - "IGNORE_SERVER_IDS", "IMPORT", "INDEXES", "INITIAL_SIZE", - "INPLACE", "INSERT_METHOD", "INSTALL", "INSTANCE", - "INVOKER", "IO", "IO_THREAD", "IPC", "ISOLATION", - "ISSUER", "JSON", "KEY_BLOCK_SIZE", "LANGUAGE", "LAST", - "LEAVES", "LESS", "LEVEL", "LIST", "LOCAL", "LOGFILE", - "LOGS", "MASTER", "MASTER_AUTO_POSITION", "MASTER_CONNECT_RETRY", - "MASTER_DELAY", "MASTER_HEARTBEAT_PERIOD", "MASTER_HOST", - "MASTER_LOG_FILE", "MASTER_LOG_POS", "MASTER_PASSWORD", - "MASTER_PORT", "MASTER_RETRY_COUNT", "MASTER_SSL", - "MASTER_SSL_CA", "MASTER_SSL_CAPATH", "MASTER_SSL_CERT", - "MASTER_SSL_CIPHER", "MASTER_SSL_CRL", "MASTER_SSL_CRLPATH", - "MASTER_SSL_KEY", "MASTER_TLS_VERSION", "MASTER_USER", - "MAX_CONNECTIONS_PER_HOUR", "MAX_QUERIES_PER_HOUR", - "MAX_ROWS", "MAX_SIZE", "MAX_UPDATES_PER_HOUR", "MAX_USER_CONNECTIONS", - "MEDIUM", "MERGE", "MID", "MIGRATE", "MIN_ROWS", "MODE", - "MODIFY", "MUTEX", "MYSQL", "NAME", "NAMES", "NCHAR", - "NEVER", "NEXT", "NO", "NODEGROUP", "NONE", "OFFLINE", - "OFFSET", "OJ", "OLD_PASSWORD", "ONE", "ONLINE", "ONLY", - "OPEN", "OPTIMIZER_COSTS", "OPTIONS", "OWNER", "PACK_KEYS", - "PAGE", "PARSER", "PARTIAL", "PARTITIONING", "PARTITIONS", - "PASSWORD", "PHASE", "PLUGIN", "PLUGIN_DIR", "PLUGINS", - "PORT", "PRECEDES", "PREPARE", "PRESERVE", "PREV", - "PROCESSLIST", "PROFILE", "PROFILES", "PROXY", "QUERY", - "QUICK", "REBUILD", "RECOVER", "REDO_BUFFER_SIZE", - "REDUNDANT", "RELAY", "RELAY_LOG_FILE", "RELAY_LOG_POS", - "RELAYLOG", "REMOVE", "REORGANIZE", "REPAIR", "REPLICATE_DO_DB", - "REPLICATE_DO_TABLE", "REPLICATE_IGNORE_DB", "REPLICATE_IGNORE_TABLE", - "REPLICATE_REWRITE_DB", "REPLICATE_WILD_DO_TABLE", - "REPLICATE_WILD_IGNORE_TABLE", "REPLICATION", "RESET", - "RESUME", "RETURNS", "ROLLBACK", "ROLLUP", "ROTATE", - "ROW", "ROWS", "ROW_FORMAT", "SAVEPOINT", "SCHEDULE", - "SECURITY", "SERVER", "SESSION", "SHARE", "SHARED", - "SIGNED", "SIMPLE", "SLAVE", "SLOW", "SNAPSHOT", "SOCKET", - "SOME", "SONAME", "SOUNDS", "SOURCE", "SQL_AFTER_GTIDS", - "SQL_AFTER_MTS_GAPS", "SQL_BEFORE_GTIDS", "SQL_BUFFER_RESULT", - "SQL_CACHE", "SQL_NO_CACHE", "SQL_THREAD", "START", - "STARTS", "STATS_AUTO_RECALC", "STATS_PERSISTENT", - "STATS_SAMPLE_PAGES", "STATUS", "STOP", "STORAGE", - "STORED", "STRING", "SUBJECT", "SUBPARTITION", "SUBPARTITIONS", - "SUSPEND", "SWAPS", "SWITCHES", "TABLESPACE", "TEMPORARY", - "TEMPTABLE", "THAN", "TRADITIONAL", "TRANSACTION", - "TRIGGERS", "TRUNCATE", "UNDEFINED", "UNDOFILE", "UNDO_BUFFER_SIZE", - "UNINSTALL", "UNKNOWN", "UNTIL", "UPGRADE", "USER", - "USE_FRM", "USER_RESOURCES", "VALIDATION", "VALUE", - "VARIABLES", "VIEW", "VIRTUAL", "WAIT", "WARNINGS", - "WITHOUT", "WORK", "WRAPPER", "X509", "XA", "XML", - "EUR", "USA", "JIS", "ISO", "INTERNAL", "QUARTER", - "MONTH", "DAY", "HOUR", "MINUTE", "WEEK", "SECOND", - "MICROSECOND", "TABLES", "ROUTINE", "EXECUTE", "FILE", - "PROCESS", "RELOAD", "SHUTDOWN", "SUPER", "PRIVILEGES", - "ARMSCII8", "ASCII", "BIG5", "CP1250", "CP1251", "CP1256", - "CP1257", "CP850", "CP852", "CP866", "CP932", "DEC8", - "EUCJPMS", "EUCKR", "GB2312", "GBK", "GEOSTD8", "GREEK", - "HEBREW", "HP8", "KEYBCS2", "KOI8R", "KOI8U", "LATIN1", - "LATIN2", "LATIN5", "LATIN7", "MACCE", "MACROMAN", - "SJIS", "SWE7", "TIS620", "UCS2", "UJIS", "UTF16", - "UTF16LE", "UTF32", "UTF8", "UTF8MB3", "UTF8MB4", - "ARCHIVE", "BLACKHOLE", "CSV", "FEDERATED", "INNODB", - "MEMORY", "MRG_MYISAM", "MYISAM", "NDB", "NDBCLUSTER", - "PERFOMANCE_SCHEMA", "REPEATABLE", "COMMITTED", "UNCOMMITTED", - "SERIALIZABLE", "GEOMETRYCOLLECTION", "LINESTRING", - "MULTILINESTRING", "MULTIPOINT", "MULTIPOLYGON", "POINT", - "POLYGON", "ABS", "ACOS", "ADDDATE", "ADDTIME", "AES_DECRYPT", - "AES_ENCRYPT", "AREA", "ASBINARY", "ASIN", "ASTEXT", - "ASWKB", "ASWKT", "ASYMMETRIC_DECRYPT", "ASYMMETRIC_DERIVE", - "ASYMMETRIC_ENCRYPT", "ASYMMETRIC_SIGN", "ASYMMETRIC_VERIFY", - "ATAN", "ATAN2", "BENCHMARK", "BIN", "BIT_COUNT", - "BIT_LENGTH", "BUFFER", "CEIL", "CEILING", "CENTROID", - "CHARACTER_LENGTH", "CHARSET", "CHAR_LENGTH", "COERCIBILITY", - "COLLATION", "COMPRESS", "CONCAT", "CONCAT_WS", "CONNECTION_ID", - "CONV", "CONVERT_TZ", "COS", "COT", "CRC32", "CREATE_ASYMMETRIC_PRIV_KEY", - "CREATE_ASYMMETRIC_PUB_KEY", "CREATE_DH_PARAMETERS", - "CREATE_DIGEST", "CROSSES", "DATEDIFF", "DATE_FORMAT", - "DAYNAME", "DAYOFMONTH", "DAYOFWEEK", "DAYOFYEAR", - "DECODE", "DEGREES", "DES_DECRYPT", "DES_ENCRYPT", - "DIMENSION", "DISJOINT", "ELT", "ENCODE", "ENCRYPT", - "ENDPOINT", "ENVELOPE", "EQUALS", "EXP", "EXPORT_SET", - "EXTERIORRING", "EXTRACTVALUE", "FIELD", "FIND_IN_SET", - "FLOOR", "FORMAT", "FOUND_ROWS", "FROM_BASE64", "FROM_DAYS", - "FROM_UNIXTIME", "GEOMCOLLFROMTEXT", "GEOMCOLLFROMWKB", - "GEOMETRYCOLLECTIONFROMTEXT", "GEOMETRYCOLLECTIONFROMWKB", - "GEOMETRYFROMTEXT", "GEOMETRYFROMWKB", "GEOMETRYN", - "GEOMETRYTYPE", "GEOMFROMTEXT", "GEOMFROMWKB", "GET_FORMAT", - "GET_LOCK", "GLENGTH", "GREATEST", "GTID_SUBSET", - "GTID_SUBTRACT", "HEX", "IFNULL", "INET6_ATON", "INET6_NTOA", - "INET_ATON", "INET_NTOA", "INSTR", "INTERIORRINGN", - "INTERSECTS", "ISCLOSED", "ISEMPTY", "ISNULL", "ISSIMPLE", - "IS_FREE_LOCK", "IS_IPV4", "IS_IPV4_COMPAT", "IS_IPV4_MAPPED", - "IS_IPV6", "IS_USED_LOCK", "LAST_INSERT_ID", "LCASE", - "LEAST", "LENGTH", "LINEFROMTEXT", "LINEFROMWKB", - "LINESTRINGFROMTEXT", "LINESTRINGFROMWKB", "LN", "LOAD_FILE", - "LOCATE", "LOG", "LOG10", "LOG2", "LOWER", "LPAD", - "LTRIM", "MAKEDATE", "MAKETIME", "MAKE_SET", "MASTER_POS_WAIT", - "MBRCONTAINS", "MBRDISJOINT", "MBREQUAL", "MBRINTERSECTS", - "MBROVERLAPS", "MBRTOUCHES", "MBRWITHIN", "MD5", "MLINEFROMTEXT", - "MLINEFROMWKB", "MONTHNAME", "MPOINTFROMTEXT", "MPOINTFROMWKB", - "MPOLYFROMTEXT", "MPOLYFROMWKB", "MULTILINESTRINGFROMTEXT", - "MULTILINESTRINGFROMWKB", "MULTIPOINTFROMTEXT", "MULTIPOINTFROMWKB", - "MULTIPOLYGONFROMTEXT", "MULTIPOLYGONFROMWKB", "NAME_CONST", - "NULLIF", "NUMGEOMETRIES", "NUMINTERIORRINGS", "NUMPOINTS", - "OCT", "OCTET_LENGTH", "ORD", "OVERLAPS", "PERIOD_ADD", - "PERIOD_DIFF", "PI", "POINTFROMTEXT", "POINTFROMWKB", - "POINTN", "POLYFROMTEXT", "POLYFROMWKB", "POLYGONFROMTEXT", - "POLYGONFROMWKB", "POW", "POWER", "QUOTE", "RADIANS", - "RAND", "RANDOM_BYTES", "RELEASE_LOCK", "REVERSE", - "ROUND", "ROW_COUNT", "RPAD", "RTRIM", "SEC_TO_TIME", - "SESSION_USER", "SHA", "SHA1", "SHA2", "SIGN", "SIN", - "SLEEP", "SOUNDEX", "SQL_THREAD_WAIT_AFTER_GTIDS", - "SQRT", "SRID", "STARTPOINT", "STRCMP", "STR_TO_DATE", - "ST_AREA", "ST_ASBINARY", "ST_ASTEXT", "ST_ASWKB", - "ST_ASWKT", "ST_BUFFER", "ST_CENTROID", "ST_CONTAINS", - "ST_CROSSES", "ST_DIFFERENCE", "ST_DIMENSION", "ST_DISJOINT", - "ST_DISTANCE", "ST_ENDPOINT", "ST_ENVELOPE", "ST_EQUALS", - "ST_EXTERIORRING", "ST_GEOMCOLLFROMTEXT", "ST_GEOMCOLLFROMTXT", - "ST_GEOMCOLLFROMWKB", "ST_GEOMETRYCOLLECTIONFROMTEXT", - "ST_GEOMETRYCOLLECTIONFROMWKB", "ST_GEOMETRYFROMTEXT", - "ST_GEOMETRYFROMWKB", "ST_GEOMETRYN", "ST_GEOMETRYTYPE", - "ST_GEOMFROMTEXT", "ST_GEOMFROMWKB", "ST_INTERIORRINGN", - "ST_INTERSECTION", "ST_INTERSECTS", "ST_ISCLOSED", - "ST_ISEMPTY", "ST_ISSIMPLE", "ST_LINEFROMTEXT", "ST_LINEFROMWKB", - "ST_LINESTRINGFROMTEXT", "ST_LINESTRINGFROMWKB", "ST_NUMGEOMETRIES", - "ST_NUMINTERIORRING", "ST_NUMINTERIORRINGS", "ST_NUMPOINTS", - "ST_OVERLAPS", "ST_POINTFROMTEXT", "ST_POINTFROMWKB", - "ST_POINTN", "ST_POLYFROMTEXT", "ST_POLYFROMWKB", - "ST_POLYGONFROMTEXT", "ST_POLYGONFROMWKB", "ST_SRID", - "ST_STARTPOINT", "ST_SYMDIFFERENCE", "ST_TOUCHES", - "ST_UNION", "ST_WITHIN", "ST_X", "ST_Y", "SUBDATE", - "SUBSTRING_INDEX", "SUBTIME", "SYSTEM_USER", "TAN", - "TIMEDIFF", "TIMESTAMPADD", "TIMESTAMPDIFF", "TIME_FORMAT", - "TIME_TO_SEC", "TOUCHES", "TO_BASE64", "TO_DAYS", - "TO_SECONDS", "UCASE", "UNCOMPRESS", "UNCOMPRESSED_LENGTH", - "UNHEX", "UNIX_TIMESTAMP", "UPDATEXML", "UPPER", "UUID", - "UUID_SHORT", "VALIDATE_PASSWORD_STRENGTH", "VERSION", - "WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS", "WEEKDAY", "WEEKOFYEAR", - "WEIGHT_STRING", "WITHIN", "YEARWEEK", "Y_FUNCTION", - "X_FUNCTION", "VAR_ASSIGN", "PLUS_ASSIGN", "MINUS_ASSIGN", - "MULT_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "AND_ASSIGN", - "XOR_ASSIGN", "OR_ASSIGN", "STAR", "DIVIDE", "MODULE", - "PLUS", "MINUSMINUS", "MINUS", "DIV", "MOD", "EQUAL_SYMBOL", - "GREATER_SYMBOL", "LESS_SYMBOL", "EXCLAMATION_SYMBOL", - "BIT_NOT_OP", "BIT_OR_OP", "BIT_AND_OP", "BIT_XOR_OP", - "DOT", "LR_BRACKET", "RR_BRACKET", "COMMA", "SEMI", - "AT_SIGN", "ZERO_DECIMAL", "ONE_DECIMAL", "TWO_DECIMAL", - "SINGLE_QUOTE_SYMB", "DOUBLE_QUOTE_SYMB", "REVERSE_QUOTE_SYMB", - "COLON_SYMB", "CHARSET_REVERSE_QOUTE_STRING", "FILESIZE_LITERAL", - "START_NATIONAL_STRING_LITERAL", "STRING_LITERAL", - "DECIMAL_LITERAL", "HEXADECIMAL_LITERAL", "REAL_LITERAL", - "NULL_SPEC_LITERAL", "BIT_STRING", "STRING_CHARSET_NAME", - "DOT_ID", "ID", "REVERSE_QUOTE_ID", "STRING_USER_NAME", - "LOCAL_ID", "GLOBAL_ID", "ERROR_RECONGNIGION" ] - - RULE_root = 0 - RULE_sqlStatements = 1 - RULE_sqlStatement = 2 - RULE_emptyStatement = 3 - RULE_ddlStatement = 4 - RULE_dmlStatement = 5 - RULE_transactionStatement = 6 - RULE_replicationStatement = 7 - RULE_preparedStatement = 8 - RULE_compoundStatement = 9 - RULE_administrationStatement = 10 - RULE_utilityStatement = 11 - RULE_createDatabase = 12 - RULE_createEvent = 13 - RULE_createIndex = 14 - RULE_createLogfileGroup = 15 - RULE_createProcedure = 16 - RULE_createFunction = 17 - RULE_createServer = 18 - RULE_createTable = 19 - RULE_createTablespaceInnodb = 20 - RULE_createTablespaceNdb = 21 - RULE_createTrigger = 22 - RULE_createView = 23 - RULE_createDatabaseOption = 24 - RULE_ownerStatement = 25 - RULE_scheduleExpression = 26 - RULE_timestampValue = 27 - RULE_intervalExpr = 28 - RULE_intervalType = 29 - RULE_enableType = 30 - RULE_indexType = 31 - RULE_indexOption = 32 - RULE_procedureParameter = 33 - RULE_functionParameter = 34 - RULE_routineOption = 35 - RULE_serverOption = 36 - RULE_createDefinitions = 37 - RULE_createDefinition = 38 - RULE_columnDefinition = 39 - RULE_columnConstraint = 40 - RULE_tableConstraint = 41 - RULE_referenceDefinition = 42 - RULE_referenceAction = 43 - RULE_referenceControlType = 44 - RULE_indexColumnDefinition = 45 - RULE_tableOption = 46 - RULE_tablespaceStorage = 47 - RULE_partitionDefinitions = 48 - RULE_partitionFunctionDefinition = 49 - RULE_subpartitionFunctionDefinition = 50 - RULE_partitionDefinition = 51 - RULE_partitionDefinerAtom = 52 - RULE_partitionDefinerVector = 53 - RULE_subpartitionDefinition = 54 - RULE_partitionOption = 55 - RULE_alterDatabase = 56 - RULE_alterEvent = 57 - RULE_alterFunction = 58 - RULE_alterInstance = 59 - RULE_alterLogfileGroup = 60 - RULE_alterProcedure = 61 - RULE_alterServer = 62 - RULE_alterTable = 63 - RULE_alterTablespace = 64 - RULE_alterView = 65 - RULE_alterSpecification = 66 - RULE_dropDatabase = 67 - RULE_dropEvent = 68 - RULE_dropIndex = 69 - RULE_dropLogfileGroup = 70 - RULE_dropProcedure = 71 - RULE_dropFunction = 72 - RULE_dropServer = 73 - RULE_dropTable = 74 - RULE_dropTablespace = 75 - RULE_dropTrigger = 76 - RULE_dropView = 77 - RULE_renameTable = 78 - RULE_renameTableClause = 79 - RULE_truncateTable = 80 - RULE_callStatement = 81 - RULE_deleteStatement = 82 - RULE_doStatement = 83 - RULE_handlerStatement = 84 - RULE_insertStatement = 85 - RULE_loadDataStatement = 86 - RULE_loadXmlStatement = 87 - RULE_replaceStatement = 88 - RULE_selectStatement = 89 - RULE_updateStatement = 90 - RULE_insertStatementValue = 91 - RULE_updatedElement = 92 - RULE_assignmentField = 93 - RULE_lockClause = 94 - RULE_singleDeleteStatement = 95 - RULE_multipleDeleteStatement = 96 - RULE_handlerOpenStatement = 97 - RULE_handlerReadIndexStatement = 98 - RULE_handlerReadStatement = 99 - RULE_handlerCloseStatement = 100 - RULE_singleUpdateStatement = 101 - RULE_multipleUpdateStatement = 102 - RULE_orderByClause = 103 - RULE_orderByExpression = 104 - RULE_tableSources = 105 - RULE_tableSource = 106 - RULE_tableSourceItem = 107 - RULE_indexHint = 108 - RULE_indexHintType = 109 - RULE_joinPart = 110 - RULE_queryExpression = 111 - RULE_queryExpressionNointo = 112 - RULE_querySpecification = 113 - RULE_querySpecificationNointo = 114 - RULE_unionParenthesis = 115 - RULE_unionStatement = 116 - RULE_selectSpec = 117 - RULE_selectElements = 118 - RULE_selectElement = 119 - RULE_errorTolerenceExpression = 120 - RULE_confLevelExpression = 121 - RULE_selectIntoExpression = 122 - RULE_selectFieldsInto = 123 - RULE_selectLinesInto = 124 - RULE_fromClause = 125 - RULE_groupByItem = 126 - RULE_limitClause = 127 - RULE_startTransaction = 128 - RULE_beginWork = 129 - RULE_commitWork = 130 - RULE_rollbackWork = 131 - RULE_savepointStatement = 132 - RULE_rollbackStatement = 133 - RULE_releaseStatement = 134 - RULE_lockTables = 135 - RULE_unlockTables = 136 - RULE_setAutocommitStatement = 137 - RULE_setTransactionStatement = 138 - RULE_transactionMode = 139 - RULE_lockTableElement = 140 - RULE_lockAction = 141 - RULE_transactionOption = 142 - RULE_transactionLevel = 143 - RULE_changeMaster = 144 - RULE_changeReplicationFilter = 145 - RULE_purgeBinaryLogs = 146 - RULE_resetMaster = 147 - RULE_resetSlave = 148 - RULE_startSlave = 149 - RULE_stopSlave = 150 - RULE_startGroupReplication = 151 - RULE_stopGroupReplication = 152 - RULE_masterOption = 153 - RULE_stringMasterOption = 154 - RULE_decimalMasterOption = 155 - RULE_boolMasterOption = 156 - RULE_channelOption = 157 - RULE_replicationFilter = 158 - RULE_tablePair = 159 - RULE_threadType = 160 - RULE_untilOption = 161 - RULE_connectionOption = 162 - RULE_gtuidSet = 163 - RULE_xaStartTransaction = 164 - RULE_xaEndTransaction = 165 - RULE_xaPrepareStatement = 166 - RULE_xaCommitWork = 167 - RULE_xaRollbackWork = 168 - RULE_xaRecoverWork = 169 - RULE_prepareStatement = 170 - RULE_executeStatement = 171 - RULE_deallocatePrepare = 172 - RULE_routineBody = 173 - RULE_blockStatement = 174 - RULE_caseStatement = 175 - RULE_ifStatement = 176 - RULE_iterateStatement = 177 - RULE_leaveStatement = 178 - RULE_loopStatement = 179 - RULE_repeatStatement = 180 - RULE_returnStatement = 181 - RULE_whileStatement = 182 - RULE_cursorStatement = 183 - RULE_declareVariable = 184 - RULE_declareCondition = 185 - RULE_declareCursor = 186 - RULE_declareHandler = 187 - RULE_handlerConditionValue = 188 - RULE_procedureSqlStatement = 189 - RULE_caseAlternative = 190 - RULE_elifAlternative = 191 - RULE_alterUser = 192 - RULE_createUser = 193 - RULE_dropUser = 194 - RULE_grantStatement = 195 - RULE_grantProxy = 196 - RULE_renameUser = 197 - RULE_revokeStatement = 198 - RULE_revokeProxy = 199 - RULE_setPasswordStatement = 200 - RULE_userSpecification = 201 - RULE_userAuthOption = 202 - RULE_tlsOption = 203 - RULE_userResourceOption = 204 - RULE_userPasswordOption = 205 - RULE_userLockOption = 206 - RULE_privelegeClause = 207 - RULE_privilege = 208 - RULE_privilegeLevel = 209 - RULE_renameUserClause = 210 - RULE_analyzeTable = 211 - RULE_checkTable = 212 - RULE_checksumTable = 213 - RULE_optimizeTable = 214 - RULE_repairTable = 215 - RULE_checkTableOption = 216 - RULE_createUdfunction = 217 - RULE_installPlugin = 218 - RULE_uninstallPlugin = 219 - RULE_setStatement = 220 - RULE_showStatement = 221 - RULE_variableClause = 222 - RULE_showCommonEntity = 223 - RULE_showFilter = 224 - RULE_showGlobalInfoClause = 225 - RULE_showSchemaEntity = 226 - RULE_showProfileType = 227 - RULE_binlogStatement = 228 - RULE_cacheIndexStatement = 229 - RULE_flushStatement = 230 - RULE_killStatement = 231 - RULE_loadIndexIntoCache = 232 - RULE_resetStatement = 233 - RULE_shutdownStatement = 234 - RULE_tableIndexes = 235 - RULE_flushOption = 236 - RULE_flushTableOption = 237 - RULE_loadedTableIndexes = 238 - RULE_simpleDescribeStatement = 239 - RULE_fullDescribeStatement = 240 - RULE_helpStatement = 241 - RULE_useStatement = 242 - RULE_describeObjectClause = 243 - RULE_fullId = 244 - RULE_tableName = 245 - RULE_fullColumnName = 246 - RULE_indexColumnName = 247 - RULE_userName = 248 - RULE_mysqlVariable = 249 - RULE_charsetName = 250 - RULE_collationName = 251 - RULE_engineName = 252 - RULE_uuidSet = 253 - RULE_xid = 254 - RULE_xuidStringId = 255 - RULE_authPlugin = 256 - RULE_uid = 257 - RULE_simpleId = 258 - RULE_dottedId = 259 - RULE_decimalLiteral = 260 - RULE_fileSizeLiteral = 261 - RULE_stringLiteral = 262 - RULE_booleanLiteral = 263 - RULE_hexadecimalLiteral = 264 - RULE_nullNotnull = 265 - RULE_constant = 266 - RULE_dataType = 267 - RULE_convertedDataType = 268 - RULE_lengthOneDimension = 269 - RULE_lengthTwoDimension = 270 - RULE_lengthTwoOptionalDimension = 271 - RULE_uidList = 272 - RULE_tables = 273 - RULE_indexColumnNames = 274 - RULE_expressions = 275 - RULE_expressionsWithDefaults = 276 - RULE_constants = 277 - RULE_simpleStrings = 278 - RULE_userVariables = 279 - RULE_defaultValue = 280 - RULE_currentTimestamp = 281 - RULE_expressionOrDefault = 282 - RULE_ifExists = 283 - RULE_ifNotExists = 284 - RULE_functionCall = 285 - RULE_specificFunction = 286 - RULE_caseFuncAlternative = 287 - RULE_levelsInWeightString = 288 - RULE_levelInWeightListElement = 289 - RULE_aggregateWindowedFunction = 290 - RULE_scalarFunctionName = 291 - RULE_passwordFunctionClause = 292 - RULE_functionArgs = 293 - RULE_functionArg = 294 - RULE_expression = 295 - RULE_predicate = 296 - RULE_expressionAtom = 297 - RULE_unaryOperator = 298 - RULE_comparisonOperator = 299 - RULE_logicalOperator = 300 - RULE_bitOperator = 301 - RULE_mathOperator = 302 - RULE_charsetNameBase = 303 - RULE_transactionLevelBase = 304 - RULE_privilegesBase = 305 - RULE_intervalTypeBase = 306 - RULE_dataTypeBase = 307 - RULE_keywordsCanBeId = 308 - RULE_functionNameBase = 309 - - ruleNames = [ "root", "sqlStatements", "sqlStatement", "emptyStatement", - "ddlStatement", "dmlStatement", "transactionStatement", - "replicationStatement", "preparedStatement", "compoundStatement", - "administrationStatement", "utilityStatement", "createDatabase", - "createEvent", "createIndex", "createLogfileGroup", "createProcedure", - "createFunction", "createServer", "createTable", "createTablespaceInnodb", - "createTablespaceNdb", "createTrigger", "createView", - "createDatabaseOption", "ownerStatement", "scheduleExpression", - "timestampValue", "intervalExpr", "intervalType", "enableType", - "indexType", "indexOption", "procedureParameter", "functionParameter", - "routineOption", "serverOption", "createDefinitions", - "createDefinition", "columnDefinition", "columnConstraint", - "tableConstraint", "referenceDefinition", "referenceAction", - "referenceControlType", "indexColumnDefinition", "tableOption", - "tablespaceStorage", "partitionDefinitions", "partitionFunctionDefinition", - "subpartitionFunctionDefinition", "partitionDefinition", - "partitionDefinerAtom", "partitionDefinerVector", "subpartitionDefinition", - "partitionOption", "alterDatabase", "alterEvent", "alterFunction", - "alterInstance", "alterLogfileGroup", "alterProcedure", - "alterServer", "alterTable", "alterTablespace", "alterView", - "alterSpecification", "dropDatabase", "dropEvent", "dropIndex", - "dropLogfileGroup", "dropProcedure", "dropFunction", - "dropServer", "dropTable", "dropTablespace", "dropTrigger", - "dropView", "renameTable", "renameTableClause", "truncateTable", - "callStatement", "deleteStatement", "doStatement", "handlerStatement", - "insertStatement", "loadDataStatement", "loadXmlStatement", - "replaceStatement", "selectStatement", "updateStatement", - "insertStatementValue", "updatedElement", "assignmentField", - "lockClause", "singleDeleteStatement", "multipleDeleteStatement", - "handlerOpenStatement", "handlerReadIndexStatement", - "handlerReadStatement", "handlerCloseStatement", "singleUpdateStatement", - "multipleUpdateStatement", "orderByClause", "orderByExpression", - "tableSources", "tableSource", "tableSourceItem", "indexHint", - "indexHintType", "joinPart", "queryExpression", "queryExpressionNointo", - "querySpecification", "querySpecificationNointo", "unionParenthesis", - "unionStatement", "selectSpec", "selectElements", "selectElement", - "errorTolerenceExpression", "confLevelExpression", "selectIntoExpression", - "selectFieldsInto", "selectLinesInto", "fromClause", - "groupByItem", "limitClause", "startTransaction", "beginWork", - "commitWork", "rollbackWork", "savepointStatement", "rollbackStatement", - "releaseStatement", "lockTables", "unlockTables", "setAutocommitStatement", - "setTransactionStatement", "transactionMode", "lockTableElement", - "lockAction", "transactionOption", "transactionLevel", - "changeMaster", "changeReplicationFilter", "purgeBinaryLogs", - "resetMaster", "resetSlave", "startSlave", "stopSlave", - "startGroupReplication", "stopGroupReplication", "masterOption", - "stringMasterOption", "decimalMasterOption", "boolMasterOption", - "channelOption", "replicationFilter", "tablePair", "threadType", - "untilOption", "connectionOption", "gtuidSet", "xaStartTransaction", - "xaEndTransaction", "xaPrepareStatement", "xaCommitWork", - "xaRollbackWork", "xaRecoverWork", "prepareStatement", - "executeStatement", "deallocatePrepare", "routineBody", - "blockStatement", "caseStatement", "ifStatement", "iterateStatement", - "leaveStatement", "loopStatement", "repeatStatement", - "returnStatement", "whileStatement", "cursorStatement", - "declareVariable", "declareCondition", "declareCursor", - "declareHandler", "handlerConditionValue", "procedureSqlStatement", - "caseAlternative", "elifAlternative", "alterUser", "createUser", - "dropUser", "grantStatement", "grantProxy", "renameUser", - "revokeStatement", "revokeProxy", "setPasswordStatement", - "userSpecification", "userAuthOption", "tlsOption", "userResourceOption", - "userPasswordOption", "userLockOption", "privelegeClause", - "privilege", "privilegeLevel", "renameUserClause", "analyzeTable", - "checkTable", "checksumTable", "optimizeTable", "repairTable", - "checkTableOption", "createUdfunction", "installPlugin", - "uninstallPlugin", "setStatement", "showStatement", "variableClause", - "showCommonEntity", "showFilter", "showGlobalInfoClause", - "showSchemaEntity", "showProfileType", "binlogStatement", - "cacheIndexStatement", "flushStatement", "killStatement", - "loadIndexIntoCache", "resetStatement", "shutdownStatement", - "tableIndexes", "flushOption", "flushTableOption", "loadedTableIndexes", - "simpleDescribeStatement", "fullDescribeStatement", "helpStatement", - "useStatement", "describeObjectClause", "fullId", "tableName", - "fullColumnName", "indexColumnName", "userName", "mysqlVariable", - "charsetName", "collationName", "engineName", "uuidSet", - "xid", "xuidStringId", "authPlugin", "uid", "simpleId", - "dottedId", "decimalLiteral", "fileSizeLiteral", "stringLiteral", - "booleanLiteral", "hexadecimalLiteral", "nullNotnull", - "constant", "dataType", "convertedDataType", "lengthOneDimension", - "lengthTwoDimension", "lengthTwoOptionalDimension", "uidList", - "tables", "indexColumnNames", "expressions", "expressionsWithDefaults", - "constants", "simpleStrings", "userVariables", "defaultValue", - "currentTimestamp", "expressionOrDefault", "ifExists", - "ifNotExists", "functionCall", "specificFunction", "caseFuncAlternative", - "levelsInWeightString", "levelInWeightListElement", "aggregateWindowedFunction", - "scalarFunctionName", "passwordFunctionClause", "functionArgs", - "functionArg", "expression", "predicate", "expressionAtom", - "unaryOperator", "comparisonOperator", "logicalOperator", - "bitOperator", "mathOperator", "charsetNameBase", "transactionLevelBase", - "privilegesBase", "intervalTypeBase", "dataTypeBase", - "keywordsCanBeId", "functionNameBase" ] - - EOF = Token.EOF - SPACE=1 - SPEC_MYSQL_COMMENT=2 - COMMENT_INPUT=3 - LINE_COMMENT=4 - ERRORBOUND=5 - CONFLEVEL=6 - ADD=7 - ALL=8 - ALTER=9 - ALWAYS=10 - ANALYZE=11 - AND=12 - AS=13 - ASC=14 - BEFORE=15 - BETWEEN=16 - BOTH=17 - BY=18 - CALL=19 - CASCADE=20 - CASE=21 - CAST=22 - CHANGE=23 - CHARACTER=24 - CHECK=25 - COLLATE=26 - COLUMN=27 - CONDITION=28 - CONSTRAINT=29 - CONTINUE=30 - CONVERT=31 - CREATE=32 - CROSS=33 - CURRENT_USER=34 - CURSOR=35 - DATABASE=36 - DATABASES=37 - DECLARE=38 - DEFAULT=39 - DELAYED=40 - DELETE=41 - DESC=42 - DESCRIBE=43 - DETERMINISTIC=44 - DISTINCT=45 - DISTINCTROW=46 - DROP=47 - EACH=48 - ELSE=49 - ELSEIF=50 - ENCLOSED=51 - ESCAPED=52 - EXISTS=53 - EXIT=54 - EXPLAIN=55 - FALSE=56 - FETCH=57 - FOR=58 - FORCE=59 - FOREIGN=60 - FROM=61 - FULLTEXT=62 - GENERATED=63 - GRANT=64 - GROUP=65 - HAVING=66 - HIGH_PRIORITY=67 - IF=68 - IGNORE=69 - IN=70 - INDEX=71 - INFILE=72 - INNER=73 - INOUT=74 - INSERT=75 - INTERVAL=76 - INTO=77 - IS=78 - ITERATE=79 - JOIN=80 - KEY=81 - KEYS=82 - KILL=83 - LEADING=84 - LEAVE=85 - LEFT=86 - LIKE=87 - LIMIT=88 - LINEAR=89 - LINES=90 - LOAD=91 - LOCK=92 - LOOP=93 - LOW_PRIORITY=94 - MASTER_BIND=95 - MASTER_SSL_VERIFY_SERVER_CERT=96 - MATCH=97 - MAXVALUE=98 - MODIFIES=99 - NATURAL=100 - NOT=101 - NO_WRITE_TO_BINLOG=102 - NULL_LITERAL=103 - ON=104 - OPTIMIZE=105 - OPTION=106 - OPTIONALLY=107 - OR=108 - ORDER=109 - OUT=110 - OUTER=111 - OUTFILE=112 - PARTITION=113 - PRIMARY=114 - PROCEDURE=115 - PURGE=116 - RANGE=117 - READ=118 - READS=119 - REFERENCES=120 - REGEXP=121 - RELEASE=122 - RENAME=123 - REPEAT=124 - REPLACE=125 - REQUIRE=126 - RESTRICT=127 - RETURN=128 - REVOKE=129 - RIGHT=130 - RLIKE=131 - SCHEMA=132 - SCHEMAS=133 - SELECT=134 - SET=135 - SEPARATOR=136 - SHOW=137 - SPATIAL=138 - SQL=139 - SQLEXCEPTION=140 - SQLSTATE=141 - SQLWARNING=142 - SQL_BIG_RESULT=143 - SQL_CALC_FOUND_ROWS=144 - SQL_SMALL_RESULT=145 - SSL=146 - STARTING=147 - STRAIGHT_JOIN=148 - TABLE=149 - TERMINATED=150 - THEN=151 - TO=152 - TRAILING=153 - TRIGGER=154 - TRUE=155 - UNDO=156 - UNION=157 - UNIQUE=158 - UNLOCK=159 - UNSIGNED=160 - UPDATE=161 - USAGE=162 - USE=163 - USING=164 - VALUES=165 - WHEN=166 - WHERE=167 - WHILE=168 - WITH=169 - WRITE=170 - XOR=171 - ZEROFILL=172 - TINYINT=173 - SMALLINT=174 - MEDIUMINT=175 - INT=176 - INTEGER=177 - BIGINT=178 - REAL=179 - DOUBLE=180 - FLOAT=181 - DECIMAL=182 - NUMERIC=183 - DATE=184 - TIME=185 - TIMESTAMP=186 - DATETIME=187 - YEAR=188 - CHAR=189 - VARCHAR=190 - BINARY=191 - VARBINARY=192 - TINYBLOB=193 - BLOB=194 - MEDIUMBLOB=195 - LONGBLOB=196 - TINYTEXT=197 - TEXT=198 - MEDIUMTEXT=199 - LONGTEXT=200 - ENUM=201 - SERIAL=202 - YEAR_MONTH=203 - DAY_HOUR=204 - DAY_MINUTE=205 - DAY_SECOND=206 - HOUR_MINUTE=207 - HOUR_SECOND=208 - MINUTE_SECOND=209 - SECOND_MICROSECOND=210 - MINUTE_MICROSECOND=211 - HOUR_MICROSECOND=212 - DAY_MICROSECOND=213 - AVG=214 - BIT_AND=215 - BIT_OR=216 - BIT_XOR=217 - COUNT=218 - GROUP_CONCAT=219 - MAX=220 - MIN=221 - STD=222 - STDDEV=223 - STDDEV_POP=224 - STDDEV_SAMP=225 - SUM=226 - VAR_POP=227 - VAR_SAMP=228 - VARIANCE=229 - FCOUNT=230 - CURRENT_DATE=231 - CURRENT_TIME=232 - CURRENT_TIMESTAMP=233 - LOCALTIME=234 - CURDATE=235 - CURTIME=236 - DATE_ADD=237 - DATE_SUB=238 - EXTRACT=239 - LOCALTIMESTAMP=240 - NOW=241 - POSITION=242 - SUBSTR=243 - SUBSTRING=244 - SYSDATE=245 - TRIM=246 - UTC_DATE=247 - UTC_TIME=248 - UTC_TIMESTAMP=249 - ACCOUNT=250 - ACTION=251 - AFTER=252 - AGGREGATE=253 - ALGORITHM=254 - ANY=255 - AT=256 - AUTHORS=257 - AUTOCOMMIT=258 - AUTOEXTEND_SIZE=259 - AUTO_INCREMENT=260 - AVG_ROW_LENGTH=261 - BEGIN=262 - BINLOG=263 - BIT=264 - BLOCK=265 - BOOL=266 - BOOLEAN=267 - BTREE=268 - CACHE=269 - CASCADED=270 - CHAIN=271 - CHANGED=272 - CHANNEL=273 - CHECKSUM=274 - CIPHER=275 - CLIENT=276 - CLOSE=277 - COALESCE=278 - CODE=279 - COLUMNS=280 - COLUMN_FORMAT=281 - COMMENT=282 - COMMIT=283 - COMPACT=284 - COMPLETION=285 - COMPRESSED=286 - COMPRESSION=287 - CONCURRENT=288 - CONNECTION=289 - CONSISTENT=290 - CONTAINS=291 - CONTEXT=292 - CONTRIBUTORS=293 - COPY=294 - CPU=295 - DATA=296 - DATAFILE=297 - DEALLOCATE=298 - DEFAULT_AUTH=299 - DEFINER=300 - DELAY_KEY_WRITE=301 - DES_KEY_FILE=302 - DIRECTORY=303 - DISABLE=304 - DISCARD=305 - DISK=306 - DO=307 - DUMPFILE=308 - DUPLICATE=309 - DYNAMIC=310 - ENABLE=311 - ENCRYPTION=312 - END=313 - ENDS=314 - ENGINE=315 - ENGINES=316 - ERROR=317 - ERRORS=318 - ESCAPE=319 - EVEN=320 - EVENT=321 - EVENTS=322 - EVERY=323 - EXCHANGE=324 - EXCLUSIVE=325 - EXPIRE=326 - EXPORT=327 - EXTENDED=328 - EXTENT_SIZE=329 - FAST=330 - FAULTS=331 - FIELDS=332 - FILE_BLOCK_SIZE=333 - FILTER=334 - FIRST=335 - FIXED=336 - FLUSH=337 - FOLLOWS=338 - FOUND=339 - FULL=340 - FUNCTION=341 - GENERAL=342 - GLOBAL=343 - GRANTS=344 - GROUP_REPLICATION=345 - HANDLER=346 - HASH=347 - HELP=348 - HOST=349 - HOSTS=350 - IDENTIFIED=351 - IGNORE_SERVER_IDS=352 - IMPORT=353 - INDEXES=354 - INITIAL_SIZE=355 - INPLACE=356 - INSERT_METHOD=357 - INSTALL=358 - INSTANCE=359 - INVOKER=360 - IO=361 - IO_THREAD=362 - IPC=363 - ISOLATION=364 - ISSUER=365 - JSON=366 - KEY_BLOCK_SIZE=367 - LANGUAGE=368 - LAST=369 - LEAVES=370 - LESS=371 - LEVEL=372 - LIST=373 - LOCAL=374 - LOGFILE=375 - LOGS=376 - MASTER=377 - MASTER_AUTO_POSITION=378 - MASTER_CONNECT_RETRY=379 - MASTER_DELAY=380 - MASTER_HEARTBEAT_PERIOD=381 - MASTER_HOST=382 - MASTER_LOG_FILE=383 - MASTER_LOG_POS=384 - MASTER_PASSWORD=385 - MASTER_PORT=386 - MASTER_RETRY_COUNT=387 - MASTER_SSL=388 - MASTER_SSL_CA=389 - MASTER_SSL_CAPATH=390 - MASTER_SSL_CERT=391 - MASTER_SSL_CIPHER=392 - MASTER_SSL_CRL=393 - MASTER_SSL_CRLPATH=394 - MASTER_SSL_KEY=395 - MASTER_TLS_VERSION=396 - MASTER_USER=397 - MAX_CONNECTIONS_PER_HOUR=398 - MAX_QUERIES_PER_HOUR=399 - MAX_ROWS=400 - MAX_SIZE=401 - MAX_UPDATES_PER_HOUR=402 - MAX_USER_CONNECTIONS=403 - MEDIUM=404 - MERGE=405 - MID=406 - MIGRATE=407 - MIN_ROWS=408 - MODE=409 - MODIFY=410 - MUTEX=411 - MYSQL=412 - NAME=413 - NAMES=414 - NCHAR=415 - NEVER=416 - NEXT=417 - NO=418 - NODEGROUP=419 - NONE=420 - OFFLINE=421 - OFFSET=422 - OJ=423 - OLD_PASSWORD=424 - ONE=425 - ONLINE=426 - ONLY=427 - OPEN=428 - OPTIMIZER_COSTS=429 - OPTIONS=430 - OWNER=431 - PACK_KEYS=432 - PAGE=433 - PARSER=434 - PARTIAL=435 - PARTITIONING=436 - PARTITIONS=437 - PASSWORD=438 - PHASE=439 - PLUGIN=440 - PLUGIN_DIR=441 - PLUGINS=442 - PORT=443 - PRECEDES=444 - PREPARE=445 - PRESERVE=446 - PREV=447 - PROCESSLIST=448 - PROFILE=449 - PROFILES=450 - PROXY=451 - QUERY=452 - QUICK=453 - REBUILD=454 - RECOVER=455 - REDO_BUFFER_SIZE=456 - REDUNDANT=457 - RELAY=458 - RELAY_LOG_FILE=459 - RELAY_LOG_POS=460 - RELAYLOG=461 - REMOVE=462 - REORGANIZE=463 - REPAIR=464 - REPLICATE_DO_DB=465 - REPLICATE_DO_TABLE=466 - REPLICATE_IGNORE_DB=467 - REPLICATE_IGNORE_TABLE=468 - REPLICATE_REWRITE_DB=469 - REPLICATE_WILD_DO_TABLE=470 - REPLICATE_WILD_IGNORE_TABLE=471 - REPLICATION=472 - RESET=473 - RESUME=474 - RETURNS=475 - ROLLBACK=476 - ROLLUP=477 - ROTATE=478 - ROW=479 - ROWS=480 - ROW_FORMAT=481 - SAVEPOINT=482 - SCHEDULE=483 - SECURITY=484 - SERVER=485 - SESSION=486 - SHARE=487 - SHARED=488 - SIGNED=489 - SIMPLE=490 - SLAVE=491 - SLOW=492 - SNAPSHOT=493 - SOCKET=494 - SOME=495 - SONAME=496 - SOUNDS=497 - SOURCE=498 - SQL_AFTER_GTIDS=499 - SQL_AFTER_MTS_GAPS=500 - SQL_BEFORE_GTIDS=501 - SQL_BUFFER_RESULT=502 - SQL_CACHE=503 - SQL_NO_CACHE=504 - SQL_THREAD=505 - START=506 - STARTS=507 - STATS_AUTO_RECALC=508 - STATS_PERSISTENT=509 - STATS_SAMPLE_PAGES=510 - STATUS=511 - STOP=512 - STORAGE=513 - STORED=514 - STRING=515 - SUBJECT=516 - SUBPARTITION=517 - SUBPARTITIONS=518 - SUSPEND=519 - SWAPS=520 - SWITCHES=521 - TABLESPACE=522 - TEMPORARY=523 - TEMPTABLE=524 - THAN=525 - TRADITIONAL=526 - TRANSACTION=527 - TRIGGERS=528 - TRUNCATE=529 - UNDEFINED=530 - UNDOFILE=531 - UNDO_BUFFER_SIZE=532 - UNINSTALL=533 - UNKNOWN=534 - UNTIL=535 - UPGRADE=536 - USER=537 - USE_FRM=538 - USER_RESOURCES=539 - VALIDATION=540 - VALUE=541 - VARIABLES=542 - VIEW=543 - VIRTUAL=544 - WAIT=545 - WARNINGS=546 - WITHOUT=547 - WORK=548 - WRAPPER=549 - X509=550 - XA=551 - XML=552 - EUR=553 - USA=554 - JIS=555 - ISO=556 - INTERNAL=557 - QUARTER=558 - MONTH=559 - DAY=560 - HOUR=561 - MINUTE=562 - WEEK=563 - SECOND=564 - MICROSECOND=565 - TABLES=566 - ROUTINE=567 - EXECUTE=568 - FILE=569 - PROCESS=570 - RELOAD=571 - SHUTDOWN=572 - SUPER=573 - PRIVILEGES=574 - ARMSCII8=575 - ASCII=576 - BIG5=577 - CP1250=578 - CP1251=579 - CP1256=580 - CP1257=581 - CP850=582 - CP852=583 - CP866=584 - CP932=585 - DEC8=586 - EUCJPMS=587 - EUCKR=588 - GB2312=589 - GBK=590 - GEOSTD8=591 - GREEK=592 - HEBREW=593 - HP8=594 - KEYBCS2=595 - KOI8R=596 - KOI8U=597 - LATIN1=598 - LATIN2=599 - LATIN5=600 - LATIN7=601 - MACCE=602 - MACROMAN=603 - SJIS=604 - SWE7=605 - TIS620=606 - UCS2=607 - UJIS=608 - UTF16=609 - UTF16LE=610 - UTF32=611 - UTF8=612 - UTF8MB3=613 - UTF8MB4=614 - ARCHIVE=615 - BLACKHOLE=616 - CSV=617 - FEDERATED=618 - INNODB=619 - MEMORY=620 - MRG_MYISAM=621 - MYISAM=622 - NDB=623 - NDBCLUSTER=624 - PERFOMANCE_SCHEMA=625 - REPEATABLE=626 - COMMITTED=627 - UNCOMMITTED=628 - SERIALIZABLE=629 - GEOMETRYCOLLECTION=630 - LINESTRING=631 - MULTILINESTRING=632 - MULTIPOINT=633 - MULTIPOLYGON=634 - POINT=635 - POLYGON=636 - ABS=637 - ACOS=638 - ADDDATE=639 - ADDTIME=640 - AES_DECRYPT=641 - AES_ENCRYPT=642 - AREA=643 - ASBINARY=644 - ASIN=645 - ASTEXT=646 - ASWKB=647 - ASWKT=648 - ASYMMETRIC_DECRYPT=649 - ASYMMETRIC_DERIVE=650 - ASYMMETRIC_ENCRYPT=651 - ASYMMETRIC_SIGN=652 - ASYMMETRIC_VERIFY=653 - ATAN=654 - ATAN2=655 - BENCHMARK=656 - BIN=657 - BIT_COUNT=658 - BIT_LENGTH=659 - BUFFER=660 - CEIL=661 - CEILING=662 - CENTROID=663 - CHARACTER_LENGTH=664 - CHARSET=665 - CHAR_LENGTH=666 - COERCIBILITY=667 - COLLATION=668 - COMPRESS=669 - CONCAT=670 - CONCAT_WS=671 - CONNECTION_ID=672 - CONV=673 - CONVERT_TZ=674 - COS=675 - COT=676 - CRC32=677 - CREATE_ASYMMETRIC_PRIV_KEY=678 - CREATE_ASYMMETRIC_PUB_KEY=679 - CREATE_DH_PARAMETERS=680 - CREATE_DIGEST=681 - CROSSES=682 - DATEDIFF=683 - DATE_FORMAT=684 - DAYNAME=685 - DAYOFMONTH=686 - DAYOFWEEK=687 - DAYOFYEAR=688 - DECODE=689 - DEGREES=690 - DES_DECRYPT=691 - DES_ENCRYPT=692 - DIMENSION=693 - DISJOINT=694 - ELT=695 - ENCODE=696 - ENCRYPT=697 - ENDPOINT=698 - ENVELOPE=699 - EQUALS=700 - EXP=701 - EXPORT_SET=702 - EXTERIORRING=703 - EXTRACTVALUE=704 - FIELD=705 - FIND_IN_SET=706 - FLOOR=707 - FORMAT=708 - FOUND_ROWS=709 - FROM_BASE64=710 - FROM_DAYS=711 - FROM_UNIXTIME=712 - GEOMCOLLFROMTEXT=713 - GEOMCOLLFROMWKB=714 - GEOMETRYCOLLECTIONFROMTEXT=715 - GEOMETRYCOLLECTIONFROMWKB=716 - GEOMETRYFROMTEXT=717 - GEOMETRYFROMWKB=718 - GEOMETRYN=719 - GEOMETRYTYPE=720 - GEOMFROMTEXT=721 - GEOMFROMWKB=722 - GET_FORMAT=723 - GET_LOCK=724 - GLENGTH=725 - GREATEST=726 - GTID_SUBSET=727 - GTID_SUBTRACT=728 - HEX=729 - IFNULL=730 - INET6_ATON=731 - INET6_NTOA=732 - INET_ATON=733 - INET_NTOA=734 - INSTR=735 - INTERIORRINGN=736 - INTERSECTS=737 - ISCLOSED=738 - ISEMPTY=739 - ISNULL=740 - ISSIMPLE=741 - IS_FREE_LOCK=742 - IS_IPV4=743 - IS_IPV4_COMPAT=744 - IS_IPV4_MAPPED=745 - IS_IPV6=746 - IS_USED_LOCK=747 - LAST_INSERT_ID=748 - LCASE=749 - LEAST=750 - LENGTH=751 - LINEFROMTEXT=752 - LINEFROMWKB=753 - LINESTRINGFROMTEXT=754 - LINESTRINGFROMWKB=755 - LN=756 - LOAD_FILE=757 - LOCATE=758 - LOG=759 - LOG10=760 - LOG2=761 - LOWER=762 - LPAD=763 - LTRIM=764 - MAKEDATE=765 - MAKETIME=766 - MAKE_SET=767 - MASTER_POS_WAIT=768 - MBRCONTAINS=769 - MBRDISJOINT=770 - MBREQUAL=771 - MBRINTERSECTS=772 - MBROVERLAPS=773 - MBRTOUCHES=774 - MBRWITHIN=775 - MD5=776 - MLINEFROMTEXT=777 - MLINEFROMWKB=778 - MONTHNAME=779 - MPOINTFROMTEXT=780 - MPOINTFROMWKB=781 - MPOLYFROMTEXT=782 - MPOLYFROMWKB=783 - MULTILINESTRINGFROMTEXT=784 - MULTILINESTRINGFROMWKB=785 - MULTIPOINTFROMTEXT=786 - MULTIPOINTFROMWKB=787 - MULTIPOLYGONFROMTEXT=788 - MULTIPOLYGONFROMWKB=789 - NAME_CONST=790 - NULLIF=791 - NUMGEOMETRIES=792 - NUMINTERIORRINGS=793 - NUMPOINTS=794 - OCT=795 - OCTET_LENGTH=796 - ORD=797 - OVERLAPS=798 - PERIOD_ADD=799 - PERIOD_DIFF=800 - PI=801 - POINTFROMTEXT=802 - POINTFROMWKB=803 - POINTN=804 - POLYFROMTEXT=805 - POLYFROMWKB=806 - POLYGONFROMTEXT=807 - POLYGONFROMWKB=808 - POW=809 - POWER=810 - QUOTE=811 - RADIANS=812 - RAND=813 - RANDOM_BYTES=814 - RELEASE_LOCK=815 - REVERSE=816 - ROUND=817 - ROW_COUNT=818 - RPAD=819 - RTRIM=820 - SEC_TO_TIME=821 - SESSION_USER=822 - SHA=823 - SHA1=824 - SHA2=825 - SIGN=826 - SIN=827 - SLEEP=828 - SOUNDEX=829 - SQL_THREAD_WAIT_AFTER_GTIDS=830 - SQRT=831 - SRID=832 - STARTPOINT=833 - STRCMP=834 - STR_TO_DATE=835 - ST_AREA=836 - ST_ASBINARY=837 - ST_ASTEXT=838 - ST_ASWKB=839 - ST_ASWKT=840 - ST_BUFFER=841 - ST_CENTROID=842 - ST_CONTAINS=843 - ST_CROSSES=844 - ST_DIFFERENCE=845 - ST_DIMENSION=846 - ST_DISJOINT=847 - ST_DISTANCE=848 - ST_ENDPOINT=849 - ST_ENVELOPE=850 - ST_EQUALS=851 - ST_EXTERIORRING=852 - ST_GEOMCOLLFROMTEXT=853 - ST_GEOMCOLLFROMTXT=854 - ST_GEOMCOLLFROMWKB=855 - ST_GEOMETRYCOLLECTIONFROMTEXT=856 - ST_GEOMETRYCOLLECTIONFROMWKB=857 - ST_GEOMETRYFROMTEXT=858 - ST_GEOMETRYFROMWKB=859 - ST_GEOMETRYN=860 - ST_GEOMETRYTYPE=861 - ST_GEOMFROMTEXT=862 - ST_GEOMFROMWKB=863 - ST_INTERIORRINGN=864 - ST_INTERSECTION=865 - ST_INTERSECTS=866 - ST_ISCLOSED=867 - ST_ISEMPTY=868 - ST_ISSIMPLE=869 - ST_LINEFROMTEXT=870 - ST_LINEFROMWKB=871 - ST_LINESTRINGFROMTEXT=872 - ST_LINESTRINGFROMWKB=873 - ST_NUMGEOMETRIES=874 - ST_NUMINTERIORRING=875 - ST_NUMINTERIORRINGS=876 - ST_NUMPOINTS=877 - ST_OVERLAPS=878 - ST_POINTFROMTEXT=879 - ST_POINTFROMWKB=880 - ST_POINTN=881 - ST_POLYFROMTEXT=882 - ST_POLYFROMWKB=883 - ST_POLYGONFROMTEXT=884 - ST_POLYGONFROMWKB=885 - ST_SRID=886 - ST_STARTPOINT=887 - ST_SYMDIFFERENCE=888 - ST_TOUCHES=889 - ST_UNION=890 - ST_WITHIN=891 - ST_X=892 - ST_Y=893 - SUBDATE=894 - SUBSTRING_INDEX=895 - SUBTIME=896 - SYSTEM_USER=897 - TAN=898 - TIMEDIFF=899 - TIMESTAMPADD=900 - TIMESTAMPDIFF=901 - TIME_FORMAT=902 - TIME_TO_SEC=903 - TOUCHES=904 - TO_BASE64=905 - TO_DAYS=906 - TO_SECONDS=907 - UCASE=908 - UNCOMPRESS=909 - UNCOMPRESSED_LENGTH=910 - UNHEX=911 - UNIX_TIMESTAMP=912 - UPDATEXML=913 - UPPER=914 - UUID=915 - UUID_SHORT=916 - VALIDATE_PASSWORD_STRENGTH=917 - VERSION=918 - WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS=919 - WEEKDAY=920 - WEEKOFYEAR=921 - WEIGHT_STRING=922 - WITHIN=923 - YEARWEEK=924 - Y_FUNCTION=925 - X_FUNCTION=926 - VAR_ASSIGN=927 - PLUS_ASSIGN=928 - MINUS_ASSIGN=929 - MULT_ASSIGN=930 - DIV_ASSIGN=931 - MOD_ASSIGN=932 - AND_ASSIGN=933 - XOR_ASSIGN=934 - OR_ASSIGN=935 - STAR=936 - DIVIDE=937 - MODULE=938 - PLUS=939 - MINUSMINUS=940 - MINUS=941 - DIV=942 - MOD=943 - EQUAL_SYMBOL=944 - GREATER_SYMBOL=945 - LESS_SYMBOL=946 - EXCLAMATION_SYMBOL=947 - BIT_NOT_OP=948 - BIT_OR_OP=949 - BIT_AND_OP=950 - BIT_XOR_OP=951 - DOT=952 - LR_BRACKET=953 - RR_BRACKET=954 - COMMA=955 - SEMI=956 - AT_SIGN=957 - ZERO_DECIMAL=958 - ONE_DECIMAL=959 - TWO_DECIMAL=960 - SINGLE_QUOTE_SYMB=961 - DOUBLE_QUOTE_SYMB=962 - REVERSE_QUOTE_SYMB=963 - COLON_SYMB=964 - CHARSET_REVERSE_QOUTE_STRING=965 - FILESIZE_LITERAL=966 - START_NATIONAL_STRING_LITERAL=967 - STRING_LITERAL=968 - DECIMAL_LITERAL=969 - HEXADECIMAL_LITERAL=970 - REAL_LITERAL=971 - NULL_SPEC_LITERAL=972 - BIT_STRING=973 - STRING_CHARSET_NAME=974 - DOT_ID=975 - ID=976 - REVERSE_QUOTE_ID=977 - STRING_USER_NAME=978 - LOCAL_ID=979 - GLOBAL_ID=980 - ERROR_RECONGNIGION=981 - - def __init__(self, input:TokenStream, output:TextIO = sys.stdout): - super().__init__(input, output) - self.checkVersion("4.7.1") - self._interp = ParserATNSimulator(self, self.atn, self.decisionsToDFA, self.sharedContextCache) - self._predicates = None - - - - class RootContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def EOF(self): - return self.getToken(frameQLParser.EOF, 0) - - def sqlStatements(self): - return self.getTypedRuleContext(frameQLParser.SqlStatementsContext,0) - - - def MINUSMINUS(self): - return self.getToken(frameQLParser.MINUSMINUS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_root - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRoot" ): - listener.enterRoot(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRoot" ): - listener.exitRoot(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitRoot" ): - return visitor.visitRoot(self) - else: - return visitor.visitChildren(self) - - - - - def root(self): - - localctx = frameQLParser.RootContext(self, self._ctx, self.state) - self.enterRule(localctx, 0, self.RULE_root) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 621 - self._errHandler.sync(self) - _la = self._input.LA(1) - if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << frameQLParser.ALTER) | (1 << frameQLParser.ANALYZE) | (1 << frameQLParser.CALL) | (1 << frameQLParser.CHANGE) | (1 << frameQLParser.CHECK) | (1 << frameQLParser.CREATE) | (1 << frameQLParser.DELETE) | (1 << frameQLParser.DESC) | (1 << frameQLParser.DESCRIBE) | (1 << frameQLParser.DROP) | (1 << frameQLParser.EXPLAIN))) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & ((1 << (frameQLParser.GRANT - 64)) | (1 << (frameQLParser.INSERT - 64)) | (1 << (frameQLParser.KILL - 64)) | (1 << (frameQLParser.LOAD - 64)) | (1 << (frameQLParser.LOCK - 64)) | (1 << (frameQLParser.OPTIMIZE - 64)) | (1 << (frameQLParser.PURGE - 64)) | (1 << (frameQLParser.RELEASE - 64)) | (1 << (frameQLParser.RENAME - 64)) | (1 << (frameQLParser.REPLACE - 64)))) != 0) or ((((_la - 129)) & ~0x3f) == 0 and ((1 << (_la - 129)) & ((1 << (frameQLParser.REVOKE - 129)) | (1 << (frameQLParser.SELECT - 129)) | (1 << (frameQLParser.SET - 129)) | (1 << (frameQLParser.SHOW - 129)) | (1 << (frameQLParser.UNLOCK - 129)) | (1 << (frameQLParser.UPDATE - 129)) | (1 << (frameQLParser.USE - 129)))) != 0) or ((((_la - 262)) & ~0x3f) == 0 and ((1 << (_la - 262)) & ((1 << (frameQLParser.BEGIN - 262)) | (1 << (frameQLParser.BINLOG - 262)) | (1 << (frameQLParser.CACHE - 262)) | (1 << (frameQLParser.CHECKSUM - 262)) | (1 << (frameQLParser.COMMIT - 262)) | (1 << (frameQLParser.DEALLOCATE - 262)) | (1 << (frameQLParser.DO - 262)))) != 0) or ((((_la - 337)) & ~0x3f) == 0 and ((1 << (_la - 337)) & ((1 << (frameQLParser.FLUSH - 337)) | (1 << (frameQLParser.HANDLER - 337)) | (1 << (frameQLParser.HELP - 337)) | (1 << (frameQLParser.INSTALL - 337)))) != 0) or ((((_la - 445)) & ~0x3f) == 0 and ((1 << (_la - 445)) & ((1 << (frameQLParser.PREPARE - 445)) | (1 << (frameQLParser.REPAIR - 445)) | (1 << (frameQLParser.RESET - 445)) | (1 << (frameQLParser.ROLLBACK - 445)) | (1 << (frameQLParser.SAVEPOINT - 445)) | (1 << (frameQLParser.START - 445)))) != 0) or ((((_la - 512)) & ~0x3f) == 0 and ((1 << (_la - 512)) & ((1 << (frameQLParser.STOP - 512)) | (1 << (frameQLParser.TRUNCATE - 512)) | (1 << (frameQLParser.UNINSTALL - 512)) | (1 << (frameQLParser.XA - 512)) | (1 << (frameQLParser.EXECUTE - 512)) | (1 << (frameQLParser.SHUTDOWN - 512)))) != 0) or _la==frameQLParser.LR_BRACKET or _la==frameQLParser.SEMI: - self.state = 620 - self.sqlStatements() - - - self.state = 624 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.MINUSMINUS: - self.state = 623 - self.match(frameQLParser.MINUSMINUS) - - - self.state = 626 - self.match(frameQLParser.EOF) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SqlStatementsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def sqlStatement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SqlStatementContext) - else: - return self.getTypedRuleContext(frameQLParser.SqlStatementContext,i) - - - def emptyStatement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.EmptyStatementContext) - else: - return self.getTypedRuleContext(frameQLParser.EmptyStatementContext,i) - - - def SEMI(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.SEMI) - else: - return self.getToken(frameQLParser.SEMI, i) - - def MINUSMINUS(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.MINUSMINUS) - else: - return self.getToken(frameQLParser.MINUSMINUS, i) - - def getRuleIndex(self): - return frameQLParser.RULE_sqlStatements - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSqlStatements" ): - listener.enterSqlStatements(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSqlStatements" ): - listener.exitSqlStatements(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSqlStatements" ): - return visitor.visitSqlStatements(self) - else: - return visitor.visitChildren(self) - - - - - def sqlStatements(self): - - localctx = frameQLParser.SqlStatementsContext(self, self._ctx, self.state) - self.enterRule(localctx, 2, self.RULE_sqlStatements) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 637 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,4,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 635 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ALTER, frameQLParser.ANALYZE, frameQLParser.CALL, frameQLParser.CHANGE, frameQLParser.CHECK, frameQLParser.CREATE, frameQLParser.DELETE, frameQLParser.DESC, frameQLParser.DESCRIBE, frameQLParser.DROP, frameQLParser.EXPLAIN, frameQLParser.GRANT, frameQLParser.INSERT, frameQLParser.KILL, frameQLParser.LOAD, frameQLParser.LOCK, frameQLParser.OPTIMIZE, frameQLParser.PURGE, frameQLParser.RELEASE, frameQLParser.RENAME, frameQLParser.REPLACE, frameQLParser.REVOKE, frameQLParser.SELECT, frameQLParser.SET, frameQLParser.SHOW, frameQLParser.UNLOCK, frameQLParser.UPDATE, frameQLParser.USE, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.CACHE, frameQLParser.CHECKSUM, frameQLParser.COMMIT, frameQLParser.DEALLOCATE, frameQLParser.DO, frameQLParser.FLUSH, frameQLParser.HANDLER, frameQLParser.HELP, frameQLParser.INSTALL, frameQLParser.PREPARE, frameQLParser.REPAIR, frameQLParser.RESET, frameQLParser.ROLLBACK, frameQLParser.SAVEPOINT, frameQLParser.START, frameQLParser.STOP, frameQLParser.TRUNCATE, frameQLParser.UNINSTALL, frameQLParser.XA, frameQLParser.EXECUTE, frameQLParser.SHUTDOWN, frameQLParser.LR_BRACKET]: - self.state = 628 - self.sqlStatement() - self.state = 630 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.MINUSMINUS: - self.state = 629 - self.match(frameQLParser.MINUSMINUS) - - - self.state = 632 - self.match(frameQLParser.SEMI) - pass - elif token in [frameQLParser.SEMI]: - self.state = 634 - self.emptyStatement() - pass - else: - raise NoViableAltException(self) - - self.state = 639 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,4,self._ctx) - - self.state = 648 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ALTER, frameQLParser.ANALYZE, frameQLParser.CALL, frameQLParser.CHANGE, frameQLParser.CHECK, frameQLParser.CREATE, frameQLParser.DELETE, frameQLParser.DESC, frameQLParser.DESCRIBE, frameQLParser.DROP, frameQLParser.EXPLAIN, frameQLParser.GRANT, frameQLParser.INSERT, frameQLParser.KILL, frameQLParser.LOAD, frameQLParser.LOCK, frameQLParser.OPTIMIZE, frameQLParser.PURGE, frameQLParser.RELEASE, frameQLParser.RENAME, frameQLParser.REPLACE, frameQLParser.REVOKE, frameQLParser.SELECT, frameQLParser.SET, frameQLParser.SHOW, frameQLParser.UNLOCK, frameQLParser.UPDATE, frameQLParser.USE, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.CACHE, frameQLParser.CHECKSUM, frameQLParser.COMMIT, frameQLParser.DEALLOCATE, frameQLParser.DO, frameQLParser.FLUSH, frameQLParser.HANDLER, frameQLParser.HELP, frameQLParser.INSTALL, frameQLParser.PREPARE, frameQLParser.REPAIR, frameQLParser.RESET, frameQLParser.ROLLBACK, frameQLParser.SAVEPOINT, frameQLParser.START, frameQLParser.STOP, frameQLParser.TRUNCATE, frameQLParser.UNINSTALL, frameQLParser.XA, frameQLParser.EXECUTE, frameQLParser.SHUTDOWN, frameQLParser.LR_BRACKET]: - self.state = 640 - self.sqlStatement() - self.state = 645 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,6,self._ctx) - if la_ == 1: - self.state = 642 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.MINUSMINUS: - self.state = 641 - self.match(frameQLParser.MINUSMINUS) - - - self.state = 644 - self.match(frameQLParser.SEMI) - - - pass - elif token in [frameQLParser.SEMI]: - self.state = 647 - self.emptyStatement() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SqlStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ddlStatement(self): - return self.getTypedRuleContext(frameQLParser.DdlStatementContext,0) - - - def dmlStatement(self): - return self.getTypedRuleContext(frameQLParser.DmlStatementContext,0) - - - def transactionStatement(self): - return self.getTypedRuleContext(frameQLParser.TransactionStatementContext,0) - - - def replicationStatement(self): - return self.getTypedRuleContext(frameQLParser.ReplicationStatementContext,0) - - - def preparedStatement(self): - return self.getTypedRuleContext(frameQLParser.PreparedStatementContext,0) - - - def administrationStatement(self): - return self.getTypedRuleContext(frameQLParser.AdministrationStatementContext,0) - - - def utilityStatement(self): - return self.getTypedRuleContext(frameQLParser.UtilityStatementContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_sqlStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSqlStatement" ): - listener.enterSqlStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSqlStatement" ): - listener.exitSqlStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSqlStatement" ): - return visitor.visitSqlStatement(self) - else: - return visitor.visitChildren(self) - - - - - def sqlStatement(self): - - localctx = frameQLParser.SqlStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 4, self.RULE_sqlStatement) - try: - self.state = 657 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,8,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 650 - self.ddlStatement() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 651 - self.dmlStatement() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 652 - self.transactionStatement() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 653 - self.replicationStatement() - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 654 - self.preparedStatement() - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 655 - self.administrationStatement() - pass - - elif la_ == 7: - self.enterOuterAlt(localctx, 7) - self.state = 656 - self.utilityStatement() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class EmptyStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def SEMI(self): - return self.getToken(frameQLParser.SEMI, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_emptyStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterEmptyStatement" ): - listener.enterEmptyStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitEmptyStatement" ): - listener.exitEmptyStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitEmptyStatement" ): - return visitor.visitEmptyStatement(self) - else: - return visitor.visitChildren(self) - - - - - def emptyStatement(self): - - localctx = frameQLParser.EmptyStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 6, self.RULE_emptyStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 659 - self.match(frameQLParser.SEMI) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DdlStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def createDatabase(self): - return self.getTypedRuleContext(frameQLParser.CreateDatabaseContext,0) - - - def createEvent(self): - return self.getTypedRuleContext(frameQLParser.CreateEventContext,0) - - - def createIndex(self): - return self.getTypedRuleContext(frameQLParser.CreateIndexContext,0) - - - def createLogfileGroup(self): - return self.getTypedRuleContext(frameQLParser.CreateLogfileGroupContext,0) - - - def createProcedure(self): - return self.getTypedRuleContext(frameQLParser.CreateProcedureContext,0) - - - def createFunction(self): - return self.getTypedRuleContext(frameQLParser.CreateFunctionContext,0) - - - def createServer(self): - return self.getTypedRuleContext(frameQLParser.CreateServerContext,0) - - - def createTable(self): - return self.getTypedRuleContext(frameQLParser.CreateTableContext,0) - - - def createTablespaceInnodb(self): - return self.getTypedRuleContext(frameQLParser.CreateTablespaceInnodbContext,0) - - - def createTablespaceNdb(self): - return self.getTypedRuleContext(frameQLParser.CreateTablespaceNdbContext,0) - - - def createTrigger(self): - return self.getTypedRuleContext(frameQLParser.CreateTriggerContext,0) - - - def createView(self): - return self.getTypedRuleContext(frameQLParser.CreateViewContext,0) - - - def alterDatabase(self): - return self.getTypedRuleContext(frameQLParser.AlterDatabaseContext,0) - - - def alterEvent(self): - return self.getTypedRuleContext(frameQLParser.AlterEventContext,0) - - - def alterFunction(self): - return self.getTypedRuleContext(frameQLParser.AlterFunctionContext,0) - - - def alterInstance(self): - return self.getTypedRuleContext(frameQLParser.AlterInstanceContext,0) - - - def alterLogfileGroup(self): - return self.getTypedRuleContext(frameQLParser.AlterLogfileGroupContext,0) - - - def alterProcedure(self): - return self.getTypedRuleContext(frameQLParser.AlterProcedureContext,0) - - - def alterServer(self): - return self.getTypedRuleContext(frameQLParser.AlterServerContext,0) - - - def alterTable(self): - return self.getTypedRuleContext(frameQLParser.AlterTableContext,0) - - - def alterTablespace(self): - return self.getTypedRuleContext(frameQLParser.AlterTablespaceContext,0) - - - def alterView(self): - return self.getTypedRuleContext(frameQLParser.AlterViewContext,0) - - - def dropDatabase(self): - return self.getTypedRuleContext(frameQLParser.DropDatabaseContext,0) - - - def dropEvent(self): - return self.getTypedRuleContext(frameQLParser.DropEventContext,0) - - - def dropIndex(self): - return self.getTypedRuleContext(frameQLParser.DropIndexContext,0) - - - def dropLogfileGroup(self): - return self.getTypedRuleContext(frameQLParser.DropLogfileGroupContext,0) - - - def dropProcedure(self): - return self.getTypedRuleContext(frameQLParser.DropProcedureContext,0) - - - def dropFunction(self): - return self.getTypedRuleContext(frameQLParser.DropFunctionContext,0) - - - def dropServer(self): - return self.getTypedRuleContext(frameQLParser.DropServerContext,0) - - - def dropTable(self): - return self.getTypedRuleContext(frameQLParser.DropTableContext,0) - - - def dropTablespace(self): - return self.getTypedRuleContext(frameQLParser.DropTablespaceContext,0) - - - def dropTrigger(self): - return self.getTypedRuleContext(frameQLParser.DropTriggerContext,0) - - - def dropView(self): - return self.getTypedRuleContext(frameQLParser.DropViewContext,0) - - - def renameTable(self): - return self.getTypedRuleContext(frameQLParser.RenameTableContext,0) - - - def truncateTable(self): - return self.getTypedRuleContext(frameQLParser.TruncateTableContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_ddlStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDdlStatement" ): - listener.enterDdlStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDdlStatement" ): - listener.exitDdlStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDdlStatement" ): - return visitor.visitDdlStatement(self) - else: - return visitor.visitChildren(self) - - - - - def ddlStatement(self): - - localctx = frameQLParser.DdlStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 8, self.RULE_ddlStatement) - try: - self.state = 696 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,9,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 661 - self.createDatabase() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 662 - self.createEvent() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 663 - self.createIndex() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 664 - self.createLogfileGroup() - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 665 - self.createProcedure() - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 666 - self.createFunction() - pass - - elif la_ == 7: - self.enterOuterAlt(localctx, 7) - self.state = 667 - self.createServer() - pass - - elif la_ == 8: - self.enterOuterAlt(localctx, 8) - self.state = 668 - self.createTable() - pass - - elif la_ == 9: - self.enterOuterAlt(localctx, 9) - self.state = 669 - self.createTablespaceInnodb() - pass - - elif la_ == 10: - self.enterOuterAlt(localctx, 10) - self.state = 670 - self.createTablespaceNdb() - pass - - elif la_ == 11: - self.enterOuterAlt(localctx, 11) - self.state = 671 - self.createTrigger() - pass - - elif la_ == 12: - self.enterOuterAlt(localctx, 12) - self.state = 672 - self.createView() - pass - - elif la_ == 13: - self.enterOuterAlt(localctx, 13) - self.state = 673 - self.alterDatabase() - pass - - elif la_ == 14: - self.enterOuterAlt(localctx, 14) - self.state = 674 - self.alterEvent() - pass - - elif la_ == 15: - self.enterOuterAlt(localctx, 15) - self.state = 675 - self.alterFunction() - pass - - elif la_ == 16: - self.enterOuterAlt(localctx, 16) - self.state = 676 - self.alterInstance() - pass - - elif la_ == 17: - self.enterOuterAlt(localctx, 17) - self.state = 677 - self.alterLogfileGroup() - pass - - elif la_ == 18: - self.enterOuterAlt(localctx, 18) - self.state = 678 - self.alterProcedure() - pass - - elif la_ == 19: - self.enterOuterAlt(localctx, 19) - self.state = 679 - self.alterServer() - pass - - elif la_ == 20: - self.enterOuterAlt(localctx, 20) - self.state = 680 - self.alterTable() - pass - - elif la_ == 21: - self.enterOuterAlt(localctx, 21) - self.state = 681 - self.alterTablespace() - pass - - elif la_ == 22: - self.enterOuterAlt(localctx, 22) - self.state = 682 - self.alterView() - pass - - elif la_ == 23: - self.enterOuterAlt(localctx, 23) - self.state = 683 - self.dropDatabase() - pass - - elif la_ == 24: - self.enterOuterAlt(localctx, 24) - self.state = 684 - self.dropEvent() - pass - - elif la_ == 25: - self.enterOuterAlt(localctx, 25) - self.state = 685 - self.dropIndex() - pass - - elif la_ == 26: - self.enterOuterAlt(localctx, 26) - self.state = 686 - self.dropLogfileGroup() - pass - - elif la_ == 27: - self.enterOuterAlt(localctx, 27) - self.state = 687 - self.dropProcedure() - pass - - elif la_ == 28: - self.enterOuterAlt(localctx, 28) - self.state = 688 - self.dropFunction() - pass - - elif la_ == 29: - self.enterOuterAlt(localctx, 29) - self.state = 689 - self.dropServer() - pass - - elif la_ == 30: - self.enterOuterAlt(localctx, 30) - self.state = 690 - self.dropTable() - pass - - elif la_ == 31: - self.enterOuterAlt(localctx, 31) - self.state = 691 - self.dropTablespace() - pass - - elif la_ == 32: - self.enterOuterAlt(localctx, 32) - self.state = 692 - self.dropTrigger() - pass - - elif la_ == 33: - self.enterOuterAlt(localctx, 33) - self.state = 693 - self.dropView() - pass - - elif la_ == 34: - self.enterOuterAlt(localctx, 34) - self.state = 694 - self.renameTable() - pass - - elif la_ == 35: - self.enterOuterAlt(localctx, 35) - self.state = 695 - self.truncateTable() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DmlStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - - def insertStatement(self): - return self.getTypedRuleContext(frameQLParser.InsertStatementContext,0) - - - def updateStatement(self): - return self.getTypedRuleContext(frameQLParser.UpdateStatementContext,0) - - - def deleteStatement(self): - return self.getTypedRuleContext(frameQLParser.DeleteStatementContext,0) - - - def replaceStatement(self): - return self.getTypedRuleContext(frameQLParser.ReplaceStatementContext,0) - - - def callStatement(self): - return self.getTypedRuleContext(frameQLParser.CallStatementContext,0) - - - def loadDataStatement(self): - return self.getTypedRuleContext(frameQLParser.LoadDataStatementContext,0) - - - def loadXmlStatement(self): - return self.getTypedRuleContext(frameQLParser.LoadXmlStatementContext,0) - - - def doStatement(self): - return self.getTypedRuleContext(frameQLParser.DoStatementContext,0) - - - def handlerStatement(self): - return self.getTypedRuleContext(frameQLParser.HandlerStatementContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_dmlStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDmlStatement" ): - listener.enterDmlStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDmlStatement" ): - listener.exitDmlStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDmlStatement" ): - return visitor.visitDmlStatement(self) - else: - return visitor.visitChildren(self) - - - - - def dmlStatement(self): - - localctx = frameQLParser.DmlStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 10, self.RULE_dmlStatement) - try: - self.state = 708 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,10,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 698 - self.selectStatement() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 699 - self.insertStatement() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 700 - self.updateStatement() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 701 - self.deleteStatement() - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 702 - self.replaceStatement() - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 703 - self.callStatement() - pass - - elif la_ == 7: - self.enterOuterAlt(localctx, 7) - self.state = 704 - self.loadDataStatement() - pass - - elif la_ == 8: - self.enterOuterAlt(localctx, 8) - self.state = 705 - self.loadXmlStatement() - pass - - elif la_ == 9: - self.enterOuterAlt(localctx, 9) - self.state = 706 - self.doStatement() - pass - - elif la_ == 10: - self.enterOuterAlt(localctx, 10) - self.state = 707 - self.handlerStatement() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class TransactionStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def startTransaction(self): - return self.getTypedRuleContext(frameQLParser.StartTransactionContext,0) - - - def beginWork(self): - return self.getTypedRuleContext(frameQLParser.BeginWorkContext,0) - - - def commitWork(self): - return self.getTypedRuleContext(frameQLParser.CommitWorkContext,0) - - - def rollbackWork(self): - return self.getTypedRuleContext(frameQLParser.RollbackWorkContext,0) - - - def savepointStatement(self): - return self.getTypedRuleContext(frameQLParser.SavepointStatementContext,0) - - - def rollbackStatement(self): - return self.getTypedRuleContext(frameQLParser.RollbackStatementContext,0) - - - def releaseStatement(self): - return self.getTypedRuleContext(frameQLParser.ReleaseStatementContext,0) - - - def lockTables(self): - return self.getTypedRuleContext(frameQLParser.LockTablesContext,0) - - - def unlockTables(self): - return self.getTypedRuleContext(frameQLParser.UnlockTablesContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_transactionStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTransactionStatement" ): - listener.enterTransactionStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTransactionStatement" ): - listener.exitTransactionStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTransactionStatement" ): - return visitor.visitTransactionStatement(self) - else: - return visitor.visitChildren(self) - - - - - def transactionStatement(self): - - localctx = frameQLParser.TransactionStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 12, self.RULE_transactionStatement) - try: - self.state = 719 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,11,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 710 - self.startTransaction() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 711 - self.beginWork() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 712 - self.commitWork() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 713 - self.rollbackWork() - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 714 - self.savepointStatement() - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 715 - self.rollbackStatement() - pass - - elif la_ == 7: - self.enterOuterAlt(localctx, 7) - self.state = 716 - self.releaseStatement() - pass - - elif la_ == 8: - self.enterOuterAlt(localctx, 8) - self.state = 717 - self.lockTables() - pass - - elif la_ == 9: - self.enterOuterAlt(localctx, 9) - self.state = 718 - self.unlockTables() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ReplicationStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def changeMaster(self): - return self.getTypedRuleContext(frameQLParser.ChangeMasterContext,0) - - - def changeReplicationFilter(self): - return self.getTypedRuleContext(frameQLParser.ChangeReplicationFilterContext,0) - - - def purgeBinaryLogs(self): - return self.getTypedRuleContext(frameQLParser.PurgeBinaryLogsContext,0) - - - def resetMaster(self): - return self.getTypedRuleContext(frameQLParser.ResetMasterContext,0) - - - def resetSlave(self): - return self.getTypedRuleContext(frameQLParser.ResetSlaveContext,0) - - - def startSlave(self): - return self.getTypedRuleContext(frameQLParser.StartSlaveContext,0) - - - def stopSlave(self): - return self.getTypedRuleContext(frameQLParser.StopSlaveContext,0) - - - def startGroupReplication(self): - return self.getTypedRuleContext(frameQLParser.StartGroupReplicationContext,0) - - - def stopGroupReplication(self): - return self.getTypedRuleContext(frameQLParser.StopGroupReplicationContext,0) - - - def xaStartTransaction(self): - return self.getTypedRuleContext(frameQLParser.XaStartTransactionContext,0) - - - def xaEndTransaction(self): - return self.getTypedRuleContext(frameQLParser.XaEndTransactionContext,0) - - - def xaPrepareStatement(self): - return self.getTypedRuleContext(frameQLParser.XaPrepareStatementContext,0) - - - def xaCommitWork(self): - return self.getTypedRuleContext(frameQLParser.XaCommitWorkContext,0) - - - def xaRollbackWork(self): - return self.getTypedRuleContext(frameQLParser.XaRollbackWorkContext,0) - - - def xaRecoverWork(self): - return self.getTypedRuleContext(frameQLParser.XaRecoverWorkContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_replicationStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterReplicationStatement" ): - listener.enterReplicationStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitReplicationStatement" ): - listener.exitReplicationStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitReplicationStatement" ): - return visitor.visitReplicationStatement(self) - else: - return visitor.visitChildren(self) - - - - - def replicationStatement(self): - - localctx = frameQLParser.ReplicationStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 14, self.RULE_replicationStatement) - try: - self.state = 736 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,12,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 721 - self.changeMaster() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 722 - self.changeReplicationFilter() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 723 - self.purgeBinaryLogs() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 724 - self.resetMaster() - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 725 - self.resetSlave() - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 726 - self.startSlave() - pass - - elif la_ == 7: - self.enterOuterAlt(localctx, 7) - self.state = 727 - self.stopSlave() - pass - - elif la_ == 8: - self.enterOuterAlt(localctx, 8) - self.state = 728 - self.startGroupReplication() - pass - - elif la_ == 9: - self.enterOuterAlt(localctx, 9) - self.state = 729 - self.stopGroupReplication() - pass - - elif la_ == 10: - self.enterOuterAlt(localctx, 10) - self.state = 730 - self.xaStartTransaction() - pass - - elif la_ == 11: - self.enterOuterAlt(localctx, 11) - self.state = 731 - self.xaEndTransaction() - pass - - elif la_ == 12: - self.enterOuterAlt(localctx, 12) - self.state = 732 - self.xaPrepareStatement() - pass - - elif la_ == 13: - self.enterOuterAlt(localctx, 13) - self.state = 733 - self.xaCommitWork() - pass - - elif la_ == 14: - self.enterOuterAlt(localctx, 14) - self.state = 734 - self.xaRollbackWork() - pass - - elif la_ == 15: - self.enterOuterAlt(localctx, 15) - self.state = 735 - self.xaRecoverWork() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class PreparedStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def prepareStatement(self): - return self.getTypedRuleContext(frameQLParser.PrepareStatementContext,0) - - - def executeStatement(self): - return self.getTypedRuleContext(frameQLParser.ExecuteStatementContext,0) - - - def deallocatePrepare(self): - return self.getTypedRuleContext(frameQLParser.DeallocatePrepareContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_preparedStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPreparedStatement" ): - listener.enterPreparedStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPreparedStatement" ): - listener.exitPreparedStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPreparedStatement" ): - return visitor.visitPreparedStatement(self) - else: - return visitor.visitChildren(self) - - - - - def preparedStatement(self): - - localctx = frameQLParser.PreparedStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 16, self.RULE_preparedStatement) - try: - self.state = 741 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.PREPARE]: - self.enterOuterAlt(localctx, 1) - self.state = 738 - self.prepareStatement() - pass - elif token in [frameQLParser.EXECUTE]: - self.enterOuterAlt(localctx, 2) - self.state = 739 - self.executeStatement() - pass - elif token in [frameQLParser.DROP, frameQLParser.DEALLOCATE]: - self.enterOuterAlt(localctx, 3) - self.state = 740 - self.deallocatePrepare() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CompoundStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def blockStatement(self): - return self.getTypedRuleContext(frameQLParser.BlockStatementContext,0) - - - def caseStatement(self): - return self.getTypedRuleContext(frameQLParser.CaseStatementContext,0) - - - def ifStatement(self): - return self.getTypedRuleContext(frameQLParser.IfStatementContext,0) - - - def leaveStatement(self): - return self.getTypedRuleContext(frameQLParser.LeaveStatementContext,0) - - - def loopStatement(self): - return self.getTypedRuleContext(frameQLParser.LoopStatementContext,0) - - - def repeatStatement(self): - return self.getTypedRuleContext(frameQLParser.RepeatStatementContext,0) - - - def whileStatement(self): - return self.getTypedRuleContext(frameQLParser.WhileStatementContext,0) - - - def iterateStatement(self): - return self.getTypedRuleContext(frameQLParser.IterateStatementContext,0) - - - def returnStatement(self): - return self.getTypedRuleContext(frameQLParser.ReturnStatementContext,0) - - - def cursorStatement(self): - return self.getTypedRuleContext(frameQLParser.CursorStatementContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_compoundStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCompoundStatement" ): - listener.enterCompoundStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCompoundStatement" ): - listener.exitCompoundStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCompoundStatement" ): - return visitor.visitCompoundStatement(self) - else: - return visitor.visitChildren(self) - - - - - def compoundStatement(self): - - localctx = frameQLParser.CompoundStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 18, self.RULE_compoundStatement) - try: - self.state = 753 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,14,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 743 - self.blockStatement() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 744 - self.caseStatement() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 745 - self.ifStatement() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 746 - self.leaveStatement() - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 747 - self.loopStatement() - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 748 - self.repeatStatement() - pass - - elif la_ == 7: - self.enterOuterAlt(localctx, 7) - self.state = 749 - self.whileStatement() - pass - - elif la_ == 8: - self.enterOuterAlt(localctx, 8) - self.state = 750 - self.iterateStatement() - pass - - elif la_ == 9: - self.enterOuterAlt(localctx, 9) - self.state = 751 - self.returnStatement() - pass - - elif la_ == 10: - self.enterOuterAlt(localctx, 10) - self.state = 752 - self.cursorStatement() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class AdministrationStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def alterUser(self): - return self.getTypedRuleContext(frameQLParser.AlterUserContext,0) - - - def createUser(self): - return self.getTypedRuleContext(frameQLParser.CreateUserContext,0) - - - def dropUser(self): - return self.getTypedRuleContext(frameQLParser.DropUserContext,0) - - - def grantStatement(self): - return self.getTypedRuleContext(frameQLParser.GrantStatementContext,0) - - - def grantProxy(self): - return self.getTypedRuleContext(frameQLParser.GrantProxyContext,0) - - - def renameUser(self): - return self.getTypedRuleContext(frameQLParser.RenameUserContext,0) - - - def revokeStatement(self): - return self.getTypedRuleContext(frameQLParser.RevokeStatementContext,0) - - - def revokeProxy(self): - return self.getTypedRuleContext(frameQLParser.RevokeProxyContext,0) - - - def analyzeTable(self): - return self.getTypedRuleContext(frameQLParser.AnalyzeTableContext,0) - - - def checkTable(self): - return self.getTypedRuleContext(frameQLParser.CheckTableContext,0) - - - def checksumTable(self): - return self.getTypedRuleContext(frameQLParser.ChecksumTableContext,0) - - - def optimizeTable(self): - return self.getTypedRuleContext(frameQLParser.OptimizeTableContext,0) - - - def repairTable(self): - return self.getTypedRuleContext(frameQLParser.RepairTableContext,0) - - - def createUdfunction(self): - return self.getTypedRuleContext(frameQLParser.CreateUdfunctionContext,0) - - - def installPlugin(self): - return self.getTypedRuleContext(frameQLParser.InstallPluginContext,0) - - - def uninstallPlugin(self): - return self.getTypedRuleContext(frameQLParser.UninstallPluginContext,0) - - - def setStatement(self): - return self.getTypedRuleContext(frameQLParser.SetStatementContext,0) - - - def showStatement(self): - return self.getTypedRuleContext(frameQLParser.ShowStatementContext,0) - - - def binlogStatement(self): - return self.getTypedRuleContext(frameQLParser.BinlogStatementContext,0) - - - def cacheIndexStatement(self): - return self.getTypedRuleContext(frameQLParser.CacheIndexStatementContext,0) - - - def flushStatement(self): - return self.getTypedRuleContext(frameQLParser.FlushStatementContext,0) - - - def killStatement(self): - return self.getTypedRuleContext(frameQLParser.KillStatementContext,0) - - - def loadIndexIntoCache(self): - return self.getTypedRuleContext(frameQLParser.LoadIndexIntoCacheContext,0) - - - def resetStatement(self): - return self.getTypedRuleContext(frameQLParser.ResetStatementContext,0) - - - def shutdownStatement(self): - return self.getTypedRuleContext(frameQLParser.ShutdownStatementContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_administrationStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAdministrationStatement" ): - listener.enterAdministrationStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAdministrationStatement" ): - listener.exitAdministrationStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAdministrationStatement" ): - return visitor.visitAdministrationStatement(self) - else: - return visitor.visitChildren(self) - - - - - def administrationStatement(self): - - localctx = frameQLParser.AdministrationStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 20, self.RULE_administrationStatement) - try: - self.state = 780 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,15,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 755 - self.alterUser() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 756 - self.createUser() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 757 - self.dropUser() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 758 - self.grantStatement() - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 759 - self.grantProxy() - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 760 - self.renameUser() - pass - - elif la_ == 7: - self.enterOuterAlt(localctx, 7) - self.state = 761 - self.revokeStatement() - pass - - elif la_ == 8: - self.enterOuterAlt(localctx, 8) - self.state = 762 - self.revokeProxy() - pass - - elif la_ == 9: - self.enterOuterAlt(localctx, 9) - self.state = 763 - self.analyzeTable() - pass - - elif la_ == 10: - self.enterOuterAlt(localctx, 10) - self.state = 764 - self.checkTable() - pass - - elif la_ == 11: - self.enterOuterAlt(localctx, 11) - self.state = 765 - self.checksumTable() - pass - - elif la_ == 12: - self.enterOuterAlt(localctx, 12) - self.state = 766 - self.optimizeTable() - pass - - elif la_ == 13: - self.enterOuterAlt(localctx, 13) - self.state = 767 - self.repairTable() - pass - - elif la_ == 14: - self.enterOuterAlt(localctx, 14) - self.state = 768 - self.createUdfunction() - pass - - elif la_ == 15: - self.enterOuterAlt(localctx, 15) - self.state = 769 - self.installPlugin() - pass - - elif la_ == 16: - self.enterOuterAlt(localctx, 16) - self.state = 770 - self.uninstallPlugin() - pass - - elif la_ == 17: - self.enterOuterAlt(localctx, 17) - self.state = 771 - self.setStatement() - pass - - elif la_ == 18: - self.enterOuterAlt(localctx, 18) - self.state = 772 - self.showStatement() - pass - - elif la_ == 19: - self.enterOuterAlt(localctx, 19) - self.state = 773 - self.binlogStatement() - pass - - elif la_ == 20: - self.enterOuterAlt(localctx, 20) - self.state = 774 - self.cacheIndexStatement() - pass - - elif la_ == 21: - self.enterOuterAlt(localctx, 21) - self.state = 775 - self.flushStatement() - pass - - elif la_ == 22: - self.enterOuterAlt(localctx, 22) - self.state = 776 - self.killStatement() - pass - - elif la_ == 23: - self.enterOuterAlt(localctx, 23) - self.state = 777 - self.loadIndexIntoCache() - pass - - elif la_ == 24: - self.enterOuterAlt(localctx, 24) - self.state = 778 - self.resetStatement() - pass - - elif la_ == 25: - self.enterOuterAlt(localctx, 25) - self.state = 779 - self.shutdownStatement() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class UtilityStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def simpleDescribeStatement(self): - return self.getTypedRuleContext(frameQLParser.SimpleDescribeStatementContext,0) - - - def fullDescribeStatement(self): - return self.getTypedRuleContext(frameQLParser.FullDescribeStatementContext,0) - - - def helpStatement(self): - return self.getTypedRuleContext(frameQLParser.HelpStatementContext,0) - - - def useStatement(self): - return self.getTypedRuleContext(frameQLParser.UseStatementContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_utilityStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUtilityStatement" ): - listener.enterUtilityStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUtilityStatement" ): - listener.exitUtilityStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUtilityStatement" ): - return visitor.visitUtilityStatement(self) - else: - return visitor.visitChildren(self) - - - - - def utilityStatement(self): - - localctx = frameQLParser.UtilityStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 22, self.RULE_utilityStatement) - try: - self.state = 786 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,16,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 782 - self.simpleDescribeStatement() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 783 - self.fullDescribeStatement() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 784 - self.helpStatement() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 785 - self.useStatement() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CreateDatabaseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.dbFormat = None # Token - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def DATABASE(self): - return self.getToken(frameQLParser.DATABASE, 0) - - def SCHEMA(self): - return self.getToken(frameQLParser.SCHEMA, 0) - - def ifNotExists(self): - return self.getTypedRuleContext(frameQLParser.IfNotExistsContext,0) - - - def createDatabaseOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.CreateDatabaseOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.CreateDatabaseOptionContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_createDatabase - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateDatabase" ): - listener.enterCreateDatabase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateDatabase" ): - listener.exitCreateDatabase(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCreateDatabase" ): - return visitor.visitCreateDatabase(self) - else: - return visitor.visitChildren(self) - - - - - def createDatabase(self): - - localctx = frameQLParser.CreateDatabaseContext(self, self._ctx, self.state) - self.enterRule(localctx, 24, self.RULE_createDatabase) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 788 - self.match(frameQLParser.CREATE) - self.state = 789 - localctx.dbFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DATABASE or _la==frameQLParser.SCHEMA): - localctx.dbFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 791 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 790 - self.ifNotExists() - - - self.state = 793 - self.uid() - self.state = 797 - self._errHandler.sync(self) - _la = self._input.LA(1) - while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << frameQLParser.CHARACTER) | (1 << frameQLParser.COLLATE) | (1 << frameQLParser.DEFAULT))) != 0) or _la==frameQLParser.CHARSET: - self.state = 794 - self.createDatabaseOption() - self.state = 799 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CreateEventContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def EVENT(self): - return self.getToken(frameQLParser.EVENT, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def ON(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.ON) - else: - return self.getToken(frameQLParser.ON, i) - - def SCHEDULE(self): - return self.getToken(frameQLParser.SCHEDULE, 0) - - def scheduleExpression(self): - return self.getTypedRuleContext(frameQLParser.ScheduleExpressionContext,0) - - - def DO(self): - return self.getToken(frameQLParser.DO, 0) - - def routineBody(self): - return self.getTypedRuleContext(frameQLParser.RoutineBodyContext,0) - - - def ownerStatement(self): - return self.getTypedRuleContext(frameQLParser.OwnerStatementContext,0) - - - def ifNotExists(self): - return self.getTypedRuleContext(frameQLParser.IfNotExistsContext,0) - - - def COMPLETION(self): - return self.getToken(frameQLParser.COMPLETION, 0) - - def PRESERVE(self): - return self.getToken(frameQLParser.PRESERVE, 0) - - def enableType(self): - return self.getTypedRuleContext(frameQLParser.EnableTypeContext,0) - - - def COMMENT(self): - return self.getToken(frameQLParser.COMMENT, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_createEvent - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateEvent" ): - listener.enterCreateEvent(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateEvent" ): - listener.exitCreateEvent(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCreateEvent" ): - return visitor.visitCreateEvent(self) - else: - return visitor.visitChildren(self) - - - - - def createEvent(self): - - localctx = frameQLParser.CreateEventContext(self, self._ctx, self.state) - self.enterRule(localctx, 26, self.RULE_createEvent) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 800 - self.match(frameQLParser.CREATE) - self.state = 802 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFINER: - self.state = 801 - self.ownerStatement() - - - self.state = 804 - self.match(frameQLParser.EVENT) - self.state = 806 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 805 - self.ifNotExists() - - - self.state = 808 - self.fullId() - self.state = 809 - self.match(frameQLParser.ON) - self.state = 810 - self.match(frameQLParser.SCHEDULE) - self.state = 811 - self.scheduleExpression() - self.state = 818 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ON: - self.state = 812 - self.match(frameQLParser.ON) - self.state = 813 - self.match(frameQLParser.COMPLETION) - self.state = 815 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NOT: - self.state = 814 - self.match(frameQLParser.NOT) - - - self.state = 817 - self.match(frameQLParser.PRESERVE) - - - self.state = 821 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DISABLE or _la==frameQLParser.ENABLE: - self.state = 820 - self.enableType() - - - self.state = 825 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COMMENT: - self.state = 823 - self.match(frameQLParser.COMMENT) - self.state = 824 - self.match(frameQLParser.STRING_LITERAL) - - - self.state = 827 - self.match(frameQLParser.DO) - self.state = 828 - self.routineBody() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CreateIndexContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.intimeAction = None # Token - self.indexCategory = None # Token - self.algType = None # Token - self.lockType = None # Token - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - - def indexType(self): - return self.getTypedRuleContext(frameQLParser.IndexTypeContext,0) - - - def indexOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IndexOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.IndexOptionContext,i) - - - def ALGORITHM(self): - return self.getToken(frameQLParser.ALGORITHM, 0) - - def LOCK(self): - return self.getToken(frameQLParser.LOCK, 0) - - def ONLINE(self): - return self.getToken(frameQLParser.ONLINE, 0) - - def OFFLINE(self): - return self.getToken(frameQLParser.OFFLINE, 0) - - def UNIQUE(self): - return self.getToken(frameQLParser.UNIQUE, 0) - - def FULLTEXT(self): - return self.getToken(frameQLParser.FULLTEXT, 0) - - def SPATIAL(self): - return self.getToken(frameQLParser.SPATIAL, 0) - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def INPLACE(self): - return self.getToken(frameQLParser.INPLACE, 0) - - def COPY(self): - return self.getToken(frameQLParser.COPY, 0) - - def NONE(self): - return self.getToken(frameQLParser.NONE, 0) - - def SHARED(self): - return self.getToken(frameQLParser.SHARED, 0) - - def EXCLUSIVE(self): - return self.getToken(frameQLParser.EXCLUSIVE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_createIndex - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateIndex" ): - listener.enterCreateIndex(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateIndex" ): - listener.exitCreateIndex(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCreateIndex" ): - return visitor.visitCreateIndex(self) - else: - return visitor.visitChildren(self) - - - - - def createIndex(self): - - localctx = frameQLParser.CreateIndexContext(self, self._ctx, self.state) - self.enterRule(localctx, 28, self.RULE_createIndex) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 830 - self.match(frameQLParser.CREATE) - self.state = 832 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.OFFLINE or _la==frameQLParser.ONLINE: - self.state = 831 - localctx.intimeAction = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.OFFLINE or _la==frameQLParser.ONLINE): - localctx.intimeAction = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 835 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FULLTEXT or _la==frameQLParser.SPATIAL or _la==frameQLParser.UNIQUE: - self.state = 834 - localctx.indexCategory = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FULLTEXT or _la==frameQLParser.SPATIAL or _la==frameQLParser.UNIQUE): - localctx.indexCategory = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 837 - self.match(frameQLParser.INDEX) - self.state = 838 - self.uid() - self.state = 840 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.USING: - self.state = 839 - self.indexType() - - - self.state = 842 - self.match(frameQLParser.ON) - self.state = 843 - self.tableName() - self.state = 844 - self.indexColumnNames() - self.state = 848 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.USING or _la==frameQLParser.WITH or _la==frameQLParser.COMMENT or _la==frameQLParser.KEY_BLOCK_SIZE: - self.state = 845 - self.indexOption() - self.state = 850 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 861 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ALGORITHM]: - self.state = 851 - self.match(frameQLParser.ALGORITHM) - self.state = 853 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 852 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 855 - localctx.algType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.COPY or _la==frameQLParser.INPLACE): - localctx.algType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - elif token in [frameQLParser.LOCK]: - self.state = 856 - self.match(frameQLParser.LOCK) - self.state = 858 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 857 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 860 - localctx.lockType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.EXCLUSIVE or _la==frameQLParser.NONE or _la==frameQLParser.SHARED): - localctx.lockType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - elif token in [frameQLParser.EOF, frameQLParser.MINUSMINUS, frameQLParser.SEMI]: - pass - else: - pass - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CreateLogfileGroupContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.undoFile = None # Token - self.initSize = None # FileSizeLiteralContext - self.undoSize = None # FileSizeLiteralContext - self.redoSize = None # FileSizeLiteralContext - self.comment = None # Token - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def LOGFILE(self): - return self.getToken(frameQLParser.LOGFILE, 0) - - def GROUP(self): - return self.getToken(frameQLParser.GROUP, 0) - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - - def UNDOFILE(self): - return self.getToken(frameQLParser.UNDOFILE, 0) - - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - - def engineName(self): - return self.getTypedRuleContext(frameQLParser.EngineNameContext,0) - - - def STRING_LITERAL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.STRING_LITERAL) - else: - return self.getToken(frameQLParser.STRING_LITERAL, i) - - def INITIAL_SIZE(self): - return self.getToken(frameQLParser.INITIAL_SIZE, 0) - - def UNDO_BUFFER_SIZE(self): - return self.getToken(frameQLParser.UNDO_BUFFER_SIZE, 0) - - def REDO_BUFFER_SIZE(self): - return self.getToken(frameQLParser.REDO_BUFFER_SIZE, 0) - - def NODEGROUP(self): - return self.getToken(frameQLParser.NODEGROUP, 0) - - def WAIT(self): - return self.getToken(frameQLParser.WAIT, 0) - - def COMMENT(self): - return self.getToken(frameQLParser.COMMENT, 0) - - def fileSizeLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.FileSizeLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.FileSizeLiteralContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_createLogfileGroup - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateLogfileGroup" ): - listener.enterCreateLogfileGroup(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateLogfileGroup" ): - listener.exitCreateLogfileGroup(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCreateLogfileGroup" ): - return visitor.visitCreateLogfileGroup(self) - else: - return visitor.visitChildren(self) - - - - - def createLogfileGroup(self): - - localctx = frameQLParser.CreateLogfileGroupContext(self, self._ctx, self.state) - self.enterRule(localctx, 30, self.RULE_createLogfileGroup) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 863 - self.match(frameQLParser.CREATE) - self.state = 864 - self.match(frameQLParser.LOGFILE) - self.state = 865 - self.match(frameQLParser.GROUP) - self.state = 866 - self.uid() - self.state = 867 - self.match(frameQLParser.ADD) - self.state = 868 - self.match(frameQLParser.UNDOFILE) - self.state = 869 - localctx.undoFile = self.match(frameQLParser.STRING_LITERAL) - self.state = 875 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INITIAL_SIZE: - self.state = 870 - self.match(frameQLParser.INITIAL_SIZE) - self.state = 872 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 871 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 874 - localctx.initSize = self.fileSizeLiteral() - - - self.state = 882 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.UNDO_BUFFER_SIZE: - self.state = 877 - self.match(frameQLParser.UNDO_BUFFER_SIZE) - self.state = 879 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 878 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 881 - localctx.undoSize = self.fileSizeLiteral() - - - self.state = 889 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.REDO_BUFFER_SIZE: - self.state = 884 - self.match(frameQLParser.REDO_BUFFER_SIZE) - self.state = 886 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 885 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 888 - localctx.redoSize = self.fileSizeLiteral() - - - self.state = 896 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NODEGROUP: - self.state = 891 - self.match(frameQLParser.NODEGROUP) - self.state = 893 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 892 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 895 - self.uid() - - - self.state = 899 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WAIT: - self.state = 898 - self.match(frameQLParser.WAIT) - - - self.state = 906 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COMMENT: - self.state = 901 - self.match(frameQLParser.COMMENT) - self.state = 903 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 902 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 905 - localctx.comment = self.match(frameQLParser.STRING_LITERAL) - - - self.state = 908 - self.match(frameQLParser.ENGINE) - self.state = 910 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 909 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 912 - self.engineName() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CreateProcedureContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def PROCEDURE(self): - return self.getToken(frameQLParser.PROCEDURE, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def routineBody(self): - return self.getTypedRuleContext(frameQLParser.RoutineBodyContext,0) - - - def ownerStatement(self): - return self.getTypedRuleContext(frameQLParser.OwnerStatementContext,0) - - - def procedureParameter(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ProcedureParameterContext) - else: - return self.getTypedRuleContext(frameQLParser.ProcedureParameterContext,i) - - - def routineOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.RoutineOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.RoutineOptionContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_createProcedure - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateProcedure" ): - listener.enterCreateProcedure(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateProcedure" ): - listener.exitCreateProcedure(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCreateProcedure" ): - return visitor.visitCreateProcedure(self) - else: - return visitor.visitChildren(self) - - - - - def createProcedure(self): - - localctx = frameQLParser.CreateProcedureContext(self, self._ctx, self.state) - self.enterRule(localctx, 32, self.RULE_createProcedure) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 914 - self.match(frameQLParser.CREATE) - self.state = 916 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFINER: - self.state = 915 - self.ownerStatement() - - - self.state = 918 - self.match(frameQLParser.PROCEDURE) - self.state = 919 - self.fullId() - self.state = 920 - self.match(frameQLParser.LR_BRACKET) - self.state = 922 - self._errHandler.sync(self) - _la = self._input.LA(1) - if ((((_la - 70)) & ~0x3f) == 0 and ((1 << (_la - 70)) & ((1 << (frameQLParser.IN - 70)) | (1 << (frameQLParser.INOUT - 70)) | (1 << (frameQLParser.OUT - 70)))) != 0): - self.state = 921 - self.procedureParameter() - - - self.state = 928 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 924 - self.match(frameQLParser.COMMA) - self.state = 925 - self.procedureParameter() - self.state = 930 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 931 - self.match(frameQLParser.RR_BRACKET) - self.state = 935 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,47,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 932 - self.routineOption() - self.state = 937 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,47,self._ctx) - - self.state = 938 - self.routineBody() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CreateFunctionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def FUNCTION(self): - return self.getToken(frameQLParser.FUNCTION, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def RETURNS(self): - return self.getToken(frameQLParser.RETURNS, 0) - - def dataType(self): - return self.getTypedRuleContext(frameQLParser.DataTypeContext,0) - - - def routineBody(self): - return self.getTypedRuleContext(frameQLParser.RoutineBodyContext,0) - - - def ownerStatement(self): - return self.getTypedRuleContext(frameQLParser.OwnerStatementContext,0) - - - def functionParameter(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.FunctionParameterContext) - else: - return self.getTypedRuleContext(frameQLParser.FunctionParameterContext,i) - - - def routineOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.RoutineOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.RoutineOptionContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_createFunction - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateFunction" ): - listener.enterCreateFunction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateFunction" ): - listener.exitCreateFunction(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCreateFunction" ): - return visitor.visitCreateFunction(self) - else: - return visitor.visitChildren(self) - - - - - def createFunction(self): - - localctx = frameQLParser.CreateFunctionContext(self, self._ctx, self.state) - self.enterRule(localctx, 34, self.RULE_createFunction) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 940 - self.match(frameQLParser.CREATE) - self.state = 942 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFINER: - self.state = 941 - self.ownerStatement() - - - self.state = 944 - self.match(frameQLParser.FUNCTION) - self.state = 945 - self.fullId() - self.state = 946 - self.match(frameQLParser.LR_BRACKET) - self.state = 948 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 947 - self.functionParameter() - - - self.state = 954 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 950 - self.match(frameQLParser.COMMA) - self.state = 951 - self.functionParameter() - self.state = 956 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 957 - self.match(frameQLParser.RR_BRACKET) - self.state = 958 - self.match(frameQLParser.RETURNS) - self.state = 959 - self.dataType() - self.state = 963 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,51,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 960 - self.routineOption() - self.state = 965 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,51,self._ctx) - - self.state = 966 - self.routineBody() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CreateServerContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.wrapperName = None # Token - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def SERVER(self): - return self.getToken(frameQLParser.SERVER, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def FOREIGN(self): - return self.getToken(frameQLParser.FOREIGN, 0) - - def DATA(self): - return self.getToken(frameQLParser.DATA, 0) - - def WRAPPER(self): - return self.getToken(frameQLParser.WRAPPER, 0) - - def OPTIONS(self): - return self.getToken(frameQLParser.OPTIONS, 0) - - def serverOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ServerOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.ServerOptionContext,i) - - - def MYSQL(self): - return self.getToken(frameQLParser.MYSQL, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_createServer - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateServer" ): - listener.enterCreateServer(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateServer" ): - listener.exitCreateServer(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCreateServer" ): - return visitor.visitCreateServer(self) - else: - return visitor.visitChildren(self) - - - - - def createServer(self): - - localctx = frameQLParser.CreateServerContext(self, self._ctx, self.state) - self.enterRule(localctx, 36, self.RULE_createServer) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 968 - self.match(frameQLParser.CREATE) - self.state = 969 - self.match(frameQLParser.SERVER) - self.state = 970 - self.uid() - self.state = 971 - self.match(frameQLParser.FOREIGN) - self.state = 972 - self.match(frameQLParser.DATA) - self.state = 973 - self.match(frameQLParser.WRAPPER) - self.state = 974 - localctx.wrapperName = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.MYSQL or _la==frameQLParser.STRING_LITERAL): - localctx.wrapperName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 975 - self.match(frameQLParser.OPTIONS) - self.state = 976 - self.match(frameQLParser.LR_BRACKET) - self.state = 977 - self.serverOption() - self.state = 982 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 978 - self.match(frameQLParser.COMMA) - self.state = 979 - self.serverOption() - self.state = 984 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 985 - self.match(frameQLParser.RR_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CreateTableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_createTable - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class CopyCreateTableContext(CreateTableContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.CreateTableContext - super().__init__(parser) - self.parenthesisTable = None # TableNameContext - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - def tableName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TableNameContext) - else: - return self.getTypedRuleContext(frameQLParser.TableNameContext,i) - - def LIKE(self): - return self.getToken(frameQLParser.LIKE, 0) - def TEMPORARY(self): - return self.getToken(frameQLParser.TEMPORARY, 0) - def ifNotExists(self): - return self.getTypedRuleContext(frameQLParser.IfNotExistsContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCopyCreateTable" ): - listener.enterCopyCreateTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCopyCreateTable" ): - listener.exitCopyCreateTable(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCopyCreateTable" ): - return visitor.visitCopyCreateTable(self) - else: - return visitor.visitChildren(self) - - - class ColumnCreateTableContext(CreateTableContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.CreateTableContext - super().__init__(parser) - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - def createDefinitions(self): - return self.getTypedRuleContext(frameQLParser.CreateDefinitionsContext,0) - - def TEMPORARY(self): - return self.getToken(frameQLParser.TEMPORARY, 0) - def ifNotExists(self): - return self.getTypedRuleContext(frameQLParser.IfNotExistsContext,0) - - def tableOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TableOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.TableOptionContext,i) - - def partitionDefinitions(self): - return self.getTypedRuleContext(frameQLParser.PartitionDefinitionsContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterColumnCreateTable" ): - listener.enterColumnCreateTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitColumnCreateTable" ): - listener.exitColumnCreateTable(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitColumnCreateTable" ): - return visitor.visitColumnCreateTable(self) - else: - return visitor.visitChildren(self) - - - class QueryCreateTableContext(CreateTableContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.CreateTableContext - super().__init__(parser) - self.keyViolate = None # Token - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - def TEMPORARY(self): - return self.getToken(frameQLParser.TEMPORARY, 0) - def ifNotExists(self): - return self.getTypedRuleContext(frameQLParser.IfNotExistsContext,0) - - def createDefinitions(self): - return self.getTypedRuleContext(frameQLParser.CreateDefinitionsContext,0) - - def tableOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TableOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.TableOptionContext,i) - - def partitionDefinitions(self): - return self.getTypedRuleContext(frameQLParser.PartitionDefinitionsContext,0) - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - def IGNORE(self): - return self.getToken(frameQLParser.IGNORE, 0) - def REPLACE(self): - return self.getToken(frameQLParser.REPLACE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterQueryCreateTable" ): - listener.enterQueryCreateTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitQueryCreateTable" ): - listener.exitQueryCreateTable(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitQueryCreateTable" ): - return visitor.visitQueryCreateTable(self) - else: - return visitor.visitChildren(self) - - - - def createTable(self): - - localctx = frameQLParser.CreateTableContext(self, self._ctx, self.state) - self.enterRule(localctx, 38, self.RULE_createTable) - self._la = 0 # Token type - try: - self.state = 1065 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,71,self._ctx) - if la_ == 1: - localctx = frameQLParser.CopyCreateTableContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 987 - self.match(frameQLParser.CREATE) - self.state = 989 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.TEMPORARY: - self.state = 988 - self.match(frameQLParser.TEMPORARY) - - - self.state = 991 - self.match(frameQLParser.TABLE) - self.state = 993 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 992 - self.ifNotExists() - - - self.state = 995 - self.tableName() - self.state = 1003 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.LIKE]: - self.state = 996 - self.match(frameQLParser.LIKE) - self.state = 997 - self.tableName() - pass - elif token in [frameQLParser.LR_BRACKET]: - self.state = 998 - self.match(frameQLParser.LR_BRACKET) - self.state = 999 - self.match(frameQLParser.LIKE) - self.state = 1000 - localctx.parenthesisTable = self.tableName() - self.state = 1001 - self.match(frameQLParser.RR_BRACKET) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 2: - localctx = frameQLParser.QueryCreateTableContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1005 - self.match(frameQLParser.CREATE) - self.state = 1007 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.TEMPORARY: - self.state = 1006 - self.match(frameQLParser.TEMPORARY) - - - self.state = 1009 - self.match(frameQLParser.TABLE) - self.state = 1011 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 1010 - self.ifNotExists() - - - self.state = 1013 - self.tableName() - self.state = 1015 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,58,self._ctx) - if la_ == 1: - self.state = 1014 - self.createDefinitions() - - - self.state = 1027 - self._errHandler.sync(self) - _la = self._input.LA(1) - if ((((_la - 24)) & ~0x3f) == 0 and ((1 << (_la - 24)) & ((1 << (frameQLParser.CHARACTER - 24)) | (1 << (frameQLParser.COLLATE - 24)) | (1 << (frameQLParser.DEFAULT - 24)) | (1 << (frameQLParser.INDEX - 24)))) != 0) or _la==frameQLParser.UNION or ((((_la - 260)) & ~0x3f) == 0 and ((1 << (_la - 260)) & ((1 << (frameQLParser.AUTO_INCREMENT - 260)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 260)) | (1 << (frameQLParser.CHECKSUM - 260)) | (1 << (frameQLParser.COMMENT - 260)) | (1 << (frameQLParser.COMPRESSION - 260)) | (1 << (frameQLParser.CONNECTION - 260)) | (1 << (frameQLParser.DATA - 260)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 260)) | (1 << (frameQLParser.ENCRYPTION - 260)) | (1 << (frameQLParser.ENGINE - 260)))) != 0) or ((((_la - 357)) & ~0x3f) == 0 and ((1 << (_la - 357)) & ((1 << (frameQLParser.INSERT_METHOD - 357)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 357)) | (1 << (frameQLParser.MAX_ROWS - 357)) | (1 << (frameQLParser.MIN_ROWS - 357)))) != 0) or ((((_la - 432)) & ~0x3f) == 0 and ((1 << (_la - 432)) & ((1 << (frameQLParser.PACK_KEYS - 432)) | (1 << (frameQLParser.PASSWORD - 432)) | (1 << (frameQLParser.ROW_FORMAT - 432)))) != 0) or ((((_la - 508)) & ~0x3f) == 0 and ((1 << (_la - 508)) & ((1 << (frameQLParser.STATS_AUTO_RECALC - 508)) | (1 << (frameQLParser.STATS_PERSISTENT - 508)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 508)) | (1 << (frameQLParser.TABLESPACE - 508)))) != 0) or _la==frameQLParser.CHARSET: - self.state = 1017 - self.tableOption() - self.state = 1024 - self._errHandler.sync(self) - _la = self._input.LA(1) - while ((((_la - 24)) & ~0x3f) == 0 and ((1 << (_la - 24)) & ((1 << (frameQLParser.CHARACTER - 24)) | (1 << (frameQLParser.COLLATE - 24)) | (1 << (frameQLParser.DEFAULT - 24)) | (1 << (frameQLParser.INDEX - 24)))) != 0) or _la==frameQLParser.UNION or ((((_la - 260)) & ~0x3f) == 0 and ((1 << (_la - 260)) & ((1 << (frameQLParser.AUTO_INCREMENT - 260)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 260)) | (1 << (frameQLParser.CHECKSUM - 260)) | (1 << (frameQLParser.COMMENT - 260)) | (1 << (frameQLParser.COMPRESSION - 260)) | (1 << (frameQLParser.CONNECTION - 260)) | (1 << (frameQLParser.DATA - 260)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 260)) | (1 << (frameQLParser.ENCRYPTION - 260)) | (1 << (frameQLParser.ENGINE - 260)))) != 0) or ((((_la - 357)) & ~0x3f) == 0 and ((1 << (_la - 357)) & ((1 << (frameQLParser.INSERT_METHOD - 357)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 357)) | (1 << (frameQLParser.MAX_ROWS - 357)) | (1 << (frameQLParser.MIN_ROWS - 357)))) != 0) or ((((_la - 432)) & ~0x3f) == 0 and ((1 << (_la - 432)) & ((1 << (frameQLParser.PACK_KEYS - 432)) | (1 << (frameQLParser.PASSWORD - 432)) | (1 << (frameQLParser.ROW_FORMAT - 432)))) != 0) or ((((_la - 508)) & ~0x3f) == 0 and ((1 << (_la - 508)) & ((1 << (frameQLParser.STATS_AUTO_RECALC - 508)) | (1 << (frameQLParser.STATS_PERSISTENT - 508)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 508)) | (1 << (frameQLParser.TABLESPACE - 508)))) != 0) or _la==frameQLParser.CHARSET or _la==frameQLParser.COMMA: - self.state = 1019 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COMMA: - self.state = 1018 - self.match(frameQLParser.COMMA) - - - self.state = 1021 - self.tableOption() - self.state = 1026 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - self.state = 1030 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PARTITION: - self.state = 1029 - self.partitionDefinitions() - - - self.state = 1033 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE or _la==frameQLParser.REPLACE: - self.state = 1032 - localctx.keyViolate = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.IGNORE or _la==frameQLParser.REPLACE): - localctx.keyViolate = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 1036 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS: - self.state = 1035 - self.match(frameQLParser.AS) - - - self.state = 1038 - self.selectStatement() - pass - - elif la_ == 3: - localctx = frameQLParser.ColumnCreateTableContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1040 - self.match(frameQLParser.CREATE) - self.state = 1042 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.TEMPORARY: - self.state = 1041 - self.match(frameQLParser.TEMPORARY) - - - self.state = 1044 - self.match(frameQLParser.TABLE) - self.state = 1046 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 1045 - self.ifNotExists() - - - self.state = 1048 - self.tableName() - self.state = 1049 - self.createDefinitions() - self.state = 1060 - self._errHandler.sync(self) - _la = self._input.LA(1) - if ((((_la - 24)) & ~0x3f) == 0 and ((1 << (_la - 24)) & ((1 << (frameQLParser.CHARACTER - 24)) | (1 << (frameQLParser.COLLATE - 24)) | (1 << (frameQLParser.DEFAULT - 24)) | (1 << (frameQLParser.INDEX - 24)))) != 0) or _la==frameQLParser.UNION or ((((_la - 260)) & ~0x3f) == 0 and ((1 << (_la - 260)) & ((1 << (frameQLParser.AUTO_INCREMENT - 260)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 260)) | (1 << (frameQLParser.CHECKSUM - 260)) | (1 << (frameQLParser.COMMENT - 260)) | (1 << (frameQLParser.COMPRESSION - 260)) | (1 << (frameQLParser.CONNECTION - 260)) | (1 << (frameQLParser.DATA - 260)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 260)) | (1 << (frameQLParser.ENCRYPTION - 260)) | (1 << (frameQLParser.ENGINE - 260)))) != 0) or ((((_la - 357)) & ~0x3f) == 0 and ((1 << (_la - 357)) & ((1 << (frameQLParser.INSERT_METHOD - 357)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 357)) | (1 << (frameQLParser.MAX_ROWS - 357)) | (1 << (frameQLParser.MIN_ROWS - 357)))) != 0) or ((((_la - 432)) & ~0x3f) == 0 and ((1 << (_la - 432)) & ((1 << (frameQLParser.PACK_KEYS - 432)) | (1 << (frameQLParser.PASSWORD - 432)) | (1 << (frameQLParser.ROW_FORMAT - 432)))) != 0) or ((((_la - 508)) & ~0x3f) == 0 and ((1 << (_la - 508)) & ((1 << (frameQLParser.STATS_AUTO_RECALC - 508)) | (1 << (frameQLParser.STATS_PERSISTENT - 508)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 508)) | (1 << (frameQLParser.TABLESPACE - 508)))) != 0) or _la==frameQLParser.CHARSET: - self.state = 1050 - self.tableOption() - self.state = 1057 - self._errHandler.sync(self) - _la = self._input.LA(1) - while ((((_la - 24)) & ~0x3f) == 0 and ((1 << (_la - 24)) & ((1 << (frameQLParser.CHARACTER - 24)) | (1 << (frameQLParser.COLLATE - 24)) | (1 << (frameQLParser.DEFAULT - 24)) | (1 << (frameQLParser.INDEX - 24)))) != 0) or _la==frameQLParser.UNION or ((((_la - 260)) & ~0x3f) == 0 and ((1 << (_la - 260)) & ((1 << (frameQLParser.AUTO_INCREMENT - 260)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 260)) | (1 << (frameQLParser.CHECKSUM - 260)) | (1 << (frameQLParser.COMMENT - 260)) | (1 << (frameQLParser.COMPRESSION - 260)) | (1 << (frameQLParser.CONNECTION - 260)) | (1 << (frameQLParser.DATA - 260)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 260)) | (1 << (frameQLParser.ENCRYPTION - 260)) | (1 << (frameQLParser.ENGINE - 260)))) != 0) or ((((_la - 357)) & ~0x3f) == 0 and ((1 << (_la - 357)) & ((1 << (frameQLParser.INSERT_METHOD - 357)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 357)) | (1 << (frameQLParser.MAX_ROWS - 357)) | (1 << (frameQLParser.MIN_ROWS - 357)))) != 0) or ((((_la - 432)) & ~0x3f) == 0 and ((1 << (_la - 432)) & ((1 << (frameQLParser.PACK_KEYS - 432)) | (1 << (frameQLParser.PASSWORD - 432)) | (1 << (frameQLParser.ROW_FORMAT - 432)))) != 0) or ((((_la - 508)) & ~0x3f) == 0 and ((1 << (_la - 508)) & ((1 << (frameQLParser.STATS_AUTO_RECALC - 508)) | (1 << (frameQLParser.STATS_PERSISTENT - 508)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 508)) | (1 << (frameQLParser.TABLESPACE - 508)))) != 0) or _la==frameQLParser.CHARSET or _la==frameQLParser.COMMA: - self.state = 1052 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COMMA: - self.state = 1051 - self.match(frameQLParser.COMMA) - - - self.state = 1054 - self.tableOption() - self.state = 1059 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - self.state = 1063 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PARTITION: - self.state = 1062 - self.partitionDefinitions() - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CreateTablespaceInnodbContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.datafile = None # Token - self.fileBlockSize = None # FileSizeLiteralContext - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - - def DATAFILE(self): - return self.getToken(frameQLParser.DATAFILE, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def FILE_BLOCK_SIZE(self): - return self.getToken(frameQLParser.FILE_BLOCK_SIZE, 0) - - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - - def engineName(self): - return self.getTypedRuleContext(frameQLParser.EngineNameContext,0) - - - def fileSizeLiteral(self): - return self.getTypedRuleContext(frameQLParser.FileSizeLiteralContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_createTablespaceInnodb - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateTablespaceInnodb" ): - listener.enterCreateTablespaceInnodb(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateTablespaceInnodb" ): - listener.exitCreateTablespaceInnodb(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCreateTablespaceInnodb" ): - return visitor.visitCreateTablespaceInnodb(self) - else: - return visitor.visitChildren(self) - - - - - def createTablespaceInnodb(self): - - localctx = frameQLParser.CreateTablespaceInnodbContext(self, self._ctx, self.state) - self.enterRule(localctx, 40, self.RULE_createTablespaceInnodb) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1067 - self.match(frameQLParser.CREATE) - self.state = 1068 - self.match(frameQLParser.TABLESPACE) - self.state = 1069 - self.uid() - self.state = 1070 - self.match(frameQLParser.ADD) - self.state = 1071 - self.match(frameQLParser.DATAFILE) - self.state = 1072 - localctx.datafile = self.match(frameQLParser.STRING_LITERAL) - self.state = 1076 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FILE_BLOCK_SIZE: - self.state = 1073 - self.match(frameQLParser.FILE_BLOCK_SIZE) - self.state = 1074 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 1075 - localctx.fileBlockSize = self.fileSizeLiteral() - - - self.state = 1083 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ENGINE: - self.state = 1078 - self.match(frameQLParser.ENGINE) - self.state = 1080 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1079 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1082 - self.engineName() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CreateTablespaceNdbContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.datafile = None # Token - self.extentSize = None # FileSizeLiteralContext - self.initialSize = None # FileSizeLiteralContext - self.autoextendSize = None # FileSizeLiteralContext - self.maxSize = None # FileSizeLiteralContext - self.comment = None # Token - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - - def DATAFILE(self): - return self.getToken(frameQLParser.DATAFILE, 0) - - def USE(self): - return self.getToken(frameQLParser.USE, 0) - - def LOGFILE(self): - return self.getToken(frameQLParser.LOGFILE, 0) - - def GROUP(self): - return self.getToken(frameQLParser.GROUP, 0) - - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - - def engineName(self): - return self.getTypedRuleContext(frameQLParser.EngineNameContext,0) - - - def STRING_LITERAL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.STRING_LITERAL) - else: - return self.getToken(frameQLParser.STRING_LITERAL, i) - - def EXTENT_SIZE(self): - return self.getToken(frameQLParser.EXTENT_SIZE, 0) - - def INITIAL_SIZE(self): - return self.getToken(frameQLParser.INITIAL_SIZE, 0) - - def AUTOEXTEND_SIZE(self): - return self.getToken(frameQLParser.AUTOEXTEND_SIZE, 0) - - def MAX_SIZE(self): - return self.getToken(frameQLParser.MAX_SIZE, 0) - - def NODEGROUP(self): - return self.getToken(frameQLParser.NODEGROUP, 0) - - def WAIT(self): - return self.getToken(frameQLParser.WAIT, 0) - - def COMMENT(self): - return self.getToken(frameQLParser.COMMENT, 0) - - def fileSizeLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.FileSizeLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.FileSizeLiteralContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_createTablespaceNdb - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateTablespaceNdb" ): - listener.enterCreateTablespaceNdb(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateTablespaceNdb" ): - listener.exitCreateTablespaceNdb(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCreateTablespaceNdb" ): - return visitor.visitCreateTablespaceNdb(self) - else: - return visitor.visitChildren(self) - - - - - def createTablespaceNdb(self): - - localctx = frameQLParser.CreateTablespaceNdbContext(self, self._ctx, self.state) - self.enterRule(localctx, 42, self.RULE_createTablespaceNdb) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1085 - self.match(frameQLParser.CREATE) - self.state = 1086 - self.match(frameQLParser.TABLESPACE) - self.state = 1087 - self.uid() - self.state = 1088 - self.match(frameQLParser.ADD) - self.state = 1089 - self.match(frameQLParser.DATAFILE) - self.state = 1090 - localctx.datafile = self.match(frameQLParser.STRING_LITERAL) - self.state = 1091 - self.match(frameQLParser.USE) - self.state = 1092 - self.match(frameQLParser.LOGFILE) - self.state = 1093 - self.match(frameQLParser.GROUP) - self.state = 1094 - self.uid() - self.state = 1100 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EXTENT_SIZE: - self.state = 1095 - self.match(frameQLParser.EXTENT_SIZE) - self.state = 1097 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1096 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1099 - localctx.extentSize = self.fileSizeLiteral() - - - self.state = 1107 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INITIAL_SIZE: - self.state = 1102 - self.match(frameQLParser.INITIAL_SIZE) - self.state = 1104 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1103 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1106 - localctx.initialSize = self.fileSizeLiteral() - - - self.state = 1114 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AUTOEXTEND_SIZE: - self.state = 1109 - self.match(frameQLParser.AUTOEXTEND_SIZE) - self.state = 1111 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1110 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1113 - localctx.autoextendSize = self.fileSizeLiteral() - - - self.state = 1121 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.MAX_SIZE: - self.state = 1116 - self.match(frameQLParser.MAX_SIZE) - self.state = 1118 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1117 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1120 - localctx.maxSize = self.fileSizeLiteral() - - - self.state = 1128 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NODEGROUP: - self.state = 1123 - self.match(frameQLParser.NODEGROUP) - self.state = 1125 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1124 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1127 - self.uid() - - - self.state = 1131 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WAIT: - self.state = 1130 - self.match(frameQLParser.WAIT) - - - self.state = 1138 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COMMENT: - self.state = 1133 - self.match(frameQLParser.COMMENT) - self.state = 1135 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1134 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1137 - localctx.comment = self.match(frameQLParser.STRING_LITERAL) - - - self.state = 1140 - self.match(frameQLParser.ENGINE) - self.state = 1142 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1141 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1144 - self.engineName() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CreateTriggerContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.thisTrigger = None # FullIdContext - self.triggerTime = None # Token - self.triggerEvent = None # Token - self.triggerPlace = None # Token - self.otherTrigger = None # FullIdContext - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def TRIGGER(self): - return self.getToken(frameQLParser.TRIGGER, 0) - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def EACH(self): - return self.getToken(frameQLParser.EACH, 0) - - def ROW(self): - return self.getToken(frameQLParser.ROW, 0) - - def routineBody(self): - return self.getTypedRuleContext(frameQLParser.RoutineBodyContext,0) - - - def fullId(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.FullIdContext) - else: - return self.getTypedRuleContext(frameQLParser.FullIdContext,i) - - - def BEFORE(self): - return self.getToken(frameQLParser.BEFORE, 0) - - def AFTER(self): - return self.getToken(frameQLParser.AFTER, 0) - - def INSERT(self): - return self.getToken(frameQLParser.INSERT, 0) - - def UPDATE(self): - return self.getToken(frameQLParser.UPDATE, 0) - - def DELETE(self): - return self.getToken(frameQLParser.DELETE, 0) - - def ownerStatement(self): - return self.getTypedRuleContext(frameQLParser.OwnerStatementContext,0) - - - def FOLLOWS(self): - return self.getToken(frameQLParser.FOLLOWS, 0) - - def PRECEDES(self): - return self.getToken(frameQLParser.PRECEDES, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_createTrigger - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateTrigger" ): - listener.enterCreateTrigger(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateTrigger" ): - listener.exitCreateTrigger(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCreateTrigger" ): - return visitor.visitCreateTrigger(self) - else: - return visitor.visitChildren(self) - - - - - def createTrigger(self): - - localctx = frameQLParser.CreateTriggerContext(self, self._ctx, self.state) - self.enterRule(localctx, 44, self.RULE_createTrigger) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1146 - self.match(frameQLParser.CREATE) - self.state = 1148 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFINER: - self.state = 1147 - self.ownerStatement() - - - self.state = 1150 - self.match(frameQLParser.TRIGGER) - self.state = 1151 - localctx.thisTrigger = self.fullId() - self.state = 1152 - localctx.triggerTime = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.BEFORE or _la==frameQLParser.AFTER): - localctx.triggerTime = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 1153 - localctx.triggerEvent = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DELETE or _la==frameQLParser.INSERT or _la==frameQLParser.UPDATE): - localctx.triggerEvent = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 1154 - self.match(frameQLParser.ON) - self.state = 1155 - self.tableName() - self.state = 1156 - self.match(frameQLParser.FOR) - self.state = 1157 - self.match(frameQLParser.EACH) - self.state = 1158 - self.match(frameQLParser.ROW) - self.state = 1161 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,90,self._ctx) - if la_ == 1: - self.state = 1159 - localctx.triggerPlace = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FOLLOWS or _la==frameQLParser.PRECEDES): - localctx.triggerPlace = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 1160 - localctx.otherTrigger = self.fullId() - - - self.state = 1163 - self.routineBody() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CreateViewContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.algType = None # Token - self.secContext = None # Token - self.checkOption = None # Token - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def VIEW(self): - return self.getToken(frameQLParser.VIEW, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - - def OR(self): - return self.getToken(frameQLParser.OR, 0) - - def REPLACE(self): - return self.getToken(frameQLParser.REPLACE, 0) - - def ALGORITHM(self): - return self.getToken(frameQLParser.ALGORITHM, 0) - - def ownerStatement(self): - return self.getTypedRuleContext(frameQLParser.OwnerStatementContext,0) - - - def SQL(self): - return self.getToken(frameQLParser.SQL, 0) - - def SECURITY(self): - return self.getToken(frameQLParser.SECURITY, 0) - - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - - def CHECK(self): - return self.getToken(frameQLParser.CHECK, 0) - - def OPTION(self): - return self.getToken(frameQLParser.OPTION, 0) - - def UNDEFINED(self): - return self.getToken(frameQLParser.UNDEFINED, 0) - - def MERGE(self): - return self.getToken(frameQLParser.MERGE, 0) - - def TEMPTABLE(self): - return self.getToken(frameQLParser.TEMPTABLE, 0) - - def DEFINER(self): - return self.getToken(frameQLParser.DEFINER, 0) - - def INVOKER(self): - return self.getToken(frameQLParser.INVOKER, 0) - - def CASCADED(self): - return self.getToken(frameQLParser.CASCADED, 0) - - def LOCAL(self): - return self.getToken(frameQLParser.LOCAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_createView - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateView" ): - listener.enterCreateView(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateView" ): - listener.exitCreateView(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCreateView" ): - return visitor.visitCreateView(self) - else: - return visitor.visitChildren(self) - - - - - def createView(self): - - localctx = frameQLParser.CreateViewContext(self, self._ctx, self.state) - self.enterRule(localctx, 46, self.RULE_createView) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1165 - self.match(frameQLParser.CREATE) - self.state = 1168 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.OR: - self.state = 1166 - self.match(frameQLParser.OR) - self.state = 1167 - self.match(frameQLParser.REPLACE) - - - self.state = 1173 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALGORITHM: - self.state = 1170 - self.match(frameQLParser.ALGORITHM) - self.state = 1171 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 1172 - localctx.algType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.MERGE or _la==frameQLParser.TEMPTABLE or _la==frameQLParser.UNDEFINED): - localctx.algType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 1176 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFINER: - self.state = 1175 - self.ownerStatement() - - - self.state = 1181 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SQL: - self.state = 1178 - self.match(frameQLParser.SQL) - self.state = 1179 - self.match(frameQLParser.SECURITY) - self.state = 1180 - localctx.secContext = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFINER or _la==frameQLParser.INVOKER): - localctx.secContext = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 1183 - self.match(frameQLParser.VIEW) - self.state = 1184 - self.fullId() - self.state = 1189 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 1185 - self.match(frameQLParser.LR_BRACKET) - self.state = 1186 - self.uidList() - self.state = 1187 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 1191 - self.match(frameQLParser.AS) - self.state = 1192 - self.selectStatement() - self.state = 1199 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WITH: - self.state = 1193 - self.match(frameQLParser.WITH) - self.state = 1195 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CASCADED or _la==frameQLParser.LOCAL: - self.state = 1194 - localctx.checkOption = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.CASCADED or _la==frameQLParser.LOCAL): - localctx.checkOption = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 1197 - self.match(frameQLParser.CHECK) - self.state = 1198 - self.match(frameQLParser.OPTION) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CreateDatabaseOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - - def CHARSET(self): - return self.getToken(frameQLParser.CHARSET, 0) - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def COLLATE(self): - return self.getToken(frameQLParser.COLLATE, 0) - - def collationName(self): - return self.getTypedRuleContext(frameQLParser.CollationNameContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_createDatabaseOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateDatabaseOption" ): - listener.enterCreateDatabaseOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateDatabaseOption" ): - listener.exitCreateDatabaseOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCreateDatabaseOption" ): - return visitor.visitCreateDatabaseOption(self) - else: - return visitor.visitChildren(self) - - - - - def createDatabaseOption(self): - - localctx = frameQLParser.CreateDatabaseOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 48, self.RULE_createDatabaseOption) - self._la = 0 # Token type - try: - self.state = 1221 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,103,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 1202 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFAULT: - self.state = 1201 - self.match(frameQLParser.DEFAULT) - - - self.state = 1207 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.CHARACTER]: - self.state = 1204 - self.match(frameQLParser.CHARACTER) - self.state = 1205 - self.match(frameQLParser.SET) - pass - elif token in [frameQLParser.CHARSET]: - self.state = 1206 - self.match(frameQLParser.CHARSET) - pass - else: - raise NoViableAltException(self) - - self.state = 1210 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1209 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1212 - self.charsetName() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 1214 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFAULT: - self.state = 1213 - self.match(frameQLParser.DEFAULT) - - - self.state = 1216 - self.match(frameQLParser.COLLATE) - self.state = 1218 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1217 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1220 - self.collationName() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class OwnerStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DEFINER(self): - return self.getToken(frameQLParser.DEFINER, 0) - - def userName(self): - return self.getTypedRuleContext(frameQLParser.UserNameContext,0) - - - def CURRENT_USER(self): - return self.getToken(frameQLParser.CURRENT_USER, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_ownerStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterOwnerStatement" ): - listener.enterOwnerStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitOwnerStatement" ): - listener.exitOwnerStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitOwnerStatement" ): - return visitor.visitOwnerStatement(self) - else: - return visitor.visitChildren(self) - - - - - def ownerStatement(self): - - localctx = frameQLParser.OwnerStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 50, self.RULE_ownerStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1223 - self.match(frameQLParser.DEFINER) - self.state = 1224 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 1231 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ID, frameQLParser.STRING_USER_NAME]: - self.state = 1225 - self.userName() - pass - elif token in [frameQLParser.CURRENT_USER]: - self.state = 1226 - self.match(frameQLParser.CURRENT_USER) - self.state = 1229 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 1227 - self.match(frameQLParser.LR_BRACKET) - self.state = 1228 - self.match(frameQLParser.RR_BRACKET) - - - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ScheduleExpressionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_scheduleExpression - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class PreciseScheduleContext(ScheduleExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ScheduleExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def AT(self): - return self.getToken(frameQLParser.AT, 0) - def timestampValue(self): - return self.getTypedRuleContext(frameQLParser.TimestampValueContext,0) - - def intervalExpr(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IntervalExprContext) - else: - return self.getTypedRuleContext(frameQLParser.IntervalExprContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPreciseSchedule" ): - listener.enterPreciseSchedule(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPreciseSchedule" ): - listener.exitPreciseSchedule(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPreciseSchedule" ): - return visitor.visitPreciseSchedule(self) - else: - return visitor.visitChildren(self) - - - class IntervalScheduleContext(ScheduleExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ScheduleExpressionContext - super().__init__(parser) - self.start = None # TimestampValueContext - self._intervalExpr = None # IntervalExprContext - self.startIntervals = list() # of IntervalExprContexts - self.end = None # TimestampValueContext - self.endIntervals = list() # of IntervalExprContexts - self.copyFrom(ctx) - - def EVERY(self): - return self.getToken(frameQLParser.EVERY, 0) - def intervalType(self): - return self.getTypedRuleContext(frameQLParser.IntervalTypeContext,0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def STARTS(self): - return self.getToken(frameQLParser.STARTS, 0) - def ENDS(self): - return self.getToken(frameQLParser.ENDS, 0) - def timestampValue(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TimestampValueContext) - else: - return self.getTypedRuleContext(frameQLParser.TimestampValueContext,i) - - def intervalExpr(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IntervalExprContext) - else: - return self.getTypedRuleContext(frameQLParser.IntervalExprContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIntervalSchedule" ): - listener.enterIntervalSchedule(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIntervalSchedule" ): - listener.exitIntervalSchedule(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitIntervalSchedule" ): - return visitor.visitIntervalSchedule(self) - else: - return visitor.visitChildren(self) - - - - def scheduleExpression(self): - - localctx = frameQLParser.ScheduleExpressionContext(self, self._ctx, self.state) - self.enterRule(localctx, 52, self.RULE_scheduleExpression) - self._la = 0 # Token type - try: - self.state = 1267 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.AT]: - localctx = frameQLParser.PreciseScheduleContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1233 - self.match(frameQLParser.AT) - self.state = 1234 - self.timestampValue() - self.state = 1238 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.PLUS: - self.state = 1235 - self.intervalExpr() - self.state = 1240 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - elif token in [frameQLParser.EVERY]: - localctx = frameQLParser.IntervalScheduleContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1241 - self.match(frameQLParser.EVERY) - self.state = 1244 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,107,self._ctx) - if la_ == 1: - self.state = 1242 - self.decimalLiteral() - pass - - elif la_ == 2: - self.state = 1243 - self.expression(0) - pass - - - self.state = 1246 - self.intervalType() - self.state = 1255 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.STARTS: - self.state = 1247 - self.match(frameQLParser.STARTS) - self.state = 1248 - localctx.start = self.timestampValue() - self.state = 1252 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.PLUS: - self.state = 1249 - localctx._intervalExpr = self.intervalExpr() - localctx.startIntervals.append(localctx._intervalExpr) - self.state = 1254 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - self.state = 1265 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ENDS: - self.state = 1257 - self.match(frameQLParser.ENDS) - self.state = 1258 - localctx.end = self.timestampValue() - self.state = 1262 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.PLUS: - self.state = 1259 - localctx._intervalExpr = self.intervalExpr() - localctx.endIntervals.append(localctx._intervalExpr) - self.state = 1264 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class TimestampValueContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CURRENT_TIMESTAMP(self): - return self.getToken(frameQLParser.CURRENT_TIMESTAMP, 0) - - def stringLiteral(self): - return self.getTypedRuleContext(frameQLParser.StringLiteralContext,0) - - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_timestampValue - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTimestampValue" ): - listener.enterTimestampValue(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTimestampValue" ): - listener.exitTimestampValue(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTimestampValue" ): - return visitor.visitTimestampValue(self) - else: - return visitor.visitChildren(self) - - - - - def timestampValue(self): - - localctx = frameQLParser.TimestampValueContext(self, self._ctx, self.state) - self.enterRule(localctx, 54, self.RULE_timestampValue) - try: - self.state = 1273 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,113,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 1269 - self.match(frameQLParser.CURRENT_TIMESTAMP) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 1270 - self.stringLiteral() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 1271 - self.decimalLiteral() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 1272 - self.expression(0) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class IntervalExprContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def INTERVAL(self): - return self.getToken(frameQLParser.INTERVAL, 0) - - def intervalType(self): - return self.getTypedRuleContext(frameQLParser.IntervalTypeContext,0) - - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_intervalExpr - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIntervalExpr" ): - listener.enterIntervalExpr(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIntervalExpr" ): - listener.exitIntervalExpr(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitIntervalExpr" ): - return visitor.visitIntervalExpr(self) - else: - return visitor.visitChildren(self) - - - - - def intervalExpr(self): - - localctx = frameQLParser.IntervalExprContext(self, self._ctx, self.state) - self.enterRule(localctx, 56, self.RULE_intervalExpr) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1275 - self.match(frameQLParser.PLUS) - self.state = 1276 - self.match(frameQLParser.INTERVAL) - self.state = 1279 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,114,self._ctx) - if la_ == 1: - self.state = 1277 - self.decimalLiteral() - pass - - elif la_ == 2: - self.state = 1278 - self.expression(0) - pass - - - self.state = 1281 - self.intervalType() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class IntervalTypeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def intervalTypeBase(self): - return self.getTypedRuleContext(frameQLParser.IntervalTypeBaseContext,0) - - - def YEAR(self): - return self.getToken(frameQLParser.YEAR, 0) - - def YEAR_MONTH(self): - return self.getToken(frameQLParser.YEAR_MONTH, 0) - - def DAY_HOUR(self): - return self.getToken(frameQLParser.DAY_HOUR, 0) - - def DAY_MINUTE(self): - return self.getToken(frameQLParser.DAY_MINUTE, 0) - - def DAY_SECOND(self): - return self.getToken(frameQLParser.DAY_SECOND, 0) - - def HOUR_MINUTE(self): - return self.getToken(frameQLParser.HOUR_MINUTE, 0) - - def HOUR_SECOND(self): - return self.getToken(frameQLParser.HOUR_SECOND, 0) - - def MINUTE_SECOND(self): - return self.getToken(frameQLParser.MINUTE_SECOND, 0) - - def SECOND_MICROSECOND(self): - return self.getToken(frameQLParser.SECOND_MICROSECOND, 0) - - def MINUTE_MICROSECOND(self): - return self.getToken(frameQLParser.MINUTE_MICROSECOND, 0) - - def HOUR_MICROSECOND(self): - return self.getToken(frameQLParser.HOUR_MICROSECOND, 0) - - def DAY_MICROSECOND(self): - return self.getToken(frameQLParser.DAY_MICROSECOND, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_intervalType - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIntervalType" ): - listener.enterIntervalType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIntervalType" ): - listener.exitIntervalType(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitIntervalType" ): - return visitor.visitIntervalType(self) - else: - return visitor.visitChildren(self) - - - - - def intervalType(self): - - localctx = frameQLParser.IntervalTypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 58, self.RULE_intervalType) - try: - self.state = 1296 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND]: - self.enterOuterAlt(localctx, 1) - self.state = 1283 - self.intervalTypeBase() - pass - elif token in [frameQLParser.YEAR]: - self.enterOuterAlt(localctx, 2) - self.state = 1284 - self.match(frameQLParser.YEAR) - pass - elif token in [frameQLParser.YEAR_MONTH]: - self.enterOuterAlt(localctx, 3) - self.state = 1285 - self.match(frameQLParser.YEAR_MONTH) - pass - elif token in [frameQLParser.DAY_HOUR]: - self.enterOuterAlt(localctx, 4) - self.state = 1286 - self.match(frameQLParser.DAY_HOUR) - pass - elif token in [frameQLParser.DAY_MINUTE]: - self.enterOuterAlt(localctx, 5) - self.state = 1287 - self.match(frameQLParser.DAY_MINUTE) - pass - elif token in [frameQLParser.DAY_SECOND]: - self.enterOuterAlt(localctx, 6) - self.state = 1288 - self.match(frameQLParser.DAY_SECOND) - pass - elif token in [frameQLParser.HOUR_MINUTE]: - self.enterOuterAlt(localctx, 7) - self.state = 1289 - self.match(frameQLParser.HOUR_MINUTE) - pass - elif token in [frameQLParser.HOUR_SECOND]: - self.enterOuterAlt(localctx, 8) - self.state = 1290 - self.match(frameQLParser.HOUR_SECOND) - pass - elif token in [frameQLParser.MINUTE_SECOND]: - self.enterOuterAlt(localctx, 9) - self.state = 1291 - self.match(frameQLParser.MINUTE_SECOND) - pass - elif token in [frameQLParser.SECOND_MICROSECOND]: - self.enterOuterAlt(localctx, 10) - self.state = 1292 - self.match(frameQLParser.SECOND_MICROSECOND) - pass - elif token in [frameQLParser.MINUTE_MICROSECOND]: - self.enterOuterAlt(localctx, 11) - self.state = 1293 - self.match(frameQLParser.MINUTE_MICROSECOND) - pass - elif token in [frameQLParser.HOUR_MICROSECOND]: - self.enterOuterAlt(localctx, 12) - self.state = 1294 - self.match(frameQLParser.HOUR_MICROSECOND) - pass - elif token in [frameQLParser.DAY_MICROSECOND]: - self.enterOuterAlt(localctx, 13) - self.state = 1295 - self.match(frameQLParser.DAY_MICROSECOND) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class EnableTypeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ENABLE(self): - return self.getToken(frameQLParser.ENABLE, 0) - - def DISABLE(self): - return self.getToken(frameQLParser.DISABLE, 0) - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - - def SLAVE(self): - return self.getToken(frameQLParser.SLAVE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_enableType - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterEnableType" ): - listener.enterEnableType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitEnableType" ): - listener.exitEnableType(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitEnableType" ): - return visitor.visitEnableType(self) - else: - return visitor.visitChildren(self) - - - - - def enableType(self): - - localctx = frameQLParser.EnableTypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 60, self.RULE_enableType) - try: - self.state = 1303 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,116,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 1298 - self.match(frameQLParser.ENABLE) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 1299 - self.match(frameQLParser.DISABLE) - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 1300 - self.match(frameQLParser.DISABLE) - self.state = 1301 - self.match(frameQLParser.ON) - self.state = 1302 - self.match(frameQLParser.SLAVE) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class IndexTypeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def USING(self): - return self.getToken(frameQLParser.USING, 0) - - def BTREE(self): - return self.getToken(frameQLParser.BTREE, 0) - - def HASH(self): - return self.getToken(frameQLParser.HASH, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_indexType - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIndexType" ): - listener.enterIndexType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIndexType" ): - listener.exitIndexType(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitIndexType" ): - return visitor.visitIndexType(self) - else: - return visitor.visitChildren(self) - - - - - def indexType(self): - - localctx = frameQLParser.IndexTypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 62, self.RULE_indexType) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1305 - self.match(frameQLParser.USING) - self.state = 1306 - _la = self._input.LA(1) - if not(_la==frameQLParser.BTREE or _la==frameQLParser.HASH): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class IndexOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def KEY_BLOCK_SIZE(self): - return self.getToken(frameQLParser.KEY_BLOCK_SIZE, 0) - - def fileSizeLiteral(self): - return self.getTypedRuleContext(frameQLParser.FileSizeLiteralContext,0) - - - def indexType(self): - return self.getTypedRuleContext(frameQLParser.IndexTypeContext,0) - - - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - - def PARSER(self): - return self.getToken(frameQLParser.PARSER, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def COMMENT(self): - return self.getToken(frameQLParser.COMMENT, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_indexOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIndexOption" ): - listener.enterIndexOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIndexOption" ): - listener.exitIndexOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitIndexOption" ): - return visitor.visitIndexOption(self) - else: - return visitor.visitChildren(self) - - - - - def indexOption(self): - - localctx = frameQLParser.IndexOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 64, self.RULE_indexOption) - self._la = 0 # Token type - try: - self.state = 1319 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.KEY_BLOCK_SIZE]: - self.enterOuterAlt(localctx, 1) - self.state = 1308 - self.match(frameQLParser.KEY_BLOCK_SIZE) - self.state = 1310 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1309 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1312 - self.fileSizeLiteral() - pass - elif token in [frameQLParser.USING]: - self.enterOuterAlt(localctx, 2) - self.state = 1313 - self.indexType() - pass - elif token in [frameQLParser.WITH]: - self.enterOuterAlt(localctx, 3) - self.state = 1314 - self.match(frameQLParser.WITH) - self.state = 1315 - self.match(frameQLParser.PARSER) - self.state = 1316 - self.uid() - pass - elif token in [frameQLParser.COMMENT]: - self.enterOuterAlt(localctx, 4) - self.state = 1317 - self.match(frameQLParser.COMMENT) - self.state = 1318 - self.match(frameQLParser.STRING_LITERAL) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ProcedureParameterContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.direction = None # Token - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def dataType(self): - return self.getTypedRuleContext(frameQLParser.DataTypeContext,0) - - - def IN(self): - return self.getToken(frameQLParser.IN, 0) - - def OUT(self): - return self.getToken(frameQLParser.OUT, 0) - - def INOUT(self): - return self.getToken(frameQLParser.INOUT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_procedureParameter - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterProcedureParameter" ): - listener.enterProcedureParameter(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitProcedureParameter" ): - listener.exitProcedureParameter(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitProcedureParameter" ): - return visitor.visitProcedureParameter(self) - else: - return visitor.visitChildren(self) - - - - - def procedureParameter(self): - - localctx = frameQLParser.ProcedureParameterContext(self, self._ctx, self.state) - self.enterRule(localctx, 66, self.RULE_procedureParameter) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1321 - localctx.direction = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 70)) & ~0x3f) == 0 and ((1 << (_la - 70)) & ((1 << (frameQLParser.IN - 70)) | (1 << (frameQLParser.INOUT - 70)) | (1 << (frameQLParser.OUT - 70)))) != 0)): - localctx.direction = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 1322 - self.uid() - self.state = 1323 - self.dataType() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class FunctionParameterContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def dataType(self): - return self.getTypedRuleContext(frameQLParser.DataTypeContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_functionParameter - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFunctionParameter" ): - listener.enterFunctionParameter(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFunctionParameter" ): - listener.exitFunctionParameter(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitFunctionParameter" ): - return visitor.visitFunctionParameter(self) - else: - return visitor.visitChildren(self) - - - - - def functionParameter(self): - - localctx = frameQLParser.FunctionParameterContext(self, self._ctx, self.state) - self.enterRule(localctx, 68, self.RULE_functionParameter) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1325 - self.uid() - self.state = 1326 - self.dataType() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RoutineOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_routineOption - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class RoutineBehaviorContext(RoutineOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.RoutineOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def DETERMINISTIC(self): - return self.getToken(frameQLParser.DETERMINISTIC, 0) - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRoutineBehavior" ): - listener.enterRoutineBehavior(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRoutineBehavior" ): - listener.exitRoutineBehavior(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitRoutineBehavior" ): - return visitor.visitRoutineBehavior(self) - else: - return visitor.visitChildren(self) - - - class RoutineLanguageContext(RoutineOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.RoutineOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def LANGUAGE(self): - return self.getToken(frameQLParser.LANGUAGE, 0) - def SQL(self): - return self.getToken(frameQLParser.SQL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRoutineLanguage" ): - listener.enterRoutineLanguage(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRoutineLanguage" ): - listener.exitRoutineLanguage(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitRoutineLanguage" ): - return visitor.visitRoutineLanguage(self) - else: - return visitor.visitChildren(self) - - - class RoutineCommentContext(RoutineOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.RoutineOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def COMMENT(self): - return self.getToken(frameQLParser.COMMENT, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRoutineComment" ): - listener.enterRoutineComment(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRoutineComment" ): - listener.exitRoutineComment(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitRoutineComment" ): - return visitor.visitRoutineComment(self) - else: - return visitor.visitChildren(self) - - - class RoutineSecurityContext(RoutineOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.RoutineOptionContext - super().__init__(parser) - self.context = None # Token - self.copyFrom(ctx) - - def SQL(self): - return self.getToken(frameQLParser.SQL, 0) - def SECURITY(self): - return self.getToken(frameQLParser.SECURITY, 0) - def DEFINER(self): - return self.getToken(frameQLParser.DEFINER, 0) - def INVOKER(self): - return self.getToken(frameQLParser.INVOKER, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRoutineSecurity" ): - listener.enterRoutineSecurity(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRoutineSecurity" ): - listener.exitRoutineSecurity(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitRoutineSecurity" ): - return visitor.visitRoutineSecurity(self) - else: - return visitor.visitChildren(self) - - - class RoutineDataContext(RoutineOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.RoutineOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def CONTAINS(self): - return self.getToken(frameQLParser.CONTAINS, 0) - def SQL(self): - return self.getToken(frameQLParser.SQL, 0) - def NO(self): - return self.getToken(frameQLParser.NO, 0) - def READS(self): - return self.getToken(frameQLParser.READS, 0) - def DATA(self): - return self.getToken(frameQLParser.DATA, 0) - def MODIFIES(self): - return self.getToken(frameQLParser.MODIFIES, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRoutineData" ): - listener.enterRoutineData(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRoutineData" ): - listener.exitRoutineData(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitRoutineData" ): - return visitor.visitRoutineData(self) - else: - return visitor.visitChildren(self) - - - - def routineOption(self): - - localctx = frameQLParser.RoutineOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 70, self.RULE_routineOption) - self._la = 0 # Token type - try: - self.state = 1351 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.COMMENT]: - localctx = frameQLParser.RoutineCommentContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1328 - self.match(frameQLParser.COMMENT) - self.state = 1329 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.LANGUAGE]: - localctx = frameQLParser.RoutineLanguageContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1330 - self.match(frameQLParser.LANGUAGE) - self.state = 1331 - self.match(frameQLParser.SQL) - pass - elif token in [frameQLParser.DETERMINISTIC, frameQLParser.NOT]: - localctx = frameQLParser.RoutineBehaviorContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1333 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NOT: - self.state = 1332 - self.match(frameQLParser.NOT) - - - self.state = 1335 - self.match(frameQLParser.DETERMINISTIC) - pass - elif token in [frameQLParser.MODIFIES, frameQLParser.READS, frameQLParser.CONTAINS, frameQLParser.NO]: - localctx = frameQLParser.RoutineDataContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 1346 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.CONTAINS]: - self.state = 1336 - self.match(frameQLParser.CONTAINS) - self.state = 1337 - self.match(frameQLParser.SQL) - pass - elif token in [frameQLParser.NO]: - self.state = 1338 - self.match(frameQLParser.NO) - self.state = 1339 - self.match(frameQLParser.SQL) - pass - elif token in [frameQLParser.READS]: - self.state = 1340 - self.match(frameQLParser.READS) - self.state = 1341 - self.match(frameQLParser.SQL) - self.state = 1342 - self.match(frameQLParser.DATA) - pass - elif token in [frameQLParser.MODIFIES]: - self.state = 1343 - self.match(frameQLParser.MODIFIES) - self.state = 1344 - self.match(frameQLParser.SQL) - self.state = 1345 - self.match(frameQLParser.DATA) - pass - else: - raise NoViableAltException(self) - - pass - elif token in [frameQLParser.SQL]: - localctx = frameQLParser.RoutineSecurityContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 1348 - self.match(frameQLParser.SQL) - self.state = 1349 - self.match(frameQLParser.SECURITY) - self.state = 1350 - localctx.context = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFINER or _la==frameQLParser.INVOKER): - localctx.context = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ServerOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def HOST(self): - return self.getToken(frameQLParser.HOST, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def DATABASE(self): - return self.getToken(frameQLParser.DATABASE, 0) - - def USER(self): - return self.getToken(frameQLParser.USER, 0) - - def PASSWORD(self): - return self.getToken(frameQLParser.PASSWORD, 0) - - def SOCKET(self): - return self.getToken(frameQLParser.SOCKET, 0) - - def OWNER(self): - return self.getToken(frameQLParser.OWNER, 0) - - def PORT(self): - return self.getToken(frameQLParser.PORT, 0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_serverOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterServerOption" ): - listener.enterServerOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitServerOption" ): - listener.exitServerOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitServerOption" ): - return visitor.visitServerOption(self) - else: - return visitor.visitChildren(self) - - - - - def serverOption(self): - - localctx = frameQLParser.ServerOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 72, self.RULE_serverOption) - try: - self.state = 1367 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.HOST]: - self.enterOuterAlt(localctx, 1) - self.state = 1353 - self.match(frameQLParser.HOST) - self.state = 1354 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.DATABASE]: - self.enterOuterAlt(localctx, 2) - self.state = 1355 - self.match(frameQLParser.DATABASE) - self.state = 1356 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.USER]: - self.enterOuterAlt(localctx, 3) - self.state = 1357 - self.match(frameQLParser.USER) - self.state = 1358 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.PASSWORD]: - self.enterOuterAlt(localctx, 4) - self.state = 1359 - self.match(frameQLParser.PASSWORD) - self.state = 1360 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.SOCKET]: - self.enterOuterAlt(localctx, 5) - self.state = 1361 - self.match(frameQLParser.SOCKET) - self.state = 1362 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.OWNER]: - self.enterOuterAlt(localctx, 6) - self.state = 1363 - self.match(frameQLParser.OWNER) - self.state = 1364 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.PORT]: - self.enterOuterAlt(localctx, 7) - self.state = 1365 - self.match(frameQLParser.PORT) - self.state = 1366 - self.decimalLiteral() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CreateDefinitionsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def createDefinition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.CreateDefinitionContext) - else: - return self.getTypedRuleContext(frameQLParser.CreateDefinitionContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_createDefinitions - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateDefinitions" ): - listener.enterCreateDefinitions(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateDefinitions" ): - listener.exitCreateDefinitions(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCreateDefinitions" ): - return visitor.visitCreateDefinitions(self) - else: - return visitor.visitChildren(self) - - - - - def createDefinitions(self): - - localctx = frameQLParser.CreateDefinitionsContext(self, self._ctx, self.state) - self.enterRule(localctx, 74, self.RULE_createDefinitions) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1369 - self.match(frameQLParser.LR_BRACKET) - self.state = 1370 - self.createDefinition() - self.state = 1375 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 1371 - self.match(frameQLParser.COMMA) - self.state = 1372 - self.createDefinition() - self.state = 1377 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1378 - self.match(frameQLParser.RR_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CreateDefinitionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_createDefinition - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class ColumnDeclarationContext(CreateDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.CreateDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def columnDefinition(self): - return self.getTypedRuleContext(frameQLParser.ColumnDefinitionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterColumnDeclaration" ): - listener.enterColumnDeclaration(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitColumnDeclaration" ): - listener.exitColumnDeclaration(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitColumnDeclaration" ): - return visitor.visitColumnDeclaration(self) - else: - return visitor.visitChildren(self) - - - class ConstraintDeclarationContext(CreateDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.CreateDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def tableConstraint(self): - return self.getTypedRuleContext(frameQLParser.TableConstraintContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterConstraintDeclaration" ): - listener.enterConstraintDeclaration(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitConstraintDeclaration" ): - listener.exitConstraintDeclaration(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitConstraintDeclaration" ): - return visitor.visitConstraintDeclaration(self) - else: - return visitor.visitChildren(self) - - - class IndexDeclarationContext(CreateDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.CreateDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def indexColumnDefinition(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnDefinitionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIndexDeclaration" ): - listener.enterIndexDeclaration(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIndexDeclaration" ): - listener.exitIndexDeclaration(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitIndexDeclaration" ): - return visitor.visitIndexDeclaration(self) - else: - return visitor.visitChildren(self) - - - - def createDefinition(self): - - localctx = frameQLParser.CreateDefinitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 76, self.RULE_createDefinition) - try: - self.state = 1385 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - localctx = frameQLParser.ColumnDeclarationContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1380 - self.uid() - self.state = 1381 - self.columnDefinition() - pass - elif token in [frameQLParser.CHECK, frameQLParser.CONSTRAINT, frameQLParser.FOREIGN, frameQLParser.PRIMARY, frameQLParser.UNIQUE]: - localctx = frameQLParser.ConstraintDeclarationContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1383 - self.tableConstraint() - pass - elif token in [frameQLParser.FULLTEXT, frameQLParser.INDEX, frameQLParser.KEY, frameQLParser.SPATIAL]: - localctx = frameQLParser.IndexDeclarationContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1384 - self.indexColumnDefinition() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ColumnDefinitionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def dataType(self): - return self.getTypedRuleContext(frameQLParser.DataTypeContext,0) - - - def columnConstraint(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ColumnConstraintContext) - else: - return self.getTypedRuleContext(frameQLParser.ColumnConstraintContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_columnDefinition - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterColumnDefinition" ): - listener.enterColumnDefinition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitColumnDefinition" ): - listener.exitColumnDefinition(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitColumnDefinition" ): - return visitor.visitColumnDefinition(self) - else: - return visitor.visitChildren(self) - - - - - def columnDefinition(self): - - localctx = frameQLParser.ColumnDefinitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 78, self.RULE_columnDefinition) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1387 - self.dataType() - self.state = 1391 - self._errHandler.sync(self) - _la = self._input.LA(1) - while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << frameQLParser.AS) | (1 << frameQLParser.DEFAULT) | (1 << frameQLParser.GENERATED))) != 0) or ((((_la - 81)) & ~0x3f) == 0 and ((1 << (_la - 81)) & ((1 << (frameQLParser.KEY - 81)) | (1 << (frameQLParser.NOT - 81)) | (1 << (frameQLParser.NULL_LITERAL - 81)) | (1 << (frameQLParser.PRIMARY - 81)) | (1 << (frameQLParser.REFERENCES - 81)))) != 0) or _la==frameQLParser.UNIQUE or _la==frameQLParser.SERIAL or ((((_la - 260)) & ~0x3f) == 0 and ((1 << (_la - 260)) & ((1 << (frameQLParser.AUTO_INCREMENT - 260)) | (1 << (frameQLParser.COLUMN_FORMAT - 260)) | (1 << (frameQLParser.COMMENT - 260)))) != 0) or _la==frameQLParser.STORAGE or _la==frameQLParser.NULL_SPEC_LITERAL: - self.state = 1388 - self.columnConstraint() - self.state = 1393 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ColumnConstraintContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_columnConstraint - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class StorageColumnConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ColumnConstraintContext - super().__init__(parser) - self.storageval = None # Token - self.copyFrom(ctx) - - def STORAGE(self): - return self.getToken(frameQLParser.STORAGE, 0) - def DISK(self): - return self.getToken(frameQLParser.DISK, 0) - def MEMORY(self): - return self.getToken(frameQLParser.MEMORY, 0) - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStorageColumnConstraint" ): - listener.enterStorageColumnConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStorageColumnConstraint" ): - listener.exitStorageColumnConstraint(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitStorageColumnConstraint" ): - return visitor.visitStorageColumnConstraint(self) - else: - return visitor.visitChildren(self) - - - class FormatColumnConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ColumnConstraintContext - super().__init__(parser) - self.colformat = None # Token - self.copyFrom(ctx) - - def COLUMN_FORMAT(self): - return self.getToken(frameQLParser.COLUMN_FORMAT, 0) - def FIXED(self): - return self.getToken(frameQLParser.FIXED, 0) - def DYNAMIC(self): - return self.getToken(frameQLParser.DYNAMIC, 0) - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFormatColumnConstraint" ): - listener.enterFormatColumnConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFormatColumnConstraint" ): - listener.exitFormatColumnConstraint(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitFormatColumnConstraint" ): - return visitor.visitFormatColumnConstraint(self) - else: - return visitor.visitChildren(self) - - - class AutoIncrementColumnConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def AUTO_INCREMENT(self): - return self.getToken(frameQLParser.AUTO_INCREMENT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAutoIncrementColumnConstraint" ): - listener.enterAutoIncrementColumnConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAutoIncrementColumnConstraint" ): - listener.exitAutoIncrementColumnConstraint(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAutoIncrementColumnConstraint" ): - return visitor.visitAutoIncrementColumnConstraint(self) - else: - return visitor.visitChildren(self) - - - class CommentColumnConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def COMMENT(self): - return self.getToken(frameQLParser.COMMENT, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCommentColumnConstraint" ): - listener.enterCommentColumnConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCommentColumnConstraint" ): - listener.exitCommentColumnConstraint(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCommentColumnConstraint" ): - return visitor.visitCommentColumnConstraint(self) - else: - return visitor.visitChildren(self) - - - class PrimaryKeyColumnConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - def PRIMARY(self): - return self.getToken(frameQLParser.PRIMARY, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPrimaryKeyColumnConstraint" ): - listener.enterPrimaryKeyColumnConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPrimaryKeyColumnConstraint" ): - listener.exitPrimaryKeyColumnConstraint(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPrimaryKeyColumnConstraint" ): - return visitor.visitPrimaryKeyColumnConstraint(self) - else: - return visitor.visitChildren(self) - - - class UniqueKeyColumnConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def UNIQUE(self): - return self.getToken(frameQLParser.UNIQUE, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUniqueKeyColumnConstraint" ): - listener.enterUniqueKeyColumnConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUniqueKeyColumnConstraint" ): - listener.exitUniqueKeyColumnConstraint(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUniqueKeyColumnConstraint" ): - return visitor.visitUniqueKeyColumnConstraint(self) - else: - return visitor.visitChildren(self) - - - class SerialDefaultColumnConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def SERIAL(self): - return self.getToken(frameQLParser.SERIAL, 0) - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - def VALUE(self): - return self.getToken(frameQLParser.VALUE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSerialDefaultColumnConstraint" ): - listener.enterSerialDefaultColumnConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSerialDefaultColumnConstraint" ): - listener.exitSerialDefaultColumnConstraint(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSerialDefaultColumnConstraint" ): - return visitor.visitSerialDefaultColumnConstraint(self) - else: - return visitor.visitChildren(self) - - - class NullColumnConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def nullNotnull(self): - return self.getTypedRuleContext(frameQLParser.NullNotnullContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterNullColumnConstraint" ): - listener.enterNullColumnConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitNullColumnConstraint" ): - listener.exitNullColumnConstraint(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitNullColumnConstraint" ): - return visitor.visitNullColumnConstraint(self) - else: - return visitor.visitChildren(self) - - - class DefaultColumnConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - def defaultValue(self): - return self.getTypedRuleContext(frameQLParser.DefaultValueContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDefaultColumnConstraint" ): - listener.enterDefaultColumnConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDefaultColumnConstraint" ): - listener.exitDefaultColumnConstraint(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDefaultColumnConstraint" ): - return visitor.visitDefaultColumnConstraint(self) - else: - return visitor.visitChildren(self) - - - class ReferenceColumnConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def referenceDefinition(self): - return self.getTypedRuleContext(frameQLParser.ReferenceDefinitionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterReferenceColumnConstraint" ): - listener.enterReferenceColumnConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitReferenceColumnConstraint" ): - listener.exitReferenceColumnConstraint(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitReferenceColumnConstraint" ): - return visitor.visitReferenceColumnConstraint(self) - else: - return visitor.visitChildren(self) - - - class GeneratedColumnConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def GENERATED(self): - return self.getToken(frameQLParser.GENERATED, 0) - def ALWAYS(self): - return self.getToken(frameQLParser.ALWAYS, 0) - def VIRTUAL(self): - return self.getToken(frameQLParser.VIRTUAL, 0) - def STORED(self): - return self.getToken(frameQLParser.STORED, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterGeneratedColumnConstraint" ): - listener.enterGeneratedColumnConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitGeneratedColumnConstraint" ): - listener.exitGeneratedColumnConstraint(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitGeneratedColumnConstraint" ): - return visitor.visitGeneratedColumnConstraint(self) - else: - return visitor.visitChildren(self) - - - - def columnConstraint(self): - - localctx = frameQLParser.ColumnConstraintContext(self, self._ctx, self.state) - self.enterRule(localctx, 80, self.RULE_columnConstraint) - self._la = 0 # Token type - try: - self.state = 1427 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.NOT, frameQLParser.NULL_LITERAL, frameQLParser.NULL_SPEC_LITERAL]: - localctx = frameQLParser.NullColumnConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1394 - self.nullNotnull() - pass - elif token in [frameQLParser.DEFAULT]: - localctx = frameQLParser.DefaultColumnConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1395 - self.match(frameQLParser.DEFAULT) - self.state = 1396 - self.defaultValue() - pass - elif token in [frameQLParser.AUTO_INCREMENT]: - localctx = frameQLParser.AutoIncrementColumnConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1397 - self.match(frameQLParser.AUTO_INCREMENT) - pass - elif token in [frameQLParser.KEY, frameQLParser.PRIMARY]: - localctx = frameQLParser.PrimaryKeyColumnConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 1399 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PRIMARY: - self.state = 1398 - self.match(frameQLParser.PRIMARY) - - - self.state = 1401 - self.match(frameQLParser.KEY) - pass - elif token in [frameQLParser.UNIQUE]: - localctx = frameQLParser.UniqueKeyColumnConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 1402 - self.match(frameQLParser.UNIQUE) - self.state = 1404 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,127,self._ctx) - if la_ == 1: - self.state = 1403 - self.match(frameQLParser.KEY) - - - pass - elif token in [frameQLParser.COMMENT]: - localctx = frameQLParser.CommentColumnConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 1406 - self.match(frameQLParser.COMMENT) - self.state = 1407 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.COLUMN_FORMAT]: - localctx = frameQLParser.FormatColumnConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 1408 - self.match(frameQLParser.COLUMN_FORMAT) - self.state = 1409 - localctx.colformat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.DYNAMIC or _la==frameQLParser.FIXED): - localctx.colformat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - elif token in [frameQLParser.STORAGE]: - localctx = frameQLParser.StorageColumnConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 8) - self.state = 1410 - self.match(frameQLParser.STORAGE) - self.state = 1411 - localctx.storageval = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.DISK or _la==frameQLParser.MEMORY): - localctx.storageval = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - elif token in [frameQLParser.REFERENCES]: - localctx = frameQLParser.ReferenceColumnConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 9) - self.state = 1412 - self.referenceDefinition() - pass - elif token in [frameQLParser.AS, frameQLParser.GENERATED]: - localctx = frameQLParser.GeneratedColumnConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 10) - self.state = 1415 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.GENERATED: - self.state = 1413 - self.match(frameQLParser.GENERATED) - self.state = 1414 - self.match(frameQLParser.ALWAYS) - - - self.state = 1417 - self.match(frameQLParser.AS) - self.state = 1418 - self.match(frameQLParser.LR_BRACKET) - self.state = 1419 - self.expression(0) - self.state = 1420 - self.match(frameQLParser.RR_BRACKET) - self.state = 1422 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.STORED or _la==frameQLParser.VIRTUAL: - self.state = 1421 - _la = self._input.LA(1) - if not(_la==frameQLParser.STORED or _la==frameQLParser.VIRTUAL): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - pass - elif token in [frameQLParser.SERIAL]: - localctx = frameQLParser.SerialDefaultColumnConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 11) - self.state = 1424 - self.match(frameQLParser.SERIAL) - self.state = 1425 - self.match(frameQLParser.DEFAULT) - self.state = 1426 - self.match(frameQLParser.VALUE) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class TableConstraintContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_tableConstraint - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class UniqueKeyTableConstraintContext(TableConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableConstraintContext - super().__init__(parser) - self.name = None # UidContext - self.indexFormat = None # Token - self.index = None # UidContext - self.copyFrom(ctx) - - def UNIQUE(self): - return self.getToken(frameQLParser.UNIQUE, 0) - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - def CONSTRAINT(self): - return self.getToken(frameQLParser.CONSTRAINT, 0) - def indexType(self): - return self.getTypedRuleContext(frameQLParser.IndexTypeContext,0) - - def indexOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IndexOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.IndexOptionContext,i) - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUniqueKeyTableConstraint" ): - listener.enterUniqueKeyTableConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUniqueKeyTableConstraint" ): - listener.exitUniqueKeyTableConstraint(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUniqueKeyTableConstraint" ): - return visitor.visitUniqueKeyTableConstraint(self) - else: - return visitor.visitChildren(self) - - - class CheckTableConstraintContext(TableConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableConstraintContext - super().__init__(parser) - self.name = None # UidContext - self.copyFrom(ctx) - - def CHECK(self): - return self.getToken(frameQLParser.CHECK, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def CONSTRAINT(self): - return self.getToken(frameQLParser.CONSTRAINT, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCheckTableConstraint" ): - listener.enterCheckTableConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCheckTableConstraint" ): - listener.exitCheckTableConstraint(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCheckTableConstraint" ): - return visitor.visitCheckTableConstraint(self) - else: - return visitor.visitChildren(self) - - - class PrimaryKeyTableConstraintContext(TableConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableConstraintContext - super().__init__(parser) - self.name = None # UidContext - self.copyFrom(ctx) - - def PRIMARY(self): - return self.getToken(frameQLParser.PRIMARY, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - def CONSTRAINT(self): - return self.getToken(frameQLParser.CONSTRAINT, 0) - def indexType(self): - return self.getTypedRuleContext(frameQLParser.IndexTypeContext,0) - - def indexOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IndexOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.IndexOptionContext,i) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPrimaryKeyTableConstraint" ): - listener.enterPrimaryKeyTableConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPrimaryKeyTableConstraint" ): - listener.exitPrimaryKeyTableConstraint(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPrimaryKeyTableConstraint" ): - return visitor.visitPrimaryKeyTableConstraint(self) - else: - return visitor.visitChildren(self) - - - class ForeignKeyTableConstraintContext(TableConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableConstraintContext - super().__init__(parser) - self.name = None # UidContext - self.index = None # UidContext - self.copyFrom(ctx) - - def FOREIGN(self): - return self.getToken(frameQLParser.FOREIGN, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - def referenceDefinition(self): - return self.getTypedRuleContext(frameQLParser.ReferenceDefinitionContext,0) - - def CONSTRAINT(self): - return self.getToken(frameQLParser.CONSTRAINT, 0) - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterForeignKeyTableConstraint" ): - listener.enterForeignKeyTableConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitForeignKeyTableConstraint" ): - listener.exitForeignKeyTableConstraint(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitForeignKeyTableConstraint" ): - return visitor.visitForeignKeyTableConstraint(self) - else: - return visitor.visitChildren(self) - - - - def tableConstraint(self): - - localctx = frameQLParser.TableConstraintContext(self, self._ctx, self.state) - self.enterRule(localctx, 82, self.RULE_tableConstraint) - self._la = 0 # Token type - try: - self.state = 1495 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,146,self._ctx) - if la_ == 1: - localctx = frameQLParser.PrimaryKeyTableConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1433 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CONSTRAINT: - self.state = 1429 - self.match(frameQLParser.CONSTRAINT) - self.state = 1431 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 1430 - localctx.name = self.uid() - - - - - self.state = 1435 - self.match(frameQLParser.PRIMARY) - self.state = 1436 - self.match(frameQLParser.KEY) - self.state = 1438 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.USING: - self.state = 1437 - self.indexType() - - - self.state = 1440 - self.indexColumnNames() - self.state = 1444 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.USING or _la==frameQLParser.WITH or _la==frameQLParser.COMMENT or _la==frameQLParser.KEY_BLOCK_SIZE: - self.state = 1441 - self.indexOption() - self.state = 1446 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 2: - localctx = frameQLParser.UniqueKeyTableConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1451 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CONSTRAINT: - self.state = 1447 - self.match(frameQLParser.CONSTRAINT) - self.state = 1449 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 1448 - localctx.name = self.uid() - - - - - self.state = 1453 - self.match(frameQLParser.UNIQUE) - self.state = 1455 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INDEX or _la==frameQLParser.KEY: - self.state = 1454 - localctx.indexFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.INDEX or _la==frameQLParser.KEY): - localctx.indexFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 1458 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 1457 - localctx.index = self.uid() - - - self.state = 1461 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.USING: - self.state = 1460 - self.indexType() - - - self.state = 1463 - self.indexColumnNames() - self.state = 1467 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.USING or _la==frameQLParser.WITH or _la==frameQLParser.COMMENT or _la==frameQLParser.KEY_BLOCK_SIZE: - self.state = 1464 - self.indexOption() - self.state = 1469 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 3: - localctx = frameQLParser.ForeignKeyTableConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1474 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CONSTRAINT: - self.state = 1470 - self.match(frameQLParser.CONSTRAINT) - self.state = 1472 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 1471 - localctx.name = self.uid() - - - - - self.state = 1476 - self.match(frameQLParser.FOREIGN) - self.state = 1477 - self.match(frameQLParser.KEY) - self.state = 1479 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 1478 - localctx.index = self.uid() - - - self.state = 1481 - self.indexColumnNames() - self.state = 1482 - self.referenceDefinition() - pass - - elif la_ == 4: - localctx = frameQLParser.CheckTableConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 1488 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CONSTRAINT: - self.state = 1484 - self.match(frameQLParser.CONSTRAINT) - self.state = 1486 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 1485 - localctx.name = self.uid() - - - - - self.state = 1490 - self.match(frameQLParser.CHECK) - self.state = 1491 - self.match(frameQLParser.LR_BRACKET) - self.state = 1492 - self.expression(0) - self.state = 1493 - self.match(frameQLParser.RR_BRACKET) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ReferenceDefinitionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.matchType = None # Token - - def REFERENCES(self): - return self.getToken(frameQLParser.REFERENCES, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - - def MATCH(self): - return self.getToken(frameQLParser.MATCH, 0) - - def referenceAction(self): - return self.getTypedRuleContext(frameQLParser.ReferenceActionContext,0) - - - def FULL(self): - return self.getToken(frameQLParser.FULL, 0) - - def PARTIAL(self): - return self.getToken(frameQLParser.PARTIAL, 0) - - def SIMPLE(self): - return self.getToken(frameQLParser.SIMPLE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_referenceDefinition - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterReferenceDefinition" ): - listener.enterReferenceDefinition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitReferenceDefinition" ): - listener.exitReferenceDefinition(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitReferenceDefinition" ): - return visitor.visitReferenceDefinition(self) - else: - return visitor.visitChildren(self) - - - - - def referenceDefinition(self): - - localctx = frameQLParser.ReferenceDefinitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 84, self.RULE_referenceDefinition) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1497 - self.match(frameQLParser.REFERENCES) - self.state = 1498 - self.tableName() - self.state = 1499 - self.indexColumnNames() - self.state = 1502 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.MATCH: - self.state = 1500 - self.match(frameQLParser.MATCH) - self.state = 1501 - localctx.matchType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FULL or _la==frameQLParser.PARTIAL or _la==frameQLParser.SIMPLE): - localctx.matchType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 1505 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ON: - self.state = 1504 - self.referenceAction() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ReferenceActionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.onDelete = None # ReferenceControlTypeContext - self.onUpdate = None # ReferenceControlTypeContext - - def ON(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.ON) - else: - return self.getToken(frameQLParser.ON, i) - - def DELETE(self): - return self.getToken(frameQLParser.DELETE, 0) - - def referenceControlType(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ReferenceControlTypeContext) - else: - return self.getTypedRuleContext(frameQLParser.ReferenceControlTypeContext,i) - - - def UPDATE(self): - return self.getToken(frameQLParser.UPDATE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_referenceAction - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterReferenceAction" ): - listener.enterReferenceAction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitReferenceAction" ): - listener.exitReferenceAction(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitReferenceAction" ): - return visitor.visitReferenceAction(self) - else: - return visitor.visitChildren(self) - - - - - def referenceAction(self): - - localctx = frameQLParser.ReferenceActionContext(self, self._ctx, self.state) - self.enterRule(localctx, 86, self.RULE_referenceAction) - self._la = 0 # Token type - try: - self.state = 1523 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,151,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 1507 - self.match(frameQLParser.ON) - self.state = 1508 - self.match(frameQLParser.DELETE) - self.state = 1509 - localctx.onDelete = self.referenceControlType() - self.state = 1513 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ON: - self.state = 1510 - self.match(frameQLParser.ON) - self.state = 1511 - self.match(frameQLParser.UPDATE) - self.state = 1512 - localctx.onUpdate = self.referenceControlType() - - - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 1515 - self.match(frameQLParser.ON) - self.state = 1516 - self.match(frameQLParser.UPDATE) - self.state = 1517 - localctx.onUpdate = self.referenceControlType() - self.state = 1521 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ON: - self.state = 1518 - self.match(frameQLParser.ON) - self.state = 1519 - self.match(frameQLParser.DELETE) - self.state = 1520 - localctx.onDelete = self.referenceControlType() - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ReferenceControlTypeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def RESTRICT(self): - return self.getToken(frameQLParser.RESTRICT, 0) - - def CASCADE(self): - return self.getToken(frameQLParser.CASCADE, 0) - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - - def NULL_LITERAL(self): - return self.getToken(frameQLParser.NULL_LITERAL, 0) - - def NO(self): - return self.getToken(frameQLParser.NO, 0) - - def ACTION(self): - return self.getToken(frameQLParser.ACTION, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_referenceControlType - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterReferenceControlType" ): - listener.enterReferenceControlType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitReferenceControlType" ): - listener.exitReferenceControlType(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitReferenceControlType" ): - return visitor.visitReferenceControlType(self) - else: - return visitor.visitChildren(self) - - - - - def referenceControlType(self): - - localctx = frameQLParser.ReferenceControlTypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 88, self.RULE_referenceControlType) - try: - self.state = 1531 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.RESTRICT]: - self.enterOuterAlt(localctx, 1) - self.state = 1525 - self.match(frameQLParser.RESTRICT) - pass - elif token in [frameQLParser.CASCADE]: - self.enterOuterAlt(localctx, 2) - self.state = 1526 - self.match(frameQLParser.CASCADE) - pass - elif token in [frameQLParser.SET]: - self.enterOuterAlt(localctx, 3) - self.state = 1527 - self.match(frameQLParser.SET) - self.state = 1528 - self.match(frameQLParser.NULL_LITERAL) - pass - elif token in [frameQLParser.NO]: - self.enterOuterAlt(localctx, 4) - self.state = 1529 - self.match(frameQLParser.NO) - self.state = 1530 - self.match(frameQLParser.ACTION) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class IndexColumnDefinitionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_indexColumnDefinition - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class SpecialIndexDeclarationContext(IndexColumnDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.IndexColumnDefinitionContext - super().__init__(parser) - self.indexFormat = None # Token - self.copyFrom(ctx) - - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - def FULLTEXT(self): - return self.getToken(frameQLParser.FULLTEXT, 0) - def SPATIAL(self): - return self.getToken(frameQLParser.SPATIAL, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def indexOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IndexOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.IndexOptionContext,i) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSpecialIndexDeclaration" ): - listener.enterSpecialIndexDeclaration(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSpecialIndexDeclaration" ): - listener.exitSpecialIndexDeclaration(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSpecialIndexDeclaration" ): - return visitor.visitSpecialIndexDeclaration(self) - else: - return visitor.visitChildren(self) - - - class SimpleIndexDeclarationContext(IndexColumnDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.IndexColumnDefinitionContext - super().__init__(parser) - self.indexFormat = None # Token - self.copyFrom(ctx) - - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def indexType(self): - return self.getTypedRuleContext(frameQLParser.IndexTypeContext,0) - - def indexOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IndexOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.IndexOptionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSimpleIndexDeclaration" ): - listener.enterSimpleIndexDeclaration(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSimpleIndexDeclaration" ): - listener.exitSimpleIndexDeclaration(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSimpleIndexDeclaration" ): - return visitor.visitSimpleIndexDeclaration(self) - else: - return visitor.visitChildren(self) - - - - def indexColumnDefinition(self): - - localctx = frameQLParser.IndexColumnDefinitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 90, self.RULE_indexColumnDefinition) - self._la = 0 # Token type - try: - self.state = 1561 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.INDEX, frameQLParser.KEY]: - localctx = frameQLParser.SimpleIndexDeclarationContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1533 - localctx.indexFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.INDEX or _la==frameQLParser.KEY): - localctx.indexFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 1535 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 1534 - self.uid() - - - self.state = 1538 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.USING: - self.state = 1537 - self.indexType() - - - self.state = 1540 - self.indexColumnNames() - self.state = 1544 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.USING or _la==frameQLParser.WITH or _la==frameQLParser.COMMENT or _la==frameQLParser.KEY_BLOCK_SIZE: - self.state = 1541 - self.indexOption() - self.state = 1546 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - elif token in [frameQLParser.FULLTEXT, frameQLParser.SPATIAL]: - localctx = frameQLParser.SpecialIndexDeclarationContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1547 - _la = self._input.LA(1) - if not(_la==frameQLParser.FULLTEXT or _la==frameQLParser.SPATIAL): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 1549 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INDEX or _la==frameQLParser.KEY: - self.state = 1548 - localctx.indexFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.INDEX or _la==frameQLParser.KEY): - localctx.indexFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 1552 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 1551 - self.uid() - - - self.state = 1554 - self.indexColumnNames() - self.state = 1558 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.USING or _la==frameQLParser.WITH or _la==frameQLParser.COMMENT or _la==frameQLParser.KEY_BLOCK_SIZE: - self.state = 1555 - self.indexOption() - self.state = 1560 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class TableOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_tableOption - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class TableOptionEngineContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - def engineName(self): - return self.getTypedRuleContext(frameQLParser.EngineNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionEngine" ): - listener.enterTableOptionEngine(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionEngine" ): - listener.exitTableOptionEngine(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionEngine" ): - return visitor.visitTableOptionEngine(self) - else: - return visitor.visitChildren(self) - - - class TableOptionMaxRowsContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def MAX_ROWS(self): - return self.getToken(frameQLParser.MAX_ROWS, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionMaxRows" ): - listener.enterTableOptionMaxRows(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionMaxRows" ): - listener.exitTableOptionMaxRows(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionMaxRows" ): - return visitor.visitTableOptionMaxRows(self) - else: - return visitor.visitChildren(self) - - - class TableOptionCollateContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def COLLATE(self): - return self.getToken(frameQLParser.COLLATE, 0) - def collationName(self): - return self.getTypedRuleContext(frameQLParser.CollationNameContext,0) - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionCollate" ): - listener.enterTableOptionCollate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionCollate" ): - listener.exitTableOptionCollate(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionCollate" ): - return visitor.visitTableOptionCollate(self) - else: - return visitor.visitChildren(self) - - - class TableOptionPersistentContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.extBoolValue = None # Token - self.copyFrom(ctx) - - def STATS_PERSISTENT(self): - return self.getToken(frameQLParser.STATS_PERSISTENT, 0) - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionPersistent" ): - listener.enterTableOptionPersistent(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionPersistent" ): - listener.exitTableOptionPersistent(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionPersistent" ): - return visitor.visitTableOptionPersistent(self) - else: - return visitor.visitChildren(self) - - - class TableOptionTablespaceContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def tablespaceStorage(self): - return self.getTypedRuleContext(frameQLParser.TablespaceStorageContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionTablespace" ): - listener.enterTableOptionTablespace(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionTablespace" ): - listener.exitTableOptionTablespace(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionTablespace" ): - return visitor.visitTableOptionTablespace(self) - else: - return visitor.visitChildren(self) - - - class TableOptionPackKeysContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.extBoolValue = None # Token - self.copyFrom(ctx) - - def PACK_KEYS(self): - return self.getToken(frameQLParser.PACK_KEYS, 0) - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionPackKeys" ): - listener.enterTableOptionPackKeys(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionPackKeys" ): - listener.exitTableOptionPackKeys(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionPackKeys" ): - return visitor.visitTableOptionPackKeys(self) - else: - return visitor.visitChildren(self) - - - class TableOptionPasswordContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def PASSWORD(self): - return self.getToken(frameQLParser.PASSWORD, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionPassword" ): - listener.enterTableOptionPassword(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionPassword" ): - listener.exitTableOptionPassword(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionPassword" ): - return visitor.visitTableOptionPassword(self) - else: - return visitor.visitChildren(self) - - - class TableOptionUnionContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def UNION(self): - return self.getToken(frameQLParser.UNION, 0) - def tables(self): - return self.getTypedRuleContext(frameQLParser.TablesContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionUnion" ): - listener.enterTableOptionUnion(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionUnion" ): - listener.exitTableOptionUnion(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionUnion" ): - return visitor.visitTableOptionUnion(self) - else: - return visitor.visitChildren(self) - - - class TableOptionSamplePageContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def STATS_SAMPLE_PAGES(self): - return self.getToken(frameQLParser.STATS_SAMPLE_PAGES, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionSamplePage" ): - listener.enterTableOptionSamplePage(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionSamplePage" ): - listener.exitTableOptionSamplePage(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionSamplePage" ): - return visitor.visitTableOptionSamplePage(self) - else: - return visitor.visitChildren(self) - - - class TableOptionCharsetContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - def SET(self): - return self.getToken(frameQLParser.SET, 0) - def CHARSET(self): - return self.getToken(frameQLParser.CHARSET, 0) - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionCharset" ): - listener.enterTableOptionCharset(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionCharset" ): - listener.exitTableOptionCharset(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionCharset" ): - return visitor.visitTableOptionCharset(self) - else: - return visitor.visitChildren(self) - - - class TableOptionIndexDirectoryContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - def DIRECTORY(self): - return self.getToken(frameQLParser.DIRECTORY, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionIndexDirectory" ): - listener.enterTableOptionIndexDirectory(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionIndexDirectory" ): - listener.exitTableOptionIndexDirectory(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionIndexDirectory" ): - return visitor.visitTableOptionIndexDirectory(self) - else: - return visitor.visitChildren(self) - - - class TableOptionKeyBlockSizeContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def KEY_BLOCK_SIZE(self): - return self.getToken(frameQLParser.KEY_BLOCK_SIZE, 0) - def fileSizeLiteral(self): - return self.getTypedRuleContext(frameQLParser.FileSizeLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionKeyBlockSize" ): - listener.enterTableOptionKeyBlockSize(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionKeyBlockSize" ): - listener.exitTableOptionKeyBlockSize(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionKeyBlockSize" ): - return visitor.visitTableOptionKeyBlockSize(self) - else: - return visitor.visitChildren(self) - - - class TableOptionEncryptionContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def ENCRYPTION(self): - return self.getToken(frameQLParser.ENCRYPTION, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionEncryption" ): - listener.enterTableOptionEncryption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionEncryption" ): - listener.exitTableOptionEncryption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionEncryption" ): - return visitor.visitTableOptionEncryption(self) - else: - return visitor.visitChildren(self) - - - class TableOptionDataDirectoryContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def DATA(self): - return self.getToken(frameQLParser.DATA, 0) - def DIRECTORY(self): - return self.getToken(frameQLParser.DIRECTORY, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionDataDirectory" ): - listener.enterTableOptionDataDirectory(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionDataDirectory" ): - listener.exitTableOptionDataDirectory(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionDataDirectory" ): - return visitor.visitTableOptionDataDirectory(self) - else: - return visitor.visitChildren(self) - - - class TableOptionRecalculationContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.extBoolValue = None # Token - self.copyFrom(ctx) - - def STATS_AUTO_RECALC(self): - return self.getToken(frameQLParser.STATS_AUTO_RECALC, 0) - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionRecalculation" ): - listener.enterTableOptionRecalculation(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionRecalculation" ): - listener.exitTableOptionRecalculation(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionRecalculation" ): - return visitor.visitTableOptionRecalculation(self) - else: - return visitor.visitChildren(self) - - - class TableOptionAutoIncrementContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def AUTO_INCREMENT(self): - return self.getToken(frameQLParser.AUTO_INCREMENT, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionAutoIncrement" ): - listener.enterTableOptionAutoIncrement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionAutoIncrement" ): - listener.exitTableOptionAutoIncrement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionAutoIncrement" ): - return visitor.visitTableOptionAutoIncrement(self) - else: - return visitor.visitChildren(self) - - - class TableOptionChecksumContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.boolValue = None # Token - self.copyFrom(ctx) - - def CHECKSUM(self): - return self.getToken(frameQLParser.CHECKSUM, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionChecksum" ): - listener.enterTableOptionChecksum(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionChecksum" ): - listener.exitTableOptionChecksum(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionChecksum" ): - return visitor.visitTableOptionChecksum(self) - else: - return visitor.visitChildren(self) - - - class TableOptionDelayContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.boolValue = None # Token - self.copyFrom(ctx) - - def DELAY_KEY_WRITE(self): - return self.getToken(frameQLParser.DELAY_KEY_WRITE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionDelay" ): - listener.enterTableOptionDelay(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionDelay" ): - listener.exitTableOptionDelay(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionDelay" ): - return visitor.visitTableOptionDelay(self) - else: - return visitor.visitChildren(self) - - - class TableOptionConnectionContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def CONNECTION(self): - return self.getToken(frameQLParser.CONNECTION, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionConnection" ): - listener.enterTableOptionConnection(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionConnection" ): - listener.exitTableOptionConnection(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionConnection" ): - return visitor.visitTableOptionConnection(self) - else: - return visitor.visitChildren(self) - - - class TableOptionCommentContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def COMMENT(self): - return self.getToken(frameQLParser.COMMENT, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionComment" ): - listener.enterTableOptionComment(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionComment" ): - listener.exitTableOptionComment(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionComment" ): - return visitor.visitTableOptionComment(self) - else: - return visitor.visitChildren(self) - - - class TableOptionAverageContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def AVG_ROW_LENGTH(self): - return self.getToken(frameQLParser.AVG_ROW_LENGTH, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionAverage" ): - listener.enterTableOptionAverage(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionAverage" ): - listener.exitTableOptionAverage(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionAverage" ): - return visitor.visitTableOptionAverage(self) - else: - return visitor.visitChildren(self) - - - class TableOptionRowFormatContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.rowFormat = None # Token - self.copyFrom(ctx) - - def ROW_FORMAT(self): - return self.getToken(frameQLParser.ROW_FORMAT, 0) - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - def DYNAMIC(self): - return self.getToken(frameQLParser.DYNAMIC, 0) - def FIXED(self): - return self.getToken(frameQLParser.FIXED, 0) - def COMPRESSED(self): - return self.getToken(frameQLParser.COMPRESSED, 0) - def REDUNDANT(self): - return self.getToken(frameQLParser.REDUNDANT, 0) - def COMPACT(self): - return self.getToken(frameQLParser.COMPACT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionRowFormat" ): - listener.enterTableOptionRowFormat(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionRowFormat" ): - listener.exitTableOptionRowFormat(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionRowFormat" ): - return visitor.visitTableOptionRowFormat(self) - else: - return visitor.visitChildren(self) - - - class TableOptionCompressionContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def COMPRESSION(self): - return self.getToken(frameQLParser.COMPRESSION, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionCompression" ): - listener.enterTableOptionCompression(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionCompression" ): - listener.exitTableOptionCompression(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionCompression" ): - return visitor.visitTableOptionCompression(self) - else: - return visitor.visitChildren(self) - - - class TableOptionInsertMethodContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.insertMethod = None # Token - self.copyFrom(ctx) - - def INSERT_METHOD(self): - return self.getToken(frameQLParser.INSERT_METHOD, 0) - def NO(self): - return self.getToken(frameQLParser.NO, 0) - def FIRST(self): - return self.getToken(frameQLParser.FIRST, 0) - def LAST(self): - return self.getToken(frameQLParser.LAST, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionInsertMethod" ): - listener.enterTableOptionInsertMethod(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionInsertMethod" ): - listener.exitTableOptionInsertMethod(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionInsertMethod" ): - return visitor.visitTableOptionInsertMethod(self) - else: - return visitor.visitChildren(self) - - - class TableOptionMinRowsContext(TableOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def MIN_ROWS(self): - return self.getToken(frameQLParser.MIN_ROWS, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOptionMinRows" ): - listener.enterTableOptionMinRows(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOptionMinRows" ): - listener.exitTableOptionMinRows(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableOptionMinRows" ): - return visitor.visitTableOptionMinRows(self) - else: - return visitor.visitChildren(self) - - - - def tableOption(self): - - localctx = frameQLParser.TableOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 92, self.RULE_tableOption) - self._la = 0 # Token type - try: - self.state = 1703 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,188,self._ctx) - if la_ == 1: - localctx = frameQLParser.TableOptionEngineContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1563 - self.match(frameQLParser.ENGINE) - self.state = 1565 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1564 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1567 - self.engineName() - pass - - elif la_ == 2: - localctx = frameQLParser.TableOptionAutoIncrementContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1568 - self.match(frameQLParser.AUTO_INCREMENT) - self.state = 1570 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1569 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1572 - self.decimalLiteral() - pass - - elif la_ == 3: - localctx = frameQLParser.TableOptionAverageContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1573 - self.match(frameQLParser.AVG_ROW_LENGTH) - self.state = 1575 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1574 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1577 - self.decimalLiteral() - pass - - elif la_ == 4: - localctx = frameQLParser.TableOptionCharsetContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 1579 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFAULT: - self.state = 1578 - self.match(frameQLParser.DEFAULT) - - - self.state = 1584 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.CHARACTER]: - self.state = 1581 - self.match(frameQLParser.CHARACTER) - self.state = 1582 - self.match(frameQLParser.SET) - pass - elif token in [frameQLParser.CHARSET]: - self.state = 1583 - self.match(frameQLParser.CHARSET) - pass - else: - raise NoViableAltException(self) - - self.state = 1587 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1586 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1589 - self.charsetName() - pass - - elif la_ == 5: - localctx = frameQLParser.TableOptionChecksumContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 1590 - self.match(frameQLParser.CHECKSUM) - self.state = 1592 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1591 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1594 - localctx.boolValue = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ZERO_DECIMAL or _la==frameQLParser.ONE_DECIMAL): - localctx.boolValue = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 6: - localctx = frameQLParser.TableOptionCollateContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 1596 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFAULT: - self.state = 1595 - self.match(frameQLParser.DEFAULT) - - - self.state = 1598 - self.match(frameQLParser.COLLATE) - self.state = 1600 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1599 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1602 - self.collationName() - pass - - elif la_ == 7: - localctx = frameQLParser.TableOptionCommentContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 1603 - self.match(frameQLParser.COMMENT) - self.state = 1605 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1604 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1607 - self.match(frameQLParser.STRING_LITERAL) - pass - - elif la_ == 8: - localctx = frameQLParser.TableOptionCompressionContext(self, localctx) - self.enterOuterAlt(localctx, 8) - self.state = 1608 - self.match(frameQLParser.COMPRESSION) - self.state = 1610 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1609 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1612 - self.match(frameQLParser.STRING_LITERAL) - pass - - elif la_ == 9: - localctx = frameQLParser.TableOptionConnectionContext(self, localctx) - self.enterOuterAlt(localctx, 9) - self.state = 1613 - self.match(frameQLParser.CONNECTION) - self.state = 1615 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1614 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1617 - self.match(frameQLParser.STRING_LITERAL) - pass - - elif la_ == 10: - localctx = frameQLParser.TableOptionDataDirectoryContext(self, localctx) - self.enterOuterAlt(localctx, 10) - self.state = 1618 - self.match(frameQLParser.DATA) - self.state = 1619 - self.match(frameQLParser.DIRECTORY) - self.state = 1621 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1620 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1623 - self.match(frameQLParser.STRING_LITERAL) - pass - - elif la_ == 11: - localctx = frameQLParser.TableOptionDelayContext(self, localctx) - self.enterOuterAlt(localctx, 11) - self.state = 1624 - self.match(frameQLParser.DELAY_KEY_WRITE) - self.state = 1626 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1625 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1628 - localctx.boolValue = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ZERO_DECIMAL or _la==frameQLParser.ONE_DECIMAL): - localctx.boolValue = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 12: - localctx = frameQLParser.TableOptionEncryptionContext(self, localctx) - self.enterOuterAlt(localctx, 12) - self.state = 1629 - self.match(frameQLParser.ENCRYPTION) - self.state = 1631 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1630 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1633 - self.match(frameQLParser.STRING_LITERAL) - pass - - elif la_ == 13: - localctx = frameQLParser.TableOptionIndexDirectoryContext(self, localctx) - self.enterOuterAlt(localctx, 13) - self.state = 1634 - self.match(frameQLParser.INDEX) - self.state = 1635 - self.match(frameQLParser.DIRECTORY) - self.state = 1637 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1636 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1639 - self.match(frameQLParser.STRING_LITERAL) - pass - - elif la_ == 14: - localctx = frameQLParser.TableOptionInsertMethodContext(self, localctx) - self.enterOuterAlt(localctx, 14) - self.state = 1640 - self.match(frameQLParser.INSERT_METHOD) - self.state = 1642 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1641 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1644 - localctx.insertMethod = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FIRST or _la==frameQLParser.LAST or _la==frameQLParser.NO): - localctx.insertMethod = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 15: - localctx = frameQLParser.TableOptionKeyBlockSizeContext(self, localctx) - self.enterOuterAlt(localctx, 15) - self.state = 1645 - self.match(frameQLParser.KEY_BLOCK_SIZE) - self.state = 1647 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1646 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1649 - self.fileSizeLiteral() - pass - - elif la_ == 16: - localctx = frameQLParser.TableOptionMaxRowsContext(self, localctx) - self.enterOuterAlt(localctx, 16) - self.state = 1650 - self.match(frameQLParser.MAX_ROWS) - self.state = 1652 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1651 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1654 - self.decimalLiteral() - pass - - elif la_ == 17: - localctx = frameQLParser.TableOptionMinRowsContext(self, localctx) - self.enterOuterAlt(localctx, 17) - self.state = 1655 - self.match(frameQLParser.MIN_ROWS) - self.state = 1657 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1656 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1659 - self.decimalLiteral() - pass - - elif la_ == 18: - localctx = frameQLParser.TableOptionPackKeysContext(self, localctx) - self.enterOuterAlt(localctx, 18) - self.state = 1660 - self.match(frameQLParser.PACK_KEYS) - self.state = 1662 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1661 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1664 - localctx.extBoolValue = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.ZERO_DECIMAL or _la==frameQLParser.ONE_DECIMAL): - localctx.extBoolValue = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 19: - localctx = frameQLParser.TableOptionPasswordContext(self, localctx) - self.enterOuterAlt(localctx, 19) - self.state = 1665 - self.match(frameQLParser.PASSWORD) - self.state = 1667 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1666 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1669 - self.match(frameQLParser.STRING_LITERAL) - pass - - elif la_ == 20: - localctx = frameQLParser.TableOptionRowFormatContext(self, localctx) - self.enterOuterAlt(localctx, 20) - self.state = 1670 - self.match(frameQLParser.ROW_FORMAT) - self.state = 1672 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1671 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1674 - localctx.rowFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or ((((_la - 284)) & ~0x3f) == 0 and ((1 << (_la - 284)) & ((1 << (frameQLParser.COMPACT - 284)) | (1 << (frameQLParser.COMPRESSED - 284)) | (1 << (frameQLParser.DYNAMIC - 284)) | (1 << (frameQLParser.FIXED - 284)))) != 0) or _la==frameQLParser.REDUNDANT): - localctx.rowFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 21: - localctx = frameQLParser.TableOptionRecalculationContext(self, localctx) - self.enterOuterAlt(localctx, 21) - self.state = 1675 - self.match(frameQLParser.STATS_AUTO_RECALC) - self.state = 1677 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1676 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1679 - localctx.extBoolValue = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.ZERO_DECIMAL or _la==frameQLParser.ONE_DECIMAL): - localctx.extBoolValue = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 22: - localctx = frameQLParser.TableOptionPersistentContext(self, localctx) - self.enterOuterAlt(localctx, 22) - self.state = 1680 - self.match(frameQLParser.STATS_PERSISTENT) - self.state = 1682 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1681 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1684 - localctx.extBoolValue = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.ZERO_DECIMAL or _la==frameQLParser.ONE_DECIMAL): - localctx.extBoolValue = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 23: - localctx = frameQLParser.TableOptionSamplePageContext(self, localctx) - self.enterOuterAlt(localctx, 23) - self.state = 1685 - self.match(frameQLParser.STATS_SAMPLE_PAGES) - self.state = 1687 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1686 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1689 - self.decimalLiteral() - pass - - elif la_ == 24: - localctx = frameQLParser.TableOptionTablespaceContext(self, localctx) - self.enterOuterAlt(localctx, 24) - self.state = 1690 - self.match(frameQLParser.TABLESPACE) - self.state = 1691 - self.uid() - self.state = 1693 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.STORAGE: - self.state = 1692 - self.tablespaceStorage() - - - pass - - elif la_ == 25: - localctx = frameQLParser.TableOptionUnionContext(self, localctx) - self.enterOuterAlt(localctx, 25) - self.state = 1695 - self.match(frameQLParser.UNION) - self.state = 1697 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1696 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1699 - self.match(frameQLParser.LR_BRACKET) - self.state = 1700 - self.tables() - self.state = 1701 - self.match(frameQLParser.RR_BRACKET) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class TablespaceStorageContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def STORAGE(self): - return self.getToken(frameQLParser.STORAGE, 0) - - def DISK(self): - return self.getToken(frameQLParser.DISK, 0) - - def MEMORY(self): - return self.getToken(frameQLParser.MEMORY, 0) - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_tablespaceStorage - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTablespaceStorage" ): - listener.enterTablespaceStorage(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTablespaceStorage" ): - listener.exitTablespaceStorage(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTablespaceStorage" ): - return visitor.visitTablespaceStorage(self) - else: - return visitor.visitChildren(self) - - - - - def tablespaceStorage(self): - - localctx = frameQLParser.TablespaceStorageContext(self, self._ctx, self.state) - self.enterRule(localctx, 94, self.RULE_tablespaceStorage) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1705 - self.match(frameQLParser.STORAGE) - self.state = 1706 - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.DISK or _la==frameQLParser.MEMORY): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class PartitionDefinitionsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.count = None # DecimalLiteralContext - self.subCount = None # DecimalLiteralContext - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - - def BY(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.BY) - else: - return self.getToken(frameQLParser.BY, i) - - def partitionFunctionDefinition(self): - return self.getTypedRuleContext(frameQLParser.PartitionFunctionDefinitionContext,0) - - - def PARTITIONS(self): - return self.getToken(frameQLParser.PARTITIONS, 0) - - def SUBPARTITION(self): - return self.getToken(frameQLParser.SUBPARTITION, 0) - - def subpartitionFunctionDefinition(self): - return self.getTypedRuleContext(frameQLParser.SubpartitionFunctionDefinitionContext,0) - - - def partitionDefinition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionDefinitionContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionDefinitionContext,i) - - - def decimalLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DecimalLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,i) - - - def SUBPARTITIONS(self): - return self.getToken(frameQLParser.SUBPARTITIONS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_partitionDefinitions - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionDefinitions" ): - listener.enterPartitionDefinitions(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionDefinitions" ): - listener.exitPartitionDefinitions(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPartitionDefinitions" ): - return visitor.visitPartitionDefinitions(self) - else: - return visitor.visitChildren(self) - - - - - def partitionDefinitions(self): - - localctx = frameQLParser.PartitionDefinitionsContext(self, self._ctx, self.state) - self.enterRule(localctx, 96, self.RULE_partitionDefinitions) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1708 - self.match(frameQLParser.PARTITION) - self.state = 1709 - self.match(frameQLParser.BY) - self.state = 1710 - self.partitionFunctionDefinition() - self.state = 1713 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PARTITIONS: - self.state = 1711 - self.match(frameQLParser.PARTITIONS) - self.state = 1712 - localctx.count = self.decimalLiteral() - - - self.state = 1722 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SUBPARTITION: - self.state = 1715 - self.match(frameQLParser.SUBPARTITION) - self.state = 1716 - self.match(frameQLParser.BY) - self.state = 1717 - self.subpartitionFunctionDefinition() - self.state = 1720 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SUBPARTITIONS: - self.state = 1718 - self.match(frameQLParser.SUBPARTITIONS) - self.state = 1719 - localctx.subCount = self.decimalLiteral() - - - - - self.state = 1735 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,193,self._ctx) - if la_ == 1: - self.state = 1724 - self.match(frameQLParser.LR_BRACKET) - self.state = 1725 - self.partitionDefinition() - self.state = 1730 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 1726 - self.match(frameQLParser.COMMA) - self.state = 1727 - self.partitionDefinition() - self.state = 1732 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1733 - self.match(frameQLParser.RR_BRACKET) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class PartitionFunctionDefinitionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_partitionFunctionDefinition - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class PartitionFunctionKeyContext(PartitionFunctionDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionFunctionDefinitionContext - super().__init__(parser) - self.algType = None # Token - self.copyFrom(ctx) - - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def LINEAR(self): - return self.getToken(frameQLParser.LINEAR, 0) - def ALGORITHM(self): - return self.getToken(frameQLParser.ALGORITHM, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionFunctionKey" ): - listener.enterPartitionFunctionKey(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionFunctionKey" ): - listener.exitPartitionFunctionKey(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPartitionFunctionKey" ): - return visitor.visitPartitionFunctionKey(self) - else: - return visitor.visitChildren(self) - - - class PartitionFunctionHashContext(PartitionFunctionDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionFunctionDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def HASH(self): - return self.getToken(frameQLParser.HASH, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def LINEAR(self): - return self.getToken(frameQLParser.LINEAR, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionFunctionHash" ): - listener.enterPartitionFunctionHash(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionFunctionHash" ): - listener.exitPartitionFunctionHash(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPartitionFunctionHash" ): - return visitor.visitPartitionFunctionHash(self) - else: - return visitor.visitChildren(self) - - - class PartitionFunctionListContext(PartitionFunctionDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionFunctionDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def LIST(self): - return self.getToken(frameQLParser.LIST, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def COLUMNS(self): - return self.getToken(frameQLParser.COLUMNS, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionFunctionList" ): - listener.enterPartitionFunctionList(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionFunctionList" ): - listener.exitPartitionFunctionList(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPartitionFunctionList" ): - return visitor.visitPartitionFunctionList(self) - else: - return visitor.visitChildren(self) - - - class PartitionFunctionRangeContext(PartitionFunctionDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionFunctionDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def RANGE(self): - return self.getToken(frameQLParser.RANGE, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def COLUMNS(self): - return self.getToken(frameQLParser.COLUMNS, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionFunctionRange" ): - listener.enterPartitionFunctionRange(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionFunctionRange" ): - listener.exitPartitionFunctionRange(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPartitionFunctionRange" ): - return visitor.visitPartitionFunctionRange(self) - else: - return visitor.visitChildren(self) - - - - def partitionFunctionDefinition(self): - - localctx = frameQLParser.PartitionFunctionDefinitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 98, self.RULE_partitionFunctionDefinition) - self._la = 0 # Token type - try: - self.state = 1782 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,199,self._ctx) - if la_ == 1: - localctx = frameQLParser.PartitionFunctionHashContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1738 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LINEAR: - self.state = 1737 - self.match(frameQLParser.LINEAR) - - - self.state = 1740 - self.match(frameQLParser.HASH) - self.state = 1741 - self.match(frameQLParser.LR_BRACKET) - self.state = 1742 - self.expression(0) - self.state = 1743 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 2: - localctx = frameQLParser.PartitionFunctionKeyContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1746 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LINEAR: - self.state = 1745 - self.match(frameQLParser.LINEAR) - - - self.state = 1748 - self.match(frameQLParser.KEY) - self.state = 1752 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALGORITHM: - self.state = 1749 - self.match(frameQLParser.ALGORITHM) - self.state = 1750 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 1751 - localctx.algType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ONE_DECIMAL or _la==frameQLParser.TWO_DECIMAL): - localctx.algType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 1754 - self.match(frameQLParser.LR_BRACKET) - self.state = 1755 - self.uidList() - self.state = 1756 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 3: - localctx = frameQLParser.PartitionFunctionRangeContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1758 - self.match(frameQLParser.RANGE) - self.state = 1768 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.LR_BRACKET]: - self.state = 1759 - self.match(frameQLParser.LR_BRACKET) - self.state = 1760 - self.expression(0) - self.state = 1761 - self.match(frameQLParser.RR_BRACKET) - pass - elif token in [frameQLParser.COLUMNS]: - self.state = 1763 - self.match(frameQLParser.COLUMNS) - self.state = 1764 - self.match(frameQLParser.LR_BRACKET) - self.state = 1765 - self.uidList() - self.state = 1766 - self.match(frameQLParser.RR_BRACKET) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 4: - localctx = frameQLParser.PartitionFunctionListContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 1770 - self.match(frameQLParser.LIST) - self.state = 1780 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.LR_BRACKET]: - self.state = 1771 - self.match(frameQLParser.LR_BRACKET) - self.state = 1772 - self.expression(0) - self.state = 1773 - self.match(frameQLParser.RR_BRACKET) - pass - elif token in [frameQLParser.COLUMNS]: - self.state = 1775 - self.match(frameQLParser.COLUMNS) - self.state = 1776 - self.match(frameQLParser.LR_BRACKET) - self.state = 1777 - self.uidList() - self.state = 1778 - self.match(frameQLParser.RR_BRACKET) - pass - else: - raise NoViableAltException(self) - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SubpartitionFunctionDefinitionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_subpartitionFunctionDefinition - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class SubPartitionFunctionHashContext(SubpartitionFunctionDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SubpartitionFunctionDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def HASH(self): - return self.getToken(frameQLParser.HASH, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def LINEAR(self): - return self.getToken(frameQLParser.LINEAR, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSubPartitionFunctionHash" ): - listener.enterSubPartitionFunctionHash(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSubPartitionFunctionHash" ): - listener.exitSubPartitionFunctionHash(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSubPartitionFunctionHash" ): - return visitor.visitSubPartitionFunctionHash(self) - else: - return visitor.visitChildren(self) - - - class SubPartitionFunctionKeyContext(SubpartitionFunctionDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SubpartitionFunctionDefinitionContext - super().__init__(parser) - self.algType = None # Token - self.copyFrom(ctx) - - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def LINEAR(self): - return self.getToken(frameQLParser.LINEAR, 0) - def ALGORITHM(self): - return self.getToken(frameQLParser.ALGORITHM, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSubPartitionFunctionKey" ): - listener.enterSubPartitionFunctionKey(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSubPartitionFunctionKey" ): - listener.exitSubPartitionFunctionKey(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSubPartitionFunctionKey" ): - return visitor.visitSubPartitionFunctionKey(self) - else: - return visitor.visitChildren(self) - - - - def subpartitionFunctionDefinition(self): - - localctx = frameQLParser.SubpartitionFunctionDefinitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 100, self.RULE_subpartitionFunctionDefinition) - self._la = 0 # Token type - try: - self.state = 1805 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,203,self._ctx) - if la_ == 1: - localctx = frameQLParser.SubPartitionFunctionHashContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1785 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LINEAR: - self.state = 1784 - self.match(frameQLParser.LINEAR) - - - self.state = 1787 - self.match(frameQLParser.HASH) - self.state = 1788 - self.match(frameQLParser.LR_BRACKET) - self.state = 1789 - self.expression(0) - self.state = 1790 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 2: - localctx = frameQLParser.SubPartitionFunctionKeyContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1793 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LINEAR: - self.state = 1792 - self.match(frameQLParser.LINEAR) - - - self.state = 1795 - self.match(frameQLParser.KEY) - self.state = 1799 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALGORITHM: - self.state = 1796 - self.match(frameQLParser.ALGORITHM) - self.state = 1797 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 1798 - localctx.algType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ONE_DECIMAL or _la==frameQLParser.TWO_DECIMAL): - localctx.algType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 1801 - self.match(frameQLParser.LR_BRACKET) - self.state = 1802 - self.uidList() - self.state = 1803 - self.match(frameQLParser.RR_BRACKET) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class PartitionDefinitionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_partitionDefinition - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class PartitionComparisionContext(PartitionDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def VALUES(self): - return self.getToken(frameQLParser.VALUES, 0) - def LESS(self): - return self.getToken(frameQLParser.LESS, 0) - def THAN(self): - return self.getToken(frameQLParser.THAN, 0) - def partitionDefinerAtom(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionDefinerAtomContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionDefinerAtomContext,i) - - def partitionOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionOptionContext,i) - - def subpartitionDefinition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SubpartitionDefinitionContext) - else: - return self.getTypedRuleContext(frameQLParser.SubpartitionDefinitionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionComparision" ): - listener.enterPartitionComparision(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionComparision" ): - listener.exitPartitionComparision(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPartitionComparision" ): - return visitor.visitPartitionComparision(self) - else: - return visitor.visitChildren(self) - - - class PartitionListAtomContext(PartitionDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def VALUES(self): - return self.getToken(frameQLParser.VALUES, 0) - def IN(self): - return self.getToken(frameQLParser.IN, 0) - def partitionDefinerAtom(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionDefinerAtomContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionDefinerAtomContext,i) - - def partitionOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionOptionContext,i) - - def subpartitionDefinition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SubpartitionDefinitionContext) - else: - return self.getTypedRuleContext(frameQLParser.SubpartitionDefinitionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionListAtom" ): - listener.enterPartitionListAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionListAtom" ): - listener.exitPartitionListAtom(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPartitionListAtom" ): - return visitor.visitPartitionListAtom(self) - else: - return visitor.visitChildren(self) - - - class PartitionListVectorContext(PartitionDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def VALUES(self): - return self.getToken(frameQLParser.VALUES, 0) - def IN(self): - return self.getToken(frameQLParser.IN, 0) - def partitionDefinerVector(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionDefinerVectorContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionDefinerVectorContext,i) - - def partitionOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionOptionContext,i) - - def subpartitionDefinition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SubpartitionDefinitionContext) - else: - return self.getTypedRuleContext(frameQLParser.SubpartitionDefinitionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionListVector" ): - listener.enterPartitionListVector(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionListVector" ): - listener.exitPartitionListVector(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPartitionListVector" ): - return visitor.visitPartitionListVector(self) - else: - return visitor.visitChildren(self) - - - class PartitionSimpleContext(PartitionDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def partitionOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionOptionContext,i) - - def subpartitionDefinition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SubpartitionDefinitionContext) - else: - return self.getTypedRuleContext(frameQLParser.SubpartitionDefinitionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionSimple" ): - listener.enterPartitionSimple(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionSimple" ): - listener.exitPartitionSimple(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPartitionSimple" ): - return visitor.visitPartitionSimple(self) - else: - return visitor.visitChildren(self) - - - - def partitionDefinition(self): - - localctx = frameQLParser.PartitionDefinitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 102, self.RULE_partitionDefinition) - self._la = 0 # Token type - try: - self.state = 1916 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,219,self._ctx) - if la_ == 1: - localctx = frameQLParser.PartitionComparisionContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1807 - self.match(frameQLParser.PARTITION) - self.state = 1808 - self.uid() - self.state = 1809 - self.match(frameQLParser.VALUES) - self.state = 1810 - self.match(frameQLParser.LESS) - self.state = 1811 - self.match(frameQLParser.THAN) - self.state = 1812 - self.match(frameQLParser.LR_BRACKET) - self.state = 1813 - self.partitionDefinerAtom() - self.state = 1818 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 1814 - self.match(frameQLParser.COMMA) - self.state = 1815 - self.partitionDefinerAtom() - self.state = 1820 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1821 - self.match(frameQLParser.RR_BRACKET) - self.state = 1825 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.INDEX or ((((_la - 282)) & ~0x3f) == 0 and ((1 << (_la - 282)) & ((1 << (frameQLParser.COMMENT - 282)) | (1 << (frameQLParser.DATA - 282)) | (1 << (frameQLParser.ENGINE - 282)))) != 0) or ((((_la - 400)) & ~0x3f) == 0 and ((1 << (_la - 400)) & ((1 << (frameQLParser.MAX_ROWS - 400)) | (1 << (frameQLParser.MIN_ROWS - 400)) | (1 << (frameQLParser.NODEGROUP - 400)))) != 0) or _la==frameQLParser.STORAGE or _la==frameQLParser.TABLESPACE: - self.state = 1822 - self.partitionOption() - self.state = 1827 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1836 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SUBPARTITION: - self.state = 1828 - self.subpartitionDefinition() - self.state = 1833 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,206,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 1829 - self.match(frameQLParser.COMMA) - self.state = 1830 - self.subpartitionDefinition() - self.state = 1835 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,206,self._ctx) - - - - pass - - elif la_ == 2: - localctx = frameQLParser.PartitionListAtomContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1838 - self.match(frameQLParser.PARTITION) - self.state = 1839 - self.uid() - self.state = 1840 - self.match(frameQLParser.VALUES) - self.state = 1841 - self.match(frameQLParser.IN) - self.state = 1842 - self.match(frameQLParser.LR_BRACKET) - self.state = 1843 - self.partitionDefinerAtom() - self.state = 1848 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 1844 - self.match(frameQLParser.COMMA) - self.state = 1845 - self.partitionDefinerAtom() - self.state = 1850 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1851 - self.match(frameQLParser.RR_BRACKET) - self.state = 1855 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.INDEX or ((((_la - 282)) & ~0x3f) == 0 and ((1 << (_la - 282)) & ((1 << (frameQLParser.COMMENT - 282)) | (1 << (frameQLParser.DATA - 282)) | (1 << (frameQLParser.ENGINE - 282)))) != 0) or ((((_la - 400)) & ~0x3f) == 0 and ((1 << (_la - 400)) & ((1 << (frameQLParser.MAX_ROWS - 400)) | (1 << (frameQLParser.MIN_ROWS - 400)) | (1 << (frameQLParser.NODEGROUP - 400)))) != 0) or _la==frameQLParser.STORAGE or _la==frameQLParser.TABLESPACE: - self.state = 1852 - self.partitionOption() - self.state = 1857 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1866 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SUBPARTITION: - self.state = 1858 - self.subpartitionDefinition() - self.state = 1863 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,210,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 1859 - self.match(frameQLParser.COMMA) - self.state = 1860 - self.subpartitionDefinition() - self.state = 1865 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,210,self._ctx) - - - - pass - - elif la_ == 3: - localctx = frameQLParser.PartitionListVectorContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1868 - self.match(frameQLParser.PARTITION) - self.state = 1869 - self.uid() - self.state = 1870 - self.match(frameQLParser.VALUES) - self.state = 1871 - self.match(frameQLParser.IN) - self.state = 1872 - self.match(frameQLParser.LR_BRACKET) - self.state = 1873 - self.partitionDefinerVector() - self.state = 1878 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 1874 - self.match(frameQLParser.COMMA) - self.state = 1875 - self.partitionDefinerVector() - self.state = 1880 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1881 - self.match(frameQLParser.RR_BRACKET) - self.state = 1885 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.INDEX or ((((_la - 282)) & ~0x3f) == 0 and ((1 << (_la - 282)) & ((1 << (frameQLParser.COMMENT - 282)) | (1 << (frameQLParser.DATA - 282)) | (1 << (frameQLParser.ENGINE - 282)))) != 0) or ((((_la - 400)) & ~0x3f) == 0 and ((1 << (_la - 400)) & ((1 << (frameQLParser.MAX_ROWS - 400)) | (1 << (frameQLParser.MIN_ROWS - 400)) | (1 << (frameQLParser.NODEGROUP - 400)))) != 0) or _la==frameQLParser.STORAGE or _la==frameQLParser.TABLESPACE: - self.state = 1882 - self.partitionOption() - self.state = 1887 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1896 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SUBPARTITION: - self.state = 1888 - self.subpartitionDefinition() - self.state = 1893 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,214,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 1889 - self.match(frameQLParser.COMMA) - self.state = 1890 - self.subpartitionDefinition() - self.state = 1895 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,214,self._ctx) - - - - pass - - elif la_ == 4: - localctx = frameQLParser.PartitionSimpleContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 1898 - self.match(frameQLParser.PARTITION) - self.state = 1899 - self.uid() - self.state = 1903 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.INDEX or ((((_la - 282)) & ~0x3f) == 0 and ((1 << (_la - 282)) & ((1 << (frameQLParser.COMMENT - 282)) | (1 << (frameQLParser.DATA - 282)) | (1 << (frameQLParser.ENGINE - 282)))) != 0) or ((((_la - 400)) & ~0x3f) == 0 and ((1 << (_la - 400)) & ((1 << (frameQLParser.MAX_ROWS - 400)) | (1 << (frameQLParser.MIN_ROWS - 400)) | (1 << (frameQLParser.NODEGROUP - 400)))) != 0) or _la==frameQLParser.STORAGE or _la==frameQLParser.TABLESPACE: - self.state = 1900 - self.partitionOption() - self.state = 1905 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1914 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SUBPARTITION: - self.state = 1906 - self.subpartitionDefinition() - self.state = 1911 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,217,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 1907 - self.match(frameQLParser.COMMA) - self.state = 1908 - self.subpartitionDefinition() - self.state = 1913 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,217,self._ctx) - - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class PartitionDefinerAtomContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def constant(self): - return self.getTypedRuleContext(frameQLParser.ConstantContext,0) - - - def MAXVALUE(self): - return self.getToken(frameQLParser.MAXVALUE, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_partitionDefinerAtom - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionDefinerAtom" ): - listener.enterPartitionDefinerAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionDefinerAtom" ): - listener.exitPartitionDefinerAtom(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPartitionDefinerAtom" ): - return visitor.visitPartitionDefinerAtom(self) - else: - return visitor.visitChildren(self) - - - - - def partitionDefinerAtom(self): - - localctx = frameQLParser.PartitionDefinerAtomContext(self, self._ctx, self.state) - self.enterRule(localctx, 104, self.RULE_partitionDefinerAtom) - try: - self.state = 1921 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,220,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 1918 - self.constant() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 1919 - self.match(frameQLParser.MAXVALUE) - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 1920 - self.expression(0) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class PartitionDefinerVectorContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def partitionDefinerAtom(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionDefinerAtomContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionDefinerAtomContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_partitionDefinerVector - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionDefinerVector" ): - listener.enterPartitionDefinerVector(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionDefinerVector" ): - listener.exitPartitionDefinerVector(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPartitionDefinerVector" ): - return visitor.visitPartitionDefinerVector(self) - else: - return visitor.visitChildren(self) - - - - - def partitionDefinerVector(self): - - localctx = frameQLParser.PartitionDefinerVectorContext(self, self._ctx, self.state) - self.enterRule(localctx, 106, self.RULE_partitionDefinerVector) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1923 - self.match(frameQLParser.LR_BRACKET) - self.state = 1924 - self.partitionDefinerAtom() - self.state = 1927 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 1925 - self.match(frameQLParser.COMMA) - self.state = 1926 - self.partitionDefinerAtom() - self.state = 1929 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==frameQLParser.COMMA): - break - - self.state = 1931 - self.match(frameQLParser.RR_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SubpartitionDefinitionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def SUBPARTITION(self): - return self.getToken(frameQLParser.SUBPARTITION, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def partitionOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionOptionContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_subpartitionDefinition - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSubpartitionDefinition" ): - listener.enterSubpartitionDefinition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSubpartitionDefinition" ): - listener.exitSubpartitionDefinition(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSubpartitionDefinition" ): - return visitor.visitSubpartitionDefinition(self) - else: - return visitor.visitChildren(self) - - - - - def subpartitionDefinition(self): - - localctx = frameQLParser.SubpartitionDefinitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 108, self.RULE_subpartitionDefinition) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1933 - self.match(frameQLParser.SUBPARTITION) - self.state = 1934 - self.uid() - self.state = 1938 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.INDEX or ((((_la - 282)) & ~0x3f) == 0 and ((1 << (_la - 282)) & ((1 << (frameQLParser.COMMENT - 282)) | (1 << (frameQLParser.DATA - 282)) | (1 << (frameQLParser.ENGINE - 282)))) != 0) or ((((_la - 400)) & ~0x3f) == 0 and ((1 << (_la - 400)) & ((1 << (frameQLParser.MAX_ROWS - 400)) | (1 << (frameQLParser.MIN_ROWS - 400)) | (1 << (frameQLParser.NODEGROUP - 400)))) != 0) or _la==frameQLParser.STORAGE or _la==frameQLParser.TABLESPACE: - self.state = 1935 - self.partitionOption() - self.state = 1940 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class PartitionOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_partitionOption - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class PartitionOptionCommentContext(PartitionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionOptionContext - super().__init__(parser) - self.comment = None # Token - self.copyFrom(ctx) - - def COMMENT(self): - return self.getToken(frameQLParser.COMMENT, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionOptionComment" ): - listener.enterPartitionOptionComment(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionOptionComment" ): - listener.exitPartitionOptionComment(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPartitionOptionComment" ): - return visitor.visitPartitionOptionComment(self) - else: - return visitor.visitChildren(self) - - - class PartitionOptionNodeGroupContext(PartitionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionOptionContext - super().__init__(parser) - self.nodegroup = None # UidContext - self.copyFrom(ctx) - - def NODEGROUP(self): - return self.getToken(frameQLParser.NODEGROUP, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionOptionNodeGroup" ): - listener.enterPartitionOptionNodeGroup(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionOptionNodeGroup" ): - listener.exitPartitionOptionNodeGroup(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPartitionOptionNodeGroup" ): - return visitor.visitPartitionOptionNodeGroup(self) - else: - return visitor.visitChildren(self) - - - class PartitionOptionIndexDirectoryContext(PartitionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionOptionContext - super().__init__(parser) - self.indexDirectory = None # Token - self.copyFrom(ctx) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - def DIRECTORY(self): - return self.getToken(frameQLParser.DIRECTORY, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionOptionIndexDirectory" ): - listener.enterPartitionOptionIndexDirectory(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionOptionIndexDirectory" ): - listener.exitPartitionOptionIndexDirectory(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPartitionOptionIndexDirectory" ): - return visitor.visitPartitionOptionIndexDirectory(self) - else: - return visitor.visitChildren(self) - - - class PartitionOptionMaxRowsContext(PartitionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionOptionContext - super().__init__(parser) - self.maxRows = None # DecimalLiteralContext - self.copyFrom(ctx) - - def MAX_ROWS(self): - return self.getToken(frameQLParser.MAX_ROWS, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionOptionMaxRows" ): - listener.enterPartitionOptionMaxRows(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionOptionMaxRows" ): - listener.exitPartitionOptionMaxRows(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPartitionOptionMaxRows" ): - return visitor.visitPartitionOptionMaxRows(self) - else: - return visitor.visitChildren(self) - - - class PartitionOptionTablespaceContext(PartitionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionOptionContext - super().__init__(parser) - self.tablespace = None # UidContext - self.copyFrom(ctx) - - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionOptionTablespace" ): - listener.enterPartitionOptionTablespace(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionOptionTablespace" ): - listener.exitPartitionOptionTablespace(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPartitionOptionTablespace" ): - return visitor.visitPartitionOptionTablespace(self) - else: - return visitor.visitChildren(self) - - - class PartitionOptionEngineContext(PartitionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - def engineName(self): - return self.getTypedRuleContext(frameQLParser.EngineNameContext,0) - - def STORAGE(self): - return self.getToken(frameQLParser.STORAGE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionOptionEngine" ): - listener.enterPartitionOptionEngine(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionOptionEngine" ): - listener.exitPartitionOptionEngine(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPartitionOptionEngine" ): - return visitor.visitPartitionOptionEngine(self) - else: - return visitor.visitChildren(self) - - - class PartitionOptionMinRowsContext(PartitionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionOptionContext - super().__init__(parser) - self.minRows = None # DecimalLiteralContext - self.copyFrom(ctx) - - def MIN_ROWS(self): - return self.getToken(frameQLParser.MIN_ROWS, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionOptionMinRows" ): - listener.enterPartitionOptionMinRows(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionOptionMinRows" ): - listener.exitPartitionOptionMinRows(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPartitionOptionMinRows" ): - return visitor.visitPartitionOptionMinRows(self) - else: - return visitor.visitChildren(self) - - - class PartitionOptionDataDirectoryContext(PartitionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PartitionOptionContext - super().__init__(parser) - self.dataDirectory = None # Token - self.copyFrom(ctx) - - def DATA(self): - return self.getToken(frameQLParser.DATA, 0) - def DIRECTORY(self): - return self.getToken(frameQLParser.DIRECTORY, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionOptionDataDirectory" ): - listener.enterPartitionOptionDataDirectory(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionOptionDataDirectory" ): - listener.exitPartitionOptionDataDirectory(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPartitionOptionDataDirectory" ): - return visitor.visitPartitionOptionDataDirectory(self) - else: - return visitor.visitChildren(self) - - - - def partitionOption(self): - - localctx = frameQLParser.PartitionOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 110, self.RULE_partitionOption) - self._la = 0 # Token type - try: - self.state = 1986 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ENGINE, frameQLParser.STORAGE]: - localctx = frameQLParser.PartitionOptionEngineContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1942 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.STORAGE: - self.state = 1941 - self.match(frameQLParser.STORAGE) - - - self.state = 1944 - self.match(frameQLParser.ENGINE) - self.state = 1946 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1945 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1948 - self.engineName() - pass - elif token in [frameQLParser.COMMENT]: - localctx = frameQLParser.PartitionOptionCommentContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1949 - self.match(frameQLParser.COMMENT) - self.state = 1951 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1950 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1953 - localctx.comment = self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.DATA]: - localctx = frameQLParser.PartitionOptionDataDirectoryContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1954 - self.match(frameQLParser.DATA) - self.state = 1955 - self.match(frameQLParser.DIRECTORY) - self.state = 1957 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1956 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1959 - localctx.dataDirectory = self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.INDEX]: - localctx = frameQLParser.PartitionOptionIndexDirectoryContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 1960 - self.match(frameQLParser.INDEX) - self.state = 1961 - self.match(frameQLParser.DIRECTORY) - self.state = 1963 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1962 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1965 - localctx.indexDirectory = self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.MAX_ROWS]: - localctx = frameQLParser.PartitionOptionMaxRowsContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 1966 - self.match(frameQLParser.MAX_ROWS) - self.state = 1968 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1967 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1970 - localctx.maxRows = self.decimalLiteral() - pass - elif token in [frameQLParser.MIN_ROWS]: - localctx = frameQLParser.PartitionOptionMinRowsContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 1971 - self.match(frameQLParser.MIN_ROWS) - self.state = 1973 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1972 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1975 - localctx.minRows = self.decimalLiteral() - pass - elif token in [frameQLParser.TABLESPACE]: - localctx = frameQLParser.PartitionOptionTablespaceContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 1976 - self.match(frameQLParser.TABLESPACE) - self.state = 1978 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1977 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1980 - localctx.tablespace = self.uid() - pass - elif token in [frameQLParser.NODEGROUP]: - localctx = frameQLParser.PartitionOptionNodeGroupContext(self, localctx) - self.enterOuterAlt(localctx, 8) - self.state = 1981 - self.match(frameQLParser.NODEGROUP) - self.state = 1983 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 1982 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 1985 - localctx.nodegroup = self.uid() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class AlterDatabaseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_alterDatabase - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class AlterUpgradeNameContext(AlterDatabaseContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterDatabaseContext - super().__init__(parser) - self.dbFormat = None # Token - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def UPGRADE(self): - return self.getToken(frameQLParser.UPGRADE, 0) - def DATA(self): - return self.getToken(frameQLParser.DATA, 0) - def DIRECTORY(self): - return self.getToken(frameQLParser.DIRECTORY, 0) - def NAME(self): - return self.getToken(frameQLParser.NAME, 0) - def DATABASE(self): - return self.getToken(frameQLParser.DATABASE, 0) - def SCHEMA(self): - return self.getToken(frameQLParser.SCHEMA, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterUpgradeName" ): - listener.enterAlterUpgradeName(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterUpgradeName" ): - listener.exitAlterUpgradeName(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterUpgradeName" ): - return visitor.visitAlterUpgradeName(self) - else: - return visitor.visitChildren(self) - - - class AlterSimpleDatabaseContext(AlterDatabaseContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterDatabaseContext - super().__init__(parser) - self.dbFormat = None # Token - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - def DATABASE(self): - return self.getToken(frameQLParser.DATABASE, 0) - def SCHEMA(self): - return self.getToken(frameQLParser.SCHEMA, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def createDatabaseOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.CreateDatabaseOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.CreateDatabaseOptionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterSimpleDatabase" ): - listener.enterAlterSimpleDatabase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterSimpleDatabase" ): - listener.exitAlterSimpleDatabase(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterSimpleDatabase" ): - return visitor.visitAlterSimpleDatabase(self) - else: - return visitor.visitChildren(self) - - - - def alterDatabase(self): - - localctx = frameQLParser.AlterDatabaseContext(self, self._ctx, self.state) - self.enterRule(localctx, 112, self.RULE_alterDatabase) - self._la = 0 # Token type - try: - self.state = 2006 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,235,self._ctx) - if la_ == 1: - localctx = frameQLParser.AlterSimpleDatabaseContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1988 - self.match(frameQLParser.ALTER) - self.state = 1989 - localctx.dbFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DATABASE or _la==frameQLParser.SCHEMA): - localctx.dbFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 1991 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,233,self._ctx) - if la_ == 1: - self.state = 1990 - self.uid() - - - self.state = 1994 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 1993 - self.createDatabaseOption() - self.state = 1996 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not ((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << frameQLParser.CHARACTER) | (1 << frameQLParser.COLLATE) | (1 << frameQLParser.DEFAULT))) != 0) or _la==frameQLParser.CHARSET): - break - - pass - - elif la_ == 2: - localctx = frameQLParser.AlterUpgradeNameContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1998 - self.match(frameQLParser.ALTER) - self.state = 1999 - localctx.dbFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DATABASE or _la==frameQLParser.SCHEMA): - localctx.dbFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2000 - self.uid() - self.state = 2001 - self.match(frameQLParser.UPGRADE) - self.state = 2002 - self.match(frameQLParser.DATA) - self.state = 2003 - self.match(frameQLParser.DIRECTORY) - self.state = 2004 - self.match(frameQLParser.NAME) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class AlterEventContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - - def EVENT(self): - return self.getToken(frameQLParser.EVENT, 0) - - def fullId(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.FullIdContext) - else: - return self.getTypedRuleContext(frameQLParser.FullIdContext,i) - - - def ownerStatement(self): - return self.getTypedRuleContext(frameQLParser.OwnerStatementContext,0) - - - def ON(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.ON) - else: - return self.getToken(frameQLParser.ON, i) - - def SCHEDULE(self): - return self.getToken(frameQLParser.SCHEDULE, 0) - - def scheduleExpression(self): - return self.getTypedRuleContext(frameQLParser.ScheduleExpressionContext,0) - - - def COMPLETION(self): - return self.getToken(frameQLParser.COMPLETION, 0) - - def PRESERVE(self): - return self.getToken(frameQLParser.PRESERVE, 0) - - def RENAME(self): - return self.getToken(frameQLParser.RENAME, 0) - - def TO(self): - return self.getToken(frameQLParser.TO, 0) - - def enableType(self): - return self.getTypedRuleContext(frameQLParser.EnableTypeContext,0) - - - def COMMENT(self): - return self.getToken(frameQLParser.COMMENT, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def DO(self): - return self.getToken(frameQLParser.DO, 0) - - def routineBody(self): - return self.getTypedRuleContext(frameQLParser.RoutineBodyContext,0) - - - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_alterEvent - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterEvent" ): - listener.enterAlterEvent(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterEvent" ): - listener.exitAlterEvent(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterEvent" ): - return visitor.visitAlterEvent(self) - else: - return visitor.visitChildren(self) - - - - - def alterEvent(self): - - localctx = frameQLParser.AlterEventContext(self, self._ctx, self.state) - self.enterRule(localctx, 114, self.RULE_alterEvent) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2008 - self.match(frameQLParser.ALTER) - self.state = 2010 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFINER: - self.state = 2009 - self.ownerStatement() - - - self.state = 2012 - self.match(frameQLParser.EVENT) - self.state = 2013 - self.fullId() - self.state = 2017 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,237,self._ctx) - if la_ == 1: - self.state = 2014 - self.match(frameQLParser.ON) - self.state = 2015 - self.match(frameQLParser.SCHEDULE) - self.state = 2016 - self.scheduleExpression() - - - self.state = 2025 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ON: - self.state = 2019 - self.match(frameQLParser.ON) - self.state = 2020 - self.match(frameQLParser.COMPLETION) - self.state = 2022 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NOT: - self.state = 2021 - self.match(frameQLParser.NOT) - - - self.state = 2024 - self.match(frameQLParser.PRESERVE) - - - self.state = 2030 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.RENAME: - self.state = 2027 - self.match(frameQLParser.RENAME) - self.state = 2028 - self.match(frameQLParser.TO) - self.state = 2029 - self.fullId() - - - self.state = 2033 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DISABLE or _la==frameQLParser.ENABLE: - self.state = 2032 - self.enableType() - - - self.state = 2037 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COMMENT: - self.state = 2035 - self.match(frameQLParser.COMMENT) - self.state = 2036 - self.match(frameQLParser.STRING_LITERAL) - - - self.state = 2041 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DO: - self.state = 2039 - self.match(frameQLParser.DO) - self.state = 2040 - self.routineBody() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class AlterFunctionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - - def FUNCTION(self): - return self.getToken(frameQLParser.FUNCTION, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def routineOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.RoutineOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.RoutineOptionContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_alterFunction - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterFunction" ): - listener.enterAlterFunction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterFunction" ): - listener.exitAlterFunction(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterFunction" ): - return visitor.visitAlterFunction(self) - else: - return visitor.visitChildren(self) - - - - - def alterFunction(self): - - localctx = frameQLParser.AlterFunctionContext(self, self._ctx, self.state) - self.enterRule(localctx, 116, self.RULE_alterFunction) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2043 - self.match(frameQLParser.ALTER) - self.state = 2044 - self.match(frameQLParser.FUNCTION) - self.state = 2045 - self.fullId() - self.state = 2049 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.DETERMINISTIC or ((((_la - 99)) & ~0x3f) == 0 and ((1 << (_la - 99)) & ((1 << (frameQLParser.MODIFIES - 99)) | (1 << (frameQLParser.NOT - 99)) | (1 << (frameQLParser.READS - 99)) | (1 << (frameQLParser.SQL - 99)))) != 0) or _la==frameQLParser.COMMENT or _la==frameQLParser.CONTAINS or _la==frameQLParser.LANGUAGE or _la==frameQLParser.NO: - self.state = 2046 - self.routineOption() - self.state = 2051 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class AlterInstanceContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - - def INSTANCE(self): - return self.getToken(frameQLParser.INSTANCE, 0) - - def ROTATE(self): - return self.getToken(frameQLParser.ROTATE, 0) - - def INNODB(self): - return self.getToken(frameQLParser.INNODB, 0) - - def MASTER(self): - return self.getToken(frameQLParser.MASTER, 0) - - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_alterInstance - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterInstance" ): - listener.enterAlterInstance(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterInstance" ): - listener.exitAlterInstance(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterInstance" ): - return visitor.visitAlterInstance(self) - else: - return visitor.visitChildren(self) - - - - - def alterInstance(self): - - localctx = frameQLParser.AlterInstanceContext(self, self._ctx, self.state) - self.enterRule(localctx, 118, self.RULE_alterInstance) - try: - self.enterOuterAlt(localctx, 1) - self.state = 2052 - self.match(frameQLParser.ALTER) - self.state = 2053 - self.match(frameQLParser.INSTANCE) - self.state = 2054 - self.match(frameQLParser.ROTATE) - self.state = 2055 - self.match(frameQLParser.INNODB) - self.state = 2056 - self.match(frameQLParser.MASTER) - self.state = 2057 - self.match(frameQLParser.KEY) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class AlterLogfileGroupContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - - def LOGFILE(self): - return self.getToken(frameQLParser.LOGFILE, 0) - - def GROUP(self): - return self.getToken(frameQLParser.GROUP, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - - def UNDOFILE(self): - return self.getToken(frameQLParser.UNDOFILE, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - - def engineName(self): - return self.getTypedRuleContext(frameQLParser.EngineNameContext,0) - - - def INITIAL_SIZE(self): - return self.getToken(frameQLParser.INITIAL_SIZE, 0) - - def fileSizeLiteral(self): - return self.getTypedRuleContext(frameQLParser.FileSizeLiteralContext,0) - - - def WAIT(self): - return self.getToken(frameQLParser.WAIT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_alterLogfileGroup - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterLogfileGroup" ): - listener.enterAlterLogfileGroup(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterLogfileGroup" ): - listener.exitAlterLogfileGroup(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterLogfileGroup" ): - return visitor.visitAlterLogfileGroup(self) - else: - return visitor.visitChildren(self) - - - - - def alterLogfileGroup(self): - - localctx = frameQLParser.AlterLogfileGroupContext(self, self._ctx, self.state) - self.enterRule(localctx, 120, self.RULE_alterLogfileGroup) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2059 - self.match(frameQLParser.ALTER) - self.state = 2060 - self.match(frameQLParser.LOGFILE) - self.state = 2061 - self.match(frameQLParser.GROUP) - self.state = 2062 - self.uid() - self.state = 2063 - self.match(frameQLParser.ADD) - self.state = 2064 - self.match(frameQLParser.UNDOFILE) - self.state = 2065 - self.match(frameQLParser.STRING_LITERAL) - self.state = 2071 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INITIAL_SIZE: - self.state = 2066 - self.match(frameQLParser.INITIAL_SIZE) - self.state = 2068 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 2067 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 2070 - self.fileSizeLiteral() - - - self.state = 2074 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WAIT: - self.state = 2073 - self.match(frameQLParser.WAIT) - - - self.state = 2076 - self.match(frameQLParser.ENGINE) - self.state = 2078 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 2077 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 2080 - self.engineName() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class AlterProcedureContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - - def PROCEDURE(self): - return self.getToken(frameQLParser.PROCEDURE, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def routineOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.RoutineOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.RoutineOptionContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_alterProcedure - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterProcedure" ): - listener.enterAlterProcedure(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterProcedure" ): - listener.exitAlterProcedure(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterProcedure" ): - return visitor.visitAlterProcedure(self) - else: - return visitor.visitChildren(self) - - - - - def alterProcedure(self): - - localctx = frameQLParser.AlterProcedureContext(self, self._ctx, self.state) - self.enterRule(localctx, 122, self.RULE_alterProcedure) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2082 - self.match(frameQLParser.ALTER) - self.state = 2083 - self.match(frameQLParser.PROCEDURE) - self.state = 2084 - self.fullId() - self.state = 2088 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.DETERMINISTIC or ((((_la - 99)) & ~0x3f) == 0 and ((1 << (_la - 99)) & ((1 << (frameQLParser.MODIFIES - 99)) | (1 << (frameQLParser.NOT - 99)) | (1 << (frameQLParser.READS - 99)) | (1 << (frameQLParser.SQL - 99)))) != 0) or _la==frameQLParser.COMMENT or _la==frameQLParser.CONTAINS or _la==frameQLParser.LANGUAGE or _la==frameQLParser.NO: - self.state = 2085 - self.routineOption() - self.state = 2090 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class AlterServerContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - - def SERVER(self): - return self.getToken(frameQLParser.SERVER, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def OPTIONS(self): - return self.getToken(frameQLParser.OPTIONS, 0) - - def serverOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ServerOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.ServerOptionContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_alterServer - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterServer" ): - listener.enterAlterServer(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterServer" ): - listener.exitAlterServer(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterServer" ): - return visitor.visitAlterServer(self) - else: - return visitor.visitChildren(self) - - - - - def alterServer(self): - - localctx = frameQLParser.AlterServerContext(self, self._ctx, self.state) - self.enterRule(localctx, 124, self.RULE_alterServer) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2091 - self.match(frameQLParser.ALTER) - self.state = 2092 - self.match(frameQLParser.SERVER) - self.state = 2093 - self.uid() - self.state = 2094 - self.match(frameQLParser.OPTIONS) - self.state = 2095 - self.match(frameQLParser.LR_BRACKET) - self.state = 2096 - self.serverOption() - self.state = 2101 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2097 - self.match(frameQLParser.COMMA) - self.state = 2098 - self.serverOption() - self.state = 2103 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2104 - self.match(frameQLParser.RR_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class AlterTableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.intimeAction = None # Token - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def alterSpecification(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.AlterSpecificationContext) - else: - return self.getTypedRuleContext(frameQLParser.AlterSpecificationContext,i) - - - def IGNORE(self): - return self.getToken(frameQLParser.IGNORE, 0) - - def partitionDefinitions(self): - return self.getTypedRuleContext(frameQLParser.PartitionDefinitionsContext,0) - - - def ONLINE(self): - return self.getToken(frameQLParser.ONLINE, 0) - - def OFFLINE(self): - return self.getToken(frameQLParser.OFFLINE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_alterTable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterTable" ): - listener.enterAlterTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterTable" ): - listener.exitAlterTable(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterTable" ): - return visitor.visitAlterTable(self) - else: - return visitor.visitChildren(self) - - - - - def alterTable(self): - - localctx = frameQLParser.AlterTableContext(self, self._ctx, self.state) - self.enterRule(localctx, 126, self.RULE_alterTable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2106 - self.match(frameQLParser.ALTER) - self.state = 2108 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.OFFLINE or _la==frameQLParser.ONLINE: - self.state = 2107 - localctx.intimeAction = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.OFFLINE or _la==frameQLParser.ONLINE): - localctx.intimeAction = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2111 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE: - self.state = 2110 - self.match(frameQLParser.IGNORE) - - - self.state = 2113 - self.match(frameQLParser.TABLE) - self.state = 2114 - self.tableName() - self.state = 2115 - self.alterSpecification() - self.state = 2120 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2116 - self.match(frameQLParser.COMMA) - self.state = 2117 - self.alterSpecification() - self.state = 2122 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2124 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PARTITION: - self.state = 2123 - self.partitionDefinitions() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class AlterTablespaceContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.objectAction = None # Token - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def DATAFILE(self): - return self.getToken(frameQLParser.DATAFILE, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - - def engineName(self): - return self.getTypedRuleContext(frameQLParser.EngineNameContext,0) - - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def INITIAL_SIZE(self): - return self.getToken(frameQLParser.INITIAL_SIZE, 0) - - def fileSizeLiteral(self): - return self.getTypedRuleContext(frameQLParser.FileSizeLiteralContext,0) - - - def WAIT(self): - return self.getToken(frameQLParser.WAIT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_alterTablespace - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterTablespace" ): - listener.enterAlterTablespace(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterTablespace" ): - listener.exitAlterTablespace(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterTablespace" ): - return visitor.visitAlterTablespace(self) - else: - return visitor.visitChildren(self) - - - - - def alterTablespace(self): - - localctx = frameQLParser.AlterTablespaceContext(self, self._ctx, self.state) - self.enterRule(localctx, 128, self.RULE_alterTablespace) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2126 - self.match(frameQLParser.ALTER) - self.state = 2127 - self.match(frameQLParser.TABLESPACE) - self.state = 2128 - self.uid() - self.state = 2129 - localctx.objectAction = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ADD or _la==frameQLParser.DROP): - localctx.objectAction = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2130 - self.match(frameQLParser.DATAFILE) - self.state = 2131 - self.match(frameQLParser.STRING_LITERAL) - self.state = 2135 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INITIAL_SIZE: - self.state = 2132 - self.match(frameQLParser.INITIAL_SIZE) - self.state = 2133 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 2134 - self.fileSizeLiteral() - - - self.state = 2138 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WAIT: - self.state = 2137 - self.match(frameQLParser.WAIT) - - - self.state = 2140 - self.match(frameQLParser.ENGINE) - self.state = 2142 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 2141 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 2144 - self.engineName() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class AlterViewContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.algType = None # Token - self.secContext = None # Token - self.checkOpt = None # Token - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - - def VIEW(self): - return self.getToken(frameQLParser.VIEW, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - - def ALGORITHM(self): - return self.getToken(frameQLParser.ALGORITHM, 0) - - def ownerStatement(self): - return self.getTypedRuleContext(frameQLParser.OwnerStatementContext,0) - - - def SQL(self): - return self.getToken(frameQLParser.SQL, 0) - - def SECURITY(self): - return self.getToken(frameQLParser.SECURITY, 0) - - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - - def CHECK(self): - return self.getToken(frameQLParser.CHECK, 0) - - def OPTION(self): - return self.getToken(frameQLParser.OPTION, 0) - - def UNDEFINED(self): - return self.getToken(frameQLParser.UNDEFINED, 0) - - def MERGE(self): - return self.getToken(frameQLParser.MERGE, 0) - - def TEMPTABLE(self): - return self.getToken(frameQLParser.TEMPTABLE, 0) - - def DEFINER(self): - return self.getToken(frameQLParser.DEFINER, 0) - - def INVOKER(self): - return self.getToken(frameQLParser.INVOKER, 0) - - def CASCADED(self): - return self.getToken(frameQLParser.CASCADED, 0) - - def LOCAL(self): - return self.getToken(frameQLParser.LOCAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_alterView - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterView" ): - listener.enterAlterView(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterView" ): - listener.exitAlterView(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterView" ): - return visitor.visitAlterView(self) - else: - return visitor.visitChildren(self) - - - - - def alterView(self): - - localctx = frameQLParser.AlterViewContext(self, self._ctx, self.state) - self.enterRule(localctx, 130, self.RULE_alterView) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2146 - self.match(frameQLParser.ALTER) - self.state = 2150 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALGORITHM: - self.state = 2147 - self.match(frameQLParser.ALGORITHM) - self.state = 2148 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 2149 - localctx.algType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.MERGE or _la==frameQLParser.TEMPTABLE or _la==frameQLParser.UNDEFINED): - localctx.algType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2153 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFINER: - self.state = 2152 - self.ownerStatement() - - - self.state = 2158 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SQL: - self.state = 2155 - self.match(frameQLParser.SQL) - self.state = 2156 - self.match(frameQLParser.SECURITY) - self.state = 2157 - localctx.secContext = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFINER or _la==frameQLParser.INVOKER): - localctx.secContext = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2160 - self.match(frameQLParser.VIEW) - self.state = 2161 - self.fullId() - self.state = 2166 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 2162 - self.match(frameQLParser.LR_BRACKET) - self.state = 2163 - self.uidList() - self.state = 2164 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 2168 - self.match(frameQLParser.AS) - self.state = 2169 - self.selectStatement() - self.state = 2176 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WITH: - self.state = 2170 - self.match(frameQLParser.WITH) - self.state = 2172 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CASCADED or _la==frameQLParser.LOCAL: - self.state = 2171 - localctx.checkOpt = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.CASCADED or _la==frameQLParser.LOCAL): - localctx.checkOpt = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2174 - self.match(frameQLParser.CHECK) - self.state = 2175 - self.match(frameQLParser.OPTION) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class AlterSpecificationContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_alterSpecification - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class AlterByDisableKeysContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def DISABLE(self): - return self.getToken(frameQLParser.DISABLE, 0) - def KEYS(self): - return self.getToken(frameQLParser.KEYS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByDisableKeys" ): - listener.enterAlterByDisableKeys(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByDisableKeys" ): - listener.exitAlterByDisableKeys(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByDisableKeys" ): - return visitor.visitAlterByDisableKeys(self) - else: - return visitor.visitChildren(self) - - - class AlterByDefaultCharsetContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - def SET(self): - return self.getToken(frameQLParser.SET, 0) - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - def COLLATE(self): - return self.getToken(frameQLParser.COLLATE, 0) - def collationName(self): - return self.getTypedRuleContext(frameQLParser.CollationNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByDefaultCharset" ): - listener.enterAlterByDefaultCharset(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByDefaultCharset" ): - listener.exitAlterByDefaultCharset(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByDefaultCharset" ): - return visitor.visitAlterByDefaultCharset(self) - else: - return visitor.visitChildren(self) - - - class AlterByRenameColumnContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.oldColumn = None # UidContext - self.newColumn = None # UidContext - self.copyFrom(ctx) - - def RENAME(self): - return self.getToken(frameQLParser.RENAME, 0) - def COLUMN(self): - return self.getToken(frameQLParser.COLUMN, 0) - def TO(self): - return self.getToken(frameQLParser.TO, 0) - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByRenameColumn" ): - listener.enterAlterByRenameColumn(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByRenameColumn" ): - listener.exitAlterByRenameColumn(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByRenameColumn" ): - return visitor.visitAlterByRenameColumn(self) - else: - return visitor.visitChildren(self) - - - class AlterByConvertCharsetContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def CONVERT(self): - return self.getToken(frameQLParser.CONVERT, 0) - def TO(self): - return self.getToken(frameQLParser.TO, 0) - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - def SET(self): - return self.getToken(frameQLParser.SET, 0) - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - def COLLATE(self): - return self.getToken(frameQLParser.COLLATE, 0) - def collationName(self): - return self.getTypedRuleContext(frameQLParser.CollationNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByConvertCharset" ): - listener.enterAlterByConvertCharset(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByConvertCharset" ): - listener.exitAlterByConvertCharset(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByConvertCharset" ): - return visitor.visitAlterByConvertCharset(self) - else: - return visitor.visitChildren(self) - - - class AlterByAddPartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def partitionDefinition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionDefinitionContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionDefinitionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByAddPartition" ): - listener.enterAlterByAddPartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByAddPartition" ): - listener.exitAlterByAddPartition(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByAddPartition" ): - return visitor.visitAlterByAddPartition(self) - else: - return visitor.visitChildren(self) - - - class AlterByAnalyzePartitiionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def ANALYZE(self): - return self.getToken(frameQLParser.ANALYZE, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByAnalyzePartitiion" ): - listener.enterAlterByAnalyzePartitiion(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByAnalyzePartitiion" ): - listener.exitAlterByAnalyzePartitiion(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByAnalyzePartitiion" ): - return visitor.visitAlterByAnalyzePartitiion(self) - else: - return visitor.visitChildren(self) - - - class AlterByAddForeignKeyContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.name = None # UidContext - self.indexName = None # UidContext - self.copyFrom(ctx) - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - def FOREIGN(self): - return self.getToken(frameQLParser.FOREIGN, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - def referenceDefinition(self): - return self.getTypedRuleContext(frameQLParser.ReferenceDefinitionContext,0) - - def CONSTRAINT(self): - return self.getToken(frameQLParser.CONSTRAINT, 0) - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByAddForeignKey" ): - listener.enterAlterByAddForeignKey(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByAddForeignKey" ): - listener.exitAlterByAddForeignKey(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByAddForeignKey" ): - return visitor.visitAlterByAddForeignKey(self) - else: - return visitor.visitChildren(self) - - - class AlterByRemovePartitioningContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def REMOVE(self): - return self.getToken(frameQLParser.REMOVE, 0) - def PARTITIONING(self): - return self.getToken(frameQLParser.PARTITIONING, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByRemovePartitioning" ): - listener.enterAlterByRemovePartitioning(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByRemovePartitioning" ): - listener.exitAlterByRemovePartitioning(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByRemovePartitioning" ): - return visitor.visitAlterByRemovePartitioning(self) - else: - return visitor.visitChildren(self) - - - class AlterByRenameContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.renameFormat = None # Token - self.copyFrom(ctx) - - def RENAME(self): - return self.getToken(frameQLParser.RENAME, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - def TO(self): - return self.getToken(frameQLParser.TO, 0) - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByRename" ): - listener.enterAlterByRename(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByRename" ): - listener.exitAlterByRename(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByRename" ): - return visitor.visitAlterByRename(self) - else: - return visitor.visitChildren(self) - - - class AlterByOptimizePartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def OPTIMIZE(self): - return self.getToken(frameQLParser.OPTIMIZE, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByOptimizePartition" ): - listener.enterAlterByOptimizePartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByOptimizePartition" ): - listener.exitAlterByOptimizePartition(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByOptimizePartition" ): - return visitor.visitAlterByOptimizePartition(self) - else: - return visitor.visitChildren(self) - - - class AlterByImportTablespaceContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def IMPORT(self): - return self.getToken(frameQLParser.IMPORT, 0) - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByImportTablespace" ): - listener.enterAlterByImportTablespace(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByImportTablespace" ): - listener.exitAlterByImportTablespace(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByImportTablespace" ): - return visitor.visitAlterByImportTablespace(self) - else: - return visitor.visitChildren(self) - - - class AlterByCoalescePartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def COALESCE(self): - return self.getToken(frameQLParser.COALESCE, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByCoalescePartition" ): - listener.enterAlterByCoalescePartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByCoalescePartition" ): - listener.exitAlterByCoalescePartition(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByCoalescePartition" ): - return visitor.visitAlterByCoalescePartition(self) - else: - return visitor.visitChildren(self) - - - class AlterByAddColumnsContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - def columnDefinition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ColumnDefinitionContext) - else: - return self.getTypedRuleContext(frameQLParser.ColumnDefinitionContext,i) - - def COLUMN(self): - return self.getToken(frameQLParser.COLUMN, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByAddColumns" ): - listener.enterAlterByAddColumns(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByAddColumns" ): - listener.exitAlterByAddColumns(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByAddColumns" ): - return visitor.visitAlterByAddColumns(self) - else: - return visitor.visitChildren(self) - - - class AlterByDropForeignKeyContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - def FOREIGN(self): - return self.getToken(frameQLParser.FOREIGN, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByDropForeignKey" ): - listener.enterAlterByDropForeignKey(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByDropForeignKey" ): - listener.exitAlterByDropForeignKey(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByDropForeignKey" ): - return visitor.visitAlterByDropForeignKey(self) - else: - return visitor.visitChildren(self) - - - class AlterByAddCheckTableConstraintContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.name = None # UidContext - self.copyFrom(ctx) - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - def CHECK(self): - return self.getToken(frameQLParser.CHECK, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def CONSTRAINT(self): - return self.getToken(frameQLParser.CONSTRAINT, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByAddCheckTableConstraint" ): - listener.enterAlterByAddCheckTableConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByAddCheckTableConstraint" ): - listener.exitAlterByAddCheckTableConstraint(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByAddCheckTableConstraint" ): - return visitor.visitAlterByAddCheckTableConstraint(self) - else: - return visitor.visitChildren(self) - - - class AlterByRebuildPartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def REBUILD(self): - return self.getToken(frameQLParser.REBUILD, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByRebuildPartition" ): - listener.enterAlterByRebuildPartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByRebuildPartition" ): - listener.exitAlterByRebuildPartition(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByRebuildPartition" ): - return visitor.visitAlterByRebuildPartition(self) - else: - return visitor.visitChildren(self) - - - class AlterByUpgradePartitioningContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def UPGRADE(self): - return self.getToken(frameQLParser.UPGRADE, 0) - def PARTITIONING(self): - return self.getToken(frameQLParser.PARTITIONING, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByUpgradePartitioning" ): - listener.enterAlterByUpgradePartitioning(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByUpgradePartitioning" ): - listener.exitAlterByUpgradePartitioning(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByUpgradePartitioning" ): - return visitor.visitAlterByUpgradePartitioning(self) - else: - return visitor.visitChildren(self) - - - class AlterByRepairPartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def REPAIR(self): - return self.getToken(frameQLParser.REPAIR, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByRepairPartition" ): - listener.enterAlterByRepairPartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByRepairPartition" ): - listener.exitAlterByRepairPartition(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByRepairPartition" ): - return visitor.visitAlterByRepairPartition(self) - else: - return visitor.visitChildren(self) - - - class AlterByExchangePartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.validationFormat = None # Token - self.copyFrom(ctx) - - def EXCHANGE(self): - return self.getToken(frameQLParser.EXCHANGE, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def WITH(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.WITH) - else: - return self.getToken(frameQLParser.WITH, i) - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - def VALIDATION(self): - return self.getToken(frameQLParser.VALIDATION, 0) - def WITHOUT(self): - return self.getToken(frameQLParser.WITHOUT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByExchangePartition" ): - listener.enterAlterByExchangePartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByExchangePartition" ): - listener.exitAlterByExchangePartition(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByExchangePartition" ): - return visitor.visitAlterByExchangePartition(self) - else: - return visitor.visitChildren(self) - - - class AlterByAddIndexContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.indexFormat = None # Token - self.copyFrom(ctx) - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def indexType(self): - return self.getTypedRuleContext(frameQLParser.IndexTypeContext,0) - - def indexOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IndexOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.IndexOptionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByAddIndex" ): - listener.enterAlterByAddIndex(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByAddIndex" ): - listener.exitAlterByAddIndex(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByAddIndex" ): - return visitor.visitAlterByAddIndex(self) - else: - return visitor.visitChildren(self) - - - class AlterByDropColumnContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def COLUMN(self): - return self.getToken(frameQLParser.COLUMN, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByDropColumn" ): - listener.enterAlterByDropColumn(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByDropColumn" ): - listener.exitAlterByDropColumn(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByDropColumn" ): - return visitor.visitAlterByDropColumn(self) - else: - return visitor.visitChildren(self) - - - class AlterByImportPartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def IMPORT(self): - return self.getToken(frameQLParser.IMPORT, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByImportPartition" ): - listener.enterAlterByImportPartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByImportPartition" ): - listener.exitAlterByImportPartition(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByImportPartition" ): - return visitor.visitAlterByImportPartition(self) - else: - return visitor.visitChildren(self) - - - class AlterByChangeDefaultContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - def defaultValue(self): - return self.getTypedRuleContext(frameQLParser.DefaultValueContext,0) - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - def COLUMN(self): - return self.getToken(frameQLParser.COLUMN, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByChangeDefault" ): - listener.enterAlterByChangeDefault(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByChangeDefault" ): - listener.exitAlterByChangeDefault(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByChangeDefault" ): - return visitor.visitAlterByChangeDefault(self) - else: - return visitor.visitChildren(self) - - - class AlterByForceContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def FORCE(self): - return self.getToken(frameQLParser.FORCE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByForce" ): - listener.enterAlterByForce(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByForce" ): - listener.exitAlterByForce(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByForce" ): - return visitor.visitAlterByForce(self) - else: - return visitor.visitChildren(self) - - - class AlterByDropPartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByDropPartition" ): - listener.enterAlterByDropPartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByDropPartition" ): - listener.exitAlterByDropPartition(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByDropPartition" ): - return visitor.visitAlterByDropPartition(self) - else: - return visitor.visitChildren(self) - - - class AlterByAddSpecialIndexContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.keyType = None # Token - self.indexFormat = None # Token - self.copyFrom(ctx) - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - def FULLTEXT(self): - return self.getToken(frameQLParser.FULLTEXT, 0) - def SPATIAL(self): - return self.getToken(frameQLParser.SPATIAL, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def indexOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IndexOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.IndexOptionContext,i) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByAddSpecialIndex" ): - listener.enterAlterByAddSpecialIndex(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByAddSpecialIndex" ): - listener.exitAlterByAddSpecialIndex(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByAddSpecialIndex" ): - return visitor.visitAlterByAddSpecialIndex(self) - else: - return visitor.visitChildren(self) - - - class AlterByModifyColumnContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def MODIFY(self): - return self.getToken(frameQLParser.MODIFY, 0) - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - def columnDefinition(self): - return self.getTypedRuleContext(frameQLParser.ColumnDefinitionContext,0) - - def COLUMN(self): - return self.getToken(frameQLParser.COLUMN, 0) - def FIRST(self): - return self.getToken(frameQLParser.FIRST, 0) - def AFTER(self): - return self.getToken(frameQLParser.AFTER, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByModifyColumn" ): - listener.enterAlterByModifyColumn(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByModifyColumn" ): - listener.exitAlterByModifyColumn(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByModifyColumn" ): - return visitor.visitAlterByModifyColumn(self) - else: - return visitor.visitChildren(self) - - - class AlterByTableOptionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def tableOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TableOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.TableOptionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByTableOption" ): - listener.enterAlterByTableOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByTableOption" ): - listener.exitAlterByTableOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByTableOption" ): - return visitor.visitAlterByTableOption(self) - else: - return visitor.visitChildren(self) - - - class AlterByDropPrimaryKeyContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - def PRIMARY(self): - return self.getToken(frameQLParser.PRIMARY, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByDropPrimaryKey" ): - listener.enterAlterByDropPrimaryKey(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByDropPrimaryKey" ): - listener.exitAlterByDropPrimaryKey(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByDropPrimaryKey" ): - return visitor.visitAlterByDropPrimaryKey(self) - else: - return visitor.visitChildren(self) - - - class AlterByLockContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.lockType = None # Token - self.copyFrom(ctx) - - def LOCK(self): - return self.getToken(frameQLParser.LOCK, 0) - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - def NONE(self): - return self.getToken(frameQLParser.NONE, 0) - def SHARED(self): - return self.getToken(frameQLParser.SHARED, 0) - def EXCLUSIVE(self): - return self.getToken(frameQLParser.EXCLUSIVE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByLock" ): - listener.enterAlterByLock(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByLock" ): - listener.exitAlterByLock(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByLock" ): - return visitor.visitAlterByLock(self) - else: - return visitor.visitChildren(self) - - - class AlterByDiscardPartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def DISCARD(self): - return self.getToken(frameQLParser.DISCARD, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByDiscardPartition" ): - listener.enterAlterByDiscardPartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByDiscardPartition" ): - listener.exitAlterByDiscardPartition(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByDiscardPartition" ): - return visitor.visitAlterByDiscardPartition(self) - else: - return visitor.visitChildren(self) - - - class AlterByDiscardTablespaceContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def DISCARD(self): - return self.getToken(frameQLParser.DISCARD, 0) - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByDiscardTablespace" ): - listener.enterAlterByDiscardTablespace(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByDiscardTablespace" ): - listener.exitAlterByDiscardTablespace(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByDiscardTablespace" ): - return visitor.visitAlterByDiscardTablespace(self) - else: - return visitor.visitChildren(self) - - - class AlterByValidateContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.validationFormat = None # Token - self.copyFrom(ctx) - - def VALIDATION(self): - return self.getToken(frameQLParser.VALIDATION, 0) - def WITHOUT(self): - return self.getToken(frameQLParser.WITHOUT, 0) - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByValidate" ): - listener.enterAlterByValidate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByValidate" ): - listener.exitAlterByValidate(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByValidate" ): - return visitor.visitAlterByValidate(self) - else: - return visitor.visitChildren(self) - - - class AlterByAddPrimaryKeyContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.name = None # UidContext - self.copyFrom(ctx) - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - def PRIMARY(self): - return self.getToken(frameQLParser.PRIMARY, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - def CONSTRAINT(self): - return self.getToken(frameQLParser.CONSTRAINT, 0) - def indexType(self): - return self.getTypedRuleContext(frameQLParser.IndexTypeContext,0) - - def indexOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IndexOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.IndexOptionContext,i) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByAddPrimaryKey" ): - listener.enterAlterByAddPrimaryKey(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByAddPrimaryKey" ): - listener.exitAlterByAddPrimaryKey(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByAddPrimaryKey" ): - return visitor.visitAlterByAddPrimaryKey(self) - else: - return visitor.visitChildren(self) - - - class AlterByCheckPartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def CHECK(self): - return self.getToken(frameQLParser.CHECK, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByCheckPartition" ): - listener.enterAlterByCheckPartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByCheckPartition" ): - listener.exitAlterByCheckPartition(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByCheckPartition" ): - return visitor.visitAlterByCheckPartition(self) - else: - return visitor.visitChildren(self) - - - class AlterByEnableKeysContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def ENABLE(self): - return self.getToken(frameQLParser.ENABLE, 0) - def KEYS(self): - return self.getToken(frameQLParser.KEYS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByEnableKeys" ): - listener.enterAlterByEnableKeys(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByEnableKeys" ): - listener.exitAlterByEnableKeys(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByEnableKeys" ): - return visitor.visitAlterByEnableKeys(self) - else: - return visitor.visitChildren(self) - - - class AlterByReorganizePartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def REORGANIZE(self): - return self.getToken(frameQLParser.REORGANIZE, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def INTO(self): - return self.getToken(frameQLParser.INTO, 0) - def partitionDefinition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PartitionDefinitionContext) - else: - return self.getTypedRuleContext(frameQLParser.PartitionDefinitionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByReorganizePartition" ): - listener.enterAlterByReorganizePartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByReorganizePartition" ): - listener.exitAlterByReorganizePartition(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByReorganizePartition" ): - return visitor.visitAlterByReorganizePartition(self) - else: - return visitor.visitChildren(self) - - - class AlterBySetAlgorithmContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.algType = None # Token - self.copyFrom(ctx) - - def ALGORITHM(self): - return self.getToken(frameQLParser.ALGORITHM, 0) - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - def INPLACE(self): - return self.getToken(frameQLParser.INPLACE, 0) - def COPY(self): - return self.getToken(frameQLParser.COPY, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterBySetAlgorithm" ): - listener.enterAlterBySetAlgorithm(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterBySetAlgorithm" ): - listener.exitAlterBySetAlgorithm(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterBySetAlgorithm" ): - return visitor.visitAlterBySetAlgorithm(self) - else: - return visitor.visitChildren(self) - - - class AlterByChangeColumnContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.oldColumn = None # UidContext - self.newColumn = None # UidContext - self.afterColumn = None # UidContext - self.copyFrom(ctx) - - def CHANGE(self): - return self.getToken(frameQLParser.CHANGE, 0) - def columnDefinition(self): - return self.getTypedRuleContext(frameQLParser.ColumnDefinitionContext,0) - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - def COLUMN(self): - return self.getToken(frameQLParser.COLUMN, 0) - def FIRST(self): - return self.getToken(frameQLParser.FIRST, 0) - def AFTER(self): - return self.getToken(frameQLParser.AFTER, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByChangeColumn" ): - listener.enterAlterByChangeColumn(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByChangeColumn" ): - listener.exitAlterByChangeColumn(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByChangeColumn" ): - return visitor.visitAlterByChangeColumn(self) - else: - return visitor.visitChildren(self) - - - class AlterByAddUniqueKeyContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.name = None # UidContext - self.indexFormat = None # Token - self.indexName = None # UidContext - self.copyFrom(ctx) - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - def UNIQUE(self): - return self.getToken(frameQLParser.UNIQUE, 0) - def indexColumnNames(self): - return self.getTypedRuleContext(frameQLParser.IndexColumnNamesContext,0) - - def CONSTRAINT(self): - return self.getToken(frameQLParser.CONSTRAINT, 0) - def indexType(self): - return self.getTypedRuleContext(frameQLParser.IndexTypeContext,0) - - def indexOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IndexOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.IndexOptionContext,i) - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByAddUniqueKey" ): - listener.enterAlterByAddUniqueKey(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByAddUniqueKey" ): - listener.exitAlterByAddUniqueKey(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByAddUniqueKey" ): - return visitor.visitAlterByAddUniqueKey(self) - else: - return visitor.visitChildren(self) - - - class AlterByTruncatePartitionContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def TRUNCATE(self): - return self.getToken(frameQLParser.TRUNCATE, 0) - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByTruncatePartition" ): - listener.enterAlterByTruncatePartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByTruncatePartition" ): - listener.exitAlterByTruncatePartition(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByTruncatePartition" ): - return visitor.visitAlterByTruncatePartition(self) - else: - return visitor.visitChildren(self) - - - class AlterByDropIndexContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.indexFormat = None # Token - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByDropIndex" ): - listener.enterAlterByDropIndex(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByDropIndex" ): - listener.exitAlterByDropIndex(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByDropIndex" ): - return visitor.visitAlterByDropIndex(self) - else: - return visitor.visitChildren(self) - - - class AlterByAddColumnContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def ADD(self): - return self.getToken(frameQLParser.ADD, 0) - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - def columnDefinition(self): - return self.getTypedRuleContext(frameQLParser.ColumnDefinitionContext,0) - - def COLUMN(self): - return self.getToken(frameQLParser.COLUMN, 0) - def FIRST(self): - return self.getToken(frameQLParser.FIRST, 0) - def AFTER(self): - return self.getToken(frameQLParser.AFTER, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByAddColumn" ): - listener.enterAlterByAddColumn(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByAddColumn" ): - listener.exitAlterByAddColumn(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByAddColumn" ): - return visitor.visitAlterByAddColumn(self) - else: - return visitor.visitChildren(self) - - - class AlterByOrderContext(AlterSpecificationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterSpecificationContext - super().__init__(parser) - self.copyFrom(ctx) - - def ORDER(self): - return self.getToken(frameQLParser.ORDER, 0) - def BY(self): - return self.getToken(frameQLParser.BY, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterByOrder" ): - listener.enterAlterByOrder(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterByOrder" ): - listener.exitAlterByOrder(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterByOrder" ): - return visitor.visitAlterByOrder(self) - else: - return visitor.visitChildren(self) - - - - def alterSpecification(self): - - localctx = frameQLParser.AlterSpecificationContext(self, self._ctx, self.state) - self.enterRule(localctx, 132, self.RULE_alterSpecification) - self._la = 0 # Token type - try: - self.state = 2524 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,316,self._ctx) - if la_ == 1: - localctx = frameQLParser.AlterByTableOptionContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 2178 - self.tableOption() - self.state = 2185 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,265,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 2180 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COMMA: - self.state = 2179 - self.match(frameQLParser.COMMA) - - - self.state = 2182 - self.tableOption() - self.state = 2187 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,265,self._ctx) - - pass - - elif la_ == 2: - localctx = frameQLParser.AlterByAddColumnContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 2188 - self.match(frameQLParser.ADD) - self.state = 2190 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLUMN: - self.state = 2189 - self.match(frameQLParser.COLUMN) - - - self.state = 2192 - self.uid() - self.state = 2193 - self.columnDefinition() - self.state = 2197 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.FIRST]: - self.state = 2194 - self.match(frameQLParser.FIRST) - pass - elif token in [frameQLParser.AFTER]: - self.state = 2195 - self.match(frameQLParser.AFTER) - self.state = 2196 - self.uid() - pass - elif token in [frameQLParser.EOF, frameQLParser.PARTITION, frameQLParser.MINUSMINUS, frameQLParser.COMMA, frameQLParser.SEMI]: - pass - else: - pass - pass - - elif la_ == 3: - localctx = frameQLParser.AlterByAddColumnsContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 2199 - self.match(frameQLParser.ADD) - self.state = 2201 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLUMN: - self.state = 2200 - self.match(frameQLParser.COLUMN) - - - self.state = 2203 - self.match(frameQLParser.LR_BRACKET) - self.state = 2204 - self.uid() - self.state = 2205 - self.columnDefinition() - self.state = 2212 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2206 - self.match(frameQLParser.COMMA) - self.state = 2207 - self.uid() - self.state = 2208 - self.columnDefinition() - self.state = 2214 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2215 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 4: - localctx = frameQLParser.AlterByAddIndexContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 2217 - self.match(frameQLParser.ADD) - self.state = 2218 - localctx.indexFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.INDEX or _la==frameQLParser.KEY): - localctx.indexFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2220 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 2219 - self.uid() - - - self.state = 2223 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.USING: - self.state = 2222 - self.indexType() - - - self.state = 2225 - self.indexColumnNames() - self.state = 2229 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.USING or _la==frameQLParser.WITH or _la==frameQLParser.COMMENT or _la==frameQLParser.KEY_BLOCK_SIZE: - self.state = 2226 - self.indexOption() - self.state = 2231 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 5: - localctx = frameQLParser.AlterByAddPrimaryKeyContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 2232 - self.match(frameQLParser.ADD) - self.state = 2237 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CONSTRAINT: - self.state = 2233 - self.match(frameQLParser.CONSTRAINT) - self.state = 2235 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 2234 - localctx.name = self.uid() - - - - - self.state = 2239 - self.match(frameQLParser.PRIMARY) - self.state = 2240 - self.match(frameQLParser.KEY) - self.state = 2242 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.USING: - self.state = 2241 - self.indexType() - - - self.state = 2244 - self.indexColumnNames() - self.state = 2248 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.USING or _la==frameQLParser.WITH or _la==frameQLParser.COMMENT or _la==frameQLParser.KEY_BLOCK_SIZE: - self.state = 2245 - self.indexOption() - self.state = 2250 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 6: - localctx = frameQLParser.AlterByAddUniqueKeyContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 2251 - self.match(frameQLParser.ADD) - self.state = 2256 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CONSTRAINT: - self.state = 2252 - self.match(frameQLParser.CONSTRAINT) - self.state = 2254 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 2253 - localctx.name = self.uid() - - - - - self.state = 2258 - self.match(frameQLParser.UNIQUE) - self.state = 2260 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INDEX or _la==frameQLParser.KEY: - self.state = 2259 - localctx.indexFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.INDEX or _la==frameQLParser.KEY): - localctx.indexFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2263 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 2262 - localctx.indexName = self.uid() - - - self.state = 2266 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.USING: - self.state = 2265 - self.indexType() - - - self.state = 2268 - self.indexColumnNames() - self.state = 2272 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.USING or _la==frameQLParser.WITH or _la==frameQLParser.COMMENT or _la==frameQLParser.KEY_BLOCK_SIZE: - self.state = 2269 - self.indexOption() - self.state = 2274 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 7: - localctx = frameQLParser.AlterByAddSpecialIndexContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 2275 - self.match(frameQLParser.ADD) - self.state = 2276 - localctx.keyType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FULLTEXT or _la==frameQLParser.SPATIAL): - localctx.keyType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2278 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INDEX or _la==frameQLParser.KEY: - self.state = 2277 - localctx.indexFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.INDEX or _la==frameQLParser.KEY): - localctx.indexFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2281 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 2280 - self.uid() - - - self.state = 2283 - self.indexColumnNames() - self.state = 2287 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.USING or _la==frameQLParser.WITH or _la==frameQLParser.COMMENT or _la==frameQLParser.KEY_BLOCK_SIZE: - self.state = 2284 - self.indexOption() - self.state = 2289 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 8: - localctx = frameQLParser.AlterByAddForeignKeyContext(self, localctx) - self.enterOuterAlt(localctx, 8) - self.state = 2290 - self.match(frameQLParser.ADD) - self.state = 2295 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CONSTRAINT: - self.state = 2291 - self.match(frameQLParser.CONSTRAINT) - self.state = 2293 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 2292 - localctx.name = self.uid() - - - - - self.state = 2297 - self.match(frameQLParser.FOREIGN) - self.state = 2298 - self.match(frameQLParser.KEY) - self.state = 2300 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 2299 - localctx.indexName = self.uid() - - - self.state = 2302 - self.indexColumnNames() - self.state = 2303 - self.referenceDefinition() - pass - - elif la_ == 9: - localctx = frameQLParser.AlterByAddCheckTableConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 9) - self.state = 2305 - self.match(frameQLParser.ADD) - self.state = 2310 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CONSTRAINT: - self.state = 2306 - self.match(frameQLParser.CONSTRAINT) - self.state = 2308 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 2307 - localctx.name = self.uid() - - - - - self.state = 2312 - self.match(frameQLParser.CHECK) - self.state = 2313 - self.match(frameQLParser.LR_BRACKET) - self.state = 2314 - self.expression(0) - self.state = 2315 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 10: - localctx = frameQLParser.AlterBySetAlgorithmContext(self, localctx) - self.enterOuterAlt(localctx, 10) - self.state = 2317 - self.match(frameQLParser.ALGORITHM) - self.state = 2319 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 2318 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 2321 - localctx.algType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.COPY or _la==frameQLParser.INPLACE): - localctx.algType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 11: - localctx = frameQLParser.AlterByChangeDefaultContext(self, localctx) - self.enterOuterAlt(localctx, 11) - self.state = 2322 - self.match(frameQLParser.ALTER) - self.state = 2324 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLUMN: - self.state = 2323 - self.match(frameQLParser.COLUMN) - - - self.state = 2326 - self.uid() - self.state = 2332 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.SET]: - self.state = 2327 - self.match(frameQLParser.SET) - self.state = 2328 - self.match(frameQLParser.DEFAULT) - self.state = 2329 - self.defaultValue() - pass - elif token in [frameQLParser.DROP]: - self.state = 2330 - self.match(frameQLParser.DROP) - self.state = 2331 - self.match(frameQLParser.DEFAULT) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 12: - localctx = frameQLParser.AlterByChangeColumnContext(self, localctx) - self.enterOuterAlt(localctx, 12) - self.state = 2334 - self.match(frameQLParser.CHANGE) - self.state = 2336 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLUMN: - self.state = 2335 - self.match(frameQLParser.COLUMN) - - - self.state = 2338 - localctx.oldColumn = self.uid() - self.state = 2339 - localctx.newColumn = self.uid() - self.state = 2340 - self.columnDefinition() - self.state = 2344 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.FIRST]: - self.state = 2341 - self.match(frameQLParser.FIRST) - pass - elif token in [frameQLParser.AFTER]: - self.state = 2342 - self.match(frameQLParser.AFTER) - self.state = 2343 - localctx.afterColumn = self.uid() - pass - elif token in [frameQLParser.EOF, frameQLParser.PARTITION, frameQLParser.MINUSMINUS, frameQLParser.COMMA, frameQLParser.SEMI]: - pass - else: - pass - pass - - elif la_ == 13: - localctx = frameQLParser.AlterByRenameColumnContext(self, localctx) - self.enterOuterAlt(localctx, 13) - self.state = 2346 - self.match(frameQLParser.RENAME) - self.state = 2347 - self.match(frameQLParser.COLUMN) - self.state = 2348 - localctx.oldColumn = self.uid() - self.state = 2349 - self.match(frameQLParser.TO) - self.state = 2350 - localctx.newColumn = self.uid() - pass - - elif la_ == 14: - localctx = frameQLParser.AlterByLockContext(self, localctx) - self.enterOuterAlt(localctx, 14) - self.state = 2352 - self.match(frameQLParser.LOCK) - self.state = 2354 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 2353 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 2356 - localctx.lockType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.EXCLUSIVE or _la==frameQLParser.NONE or _la==frameQLParser.SHARED): - localctx.lockType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 15: - localctx = frameQLParser.AlterByModifyColumnContext(self, localctx) - self.enterOuterAlt(localctx, 15) - self.state = 2357 - self.match(frameQLParser.MODIFY) - self.state = 2359 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLUMN: - self.state = 2358 - self.match(frameQLParser.COLUMN) - - - self.state = 2361 - self.uid() - self.state = 2362 - self.columnDefinition() - self.state = 2366 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.FIRST]: - self.state = 2363 - self.match(frameQLParser.FIRST) - pass - elif token in [frameQLParser.AFTER]: - self.state = 2364 - self.match(frameQLParser.AFTER) - self.state = 2365 - self.uid() - pass - elif token in [frameQLParser.EOF, frameQLParser.PARTITION, frameQLParser.MINUSMINUS, frameQLParser.COMMA, frameQLParser.SEMI]: - pass - else: - pass - pass - - elif la_ == 16: - localctx = frameQLParser.AlterByDropColumnContext(self, localctx) - self.enterOuterAlt(localctx, 16) - self.state = 2368 - self.match(frameQLParser.DROP) - self.state = 2370 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLUMN: - self.state = 2369 - self.match(frameQLParser.COLUMN) - - - self.state = 2372 - self.uid() - pass - - elif la_ == 17: - localctx = frameQLParser.AlterByDropPrimaryKeyContext(self, localctx) - self.enterOuterAlt(localctx, 17) - self.state = 2373 - self.match(frameQLParser.DROP) - self.state = 2374 - self.match(frameQLParser.PRIMARY) - self.state = 2375 - self.match(frameQLParser.KEY) - pass - - elif la_ == 18: - localctx = frameQLParser.AlterByDropIndexContext(self, localctx) - self.enterOuterAlt(localctx, 18) - self.state = 2376 - self.match(frameQLParser.DROP) - self.state = 2377 - localctx.indexFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.INDEX or _la==frameQLParser.KEY): - localctx.indexFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2378 - self.uid() - pass - - elif la_ == 19: - localctx = frameQLParser.AlterByDropForeignKeyContext(self, localctx) - self.enterOuterAlt(localctx, 19) - self.state = 2379 - self.match(frameQLParser.DROP) - self.state = 2380 - self.match(frameQLParser.FOREIGN) - self.state = 2381 - self.match(frameQLParser.KEY) - self.state = 2382 - self.uid() - pass - - elif la_ == 20: - localctx = frameQLParser.AlterByDisableKeysContext(self, localctx) - self.enterOuterAlt(localctx, 20) - self.state = 2383 - self.match(frameQLParser.DISABLE) - self.state = 2384 - self.match(frameQLParser.KEYS) - pass - - elif la_ == 21: - localctx = frameQLParser.AlterByEnableKeysContext(self, localctx) - self.enterOuterAlt(localctx, 21) - self.state = 2385 - self.match(frameQLParser.ENABLE) - self.state = 2386 - self.match(frameQLParser.KEYS) - pass - - elif la_ == 22: - localctx = frameQLParser.AlterByRenameContext(self, localctx) - self.enterOuterAlt(localctx, 22) - self.state = 2387 - self.match(frameQLParser.RENAME) - self.state = 2389 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS or _la==frameQLParser.TO: - self.state = 2388 - localctx.renameFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.AS or _la==frameQLParser.TO): - localctx.renameFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2393 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,301,self._ctx) - if la_ == 1: - self.state = 2391 - self.uid() - pass - - elif la_ == 2: - self.state = 2392 - self.fullId() - pass - - - pass - - elif la_ == 23: - localctx = frameQLParser.AlterByOrderContext(self, localctx) - self.enterOuterAlt(localctx, 23) - self.state = 2395 - self.match(frameQLParser.ORDER) - self.state = 2396 - self.match(frameQLParser.BY) - self.state = 2397 - self.uidList() - pass - - elif la_ == 24: - localctx = frameQLParser.AlterByConvertCharsetContext(self, localctx) - self.enterOuterAlt(localctx, 24) - self.state = 2398 - self.match(frameQLParser.CONVERT) - self.state = 2399 - self.match(frameQLParser.TO) - self.state = 2400 - self.match(frameQLParser.CHARACTER) - self.state = 2401 - self.match(frameQLParser.SET) - self.state = 2402 - self.charsetName() - self.state = 2405 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLLATE: - self.state = 2403 - self.match(frameQLParser.COLLATE) - self.state = 2404 - self.collationName() - - - pass - - elif la_ == 25: - localctx = frameQLParser.AlterByDefaultCharsetContext(self, localctx) - self.enterOuterAlt(localctx, 25) - self.state = 2408 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFAULT: - self.state = 2407 - self.match(frameQLParser.DEFAULT) - - - self.state = 2410 - self.match(frameQLParser.CHARACTER) - self.state = 2411 - self.match(frameQLParser.SET) - self.state = 2412 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 2413 - self.charsetName() - self.state = 2417 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLLATE: - self.state = 2414 - self.match(frameQLParser.COLLATE) - self.state = 2415 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 2416 - self.collationName() - - - pass - - elif la_ == 26: - localctx = frameQLParser.AlterByDiscardTablespaceContext(self, localctx) - self.enterOuterAlt(localctx, 26) - self.state = 2419 - self.match(frameQLParser.DISCARD) - self.state = 2420 - self.match(frameQLParser.TABLESPACE) - pass - - elif la_ == 27: - localctx = frameQLParser.AlterByImportTablespaceContext(self, localctx) - self.enterOuterAlt(localctx, 27) - self.state = 2421 - self.match(frameQLParser.IMPORT) - self.state = 2422 - self.match(frameQLParser.TABLESPACE) - pass - - elif la_ == 28: - localctx = frameQLParser.AlterByForceContext(self, localctx) - self.enterOuterAlt(localctx, 28) - self.state = 2423 - self.match(frameQLParser.FORCE) - pass - - elif la_ == 29: - localctx = frameQLParser.AlterByValidateContext(self, localctx) - self.enterOuterAlt(localctx, 29) - self.state = 2424 - localctx.validationFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.WITH or _la==frameQLParser.WITHOUT): - localctx.validationFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2425 - self.match(frameQLParser.VALIDATION) - pass - - elif la_ == 30: - localctx = frameQLParser.AlterByAddPartitionContext(self, localctx) - self.enterOuterAlt(localctx, 30) - self.state = 2426 - self.match(frameQLParser.ADD) - self.state = 2427 - self.match(frameQLParser.PARTITION) - self.state = 2428 - self.match(frameQLParser.LR_BRACKET) - self.state = 2429 - self.partitionDefinition() - self.state = 2434 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2430 - self.match(frameQLParser.COMMA) - self.state = 2431 - self.partitionDefinition() - self.state = 2436 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2437 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 31: - localctx = frameQLParser.AlterByDropPartitionContext(self, localctx) - self.enterOuterAlt(localctx, 31) - self.state = 2439 - self.match(frameQLParser.DROP) - self.state = 2440 - self.match(frameQLParser.PARTITION) - self.state = 2441 - self.uidList() - pass - - elif la_ == 32: - localctx = frameQLParser.AlterByDiscardPartitionContext(self, localctx) - self.enterOuterAlt(localctx, 32) - self.state = 2442 - self.match(frameQLParser.DISCARD) - self.state = 2443 - self.match(frameQLParser.PARTITION) - self.state = 2446 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.state = 2444 - self.uidList() - pass - elif token in [frameQLParser.ALL]: - self.state = 2445 - self.match(frameQLParser.ALL) - pass - else: - raise NoViableAltException(self) - - self.state = 2448 - self.match(frameQLParser.TABLESPACE) - pass - - elif la_ == 33: - localctx = frameQLParser.AlterByImportPartitionContext(self, localctx) - self.enterOuterAlt(localctx, 33) - self.state = 2449 - self.match(frameQLParser.IMPORT) - self.state = 2450 - self.match(frameQLParser.PARTITION) - self.state = 2453 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.state = 2451 - self.uidList() - pass - elif token in [frameQLParser.ALL]: - self.state = 2452 - self.match(frameQLParser.ALL) - pass - else: - raise NoViableAltException(self) - - self.state = 2455 - self.match(frameQLParser.TABLESPACE) - pass - - elif la_ == 34: - localctx = frameQLParser.AlterByTruncatePartitionContext(self, localctx) - self.enterOuterAlt(localctx, 34) - self.state = 2456 - self.match(frameQLParser.TRUNCATE) - self.state = 2457 - self.match(frameQLParser.PARTITION) - self.state = 2460 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.state = 2458 - self.uidList() - pass - elif token in [frameQLParser.ALL]: - self.state = 2459 - self.match(frameQLParser.ALL) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 35: - localctx = frameQLParser.AlterByCoalescePartitionContext(self, localctx) - self.enterOuterAlt(localctx, 35) - self.state = 2462 - self.match(frameQLParser.COALESCE) - self.state = 2463 - self.match(frameQLParser.PARTITION) - self.state = 2464 - self.decimalLiteral() - pass - - elif la_ == 36: - localctx = frameQLParser.AlterByReorganizePartitionContext(self, localctx) - self.enterOuterAlt(localctx, 36) - self.state = 2465 - self.match(frameQLParser.REORGANIZE) - self.state = 2466 - self.match(frameQLParser.PARTITION) - self.state = 2467 - self.uidList() - self.state = 2468 - self.match(frameQLParser.INTO) - self.state = 2469 - self.match(frameQLParser.LR_BRACKET) - self.state = 2470 - self.partitionDefinition() - self.state = 2475 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2471 - self.match(frameQLParser.COMMA) - self.state = 2472 - self.partitionDefinition() - self.state = 2477 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2478 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 37: - localctx = frameQLParser.AlterByExchangePartitionContext(self, localctx) - self.enterOuterAlt(localctx, 37) - self.state = 2480 - self.match(frameQLParser.EXCHANGE) - self.state = 2481 - self.match(frameQLParser.PARTITION) - self.state = 2482 - self.uid() - self.state = 2483 - self.match(frameQLParser.WITH) - self.state = 2484 - self.match(frameQLParser.TABLE) - self.state = 2485 - self.tableName() - self.state = 2488 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WITH or _la==frameQLParser.WITHOUT: - self.state = 2486 - localctx.validationFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.WITH or _la==frameQLParser.WITHOUT): - localctx.validationFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2487 - self.match(frameQLParser.VALIDATION) - - - pass - - elif la_ == 38: - localctx = frameQLParser.AlterByAnalyzePartitiionContext(self, localctx) - self.enterOuterAlt(localctx, 38) - self.state = 2490 - self.match(frameQLParser.ANALYZE) - self.state = 2491 - self.match(frameQLParser.PARTITION) - self.state = 2494 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.state = 2492 - self.uidList() - pass - elif token in [frameQLParser.ALL]: - self.state = 2493 - self.match(frameQLParser.ALL) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 39: - localctx = frameQLParser.AlterByCheckPartitionContext(self, localctx) - self.enterOuterAlt(localctx, 39) - self.state = 2496 - self.match(frameQLParser.CHECK) - self.state = 2497 - self.match(frameQLParser.PARTITION) - self.state = 2500 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.state = 2498 - self.uidList() - pass - elif token in [frameQLParser.ALL]: - self.state = 2499 - self.match(frameQLParser.ALL) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 40: - localctx = frameQLParser.AlterByOptimizePartitionContext(self, localctx) - self.enterOuterAlt(localctx, 40) - self.state = 2502 - self.match(frameQLParser.OPTIMIZE) - self.state = 2503 - self.match(frameQLParser.PARTITION) - self.state = 2506 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.state = 2504 - self.uidList() - pass - elif token in [frameQLParser.ALL]: - self.state = 2505 - self.match(frameQLParser.ALL) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 41: - localctx = frameQLParser.AlterByRebuildPartitionContext(self, localctx) - self.enterOuterAlt(localctx, 41) - self.state = 2508 - self.match(frameQLParser.REBUILD) - self.state = 2509 - self.match(frameQLParser.PARTITION) - self.state = 2512 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.state = 2510 - self.uidList() - pass - elif token in [frameQLParser.ALL]: - self.state = 2511 - self.match(frameQLParser.ALL) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 42: - localctx = frameQLParser.AlterByRepairPartitionContext(self, localctx) - self.enterOuterAlt(localctx, 42) - self.state = 2514 - self.match(frameQLParser.REPAIR) - self.state = 2515 - self.match(frameQLParser.PARTITION) - self.state = 2518 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.state = 2516 - self.uidList() - pass - elif token in [frameQLParser.ALL]: - self.state = 2517 - self.match(frameQLParser.ALL) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 43: - localctx = frameQLParser.AlterByRemovePartitioningContext(self, localctx) - self.enterOuterAlt(localctx, 43) - self.state = 2520 - self.match(frameQLParser.REMOVE) - self.state = 2521 - self.match(frameQLParser.PARTITIONING) - pass - - elif la_ == 44: - localctx = frameQLParser.AlterByUpgradePartitioningContext(self, localctx) - self.enterOuterAlt(localctx, 44) - self.state = 2522 - self.match(frameQLParser.UPGRADE) - self.state = 2523 - self.match(frameQLParser.PARTITIONING) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DropDatabaseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.dbFormat = None # Token - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def DATABASE(self): - return self.getToken(frameQLParser.DATABASE, 0) - - def SCHEMA(self): - return self.getToken(frameQLParser.SCHEMA, 0) - - def ifExists(self): - return self.getTypedRuleContext(frameQLParser.IfExistsContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_dropDatabase - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropDatabase" ): - listener.enterDropDatabase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropDatabase" ): - listener.exitDropDatabase(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDropDatabase" ): - return visitor.visitDropDatabase(self) - else: - return visitor.visitChildren(self) - - - - - def dropDatabase(self): - - localctx = frameQLParser.DropDatabaseContext(self, self._ctx, self.state) - self.enterRule(localctx, 134, self.RULE_dropDatabase) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2526 - self.match(frameQLParser.DROP) - self.state = 2527 - localctx.dbFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DATABASE or _la==frameQLParser.SCHEMA): - localctx.dbFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2529 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 2528 - self.ifExists() - - - self.state = 2531 - self.uid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DropEventContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def EVENT(self): - return self.getToken(frameQLParser.EVENT, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def ifExists(self): - return self.getTypedRuleContext(frameQLParser.IfExistsContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_dropEvent - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropEvent" ): - listener.enterDropEvent(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropEvent" ): - listener.exitDropEvent(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDropEvent" ): - return visitor.visitDropEvent(self) - else: - return visitor.visitChildren(self) - - - - - def dropEvent(self): - - localctx = frameQLParser.DropEventContext(self, self._ctx, self.state) - self.enterRule(localctx, 136, self.RULE_dropEvent) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2533 - self.match(frameQLParser.DROP) - self.state = 2534 - self.match(frameQLParser.EVENT) - self.state = 2536 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 2535 - self.ifExists() - - - self.state = 2538 - self.fullId() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DropIndexContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.intimeAction = None # Token - self.algType = None # Token - self.lockType = None # Token - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def ALGORITHM(self): - return self.getToken(frameQLParser.ALGORITHM, 0) - - def LOCK(self): - return self.getToken(frameQLParser.LOCK, 0) - - def ONLINE(self): - return self.getToken(frameQLParser.ONLINE, 0) - - def OFFLINE(self): - return self.getToken(frameQLParser.OFFLINE, 0) - - def DEFAULT(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.DEFAULT) - else: - return self.getToken(frameQLParser.DEFAULT, i) - - def INPLACE(self): - return self.getToken(frameQLParser.INPLACE, 0) - - def COPY(self): - return self.getToken(frameQLParser.COPY, 0) - - def NONE(self): - return self.getToken(frameQLParser.NONE, 0) - - def SHARED(self): - return self.getToken(frameQLParser.SHARED, 0) - - def EXCLUSIVE(self): - return self.getToken(frameQLParser.EXCLUSIVE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_dropIndex - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropIndex" ): - listener.enterDropIndex(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropIndex" ): - listener.exitDropIndex(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDropIndex" ): - return visitor.visitDropIndex(self) - else: - return visitor.visitChildren(self) - - - - - def dropIndex(self): - - localctx = frameQLParser.DropIndexContext(self, self._ctx, self.state) - self.enterRule(localctx, 138, self.RULE_dropIndex) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2540 - self.match(frameQLParser.DROP) - self.state = 2541 - self.match(frameQLParser.INDEX) - self.state = 2543 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,319,self._ctx) - if la_ == 1: - self.state = 2542 - localctx.intimeAction = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.OFFLINE or _la==frameQLParser.ONLINE): - localctx.intimeAction = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2545 - self.uid() - self.state = 2546 - self.match(frameQLParser.ON) - self.state = 2547 - self.tableName() - self.state = 2553 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALGORITHM: - self.state = 2548 - self.match(frameQLParser.ALGORITHM) - self.state = 2550 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 2549 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 2552 - localctx.algType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.COPY or _la==frameQLParser.INPLACE): - localctx.algType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2560 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LOCK: - self.state = 2555 - self.match(frameQLParser.LOCK) - self.state = 2557 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 2556 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 2559 - localctx.lockType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DEFAULT or _la==frameQLParser.EXCLUSIVE or _la==frameQLParser.NONE or _la==frameQLParser.SHARED): - localctx.lockType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DropLogfileGroupContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def LOGFILE(self): - return self.getToken(frameQLParser.LOGFILE, 0) - - def GROUP(self): - return self.getToken(frameQLParser.GROUP, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - - def engineName(self): - return self.getTypedRuleContext(frameQLParser.EngineNameContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_dropLogfileGroup - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropLogfileGroup" ): - listener.enterDropLogfileGroup(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropLogfileGroup" ): - listener.exitDropLogfileGroup(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDropLogfileGroup" ): - return visitor.visitDropLogfileGroup(self) - else: - return visitor.visitChildren(self) - - - - - def dropLogfileGroup(self): - - localctx = frameQLParser.DropLogfileGroupContext(self, self._ctx, self.state) - self.enterRule(localctx, 140, self.RULE_dropLogfileGroup) - try: - self.enterOuterAlt(localctx, 1) - self.state = 2562 - self.match(frameQLParser.DROP) - self.state = 2563 - self.match(frameQLParser.LOGFILE) - self.state = 2564 - self.match(frameQLParser.GROUP) - self.state = 2565 - self.uid() - self.state = 2566 - self.match(frameQLParser.ENGINE) - self.state = 2567 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 2568 - self.engineName() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DropProcedureContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def PROCEDURE(self): - return self.getToken(frameQLParser.PROCEDURE, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def ifExists(self): - return self.getTypedRuleContext(frameQLParser.IfExistsContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_dropProcedure - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropProcedure" ): - listener.enterDropProcedure(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropProcedure" ): - listener.exitDropProcedure(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDropProcedure" ): - return visitor.visitDropProcedure(self) - else: - return visitor.visitChildren(self) - - - - - def dropProcedure(self): - - localctx = frameQLParser.DropProcedureContext(self, self._ctx, self.state) - self.enterRule(localctx, 142, self.RULE_dropProcedure) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2570 - self.match(frameQLParser.DROP) - self.state = 2571 - self.match(frameQLParser.PROCEDURE) - self.state = 2573 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 2572 - self.ifExists() - - - self.state = 2575 - self.fullId() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DropFunctionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def FUNCTION(self): - return self.getToken(frameQLParser.FUNCTION, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def ifExists(self): - return self.getTypedRuleContext(frameQLParser.IfExistsContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_dropFunction - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropFunction" ): - listener.enterDropFunction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropFunction" ): - listener.exitDropFunction(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDropFunction" ): - return visitor.visitDropFunction(self) - else: - return visitor.visitChildren(self) - - - - - def dropFunction(self): - - localctx = frameQLParser.DropFunctionContext(self, self._ctx, self.state) - self.enterRule(localctx, 144, self.RULE_dropFunction) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2577 - self.match(frameQLParser.DROP) - self.state = 2578 - self.match(frameQLParser.FUNCTION) - self.state = 2580 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 2579 - self.ifExists() - - - self.state = 2582 - self.fullId() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DropServerContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def SERVER(self): - return self.getToken(frameQLParser.SERVER, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def ifExists(self): - return self.getTypedRuleContext(frameQLParser.IfExistsContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_dropServer - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropServer" ): - listener.enterDropServer(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropServer" ): - listener.exitDropServer(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDropServer" ): - return visitor.visitDropServer(self) - else: - return visitor.visitChildren(self) - - - - - def dropServer(self): - - localctx = frameQLParser.DropServerContext(self, self._ctx, self.state) - self.enterRule(localctx, 146, self.RULE_dropServer) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2584 - self.match(frameQLParser.DROP) - self.state = 2585 - self.match(frameQLParser.SERVER) - self.state = 2587 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 2586 - self.ifExists() - - - self.state = 2589 - self.uid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DropTableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.dropType = None # Token - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def tables(self): - return self.getTypedRuleContext(frameQLParser.TablesContext,0) - - - def TEMPORARY(self): - return self.getToken(frameQLParser.TEMPORARY, 0) - - def ifExists(self): - return self.getTypedRuleContext(frameQLParser.IfExistsContext,0) - - - def RESTRICT(self): - return self.getToken(frameQLParser.RESTRICT, 0) - - def CASCADE(self): - return self.getToken(frameQLParser.CASCADE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_dropTable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropTable" ): - listener.enterDropTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropTable" ): - listener.exitDropTable(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDropTable" ): - return visitor.visitDropTable(self) - else: - return visitor.visitChildren(self) - - - - - def dropTable(self): - - localctx = frameQLParser.DropTableContext(self, self._ctx, self.state) - self.enterRule(localctx, 148, self.RULE_dropTable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2591 - self.match(frameQLParser.DROP) - self.state = 2593 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.TEMPORARY: - self.state = 2592 - self.match(frameQLParser.TEMPORARY) - - - self.state = 2595 - self.match(frameQLParser.TABLE) - self.state = 2597 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 2596 - self.ifExists() - - - self.state = 2599 - self.tables() - self.state = 2601 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CASCADE or _la==frameQLParser.RESTRICT: - self.state = 2600 - localctx.dropType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.CASCADE or _la==frameQLParser.RESTRICT): - localctx.dropType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DropTablespaceContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - - def engineName(self): - return self.getTypedRuleContext(frameQLParser.EngineNameContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_dropTablespace - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropTablespace" ): - listener.enterDropTablespace(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropTablespace" ): - listener.exitDropTablespace(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDropTablespace" ): - return visitor.visitDropTablespace(self) - else: - return visitor.visitChildren(self) - - - - - def dropTablespace(self): - - localctx = frameQLParser.DropTablespaceContext(self, self._ctx, self.state) - self.enterRule(localctx, 150, self.RULE_dropTablespace) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2603 - self.match(frameQLParser.DROP) - self.state = 2604 - self.match(frameQLParser.TABLESPACE) - self.state = 2605 - self.uid() - self.state = 2611 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ENGINE: - self.state = 2606 - self.match(frameQLParser.ENGINE) - self.state = 2608 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EQUAL_SYMBOL: - self.state = 2607 - self.match(frameQLParser.EQUAL_SYMBOL) - - - self.state = 2610 - self.engineName() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DropTriggerContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def TRIGGER(self): - return self.getToken(frameQLParser.TRIGGER, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def ifExists(self): - return self.getTypedRuleContext(frameQLParser.IfExistsContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_dropTrigger - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropTrigger" ): - listener.enterDropTrigger(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropTrigger" ): - listener.exitDropTrigger(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDropTrigger" ): - return visitor.visitDropTrigger(self) - else: - return visitor.visitChildren(self) - - - - - def dropTrigger(self): - - localctx = frameQLParser.DropTriggerContext(self, self._ctx, self.state) - self.enterRule(localctx, 152, self.RULE_dropTrigger) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2613 - self.match(frameQLParser.DROP) - self.state = 2614 - self.match(frameQLParser.TRIGGER) - self.state = 2616 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 2615 - self.ifExists() - - - self.state = 2618 - self.fullId() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DropViewContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.dropType = None # Token - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def VIEW(self): - return self.getToken(frameQLParser.VIEW, 0) - - def fullId(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.FullIdContext) - else: - return self.getTypedRuleContext(frameQLParser.FullIdContext,i) - - - def ifExists(self): - return self.getTypedRuleContext(frameQLParser.IfExistsContext,0) - - - def RESTRICT(self): - return self.getToken(frameQLParser.RESTRICT, 0) - - def CASCADE(self): - return self.getToken(frameQLParser.CASCADE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_dropView - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropView" ): - listener.enterDropView(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropView" ): - listener.exitDropView(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDropView" ): - return visitor.visitDropView(self) - else: - return visitor.visitChildren(self) - - - - - def dropView(self): - - localctx = frameQLParser.DropViewContext(self, self._ctx, self.state) - self.enterRule(localctx, 154, self.RULE_dropView) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2620 - self.match(frameQLParser.DROP) - self.state = 2621 - self.match(frameQLParser.VIEW) - self.state = 2623 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 2622 - self.ifExists() - - - self.state = 2625 - self.fullId() - self.state = 2630 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2626 - self.match(frameQLParser.COMMA) - self.state = 2627 - self.fullId() - self.state = 2632 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2634 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CASCADE or _la==frameQLParser.RESTRICT: - self.state = 2633 - localctx.dropType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.CASCADE or _la==frameQLParser.RESTRICT): - localctx.dropType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RenameTableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def RENAME(self): - return self.getToken(frameQLParser.RENAME, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def renameTableClause(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.RenameTableClauseContext) - else: - return self.getTypedRuleContext(frameQLParser.RenameTableClauseContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_renameTable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRenameTable" ): - listener.enterRenameTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRenameTable" ): - listener.exitRenameTable(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitRenameTable" ): - return visitor.visitRenameTable(self) - else: - return visitor.visitChildren(self) - - - - - def renameTable(self): - - localctx = frameQLParser.RenameTableContext(self, self._ctx, self.state) - self.enterRule(localctx, 156, self.RULE_renameTable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2636 - self.match(frameQLParser.RENAME) - self.state = 2637 - self.match(frameQLParser.TABLE) - self.state = 2638 - self.renameTableClause() - self.state = 2643 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2639 - self.match(frameQLParser.COMMA) - self.state = 2640 - self.renameTableClause() - self.state = 2645 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RenameTableClauseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def tableName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TableNameContext) - else: - return self.getTypedRuleContext(frameQLParser.TableNameContext,i) - - - def TO(self): - return self.getToken(frameQLParser.TO, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_renameTableClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRenameTableClause" ): - listener.enterRenameTableClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRenameTableClause" ): - listener.exitRenameTableClause(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitRenameTableClause" ): - return visitor.visitRenameTableClause(self) - else: - return visitor.visitChildren(self) - - - - - def renameTableClause(self): - - localctx = frameQLParser.RenameTableClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 158, self.RULE_renameTableClause) - try: - self.enterOuterAlt(localctx, 1) - self.state = 2646 - self.tableName() - self.state = 2647 - self.match(frameQLParser.TO) - self.state = 2648 - self.tableName() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class TruncateTableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def TRUNCATE(self): - return self.getToken(frameQLParser.TRUNCATE, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_truncateTable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTruncateTable" ): - listener.enterTruncateTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTruncateTable" ): - listener.exitTruncateTable(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTruncateTable" ): - return visitor.visitTruncateTable(self) - else: - return visitor.visitChildren(self) - - - - - def truncateTable(self): - - localctx = frameQLParser.TruncateTableContext(self, self._ctx, self.state) - self.enterRule(localctx, 160, self.RULE_truncateTable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2650 - self.match(frameQLParser.TRUNCATE) - self.state = 2652 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.TABLE: - self.state = 2651 - self.match(frameQLParser.TABLE) - - - self.state = 2654 - self.tableName() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CallStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CALL(self): - return self.getToken(frameQLParser.CALL, 0) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def constants(self): - return self.getTypedRuleContext(frameQLParser.ConstantsContext,0) - - - def expressions(self): - return self.getTypedRuleContext(frameQLParser.ExpressionsContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_callStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCallStatement" ): - listener.enterCallStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCallStatement" ): - listener.exitCallStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCallStatement" ): - return visitor.visitCallStatement(self) - else: - return visitor.visitChildren(self) - - - - - def callStatement(self): - - localctx = frameQLParser.CallStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 162, self.RULE_callStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2656 - self.match(frameQLParser.CALL) - self.state = 2657 - self.fullId() - self.state = 2664 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 2658 - self.match(frameQLParser.LR_BRACKET) - self.state = 2661 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,338,self._ctx) - if la_ == 1: - self.state = 2659 - self.constants() - - elif la_ == 2: - self.state = 2660 - self.expressions() - - - self.state = 2663 - self.match(frameQLParser.RR_BRACKET) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DeleteStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def singleDeleteStatement(self): - return self.getTypedRuleContext(frameQLParser.SingleDeleteStatementContext,0) - - - def multipleDeleteStatement(self): - return self.getTypedRuleContext(frameQLParser.MultipleDeleteStatementContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_deleteStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDeleteStatement" ): - listener.enterDeleteStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDeleteStatement" ): - listener.exitDeleteStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDeleteStatement" ): - return visitor.visitDeleteStatement(self) - else: - return visitor.visitChildren(self) - - - - - def deleteStatement(self): - - localctx = frameQLParser.DeleteStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 164, self.RULE_deleteStatement) - try: - self.state = 2668 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,340,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 2666 - self.singleDeleteStatement() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 2667 - self.multipleDeleteStatement() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DoStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DO(self): - return self.getToken(frameQLParser.DO, 0) - - def expressions(self): - return self.getTypedRuleContext(frameQLParser.ExpressionsContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_doStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDoStatement" ): - listener.enterDoStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDoStatement" ): - listener.exitDoStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDoStatement" ): - return visitor.visitDoStatement(self) - else: - return visitor.visitChildren(self) - - - - - def doStatement(self): - - localctx = frameQLParser.DoStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 166, self.RULE_doStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 2670 - self.match(frameQLParser.DO) - self.state = 2671 - self.expressions() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class HandlerStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def handlerOpenStatement(self): - return self.getTypedRuleContext(frameQLParser.HandlerOpenStatementContext,0) - - - def handlerReadIndexStatement(self): - return self.getTypedRuleContext(frameQLParser.HandlerReadIndexStatementContext,0) - - - def handlerReadStatement(self): - return self.getTypedRuleContext(frameQLParser.HandlerReadStatementContext,0) - - - def handlerCloseStatement(self): - return self.getTypedRuleContext(frameQLParser.HandlerCloseStatementContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_handlerStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHandlerStatement" ): - listener.enterHandlerStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHandlerStatement" ): - listener.exitHandlerStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitHandlerStatement" ): - return visitor.visitHandlerStatement(self) - else: - return visitor.visitChildren(self) - - - - - def handlerStatement(self): - - localctx = frameQLParser.HandlerStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 168, self.RULE_handlerStatement) - try: - self.state = 2677 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,341,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 2673 - self.handlerOpenStatement() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 2674 - self.handlerReadIndexStatement() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 2675 - self.handlerReadStatement() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 2676 - self.handlerCloseStatement() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class InsertStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.priority = None # Token - self.partitions = None # UidListContext - self.columns = None # UidListContext - self.setFirst = None # UpdatedElementContext - self._updatedElement = None # UpdatedElementContext - self.setElements = list() # of UpdatedElementContexts - self.duplicatedFirst = None # UpdatedElementContext - self.duplicatedElements = list() # of UpdatedElementContexts - - def INSERT(self): - return self.getToken(frameQLParser.INSERT, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def insertStatementValue(self): - return self.getTypedRuleContext(frameQLParser.InsertStatementValueContext,0) - - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - - def IGNORE(self): - return self.getToken(frameQLParser.IGNORE, 0) - - def INTO(self): - return self.getToken(frameQLParser.INTO, 0) - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - - def updatedElement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UpdatedElementContext) - else: - return self.getTypedRuleContext(frameQLParser.UpdatedElementContext,i) - - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - - def DUPLICATE(self): - return self.getToken(frameQLParser.DUPLICATE, 0) - - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def UPDATE(self): - return self.getToken(frameQLParser.UPDATE, 0) - - def uidList(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidListContext) - else: - return self.getTypedRuleContext(frameQLParser.UidListContext,i) - - - def LOW_PRIORITY(self): - return self.getToken(frameQLParser.LOW_PRIORITY, 0) - - def DELAYED(self): - return self.getToken(frameQLParser.DELAYED, 0) - - def HIGH_PRIORITY(self): - return self.getToken(frameQLParser.HIGH_PRIORITY, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_insertStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterInsertStatement" ): - listener.enterInsertStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitInsertStatement" ): - listener.exitInsertStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitInsertStatement" ): - return visitor.visitInsertStatement(self) - else: - return visitor.visitChildren(self) - - - - - def insertStatement(self): - - localctx = frameQLParser.InsertStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 170, self.RULE_insertStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2679 - self.match(frameQLParser.INSERT) - self.state = 2681 - self._errHandler.sync(self) - _la = self._input.LA(1) - if ((((_la - 40)) & ~0x3f) == 0 and ((1 << (_la - 40)) & ((1 << (frameQLParser.DELAYED - 40)) | (1 << (frameQLParser.HIGH_PRIORITY - 40)) | (1 << (frameQLParser.LOW_PRIORITY - 40)))) != 0): - self.state = 2680 - localctx.priority = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 40)) & ~0x3f) == 0 and ((1 << (_la - 40)) & ((1 << (frameQLParser.DELAYED - 40)) | (1 << (frameQLParser.HIGH_PRIORITY - 40)) | (1 << (frameQLParser.LOW_PRIORITY - 40)))) != 0)): - localctx.priority = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2684 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE: - self.state = 2683 - self.match(frameQLParser.IGNORE) - - - self.state = 2687 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INTO: - self.state = 2686 - self.match(frameQLParser.INTO) - - - self.state = 2689 - self.tableName() - self.state = 2695 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PARTITION: - self.state = 2690 - self.match(frameQLParser.PARTITION) - self.state = 2691 - self.match(frameQLParser.LR_BRACKET) - self.state = 2692 - localctx.partitions = self.uidList() - self.state = 2693 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 2713 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.SELECT, frameQLParser.VALUES, frameQLParser.VALUE, frameQLParser.LR_BRACKET]: - self.state = 2701 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,346,self._ctx) - if la_ == 1: - self.state = 2697 - self.match(frameQLParser.LR_BRACKET) - self.state = 2698 - localctx.columns = self.uidList() - self.state = 2699 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 2703 - self.insertStatementValue() - pass - elif token in [frameQLParser.SET]: - self.state = 2704 - self.match(frameQLParser.SET) - self.state = 2705 - localctx.setFirst = self.updatedElement() - self.state = 2710 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2706 - self.match(frameQLParser.COMMA) - self.state = 2707 - localctx._updatedElement = self.updatedElement() - localctx.setElements.append(localctx._updatedElement) - self.state = 2712 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - else: - raise NoViableAltException(self) - - self.state = 2727 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ON: - self.state = 2715 - self.match(frameQLParser.ON) - self.state = 2716 - self.match(frameQLParser.DUPLICATE) - self.state = 2717 - self.match(frameQLParser.KEY) - self.state = 2718 - self.match(frameQLParser.UPDATE) - self.state = 2719 - localctx.duplicatedFirst = self.updatedElement() - self.state = 2724 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2720 - self.match(frameQLParser.COMMA) - self.state = 2721 - localctx._updatedElement = self.updatedElement() - localctx.duplicatedElements.append(localctx._updatedElement) - self.state = 2726 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class LoadDataStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.priority = None # Token - self.filename = None # Token - self.violation = None # Token - self.charset = None # CharsetNameContext - self.fieldsFormat = None # Token - self.linesFormat = None # Token - - def LOAD(self): - return self.getToken(frameQLParser.LOAD, 0) - - def DATA(self): - return self.getToken(frameQLParser.DATA, 0) - - def INFILE(self): - return self.getToken(frameQLParser.INFILE, 0) - - def INTO(self): - return self.getToken(frameQLParser.INTO, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def LOCAL(self): - return self.getToken(frameQLParser.LOCAL, 0) - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - - def SET(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.SET) - else: - return self.getToken(frameQLParser.SET, i) - - def LINES(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.LINES) - else: - return self.getToken(frameQLParser.LINES, i) - - def IGNORE(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.IGNORE) - else: - return self.getToken(frameQLParser.IGNORE, i) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def assignmentField(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.AssignmentFieldContext) - else: - return self.getTypedRuleContext(frameQLParser.AssignmentFieldContext,i) - - - def updatedElement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UpdatedElementContext) - else: - return self.getTypedRuleContext(frameQLParser.UpdatedElementContext,i) - - - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - - def LOW_PRIORITY(self): - return self.getToken(frameQLParser.LOW_PRIORITY, 0) - - def CONCURRENT(self): - return self.getToken(frameQLParser.CONCURRENT, 0) - - def REPLACE(self): - return self.getToken(frameQLParser.REPLACE, 0) - - def FIELDS(self): - return self.getToken(frameQLParser.FIELDS, 0) - - def COLUMNS(self): - return self.getToken(frameQLParser.COLUMNS, 0) - - def ROWS(self): - return self.getToken(frameQLParser.ROWS, 0) - - def selectFieldsInto(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SelectFieldsIntoContext) - else: - return self.getTypedRuleContext(frameQLParser.SelectFieldsIntoContext,i) - - - def selectLinesInto(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SelectLinesIntoContext) - else: - return self.getTypedRuleContext(frameQLParser.SelectLinesIntoContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_loadDataStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLoadDataStatement" ): - listener.enterLoadDataStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLoadDataStatement" ): - listener.exitLoadDataStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitLoadDataStatement" ): - return visitor.visitLoadDataStatement(self) - else: - return visitor.visitChildren(self) - - - - - def loadDataStatement(self): - - localctx = frameQLParser.LoadDataStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 172, self.RULE_loadDataStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2729 - self.match(frameQLParser.LOAD) - self.state = 2730 - self.match(frameQLParser.DATA) - self.state = 2732 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LOW_PRIORITY or _la==frameQLParser.CONCURRENT: - self.state = 2731 - localctx.priority = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.LOW_PRIORITY or _la==frameQLParser.CONCURRENT): - localctx.priority = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2735 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LOCAL: - self.state = 2734 - self.match(frameQLParser.LOCAL) - - - self.state = 2737 - self.match(frameQLParser.INFILE) - self.state = 2738 - localctx.filename = self.match(frameQLParser.STRING_LITERAL) - self.state = 2740 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE or _la==frameQLParser.REPLACE: - self.state = 2739 - localctx.violation = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.IGNORE or _la==frameQLParser.REPLACE): - localctx.violation = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2742 - self.match(frameQLParser.INTO) - self.state = 2743 - self.match(frameQLParser.TABLE) - self.state = 2744 - self.tableName() - self.state = 2750 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PARTITION: - self.state = 2745 - self.match(frameQLParser.PARTITION) - self.state = 2746 - self.match(frameQLParser.LR_BRACKET) - self.state = 2747 - self.uidList() - self.state = 2748 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 2755 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CHARACTER: - self.state = 2752 - self.match(frameQLParser.CHARACTER) - self.state = 2753 - self.match(frameQLParser.SET) - self.state = 2754 - localctx.charset = self.charsetName() - - - self.state = 2763 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLUMNS or _la==frameQLParser.FIELDS: - self.state = 2757 - localctx.fieldsFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.COLUMNS or _la==frameQLParser.FIELDS): - localctx.fieldsFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2759 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 2758 - self.selectFieldsInto() - self.state = 2761 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==frameQLParser.ENCLOSED or _la==frameQLParser.ESCAPED or _la==frameQLParser.OPTIONALLY or _la==frameQLParser.TERMINATED): - break - - - - self.state = 2771 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LINES: - self.state = 2765 - self.match(frameQLParser.LINES) - self.state = 2767 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 2766 - self.selectLinesInto() - self.state = 2769 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==frameQLParser.STARTING or _la==frameQLParser.TERMINATED): - break - - - - self.state = 2777 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE: - self.state = 2773 - self.match(frameQLParser.IGNORE) - self.state = 2774 - self.decimalLiteral() - self.state = 2775 - localctx.linesFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.LINES or _la==frameQLParser.ROWS): - localctx.linesFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2790 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 2779 - self.match(frameQLParser.LR_BRACKET) - self.state = 2780 - self.assignmentField() - self.state = 2785 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2781 - self.match(frameQLParser.COMMA) - self.state = 2782 - self.assignmentField() - self.state = 2787 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2788 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 2801 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SET: - self.state = 2792 - self.match(frameQLParser.SET) - self.state = 2793 - self.updatedElement() - self.state = 2798 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2794 - self.match(frameQLParser.COMMA) - self.state = 2795 - self.updatedElement() - self.state = 2800 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class LoadXmlStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.priority = None # Token - self.filename = None # Token - self.violation = None # Token - self.charset = None # CharsetNameContext - self.tag = None # Token - self.linesFormat = None # Token - - def LOAD(self): - return self.getToken(frameQLParser.LOAD, 0) - - def XML(self): - return self.getToken(frameQLParser.XML, 0) - - def INFILE(self): - return self.getToken(frameQLParser.INFILE, 0) - - def INTO(self): - return self.getToken(frameQLParser.INTO, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def STRING_LITERAL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.STRING_LITERAL) - else: - return self.getToken(frameQLParser.STRING_LITERAL, i) - - def LOCAL(self): - return self.getToken(frameQLParser.LOCAL, 0) - - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - - def SET(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.SET) - else: - return self.getToken(frameQLParser.SET, i) - - def ROWS(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.ROWS) - else: - return self.getToken(frameQLParser.ROWS, i) - - def IDENTIFIED(self): - return self.getToken(frameQLParser.IDENTIFIED, 0) - - def BY(self): - return self.getToken(frameQLParser.BY, 0) - - def IGNORE(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.IGNORE) - else: - return self.getToken(frameQLParser.IGNORE, i) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def assignmentField(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.AssignmentFieldContext) - else: - return self.getTypedRuleContext(frameQLParser.AssignmentFieldContext,i) - - - def updatedElement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UpdatedElementContext) - else: - return self.getTypedRuleContext(frameQLParser.UpdatedElementContext,i) - - - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - - def LOW_PRIORITY(self): - return self.getToken(frameQLParser.LOW_PRIORITY, 0) - - def CONCURRENT(self): - return self.getToken(frameQLParser.CONCURRENT, 0) - - def REPLACE(self): - return self.getToken(frameQLParser.REPLACE, 0) - - def LINES(self): - return self.getToken(frameQLParser.LINES, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_loadXmlStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLoadXmlStatement" ): - listener.enterLoadXmlStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLoadXmlStatement" ): - listener.exitLoadXmlStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitLoadXmlStatement" ): - return visitor.visitLoadXmlStatement(self) - else: - return visitor.visitChildren(self) - - - - - def loadXmlStatement(self): - - localctx = frameQLParser.LoadXmlStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 174, self.RULE_loadXmlStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2803 - self.match(frameQLParser.LOAD) - self.state = 2804 - self.match(frameQLParser.XML) - self.state = 2806 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LOW_PRIORITY or _la==frameQLParser.CONCURRENT: - self.state = 2805 - localctx.priority = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.LOW_PRIORITY or _la==frameQLParser.CONCURRENT): - localctx.priority = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2809 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LOCAL: - self.state = 2808 - self.match(frameQLParser.LOCAL) - - - self.state = 2811 - self.match(frameQLParser.INFILE) - self.state = 2812 - localctx.filename = self.match(frameQLParser.STRING_LITERAL) - self.state = 2814 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE or _la==frameQLParser.REPLACE: - self.state = 2813 - localctx.violation = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.IGNORE or _la==frameQLParser.REPLACE): - localctx.violation = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2816 - self.match(frameQLParser.INTO) - self.state = 2817 - self.match(frameQLParser.TABLE) - self.state = 2818 - self.tableName() - self.state = 2822 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CHARACTER: - self.state = 2819 - self.match(frameQLParser.CHARACTER) - self.state = 2820 - self.match(frameQLParser.SET) - self.state = 2821 - localctx.charset = self.charsetName() - - - self.state = 2830 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ROWS: - self.state = 2824 - self.match(frameQLParser.ROWS) - self.state = 2825 - self.match(frameQLParser.IDENTIFIED) - self.state = 2826 - self.match(frameQLParser.BY) - self.state = 2827 - self.match(frameQLParser.LESS_SYMBOL) - self.state = 2828 - localctx.tag = self.match(frameQLParser.STRING_LITERAL) - self.state = 2829 - self.match(frameQLParser.GREATER_SYMBOL) - - - self.state = 2836 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE: - self.state = 2832 - self.match(frameQLParser.IGNORE) - self.state = 2833 - self.decimalLiteral() - self.state = 2834 - localctx.linesFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.LINES or _la==frameQLParser.ROWS): - localctx.linesFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2849 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 2838 - self.match(frameQLParser.LR_BRACKET) - self.state = 2839 - self.assignmentField() - self.state = 2844 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2840 - self.match(frameQLParser.COMMA) - self.state = 2841 - self.assignmentField() - self.state = 2846 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2847 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 2860 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SET: - self.state = 2851 - self.match(frameQLParser.SET) - self.state = 2852 - self.updatedElement() - self.state = 2857 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2853 - self.match(frameQLParser.COMMA) - self.state = 2854 - self.updatedElement() - self.state = 2859 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ReplaceStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.priority = None # Token - self.partitions = None # UidListContext - self.columns = None # UidListContext - self.setFirst = None # UpdatedElementContext - self._updatedElement = None # UpdatedElementContext - self.setElements = list() # of UpdatedElementContexts - - def REPLACE(self): - return self.getToken(frameQLParser.REPLACE, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def insertStatementValue(self): - return self.getTypedRuleContext(frameQLParser.InsertStatementValueContext,0) - - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - - def INTO(self): - return self.getToken(frameQLParser.INTO, 0) - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - - def updatedElement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UpdatedElementContext) - else: - return self.getTypedRuleContext(frameQLParser.UpdatedElementContext,i) - - - def uidList(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidListContext) - else: - return self.getTypedRuleContext(frameQLParser.UidListContext,i) - - - def LOW_PRIORITY(self): - return self.getToken(frameQLParser.LOW_PRIORITY, 0) - - def DELAYED(self): - return self.getToken(frameQLParser.DELAYED, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_replaceStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterReplaceStatement" ): - listener.enterReplaceStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitReplaceStatement" ): - listener.exitReplaceStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitReplaceStatement" ): - return visitor.visitReplaceStatement(self) - else: - return visitor.visitChildren(self) - - - - - def replaceStatement(self): - - localctx = frameQLParser.ReplaceStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 176, self.RULE_replaceStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2862 - self.match(frameQLParser.REPLACE) - self.state = 2864 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DELAYED or _la==frameQLParser.LOW_PRIORITY: - self.state = 2863 - localctx.priority = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DELAYED or _la==frameQLParser.LOW_PRIORITY): - localctx.priority = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2867 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INTO: - self.state = 2866 - self.match(frameQLParser.INTO) - - - self.state = 2869 - self.tableName() - self.state = 2875 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PARTITION: - self.state = 2870 - self.match(frameQLParser.PARTITION) - self.state = 2871 - self.match(frameQLParser.LR_BRACKET) - self.state = 2872 - localctx.partitions = self.uidList() - self.state = 2873 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 2893 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.SELECT, frameQLParser.VALUES, frameQLParser.VALUE, frameQLParser.LR_BRACKET]: - self.state = 2881 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,378,self._ctx) - if la_ == 1: - self.state = 2877 - self.match(frameQLParser.LR_BRACKET) - self.state = 2878 - localctx.columns = self.uidList() - self.state = 2879 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 2883 - self.insertStatementValue() - pass - elif token in [frameQLParser.SET]: - self.state = 2884 - self.match(frameQLParser.SET) - self.state = 2885 - localctx.setFirst = self.updatedElement() - self.state = 2890 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2886 - self.match(frameQLParser.COMMA) - self.state = 2887 - localctx._updatedElement = self.updatedElement() - localctx.setElements.append(localctx._updatedElement) - self.state = 2892 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SelectStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_selectStatement - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class UnionSelectContext(SelectStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SelectStatementContext - super().__init__(parser) - self.unionType = None # Token - self.copyFrom(ctx) - - def querySpecificationNointo(self): - return self.getTypedRuleContext(frameQLParser.QuerySpecificationNointoContext,0) - - def unionStatement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UnionStatementContext) - else: - return self.getTypedRuleContext(frameQLParser.UnionStatementContext,i) - - def UNION(self): - return self.getToken(frameQLParser.UNION, 0) - def orderByClause(self): - return self.getTypedRuleContext(frameQLParser.OrderByClauseContext,0) - - def limitClause(self): - return self.getTypedRuleContext(frameQLParser.LimitClauseContext,0) - - def lockClause(self): - return self.getTypedRuleContext(frameQLParser.LockClauseContext,0) - - def querySpecification(self): - return self.getTypedRuleContext(frameQLParser.QuerySpecificationContext,0) - - def queryExpression(self): - return self.getTypedRuleContext(frameQLParser.QueryExpressionContext,0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - def DISTINCT(self): - return self.getToken(frameQLParser.DISTINCT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUnionSelect" ): - listener.enterUnionSelect(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUnionSelect" ): - listener.exitUnionSelect(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUnionSelect" ): - return visitor.visitUnionSelect(self) - else: - return visitor.visitChildren(self) - - - class UnionParenthesisSelectContext(SelectStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SelectStatementContext - super().__init__(parser) - self.unionType = None # Token - self.copyFrom(ctx) - - def queryExpressionNointo(self): - return self.getTypedRuleContext(frameQLParser.QueryExpressionNointoContext,0) - - def unionParenthesis(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UnionParenthesisContext) - else: - return self.getTypedRuleContext(frameQLParser.UnionParenthesisContext,i) - - def UNION(self): - return self.getToken(frameQLParser.UNION, 0) - def queryExpression(self): - return self.getTypedRuleContext(frameQLParser.QueryExpressionContext,0) - - def orderByClause(self): - return self.getTypedRuleContext(frameQLParser.OrderByClauseContext,0) - - def limitClause(self): - return self.getTypedRuleContext(frameQLParser.LimitClauseContext,0) - - def lockClause(self): - return self.getTypedRuleContext(frameQLParser.LockClauseContext,0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - def DISTINCT(self): - return self.getToken(frameQLParser.DISTINCT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUnionParenthesisSelect" ): - listener.enterUnionParenthesisSelect(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUnionParenthesisSelect" ): - listener.exitUnionParenthesisSelect(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUnionParenthesisSelect" ): - return visitor.visitUnionParenthesisSelect(self) - else: - return visitor.visitChildren(self) - - - class SimpleSelectContext(SelectStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SelectStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def querySpecification(self): - return self.getTypedRuleContext(frameQLParser.QuerySpecificationContext,0) - - def lockClause(self): - return self.getTypedRuleContext(frameQLParser.LockClauseContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSimpleSelect" ): - listener.enterSimpleSelect(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSimpleSelect" ): - listener.exitSimpleSelect(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSimpleSelect" ): - return visitor.visitSimpleSelect(self) - else: - return visitor.visitChildren(self) - - - class ParenthesisSelectContext(SelectStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SelectStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def queryExpression(self): - return self.getTypedRuleContext(frameQLParser.QueryExpressionContext,0) - - def lockClause(self): - return self.getTypedRuleContext(frameQLParser.LockClauseContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterParenthesisSelect" ): - listener.enterParenthesisSelect(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitParenthesisSelect" ): - listener.exitParenthesisSelect(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitParenthesisSelect" ): - return visitor.visitParenthesisSelect(self) - else: - return visitor.visitChildren(self) - - - - def selectStatement(self): - - localctx = frameQLParser.SelectStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 178, self.RULE_selectStatement) - self._la = 0 # Token type - try: - self.state = 2950 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,396,self._ctx) - if la_ == 1: - localctx = frameQLParser.SimpleSelectContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 2895 - self.querySpecification() - self.state = 2897 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR or _la==frameQLParser.LOCK: - self.state = 2896 - self.lockClause() - - - pass - - elif la_ == 2: - localctx = frameQLParser.ParenthesisSelectContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 2899 - self.queryExpression() - self.state = 2901 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR or _la==frameQLParser.LOCK: - self.state = 2900 - self.lockClause() - - - pass - - elif la_ == 3: - localctx = frameQLParser.UnionSelectContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 2903 - self.querySpecificationNointo() - self.state = 2905 - self._errHandler.sync(self) - _alt = 1 - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt == 1: - self.state = 2904 - self.unionStatement() - - else: - raise NoViableAltException(self) - self.state = 2907 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,383,self._ctx) - - self.state = 2917 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.UNION: - self.state = 2909 - self.match(frameQLParser.UNION) - self.state = 2911 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALL or _la==frameQLParser.DISTINCT: - self.state = 2910 - localctx.unionType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ALL or _la==frameQLParser.DISTINCT): - localctx.unionType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2915 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.SELECT]: - self.state = 2913 - self.querySpecification() - pass - elif token in [frameQLParser.LR_BRACKET]: - self.state = 2914 - self.queryExpression() - pass - else: - raise NoViableAltException(self) - - - - self.state = 2920 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ORDER: - self.state = 2919 - self.orderByClause() - - - self.state = 2923 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LIMIT: - self.state = 2922 - self.limitClause() - - - self.state = 2926 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR or _la==frameQLParser.LOCK: - self.state = 2925 - self.lockClause() - - - pass - - elif la_ == 4: - localctx = frameQLParser.UnionParenthesisSelectContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 2928 - self.queryExpressionNointo() - self.state = 2930 - self._errHandler.sync(self) - _alt = 1 - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt == 1: - self.state = 2929 - self.unionParenthesis() - - else: - raise NoViableAltException(self) - self.state = 2932 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,390,self._ctx) - - self.state = 2939 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.UNION: - self.state = 2934 - self.match(frameQLParser.UNION) - self.state = 2936 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALL or _la==frameQLParser.DISTINCT: - self.state = 2935 - localctx.unionType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ALL or _la==frameQLParser.DISTINCT): - localctx.unionType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 2938 - self.queryExpression() - - - self.state = 2942 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ORDER: - self.state = 2941 - self.orderByClause() - - - self.state = 2945 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LIMIT: - self.state = 2944 - self.limitClause() - - - self.state = 2948 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR or _la==frameQLParser.LOCK: - self.state = 2947 - self.lockClause() - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class UpdateStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def singleUpdateStatement(self): - return self.getTypedRuleContext(frameQLParser.SingleUpdateStatementContext,0) - - - def multipleUpdateStatement(self): - return self.getTypedRuleContext(frameQLParser.MultipleUpdateStatementContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_updateStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUpdateStatement" ): - listener.enterUpdateStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUpdateStatement" ): - listener.exitUpdateStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUpdateStatement" ): - return visitor.visitUpdateStatement(self) - else: - return visitor.visitChildren(self) - - - - - def updateStatement(self): - - localctx = frameQLParser.UpdateStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 180, self.RULE_updateStatement) - try: - self.state = 2954 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,397,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 2952 - self.singleUpdateStatement() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 2953 - self.multipleUpdateStatement() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class InsertStatementValueContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.insertFormat = None # Token - - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - - def expressionsWithDefaults(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionsWithDefaultsContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionsWithDefaultsContext,i) - - - def VALUES(self): - return self.getToken(frameQLParser.VALUES, 0) - - def VALUE(self): - return self.getToken(frameQLParser.VALUE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_insertStatementValue - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterInsertStatementValue" ): - listener.enterInsertStatementValue(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitInsertStatementValue" ): - listener.exitInsertStatementValue(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitInsertStatementValue" ): - return visitor.visitInsertStatementValue(self) - else: - return visitor.visitChildren(self) - - - - - def insertStatementValue(self): - - localctx = frameQLParser.InsertStatementValueContext(self, self._ctx, self.state) - self.enterRule(localctx, 182, self.RULE_insertStatementValue) - self._la = 0 # Token type - try: - self.state = 2971 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.SELECT, frameQLParser.LR_BRACKET]: - self.enterOuterAlt(localctx, 1) - self.state = 2956 - self.selectStatement() - pass - elif token in [frameQLParser.VALUES, frameQLParser.VALUE]: - self.enterOuterAlt(localctx, 2) - self.state = 2957 - localctx.insertFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.VALUES or _la==frameQLParser.VALUE): - localctx.insertFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2958 - self.match(frameQLParser.LR_BRACKET) - self.state = 2959 - self.expressionsWithDefaults() - self.state = 2960 - self.match(frameQLParser.RR_BRACKET) - self.state = 2968 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 2961 - self.match(frameQLParser.COMMA) - self.state = 2962 - self.match(frameQLParser.LR_BRACKET) - self.state = 2963 - self.expressionsWithDefaults() - self.state = 2964 - self.match(frameQLParser.RR_BRACKET) - self.state = 2970 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class UpdatedElementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def fullColumnName(self): - return self.getTypedRuleContext(frameQLParser.FullColumnNameContext,0) - - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_updatedElement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUpdatedElement" ): - listener.enterUpdatedElement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUpdatedElement" ): - listener.exitUpdatedElement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUpdatedElement" ): - return visitor.visitUpdatedElement(self) - else: - return visitor.visitChildren(self) - - - - - def updatedElement(self): - - localctx = frameQLParser.UpdatedElementContext(self, self._ctx, self.state) - self.enterRule(localctx, 184, self.RULE_updatedElement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 2973 - self.fullColumnName() - self.state = 2974 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 2977 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.CASE, frameQLParser.CAST, frameQLParser.CONVERT, frameQLParser.CURRENT_USER, frameQLParser.DATABASE, frameQLParser.EXISTS, frameQLParser.FALSE, frameQLParser.IF, frameQLParser.INSERT, frameQLParser.INTERVAL, frameQLParser.LEFT, frameQLParser.NOT, frameQLParser.NULL_LITERAL, frameQLParser.REPLACE, frameQLParser.RIGHT, frameQLParser.TRUE, frameQLParser.VALUES, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.CHAR, frameQLParser.BINARY, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.AVG, frameQLParser.BIT_AND, frameQLParser.BIT_OR, frameQLParser.BIT_XOR, frameQLParser.COUNT, frameQLParser.GROUP_CONCAT, frameQLParser.MAX, frameQLParser.MIN, frameQLParser.STD, frameQLParser.STDDEV, frameQLParser.STDDEV_POP, frameQLParser.STDDEV_SAMP, frameQLParser.SUM, frameQLParser.VAR_POP, frameQLParser.VAR_SAMP, frameQLParser.VARIANCE, frameQLParser.FCOUNT, frameQLParser.CURRENT_DATE, frameQLParser.CURRENT_TIME, frameQLParser.CURRENT_TIMESTAMP, frameQLParser.LOCALTIME, frameQLParser.CURDATE, frameQLParser.CURTIME, frameQLParser.DATE_ADD, frameQLParser.DATE_SUB, frameQLParser.EXTRACT, frameQLParser.LOCALTIMESTAMP, frameQLParser.NOW, frameQLParser.POSITION, frameQLParser.SUBSTR, frameQLParser.SUBSTRING, frameQLParser.SYSDATE, frameQLParser.TRIM, frameQLParser.UTC_DATE, frameQLParser.UTC_TIME, frameQLParser.UTC_TIMESTAMP, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.PLUS, frameQLParser.MINUS, frameQLParser.EXCLAMATION_SYMBOL, frameQLParser.BIT_NOT_OP, frameQLParser.LR_BRACKET, frameQLParser.ZERO_DECIMAL, frameQLParser.ONE_DECIMAL, frameQLParser.TWO_DECIMAL, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.START_NATIONAL_STRING_LITERAL, frameQLParser.STRING_LITERAL, frameQLParser.DECIMAL_LITERAL, frameQLParser.HEXADECIMAL_LITERAL, frameQLParser.REAL_LITERAL, frameQLParser.NULL_SPEC_LITERAL, frameQLParser.BIT_STRING, frameQLParser.STRING_CHARSET_NAME, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID, frameQLParser.LOCAL_ID, frameQLParser.GLOBAL_ID]: - self.state = 2975 - self.expression(0) - pass - elif token in [frameQLParser.DEFAULT]: - self.state = 2976 - self.match(frameQLParser.DEFAULT) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class AssignmentFieldContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def LOCAL_ID(self): - return self.getToken(frameQLParser.LOCAL_ID, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_assignmentField - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAssignmentField" ): - listener.enterAssignmentField(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAssignmentField" ): - listener.exitAssignmentField(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAssignmentField" ): - return visitor.visitAssignmentField(self) - else: - return visitor.visitChildren(self) - - - - - def assignmentField(self): - - localctx = frameQLParser.AssignmentFieldContext(self, self._ctx, self.state) - self.enterRule(localctx, 186, self.RULE_assignmentField) - try: - self.state = 2981 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.enterOuterAlt(localctx, 1) - self.state = 2979 - self.uid() - pass - elif token in [frameQLParser.LOCAL_ID]: - self.enterOuterAlt(localctx, 2) - self.state = 2980 - self.match(frameQLParser.LOCAL_ID) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class LockClauseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def UPDATE(self): - return self.getToken(frameQLParser.UPDATE, 0) - - def LOCK(self): - return self.getToken(frameQLParser.LOCK, 0) - - def IN(self): - return self.getToken(frameQLParser.IN, 0) - - def SHARE(self): - return self.getToken(frameQLParser.SHARE, 0) - - def MODE(self): - return self.getToken(frameQLParser.MODE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_lockClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLockClause" ): - listener.enterLockClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLockClause" ): - listener.exitLockClause(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitLockClause" ): - return visitor.visitLockClause(self) - else: - return visitor.visitChildren(self) - - - - - def lockClause(self): - - localctx = frameQLParser.LockClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 188, self.RULE_lockClause) - try: - self.state = 2989 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.FOR]: - self.enterOuterAlt(localctx, 1) - self.state = 2983 - self.match(frameQLParser.FOR) - self.state = 2984 - self.match(frameQLParser.UPDATE) - pass - elif token in [frameQLParser.LOCK]: - self.enterOuterAlt(localctx, 2) - self.state = 2985 - self.match(frameQLParser.LOCK) - self.state = 2986 - self.match(frameQLParser.IN) - self.state = 2987 - self.match(frameQLParser.SHARE) - self.state = 2988 - self.match(frameQLParser.MODE) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SingleDeleteStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.priority = None # Token - - def DELETE(self): - return self.getToken(frameQLParser.DELETE, 0) - - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def QUICK(self): - return self.getToken(frameQLParser.QUICK, 0) - - def IGNORE(self): - return self.getToken(frameQLParser.IGNORE, 0) - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def WHERE(self): - return self.getToken(frameQLParser.WHERE, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def orderByClause(self): - return self.getTypedRuleContext(frameQLParser.OrderByClauseContext,0) - - - def LIMIT(self): - return self.getToken(frameQLParser.LIMIT, 0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def LOW_PRIORITY(self): - return self.getToken(frameQLParser.LOW_PRIORITY, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_singleDeleteStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSingleDeleteStatement" ): - listener.enterSingleDeleteStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSingleDeleteStatement" ): - listener.exitSingleDeleteStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSingleDeleteStatement" ): - return visitor.visitSingleDeleteStatement(self) - else: - return visitor.visitChildren(self) - - - - - def singleDeleteStatement(self): - - localctx = frameQLParser.SingleDeleteStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 190, self.RULE_singleDeleteStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2991 - self.match(frameQLParser.DELETE) - self.state = 2993 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LOW_PRIORITY: - self.state = 2992 - localctx.priority = self.match(frameQLParser.LOW_PRIORITY) - - - self.state = 2996 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.QUICK: - self.state = 2995 - self.match(frameQLParser.QUICK) - - - self.state = 2999 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE: - self.state = 2998 - self.match(frameQLParser.IGNORE) - - - self.state = 3001 - self.match(frameQLParser.FROM) - self.state = 3002 - self.tableName() - self.state = 3008 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PARTITION: - self.state = 3003 - self.match(frameQLParser.PARTITION) - self.state = 3004 - self.match(frameQLParser.LR_BRACKET) - self.state = 3005 - self.uidList() - self.state = 3006 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 3012 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WHERE: - self.state = 3010 - self.match(frameQLParser.WHERE) - self.state = 3011 - self.expression(0) - - - self.state = 3015 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ORDER: - self.state = 3014 - self.orderByClause() - - - self.state = 3019 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LIMIT: - self.state = 3017 - self.match(frameQLParser.LIMIT) - self.state = 3018 - self.decimalLiteral() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class MultipleDeleteStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.priority = None # Token - - def DELETE(self): - return self.getToken(frameQLParser.DELETE, 0) - - def tableName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TableNameContext) - else: - return self.getTypedRuleContext(frameQLParser.TableNameContext,i) - - - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - - def tableSources(self): - return self.getTypedRuleContext(frameQLParser.TableSourcesContext,0) - - - def USING(self): - return self.getToken(frameQLParser.USING, 0) - - def QUICK(self): - return self.getToken(frameQLParser.QUICK, 0) - - def IGNORE(self): - return self.getToken(frameQLParser.IGNORE, 0) - - def WHERE(self): - return self.getToken(frameQLParser.WHERE, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def LOW_PRIORITY(self): - return self.getToken(frameQLParser.LOW_PRIORITY, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_multipleDeleteStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMultipleDeleteStatement" ): - listener.enterMultipleDeleteStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMultipleDeleteStatement" ): - listener.exitMultipleDeleteStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitMultipleDeleteStatement" ): - return visitor.visitMultipleDeleteStatement(self) - else: - return visitor.visitChildren(self) - - - - - def multipleDeleteStatement(self): - - localctx = frameQLParser.MultipleDeleteStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 192, self.RULE_multipleDeleteStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3021 - self.match(frameQLParser.DELETE) - self.state = 3023 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LOW_PRIORITY: - self.state = 3022 - localctx.priority = self.match(frameQLParser.LOW_PRIORITY) - - - self.state = 3026 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,411,self._ctx) - if la_ == 1: - self.state = 3025 - self.match(frameQLParser.QUICK) - - - self.state = 3029 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE: - self.state = 3028 - self.match(frameQLParser.IGNORE) - - - self.state = 3070 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.state = 3031 - self.tableName() - self.state = 3034 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DOT: - self.state = 3032 - self.match(frameQLParser.DOT) - self.state = 3033 - self.match(frameQLParser.STAR) - - - self.state = 3044 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3036 - self.match(frameQLParser.COMMA) - self.state = 3037 - self.tableName() - self.state = 3040 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DOT: - self.state = 3038 - self.match(frameQLParser.DOT) - self.state = 3039 - self.match(frameQLParser.STAR) - - - self.state = 3046 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 3047 - self.match(frameQLParser.FROM) - self.state = 3048 - self.tableSources() - pass - elif token in [frameQLParser.FROM]: - self.state = 3050 - self.match(frameQLParser.FROM) - self.state = 3051 - self.tableName() - self.state = 3054 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DOT: - self.state = 3052 - self.match(frameQLParser.DOT) - self.state = 3053 - self.match(frameQLParser.STAR) - - - self.state = 3064 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3056 - self.match(frameQLParser.COMMA) - self.state = 3057 - self.tableName() - self.state = 3060 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DOT: - self.state = 3058 - self.match(frameQLParser.DOT) - self.state = 3059 - self.match(frameQLParser.STAR) - - - self.state = 3066 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 3067 - self.match(frameQLParser.USING) - self.state = 3068 - self.tableSources() - pass - else: - raise NoViableAltException(self) - - self.state = 3074 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WHERE: - self.state = 3072 - self.match(frameQLParser.WHERE) - self.state = 3073 - self.expression(0) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class HandlerOpenStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def HANDLER(self): - return self.getToken(frameQLParser.HANDLER, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def OPEN(self): - return self.getToken(frameQLParser.OPEN, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_handlerOpenStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHandlerOpenStatement" ): - listener.enterHandlerOpenStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHandlerOpenStatement" ): - listener.exitHandlerOpenStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitHandlerOpenStatement" ): - return visitor.visitHandlerOpenStatement(self) - else: - return visitor.visitChildren(self) - - - - - def handlerOpenStatement(self): - - localctx = frameQLParser.HandlerOpenStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 194, self.RULE_handlerOpenStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3076 - self.match(frameQLParser.HANDLER) - self.state = 3077 - self.tableName() - self.state = 3078 - self.match(frameQLParser.OPEN) - self.state = 3083 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS or _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 3080 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS: - self.state = 3079 - self.match(frameQLParser.AS) - - - self.state = 3082 - self.uid() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class HandlerReadIndexStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.index = None # UidContext - self.moveOrder = None # Token - - def HANDLER(self): - return self.getToken(frameQLParser.HANDLER, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def READ(self): - return self.getToken(frameQLParser.READ, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def comparisonOperator(self): - return self.getTypedRuleContext(frameQLParser.ComparisonOperatorContext,0) - - - def constants(self): - return self.getTypedRuleContext(frameQLParser.ConstantsContext,0) - - - def WHERE(self): - return self.getToken(frameQLParser.WHERE, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def LIMIT(self): - return self.getToken(frameQLParser.LIMIT, 0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def FIRST(self): - return self.getToken(frameQLParser.FIRST, 0) - - def NEXT(self): - return self.getToken(frameQLParser.NEXT, 0) - - def PREV(self): - return self.getToken(frameQLParser.PREV, 0) - - def LAST(self): - return self.getToken(frameQLParser.LAST, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_handlerReadIndexStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHandlerReadIndexStatement" ): - listener.enterHandlerReadIndexStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHandlerReadIndexStatement" ): - listener.exitHandlerReadIndexStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitHandlerReadIndexStatement" ): - return visitor.visitHandlerReadIndexStatement(self) - else: - return visitor.visitChildren(self) - - - - - def handlerReadIndexStatement(self): - - localctx = frameQLParser.HandlerReadIndexStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 196, self.RULE_handlerReadIndexStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3085 - self.match(frameQLParser.HANDLER) - self.state = 3086 - self.tableName() - self.state = 3087 - self.match(frameQLParser.READ) - self.state = 3088 - localctx.index = self.uid() - self.state = 3095 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.EQUAL_SYMBOL, frameQLParser.GREATER_SYMBOL, frameQLParser.LESS_SYMBOL, frameQLParser.EXCLAMATION_SYMBOL]: - self.state = 3089 - self.comparisonOperator() - self.state = 3090 - self.match(frameQLParser.LR_BRACKET) - self.state = 3091 - self.constants() - self.state = 3092 - self.match(frameQLParser.RR_BRACKET) - pass - elif token in [frameQLParser.FIRST, frameQLParser.LAST, frameQLParser.NEXT, frameQLParser.PREV]: - self.state = 3094 - localctx.moveOrder = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FIRST or _la==frameQLParser.LAST or _la==frameQLParser.NEXT or _la==frameQLParser.PREV): - localctx.moveOrder = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - else: - raise NoViableAltException(self) - - self.state = 3099 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WHERE: - self.state = 3097 - self.match(frameQLParser.WHERE) - self.state = 3098 - self.expression(0) - - - self.state = 3103 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LIMIT: - self.state = 3101 - self.match(frameQLParser.LIMIT) - self.state = 3102 - self.decimalLiteral() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class HandlerReadStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.moveOrder = None # Token - - def HANDLER(self): - return self.getToken(frameQLParser.HANDLER, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def READ(self): - return self.getToken(frameQLParser.READ, 0) - - def FIRST(self): - return self.getToken(frameQLParser.FIRST, 0) - - def NEXT(self): - return self.getToken(frameQLParser.NEXT, 0) - - def WHERE(self): - return self.getToken(frameQLParser.WHERE, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def LIMIT(self): - return self.getToken(frameQLParser.LIMIT, 0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_handlerReadStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHandlerReadStatement" ): - listener.enterHandlerReadStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHandlerReadStatement" ): - listener.exitHandlerReadStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitHandlerReadStatement" ): - return visitor.visitHandlerReadStatement(self) - else: - return visitor.visitChildren(self) - - - - - def handlerReadStatement(self): - - localctx = frameQLParser.HandlerReadStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 198, self.RULE_handlerReadStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3105 - self.match(frameQLParser.HANDLER) - self.state = 3106 - self.tableName() - self.state = 3107 - self.match(frameQLParser.READ) - self.state = 3108 - localctx.moveOrder = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FIRST or _la==frameQLParser.NEXT): - localctx.moveOrder = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 3111 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WHERE: - self.state = 3109 - self.match(frameQLParser.WHERE) - self.state = 3110 - self.expression(0) - - - self.state = 3115 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LIMIT: - self.state = 3113 - self.match(frameQLParser.LIMIT) - self.state = 3114 - self.decimalLiteral() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class HandlerCloseStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def HANDLER(self): - return self.getToken(frameQLParser.HANDLER, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def CLOSE(self): - return self.getToken(frameQLParser.CLOSE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_handlerCloseStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHandlerCloseStatement" ): - listener.enterHandlerCloseStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHandlerCloseStatement" ): - listener.exitHandlerCloseStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitHandlerCloseStatement" ): - return visitor.visitHandlerCloseStatement(self) - else: - return visitor.visitChildren(self) - - - - - def handlerCloseStatement(self): - - localctx = frameQLParser.HandlerCloseStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 200, self.RULE_handlerCloseStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3117 - self.match(frameQLParser.HANDLER) - self.state = 3118 - self.tableName() - self.state = 3119 - self.match(frameQLParser.CLOSE) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SingleUpdateStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.priority = None # Token - - def UPDATE(self): - return self.getToken(frameQLParser.UPDATE, 0) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - - def updatedElement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UpdatedElementContext) - else: - return self.getTypedRuleContext(frameQLParser.UpdatedElementContext,i) - - - def IGNORE(self): - return self.getToken(frameQLParser.IGNORE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def WHERE(self): - return self.getToken(frameQLParser.WHERE, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def orderByClause(self): - return self.getTypedRuleContext(frameQLParser.OrderByClauseContext,0) - - - def limitClause(self): - return self.getTypedRuleContext(frameQLParser.LimitClauseContext,0) - - - def LOW_PRIORITY(self): - return self.getToken(frameQLParser.LOW_PRIORITY, 0) - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_singleUpdateStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSingleUpdateStatement" ): - listener.enterSingleUpdateStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSingleUpdateStatement" ): - listener.exitSingleUpdateStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSingleUpdateStatement" ): - return visitor.visitSingleUpdateStatement(self) - else: - return visitor.visitChildren(self) - - - - - def singleUpdateStatement(self): - - localctx = frameQLParser.SingleUpdateStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 202, self.RULE_singleUpdateStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3121 - self.match(frameQLParser.UPDATE) - self.state = 3123 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LOW_PRIORITY: - self.state = 3122 - localctx.priority = self.match(frameQLParser.LOW_PRIORITY) - - - self.state = 3126 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE: - self.state = 3125 - self.match(frameQLParser.IGNORE) - - - self.state = 3128 - self.tableName() - self.state = 3133 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS or _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 3130 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS: - self.state = 3129 - self.match(frameQLParser.AS) - - - self.state = 3132 - self.uid() - - - self.state = 3135 - self.match(frameQLParser.SET) - self.state = 3136 - self.updatedElement() - self.state = 3141 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3137 - self.match(frameQLParser.COMMA) - self.state = 3138 - self.updatedElement() - self.state = 3143 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 3146 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WHERE: - self.state = 3144 - self.match(frameQLParser.WHERE) - self.state = 3145 - self.expression(0) - - - self.state = 3149 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ORDER: - self.state = 3148 - self.orderByClause() - - - self.state = 3152 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LIMIT: - self.state = 3151 - self.limitClause() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class MultipleUpdateStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.priority = None # Token - - def UPDATE(self): - return self.getToken(frameQLParser.UPDATE, 0) - - def tableSources(self): - return self.getTypedRuleContext(frameQLParser.TableSourcesContext,0) - - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - - def updatedElement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UpdatedElementContext) - else: - return self.getTypedRuleContext(frameQLParser.UpdatedElementContext,i) - - - def IGNORE(self): - return self.getToken(frameQLParser.IGNORE, 0) - - def WHERE(self): - return self.getToken(frameQLParser.WHERE, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def LOW_PRIORITY(self): - return self.getToken(frameQLParser.LOW_PRIORITY, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_multipleUpdateStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMultipleUpdateStatement" ): - listener.enterMultipleUpdateStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMultipleUpdateStatement" ): - listener.exitMultipleUpdateStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitMultipleUpdateStatement" ): - return visitor.visitMultipleUpdateStatement(self) - else: - return visitor.visitChildren(self) - - - - - def multipleUpdateStatement(self): - - localctx = frameQLParser.MultipleUpdateStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 204, self.RULE_multipleUpdateStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3154 - self.match(frameQLParser.UPDATE) - self.state = 3156 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LOW_PRIORITY: - self.state = 3155 - localctx.priority = self.match(frameQLParser.LOW_PRIORITY) - - - self.state = 3159 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE: - self.state = 3158 - self.match(frameQLParser.IGNORE) - - - self.state = 3161 - self.tableSources() - self.state = 3162 - self.match(frameQLParser.SET) - self.state = 3163 - self.updatedElement() - self.state = 3168 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3164 - self.match(frameQLParser.COMMA) - self.state = 3165 - self.updatedElement() - self.state = 3170 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 3173 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WHERE: - self.state = 3171 - self.match(frameQLParser.WHERE) - self.state = 3172 - self.expression(0) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class OrderByClauseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ORDER(self): - return self.getToken(frameQLParser.ORDER, 0) - - def BY(self): - return self.getToken(frameQLParser.BY, 0) - - def orderByExpression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.OrderByExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.OrderByExpressionContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_orderByClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterOrderByClause" ): - listener.enterOrderByClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitOrderByClause" ): - listener.exitOrderByClause(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitOrderByClause" ): - return visitor.visitOrderByClause(self) - else: - return visitor.visitChildren(self) - - - - - def orderByClause(self): - - localctx = frameQLParser.OrderByClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 206, self.RULE_orderByClause) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3175 - self.match(frameQLParser.ORDER) - self.state = 3176 - self.match(frameQLParser.BY) - self.state = 3177 - self.orderByExpression() - self.state = 3182 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3178 - self.match(frameQLParser.COMMA) - self.state = 3179 - self.orderByExpression() - self.state = 3184 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class OrderByExpressionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.order = None # Token - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def ASC(self): - return self.getToken(frameQLParser.ASC, 0) - - def DESC(self): - return self.getToken(frameQLParser.DESC, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_orderByExpression - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterOrderByExpression" ): - listener.enterOrderByExpression(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitOrderByExpression" ): - listener.exitOrderByExpression(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitOrderByExpression" ): - return visitor.visitOrderByExpression(self) - else: - return visitor.visitChildren(self) - - - - - def orderByExpression(self): - - localctx = frameQLParser.OrderByExpressionContext(self, self._ctx, self.state) - self.enterRule(localctx, 208, self.RULE_orderByExpression) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3185 - self.expression(0) - self.state = 3187 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ASC or _la==frameQLParser.DESC: - self.state = 3186 - localctx.order = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ASC or _la==frameQLParser.DESC): - localctx.order = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class TableSourcesContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def tableSource(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TableSourceContext) - else: - return self.getTypedRuleContext(frameQLParser.TableSourceContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_tableSources - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableSources" ): - listener.enterTableSources(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableSources" ): - listener.exitTableSources(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableSources" ): - return visitor.visitTableSources(self) - else: - return visitor.visitChildren(self) - - - - - def tableSources(self): - - localctx = frameQLParser.TableSourcesContext(self, self._ctx, self.state) - self.enterRule(localctx, 210, self.RULE_tableSources) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3189 - self.tableSource() - self.state = 3194 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3190 - self.match(frameQLParser.COMMA) - self.state = 3191 - self.tableSource() - self.state = 3196 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class TableSourceContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_tableSource - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class TableSourceNestedContext(TableSourceContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableSourceContext - super().__init__(parser) - self.copyFrom(ctx) - - def tableSourceItem(self): - return self.getTypedRuleContext(frameQLParser.TableSourceItemContext,0) - - def joinPart(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.JoinPartContext) - else: - return self.getTypedRuleContext(frameQLParser.JoinPartContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableSourceNested" ): - listener.enterTableSourceNested(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableSourceNested" ): - listener.exitTableSourceNested(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableSourceNested" ): - return visitor.visitTableSourceNested(self) - else: - return visitor.visitChildren(self) - - - class TableSourceBaseContext(TableSourceContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableSourceContext - super().__init__(parser) - self.copyFrom(ctx) - - def tableSourceItem(self): - return self.getTypedRuleContext(frameQLParser.TableSourceItemContext,0) - - def joinPart(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.JoinPartContext) - else: - return self.getTypedRuleContext(frameQLParser.JoinPartContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableSourceBase" ): - listener.enterTableSourceBase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableSourceBase" ): - listener.exitTableSourceBase(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableSourceBase" ): - return visitor.visitTableSourceBase(self) - else: - return visitor.visitChildren(self) - - - - def tableSource(self): - - localctx = frameQLParser.TableSourceContext(self, self._ctx, self.state) - self.enterRule(localctx, 212, self.RULE_tableSource) - self._la = 0 # Token type - try: - self.state = 3214 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,445,self._ctx) - if la_ == 1: - localctx = frameQLParser.TableSourceBaseContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 3197 - self.tableSourceItem() - self.state = 3201 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,443,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 3198 - self.joinPart() - self.state = 3203 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,443,self._ctx) - - pass - - elif la_ == 2: - localctx = frameQLParser.TableSourceNestedContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 3204 - self.match(frameQLParser.LR_BRACKET) - self.state = 3205 - self.tableSourceItem() - self.state = 3209 - self._errHandler.sync(self) - _la = self._input.LA(1) - while ((((_la - 33)) & ~0x3f) == 0 and ((1 << (_la - 33)) & ((1 << (frameQLParser.CROSS - 33)) | (1 << (frameQLParser.INNER - 33)) | (1 << (frameQLParser.JOIN - 33)) | (1 << (frameQLParser.LEFT - 33)))) != 0) or ((((_la - 100)) & ~0x3f) == 0 and ((1 << (_la - 100)) & ((1 << (frameQLParser.NATURAL - 100)) | (1 << (frameQLParser.RIGHT - 100)) | (1 << (frameQLParser.STRAIGHT_JOIN - 100)))) != 0): - self.state = 3206 - self.joinPart() - self.state = 3211 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 3212 - self.match(frameQLParser.RR_BRACKET) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class TableSourceItemContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_tableSourceItem - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class SubqueryTableItemContext(TableSourceItemContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableSourceItemContext - super().__init__(parser) - self.parenthesisSubquery = None # SelectStatementContext - self.alias = None # UidContext - self.copyFrom(ctx) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSubqueryTableItem" ): - listener.enterSubqueryTableItem(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSubqueryTableItem" ): - listener.exitSubqueryTableItem(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSubqueryTableItem" ): - return visitor.visitSubqueryTableItem(self) - else: - return visitor.visitChildren(self) - - - class AtomTableItemContext(TableSourceItemContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableSourceItemContext - super().__init__(parser) - self.alias = None # UidContext - self.copyFrom(ctx) - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def indexHint(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IndexHintContext) - else: - return self.getTypedRuleContext(frameQLParser.IndexHintContext,i) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAtomTableItem" ): - listener.enterAtomTableItem(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAtomTableItem" ): - listener.exitAtomTableItem(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAtomTableItem" ): - return visitor.visitAtomTableItem(self) - else: - return visitor.visitChildren(self) - - - class TableSourcesItemContext(TableSourceItemContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.TableSourceItemContext - super().__init__(parser) - self.copyFrom(ctx) - - def tableSources(self): - return self.getTypedRuleContext(frameQLParser.TableSourcesContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableSourcesItem" ): - listener.enterTableSourcesItem(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableSourcesItem" ): - listener.exitTableSourcesItem(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableSourcesItem" ): - return visitor.visitTableSourcesItem(self) - else: - return visitor.visitChildren(self) - - - - def tableSourceItem(self): - - localctx = frameQLParser.TableSourceItemContext(self, self._ctx, self.state) - self.enterRule(localctx, 214, self.RULE_tableSourceItem) - self._la = 0 # Token type - try: - self.state = 3256 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,453,self._ctx) - if la_ == 1: - localctx = frameQLParser.AtomTableItemContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 3216 - self.tableName() - self.state = 3222 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PARTITION: - self.state = 3217 - self.match(frameQLParser.PARTITION) - self.state = 3218 - self.match(frameQLParser.LR_BRACKET) - self.state = 3219 - self.uidList() - self.state = 3220 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 3228 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,448,self._ctx) - if la_ == 1: - self.state = 3225 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS: - self.state = 3224 - self.match(frameQLParser.AS) - - - self.state = 3227 - localctx.alias = self.uid() - - - self.state = 3238 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FORCE or _la==frameQLParser.IGNORE or _la==frameQLParser.USE: - self.state = 3230 - self.indexHint() - self.state = 3235 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,449,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 3231 - self.match(frameQLParser.COMMA) - self.state = 3232 - self.indexHint() - self.state = 3237 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,449,self._ctx) - - - - pass - - elif la_ == 2: - localctx = frameQLParser.SubqueryTableItemContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 3245 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,451,self._ctx) - if la_ == 1: - self.state = 3240 - self.selectStatement() - pass - - elif la_ == 2: - self.state = 3241 - self.match(frameQLParser.LR_BRACKET) - self.state = 3242 - localctx.parenthesisSubquery = self.selectStatement() - self.state = 3243 - self.match(frameQLParser.RR_BRACKET) - pass - - - self.state = 3248 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS: - self.state = 3247 - self.match(frameQLParser.AS) - - - self.state = 3250 - localctx.alias = self.uid() - pass - - elif la_ == 3: - localctx = frameQLParser.TableSourcesItemContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 3252 - self.match(frameQLParser.LR_BRACKET) - self.state = 3253 - self.tableSources() - self.state = 3254 - self.match(frameQLParser.RR_BRACKET) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class IndexHintContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.indexHintAction = None # Token - self.keyFormat = None # Token - - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def USE(self): - return self.getToken(frameQLParser.USE, 0) - - def IGNORE(self): - return self.getToken(frameQLParser.IGNORE, 0) - - def FORCE(self): - return self.getToken(frameQLParser.FORCE, 0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def indexHintType(self): - return self.getTypedRuleContext(frameQLParser.IndexHintTypeContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_indexHint - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIndexHint" ): - listener.enterIndexHint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIndexHint" ): - listener.exitIndexHint(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitIndexHint" ): - return visitor.visitIndexHint(self) - else: - return visitor.visitChildren(self) - - - - - def indexHint(self): - - localctx = frameQLParser.IndexHintContext(self, self._ctx, self.state) - self.enterRule(localctx, 216, self.RULE_indexHint) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3258 - localctx.indexHintAction = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FORCE or _la==frameQLParser.IGNORE or _la==frameQLParser.USE): - localctx.indexHintAction = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 3259 - localctx.keyFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.INDEX or _la==frameQLParser.KEY): - localctx.keyFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 3262 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR: - self.state = 3260 - self.match(frameQLParser.FOR) - self.state = 3261 - self.indexHintType() - - - self.state = 3264 - self.match(frameQLParser.LR_BRACKET) - self.state = 3265 - self.uidList() - self.state = 3266 - self.match(frameQLParser.RR_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class IndexHintTypeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def JOIN(self): - return self.getToken(frameQLParser.JOIN, 0) - - def ORDER(self): - return self.getToken(frameQLParser.ORDER, 0) - - def BY(self): - return self.getToken(frameQLParser.BY, 0) - - def GROUP(self): - return self.getToken(frameQLParser.GROUP, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_indexHintType - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIndexHintType" ): - listener.enterIndexHintType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIndexHintType" ): - listener.exitIndexHintType(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitIndexHintType" ): - return visitor.visitIndexHintType(self) - else: - return visitor.visitChildren(self) - - - - - def indexHintType(self): - - localctx = frameQLParser.IndexHintTypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 218, self.RULE_indexHintType) - try: - self.state = 3273 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.JOIN]: - self.enterOuterAlt(localctx, 1) - self.state = 3268 - self.match(frameQLParser.JOIN) - pass - elif token in [frameQLParser.ORDER]: - self.enterOuterAlt(localctx, 2) - self.state = 3269 - self.match(frameQLParser.ORDER) - self.state = 3270 - self.match(frameQLParser.BY) - pass - elif token in [frameQLParser.GROUP]: - self.enterOuterAlt(localctx, 3) - self.state = 3271 - self.match(frameQLParser.GROUP) - self.state = 3272 - self.match(frameQLParser.BY) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class JoinPartContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_joinPart - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class InnerJoinContext(JoinPartContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.JoinPartContext - super().__init__(parser) - self.copyFrom(ctx) - - def JOIN(self): - return self.getToken(frameQLParser.JOIN, 0) - def tableSourceItem(self): - return self.getTypedRuleContext(frameQLParser.TableSourceItemContext,0) - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def USING(self): - return self.getToken(frameQLParser.USING, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def INNER(self): - return self.getToken(frameQLParser.INNER, 0) - def CROSS(self): - return self.getToken(frameQLParser.CROSS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterInnerJoin" ): - listener.enterInnerJoin(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitInnerJoin" ): - listener.exitInnerJoin(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitInnerJoin" ): - return visitor.visitInnerJoin(self) - else: - return visitor.visitChildren(self) - - - class NaturalJoinContext(JoinPartContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.JoinPartContext - super().__init__(parser) - self.copyFrom(ctx) - - def NATURAL(self): - return self.getToken(frameQLParser.NATURAL, 0) - def JOIN(self): - return self.getToken(frameQLParser.JOIN, 0) - def tableSourceItem(self): - return self.getTypedRuleContext(frameQLParser.TableSourceItemContext,0) - - def LEFT(self): - return self.getToken(frameQLParser.LEFT, 0) - def RIGHT(self): - return self.getToken(frameQLParser.RIGHT, 0) - def OUTER(self): - return self.getToken(frameQLParser.OUTER, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterNaturalJoin" ): - listener.enterNaturalJoin(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitNaturalJoin" ): - listener.exitNaturalJoin(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitNaturalJoin" ): - return visitor.visitNaturalJoin(self) - else: - return visitor.visitChildren(self) - - - class OuterJoinContext(JoinPartContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.JoinPartContext - super().__init__(parser) - self.copyFrom(ctx) - - def JOIN(self): - return self.getToken(frameQLParser.JOIN, 0) - def tableSourceItem(self): - return self.getTypedRuleContext(frameQLParser.TableSourceItemContext,0) - - def LEFT(self): - return self.getToken(frameQLParser.LEFT, 0) - def RIGHT(self): - return self.getToken(frameQLParser.RIGHT, 0) - def ON(self): - return self.getToken(frameQLParser.ON, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def USING(self): - return self.getToken(frameQLParser.USING, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def OUTER(self): - return self.getToken(frameQLParser.OUTER, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterOuterJoin" ): - listener.enterOuterJoin(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitOuterJoin" ): - listener.exitOuterJoin(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitOuterJoin" ): - return visitor.visitOuterJoin(self) - else: - return visitor.visitChildren(self) - - - class StraightJoinContext(JoinPartContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.JoinPartContext - super().__init__(parser) - self.copyFrom(ctx) - - def STRAIGHT_JOIN(self): - return self.getToken(frameQLParser.STRAIGHT_JOIN, 0) - def tableSourceItem(self): - return self.getTypedRuleContext(frameQLParser.TableSourceItemContext,0) - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStraightJoin" ): - listener.enterStraightJoin(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStraightJoin" ): - listener.exitStraightJoin(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitStraightJoin" ): - return visitor.visitStraightJoin(self) - else: - return visitor.visitChildren(self) - - - - def joinPart(self): - - localctx = frameQLParser.JoinPartContext(self, self._ctx, self.state) - self.enterRule(localctx, 220, self.RULE_joinPart) - self._la = 0 # Token type - try: - self.state = 3319 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.CROSS, frameQLParser.INNER, frameQLParser.JOIN]: - localctx = frameQLParser.InnerJoinContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 3276 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CROSS or _la==frameQLParser.INNER: - self.state = 3275 - _la = self._input.LA(1) - if not(_la==frameQLParser.CROSS or _la==frameQLParser.INNER): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 3278 - self.match(frameQLParser.JOIN) - self.state = 3279 - self.tableSourceItem() - self.state = 3287 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,457,self._ctx) - if la_ == 1: - self.state = 3280 - self.match(frameQLParser.ON) - self.state = 3281 - self.expression(0) - - elif la_ == 2: - self.state = 3282 - self.match(frameQLParser.USING) - self.state = 3283 - self.match(frameQLParser.LR_BRACKET) - self.state = 3284 - self.uidList() - self.state = 3285 - self.match(frameQLParser.RR_BRACKET) - - - pass - elif token in [frameQLParser.STRAIGHT_JOIN]: - localctx = frameQLParser.StraightJoinContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 3289 - self.match(frameQLParser.STRAIGHT_JOIN) - self.state = 3290 - self.tableSourceItem() - self.state = 3293 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,458,self._ctx) - if la_ == 1: - self.state = 3291 - self.match(frameQLParser.ON) - self.state = 3292 - self.expression(0) - - - pass - elif token in [frameQLParser.LEFT, frameQLParser.RIGHT]: - localctx = frameQLParser.OuterJoinContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 3295 - _la = self._input.LA(1) - if not(_la==frameQLParser.LEFT or _la==frameQLParser.RIGHT): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 3297 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.OUTER: - self.state = 3296 - self.match(frameQLParser.OUTER) - - - self.state = 3299 - self.match(frameQLParser.JOIN) - self.state = 3300 - self.tableSourceItem() - self.state = 3308 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ON]: - self.state = 3301 - self.match(frameQLParser.ON) - self.state = 3302 - self.expression(0) - pass - elif token in [frameQLParser.USING]: - self.state = 3303 - self.match(frameQLParser.USING) - self.state = 3304 - self.match(frameQLParser.LR_BRACKET) - self.state = 3305 - self.uidList() - self.state = 3306 - self.match(frameQLParser.RR_BRACKET) - pass - else: - raise NoViableAltException(self) - - pass - elif token in [frameQLParser.NATURAL]: - localctx = frameQLParser.NaturalJoinContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 3310 - self.match(frameQLParser.NATURAL) - self.state = 3315 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT: - self.state = 3311 - _la = self._input.LA(1) - if not(_la==frameQLParser.LEFT or _la==frameQLParser.RIGHT): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 3313 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.OUTER: - self.state = 3312 - self.match(frameQLParser.OUTER) - - - - - self.state = 3317 - self.match(frameQLParser.JOIN) - self.state = 3318 - self.tableSourceItem() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class QueryExpressionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def querySpecification(self): - return self.getTypedRuleContext(frameQLParser.QuerySpecificationContext,0) - - - def queryExpression(self): - return self.getTypedRuleContext(frameQLParser.QueryExpressionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_queryExpression - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterQueryExpression" ): - listener.enterQueryExpression(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitQueryExpression" ): - listener.exitQueryExpression(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitQueryExpression" ): - return visitor.visitQueryExpression(self) - else: - return visitor.visitChildren(self) - - - - - def queryExpression(self): - - localctx = frameQLParser.QueryExpressionContext(self, self._ctx, self.state) - self.enterRule(localctx, 222, self.RULE_queryExpression) - try: - self.state = 3329 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,464,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 3321 - self.match(frameQLParser.LR_BRACKET) - self.state = 3322 - self.querySpecification() - self.state = 3323 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 3325 - self.match(frameQLParser.LR_BRACKET) - self.state = 3326 - self.queryExpression() - self.state = 3327 - self.match(frameQLParser.RR_BRACKET) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class QueryExpressionNointoContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def querySpecificationNointo(self): - return self.getTypedRuleContext(frameQLParser.QuerySpecificationNointoContext,0) - - - def queryExpressionNointo(self): - return self.getTypedRuleContext(frameQLParser.QueryExpressionNointoContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_queryExpressionNointo - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterQueryExpressionNointo" ): - listener.enterQueryExpressionNointo(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitQueryExpressionNointo" ): - listener.exitQueryExpressionNointo(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitQueryExpressionNointo" ): - return visitor.visitQueryExpressionNointo(self) - else: - return visitor.visitChildren(self) - - - - - def queryExpressionNointo(self): - - localctx = frameQLParser.QueryExpressionNointoContext(self, self._ctx, self.state) - self.enterRule(localctx, 224, self.RULE_queryExpressionNointo) - try: - self.state = 3339 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,465,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 3331 - self.match(frameQLParser.LR_BRACKET) - self.state = 3332 - self.querySpecificationNointo() - self.state = 3333 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 3335 - self.match(frameQLParser.LR_BRACKET) - self.state = 3336 - self.queryExpressionNointo() - self.state = 3337 - self.match(frameQLParser.RR_BRACKET) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class QuerySpecificationContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def SELECT(self): - return self.getToken(frameQLParser.SELECT, 0) - - def selectElements(self): - return self.getTypedRuleContext(frameQLParser.SelectElementsContext,0) - - - def selectSpec(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SelectSpecContext) - else: - return self.getTypedRuleContext(frameQLParser.SelectSpecContext,i) - - - def selectIntoExpression(self): - return self.getTypedRuleContext(frameQLParser.SelectIntoExpressionContext,0) - - - def fromClause(self): - return self.getTypedRuleContext(frameQLParser.FromClauseContext,0) - - - def orderByClause(self): - return self.getTypedRuleContext(frameQLParser.OrderByClauseContext,0) - - - def limitClause(self): - return self.getTypedRuleContext(frameQLParser.LimitClauseContext,0) - - - def errorTolerenceExpression(self): - return self.getTypedRuleContext(frameQLParser.ErrorTolerenceExpressionContext,0) - - - def confLevelExpression(self): - return self.getTypedRuleContext(frameQLParser.ConfLevelExpressionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_querySpecification - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterQuerySpecification" ): - listener.enterQuerySpecification(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitQuerySpecification" ): - listener.exitQuerySpecification(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitQuerySpecification" ): - return visitor.visitQuerySpecification(self) - else: - return visitor.visitChildren(self) - - - - - def querySpecification(self): - - localctx = frameQLParser.QuerySpecificationContext(self, self._ctx, self.state) - self.enterRule(localctx, 226, self.RULE_querySpecification) - self._la = 0 # Token type - try: - self.state = 3398 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,480,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 3341 - self.match(frameQLParser.SELECT) - self.state = 3345 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,466,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 3342 - self.selectSpec() - self.state = 3347 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,466,self._ctx) - - self.state = 3348 - self.selectElements() - self.state = 3350 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INTO: - self.state = 3349 - self.selectIntoExpression() - - - self.state = 3353 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FROM: - self.state = 3352 - self.fromClause() - - - self.state = 3356 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,469,self._ctx) - if la_ == 1: - self.state = 3355 - self.orderByClause() - - - self.state = 3359 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,470,self._ctx) - if la_ == 1: - self.state = 3358 - self.limitClause() - - - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 3361 - self.match(frameQLParser.SELECT) - self.state = 3365 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,471,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 3362 - self.selectSpec() - self.state = 3367 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,471,self._ctx) - - self.state = 3368 - self.selectElements() - self.state = 3370 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FROM: - self.state = 3369 - self.fromClause() - - - self.state = 3373 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,473,self._ctx) - if la_ == 1: - self.state = 3372 - self.orderByClause() - - - self.state = 3376 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,474,self._ctx) - if la_ == 1: - self.state = 3375 - self.limitClause() - - - self.state = 3379 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INTO: - self.state = 3378 - self.selectIntoExpression() - - - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 3381 - self.match(frameQLParser.SELECT) - self.state = 3385 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,476,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 3382 - self.selectSpec() - self.state = 3387 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,476,self._ctx) - - self.state = 3388 - self.selectElements() - self.state = 3390 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FROM: - self.state = 3389 - self.fromClause() - - - self.state = 3393 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ERRORBOUND: - self.state = 3392 - self.errorTolerenceExpression() - - - self.state = 3396 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CONFLEVEL: - self.state = 3395 - self.confLevelExpression() - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class QuerySpecificationNointoContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def SELECT(self): - return self.getToken(frameQLParser.SELECT, 0) - - def selectElements(self): - return self.getTypedRuleContext(frameQLParser.SelectElementsContext,0) - - - def selectSpec(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SelectSpecContext) - else: - return self.getTypedRuleContext(frameQLParser.SelectSpecContext,i) - - - def fromClause(self): - return self.getTypedRuleContext(frameQLParser.FromClauseContext,0) - - - def orderByClause(self): - return self.getTypedRuleContext(frameQLParser.OrderByClauseContext,0) - - - def limitClause(self): - return self.getTypedRuleContext(frameQLParser.LimitClauseContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_querySpecificationNointo - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterQuerySpecificationNointo" ): - listener.enterQuerySpecificationNointo(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitQuerySpecificationNointo" ): - listener.exitQuerySpecificationNointo(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitQuerySpecificationNointo" ): - return visitor.visitQuerySpecificationNointo(self) - else: - return visitor.visitChildren(self) - - - - - def querySpecificationNointo(self): - - localctx = frameQLParser.QuerySpecificationNointoContext(self, self._ctx, self.state) - self.enterRule(localctx, 228, self.RULE_querySpecificationNointo) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3400 - self.match(frameQLParser.SELECT) - self.state = 3404 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,481,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 3401 - self.selectSpec() - self.state = 3406 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,481,self._ctx) - - self.state = 3407 - self.selectElements() - self.state = 3409 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FROM: - self.state = 3408 - self.fromClause() - - - self.state = 3412 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,483,self._ctx) - if la_ == 1: - self.state = 3411 - self.orderByClause() - - - self.state = 3415 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,484,self._ctx) - if la_ == 1: - self.state = 3414 - self.limitClause() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class UnionParenthesisContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.unionType = None # Token - - def UNION(self): - return self.getToken(frameQLParser.UNION, 0) - - def queryExpressionNointo(self): - return self.getTypedRuleContext(frameQLParser.QueryExpressionNointoContext,0) - - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def DISTINCT(self): - return self.getToken(frameQLParser.DISTINCT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_unionParenthesis - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUnionParenthesis" ): - listener.enterUnionParenthesis(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUnionParenthesis" ): - listener.exitUnionParenthesis(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUnionParenthesis" ): - return visitor.visitUnionParenthesis(self) - else: - return visitor.visitChildren(self) - - - - - def unionParenthesis(self): - - localctx = frameQLParser.UnionParenthesisContext(self, self._ctx, self.state) - self.enterRule(localctx, 230, self.RULE_unionParenthesis) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3417 - self.match(frameQLParser.UNION) - self.state = 3419 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALL or _la==frameQLParser.DISTINCT: - self.state = 3418 - localctx.unionType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ALL or _la==frameQLParser.DISTINCT): - localctx.unionType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 3421 - self.queryExpressionNointo() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class UnionStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.unionType = None # Token - - def UNION(self): - return self.getToken(frameQLParser.UNION, 0) - - def querySpecificationNointo(self): - return self.getTypedRuleContext(frameQLParser.QuerySpecificationNointoContext,0) - - - def queryExpressionNointo(self): - return self.getTypedRuleContext(frameQLParser.QueryExpressionNointoContext,0) - - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def DISTINCT(self): - return self.getToken(frameQLParser.DISTINCT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_unionStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUnionStatement" ): - listener.enterUnionStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUnionStatement" ): - listener.exitUnionStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUnionStatement" ): - return visitor.visitUnionStatement(self) - else: - return visitor.visitChildren(self) - - - - - def unionStatement(self): - - localctx = frameQLParser.UnionStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 232, self.RULE_unionStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3423 - self.match(frameQLParser.UNION) - self.state = 3425 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALL or _la==frameQLParser.DISTINCT: - self.state = 3424 - localctx.unionType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ALL or _la==frameQLParser.DISTINCT): - localctx.unionType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 3429 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.SELECT]: - self.state = 3427 - self.querySpecificationNointo() - pass - elif token in [frameQLParser.LR_BRACKET]: - self.state = 3428 - self.queryExpressionNointo() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SelectSpecContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def DISTINCT(self): - return self.getToken(frameQLParser.DISTINCT, 0) - - def DISTINCTROW(self): - return self.getToken(frameQLParser.DISTINCTROW, 0) - - def HIGH_PRIORITY(self): - return self.getToken(frameQLParser.HIGH_PRIORITY, 0) - - def STRAIGHT_JOIN(self): - return self.getToken(frameQLParser.STRAIGHT_JOIN, 0) - - def SQL_SMALL_RESULT(self): - return self.getToken(frameQLParser.SQL_SMALL_RESULT, 0) - - def SQL_BIG_RESULT(self): - return self.getToken(frameQLParser.SQL_BIG_RESULT, 0) - - def SQL_BUFFER_RESULT(self): - return self.getToken(frameQLParser.SQL_BUFFER_RESULT, 0) - - def SQL_CACHE(self): - return self.getToken(frameQLParser.SQL_CACHE, 0) - - def SQL_NO_CACHE(self): - return self.getToken(frameQLParser.SQL_NO_CACHE, 0) - - def SQL_CALC_FOUND_ROWS(self): - return self.getToken(frameQLParser.SQL_CALC_FOUND_ROWS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_selectSpec - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectSpec" ): - listener.enterSelectSpec(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectSpec" ): - listener.exitSelectSpec(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSelectSpec" ): - return visitor.visitSelectSpec(self) - else: - return visitor.visitChildren(self) - - - - - def selectSpec(self): - - localctx = frameQLParser.SelectSpecContext(self, self._ctx, self.state) - self.enterRule(localctx, 234, self.RULE_selectSpec) - self._la = 0 # Token type - try: - self.state = 3439 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ALL, frameQLParser.DISTINCT, frameQLParser.DISTINCTROW]: - self.enterOuterAlt(localctx, 1) - self.state = 3431 - _la = self._input.LA(1) - if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << frameQLParser.ALL) | (1 << frameQLParser.DISTINCT) | (1 << frameQLParser.DISTINCTROW))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - elif token in [frameQLParser.HIGH_PRIORITY]: - self.enterOuterAlt(localctx, 2) - self.state = 3432 - self.match(frameQLParser.HIGH_PRIORITY) - pass - elif token in [frameQLParser.STRAIGHT_JOIN]: - self.enterOuterAlt(localctx, 3) - self.state = 3433 - self.match(frameQLParser.STRAIGHT_JOIN) - pass - elif token in [frameQLParser.SQL_SMALL_RESULT]: - self.enterOuterAlt(localctx, 4) - self.state = 3434 - self.match(frameQLParser.SQL_SMALL_RESULT) - pass - elif token in [frameQLParser.SQL_BIG_RESULT]: - self.enterOuterAlt(localctx, 5) - self.state = 3435 - self.match(frameQLParser.SQL_BIG_RESULT) - pass - elif token in [frameQLParser.SQL_BUFFER_RESULT]: - self.enterOuterAlt(localctx, 6) - self.state = 3436 - self.match(frameQLParser.SQL_BUFFER_RESULT) - pass - elif token in [frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE]: - self.enterOuterAlt(localctx, 7) - self.state = 3437 - _la = self._input.LA(1) - if not(_la==frameQLParser.SQL_CACHE or _la==frameQLParser.SQL_NO_CACHE): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - elif token in [frameQLParser.SQL_CALC_FOUND_ROWS]: - self.enterOuterAlt(localctx, 8) - self.state = 3438 - self.match(frameQLParser.SQL_CALC_FOUND_ROWS) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SelectElementsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.star = None # Token - - def selectElement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SelectElementContext) - else: - return self.getTypedRuleContext(frameQLParser.SelectElementContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_selectElements - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectElements" ): - listener.enterSelectElements(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectElements" ): - listener.exitSelectElements(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSelectElements" ): - return visitor.visitSelectElements(self) - else: - return visitor.visitChildren(self) - - - - - def selectElements(self): - - localctx = frameQLParser.SelectElementsContext(self, self._ctx, self.state) - self.enterRule(localctx, 236, self.RULE_selectElements) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3443 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.STAR]: - self.state = 3441 - localctx.star = self.match(frameQLParser.STAR) - pass - elif token in [frameQLParser.CASE, frameQLParser.CAST, frameQLParser.CONVERT, frameQLParser.CURRENT_USER, frameQLParser.DATABASE, frameQLParser.EXISTS, frameQLParser.FALSE, frameQLParser.IF, frameQLParser.INSERT, frameQLParser.INTERVAL, frameQLParser.LEFT, frameQLParser.NOT, frameQLParser.NULL_LITERAL, frameQLParser.REPLACE, frameQLParser.RIGHT, frameQLParser.TRUE, frameQLParser.VALUES, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.CHAR, frameQLParser.BINARY, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.AVG, frameQLParser.BIT_AND, frameQLParser.BIT_OR, frameQLParser.BIT_XOR, frameQLParser.COUNT, frameQLParser.GROUP_CONCAT, frameQLParser.MAX, frameQLParser.MIN, frameQLParser.STD, frameQLParser.STDDEV, frameQLParser.STDDEV_POP, frameQLParser.STDDEV_SAMP, frameQLParser.SUM, frameQLParser.VAR_POP, frameQLParser.VAR_SAMP, frameQLParser.VARIANCE, frameQLParser.FCOUNT, frameQLParser.CURRENT_DATE, frameQLParser.CURRENT_TIME, frameQLParser.CURRENT_TIMESTAMP, frameQLParser.LOCALTIME, frameQLParser.CURDATE, frameQLParser.CURTIME, frameQLParser.DATE_ADD, frameQLParser.DATE_SUB, frameQLParser.EXTRACT, frameQLParser.LOCALTIMESTAMP, frameQLParser.NOW, frameQLParser.POSITION, frameQLParser.SUBSTR, frameQLParser.SUBSTRING, frameQLParser.SYSDATE, frameQLParser.TRIM, frameQLParser.UTC_DATE, frameQLParser.UTC_TIME, frameQLParser.UTC_TIMESTAMP, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.PLUS, frameQLParser.MINUS, frameQLParser.EXCLAMATION_SYMBOL, frameQLParser.BIT_NOT_OP, frameQLParser.LR_BRACKET, frameQLParser.ZERO_DECIMAL, frameQLParser.ONE_DECIMAL, frameQLParser.TWO_DECIMAL, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.START_NATIONAL_STRING_LITERAL, frameQLParser.STRING_LITERAL, frameQLParser.DECIMAL_LITERAL, frameQLParser.HEXADECIMAL_LITERAL, frameQLParser.REAL_LITERAL, frameQLParser.NULL_SPEC_LITERAL, frameQLParser.BIT_STRING, frameQLParser.STRING_CHARSET_NAME, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID, frameQLParser.LOCAL_ID, frameQLParser.GLOBAL_ID]: - self.state = 3442 - self.selectElement() - pass - else: - raise NoViableAltException(self) - - self.state = 3449 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3445 - self.match(frameQLParser.COMMA) - self.state = 3446 - self.selectElement() - self.state = 3451 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SelectElementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_selectElement - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class SelectExpressionElementContext(SelectElementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SelectElementContext - super().__init__(parser) - self.copyFrom(ctx) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def LOCAL_ID(self): - return self.getToken(frameQLParser.LOCAL_ID, 0) - def VAR_ASSIGN(self): - return self.getToken(frameQLParser.VAR_ASSIGN, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectExpressionElement" ): - listener.enterSelectExpressionElement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectExpressionElement" ): - listener.exitSelectExpressionElement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSelectExpressionElement" ): - return visitor.visitSelectExpressionElement(self) - else: - return visitor.visitChildren(self) - - - class SelectFunctionElementContext(SelectElementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SelectElementContext - super().__init__(parser) - self.copyFrom(ctx) - - def functionCall(self): - return self.getTypedRuleContext(frameQLParser.FunctionCallContext,0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectFunctionElement" ): - listener.enterSelectFunctionElement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectFunctionElement" ): - listener.exitSelectFunctionElement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSelectFunctionElement" ): - return visitor.visitSelectFunctionElement(self) - else: - return visitor.visitChildren(self) - - - class SelectStarElementContext(SelectElementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SelectElementContext - super().__init__(parser) - self.copyFrom(ctx) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectStarElement" ): - listener.enterSelectStarElement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectStarElement" ): - listener.exitSelectStarElement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSelectStarElement" ): - return visitor.visitSelectStarElement(self) - else: - return visitor.visitChildren(self) - - - class SelectColumnElementContext(SelectElementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SelectElementContext - super().__init__(parser) - self.copyFrom(ctx) - - def fullColumnName(self): - return self.getTypedRuleContext(frameQLParser.FullColumnNameContext,0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectColumnElement" ): - listener.enterSelectColumnElement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectColumnElement" ): - listener.exitSelectColumnElement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSelectColumnElement" ): - return visitor.visitSelectColumnElement(self) - else: - return visitor.visitChildren(self) - - - - def selectElement(self): - - localctx = frameQLParser.SelectElementContext(self, self._ctx, self.state) - self.enterRule(localctx, 238, self.RULE_selectElement) - self._la = 0 # Token type - try: - self.state = 3481 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,498,self._ctx) - if la_ == 1: - localctx = frameQLParser.SelectStarElementContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 3452 - self.fullId() - self.state = 3453 - self.match(frameQLParser.DOT) - self.state = 3454 - self.match(frameQLParser.STAR) - pass - - elif la_ == 2: - localctx = frameQLParser.SelectColumnElementContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 3456 - self.fullColumnName() - self.state = 3461 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,492,self._ctx) - if la_ == 1: - self.state = 3458 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS: - self.state = 3457 - self.match(frameQLParser.AS) - - - self.state = 3460 - self.uid() - - - pass - - elif la_ == 3: - localctx = frameQLParser.SelectFunctionElementContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 3463 - self.functionCall() - self.state = 3468 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,494,self._ctx) - if la_ == 1: - self.state = 3465 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS: - self.state = 3464 - self.match(frameQLParser.AS) - - - self.state = 3467 - self.uid() - - - pass - - elif la_ == 4: - localctx = frameQLParser.SelectExpressionElementContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 3472 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,495,self._ctx) - if la_ == 1: - self.state = 3470 - self.match(frameQLParser.LOCAL_ID) - self.state = 3471 - self.match(frameQLParser.VAR_ASSIGN) - - - self.state = 3474 - self.expression(0) - self.state = 3479 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,497,self._ctx) - if la_ == 1: - self.state = 3476 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS: - self.state = 3475 - self.match(frameQLParser.AS) - - - self.state = 3478 - self.uid() - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ErrorTolerenceExpressionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ERRORBOUND(self): - return self.getToken(frameQLParser.ERRORBOUND, 0) - - def REAL_LITERAL(self): - return self.getToken(frameQLParser.REAL_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_errorTolerenceExpression - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterErrorTolerenceExpression" ): - listener.enterErrorTolerenceExpression(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitErrorTolerenceExpression" ): - listener.exitErrorTolerenceExpression(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitErrorTolerenceExpression" ): - return visitor.visitErrorTolerenceExpression(self) - else: - return visitor.visitChildren(self) - - - - - def errorTolerenceExpression(self): - - localctx = frameQLParser.ErrorTolerenceExpressionContext(self, self._ctx, self.state) - self.enterRule(localctx, 240, self.RULE_errorTolerenceExpression) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3483 - self.match(frameQLParser.ERRORBOUND) - self.state = 3484 - self.match(frameQLParser.REAL_LITERAL) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ConfLevelExpressionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CONFLEVEL(self): - return self.getToken(frameQLParser.CONFLEVEL, 0) - - def REAL_LITERAL(self): - return self.getToken(frameQLParser.REAL_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_confLevelExpression - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterConfLevelExpression" ): - listener.enterConfLevelExpression(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitConfLevelExpression" ): - listener.exitConfLevelExpression(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitConfLevelExpression" ): - return visitor.visitConfLevelExpression(self) - else: - return visitor.visitChildren(self) - - - - - def confLevelExpression(self): - - localctx = frameQLParser.ConfLevelExpressionContext(self, self._ctx, self.state) - self.enterRule(localctx, 242, self.RULE_confLevelExpression) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3486 - self.match(frameQLParser.CONFLEVEL) - self.state = 3487 - self.match(frameQLParser.REAL_LITERAL) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SelectIntoExpressionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_selectIntoExpression - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class SelectIntoVariablesContext(SelectIntoExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SelectIntoExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def INTO(self): - return self.getToken(frameQLParser.INTO, 0) - def assignmentField(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.AssignmentFieldContext) - else: - return self.getTypedRuleContext(frameQLParser.AssignmentFieldContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectIntoVariables" ): - listener.enterSelectIntoVariables(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectIntoVariables" ): - listener.exitSelectIntoVariables(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSelectIntoVariables" ): - return visitor.visitSelectIntoVariables(self) - else: - return visitor.visitChildren(self) - - - class SelectIntoTextFileContext(SelectIntoExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SelectIntoExpressionContext - super().__init__(parser) - self.filename = None # Token - self.charset = None # CharsetNameContext - self.fieldsFormat = None # Token - self.copyFrom(ctx) - - def INTO(self): - return self.getToken(frameQLParser.INTO, 0) - def OUTFILE(self): - return self.getToken(frameQLParser.OUTFILE, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - def SET(self): - return self.getToken(frameQLParser.SET, 0) - def LINES(self): - return self.getToken(frameQLParser.LINES, 0) - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - def FIELDS(self): - return self.getToken(frameQLParser.FIELDS, 0) - def COLUMNS(self): - return self.getToken(frameQLParser.COLUMNS, 0) - def selectFieldsInto(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SelectFieldsIntoContext) - else: - return self.getTypedRuleContext(frameQLParser.SelectFieldsIntoContext,i) - - def selectLinesInto(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.SelectLinesIntoContext) - else: - return self.getTypedRuleContext(frameQLParser.SelectLinesIntoContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectIntoTextFile" ): - listener.enterSelectIntoTextFile(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectIntoTextFile" ): - listener.exitSelectIntoTextFile(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSelectIntoTextFile" ): - return visitor.visitSelectIntoTextFile(self) - else: - return visitor.visitChildren(self) - - - class SelectIntoDumpFileContext(SelectIntoExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SelectIntoExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def INTO(self): - return self.getToken(frameQLParser.INTO, 0) - def DUMPFILE(self): - return self.getToken(frameQLParser.DUMPFILE, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectIntoDumpFile" ): - listener.enterSelectIntoDumpFile(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectIntoDumpFile" ): - listener.exitSelectIntoDumpFile(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSelectIntoDumpFile" ): - return visitor.visitSelectIntoDumpFile(self) - else: - return visitor.visitChildren(self) - - - - def selectIntoExpression(self): - - localctx = frameQLParser.SelectIntoExpressionContext(self, self._ctx, self.state) - self.enterRule(localctx, 244, self.RULE_selectIntoExpression) - self._la = 0 # Token type - try: - self.state = 3525 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,505,self._ctx) - if la_ == 1: - localctx = frameQLParser.SelectIntoVariablesContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 3489 - self.match(frameQLParser.INTO) - self.state = 3490 - self.assignmentField() - self.state = 3495 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3491 - self.match(frameQLParser.COMMA) - self.state = 3492 - self.assignmentField() - self.state = 3497 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 2: - localctx = frameQLParser.SelectIntoDumpFileContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 3498 - self.match(frameQLParser.INTO) - self.state = 3499 - self.match(frameQLParser.DUMPFILE) - self.state = 3500 - self.match(frameQLParser.STRING_LITERAL) - pass - - elif la_ == 3: - localctx = frameQLParser.SelectIntoTextFileContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 3501 - self.match(frameQLParser.INTO) - self.state = 3502 - self.match(frameQLParser.OUTFILE) - self.state = 3503 - localctx.filename = self.match(frameQLParser.STRING_LITERAL) - self.state = 3507 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CHARACTER: - self.state = 3504 - self.match(frameQLParser.CHARACTER) - self.state = 3505 - self.match(frameQLParser.SET) - self.state = 3506 - localctx.charset = self.charsetName() - - - self.state = 3515 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,502,self._ctx) - if la_ == 1: - self.state = 3509 - localctx.fieldsFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.COLUMNS or _la==frameQLParser.FIELDS): - localctx.fieldsFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 3511 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 3510 - self.selectFieldsInto() - self.state = 3513 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==frameQLParser.ENCLOSED or _la==frameQLParser.ESCAPED or _la==frameQLParser.OPTIONALLY or _la==frameQLParser.TERMINATED): - break - - - - self.state = 3523 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LINES: - self.state = 3517 - self.match(frameQLParser.LINES) - self.state = 3519 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 3518 - self.selectLinesInto() - self.state = 3521 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==frameQLParser.STARTING or _la==frameQLParser.TERMINATED): - break - - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SelectFieldsIntoContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.terminationField = None # Token - self.enclosion = None # Token - self.escaping = None # Token - - def TERMINATED(self): - return self.getToken(frameQLParser.TERMINATED, 0) - - def BY(self): - return self.getToken(frameQLParser.BY, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def ENCLOSED(self): - return self.getToken(frameQLParser.ENCLOSED, 0) - - def OPTIONALLY(self): - return self.getToken(frameQLParser.OPTIONALLY, 0) - - def ESCAPED(self): - return self.getToken(frameQLParser.ESCAPED, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_selectFieldsInto - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectFieldsInto" ): - listener.enterSelectFieldsInto(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectFieldsInto" ): - listener.exitSelectFieldsInto(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSelectFieldsInto" ): - return visitor.visitSelectFieldsInto(self) - else: - return visitor.visitChildren(self) - - - - - def selectFieldsInto(self): - - localctx = frameQLParser.SelectFieldsIntoContext(self, self._ctx, self.state) - self.enterRule(localctx, 246, self.RULE_selectFieldsInto) - self._la = 0 # Token type - try: - self.state = 3539 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.TERMINATED]: - self.enterOuterAlt(localctx, 1) - self.state = 3527 - self.match(frameQLParser.TERMINATED) - self.state = 3528 - self.match(frameQLParser.BY) - self.state = 3529 - localctx.terminationField = self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.ENCLOSED, frameQLParser.OPTIONALLY]: - self.enterOuterAlt(localctx, 2) - self.state = 3531 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.OPTIONALLY: - self.state = 3530 - self.match(frameQLParser.OPTIONALLY) - - - self.state = 3533 - self.match(frameQLParser.ENCLOSED) - self.state = 3534 - self.match(frameQLParser.BY) - self.state = 3535 - localctx.enclosion = self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.ESCAPED]: - self.enterOuterAlt(localctx, 3) - self.state = 3536 - self.match(frameQLParser.ESCAPED) - self.state = 3537 - self.match(frameQLParser.BY) - self.state = 3538 - localctx.escaping = self.match(frameQLParser.STRING_LITERAL) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SelectLinesIntoContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.starting = None # Token - self.terminationLine = None # Token - - def STARTING(self): - return self.getToken(frameQLParser.STARTING, 0) - - def BY(self): - return self.getToken(frameQLParser.BY, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def TERMINATED(self): - return self.getToken(frameQLParser.TERMINATED, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_selectLinesInto - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectLinesInto" ): - listener.enterSelectLinesInto(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectLinesInto" ): - listener.exitSelectLinesInto(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSelectLinesInto" ): - return visitor.visitSelectLinesInto(self) - else: - return visitor.visitChildren(self) - - - - - def selectLinesInto(self): - - localctx = frameQLParser.SelectLinesIntoContext(self, self._ctx, self.state) - self.enterRule(localctx, 248, self.RULE_selectLinesInto) - try: - self.state = 3547 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.STARTING]: - self.enterOuterAlt(localctx, 1) - self.state = 3541 - self.match(frameQLParser.STARTING) - self.state = 3542 - self.match(frameQLParser.BY) - self.state = 3543 - localctx.starting = self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.TERMINATED]: - self.enterOuterAlt(localctx, 2) - self.state = 3544 - self.match(frameQLParser.TERMINATED) - self.state = 3545 - self.match(frameQLParser.BY) - self.state = 3546 - localctx.terminationLine = self.match(frameQLParser.STRING_LITERAL) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class FromClauseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.whereExpr = None # ExpressionContext - self.havingExpr = None # ExpressionContext - - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - - def tableSources(self): - return self.getTypedRuleContext(frameQLParser.TableSourcesContext,0) - - - def WHERE(self): - return self.getToken(frameQLParser.WHERE, 0) - - def GROUP(self): - return self.getToken(frameQLParser.GROUP, 0) - - def BY(self): - return self.getToken(frameQLParser.BY, 0) - - def groupByItem(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.GroupByItemContext) - else: - return self.getTypedRuleContext(frameQLParser.GroupByItemContext,i) - - - def HAVING(self): - return self.getToken(frameQLParser.HAVING, 0) - - def expression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionContext,i) - - - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - - def ROLLUP(self): - return self.getToken(frameQLParser.ROLLUP, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_fromClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFromClause" ): - listener.enterFromClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFromClause" ): - listener.exitFromClause(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitFromClause" ): - return visitor.visitFromClause(self) - else: - return visitor.visitChildren(self) - - - - - def fromClause(self): - - localctx = frameQLParser.FromClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 250, self.RULE_fromClause) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3549 - self.match(frameQLParser.FROM) - self.state = 3550 - self.tableSources() - self.state = 3553 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WHERE: - self.state = 3551 - self.match(frameQLParser.WHERE) - self.state = 3552 - localctx.whereExpr = self.expression(0) - - - self.state = 3569 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.GROUP: - self.state = 3555 - self.match(frameQLParser.GROUP) - self.state = 3556 - self.match(frameQLParser.BY) - self.state = 3557 - self.groupByItem() - self.state = 3562 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3558 - self.match(frameQLParser.COMMA) - self.state = 3559 - self.groupByItem() - self.state = 3564 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 3567 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,511,self._ctx) - if la_ == 1: - self.state = 3565 - self.match(frameQLParser.WITH) - self.state = 3566 - self.match(frameQLParser.ROLLUP) - - - - - self.state = 3573 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.HAVING: - self.state = 3571 - self.match(frameQLParser.HAVING) - self.state = 3572 - localctx.havingExpr = self.expression(0) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class GroupByItemContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.order = None # Token - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def ASC(self): - return self.getToken(frameQLParser.ASC, 0) - - def DESC(self): - return self.getToken(frameQLParser.DESC, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_groupByItem - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterGroupByItem" ): - listener.enterGroupByItem(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitGroupByItem" ): - listener.exitGroupByItem(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitGroupByItem" ): - return visitor.visitGroupByItem(self) - else: - return visitor.visitChildren(self) - - - - - def groupByItem(self): - - localctx = frameQLParser.GroupByItemContext(self, self._ctx, self.state) - self.enterRule(localctx, 252, self.RULE_groupByItem) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3575 - self.expression(0) - self.state = 3577 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ASC or _la==frameQLParser.DESC: - self.state = 3576 - localctx.order = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ASC or _la==frameQLParser.DESC): - localctx.order = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class LimitClauseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.offset = None # DecimalLiteralContext - self.limit = None # DecimalLiteralContext - - def LIMIT(self): - return self.getToken(frameQLParser.LIMIT, 0) - - def OFFSET(self): - return self.getToken(frameQLParser.OFFSET, 0) - - def decimalLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DecimalLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_limitClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLimitClause" ): - listener.enterLimitClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLimitClause" ): - listener.exitLimitClause(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitLimitClause" ): - return visitor.visitLimitClause(self) - else: - return visitor.visitChildren(self) - - - - - def limitClause(self): - - localctx = frameQLParser.LimitClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 254, self.RULE_limitClause) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3579 - self.match(frameQLParser.LIMIT) - self.state = 3590 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,516,self._ctx) - if la_ == 1: - self.state = 3583 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,515,self._ctx) - if la_ == 1: - self.state = 3580 - localctx.offset = self.decimalLiteral() - self.state = 3581 - self.match(frameQLParser.COMMA) - - - self.state = 3585 - localctx.limit = self.decimalLiteral() - pass - - elif la_ == 2: - self.state = 3586 - localctx.limit = self.decimalLiteral() - self.state = 3587 - self.match(frameQLParser.OFFSET) - self.state = 3588 - localctx.offset = self.decimalLiteral() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class StartTransactionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def START(self): - return self.getToken(frameQLParser.START, 0) - - def TRANSACTION(self): - return self.getToken(frameQLParser.TRANSACTION, 0) - - def transactionMode(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TransactionModeContext) - else: - return self.getTypedRuleContext(frameQLParser.TransactionModeContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_startTransaction - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStartTransaction" ): - listener.enterStartTransaction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStartTransaction" ): - listener.exitStartTransaction(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitStartTransaction" ): - return visitor.visitStartTransaction(self) - else: - return visitor.visitChildren(self) - - - - - def startTransaction(self): - - localctx = frameQLParser.StartTransactionContext(self, self._ctx, self.state) - self.enterRule(localctx, 256, self.RULE_startTransaction) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3592 - self.match(frameQLParser.START) - self.state = 3593 - self.match(frameQLParser.TRANSACTION) - self.state = 3602 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.READ or _la==frameQLParser.WITH: - self.state = 3594 - self.transactionMode() - self.state = 3599 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3595 - self.match(frameQLParser.COMMA) - self.state = 3596 - self.transactionMode() - self.state = 3601 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class BeginWorkContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def BEGIN(self): - return self.getToken(frameQLParser.BEGIN, 0) - - def WORK(self): - return self.getToken(frameQLParser.WORK, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_beginWork - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBeginWork" ): - listener.enterBeginWork(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBeginWork" ): - listener.exitBeginWork(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitBeginWork" ): - return visitor.visitBeginWork(self) - else: - return visitor.visitChildren(self) - - - - - def beginWork(self): - - localctx = frameQLParser.BeginWorkContext(self, self._ctx, self.state) - self.enterRule(localctx, 258, self.RULE_beginWork) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3604 - self.match(frameQLParser.BEGIN) - self.state = 3606 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WORK: - self.state = 3605 - self.match(frameQLParser.WORK) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CommitWorkContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.nochain = None # Token - self.norelease = None # Token - - def COMMIT(self): - return self.getToken(frameQLParser.COMMIT, 0) - - def WORK(self): - return self.getToken(frameQLParser.WORK, 0) - - def AND(self): - return self.getToken(frameQLParser.AND, 0) - - def CHAIN(self): - return self.getToken(frameQLParser.CHAIN, 0) - - def RELEASE(self): - return self.getToken(frameQLParser.RELEASE, 0) - - def NO(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.NO) - else: - return self.getToken(frameQLParser.NO, i) - - def getRuleIndex(self): - return frameQLParser.RULE_commitWork - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCommitWork" ): - listener.enterCommitWork(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCommitWork" ): - listener.exitCommitWork(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCommitWork" ): - return visitor.visitCommitWork(self) - else: - return visitor.visitChildren(self) - - - - - def commitWork(self): - - localctx = frameQLParser.CommitWorkContext(self, self._ctx, self.state) - self.enterRule(localctx, 260, self.RULE_commitWork) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3608 - self.match(frameQLParser.COMMIT) - self.state = 3610 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WORK: - self.state = 3609 - self.match(frameQLParser.WORK) - - - self.state = 3617 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AND: - self.state = 3612 - self.match(frameQLParser.AND) - self.state = 3614 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NO: - self.state = 3613 - localctx.nochain = self.match(frameQLParser.NO) - - - self.state = 3616 - self.match(frameQLParser.CHAIN) - - - self.state = 3623 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.RELEASE or _la==frameQLParser.NO: - self.state = 3620 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NO: - self.state = 3619 - localctx.norelease = self.match(frameQLParser.NO) - - - self.state = 3622 - self.match(frameQLParser.RELEASE) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RollbackWorkContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.nochain = None # Token - self.norelease = None # Token - - def ROLLBACK(self): - return self.getToken(frameQLParser.ROLLBACK, 0) - - def WORK(self): - return self.getToken(frameQLParser.WORK, 0) - - def AND(self): - return self.getToken(frameQLParser.AND, 0) - - def CHAIN(self): - return self.getToken(frameQLParser.CHAIN, 0) - - def RELEASE(self): - return self.getToken(frameQLParser.RELEASE, 0) - - def NO(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.NO) - else: - return self.getToken(frameQLParser.NO, i) - - def getRuleIndex(self): - return frameQLParser.RULE_rollbackWork - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRollbackWork" ): - listener.enterRollbackWork(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRollbackWork" ): - listener.exitRollbackWork(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitRollbackWork" ): - return visitor.visitRollbackWork(self) - else: - return visitor.visitChildren(self) - - - - - def rollbackWork(self): - - localctx = frameQLParser.RollbackWorkContext(self, self._ctx, self.state) - self.enterRule(localctx, 262, self.RULE_rollbackWork) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3625 - self.match(frameQLParser.ROLLBACK) - self.state = 3627 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WORK: - self.state = 3626 - self.match(frameQLParser.WORK) - - - self.state = 3634 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AND: - self.state = 3629 - self.match(frameQLParser.AND) - self.state = 3631 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NO: - self.state = 3630 - localctx.nochain = self.match(frameQLParser.NO) - - - self.state = 3633 - self.match(frameQLParser.CHAIN) - - - self.state = 3640 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.RELEASE or _la==frameQLParser.NO: - self.state = 3637 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NO: - self.state = 3636 - localctx.norelease = self.match(frameQLParser.NO) - - - self.state = 3639 - self.match(frameQLParser.RELEASE) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SavepointStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def SAVEPOINT(self): - return self.getToken(frameQLParser.SAVEPOINT, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_savepointStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSavepointStatement" ): - listener.enterSavepointStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSavepointStatement" ): - listener.exitSavepointStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSavepointStatement" ): - return visitor.visitSavepointStatement(self) - else: - return visitor.visitChildren(self) - - - - - def savepointStatement(self): - - localctx = frameQLParser.SavepointStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 264, self.RULE_savepointStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3642 - self.match(frameQLParser.SAVEPOINT) - self.state = 3643 - self.uid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RollbackStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ROLLBACK(self): - return self.getToken(frameQLParser.ROLLBACK, 0) - - def TO(self): - return self.getToken(frameQLParser.TO, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def WORK(self): - return self.getToken(frameQLParser.WORK, 0) - - def SAVEPOINT(self): - return self.getToken(frameQLParser.SAVEPOINT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_rollbackStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRollbackStatement" ): - listener.enterRollbackStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRollbackStatement" ): - listener.exitRollbackStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitRollbackStatement" ): - return visitor.visitRollbackStatement(self) - else: - return visitor.visitChildren(self) - - - - - def rollbackStatement(self): - - localctx = frameQLParser.RollbackStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 266, self.RULE_rollbackStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3645 - self.match(frameQLParser.ROLLBACK) - self.state = 3647 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WORK: - self.state = 3646 - self.match(frameQLParser.WORK) - - - self.state = 3649 - self.match(frameQLParser.TO) - self.state = 3651 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,531,self._ctx) - if la_ == 1: - self.state = 3650 - self.match(frameQLParser.SAVEPOINT) - - - self.state = 3653 - self.uid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ReleaseStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def RELEASE(self): - return self.getToken(frameQLParser.RELEASE, 0) - - def SAVEPOINT(self): - return self.getToken(frameQLParser.SAVEPOINT, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_releaseStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterReleaseStatement" ): - listener.enterReleaseStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitReleaseStatement" ): - listener.exitReleaseStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitReleaseStatement" ): - return visitor.visitReleaseStatement(self) - else: - return visitor.visitChildren(self) - - - - - def releaseStatement(self): - - localctx = frameQLParser.ReleaseStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 268, self.RULE_releaseStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3655 - self.match(frameQLParser.RELEASE) - self.state = 3656 - self.match(frameQLParser.SAVEPOINT) - self.state = 3657 - self.uid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class LockTablesContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LOCK(self): - return self.getToken(frameQLParser.LOCK, 0) - - def TABLES(self): - return self.getToken(frameQLParser.TABLES, 0) - - def lockTableElement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.LockTableElementContext) - else: - return self.getTypedRuleContext(frameQLParser.LockTableElementContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_lockTables - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLockTables" ): - listener.enterLockTables(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLockTables" ): - listener.exitLockTables(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitLockTables" ): - return visitor.visitLockTables(self) - else: - return visitor.visitChildren(self) - - - - - def lockTables(self): - - localctx = frameQLParser.LockTablesContext(self, self._ctx, self.state) - self.enterRule(localctx, 270, self.RULE_lockTables) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3659 - self.match(frameQLParser.LOCK) - self.state = 3660 - self.match(frameQLParser.TABLES) - self.state = 3661 - self.lockTableElement() - self.state = 3666 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3662 - self.match(frameQLParser.COMMA) - self.state = 3663 - self.lockTableElement() - self.state = 3668 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class UnlockTablesContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def UNLOCK(self): - return self.getToken(frameQLParser.UNLOCK, 0) - - def TABLES(self): - return self.getToken(frameQLParser.TABLES, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_unlockTables - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUnlockTables" ): - listener.enterUnlockTables(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUnlockTables" ): - listener.exitUnlockTables(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUnlockTables" ): - return visitor.visitUnlockTables(self) - else: - return visitor.visitChildren(self) - - - - - def unlockTables(self): - - localctx = frameQLParser.UnlockTablesContext(self, self._ctx, self.state) - self.enterRule(localctx, 272, self.RULE_unlockTables) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3669 - self.match(frameQLParser.UNLOCK) - self.state = 3670 - self.match(frameQLParser.TABLES) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SetAutocommitStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.autocommitValue = None # Token - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - - def AUTOCOMMIT(self): - return self.getToken(frameQLParser.AUTOCOMMIT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_setAutocommitStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetAutocommitStatement" ): - listener.enterSetAutocommitStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetAutocommitStatement" ): - listener.exitSetAutocommitStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSetAutocommitStatement" ): - return visitor.visitSetAutocommitStatement(self) - else: - return visitor.visitChildren(self) - - - - - def setAutocommitStatement(self): - - localctx = frameQLParser.SetAutocommitStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 274, self.RULE_setAutocommitStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3672 - self.match(frameQLParser.SET) - self.state = 3673 - self.match(frameQLParser.AUTOCOMMIT) - self.state = 3674 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3675 - localctx.autocommitValue = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ZERO_DECIMAL or _la==frameQLParser.ONE_DECIMAL): - localctx.autocommitValue = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SetTransactionStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.transactionContext = None # Token - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - - def TRANSACTION(self): - return self.getToken(frameQLParser.TRANSACTION, 0) - - def transactionOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TransactionOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.TransactionOptionContext,i) - - - def GLOBAL(self): - return self.getToken(frameQLParser.GLOBAL, 0) - - def SESSION(self): - return self.getToken(frameQLParser.SESSION, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_setTransactionStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetTransactionStatement" ): - listener.enterSetTransactionStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetTransactionStatement" ): - listener.exitSetTransactionStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSetTransactionStatement" ): - return visitor.visitSetTransactionStatement(self) - else: - return visitor.visitChildren(self) - - - - - def setTransactionStatement(self): - - localctx = frameQLParser.SetTransactionStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 276, self.RULE_setTransactionStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3677 - self.match(frameQLParser.SET) - self.state = 3679 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.GLOBAL or _la==frameQLParser.SESSION: - self.state = 3678 - localctx.transactionContext = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.GLOBAL or _la==frameQLParser.SESSION): - localctx.transactionContext = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 3681 - self.match(frameQLParser.TRANSACTION) - self.state = 3682 - self.transactionOption() - self.state = 3687 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3683 - self.match(frameQLParser.COMMA) - self.state = 3684 - self.transactionOption() - self.state = 3689 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class TransactionModeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - - def CONSISTENT(self): - return self.getToken(frameQLParser.CONSISTENT, 0) - - def SNAPSHOT(self): - return self.getToken(frameQLParser.SNAPSHOT, 0) - - def READ(self): - return self.getToken(frameQLParser.READ, 0) - - def WRITE(self): - return self.getToken(frameQLParser.WRITE, 0) - - def ONLY(self): - return self.getToken(frameQLParser.ONLY, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_transactionMode - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTransactionMode" ): - listener.enterTransactionMode(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTransactionMode" ): - listener.exitTransactionMode(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTransactionMode" ): - return visitor.visitTransactionMode(self) - else: - return visitor.visitChildren(self) - - - - - def transactionMode(self): - - localctx = frameQLParser.TransactionModeContext(self, self._ctx, self.state) - self.enterRule(localctx, 278, self.RULE_transactionMode) - try: - self.state = 3697 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,535,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 3690 - self.match(frameQLParser.WITH) - self.state = 3691 - self.match(frameQLParser.CONSISTENT) - self.state = 3692 - self.match(frameQLParser.SNAPSHOT) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 3693 - self.match(frameQLParser.READ) - self.state = 3694 - self.match(frameQLParser.WRITE) - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 3695 - self.match(frameQLParser.READ) - self.state = 3696 - self.match(frameQLParser.ONLY) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class LockTableElementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def lockAction(self): - return self.getTypedRuleContext(frameQLParser.LockActionContext,0) - - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_lockTableElement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLockTableElement" ): - listener.enterLockTableElement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLockTableElement" ): - listener.exitLockTableElement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitLockTableElement" ): - return visitor.visitLockTableElement(self) - else: - return visitor.visitChildren(self) - - - - - def lockTableElement(self): - - localctx = frameQLParser.LockTableElementContext(self, self._ctx, self.state) - self.enterRule(localctx, 280, self.RULE_lockTableElement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3699 - self.tableName() - self.state = 3704 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS or _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 3701 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS: - self.state = 3700 - self.match(frameQLParser.AS) - - - self.state = 3703 - self.uid() - - - self.state = 3706 - self.lockAction() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class LockActionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def READ(self): - return self.getToken(frameQLParser.READ, 0) - - def LOCAL(self): - return self.getToken(frameQLParser.LOCAL, 0) - - def WRITE(self): - return self.getToken(frameQLParser.WRITE, 0) - - def LOW_PRIORITY(self): - return self.getToken(frameQLParser.LOW_PRIORITY, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_lockAction - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLockAction" ): - listener.enterLockAction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLockAction" ): - listener.exitLockAction(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitLockAction" ): - return visitor.visitLockAction(self) - else: - return visitor.visitChildren(self) - - - - - def lockAction(self): - - localctx = frameQLParser.LockActionContext(self, self._ctx, self.state) - self.enterRule(localctx, 282, self.RULE_lockAction) - self._la = 0 # Token type - try: - self.state = 3716 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.READ]: - self.enterOuterAlt(localctx, 1) - self.state = 3708 - self.match(frameQLParser.READ) - self.state = 3710 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LOCAL: - self.state = 3709 - self.match(frameQLParser.LOCAL) - - - pass - elif token in [frameQLParser.LOW_PRIORITY, frameQLParser.WRITE]: - self.enterOuterAlt(localctx, 2) - self.state = 3713 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LOW_PRIORITY: - self.state = 3712 - self.match(frameQLParser.LOW_PRIORITY) - - - self.state = 3715 - self.match(frameQLParser.WRITE) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class TransactionOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ISOLATION(self): - return self.getToken(frameQLParser.ISOLATION, 0) - - def LEVEL(self): - return self.getToken(frameQLParser.LEVEL, 0) - - def transactionLevel(self): - return self.getTypedRuleContext(frameQLParser.TransactionLevelContext,0) - - - def READ(self): - return self.getToken(frameQLParser.READ, 0) - - def WRITE(self): - return self.getToken(frameQLParser.WRITE, 0) - - def ONLY(self): - return self.getToken(frameQLParser.ONLY, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_transactionOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTransactionOption" ): - listener.enterTransactionOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTransactionOption" ): - listener.exitTransactionOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTransactionOption" ): - return visitor.visitTransactionOption(self) - else: - return visitor.visitChildren(self) - - - - - def transactionOption(self): - - localctx = frameQLParser.TransactionOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 284, self.RULE_transactionOption) - try: - self.state = 3725 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,541,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 3718 - self.match(frameQLParser.ISOLATION) - self.state = 3719 - self.match(frameQLParser.LEVEL) - self.state = 3720 - self.transactionLevel() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 3721 - self.match(frameQLParser.READ) - self.state = 3722 - self.match(frameQLParser.WRITE) - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 3723 - self.match(frameQLParser.READ) - self.state = 3724 - self.match(frameQLParser.ONLY) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class TransactionLevelContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def REPEATABLE(self): - return self.getToken(frameQLParser.REPEATABLE, 0) - - def READ(self): - return self.getToken(frameQLParser.READ, 0) - - def COMMITTED(self): - return self.getToken(frameQLParser.COMMITTED, 0) - - def UNCOMMITTED(self): - return self.getToken(frameQLParser.UNCOMMITTED, 0) - - def SERIALIZABLE(self): - return self.getToken(frameQLParser.SERIALIZABLE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_transactionLevel - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTransactionLevel" ): - listener.enterTransactionLevel(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTransactionLevel" ): - listener.exitTransactionLevel(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTransactionLevel" ): - return visitor.visitTransactionLevel(self) - else: - return visitor.visitChildren(self) - - - - - def transactionLevel(self): - - localctx = frameQLParser.TransactionLevelContext(self, self._ctx, self.state) - self.enterRule(localctx, 286, self.RULE_transactionLevel) - try: - self.state = 3734 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,542,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 3727 - self.match(frameQLParser.REPEATABLE) - self.state = 3728 - self.match(frameQLParser.READ) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 3729 - self.match(frameQLParser.READ) - self.state = 3730 - self.match(frameQLParser.COMMITTED) - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 3731 - self.match(frameQLParser.READ) - self.state = 3732 - self.match(frameQLParser.UNCOMMITTED) - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 3733 - self.match(frameQLParser.SERIALIZABLE) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ChangeMasterContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CHANGE(self): - return self.getToken(frameQLParser.CHANGE, 0) - - def MASTER(self): - return self.getToken(frameQLParser.MASTER, 0) - - def TO(self): - return self.getToken(frameQLParser.TO, 0) - - def masterOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.MasterOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.MasterOptionContext,i) - - - def channelOption(self): - return self.getTypedRuleContext(frameQLParser.ChannelOptionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_changeMaster - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterChangeMaster" ): - listener.enterChangeMaster(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitChangeMaster" ): - listener.exitChangeMaster(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitChangeMaster" ): - return visitor.visitChangeMaster(self) - else: - return visitor.visitChildren(self) - - - - - def changeMaster(self): - - localctx = frameQLParser.ChangeMasterContext(self, self._ctx, self.state) - self.enterRule(localctx, 288, self.RULE_changeMaster) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3736 - self.match(frameQLParser.CHANGE) - self.state = 3737 - self.match(frameQLParser.MASTER) - self.state = 3738 - self.match(frameQLParser.TO) - self.state = 3739 - self.masterOption() - self.state = 3744 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3740 - self.match(frameQLParser.COMMA) - self.state = 3741 - self.masterOption() - self.state = 3746 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 3748 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR: - self.state = 3747 - self.channelOption() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ChangeReplicationFilterContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CHANGE(self): - return self.getToken(frameQLParser.CHANGE, 0) - - def REPLICATION(self): - return self.getToken(frameQLParser.REPLICATION, 0) - - def FILTER(self): - return self.getToken(frameQLParser.FILTER, 0) - - def replicationFilter(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ReplicationFilterContext) - else: - return self.getTypedRuleContext(frameQLParser.ReplicationFilterContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_changeReplicationFilter - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterChangeReplicationFilter" ): - listener.enterChangeReplicationFilter(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitChangeReplicationFilter" ): - listener.exitChangeReplicationFilter(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitChangeReplicationFilter" ): - return visitor.visitChangeReplicationFilter(self) - else: - return visitor.visitChildren(self) - - - - - def changeReplicationFilter(self): - - localctx = frameQLParser.ChangeReplicationFilterContext(self, self._ctx, self.state) - self.enterRule(localctx, 290, self.RULE_changeReplicationFilter) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3750 - self.match(frameQLParser.CHANGE) - self.state = 3751 - self.match(frameQLParser.REPLICATION) - self.state = 3752 - self.match(frameQLParser.FILTER) - self.state = 3753 - self.replicationFilter() - self.state = 3758 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3754 - self.match(frameQLParser.COMMA) - self.state = 3755 - self.replicationFilter() - self.state = 3760 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class PurgeBinaryLogsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.purgeFormat = None # Token - self.fileName = None # Token - self.timeValue = None # Token - - def PURGE(self): - return self.getToken(frameQLParser.PURGE, 0) - - def LOGS(self): - return self.getToken(frameQLParser.LOGS, 0) - - def BINARY(self): - return self.getToken(frameQLParser.BINARY, 0) - - def MASTER(self): - return self.getToken(frameQLParser.MASTER, 0) - - def TO(self): - return self.getToken(frameQLParser.TO, 0) - - def BEFORE(self): - return self.getToken(frameQLParser.BEFORE, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_purgeBinaryLogs - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPurgeBinaryLogs" ): - listener.enterPurgeBinaryLogs(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPurgeBinaryLogs" ): - listener.exitPurgeBinaryLogs(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPurgeBinaryLogs" ): - return visitor.visitPurgeBinaryLogs(self) - else: - return visitor.visitChildren(self) - - - - - def purgeBinaryLogs(self): - - localctx = frameQLParser.PurgeBinaryLogsContext(self, self._ctx, self.state) - self.enterRule(localctx, 292, self.RULE_purgeBinaryLogs) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3761 - self.match(frameQLParser.PURGE) - self.state = 3762 - localctx.purgeFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.BINARY or _la==frameQLParser.MASTER): - localctx.purgeFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 3763 - self.match(frameQLParser.LOGS) - self.state = 3768 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.TO]: - self.state = 3764 - self.match(frameQLParser.TO) - self.state = 3765 - localctx.fileName = self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.BEFORE]: - self.state = 3766 - self.match(frameQLParser.BEFORE) - self.state = 3767 - localctx.timeValue = self.match(frameQLParser.STRING_LITERAL) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ResetMasterContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def RESET(self): - return self.getToken(frameQLParser.RESET, 0) - - def MASTER(self): - return self.getToken(frameQLParser.MASTER, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_resetMaster - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterResetMaster" ): - listener.enterResetMaster(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitResetMaster" ): - listener.exitResetMaster(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitResetMaster" ): - return visitor.visitResetMaster(self) - else: - return visitor.visitChildren(self) - - - - - def resetMaster(self): - - localctx = frameQLParser.ResetMasterContext(self, self._ctx, self.state) - self.enterRule(localctx, 294, self.RULE_resetMaster) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3770 - self.match(frameQLParser.RESET) - self.state = 3771 - self.match(frameQLParser.MASTER) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ResetSlaveContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def RESET(self): - return self.getToken(frameQLParser.RESET, 0) - - def SLAVE(self): - return self.getToken(frameQLParser.SLAVE, 0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def channelOption(self): - return self.getTypedRuleContext(frameQLParser.ChannelOptionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_resetSlave - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterResetSlave" ): - listener.enterResetSlave(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitResetSlave" ): - listener.exitResetSlave(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitResetSlave" ): - return visitor.visitResetSlave(self) - else: - return visitor.visitChildren(self) - - - - - def resetSlave(self): - - localctx = frameQLParser.ResetSlaveContext(self, self._ctx, self.state) - self.enterRule(localctx, 296, self.RULE_resetSlave) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3773 - self.match(frameQLParser.RESET) - self.state = 3774 - self.match(frameQLParser.SLAVE) - self.state = 3776 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALL: - self.state = 3775 - self.match(frameQLParser.ALL) - - - self.state = 3779 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR: - self.state = 3778 - self.channelOption() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class StartSlaveContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def START(self): - return self.getToken(frameQLParser.START, 0) - - def SLAVE(self): - return self.getToken(frameQLParser.SLAVE, 0) - - def threadType(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ThreadTypeContext) - else: - return self.getTypedRuleContext(frameQLParser.ThreadTypeContext,i) - - - def UNTIL(self): - return self.getToken(frameQLParser.UNTIL, 0) - - def untilOption(self): - return self.getTypedRuleContext(frameQLParser.UntilOptionContext,0) - - - def connectionOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ConnectionOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.ConnectionOptionContext,i) - - - def channelOption(self): - return self.getTypedRuleContext(frameQLParser.ChannelOptionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_startSlave - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStartSlave" ): - listener.enterStartSlave(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStartSlave" ): - listener.exitStartSlave(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitStartSlave" ): - return visitor.visitStartSlave(self) - else: - return visitor.visitChildren(self) - - - - - def startSlave(self): - - localctx = frameQLParser.StartSlaveContext(self, self._ctx, self.state) - self.enterRule(localctx, 298, self.RULE_startSlave) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3781 - self.match(frameQLParser.START) - self.state = 3782 - self.match(frameQLParser.SLAVE) - self.state = 3791 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IO_THREAD or _la==frameQLParser.SQL_THREAD: - self.state = 3783 - self.threadType() - self.state = 3788 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3784 - self.match(frameQLParser.COMMA) - self.state = 3785 - self.threadType() - self.state = 3790 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - self.state = 3795 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.UNTIL: - self.state = 3793 - self.match(frameQLParser.UNTIL) - self.state = 3794 - self.untilOption() - - - self.state = 3800 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.DEFAULT_AUTH or _la==frameQLParser.PASSWORD or _la==frameQLParser.PLUGIN_DIR or _la==frameQLParser.USER: - self.state = 3797 - self.connectionOption() - self.state = 3802 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 3804 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR: - self.state = 3803 - self.channelOption() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class StopSlaveContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def STOP(self): - return self.getToken(frameQLParser.STOP, 0) - - def SLAVE(self): - return self.getToken(frameQLParser.SLAVE, 0) - - def threadType(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ThreadTypeContext) - else: - return self.getTypedRuleContext(frameQLParser.ThreadTypeContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_stopSlave - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStopSlave" ): - listener.enterStopSlave(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStopSlave" ): - listener.exitStopSlave(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitStopSlave" ): - return visitor.visitStopSlave(self) - else: - return visitor.visitChildren(self) - - - - - def stopSlave(self): - - localctx = frameQLParser.StopSlaveContext(self, self._ctx, self.state) - self.enterRule(localctx, 300, self.RULE_stopSlave) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3806 - self.match(frameQLParser.STOP) - self.state = 3807 - self.match(frameQLParser.SLAVE) - self.state = 3816 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IO_THREAD or _la==frameQLParser.SQL_THREAD: - self.state = 3808 - self.threadType() - self.state = 3813 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3809 - self.match(frameQLParser.COMMA) - self.state = 3810 - self.threadType() - self.state = 3815 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class StartGroupReplicationContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def START(self): - return self.getToken(frameQLParser.START, 0) - - def GROUP_REPLICATION(self): - return self.getToken(frameQLParser.GROUP_REPLICATION, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_startGroupReplication - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStartGroupReplication" ): - listener.enterStartGroupReplication(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStartGroupReplication" ): - listener.exitStartGroupReplication(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitStartGroupReplication" ): - return visitor.visitStartGroupReplication(self) - else: - return visitor.visitChildren(self) - - - - - def startGroupReplication(self): - - localctx = frameQLParser.StartGroupReplicationContext(self, self._ctx, self.state) - self.enterRule(localctx, 302, self.RULE_startGroupReplication) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3818 - self.match(frameQLParser.START) - self.state = 3819 - self.match(frameQLParser.GROUP_REPLICATION) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class StopGroupReplicationContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def STOP(self): - return self.getToken(frameQLParser.STOP, 0) - - def GROUP_REPLICATION(self): - return self.getToken(frameQLParser.GROUP_REPLICATION, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_stopGroupReplication - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStopGroupReplication" ): - listener.enterStopGroupReplication(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStopGroupReplication" ): - listener.exitStopGroupReplication(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitStopGroupReplication" ): - return visitor.visitStopGroupReplication(self) - else: - return visitor.visitChildren(self) - - - - - def stopGroupReplication(self): - - localctx = frameQLParser.StopGroupReplicationContext(self, self._ctx, self.state) - self.enterRule(localctx, 304, self.RULE_stopGroupReplication) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3821 - self.match(frameQLParser.STOP) - self.state = 3822 - self.match(frameQLParser.GROUP_REPLICATION) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class MasterOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_masterOption - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class MasterStringOptionContext(MasterOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.MasterOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def stringMasterOption(self): - return self.getTypedRuleContext(frameQLParser.StringMasterOptionContext,0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMasterStringOption" ): - listener.enterMasterStringOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMasterStringOption" ): - listener.exitMasterStringOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitMasterStringOption" ): - return visitor.visitMasterStringOption(self) - else: - return visitor.visitChildren(self) - - - class MasterRealOptionContext(MasterOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.MasterOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def MASTER_HEARTBEAT_PERIOD(self): - return self.getToken(frameQLParser.MASTER_HEARTBEAT_PERIOD, 0) - def REAL_LITERAL(self): - return self.getToken(frameQLParser.REAL_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMasterRealOption" ): - listener.enterMasterRealOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMasterRealOption" ): - listener.exitMasterRealOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitMasterRealOption" ): - return visitor.visitMasterRealOption(self) - else: - return visitor.visitChildren(self) - - - class MasterBoolOptionContext(MasterOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.MasterOptionContext - super().__init__(parser) - self.boolVal = None # Token - self.copyFrom(ctx) - - def boolMasterOption(self): - return self.getTypedRuleContext(frameQLParser.BoolMasterOptionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMasterBoolOption" ): - listener.enterMasterBoolOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMasterBoolOption" ): - listener.exitMasterBoolOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitMasterBoolOption" ): - return visitor.visitMasterBoolOption(self) - else: - return visitor.visitChildren(self) - - - class MasterUidListOptionContext(MasterOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.MasterOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def IGNORE_SERVER_IDS(self): - return self.getToken(frameQLParser.IGNORE_SERVER_IDS, 0) - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMasterUidListOption" ): - listener.enterMasterUidListOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMasterUidListOption" ): - listener.exitMasterUidListOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitMasterUidListOption" ): - return visitor.visitMasterUidListOption(self) - else: - return visitor.visitChildren(self) - - - class MasterDecimalOptionContext(MasterOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.MasterOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def decimalMasterOption(self): - return self.getTypedRuleContext(frameQLParser.DecimalMasterOptionContext,0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMasterDecimalOption" ): - listener.enterMasterDecimalOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMasterDecimalOption" ): - listener.exitMasterDecimalOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitMasterDecimalOption" ): - return visitor.visitMasterDecimalOption(self) - else: - return visitor.visitChildren(self) - - - - def masterOption(self): - - localctx = frameQLParser.MasterOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 306, self.RULE_masterOption) - self._la = 0 # Token type - try: - self.state = 3853 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.MASTER_BIND, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.RELAY_LOG_FILE]: - localctx = frameQLParser.MasterStringOptionContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 3824 - self.stringMasterOption() - self.state = 3825 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3826 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.RELAY_LOG_POS]: - localctx = frameQLParser.MasterDecimalOptionContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 3828 - self.decimalMasterOption() - self.state = 3829 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3830 - self.decimalLiteral() - pass - elif token in [frameQLParser.MASTER_SSL_VERIFY_SERVER_CERT, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_SSL]: - localctx = frameQLParser.MasterBoolOptionContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 3832 - self.boolMasterOption() - self.state = 3833 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3834 - localctx.boolVal = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ZERO_DECIMAL or _la==frameQLParser.ONE_DECIMAL): - localctx.boolVal = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - elif token in [frameQLParser.MASTER_HEARTBEAT_PERIOD]: - localctx = frameQLParser.MasterRealOptionContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 3836 - self.match(frameQLParser.MASTER_HEARTBEAT_PERIOD) - self.state = 3837 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3838 - self.match(frameQLParser.REAL_LITERAL) - pass - elif token in [frameQLParser.IGNORE_SERVER_IDS]: - localctx = frameQLParser.MasterUidListOptionContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 3839 - self.match(frameQLParser.IGNORE_SERVER_IDS) - self.state = 3840 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3841 - self.match(frameQLParser.LR_BRACKET) - self.state = 3850 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 3842 - self.uid() - self.state = 3847 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3843 - self.match(frameQLParser.COMMA) - self.state = 3844 - self.uid() - self.state = 3849 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - self.state = 3852 - self.match(frameQLParser.RR_BRACKET) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class StringMasterOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def MASTER_BIND(self): - return self.getToken(frameQLParser.MASTER_BIND, 0) - - def MASTER_HOST(self): - return self.getToken(frameQLParser.MASTER_HOST, 0) - - def MASTER_USER(self): - return self.getToken(frameQLParser.MASTER_USER, 0) - - def MASTER_PASSWORD(self): - return self.getToken(frameQLParser.MASTER_PASSWORD, 0) - - def MASTER_LOG_FILE(self): - return self.getToken(frameQLParser.MASTER_LOG_FILE, 0) - - def RELAY_LOG_FILE(self): - return self.getToken(frameQLParser.RELAY_LOG_FILE, 0) - - def MASTER_SSL_CA(self): - return self.getToken(frameQLParser.MASTER_SSL_CA, 0) - - def MASTER_SSL_CAPATH(self): - return self.getToken(frameQLParser.MASTER_SSL_CAPATH, 0) - - def MASTER_SSL_CERT(self): - return self.getToken(frameQLParser.MASTER_SSL_CERT, 0) - - def MASTER_SSL_CRL(self): - return self.getToken(frameQLParser.MASTER_SSL_CRL, 0) - - def MASTER_SSL_CRLPATH(self): - return self.getToken(frameQLParser.MASTER_SSL_CRLPATH, 0) - - def MASTER_SSL_KEY(self): - return self.getToken(frameQLParser.MASTER_SSL_KEY, 0) - - def MASTER_SSL_CIPHER(self): - return self.getToken(frameQLParser.MASTER_SSL_CIPHER, 0) - - def MASTER_TLS_VERSION(self): - return self.getToken(frameQLParser.MASTER_TLS_VERSION, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_stringMasterOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStringMasterOption" ): - listener.enterStringMasterOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStringMasterOption" ): - listener.exitStringMasterOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitStringMasterOption" ): - return visitor.visitStringMasterOption(self) - else: - return visitor.visitChildren(self) - - - - - def stringMasterOption(self): - - localctx = frameQLParser.StringMasterOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 308, self.RULE_stringMasterOption) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3855 - _la = self._input.LA(1) - if not(_la==frameQLParser.MASTER_BIND or ((((_la - 382)) & ~0x3f) == 0 and ((1 << (_la - 382)) & ((1 << (frameQLParser.MASTER_HOST - 382)) | (1 << (frameQLParser.MASTER_LOG_FILE - 382)) | (1 << (frameQLParser.MASTER_PASSWORD - 382)) | (1 << (frameQLParser.MASTER_SSL_CA - 382)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 382)) | (1 << (frameQLParser.MASTER_SSL_CERT - 382)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 382)) | (1 << (frameQLParser.MASTER_SSL_CRL - 382)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 382)) | (1 << (frameQLParser.MASTER_SSL_KEY - 382)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 382)) | (1 << (frameQLParser.MASTER_USER - 382)))) != 0) or _la==frameQLParser.RELAY_LOG_FILE): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DecimalMasterOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def MASTER_PORT(self): - return self.getToken(frameQLParser.MASTER_PORT, 0) - - def MASTER_CONNECT_RETRY(self): - return self.getToken(frameQLParser.MASTER_CONNECT_RETRY, 0) - - def MASTER_RETRY_COUNT(self): - return self.getToken(frameQLParser.MASTER_RETRY_COUNT, 0) - - def MASTER_DELAY(self): - return self.getToken(frameQLParser.MASTER_DELAY, 0) - - def MASTER_LOG_POS(self): - return self.getToken(frameQLParser.MASTER_LOG_POS, 0) - - def RELAY_LOG_POS(self): - return self.getToken(frameQLParser.RELAY_LOG_POS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_decimalMasterOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDecimalMasterOption" ): - listener.enterDecimalMasterOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDecimalMasterOption" ): - listener.exitDecimalMasterOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDecimalMasterOption" ): - return visitor.visitDecimalMasterOption(self) - else: - return visitor.visitChildren(self) - - - - - def decimalMasterOption(self): - - localctx = frameQLParser.DecimalMasterOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 310, self.RULE_decimalMasterOption) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3857 - _la = self._input.LA(1) - if not(((((_la - 379)) & ~0x3f) == 0 and ((1 << (_la - 379)) & ((1 << (frameQLParser.MASTER_CONNECT_RETRY - 379)) | (1 << (frameQLParser.MASTER_DELAY - 379)) | (1 << (frameQLParser.MASTER_LOG_POS - 379)) | (1 << (frameQLParser.MASTER_PORT - 379)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 379)))) != 0) or _la==frameQLParser.RELAY_LOG_POS): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class BoolMasterOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def MASTER_AUTO_POSITION(self): - return self.getToken(frameQLParser.MASTER_AUTO_POSITION, 0) - - def MASTER_SSL(self): - return self.getToken(frameQLParser.MASTER_SSL, 0) - - def MASTER_SSL_VERIFY_SERVER_CERT(self): - return self.getToken(frameQLParser.MASTER_SSL_VERIFY_SERVER_CERT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_boolMasterOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBoolMasterOption" ): - listener.enterBoolMasterOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBoolMasterOption" ): - listener.exitBoolMasterOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitBoolMasterOption" ): - return visitor.visitBoolMasterOption(self) - else: - return visitor.visitChildren(self) - - - - - def boolMasterOption(self): - - localctx = frameQLParser.BoolMasterOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 312, self.RULE_boolMasterOption) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3859 - _la = self._input.LA(1) - if not(_la==frameQLParser.MASTER_SSL_VERIFY_SERVER_CERT or _la==frameQLParser.MASTER_AUTO_POSITION or _la==frameQLParser.MASTER_SSL): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ChannelOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def CHANNEL(self): - return self.getToken(frameQLParser.CHANNEL, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_channelOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterChannelOption" ): - listener.enterChannelOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitChannelOption" ): - listener.exitChannelOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitChannelOption" ): - return visitor.visitChannelOption(self) - else: - return visitor.visitChildren(self) - - - - - def channelOption(self): - - localctx = frameQLParser.ChannelOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 314, self.RULE_channelOption) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3861 - self.match(frameQLParser.FOR) - self.state = 3862 - self.match(frameQLParser.CHANNEL) - self.state = 3863 - self.match(frameQLParser.STRING_LITERAL) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ReplicationFilterContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_replicationFilter - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class WildIgnoreTableReplicationContext(ReplicationFilterContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ReplicationFilterContext - super().__init__(parser) - self.copyFrom(ctx) - - def REPLICATE_WILD_IGNORE_TABLE(self): - return self.getToken(frameQLParser.REPLICATE_WILD_IGNORE_TABLE, 0) - def simpleStrings(self): - return self.getTypedRuleContext(frameQLParser.SimpleStringsContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterWildIgnoreTableReplication" ): - listener.enterWildIgnoreTableReplication(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitWildIgnoreTableReplication" ): - listener.exitWildIgnoreTableReplication(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitWildIgnoreTableReplication" ): - return visitor.visitWildIgnoreTableReplication(self) - else: - return visitor.visitChildren(self) - - - class DoTableReplicationContext(ReplicationFilterContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ReplicationFilterContext - super().__init__(parser) - self.copyFrom(ctx) - - def REPLICATE_DO_TABLE(self): - return self.getToken(frameQLParser.REPLICATE_DO_TABLE, 0) - def tables(self): - return self.getTypedRuleContext(frameQLParser.TablesContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDoTableReplication" ): - listener.enterDoTableReplication(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDoTableReplication" ): - listener.exitDoTableReplication(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDoTableReplication" ): - return visitor.visitDoTableReplication(self) - else: - return visitor.visitChildren(self) - - - class IgnoreTableReplicationContext(ReplicationFilterContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ReplicationFilterContext - super().__init__(parser) - self.copyFrom(ctx) - - def REPLICATE_IGNORE_TABLE(self): - return self.getToken(frameQLParser.REPLICATE_IGNORE_TABLE, 0) - def tables(self): - return self.getTypedRuleContext(frameQLParser.TablesContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIgnoreTableReplication" ): - listener.enterIgnoreTableReplication(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIgnoreTableReplication" ): - listener.exitIgnoreTableReplication(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitIgnoreTableReplication" ): - return visitor.visitIgnoreTableReplication(self) - else: - return visitor.visitChildren(self) - - - class RewriteDbReplicationContext(ReplicationFilterContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ReplicationFilterContext - super().__init__(parser) - self.copyFrom(ctx) - - def REPLICATE_REWRITE_DB(self): - return self.getToken(frameQLParser.REPLICATE_REWRITE_DB, 0) - def tablePair(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TablePairContext) - else: - return self.getTypedRuleContext(frameQLParser.TablePairContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRewriteDbReplication" ): - listener.enterRewriteDbReplication(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRewriteDbReplication" ): - listener.exitRewriteDbReplication(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitRewriteDbReplication" ): - return visitor.visitRewriteDbReplication(self) - else: - return visitor.visitChildren(self) - - - class DoDbReplicationContext(ReplicationFilterContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ReplicationFilterContext - super().__init__(parser) - self.copyFrom(ctx) - - def REPLICATE_DO_DB(self): - return self.getToken(frameQLParser.REPLICATE_DO_DB, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDoDbReplication" ): - listener.enterDoDbReplication(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDoDbReplication" ): - listener.exitDoDbReplication(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDoDbReplication" ): - return visitor.visitDoDbReplication(self) - else: - return visitor.visitChildren(self) - - - class IgnoreDbReplicationContext(ReplicationFilterContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ReplicationFilterContext - super().__init__(parser) - self.copyFrom(ctx) - - def REPLICATE_IGNORE_DB(self): - return self.getToken(frameQLParser.REPLICATE_IGNORE_DB, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIgnoreDbReplication" ): - listener.enterIgnoreDbReplication(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIgnoreDbReplication" ): - listener.exitIgnoreDbReplication(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitIgnoreDbReplication" ): - return visitor.visitIgnoreDbReplication(self) - else: - return visitor.visitChildren(self) - - - class WildDoTableReplicationContext(ReplicationFilterContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ReplicationFilterContext - super().__init__(parser) - self.copyFrom(ctx) - - def REPLICATE_WILD_DO_TABLE(self): - return self.getToken(frameQLParser.REPLICATE_WILD_DO_TABLE, 0) - def simpleStrings(self): - return self.getTypedRuleContext(frameQLParser.SimpleStringsContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterWildDoTableReplication" ): - listener.enterWildDoTableReplication(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitWildDoTableReplication" ): - listener.exitWildDoTableReplication(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitWildDoTableReplication" ): - return visitor.visitWildDoTableReplication(self) - else: - return visitor.visitChildren(self) - - - - def replicationFilter(self): - - localctx = frameQLParser.ReplicationFilterContext(self, self._ctx, self.state) - self.enterRule(localctx, 316, self.RULE_replicationFilter) - self._la = 0 # Token type - try: - self.state = 3914 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.REPLICATE_DO_DB]: - localctx = frameQLParser.DoDbReplicationContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 3865 - self.match(frameQLParser.REPLICATE_DO_DB) - self.state = 3866 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3867 - self.match(frameQLParser.LR_BRACKET) - self.state = 3868 - self.uidList() - self.state = 3869 - self.match(frameQLParser.RR_BRACKET) - pass - elif token in [frameQLParser.REPLICATE_IGNORE_DB]: - localctx = frameQLParser.IgnoreDbReplicationContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 3871 - self.match(frameQLParser.REPLICATE_IGNORE_DB) - self.state = 3872 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3873 - self.match(frameQLParser.LR_BRACKET) - self.state = 3874 - self.uidList() - self.state = 3875 - self.match(frameQLParser.RR_BRACKET) - pass - elif token in [frameQLParser.REPLICATE_DO_TABLE]: - localctx = frameQLParser.DoTableReplicationContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 3877 - self.match(frameQLParser.REPLICATE_DO_TABLE) - self.state = 3878 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3879 - self.match(frameQLParser.LR_BRACKET) - self.state = 3880 - self.tables() - self.state = 3881 - self.match(frameQLParser.RR_BRACKET) - pass - elif token in [frameQLParser.REPLICATE_IGNORE_TABLE]: - localctx = frameQLParser.IgnoreTableReplicationContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 3883 - self.match(frameQLParser.REPLICATE_IGNORE_TABLE) - self.state = 3884 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3885 - self.match(frameQLParser.LR_BRACKET) - self.state = 3886 - self.tables() - self.state = 3887 - self.match(frameQLParser.RR_BRACKET) - pass - elif token in [frameQLParser.REPLICATE_WILD_DO_TABLE]: - localctx = frameQLParser.WildDoTableReplicationContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 3889 - self.match(frameQLParser.REPLICATE_WILD_DO_TABLE) - self.state = 3890 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3891 - self.match(frameQLParser.LR_BRACKET) - self.state = 3892 - self.simpleStrings() - self.state = 3893 - self.match(frameQLParser.RR_BRACKET) - pass - elif token in [frameQLParser.REPLICATE_WILD_IGNORE_TABLE]: - localctx = frameQLParser.WildIgnoreTableReplicationContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 3895 - self.match(frameQLParser.REPLICATE_WILD_IGNORE_TABLE) - self.state = 3896 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3897 - self.match(frameQLParser.LR_BRACKET) - self.state = 3898 - self.simpleStrings() - self.state = 3899 - self.match(frameQLParser.RR_BRACKET) - pass - elif token in [frameQLParser.REPLICATE_REWRITE_DB]: - localctx = frameQLParser.RewriteDbReplicationContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 3901 - self.match(frameQLParser.REPLICATE_REWRITE_DB) - self.state = 3902 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3903 - self.match(frameQLParser.LR_BRACKET) - self.state = 3904 - self.tablePair() - self.state = 3909 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3905 - self.match(frameQLParser.COMMA) - self.state = 3906 - self.tablePair() - self.state = 3911 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 3912 - self.match(frameQLParser.RR_BRACKET) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class TablePairContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.firstTable = None # TableNameContext - self.secondTable = None # TableNameContext - - def tableName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TableNameContext) - else: - return self.getTypedRuleContext(frameQLParser.TableNameContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_tablePair - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTablePair" ): - listener.enterTablePair(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTablePair" ): - listener.exitTablePair(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTablePair" ): - return visitor.visitTablePair(self) - else: - return visitor.visitChildren(self) - - - - - def tablePair(self): - - localctx = frameQLParser.TablePairContext(self, self._ctx, self.state) - self.enterRule(localctx, 318, self.RULE_tablePair) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3916 - self.match(frameQLParser.LR_BRACKET) - self.state = 3917 - localctx.firstTable = self.tableName() - self.state = 3918 - self.match(frameQLParser.COMMA) - self.state = 3919 - localctx.secondTable = self.tableName() - self.state = 3920 - self.match(frameQLParser.RR_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ThreadTypeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def IO_THREAD(self): - return self.getToken(frameQLParser.IO_THREAD, 0) - - def SQL_THREAD(self): - return self.getToken(frameQLParser.SQL_THREAD, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_threadType - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterThreadType" ): - listener.enterThreadType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitThreadType" ): - listener.exitThreadType(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitThreadType" ): - return visitor.visitThreadType(self) - else: - return visitor.visitChildren(self) - - - - - def threadType(self): - - localctx = frameQLParser.ThreadTypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 320, self.RULE_threadType) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3922 - _la = self._input.LA(1) - if not(_la==frameQLParser.IO_THREAD or _la==frameQLParser.SQL_THREAD): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class UntilOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_untilOption - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class GtidsUntilOptionContext(UntilOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.UntilOptionContext - super().__init__(parser) - self.gtids = None # Token - self.copyFrom(ctx) - - def gtuidSet(self): - return self.getTypedRuleContext(frameQLParser.GtuidSetContext,0) - - def SQL_BEFORE_GTIDS(self): - return self.getToken(frameQLParser.SQL_BEFORE_GTIDS, 0) - def SQL_AFTER_GTIDS(self): - return self.getToken(frameQLParser.SQL_AFTER_GTIDS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterGtidsUntilOption" ): - listener.enterGtidsUntilOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitGtidsUntilOption" ): - listener.exitGtidsUntilOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitGtidsUntilOption" ): - return visitor.visitGtidsUntilOption(self) - else: - return visitor.visitChildren(self) - - - class SqlGapsUntilOptionContext(UntilOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.UntilOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def SQL_AFTER_MTS_GAPS(self): - return self.getToken(frameQLParser.SQL_AFTER_MTS_GAPS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSqlGapsUntilOption" ): - listener.enterSqlGapsUntilOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSqlGapsUntilOption" ): - listener.exitSqlGapsUntilOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSqlGapsUntilOption" ): - return visitor.visitSqlGapsUntilOption(self) - else: - return visitor.visitChildren(self) - - - class MasterLogUntilOptionContext(UntilOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.UntilOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def MASTER_LOG_FILE(self): - return self.getToken(frameQLParser.MASTER_LOG_FILE, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - def MASTER_LOG_POS(self): - return self.getToken(frameQLParser.MASTER_LOG_POS, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMasterLogUntilOption" ): - listener.enterMasterLogUntilOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMasterLogUntilOption" ): - listener.exitMasterLogUntilOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitMasterLogUntilOption" ): - return visitor.visitMasterLogUntilOption(self) - else: - return visitor.visitChildren(self) - - - class RelayLogUntilOptionContext(UntilOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.UntilOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def RELAY_LOG_FILE(self): - return self.getToken(frameQLParser.RELAY_LOG_FILE, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - def RELAY_LOG_POS(self): - return self.getToken(frameQLParser.RELAY_LOG_POS, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRelayLogUntilOption" ): - listener.enterRelayLogUntilOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRelayLogUntilOption" ): - listener.exitRelayLogUntilOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitRelayLogUntilOption" ): - return visitor.visitRelayLogUntilOption(self) - else: - return visitor.visitChildren(self) - - - - def untilOption(self): - - localctx = frameQLParser.UntilOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 322, self.RULE_untilOption) - self._la = 0 # Token type - try: - self.state = 3942 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_BEFORE_GTIDS]: - localctx = frameQLParser.GtidsUntilOptionContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 3924 - localctx.gtids = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.SQL_AFTER_GTIDS or _la==frameQLParser.SQL_BEFORE_GTIDS): - localctx.gtids = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 3925 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3926 - self.gtuidSet() - pass - elif token in [frameQLParser.MASTER_LOG_FILE]: - localctx = frameQLParser.MasterLogUntilOptionContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 3927 - self.match(frameQLParser.MASTER_LOG_FILE) - self.state = 3928 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3929 - self.match(frameQLParser.STRING_LITERAL) - self.state = 3930 - self.match(frameQLParser.COMMA) - self.state = 3931 - self.match(frameQLParser.MASTER_LOG_POS) - self.state = 3932 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3933 - self.decimalLiteral() - pass - elif token in [frameQLParser.RELAY_LOG_FILE]: - localctx = frameQLParser.RelayLogUntilOptionContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 3934 - self.match(frameQLParser.RELAY_LOG_FILE) - self.state = 3935 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3936 - self.match(frameQLParser.STRING_LITERAL) - self.state = 3937 - self.match(frameQLParser.COMMA) - self.state = 3938 - self.match(frameQLParser.RELAY_LOG_POS) - self.state = 3939 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3940 - self.decimalLiteral() - pass - elif token in [frameQLParser.SQL_AFTER_MTS_GAPS]: - localctx = frameQLParser.SqlGapsUntilOptionContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 3941 - self.match(frameQLParser.SQL_AFTER_MTS_GAPS) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ConnectionOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_connectionOption - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class PluginDirConnectionOptionContext(ConnectionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ConnectionOptionContext - super().__init__(parser) - self.conOptPluginDir = None # Token - self.copyFrom(ctx) - - def PLUGIN_DIR(self): - return self.getToken(frameQLParser.PLUGIN_DIR, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPluginDirConnectionOption" ): - listener.enterPluginDirConnectionOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPluginDirConnectionOption" ): - listener.exitPluginDirConnectionOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPluginDirConnectionOption" ): - return visitor.visitPluginDirConnectionOption(self) - else: - return visitor.visitChildren(self) - - - class UserConnectionOptionContext(ConnectionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ConnectionOptionContext - super().__init__(parser) - self.conOptUser = None # Token - self.copyFrom(ctx) - - def USER(self): - return self.getToken(frameQLParser.USER, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUserConnectionOption" ): - listener.enterUserConnectionOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUserConnectionOption" ): - listener.exitUserConnectionOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUserConnectionOption" ): - return visitor.visitUserConnectionOption(self) - else: - return visitor.visitChildren(self) - - - class DefaultAuthConnectionOptionContext(ConnectionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ConnectionOptionContext - super().__init__(parser) - self.conOptDefAuth = None # Token - self.copyFrom(ctx) - - def DEFAULT_AUTH(self): - return self.getToken(frameQLParser.DEFAULT_AUTH, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDefaultAuthConnectionOption" ): - listener.enterDefaultAuthConnectionOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDefaultAuthConnectionOption" ): - listener.exitDefaultAuthConnectionOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDefaultAuthConnectionOption" ): - return visitor.visitDefaultAuthConnectionOption(self) - else: - return visitor.visitChildren(self) - - - class PasswordConnectionOptionContext(ConnectionOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ConnectionOptionContext - super().__init__(parser) - self.conOptPassword = None # Token - self.copyFrom(ctx) - - def PASSWORD(self): - return self.getToken(frameQLParser.PASSWORD, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPasswordConnectionOption" ): - listener.enterPasswordConnectionOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPasswordConnectionOption" ): - listener.exitPasswordConnectionOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPasswordConnectionOption" ): - return visitor.visitPasswordConnectionOption(self) - else: - return visitor.visitChildren(self) - - - - def connectionOption(self): - - localctx = frameQLParser.ConnectionOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 324, self.RULE_connectionOption) - try: - self.state = 3956 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.USER]: - localctx = frameQLParser.UserConnectionOptionContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 3944 - self.match(frameQLParser.USER) - self.state = 3945 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3946 - localctx.conOptUser = self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.PASSWORD]: - localctx = frameQLParser.PasswordConnectionOptionContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 3947 - self.match(frameQLParser.PASSWORD) - self.state = 3948 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3949 - localctx.conOptPassword = self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.DEFAULT_AUTH]: - localctx = frameQLParser.DefaultAuthConnectionOptionContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 3950 - self.match(frameQLParser.DEFAULT_AUTH) - self.state = 3951 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3952 - localctx.conOptDefAuth = self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.PLUGIN_DIR]: - localctx = frameQLParser.PluginDirConnectionOptionContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 3953 - self.match(frameQLParser.PLUGIN_DIR) - self.state = 3954 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 3955 - localctx.conOptPluginDir = self.match(frameQLParser.STRING_LITERAL) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class GtuidSetContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def uuidSet(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UuidSetContext) - else: - return self.getTypedRuleContext(frameQLParser.UuidSetContext,i) - - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_gtuidSet - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterGtuidSet" ): - listener.enterGtuidSet(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitGtuidSet" ): - listener.exitGtuidSet(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitGtuidSet" ): - return visitor.visitGtuidSet(self) - else: - return visitor.visitChildren(self) - - - - - def gtuidSet(self): - - localctx = frameQLParser.GtuidSetContext(self, self._ctx, self.state) - self.enterRule(localctx, 326, self.RULE_gtuidSet) - self._la = 0 # Token type - try: - self.state = 3967 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ZERO_DECIMAL, frameQLParser.ONE_DECIMAL, frameQLParser.TWO_DECIMAL, frameQLParser.DECIMAL_LITERAL]: - self.enterOuterAlt(localctx, 1) - self.state = 3958 - self.uuidSet() - self.state = 3963 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 3959 - self.match(frameQLParser.COMMA) - self.state = 3960 - self.uuidSet() - self.state = 3965 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - elif token in [frameQLParser.STRING_LITERAL]: - self.enterOuterAlt(localctx, 2) - self.state = 3966 - self.match(frameQLParser.STRING_LITERAL) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class XaStartTransactionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.xaStart = None # Token - self.xaAction = None # Token - - def XA(self): - return self.getToken(frameQLParser.XA, 0) - - def xid(self): - return self.getTypedRuleContext(frameQLParser.XidContext,0) - - - def START(self): - return self.getToken(frameQLParser.START, 0) - - def BEGIN(self): - return self.getToken(frameQLParser.BEGIN, 0) - - def JOIN(self): - return self.getToken(frameQLParser.JOIN, 0) - - def RESUME(self): - return self.getToken(frameQLParser.RESUME, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_xaStartTransaction - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterXaStartTransaction" ): - listener.enterXaStartTransaction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitXaStartTransaction" ): - listener.exitXaStartTransaction(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitXaStartTransaction" ): - return visitor.visitXaStartTransaction(self) - else: - return visitor.visitChildren(self) - - - - - def xaStartTransaction(self): - - localctx = frameQLParser.XaStartTransactionContext(self, self._ctx, self.state) - self.enterRule(localctx, 328, self.RULE_xaStartTransaction) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3969 - self.match(frameQLParser.XA) - self.state = 3970 - localctx.xaStart = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.BEGIN or _la==frameQLParser.START): - localctx.xaStart = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 3971 - self.xid() - self.state = 3973 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.JOIN or _la==frameQLParser.RESUME: - self.state = 3972 - localctx.xaAction = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.JOIN or _la==frameQLParser.RESUME): - localctx.xaAction = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class XaEndTransactionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def XA(self): - return self.getToken(frameQLParser.XA, 0) - - def END(self): - return self.getToken(frameQLParser.END, 0) - - def xid(self): - return self.getTypedRuleContext(frameQLParser.XidContext,0) - - - def SUSPEND(self): - return self.getToken(frameQLParser.SUSPEND, 0) - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def MIGRATE(self): - return self.getToken(frameQLParser.MIGRATE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_xaEndTransaction - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterXaEndTransaction" ): - listener.enterXaEndTransaction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitXaEndTransaction" ): - listener.exitXaEndTransaction(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitXaEndTransaction" ): - return visitor.visitXaEndTransaction(self) - else: - return visitor.visitChildren(self) - - - - - def xaEndTransaction(self): - - localctx = frameQLParser.XaEndTransactionContext(self, self._ctx, self.state) - self.enterRule(localctx, 330, self.RULE_xaEndTransaction) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3975 - self.match(frameQLParser.XA) - self.state = 3976 - self.match(frameQLParser.END) - self.state = 3977 - self.xid() - self.state = 3983 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SUSPEND: - self.state = 3978 - self.match(frameQLParser.SUSPEND) - self.state = 3981 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR: - self.state = 3979 - self.match(frameQLParser.FOR) - self.state = 3980 - self.match(frameQLParser.MIGRATE) - - - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class XaPrepareStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def XA(self): - return self.getToken(frameQLParser.XA, 0) - - def PREPARE(self): - return self.getToken(frameQLParser.PREPARE, 0) - - def xid(self): - return self.getTypedRuleContext(frameQLParser.XidContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_xaPrepareStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterXaPrepareStatement" ): - listener.enterXaPrepareStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitXaPrepareStatement" ): - listener.exitXaPrepareStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitXaPrepareStatement" ): - return visitor.visitXaPrepareStatement(self) - else: - return visitor.visitChildren(self) - - - - - def xaPrepareStatement(self): - - localctx = frameQLParser.XaPrepareStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 332, self.RULE_xaPrepareStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3985 - self.match(frameQLParser.XA) - self.state = 3986 - self.match(frameQLParser.PREPARE) - self.state = 3987 - self.xid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class XaCommitWorkContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def XA(self): - return self.getToken(frameQLParser.XA, 0) - - def COMMIT(self): - return self.getToken(frameQLParser.COMMIT, 0) - - def xid(self): - return self.getTypedRuleContext(frameQLParser.XidContext,0) - - - def ONE(self): - return self.getToken(frameQLParser.ONE, 0) - - def PHASE(self): - return self.getToken(frameQLParser.PHASE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_xaCommitWork - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterXaCommitWork" ): - listener.enterXaCommitWork(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitXaCommitWork" ): - listener.exitXaCommitWork(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitXaCommitWork" ): - return visitor.visitXaCommitWork(self) - else: - return visitor.visitChildren(self) - - - - - def xaCommitWork(self): - - localctx = frameQLParser.XaCommitWorkContext(self, self._ctx, self.state) - self.enterRule(localctx, 334, self.RULE_xaCommitWork) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 3989 - self.match(frameQLParser.XA) - self.state = 3990 - self.match(frameQLParser.COMMIT) - self.state = 3991 - self.xid() - self.state = 3994 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ONE: - self.state = 3992 - self.match(frameQLParser.ONE) - self.state = 3993 - self.match(frameQLParser.PHASE) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class XaRollbackWorkContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def XA(self): - return self.getToken(frameQLParser.XA, 0) - - def ROLLBACK(self): - return self.getToken(frameQLParser.ROLLBACK, 0) - - def xid(self): - return self.getTypedRuleContext(frameQLParser.XidContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_xaRollbackWork - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterXaRollbackWork" ): - listener.enterXaRollbackWork(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitXaRollbackWork" ): - listener.exitXaRollbackWork(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitXaRollbackWork" ): - return visitor.visitXaRollbackWork(self) - else: - return visitor.visitChildren(self) - - - - - def xaRollbackWork(self): - - localctx = frameQLParser.XaRollbackWorkContext(self, self._ctx, self.state) - self.enterRule(localctx, 336, self.RULE_xaRollbackWork) - try: - self.enterOuterAlt(localctx, 1) - self.state = 3996 - self.match(frameQLParser.XA) - self.state = 3997 - self.match(frameQLParser.ROLLBACK) - self.state = 3998 - self.xid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class XaRecoverWorkContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def XA(self): - return self.getToken(frameQLParser.XA, 0) - - def RECOVER(self): - return self.getToken(frameQLParser.RECOVER, 0) - - def CONVERT(self): - return self.getToken(frameQLParser.CONVERT, 0) - - def xid(self): - return self.getTypedRuleContext(frameQLParser.XidContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_xaRecoverWork - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterXaRecoverWork" ): - listener.enterXaRecoverWork(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitXaRecoverWork" ): - listener.exitXaRecoverWork(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitXaRecoverWork" ): - return visitor.visitXaRecoverWork(self) - else: - return visitor.visitChildren(self) - - - - - def xaRecoverWork(self): - - localctx = frameQLParser.XaRecoverWorkContext(self, self._ctx, self.state) - self.enterRule(localctx, 338, self.RULE_xaRecoverWork) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4000 - self.match(frameQLParser.XA) - self.state = 4001 - self.match(frameQLParser.RECOVER) - self.state = 4004 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CONVERT: - self.state = 4002 - self.match(frameQLParser.CONVERT) - self.state = 4003 - self.xid() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class PrepareStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.query = None # Token - self.variable = None # Token - - def PREPARE(self): - return self.getToken(frameQLParser.PREPARE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def LOCAL_ID(self): - return self.getToken(frameQLParser.LOCAL_ID, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_prepareStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPrepareStatement" ): - listener.enterPrepareStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPrepareStatement" ): - listener.exitPrepareStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPrepareStatement" ): - return visitor.visitPrepareStatement(self) - else: - return visitor.visitChildren(self) - - - - - def prepareStatement(self): - - localctx = frameQLParser.PrepareStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 340, self.RULE_prepareStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 4006 - self.match(frameQLParser.PREPARE) - self.state = 4007 - self.uid() - self.state = 4008 - self.match(frameQLParser.FROM) - self.state = 4011 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.STRING_LITERAL]: - self.state = 4009 - localctx.query = self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.LOCAL_ID]: - self.state = 4010 - localctx.variable = self.match(frameQLParser.LOCAL_ID) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ExecuteStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def EXECUTE(self): - return self.getToken(frameQLParser.EXECUTE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def USING(self): - return self.getToken(frameQLParser.USING, 0) - - def userVariables(self): - return self.getTypedRuleContext(frameQLParser.UserVariablesContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_executeStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExecuteStatement" ): - listener.enterExecuteStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExecuteStatement" ): - listener.exitExecuteStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitExecuteStatement" ): - return visitor.visitExecuteStatement(self) - else: - return visitor.visitChildren(self) - - - - - def executeStatement(self): - - localctx = frameQLParser.ExecuteStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 342, self.RULE_executeStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4013 - self.match(frameQLParser.EXECUTE) - self.state = 4014 - self.uid() - self.state = 4017 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.USING: - self.state = 4015 - self.match(frameQLParser.USING) - self.state = 4016 - self.userVariables() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DeallocatePrepareContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.dropFormat = None # Token - - def PREPARE(self): - return self.getToken(frameQLParser.PREPARE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def DEALLOCATE(self): - return self.getToken(frameQLParser.DEALLOCATE, 0) - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_deallocatePrepare - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDeallocatePrepare" ): - listener.enterDeallocatePrepare(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDeallocatePrepare" ): - listener.exitDeallocatePrepare(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDeallocatePrepare" ): - return visitor.visitDeallocatePrepare(self) - else: - return visitor.visitChildren(self) - - - - - def deallocatePrepare(self): - - localctx = frameQLParser.DeallocatePrepareContext(self, self._ctx, self.state) - self.enterRule(localctx, 344, self.RULE_deallocatePrepare) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4019 - localctx.dropFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DROP or _la==frameQLParser.DEALLOCATE): - localctx.dropFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4020 - self.match(frameQLParser.PREPARE) - self.state = 4021 - self.uid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RoutineBodyContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def blockStatement(self): - return self.getTypedRuleContext(frameQLParser.BlockStatementContext,0) - - - def sqlStatement(self): - return self.getTypedRuleContext(frameQLParser.SqlStatementContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_routineBody - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRoutineBody" ): - listener.enterRoutineBody(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRoutineBody" ): - listener.exitRoutineBody(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitRoutineBody" ): - return visitor.visitRoutineBody(self) - else: - return visitor.visitChildren(self) - - - - - def routineBody(self): - - localctx = frameQLParser.RoutineBodyContext(self, self._ctx, self.state) - self.enterRule(localctx, 346, self.RULE_routineBody) - try: - self.state = 4025 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,572,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 4023 - self.blockStatement() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 4024 - self.sqlStatement() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class BlockStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def BEGIN(self): - return self.getToken(frameQLParser.BEGIN, 0) - - def END(self): - return self.getToken(frameQLParser.END, 0) - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def declareVariable(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DeclareVariableContext) - else: - return self.getTypedRuleContext(frameQLParser.DeclareVariableContext,i) - - - def SEMI(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.SEMI) - else: - return self.getToken(frameQLParser.SEMI, i) - - def declareCondition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DeclareConditionContext) - else: - return self.getTypedRuleContext(frameQLParser.DeclareConditionContext,i) - - - def declareCursor(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DeclareCursorContext) - else: - return self.getTypedRuleContext(frameQLParser.DeclareCursorContext,i) - - - def declareHandler(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DeclareHandlerContext) - else: - return self.getTypedRuleContext(frameQLParser.DeclareHandlerContext,i) - - - def procedureSqlStatement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ProcedureSqlStatementContext) - else: - return self.getTypedRuleContext(frameQLParser.ProcedureSqlStatementContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_blockStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBlockStatement" ): - listener.enterBlockStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBlockStatement" ): - listener.exitBlockStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitBlockStatement" ): - return visitor.visitBlockStatement(self) - else: - return visitor.visitChildren(self) - - - - - def blockStatement(self): - - localctx = frameQLParser.BlockStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 348, self.RULE_blockStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4030 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,573,self._ctx) - if la_ == 1: - self.state = 4027 - self.uid() - self.state = 4028 - self.match(frameQLParser.COLON_SYMB) - - - self.state = 4032 - self.match(frameQLParser.BEGIN) - self.state = 4070 - self._errHandler.sync(self) - _la = self._input.LA(1) - if ((((_la - 9)) & ~0x3f) == 0 and ((1 << (_la - 9)) & ((1 << (frameQLParser.ALTER - 9)) | (1 << (frameQLParser.ANALYZE - 9)) | (1 << (frameQLParser.CALL - 9)) | (1 << (frameQLParser.CASE - 9)) | (1 << (frameQLParser.CHANGE - 9)) | (1 << (frameQLParser.CHECK - 9)) | (1 << (frameQLParser.CREATE - 9)) | (1 << (frameQLParser.DATABASE - 9)) | (1 << (frameQLParser.DECLARE - 9)) | (1 << (frameQLParser.DELETE - 9)) | (1 << (frameQLParser.DESC - 9)) | (1 << (frameQLParser.DESCRIBE - 9)) | (1 << (frameQLParser.DROP - 9)) | (1 << (frameQLParser.EXPLAIN - 9)) | (1 << (frameQLParser.FETCH - 9)) | (1 << (frameQLParser.GRANT - 9)) | (1 << (frameQLParser.IF - 9)))) != 0) or ((((_la - 75)) & ~0x3f) == 0 and ((1 << (_la - 75)) & ((1 << (frameQLParser.INSERT - 75)) | (1 << (frameQLParser.ITERATE - 75)) | (1 << (frameQLParser.KILL - 75)) | (1 << (frameQLParser.LEAVE - 75)) | (1 << (frameQLParser.LEFT - 75)) | (1 << (frameQLParser.LOAD - 75)) | (1 << (frameQLParser.LOCK - 75)) | (1 << (frameQLParser.LOOP - 75)) | (1 << (frameQLParser.OPTIMIZE - 75)) | (1 << (frameQLParser.PURGE - 75)) | (1 << (frameQLParser.RELEASE - 75)) | (1 << (frameQLParser.RENAME - 75)) | (1 << (frameQLParser.REPEAT - 75)) | (1 << (frameQLParser.REPLACE - 75)) | (1 << (frameQLParser.RETURN - 75)) | (1 << (frameQLParser.REVOKE - 75)) | (1 << (frameQLParser.RIGHT - 75)) | (1 << (frameQLParser.SELECT - 75)) | (1 << (frameQLParser.SET - 75)) | (1 << (frameQLParser.SHOW - 75)))) != 0) or ((((_la - 159)) & ~0x3f) == 0 and ((1 << (_la - 159)) & ((1 << (frameQLParser.UNLOCK - 159)) | (1 << (frameQLParser.UPDATE - 159)) | (1 << (frameQLParser.USE - 159)) | (1 << (frameQLParser.WHILE - 159)) | (1 << (frameQLParser.DATE - 159)) | (1 << (frameQLParser.TIME - 159)) | (1 << (frameQLParser.TIMESTAMP - 159)) | (1 << (frameQLParser.DATETIME - 159)) | (1 << (frameQLParser.YEAR - 159)) | (1 << (frameQLParser.TEXT - 159)) | (1 << (frameQLParser.ENUM - 159)) | (1 << (frameQLParser.SERIAL - 159)) | (1 << (frameQLParser.COUNT - 159)))) != 0) or ((((_la - 242)) & ~0x3f) == 0 and ((1 << (_la - 242)) & ((1 << (frameQLParser.POSITION - 242)) | (1 << (frameQLParser.ACCOUNT - 242)) | (1 << (frameQLParser.ACTION - 242)) | (1 << (frameQLParser.AFTER - 242)) | (1 << (frameQLParser.AGGREGATE - 242)) | (1 << (frameQLParser.ALGORITHM - 242)) | (1 << (frameQLParser.ANY - 242)) | (1 << (frameQLParser.AT - 242)) | (1 << (frameQLParser.AUTHORS - 242)) | (1 << (frameQLParser.AUTOCOMMIT - 242)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 242)) | (1 << (frameQLParser.AUTO_INCREMENT - 242)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 242)) | (1 << (frameQLParser.BEGIN - 242)) | (1 << (frameQLParser.BINLOG - 242)) | (1 << (frameQLParser.BIT - 242)) | (1 << (frameQLParser.BLOCK - 242)) | (1 << (frameQLParser.BOOL - 242)) | (1 << (frameQLParser.BOOLEAN - 242)) | (1 << (frameQLParser.BTREE - 242)) | (1 << (frameQLParser.CACHE - 242)) | (1 << (frameQLParser.CASCADED - 242)) | (1 << (frameQLParser.CHAIN - 242)) | (1 << (frameQLParser.CHANGED - 242)) | (1 << (frameQLParser.CHANNEL - 242)) | (1 << (frameQLParser.CHECKSUM - 242)) | (1 << (frameQLParser.CIPHER - 242)) | (1 << (frameQLParser.CLIENT - 242)) | (1 << (frameQLParser.CLOSE - 242)) | (1 << (frameQLParser.COALESCE - 242)) | (1 << (frameQLParser.CODE - 242)) | (1 << (frameQLParser.COLUMNS - 242)) | (1 << (frameQLParser.COLUMN_FORMAT - 242)) | (1 << (frameQLParser.COMMENT - 242)) | (1 << (frameQLParser.COMMIT - 242)) | (1 << (frameQLParser.COMPACT - 242)) | (1 << (frameQLParser.COMPLETION - 242)) | (1 << (frameQLParser.COMPRESSED - 242)) | (1 << (frameQLParser.COMPRESSION - 242)) | (1 << (frameQLParser.CONCURRENT - 242)) | (1 << (frameQLParser.CONNECTION - 242)) | (1 << (frameQLParser.CONSISTENT - 242)) | (1 << (frameQLParser.CONTAINS - 242)) | (1 << (frameQLParser.CONTEXT - 242)) | (1 << (frameQLParser.CONTRIBUTORS - 242)) | (1 << (frameQLParser.COPY - 242)) | (1 << (frameQLParser.CPU - 242)) | (1 << (frameQLParser.DATA - 242)) | (1 << (frameQLParser.DATAFILE - 242)) | (1 << (frameQLParser.DEALLOCATE - 242)) | (1 << (frameQLParser.DEFAULT_AUTH - 242)) | (1 << (frameQLParser.DEFINER - 242)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 242)) | (1 << (frameQLParser.DIRECTORY - 242)) | (1 << (frameQLParser.DISABLE - 242)) | (1 << (frameQLParser.DISCARD - 242)))) != 0) or ((((_la - 306)) & ~0x3f) == 0 and ((1 << (_la - 306)) & ((1 << (frameQLParser.DISK - 306)) | (1 << (frameQLParser.DO - 306)) | (1 << (frameQLParser.DUMPFILE - 306)) | (1 << (frameQLParser.DUPLICATE - 306)) | (1 << (frameQLParser.DYNAMIC - 306)) | (1 << (frameQLParser.ENABLE - 306)) | (1 << (frameQLParser.ENCRYPTION - 306)) | (1 << (frameQLParser.ENDS - 306)) | (1 << (frameQLParser.ENGINE - 306)) | (1 << (frameQLParser.ENGINES - 306)) | (1 << (frameQLParser.ERROR - 306)) | (1 << (frameQLParser.ERRORS - 306)) | (1 << (frameQLParser.ESCAPE - 306)) | (1 << (frameQLParser.EVEN - 306)) | (1 << (frameQLParser.EVENT - 306)) | (1 << (frameQLParser.EVENTS - 306)) | (1 << (frameQLParser.EVERY - 306)) | (1 << (frameQLParser.EXCHANGE - 306)) | (1 << (frameQLParser.EXCLUSIVE - 306)) | (1 << (frameQLParser.EXPIRE - 306)) | (1 << (frameQLParser.EXTENDED - 306)) | (1 << (frameQLParser.EXTENT_SIZE - 306)) | (1 << (frameQLParser.FAST - 306)) | (1 << (frameQLParser.FAULTS - 306)) | (1 << (frameQLParser.FIELDS - 306)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 306)) | (1 << (frameQLParser.FILTER - 306)) | (1 << (frameQLParser.FIRST - 306)) | (1 << (frameQLParser.FIXED - 306)) | (1 << (frameQLParser.FLUSH - 306)) | (1 << (frameQLParser.FOLLOWS - 306)) | (1 << (frameQLParser.FULL - 306)) | (1 << (frameQLParser.FUNCTION - 306)) | (1 << (frameQLParser.GLOBAL - 306)) | (1 << (frameQLParser.GRANTS - 306)) | (1 << (frameQLParser.GROUP_REPLICATION - 306)) | (1 << (frameQLParser.HANDLER - 306)) | (1 << (frameQLParser.HASH - 306)) | (1 << (frameQLParser.HELP - 306)) | (1 << (frameQLParser.HOST - 306)) | (1 << (frameQLParser.IDENTIFIED - 306)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 306)) | (1 << (frameQLParser.IMPORT - 306)) | (1 << (frameQLParser.INDEXES - 306)) | (1 << (frameQLParser.INITIAL_SIZE - 306)) | (1 << (frameQLParser.INPLACE - 306)) | (1 << (frameQLParser.INSERT_METHOD - 306)) | (1 << (frameQLParser.INSTALL - 306)) | (1 << (frameQLParser.INSTANCE - 306)) | (1 << (frameQLParser.INVOKER - 306)) | (1 << (frameQLParser.IO - 306)) | (1 << (frameQLParser.IO_THREAD - 306)) | (1 << (frameQLParser.IPC - 306)) | (1 << (frameQLParser.ISOLATION - 306)) | (1 << (frameQLParser.ISSUER - 306)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 306)) | (1 << (frameQLParser.LANGUAGE - 306)) | (1 << (frameQLParser.LAST - 306)))) != 0) or ((((_la - 370)) & ~0x3f) == 0 and ((1 << (_la - 370)) & ((1 << (frameQLParser.LEAVES - 370)) | (1 << (frameQLParser.LESS - 370)) | (1 << (frameQLParser.LEVEL - 370)) | (1 << (frameQLParser.LIST - 370)) | (1 << (frameQLParser.LOCAL - 370)) | (1 << (frameQLParser.LOGFILE - 370)) | (1 << (frameQLParser.LOGS - 370)) | (1 << (frameQLParser.MASTER - 370)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 370)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 370)) | (1 << (frameQLParser.MASTER_DELAY - 370)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 370)) | (1 << (frameQLParser.MASTER_HOST - 370)) | (1 << (frameQLParser.MASTER_LOG_FILE - 370)) | (1 << (frameQLParser.MASTER_LOG_POS - 370)) | (1 << (frameQLParser.MASTER_PASSWORD - 370)) | (1 << (frameQLParser.MASTER_PORT - 370)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 370)) | (1 << (frameQLParser.MASTER_SSL - 370)) | (1 << (frameQLParser.MASTER_SSL_CA - 370)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_CERT - 370)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 370)) | (1 << (frameQLParser.MASTER_SSL_CRL - 370)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_KEY - 370)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 370)) | (1 << (frameQLParser.MASTER_USER - 370)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_ROWS - 370)) | (1 << (frameQLParser.MAX_SIZE - 370)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 370)) | (1 << (frameQLParser.MEDIUM - 370)) | (1 << (frameQLParser.MERGE - 370)) | (1 << (frameQLParser.MID - 370)) | (1 << (frameQLParser.MIGRATE - 370)) | (1 << (frameQLParser.MIN_ROWS - 370)) | (1 << (frameQLParser.MODIFY - 370)) | (1 << (frameQLParser.MUTEX - 370)) | (1 << (frameQLParser.MYSQL - 370)) | (1 << (frameQLParser.NAME - 370)) | (1 << (frameQLParser.NAMES - 370)) | (1 << (frameQLParser.NCHAR - 370)) | (1 << (frameQLParser.NEVER - 370)) | (1 << (frameQLParser.NO - 370)) | (1 << (frameQLParser.NODEGROUP - 370)) | (1 << (frameQLParser.NONE - 370)) | (1 << (frameQLParser.OFFLINE - 370)) | (1 << (frameQLParser.OFFSET - 370)) | (1 << (frameQLParser.OJ - 370)) | (1 << (frameQLParser.OLD_PASSWORD - 370)) | (1 << (frameQLParser.ONE - 370)) | (1 << (frameQLParser.ONLINE - 370)) | (1 << (frameQLParser.ONLY - 370)) | (1 << (frameQLParser.OPEN - 370)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 370)) | (1 << (frameQLParser.OPTIONS - 370)) | (1 << (frameQLParser.OWNER - 370)) | (1 << (frameQLParser.PACK_KEYS - 370)) | (1 << (frameQLParser.PAGE - 370)))) != 0) or ((((_la - 434)) & ~0x3f) == 0 and ((1 << (_la - 434)) & ((1 << (frameQLParser.PARSER - 434)) | (1 << (frameQLParser.PARTIAL - 434)) | (1 << (frameQLParser.PARTITIONING - 434)) | (1 << (frameQLParser.PARTITIONS - 434)) | (1 << (frameQLParser.PASSWORD - 434)) | (1 << (frameQLParser.PHASE - 434)) | (1 << (frameQLParser.PLUGIN_DIR - 434)) | (1 << (frameQLParser.PLUGINS - 434)) | (1 << (frameQLParser.PORT - 434)) | (1 << (frameQLParser.PRECEDES - 434)) | (1 << (frameQLParser.PREPARE - 434)) | (1 << (frameQLParser.PRESERVE - 434)) | (1 << (frameQLParser.PREV - 434)) | (1 << (frameQLParser.PROCESSLIST - 434)) | (1 << (frameQLParser.PROFILE - 434)) | (1 << (frameQLParser.PROFILES - 434)) | (1 << (frameQLParser.PROXY - 434)) | (1 << (frameQLParser.QUERY - 434)) | (1 << (frameQLParser.QUICK - 434)) | (1 << (frameQLParser.REBUILD - 434)) | (1 << (frameQLParser.RECOVER - 434)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 434)) | (1 << (frameQLParser.REDUNDANT - 434)) | (1 << (frameQLParser.RELAY_LOG_FILE - 434)) | (1 << (frameQLParser.RELAY_LOG_POS - 434)) | (1 << (frameQLParser.RELAYLOG - 434)) | (1 << (frameQLParser.REMOVE - 434)) | (1 << (frameQLParser.REORGANIZE - 434)) | (1 << (frameQLParser.REPAIR - 434)) | (1 << (frameQLParser.REPLICATE_DO_DB - 434)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 434)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATION - 434)) | (1 << (frameQLParser.RESET - 434)) | (1 << (frameQLParser.RESUME - 434)) | (1 << (frameQLParser.RETURNS - 434)) | (1 << (frameQLParser.ROLLBACK - 434)) | (1 << (frameQLParser.ROLLUP - 434)) | (1 << (frameQLParser.ROTATE - 434)) | (1 << (frameQLParser.ROW - 434)) | (1 << (frameQLParser.ROWS - 434)) | (1 << (frameQLParser.ROW_FORMAT - 434)) | (1 << (frameQLParser.SAVEPOINT - 434)) | (1 << (frameQLParser.SCHEDULE - 434)) | (1 << (frameQLParser.SECURITY - 434)) | (1 << (frameQLParser.SERVER - 434)) | (1 << (frameQLParser.SESSION - 434)) | (1 << (frameQLParser.SHARE - 434)) | (1 << (frameQLParser.SHARED - 434)) | (1 << (frameQLParser.SIGNED - 434)) | (1 << (frameQLParser.SIMPLE - 434)) | (1 << (frameQLParser.SLAVE - 434)) | (1 << (frameQLParser.SNAPSHOT - 434)) | (1 << (frameQLParser.SOCKET - 434)) | (1 << (frameQLParser.SOME - 434)) | (1 << (frameQLParser.SOUNDS - 434)))) != 0) or ((((_la - 498)) & ~0x3f) == 0 and ((1 << (_la - 498)) & ((1 << (frameQLParser.SOURCE - 498)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 498)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 498)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 498)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 498)) | (1 << (frameQLParser.SQL_CACHE - 498)) | (1 << (frameQLParser.SQL_NO_CACHE - 498)) | (1 << (frameQLParser.SQL_THREAD - 498)) | (1 << (frameQLParser.START - 498)) | (1 << (frameQLParser.STARTS - 498)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 498)) | (1 << (frameQLParser.STATS_PERSISTENT - 498)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 498)) | (1 << (frameQLParser.STATUS - 498)) | (1 << (frameQLParser.STOP - 498)) | (1 << (frameQLParser.STORAGE - 498)) | (1 << (frameQLParser.STRING - 498)) | (1 << (frameQLParser.SUBJECT - 498)) | (1 << (frameQLParser.SUBPARTITION - 498)) | (1 << (frameQLParser.SUBPARTITIONS - 498)) | (1 << (frameQLParser.SUSPEND - 498)) | (1 << (frameQLParser.SWAPS - 498)) | (1 << (frameQLParser.SWITCHES - 498)) | (1 << (frameQLParser.TABLESPACE - 498)) | (1 << (frameQLParser.TEMPORARY - 498)) | (1 << (frameQLParser.TEMPTABLE - 498)) | (1 << (frameQLParser.THAN - 498)) | (1 << (frameQLParser.TRANSACTION - 498)) | (1 << (frameQLParser.TRUNCATE - 498)) | (1 << (frameQLParser.UNDEFINED - 498)) | (1 << (frameQLParser.UNDOFILE - 498)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 498)) | (1 << (frameQLParser.UNINSTALL - 498)) | (1 << (frameQLParser.UNKNOWN - 498)) | (1 << (frameQLParser.UPGRADE - 498)) | (1 << (frameQLParser.USER - 498)) | (1 << (frameQLParser.VALIDATION - 498)) | (1 << (frameQLParser.VALUE - 498)) | (1 << (frameQLParser.VARIABLES - 498)) | (1 << (frameQLParser.VIEW - 498)) | (1 << (frameQLParser.WAIT - 498)) | (1 << (frameQLParser.WARNINGS - 498)) | (1 << (frameQLParser.WITHOUT - 498)) | (1 << (frameQLParser.WORK - 498)) | (1 << (frameQLParser.WRAPPER - 498)) | (1 << (frameQLParser.X509 - 498)) | (1 << (frameQLParser.XA - 498)) | (1 << (frameQLParser.XML - 498)) | (1 << (frameQLParser.QUARTER - 498)) | (1 << (frameQLParser.MONTH - 498)) | (1 << (frameQLParser.DAY - 498)) | (1 << (frameQLParser.HOUR - 498)))) != 0) or ((((_la - 562)) & ~0x3f) == 0 and ((1 << (_la - 562)) & ((1 << (frameQLParser.MINUTE - 562)) | (1 << (frameQLParser.WEEK - 562)) | (1 << (frameQLParser.SECOND - 562)) | (1 << (frameQLParser.MICROSECOND - 562)) | (1 << (frameQLParser.TABLES - 562)) | (1 << (frameQLParser.ROUTINE - 562)) | (1 << (frameQLParser.EXECUTE - 562)) | (1 << (frameQLParser.FILE - 562)) | (1 << (frameQLParser.PROCESS - 562)) | (1 << (frameQLParser.RELOAD - 562)) | (1 << (frameQLParser.SHUTDOWN - 562)) | (1 << (frameQLParser.SUPER - 562)) | (1 << (frameQLParser.PRIVILEGES - 562)) | (1 << (frameQLParser.ARMSCII8 - 562)) | (1 << (frameQLParser.ASCII - 562)) | (1 << (frameQLParser.BIG5 - 562)) | (1 << (frameQLParser.CP1250 - 562)) | (1 << (frameQLParser.CP1251 - 562)) | (1 << (frameQLParser.CP1256 - 562)) | (1 << (frameQLParser.CP1257 - 562)) | (1 << (frameQLParser.CP850 - 562)) | (1 << (frameQLParser.CP852 - 562)) | (1 << (frameQLParser.CP866 - 562)) | (1 << (frameQLParser.CP932 - 562)) | (1 << (frameQLParser.DEC8 - 562)) | (1 << (frameQLParser.EUCJPMS - 562)) | (1 << (frameQLParser.EUCKR - 562)) | (1 << (frameQLParser.GB2312 - 562)) | (1 << (frameQLParser.GBK - 562)) | (1 << (frameQLParser.GEOSTD8 - 562)) | (1 << (frameQLParser.GREEK - 562)) | (1 << (frameQLParser.HEBREW - 562)) | (1 << (frameQLParser.HP8 - 562)) | (1 << (frameQLParser.KEYBCS2 - 562)) | (1 << (frameQLParser.KOI8R - 562)) | (1 << (frameQLParser.KOI8U - 562)) | (1 << (frameQLParser.LATIN1 - 562)) | (1 << (frameQLParser.LATIN2 - 562)) | (1 << (frameQLParser.LATIN5 - 562)) | (1 << (frameQLParser.LATIN7 - 562)) | (1 << (frameQLParser.MACCE - 562)) | (1 << (frameQLParser.MACROMAN - 562)) | (1 << (frameQLParser.SJIS - 562)) | (1 << (frameQLParser.SWE7 - 562)) | (1 << (frameQLParser.TIS620 - 562)) | (1 << (frameQLParser.UCS2 - 562)) | (1 << (frameQLParser.UJIS - 562)) | (1 << (frameQLParser.UTF16 - 562)) | (1 << (frameQLParser.UTF16LE - 562)) | (1 << (frameQLParser.UTF32 - 562)) | (1 << (frameQLParser.UTF8 - 562)) | (1 << (frameQLParser.UTF8MB3 - 562)) | (1 << (frameQLParser.UTF8MB4 - 562)) | (1 << (frameQLParser.ARCHIVE - 562)) | (1 << (frameQLParser.BLACKHOLE - 562)) | (1 << (frameQLParser.CSV - 562)) | (1 << (frameQLParser.FEDERATED - 562)) | (1 << (frameQLParser.INNODB - 562)) | (1 << (frameQLParser.MEMORY - 562)) | (1 << (frameQLParser.MRG_MYISAM - 562)) | (1 << (frameQLParser.MYISAM - 562)) | (1 << (frameQLParser.NDB - 562)) | (1 << (frameQLParser.NDBCLUSTER - 562)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 562)))) != 0) or ((((_la - 626)) & ~0x3f) == 0 and ((1 << (_la - 626)) & ((1 << (frameQLParser.REPEATABLE - 626)) | (1 << (frameQLParser.COMMITTED - 626)) | (1 << (frameQLParser.UNCOMMITTED - 626)) | (1 << (frameQLParser.SERIALIZABLE - 626)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 626)) | (1 << (frameQLParser.LINESTRING - 626)) | (1 << (frameQLParser.MULTILINESTRING - 626)) | (1 << (frameQLParser.MULTIPOINT - 626)) | (1 << (frameQLParser.MULTIPOLYGON - 626)) | (1 << (frameQLParser.POINT - 626)) | (1 << (frameQLParser.POLYGON - 626)) | (1 << (frameQLParser.ABS - 626)) | (1 << (frameQLParser.ACOS - 626)) | (1 << (frameQLParser.ADDDATE - 626)) | (1 << (frameQLParser.ADDTIME - 626)) | (1 << (frameQLParser.AES_DECRYPT - 626)) | (1 << (frameQLParser.AES_ENCRYPT - 626)) | (1 << (frameQLParser.AREA - 626)) | (1 << (frameQLParser.ASBINARY - 626)) | (1 << (frameQLParser.ASIN - 626)) | (1 << (frameQLParser.ASTEXT - 626)) | (1 << (frameQLParser.ASWKB - 626)) | (1 << (frameQLParser.ASWKT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 626)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 626)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 626)) | (1 << (frameQLParser.ATAN - 626)) | (1 << (frameQLParser.ATAN2 - 626)) | (1 << (frameQLParser.BENCHMARK - 626)) | (1 << (frameQLParser.BIN - 626)) | (1 << (frameQLParser.BIT_COUNT - 626)) | (1 << (frameQLParser.BIT_LENGTH - 626)) | (1 << (frameQLParser.BUFFER - 626)) | (1 << (frameQLParser.CEIL - 626)) | (1 << (frameQLParser.CEILING - 626)) | (1 << (frameQLParser.CENTROID - 626)) | (1 << (frameQLParser.CHARACTER_LENGTH - 626)) | (1 << (frameQLParser.CHARSET - 626)) | (1 << (frameQLParser.CHAR_LENGTH - 626)) | (1 << (frameQLParser.COERCIBILITY - 626)) | (1 << (frameQLParser.COLLATION - 626)) | (1 << (frameQLParser.COMPRESS - 626)) | (1 << (frameQLParser.CONCAT - 626)) | (1 << (frameQLParser.CONCAT_WS - 626)) | (1 << (frameQLParser.CONNECTION_ID - 626)) | (1 << (frameQLParser.CONV - 626)) | (1 << (frameQLParser.CONVERT_TZ - 626)) | (1 << (frameQLParser.COS - 626)) | (1 << (frameQLParser.COT - 626)) | (1 << (frameQLParser.CRC32 - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 626)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 626)) | (1 << (frameQLParser.CREATE_DIGEST - 626)) | (1 << (frameQLParser.CROSSES - 626)) | (1 << (frameQLParser.DATEDIFF - 626)) | (1 << (frameQLParser.DATE_FORMAT - 626)) | (1 << (frameQLParser.DAYNAME - 626)) | (1 << (frameQLParser.DAYOFMONTH - 626)) | (1 << (frameQLParser.DAYOFWEEK - 626)) | (1 << (frameQLParser.DAYOFYEAR - 626)) | (1 << (frameQLParser.DECODE - 626)))) != 0) or ((((_la - 690)) & ~0x3f) == 0 and ((1 << (_la - 690)) & ((1 << (frameQLParser.DEGREES - 690)) | (1 << (frameQLParser.DES_DECRYPT - 690)) | (1 << (frameQLParser.DES_ENCRYPT - 690)) | (1 << (frameQLParser.DIMENSION - 690)) | (1 << (frameQLParser.DISJOINT - 690)) | (1 << (frameQLParser.ELT - 690)) | (1 << (frameQLParser.ENCODE - 690)) | (1 << (frameQLParser.ENCRYPT - 690)) | (1 << (frameQLParser.ENDPOINT - 690)) | (1 << (frameQLParser.ENVELOPE - 690)) | (1 << (frameQLParser.EQUALS - 690)) | (1 << (frameQLParser.EXP - 690)) | (1 << (frameQLParser.EXPORT_SET - 690)) | (1 << (frameQLParser.EXTERIORRING - 690)) | (1 << (frameQLParser.EXTRACTVALUE - 690)) | (1 << (frameQLParser.FIELD - 690)) | (1 << (frameQLParser.FIND_IN_SET - 690)) | (1 << (frameQLParser.FLOOR - 690)) | (1 << (frameQLParser.FORMAT - 690)) | (1 << (frameQLParser.FOUND_ROWS - 690)) | (1 << (frameQLParser.FROM_BASE64 - 690)) | (1 << (frameQLParser.FROM_DAYS - 690)) | (1 << (frameQLParser.FROM_UNIXTIME - 690)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 690)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYN - 690)) | (1 << (frameQLParser.GEOMETRYTYPE - 690)) | (1 << (frameQLParser.GEOMFROMTEXT - 690)) | (1 << (frameQLParser.GEOMFROMWKB - 690)) | (1 << (frameQLParser.GET_FORMAT - 690)) | (1 << (frameQLParser.GET_LOCK - 690)) | (1 << (frameQLParser.GLENGTH - 690)) | (1 << (frameQLParser.GREATEST - 690)) | (1 << (frameQLParser.GTID_SUBSET - 690)) | (1 << (frameQLParser.GTID_SUBTRACT - 690)) | (1 << (frameQLParser.HEX - 690)) | (1 << (frameQLParser.IFNULL - 690)) | (1 << (frameQLParser.INET6_ATON - 690)) | (1 << (frameQLParser.INET6_NTOA - 690)) | (1 << (frameQLParser.INET_ATON - 690)) | (1 << (frameQLParser.INET_NTOA - 690)) | (1 << (frameQLParser.INSTR - 690)) | (1 << (frameQLParser.INTERIORRINGN - 690)) | (1 << (frameQLParser.INTERSECTS - 690)) | (1 << (frameQLParser.ISCLOSED - 690)) | (1 << (frameQLParser.ISEMPTY - 690)) | (1 << (frameQLParser.ISNULL - 690)) | (1 << (frameQLParser.ISSIMPLE - 690)) | (1 << (frameQLParser.IS_FREE_LOCK - 690)) | (1 << (frameQLParser.IS_IPV4 - 690)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 690)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 690)) | (1 << (frameQLParser.IS_IPV6 - 690)) | (1 << (frameQLParser.IS_USED_LOCK - 690)) | (1 << (frameQLParser.LAST_INSERT_ID - 690)) | (1 << (frameQLParser.LCASE - 690)) | (1 << (frameQLParser.LEAST - 690)) | (1 << (frameQLParser.LENGTH - 690)) | (1 << (frameQLParser.LINEFROMTEXT - 690)) | (1 << (frameQLParser.LINEFROMWKB - 690)))) != 0) or ((((_la - 754)) & ~0x3f) == 0 and ((1 << (_la - 754)) & ((1 << (frameQLParser.LINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.LN - 754)) | (1 << (frameQLParser.LOAD_FILE - 754)) | (1 << (frameQLParser.LOCATE - 754)) | (1 << (frameQLParser.LOG - 754)) | (1 << (frameQLParser.LOG10 - 754)) | (1 << (frameQLParser.LOG2 - 754)) | (1 << (frameQLParser.LOWER - 754)) | (1 << (frameQLParser.LPAD - 754)) | (1 << (frameQLParser.LTRIM - 754)) | (1 << (frameQLParser.MAKEDATE - 754)) | (1 << (frameQLParser.MAKETIME - 754)) | (1 << (frameQLParser.MAKE_SET - 754)) | (1 << (frameQLParser.MASTER_POS_WAIT - 754)) | (1 << (frameQLParser.MBRCONTAINS - 754)) | (1 << (frameQLParser.MBRDISJOINT - 754)) | (1 << (frameQLParser.MBREQUAL - 754)) | (1 << (frameQLParser.MBRINTERSECTS - 754)) | (1 << (frameQLParser.MBROVERLAPS - 754)) | (1 << (frameQLParser.MBRTOUCHES - 754)) | (1 << (frameQLParser.MBRWITHIN - 754)) | (1 << (frameQLParser.MD5 - 754)) | (1 << (frameQLParser.MLINEFROMTEXT - 754)) | (1 << (frameQLParser.MLINEFROMWKB - 754)) | (1 << (frameQLParser.MONTHNAME - 754)) | (1 << (frameQLParser.MPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MPOINTFROMWKB - 754)) | (1 << (frameQLParser.MPOLYFROMTEXT - 754)) | (1 << (frameQLParser.MPOLYFROMWKB - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 754)) | (1 << (frameQLParser.NAME_CONST - 754)) | (1 << (frameQLParser.NULLIF - 754)) | (1 << (frameQLParser.NUMGEOMETRIES - 754)) | (1 << (frameQLParser.NUMINTERIORRINGS - 754)) | (1 << (frameQLParser.NUMPOINTS - 754)) | (1 << (frameQLParser.OCT - 754)) | (1 << (frameQLParser.OCTET_LENGTH - 754)) | (1 << (frameQLParser.ORD - 754)) | (1 << (frameQLParser.OVERLAPS - 754)) | (1 << (frameQLParser.PERIOD_ADD - 754)) | (1 << (frameQLParser.PERIOD_DIFF - 754)) | (1 << (frameQLParser.PI - 754)) | (1 << (frameQLParser.POINTFROMTEXT - 754)) | (1 << (frameQLParser.POINTFROMWKB - 754)) | (1 << (frameQLParser.POINTN - 754)) | (1 << (frameQLParser.POLYFROMTEXT - 754)) | (1 << (frameQLParser.POLYFROMWKB - 754)) | (1 << (frameQLParser.POLYGONFROMTEXT - 754)) | (1 << (frameQLParser.POLYGONFROMWKB - 754)) | (1 << (frameQLParser.POW - 754)) | (1 << (frameQLParser.POWER - 754)) | (1 << (frameQLParser.QUOTE - 754)) | (1 << (frameQLParser.RADIANS - 754)) | (1 << (frameQLParser.RAND - 754)) | (1 << (frameQLParser.RANDOM_BYTES - 754)) | (1 << (frameQLParser.RELEASE_LOCK - 754)) | (1 << (frameQLParser.REVERSE - 754)) | (1 << (frameQLParser.ROUND - 754)))) != 0) or ((((_la - 818)) & ~0x3f) == 0 and ((1 << (_la - 818)) & ((1 << (frameQLParser.ROW_COUNT - 818)) | (1 << (frameQLParser.RPAD - 818)) | (1 << (frameQLParser.RTRIM - 818)) | (1 << (frameQLParser.SEC_TO_TIME - 818)) | (1 << (frameQLParser.SESSION_USER - 818)) | (1 << (frameQLParser.SHA - 818)) | (1 << (frameQLParser.SHA1 - 818)) | (1 << (frameQLParser.SHA2 - 818)) | (1 << (frameQLParser.SIGN - 818)) | (1 << (frameQLParser.SIN - 818)) | (1 << (frameQLParser.SLEEP - 818)) | (1 << (frameQLParser.SOUNDEX - 818)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 818)) | (1 << (frameQLParser.SQRT - 818)) | (1 << (frameQLParser.SRID - 818)) | (1 << (frameQLParser.STARTPOINT - 818)) | (1 << (frameQLParser.STRCMP - 818)) | (1 << (frameQLParser.STR_TO_DATE - 818)) | (1 << (frameQLParser.ST_AREA - 818)) | (1 << (frameQLParser.ST_ASBINARY - 818)) | (1 << (frameQLParser.ST_ASTEXT - 818)) | (1 << (frameQLParser.ST_ASWKB - 818)) | (1 << (frameQLParser.ST_ASWKT - 818)) | (1 << (frameQLParser.ST_BUFFER - 818)) | (1 << (frameQLParser.ST_CENTROID - 818)) | (1 << (frameQLParser.ST_CONTAINS - 818)) | (1 << (frameQLParser.ST_CROSSES - 818)) | (1 << (frameQLParser.ST_DIFFERENCE - 818)) | (1 << (frameQLParser.ST_DIMENSION - 818)) | (1 << (frameQLParser.ST_DISJOINT - 818)) | (1 << (frameQLParser.ST_DISTANCE - 818)) | (1 << (frameQLParser.ST_ENDPOINT - 818)) | (1 << (frameQLParser.ST_ENVELOPE - 818)) | (1 << (frameQLParser.ST_EQUALS - 818)) | (1 << (frameQLParser.ST_EXTERIORRING - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYN - 818)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 818)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 818)) | (1 << (frameQLParser.ST_INTERIORRINGN - 818)) | (1 << (frameQLParser.ST_INTERSECTION - 818)) | (1 << (frameQLParser.ST_INTERSECTS - 818)) | (1 << (frameQLParser.ST_ISCLOSED - 818)) | (1 << (frameQLParser.ST_ISEMPTY - 818)) | (1 << (frameQLParser.ST_ISSIMPLE - 818)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINEFROMWKB - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 818)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 818)) | (1 << (frameQLParser.ST_NUMPOINTS - 818)) | (1 << (frameQLParser.ST_OVERLAPS - 818)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 818)) | (1 << (frameQLParser.ST_POINTFROMWKB - 818)) | (1 << (frameQLParser.ST_POINTN - 818)))) != 0) or ((((_la - 882)) & ~0x3f) == 0 and ((1 << (_la - 882)) & ((1 << (frameQLParser.ST_POLYFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYFROMWKB - 882)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 882)) | (1 << (frameQLParser.ST_SRID - 882)) | (1 << (frameQLParser.ST_STARTPOINT - 882)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 882)) | (1 << (frameQLParser.ST_TOUCHES - 882)) | (1 << (frameQLParser.ST_UNION - 882)) | (1 << (frameQLParser.ST_WITHIN - 882)) | (1 << (frameQLParser.ST_X - 882)) | (1 << (frameQLParser.ST_Y - 882)) | (1 << (frameQLParser.SUBDATE - 882)) | (1 << (frameQLParser.SUBSTRING_INDEX - 882)) | (1 << (frameQLParser.SUBTIME - 882)) | (1 << (frameQLParser.SYSTEM_USER - 882)) | (1 << (frameQLParser.TAN - 882)) | (1 << (frameQLParser.TIMEDIFF - 882)) | (1 << (frameQLParser.TIMESTAMPADD - 882)) | (1 << (frameQLParser.TIMESTAMPDIFF - 882)) | (1 << (frameQLParser.TIME_FORMAT - 882)) | (1 << (frameQLParser.TIME_TO_SEC - 882)) | (1 << (frameQLParser.TOUCHES - 882)) | (1 << (frameQLParser.TO_BASE64 - 882)) | (1 << (frameQLParser.TO_DAYS - 882)) | (1 << (frameQLParser.TO_SECONDS - 882)) | (1 << (frameQLParser.UCASE - 882)) | (1 << (frameQLParser.UNCOMPRESS - 882)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 882)) | (1 << (frameQLParser.UNHEX - 882)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 882)) | (1 << (frameQLParser.UPDATEXML - 882)) | (1 << (frameQLParser.UPPER - 882)) | (1 << (frameQLParser.UUID - 882)) | (1 << (frameQLParser.UUID_SHORT - 882)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 882)) | (1 << (frameQLParser.VERSION - 882)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 882)) | (1 << (frameQLParser.WEEKDAY - 882)) | (1 << (frameQLParser.WEEKOFYEAR - 882)) | (1 << (frameQLParser.WEIGHT_STRING - 882)) | (1 << (frameQLParser.WITHIN - 882)) | (1 << (frameQLParser.YEARWEEK - 882)) | (1 << (frameQLParser.Y_FUNCTION - 882)) | (1 << (frameQLParser.X_FUNCTION - 882)))) != 0) or ((((_la - 953)) & ~0x3f) == 0 and ((1 << (_la - 953)) & ((1 << (frameQLParser.LR_BRACKET - 953)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 953)) | (1 << (frameQLParser.STRING_LITERAL - 953)) | (1 << (frameQLParser.ID - 953)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 953)))) != 0): - self.state = 4038 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,574,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 4033 - self.declareVariable() - self.state = 4034 - self.match(frameQLParser.SEMI) - self.state = 4040 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,574,self._ctx) - - self.state = 4046 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,575,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 4041 - self.declareCondition() - self.state = 4042 - self.match(frameQLParser.SEMI) - self.state = 4048 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,575,self._ctx) - - self.state = 4054 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,576,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 4049 - self.declareCursor() - self.state = 4050 - self.match(frameQLParser.SEMI) - self.state = 4056 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,576,self._ctx) - - self.state = 4062 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.DECLARE: - self.state = 4057 - self.declareHandler() - self.state = 4058 - self.match(frameQLParser.SEMI) - self.state = 4064 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 4066 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4065 - self.procedureSqlStatement() - self.state = 4068 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 9)) & ~0x3f) == 0 and ((1 << (_la - 9)) & ((1 << (frameQLParser.ALTER - 9)) | (1 << (frameQLParser.ANALYZE - 9)) | (1 << (frameQLParser.CALL - 9)) | (1 << (frameQLParser.CASE - 9)) | (1 << (frameQLParser.CHANGE - 9)) | (1 << (frameQLParser.CHECK - 9)) | (1 << (frameQLParser.CREATE - 9)) | (1 << (frameQLParser.DATABASE - 9)) | (1 << (frameQLParser.DELETE - 9)) | (1 << (frameQLParser.DESC - 9)) | (1 << (frameQLParser.DESCRIBE - 9)) | (1 << (frameQLParser.DROP - 9)) | (1 << (frameQLParser.EXPLAIN - 9)) | (1 << (frameQLParser.FETCH - 9)) | (1 << (frameQLParser.GRANT - 9)) | (1 << (frameQLParser.IF - 9)))) != 0) or ((((_la - 75)) & ~0x3f) == 0 and ((1 << (_la - 75)) & ((1 << (frameQLParser.INSERT - 75)) | (1 << (frameQLParser.ITERATE - 75)) | (1 << (frameQLParser.KILL - 75)) | (1 << (frameQLParser.LEAVE - 75)) | (1 << (frameQLParser.LEFT - 75)) | (1 << (frameQLParser.LOAD - 75)) | (1 << (frameQLParser.LOCK - 75)) | (1 << (frameQLParser.LOOP - 75)) | (1 << (frameQLParser.OPTIMIZE - 75)) | (1 << (frameQLParser.PURGE - 75)) | (1 << (frameQLParser.RELEASE - 75)) | (1 << (frameQLParser.RENAME - 75)) | (1 << (frameQLParser.REPEAT - 75)) | (1 << (frameQLParser.REPLACE - 75)) | (1 << (frameQLParser.RETURN - 75)) | (1 << (frameQLParser.REVOKE - 75)) | (1 << (frameQLParser.RIGHT - 75)) | (1 << (frameQLParser.SELECT - 75)) | (1 << (frameQLParser.SET - 75)) | (1 << (frameQLParser.SHOW - 75)))) != 0) or ((((_la - 159)) & ~0x3f) == 0 and ((1 << (_la - 159)) & ((1 << (frameQLParser.UNLOCK - 159)) | (1 << (frameQLParser.UPDATE - 159)) | (1 << (frameQLParser.USE - 159)) | (1 << (frameQLParser.WHILE - 159)) | (1 << (frameQLParser.DATE - 159)) | (1 << (frameQLParser.TIME - 159)) | (1 << (frameQLParser.TIMESTAMP - 159)) | (1 << (frameQLParser.DATETIME - 159)) | (1 << (frameQLParser.YEAR - 159)) | (1 << (frameQLParser.TEXT - 159)) | (1 << (frameQLParser.ENUM - 159)) | (1 << (frameQLParser.SERIAL - 159)) | (1 << (frameQLParser.COUNT - 159)))) != 0) or ((((_la - 242)) & ~0x3f) == 0 and ((1 << (_la - 242)) & ((1 << (frameQLParser.POSITION - 242)) | (1 << (frameQLParser.ACCOUNT - 242)) | (1 << (frameQLParser.ACTION - 242)) | (1 << (frameQLParser.AFTER - 242)) | (1 << (frameQLParser.AGGREGATE - 242)) | (1 << (frameQLParser.ALGORITHM - 242)) | (1 << (frameQLParser.ANY - 242)) | (1 << (frameQLParser.AT - 242)) | (1 << (frameQLParser.AUTHORS - 242)) | (1 << (frameQLParser.AUTOCOMMIT - 242)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 242)) | (1 << (frameQLParser.AUTO_INCREMENT - 242)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 242)) | (1 << (frameQLParser.BEGIN - 242)) | (1 << (frameQLParser.BINLOG - 242)) | (1 << (frameQLParser.BIT - 242)) | (1 << (frameQLParser.BLOCK - 242)) | (1 << (frameQLParser.BOOL - 242)) | (1 << (frameQLParser.BOOLEAN - 242)) | (1 << (frameQLParser.BTREE - 242)) | (1 << (frameQLParser.CACHE - 242)) | (1 << (frameQLParser.CASCADED - 242)) | (1 << (frameQLParser.CHAIN - 242)) | (1 << (frameQLParser.CHANGED - 242)) | (1 << (frameQLParser.CHANNEL - 242)) | (1 << (frameQLParser.CHECKSUM - 242)) | (1 << (frameQLParser.CIPHER - 242)) | (1 << (frameQLParser.CLIENT - 242)) | (1 << (frameQLParser.CLOSE - 242)) | (1 << (frameQLParser.COALESCE - 242)) | (1 << (frameQLParser.CODE - 242)) | (1 << (frameQLParser.COLUMNS - 242)) | (1 << (frameQLParser.COLUMN_FORMAT - 242)) | (1 << (frameQLParser.COMMENT - 242)) | (1 << (frameQLParser.COMMIT - 242)) | (1 << (frameQLParser.COMPACT - 242)) | (1 << (frameQLParser.COMPLETION - 242)) | (1 << (frameQLParser.COMPRESSED - 242)) | (1 << (frameQLParser.COMPRESSION - 242)) | (1 << (frameQLParser.CONCURRENT - 242)) | (1 << (frameQLParser.CONNECTION - 242)) | (1 << (frameQLParser.CONSISTENT - 242)) | (1 << (frameQLParser.CONTAINS - 242)) | (1 << (frameQLParser.CONTEXT - 242)) | (1 << (frameQLParser.CONTRIBUTORS - 242)) | (1 << (frameQLParser.COPY - 242)) | (1 << (frameQLParser.CPU - 242)) | (1 << (frameQLParser.DATA - 242)) | (1 << (frameQLParser.DATAFILE - 242)) | (1 << (frameQLParser.DEALLOCATE - 242)) | (1 << (frameQLParser.DEFAULT_AUTH - 242)) | (1 << (frameQLParser.DEFINER - 242)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 242)) | (1 << (frameQLParser.DIRECTORY - 242)) | (1 << (frameQLParser.DISABLE - 242)) | (1 << (frameQLParser.DISCARD - 242)))) != 0) or ((((_la - 306)) & ~0x3f) == 0 and ((1 << (_la - 306)) & ((1 << (frameQLParser.DISK - 306)) | (1 << (frameQLParser.DO - 306)) | (1 << (frameQLParser.DUMPFILE - 306)) | (1 << (frameQLParser.DUPLICATE - 306)) | (1 << (frameQLParser.DYNAMIC - 306)) | (1 << (frameQLParser.ENABLE - 306)) | (1 << (frameQLParser.ENCRYPTION - 306)) | (1 << (frameQLParser.ENDS - 306)) | (1 << (frameQLParser.ENGINE - 306)) | (1 << (frameQLParser.ENGINES - 306)) | (1 << (frameQLParser.ERROR - 306)) | (1 << (frameQLParser.ERRORS - 306)) | (1 << (frameQLParser.ESCAPE - 306)) | (1 << (frameQLParser.EVEN - 306)) | (1 << (frameQLParser.EVENT - 306)) | (1 << (frameQLParser.EVENTS - 306)) | (1 << (frameQLParser.EVERY - 306)) | (1 << (frameQLParser.EXCHANGE - 306)) | (1 << (frameQLParser.EXCLUSIVE - 306)) | (1 << (frameQLParser.EXPIRE - 306)) | (1 << (frameQLParser.EXTENDED - 306)) | (1 << (frameQLParser.EXTENT_SIZE - 306)) | (1 << (frameQLParser.FAST - 306)) | (1 << (frameQLParser.FAULTS - 306)) | (1 << (frameQLParser.FIELDS - 306)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 306)) | (1 << (frameQLParser.FILTER - 306)) | (1 << (frameQLParser.FIRST - 306)) | (1 << (frameQLParser.FIXED - 306)) | (1 << (frameQLParser.FLUSH - 306)) | (1 << (frameQLParser.FOLLOWS - 306)) | (1 << (frameQLParser.FULL - 306)) | (1 << (frameQLParser.FUNCTION - 306)) | (1 << (frameQLParser.GLOBAL - 306)) | (1 << (frameQLParser.GRANTS - 306)) | (1 << (frameQLParser.GROUP_REPLICATION - 306)) | (1 << (frameQLParser.HANDLER - 306)) | (1 << (frameQLParser.HASH - 306)) | (1 << (frameQLParser.HELP - 306)) | (1 << (frameQLParser.HOST - 306)) | (1 << (frameQLParser.IDENTIFIED - 306)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 306)) | (1 << (frameQLParser.IMPORT - 306)) | (1 << (frameQLParser.INDEXES - 306)) | (1 << (frameQLParser.INITIAL_SIZE - 306)) | (1 << (frameQLParser.INPLACE - 306)) | (1 << (frameQLParser.INSERT_METHOD - 306)) | (1 << (frameQLParser.INSTALL - 306)) | (1 << (frameQLParser.INSTANCE - 306)) | (1 << (frameQLParser.INVOKER - 306)) | (1 << (frameQLParser.IO - 306)) | (1 << (frameQLParser.IO_THREAD - 306)) | (1 << (frameQLParser.IPC - 306)) | (1 << (frameQLParser.ISOLATION - 306)) | (1 << (frameQLParser.ISSUER - 306)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 306)) | (1 << (frameQLParser.LANGUAGE - 306)) | (1 << (frameQLParser.LAST - 306)))) != 0) or ((((_la - 370)) & ~0x3f) == 0 and ((1 << (_la - 370)) & ((1 << (frameQLParser.LEAVES - 370)) | (1 << (frameQLParser.LESS - 370)) | (1 << (frameQLParser.LEVEL - 370)) | (1 << (frameQLParser.LIST - 370)) | (1 << (frameQLParser.LOCAL - 370)) | (1 << (frameQLParser.LOGFILE - 370)) | (1 << (frameQLParser.LOGS - 370)) | (1 << (frameQLParser.MASTER - 370)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 370)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 370)) | (1 << (frameQLParser.MASTER_DELAY - 370)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 370)) | (1 << (frameQLParser.MASTER_HOST - 370)) | (1 << (frameQLParser.MASTER_LOG_FILE - 370)) | (1 << (frameQLParser.MASTER_LOG_POS - 370)) | (1 << (frameQLParser.MASTER_PASSWORD - 370)) | (1 << (frameQLParser.MASTER_PORT - 370)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 370)) | (1 << (frameQLParser.MASTER_SSL - 370)) | (1 << (frameQLParser.MASTER_SSL_CA - 370)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_CERT - 370)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 370)) | (1 << (frameQLParser.MASTER_SSL_CRL - 370)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_KEY - 370)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 370)) | (1 << (frameQLParser.MASTER_USER - 370)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_ROWS - 370)) | (1 << (frameQLParser.MAX_SIZE - 370)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 370)) | (1 << (frameQLParser.MEDIUM - 370)) | (1 << (frameQLParser.MERGE - 370)) | (1 << (frameQLParser.MID - 370)) | (1 << (frameQLParser.MIGRATE - 370)) | (1 << (frameQLParser.MIN_ROWS - 370)) | (1 << (frameQLParser.MODIFY - 370)) | (1 << (frameQLParser.MUTEX - 370)) | (1 << (frameQLParser.MYSQL - 370)) | (1 << (frameQLParser.NAME - 370)) | (1 << (frameQLParser.NAMES - 370)) | (1 << (frameQLParser.NCHAR - 370)) | (1 << (frameQLParser.NEVER - 370)) | (1 << (frameQLParser.NO - 370)) | (1 << (frameQLParser.NODEGROUP - 370)) | (1 << (frameQLParser.NONE - 370)) | (1 << (frameQLParser.OFFLINE - 370)) | (1 << (frameQLParser.OFFSET - 370)) | (1 << (frameQLParser.OJ - 370)) | (1 << (frameQLParser.OLD_PASSWORD - 370)) | (1 << (frameQLParser.ONE - 370)) | (1 << (frameQLParser.ONLINE - 370)) | (1 << (frameQLParser.ONLY - 370)) | (1 << (frameQLParser.OPEN - 370)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 370)) | (1 << (frameQLParser.OPTIONS - 370)) | (1 << (frameQLParser.OWNER - 370)) | (1 << (frameQLParser.PACK_KEYS - 370)) | (1 << (frameQLParser.PAGE - 370)))) != 0) or ((((_la - 434)) & ~0x3f) == 0 and ((1 << (_la - 434)) & ((1 << (frameQLParser.PARSER - 434)) | (1 << (frameQLParser.PARTIAL - 434)) | (1 << (frameQLParser.PARTITIONING - 434)) | (1 << (frameQLParser.PARTITIONS - 434)) | (1 << (frameQLParser.PASSWORD - 434)) | (1 << (frameQLParser.PHASE - 434)) | (1 << (frameQLParser.PLUGIN_DIR - 434)) | (1 << (frameQLParser.PLUGINS - 434)) | (1 << (frameQLParser.PORT - 434)) | (1 << (frameQLParser.PRECEDES - 434)) | (1 << (frameQLParser.PREPARE - 434)) | (1 << (frameQLParser.PRESERVE - 434)) | (1 << (frameQLParser.PREV - 434)) | (1 << (frameQLParser.PROCESSLIST - 434)) | (1 << (frameQLParser.PROFILE - 434)) | (1 << (frameQLParser.PROFILES - 434)) | (1 << (frameQLParser.PROXY - 434)) | (1 << (frameQLParser.QUERY - 434)) | (1 << (frameQLParser.QUICK - 434)) | (1 << (frameQLParser.REBUILD - 434)) | (1 << (frameQLParser.RECOVER - 434)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 434)) | (1 << (frameQLParser.REDUNDANT - 434)) | (1 << (frameQLParser.RELAY_LOG_FILE - 434)) | (1 << (frameQLParser.RELAY_LOG_POS - 434)) | (1 << (frameQLParser.RELAYLOG - 434)) | (1 << (frameQLParser.REMOVE - 434)) | (1 << (frameQLParser.REORGANIZE - 434)) | (1 << (frameQLParser.REPAIR - 434)) | (1 << (frameQLParser.REPLICATE_DO_DB - 434)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 434)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATION - 434)) | (1 << (frameQLParser.RESET - 434)) | (1 << (frameQLParser.RESUME - 434)) | (1 << (frameQLParser.RETURNS - 434)) | (1 << (frameQLParser.ROLLBACK - 434)) | (1 << (frameQLParser.ROLLUP - 434)) | (1 << (frameQLParser.ROTATE - 434)) | (1 << (frameQLParser.ROW - 434)) | (1 << (frameQLParser.ROWS - 434)) | (1 << (frameQLParser.ROW_FORMAT - 434)) | (1 << (frameQLParser.SAVEPOINT - 434)) | (1 << (frameQLParser.SCHEDULE - 434)) | (1 << (frameQLParser.SECURITY - 434)) | (1 << (frameQLParser.SERVER - 434)) | (1 << (frameQLParser.SESSION - 434)) | (1 << (frameQLParser.SHARE - 434)) | (1 << (frameQLParser.SHARED - 434)) | (1 << (frameQLParser.SIGNED - 434)) | (1 << (frameQLParser.SIMPLE - 434)) | (1 << (frameQLParser.SLAVE - 434)) | (1 << (frameQLParser.SNAPSHOT - 434)) | (1 << (frameQLParser.SOCKET - 434)) | (1 << (frameQLParser.SOME - 434)) | (1 << (frameQLParser.SOUNDS - 434)))) != 0) or ((((_la - 498)) & ~0x3f) == 0 and ((1 << (_la - 498)) & ((1 << (frameQLParser.SOURCE - 498)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 498)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 498)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 498)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 498)) | (1 << (frameQLParser.SQL_CACHE - 498)) | (1 << (frameQLParser.SQL_NO_CACHE - 498)) | (1 << (frameQLParser.SQL_THREAD - 498)) | (1 << (frameQLParser.START - 498)) | (1 << (frameQLParser.STARTS - 498)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 498)) | (1 << (frameQLParser.STATS_PERSISTENT - 498)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 498)) | (1 << (frameQLParser.STATUS - 498)) | (1 << (frameQLParser.STOP - 498)) | (1 << (frameQLParser.STORAGE - 498)) | (1 << (frameQLParser.STRING - 498)) | (1 << (frameQLParser.SUBJECT - 498)) | (1 << (frameQLParser.SUBPARTITION - 498)) | (1 << (frameQLParser.SUBPARTITIONS - 498)) | (1 << (frameQLParser.SUSPEND - 498)) | (1 << (frameQLParser.SWAPS - 498)) | (1 << (frameQLParser.SWITCHES - 498)) | (1 << (frameQLParser.TABLESPACE - 498)) | (1 << (frameQLParser.TEMPORARY - 498)) | (1 << (frameQLParser.TEMPTABLE - 498)) | (1 << (frameQLParser.THAN - 498)) | (1 << (frameQLParser.TRANSACTION - 498)) | (1 << (frameQLParser.TRUNCATE - 498)) | (1 << (frameQLParser.UNDEFINED - 498)) | (1 << (frameQLParser.UNDOFILE - 498)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 498)) | (1 << (frameQLParser.UNINSTALL - 498)) | (1 << (frameQLParser.UNKNOWN - 498)) | (1 << (frameQLParser.UPGRADE - 498)) | (1 << (frameQLParser.USER - 498)) | (1 << (frameQLParser.VALIDATION - 498)) | (1 << (frameQLParser.VALUE - 498)) | (1 << (frameQLParser.VARIABLES - 498)) | (1 << (frameQLParser.VIEW - 498)) | (1 << (frameQLParser.WAIT - 498)) | (1 << (frameQLParser.WARNINGS - 498)) | (1 << (frameQLParser.WITHOUT - 498)) | (1 << (frameQLParser.WORK - 498)) | (1 << (frameQLParser.WRAPPER - 498)) | (1 << (frameQLParser.X509 - 498)) | (1 << (frameQLParser.XA - 498)) | (1 << (frameQLParser.XML - 498)) | (1 << (frameQLParser.QUARTER - 498)) | (1 << (frameQLParser.MONTH - 498)) | (1 << (frameQLParser.DAY - 498)) | (1 << (frameQLParser.HOUR - 498)))) != 0) or ((((_la - 562)) & ~0x3f) == 0 and ((1 << (_la - 562)) & ((1 << (frameQLParser.MINUTE - 562)) | (1 << (frameQLParser.WEEK - 562)) | (1 << (frameQLParser.SECOND - 562)) | (1 << (frameQLParser.MICROSECOND - 562)) | (1 << (frameQLParser.TABLES - 562)) | (1 << (frameQLParser.ROUTINE - 562)) | (1 << (frameQLParser.EXECUTE - 562)) | (1 << (frameQLParser.FILE - 562)) | (1 << (frameQLParser.PROCESS - 562)) | (1 << (frameQLParser.RELOAD - 562)) | (1 << (frameQLParser.SHUTDOWN - 562)) | (1 << (frameQLParser.SUPER - 562)) | (1 << (frameQLParser.PRIVILEGES - 562)) | (1 << (frameQLParser.ARMSCII8 - 562)) | (1 << (frameQLParser.ASCII - 562)) | (1 << (frameQLParser.BIG5 - 562)) | (1 << (frameQLParser.CP1250 - 562)) | (1 << (frameQLParser.CP1251 - 562)) | (1 << (frameQLParser.CP1256 - 562)) | (1 << (frameQLParser.CP1257 - 562)) | (1 << (frameQLParser.CP850 - 562)) | (1 << (frameQLParser.CP852 - 562)) | (1 << (frameQLParser.CP866 - 562)) | (1 << (frameQLParser.CP932 - 562)) | (1 << (frameQLParser.DEC8 - 562)) | (1 << (frameQLParser.EUCJPMS - 562)) | (1 << (frameQLParser.EUCKR - 562)) | (1 << (frameQLParser.GB2312 - 562)) | (1 << (frameQLParser.GBK - 562)) | (1 << (frameQLParser.GEOSTD8 - 562)) | (1 << (frameQLParser.GREEK - 562)) | (1 << (frameQLParser.HEBREW - 562)) | (1 << (frameQLParser.HP8 - 562)) | (1 << (frameQLParser.KEYBCS2 - 562)) | (1 << (frameQLParser.KOI8R - 562)) | (1 << (frameQLParser.KOI8U - 562)) | (1 << (frameQLParser.LATIN1 - 562)) | (1 << (frameQLParser.LATIN2 - 562)) | (1 << (frameQLParser.LATIN5 - 562)) | (1 << (frameQLParser.LATIN7 - 562)) | (1 << (frameQLParser.MACCE - 562)) | (1 << (frameQLParser.MACROMAN - 562)) | (1 << (frameQLParser.SJIS - 562)) | (1 << (frameQLParser.SWE7 - 562)) | (1 << (frameQLParser.TIS620 - 562)) | (1 << (frameQLParser.UCS2 - 562)) | (1 << (frameQLParser.UJIS - 562)) | (1 << (frameQLParser.UTF16 - 562)) | (1 << (frameQLParser.UTF16LE - 562)) | (1 << (frameQLParser.UTF32 - 562)) | (1 << (frameQLParser.UTF8 - 562)) | (1 << (frameQLParser.UTF8MB3 - 562)) | (1 << (frameQLParser.UTF8MB4 - 562)) | (1 << (frameQLParser.ARCHIVE - 562)) | (1 << (frameQLParser.BLACKHOLE - 562)) | (1 << (frameQLParser.CSV - 562)) | (1 << (frameQLParser.FEDERATED - 562)) | (1 << (frameQLParser.INNODB - 562)) | (1 << (frameQLParser.MEMORY - 562)) | (1 << (frameQLParser.MRG_MYISAM - 562)) | (1 << (frameQLParser.MYISAM - 562)) | (1 << (frameQLParser.NDB - 562)) | (1 << (frameQLParser.NDBCLUSTER - 562)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 562)))) != 0) or ((((_la - 626)) & ~0x3f) == 0 and ((1 << (_la - 626)) & ((1 << (frameQLParser.REPEATABLE - 626)) | (1 << (frameQLParser.COMMITTED - 626)) | (1 << (frameQLParser.UNCOMMITTED - 626)) | (1 << (frameQLParser.SERIALIZABLE - 626)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 626)) | (1 << (frameQLParser.LINESTRING - 626)) | (1 << (frameQLParser.MULTILINESTRING - 626)) | (1 << (frameQLParser.MULTIPOINT - 626)) | (1 << (frameQLParser.MULTIPOLYGON - 626)) | (1 << (frameQLParser.POINT - 626)) | (1 << (frameQLParser.POLYGON - 626)) | (1 << (frameQLParser.ABS - 626)) | (1 << (frameQLParser.ACOS - 626)) | (1 << (frameQLParser.ADDDATE - 626)) | (1 << (frameQLParser.ADDTIME - 626)) | (1 << (frameQLParser.AES_DECRYPT - 626)) | (1 << (frameQLParser.AES_ENCRYPT - 626)) | (1 << (frameQLParser.AREA - 626)) | (1 << (frameQLParser.ASBINARY - 626)) | (1 << (frameQLParser.ASIN - 626)) | (1 << (frameQLParser.ASTEXT - 626)) | (1 << (frameQLParser.ASWKB - 626)) | (1 << (frameQLParser.ASWKT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 626)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 626)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 626)) | (1 << (frameQLParser.ATAN - 626)) | (1 << (frameQLParser.ATAN2 - 626)) | (1 << (frameQLParser.BENCHMARK - 626)) | (1 << (frameQLParser.BIN - 626)) | (1 << (frameQLParser.BIT_COUNT - 626)) | (1 << (frameQLParser.BIT_LENGTH - 626)) | (1 << (frameQLParser.BUFFER - 626)) | (1 << (frameQLParser.CEIL - 626)) | (1 << (frameQLParser.CEILING - 626)) | (1 << (frameQLParser.CENTROID - 626)) | (1 << (frameQLParser.CHARACTER_LENGTH - 626)) | (1 << (frameQLParser.CHARSET - 626)) | (1 << (frameQLParser.CHAR_LENGTH - 626)) | (1 << (frameQLParser.COERCIBILITY - 626)) | (1 << (frameQLParser.COLLATION - 626)) | (1 << (frameQLParser.COMPRESS - 626)) | (1 << (frameQLParser.CONCAT - 626)) | (1 << (frameQLParser.CONCAT_WS - 626)) | (1 << (frameQLParser.CONNECTION_ID - 626)) | (1 << (frameQLParser.CONV - 626)) | (1 << (frameQLParser.CONVERT_TZ - 626)) | (1 << (frameQLParser.COS - 626)) | (1 << (frameQLParser.COT - 626)) | (1 << (frameQLParser.CRC32 - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 626)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 626)) | (1 << (frameQLParser.CREATE_DIGEST - 626)) | (1 << (frameQLParser.CROSSES - 626)) | (1 << (frameQLParser.DATEDIFF - 626)) | (1 << (frameQLParser.DATE_FORMAT - 626)) | (1 << (frameQLParser.DAYNAME - 626)) | (1 << (frameQLParser.DAYOFMONTH - 626)) | (1 << (frameQLParser.DAYOFWEEK - 626)) | (1 << (frameQLParser.DAYOFYEAR - 626)) | (1 << (frameQLParser.DECODE - 626)))) != 0) or ((((_la - 690)) & ~0x3f) == 0 and ((1 << (_la - 690)) & ((1 << (frameQLParser.DEGREES - 690)) | (1 << (frameQLParser.DES_DECRYPT - 690)) | (1 << (frameQLParser.DES_ENCRYPT - 690)) | (1 << (frameQLParser.DIMENSION - 690)) | (1 << (frameQLParser.DISJOINT - 690)) | (1 << (frameQLParser.ELT - 690)) | (1 << (frameQLParser.ENCODE - 690)) | (1 << (frameQLParser.ENCRYPT - 690)) | (1 << (frameQLParser.ENDPOINT - 690)) | (1 << (frameQLParser.ENVELOPE - 690)) | (1 << (frameQLParser.EQUALS - 690)) | (1 << (frameQLParser.EXP - 690)) | (1 << (frameQLParser.EXPORT_SET - 690)) | (1 << (frameQLParser.EXTERIORRING - 690)) | (1 << (frameQLParser.EXTRACTVALUE - 690)) | (1 << (frameQLParser.FIELD - 690)) | (1 << (frameQLParser.FIND_IN_SET - 690)) | (1 << (frameQLParser.FLOOR - 690)) | (1 << (frameQLParser.FORMAT - 690)) | (1 << (frameQLParser.FOUND_ROWS - 690)) | (1 << (frameQLParser.FROM_BASE64 - 690)) | (1 << (frameQLParser.FROM_DAYS - 690)) | (1 << (frameQLParser.FROM_UNIXTIME - 690)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 690)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYN - 690)) | (1 << (frameQLParser.GEOMETRYTYPE - 690)) | (1 << (frameQLParser.GEOMFROMTEXT - 690)) | (1 << (frameQLParser.GEOMFROMWKB - 690)) | (1 << (frameQLParser.GET_FORMAT - 690)) | (1 << (frameQLParser.GET_LOCK - 690)) | (1 << (frameQLParser.GLENGTH - 690)) | (1 << (frameQLParser.GREATEST - 690)) | (1 << (frameQLParser.GTID_SUBSET - 690)) | (1 << (frameQLParser.GTID_SUBTRACT - 690)) | (1 << (frameQLParser.HEX - 690)) | (1 << (frameQLParser.IFNULL - 690)) | (1 << (frameQLParser.INET6_ATON - 690)) | (1 << (frameQLParser.INET6_NTOA - 690)) | (1 << (frameQLParser.INET_ATON - 690)) | (1 << (frameQLParser.INET_NTOA - 690)) | (1 << (frameQLParser.INSTR - 690)) | (1 << (frameQLParser.INTERIORRINGN - 690)) | (1 << (frameQLParser.INTERSECTS - 690)) | (1 << (frameQLParser.ISCLOSED - 690)) | (1 << (frameQLParser.ISEMPTY - 690)) | (1 << (frameQLParser.ISNULL - 690)) | (1 << (frameQLParser.ISSIMPLE - 690)) | (1 << (frameQLParser.IS_FREE_LOCK - 690)) | (1 << (frameQLParser.IS_IPV4 - 690)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 690)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 690)) | (1 << (frameQLParser.IS_IPV6 - 690)) | (1 << (frameQLParser.IS_USED_LOCK - 690)) | (1 << (frameQLParser.LAST_INSERT_ID - 690)) | (1 << (frameQLParser.LCASE - 690)) | (1 << (frameQLParser.LEAST - 690)) | (1 << (frameQLParser.LENGTH - 690)) | (1 << (frameQLParser.LINEFROMTEXT - 690)) | (1 << (frameQLParser.LINEFROMWKB - 690)))) != 0) or ((((_la - 754)) & ~0x3f) == 0 and ((1 << (_la - 754)) & ((1 << (frameQLParser.LINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.LN - 754)) | (1 << (frameQLParser.LOAD_FILE - 754)) | (1 << (frameQLParser.LOCATE - 754)) | (1 << (frameQLParser.LOG - 754)) | (1 << (frameQLParser.LOG10 - 754)) | (1 << (frameQLParser.LOG2 - 754)) | (1 << (frameQLParser.LOWER - 754)) | (1 << (frameQLParser.LPAD - 754)) | (1 << (frameQLParser.LTRIM - 754)) | (1 << (frameQLParser.MAKEDATE - 754)) | (1 << (frameQLParser.MAKETIME - 754)) | (1 << (frameQLParser.MAKE_SET - 754)) | (1 << (frameQLParser.MASTER_POS_WAIT - 754)) | (1 << (frameQLParser.MBRCONTAINS - 754)) | (1 << (frameQLParser.MBRDISJOINT - 754)) | (1 << (frameQLParser.MBREQUAL - 754)) | (1 << (frameQLParser.MBRINTERSECTS - 754)) | (1 << (frameQLParser.MBROVERLAPS - 754)) | (1 << (frameQLParser.MBRTOUCHES - 754)) | (1 << (frameQLParser.MBRWITHIN - 754)) | (1 << (frameQLParser.MD5 - 754)) | (1 << (frameQLParser.MLINEFROMTEXT - 754)) | (1 << (frameQLParser.MLINEFROMWKB - 754)) | (1 << (frameQLParser.MONTHNAME - 754)) | (1 << (frameQLParser.MPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MPOINTFROMWKB - 754)) | (1 << (frameQLParser.MPOLYFROMTEXT - 754)) | (1 << (frameQLParser.MPOLYFROMWKB - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 754)) | (1 << (frameQLParser.NAME_CONST - 754)) | (1 << (frameQLParser.NULLIF - 754)) | (1 << (frameQLParser.NUMGEOMETRIES - 754)) | (1 << (frameQLParser.NUMINTERIORRINGS - 754)) | (1 << (frameQLParser.NUMPOINTS - 754)) | (1 << (frameQLParser.OCT - 754)) | (1 << (frameQLParser.OCTET_LENGTH - 754)) | (1 << (frameQLParser.ORD - 754)) | (1 << (frameQLParser.OVERLAPS - 754)) | (1 << (frameQLParser.PERIOD_ADD - 754)) | (1 << (frameQLParser.PERIOD_DIFF - 754)) | (1 << (frameQLParser.PI - 754)) | (1 << (frameQLParser.POINTFROMTEXT - 754)) | (1 << (frameQLParser.POINTFROMWKB - 754)) | (1 << (frameQLParser.POINTN - 754)) | (1 << (frameQLParser.POLYFROMTEXT - 754)) | (1 << (frameQLParser.POLYFROMWKB - 754)) | (1 << (frameQLParser.POLYGONFROMTEXT - 754)) | (1 << (frameQLParser.POLYGONFROMWKB - 754)) | (1 << (frameQLParser.POW - 754)) | (1 << (frameQLParser.POWER - 754)) | (1 << (frameQLParser.QUOTE - 754)) | (1 << (frameQLParser.RADIANS - 754)) | (1 << (frameQLParser.RAND - 754)) | (1 << (frameQLParser.RANDOM_BYTES - 754)) | (1 << (frameQLParser.RELEASE_LOCK - 754)) | (1 << (frameQLParser.REVERSE - 754)) | (1 << (frameQLParser.ROUND - 754)))) != 0) or ((((_la - 818)) & ~0x3f) == 0 and ((1 << (_la - 818)) & ((1 << (frameQLParser.ROW_COUNT - 818)) | (1 << (frameQLParser.RPAD - 818)) | (1 << (frameQLParser.RTRIM - 818)) | (1 << (frameQLParser.SEC_TO_TIME - 818)) | (1 << (frameQLParser.SESSION_USER - 818)) | (1 << (frameQLParser.SHA - 818)) | (1 << (frameQLParser.SHA1 - 818)) | (1 << (frameQLParser.SHA2 - 818)) | (1 << (frameQLParser.SIGN - 818)) | (1 << (frameQLParser.SIN - 818)) | (1 << (frameQLParser.SLEEP - 818)) | (1 << (frameQLParser.SOUNDEX - 818)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 818)) | (1 << (frameQLParser.SQRT - 818)) | (1 << (frameQLParser.SRID - 818)) | (1 << (frameQLParser.STARTPOINT - 818)) | (1 << (frameQLParser.STRCMP - 818)) | (1 << (frameQLParser.STR_TO_DATE - 818)) | (1 << (frameQLParser.ST_AREA - 818)) | (1 << (frameQLParser.ST_ASBINARY - 818)) | (1 << (frameQLParser.ST_ASTEXT - 818)) | (1 << (frameQLParser.ST_ASWKB - 818)) | (1 << (frameQLParser.ST_ASWKT - 818)) | (1 << (frameQLParser.ST_BUFFER - 818)) | (1 << (frameQLParser.ST_CENTROID - 818)) | (1 << (frameQLParser.ST_CONTAINS - 818)) | (1 << (frameQLParser.ST_CROSSES - 818)) | (1 << (frameQLParser.ST_DIFFERENCE - 818)) | (1 << (frameQLParser.ST_DIMENSION - 818)) | (1 << (frameQLParser.ST_DISJOINT - 818)) | (1 << (frameQLParser.ST_DISTANCE - 818)) | (1 << (frameQLParser.ST_ENDPOINT - 818)) | (1 << (frameQLParser.ST_ENVELOPE - 818)) | (1 << (frameQLParser.ST_EQUALS - 818)) | (1 << (frameQLParser.ST_EXTERIORRING - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYN - 818)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 818)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 818)) | (1 << (frameQLParser.ST_INTERIORRINGN - 818)) | (1 << (frameQLParser.ST_INTERSECTION - 818)) | (1 << (frameQLParser.ST_INTERSECTS - 818)) | (1 << (frameQLParser.ST_ISCLOSED - 818)) | (1 << (frameQLParser.ST_ISEMPTY - 818)) | (1 << (frameQLParser.ST_ISSIMPLE - 818)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINEFROMWKB - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 818)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 818)) | (1 << (frameQLParser.ST_NUMPOINTS - 818)) | (1 << (frameQLParser.ST_OVERLAPS - 818)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 818)) | (1 << (frameQLParser.ST_POINTFROMWKB - 818)) | (1 << (frameQLParser.ST_POINTN - 818)))) != 0) or ((((_la - 882)) & ~0x3f) == 0 and ((1 << (_la - 882)) & ((1 << (frameQLParser.ST_POLYFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYFROMWKB - 882)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 882)) | (1 << (frameQLParser.ST_SRID - 882)) | (1 << (frameQLParser.ST_STARTPOINT - 882)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 882)) | (1 << (frameQLParser.ST_TOUCHES - 882)) | (1 << (frameQLParser.ST_UNION - 882)) | (1 << (frameQLParser.ST_WITHIN - 882)) | (1 << (frameQLParser.ST_X - 882)) | (1 << (frameQLParser.ST_Y - 882)) | (1 << (frameQLParser.SUBDATE - 882)) | (1 << (frameQLParser.SUBSTRING_INDEX - 882)) | (1 << (frameQLParser.SUBTIME - 882)) | (1 << (frameQLParser.SYSTEM_USER - 882)) | (1 << (frameQLParser.TAN - 882)) | (1 << (frameQLParser.TIMEDIFF - 882)) | (1 << (frameQLParser.TIMESTAMPADD - 882)) | (1 << (frameQLParser.TIMESTAMPDIFF - 882)) | (1 << (frameQLParser.TIME_FORMAT - 882)) | (1 << (frameQLParser.TIME_TO_SEC - 882)) | (1 << (frameQLParser.TOUCHES - 882)) | (1 << (frameQLParser.TO_BASE64 - 882)) | (1 << (frameQLParser.TO_DAYS - 882)) | (1 << (frameQLParser.TO_SECONDS - 882)) | (1 << (frameQLParser.UCASE - 882)) | (1 << (frameQLParser.UNCOMPRESS - 882)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 882)) | (1 << (frameQLParser.UNHEX - 882)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 882)) | (1 << (frameQLParser.UPDATEXML - 882)) | (1 << (frameQLParser.UPPER - 882)) | (1 << (frameQLParser.UUID - 882)) | (1 << (frameQLParser.UUID_SHORT - 882)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 882)) | (1 << (frameQLParser.VERSION - 882)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 882)) | (1 << (frameQLParser.WEEKDAY - 882)) | (1 << (frameQLParser.WEEKOFYEAR - 882)) | (1 << (frameQLParser.WEIGHT_STRING - 882)) | (1 << (frameQLParser.WITHIN - 882)) | (1 << (frameQLParser.YEARWEEK - 882)) | (1 << (frameQLParser.Y_FUNCTION - 882)) | (1 << (frameQLParser.X_FUNCTION - 882)))) != 0) or ((((_la - 953)) & ~0x3f) == 0 and ((1 << (_la - 953)) & ((1 << (frameQLParser.LR_BRACKET - 953)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 953)) | (1 << (frameQLParser.STRING_LITERAL - 953)) | (1 << (frameQLParser.ID - 953)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 953)))) != 0)): - break - - - - self.state = 4072 - self.match(frameQLParser.END) - self.state = 4074 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 4073 - self.uid() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CaseStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CASE(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.CASE) - else: - return self.getToken(frameQLParser.CASE, i) - - def END(self): - return self.getToken(frameQLParser.END, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def caseAlternative(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.CaseAlternativeContext) - else: - return self.getTypedRuleContext(frameQLParser.CaseAlternativeContext,i) - - - def ELSE(self): - return self.getToken(frameQLParser.ELSE, 0) - - def procedureSqlStatement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ProcedureSqlStatementContext) - else: - return self.getTypedRuleContext(frameQLParser.ProcedureSqlStatementContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_caseStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCaseStatement" ): - listener.enterCaseStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCaseStatement" ): - listener.exitCaseStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCaseStatement" ): - return visitor.visitCaseStatement(self) - else: - return visitor.visitChildren(self) - - - - - def caseStatement(self): - - localctx = frameQLParser.CaseStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 350, self.RULE_caseStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4076 - self.match(frameQLParser.CASE) - self.state = 4079 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,581,self._ctx) - if la_ == 1: - self.state = 4077 - self.uid() - - elif la_ == 2: - self.state = 4078 - self.expression(0) - - - self.state = 4082 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4081 - self.caseAlternative() - self.state = 4084 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==frameQLParser.WHEN): - break - - self.state = 4092 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ELSE: - self.state = 4086 - self.match(frameQLParser.ELSE) - self.state = 4088 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4087 - self.procedureSqlStatement() - self.state = 4090 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 9)) & ~0x3f) == 0 and ((1 << (_la - 9)) & ((1 << (frameQLParser.ALTER - 9)) | (1 << (frameQLParser.ANALYZE - 9)) | (1 << (frameQLParser.CALL - 9)) | (1 << (frameQLParser.CASE - 9)) | (1 << (frameQLParser.CHANGE - 9)) | (1 << (frameQLParser.CHECK - 9)) | (1 << (frameQLParser.CREATE - 9)) | (1 << (frameQLParser.DATABASE - 9)) | (1 << (frameQLParser.DELETE - 9)) | (1 << (frameQLParser.DESC - 9)) | (1 << (frameQLParser.DESCRIBE - 9)) | (1 << (frameQLParser.DROP - 9)) | (1 << (frameQLParser.EXPLAIN - 9)) | (1 << (frameQLParser.FETCH - 9)) | (1 << (frameQLParser.GRANT - 9)) | (1 << (frameQLParser.IF - 9)))) != 0) or ((((_la - 75)) & ~0x3f) == 0 and ((1 << (_la - 75)) & ((1 << (frameQLParser.INSERT - 75)) | (1 << (frameQLParser.ITERATE - 75)) | (1 << (frameQLParser.KILL - 75)) | (1 << (frameQLParser.LEAVE - 75)) | (1 << (frameQLParser.LEFT - 75)) | (1 << (frameQLParser.LOAD - 75)) | (1 << (frameQLParser.LOCK - 75)) | (1 << (frameQLParser.LOOP - 75)) | (1 << (frameQLParser.OPTIMIZE - 75)) | (1 << (frameQLParser.PURGE - 75)) | (1 << (frameQLParser.RELEASE - 75)) | (1 << (frameQLParser.RENAME - 75)) | (1 << (frameQLParser.REPEAT - 75)) | (1 << (frameQLParser.REPLACE - 75)) | (1 << (frameQLParser.RETURN - 75)) | (1 << (frameQLParser.REVOKE - 75)) | (1 << (frameQLParser.RIGHT - 75)) | (1 << (frameQLParser.SELECT - 75)) | (1 << (frameQLParser.SET - 75)) | (1 << (frameQLParser.SHOW - 75)))) != 0) or ((((_la - 159)) & ~0x3f) == 0 and ((1 << (_la - 159)) & ((1 << (frameQLParser.UNLOCK - 159)) | (1 << (frameQLParser.UPDATE - 159)) | (1 << (frameQLParser.USE - 159)) | (1 << (frameQLParser.WHILE - 159)) | (1 << (frameQLParser.DATE - 159)) | (1 << (frameQLParser.TIME - 159)) | (1 << (frameQLParser.TIMESTAMP - 159)) | (1 << (frameQLParser.DATETIME - 159)) | (1 << (frameQLParser.YEAR - 159)) | (1 << (frameQLParser.TEXT - 159)) | (1 << (frameQLParser.ENUM - 159)) | (1 << (frameQLParser.SERIAL - 159)) | (1 << (frameQLParser.COUNT - 159)))) != 0) or ((((_la - 242)) & ~0x3f) == 0 and ((1 << (_la - 242)) & ((1 << (frameQLParser.POSITION - 242)) | (1 << (frameQLParser.ACCOUNT - 242)) | (1 << (frameQLParser.ACTION - 242)) | (1 << (frameQLParser.AFTER - 242)) | (1 << (frameQLParser.AGGREGATE - 242)) | (1 << (frameQLParser.ALGORITHM - 242)) | (1 << (frameQLParser.ANY - 242)) | (1 << (frameQLParser.AT - 242)) | (1 << (frameQLParser.AUTHORS - 242)) | (1 << (frameQLParser.AUTOCOMMIT - 242)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 242)) | (1 << (frameQLParser.AUTO_INCREMENT - 242)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 242)) | (1 << (frameQLParser.BEGIN - 242)) | (1 << (frameQLParser.BINLOG - 242)) | (1 << (frameQLParser.BIT - 242)) | (1 << (frameQLParser.BLOCK - 242)) | (1 << (frameQLParser.BOOL - 242)) | (1 << (frameQLParser.BOOLEAN - 242)) | (1 << (frameQLParser.BTREE - 242)) | (1 << (frameQLParser.CACHE - 242)) | (1 << (frameQLParser.CASCADED - 242)) | (1 << (frameQLParser.CHAIN - 242)) | (1 << (frameQLParser.CHANGED - 242)) | (1 << (frameQLParser.CHANNEL - 242)) | (1 << (frameQLParser.CHECKSUM - 242)) | (1 << (frameQLParser.CIPHER - 242)) | (1 << (frameQLParser.CLIENT - 242)) | (1 << (frameQLParser.CLOSE - 242)) | (1 << (frameQLParser.COALESCE - 242)) | (1 << (frameQLParser.CODE - 242)) | (1 << (frameQLParser.COLUMNS - 242)) | (1 << (frameQLParser.COLUMN_FORMAT - 242)) | (1 << (frameQLParser.COMMENT - 242)) | (1 << (frameQLParser.COMMIT - 242)) | (1 << (frameQLParser.COMPACT - 242)) | (1 << (frameQLParser.COMPLETION - 242)) | (1 << (frameQLParser.COMPRESSED - 242)) | (1 << (frameQLParser.COMPRESSION - 242)) | (1 << (frameQLParser.CONCURRENT - 242)) | (1 << (frameQLParser.CONNECTION - 242)) | (1 << (frameQLParser.CONSISTENT - 242)) | (1 << (frameQLParser.CONTAINS - 242)) | (1 << (frameQLParser.CONTEXT - 242)) | (1 << (frameQLParser.CONTRIBUTORS - 242)) | (1 << (frameQLParser.COPY - 242)) | (1 << (frameQLParser.CPU - 242)) | (1 << (frameQLParser.DATA - 242)) | (1 << (frameQLParser.DATAFILE - 242)) | (1 << (frameQLParser.DEALLOCATE - 242)) | (1 << (frameQLParser.DEFAULT_AUTH - 242)) | (1 << (frameQLParser.DEFINER - 242)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 242)) | (1 << (frameQLParser.DIRECTORY - 242)) | (1 << (frameQLParser.DISABLE - 242)) | (1 << (frameQLParser.DISCARD - 242)))) != 0) or ((((_la - 306)) & ~0x3f) == 0 and ((1 << (_la - 306)) & ((1 << (frameQLParser.DISK - 306)) | (1 << (frameQLParser.DO - 306)) | (1 << (frameQLParser.DUMPFILE - 306)) | (1 << (frameQLParser.DUPLICATE - 306)) | (1 << (frameQLParser.DYNAMIC - 306)) | (1 << (frameQLParser.ENABLE - 306)) | (1 << (frameQLParser.ENCRYPTION - 306)) | (1 << (frameQLParser.ENDS - 306)) | (1 << (frameQLParser.ENGINE - 306)) | (1 << (frameQLParser.ENGINES - 306)) | (1 << (frameQLParser.ERROR - 306)) | (1 << (frameQLParser.ERRORS - 306)) | (1 << (frameQLParser.ESCAPE - 306)) | (1 << (frameQLParser.EVEN - 306)) | (1 << (frameQLParser.EVENT - 306)) | (1 << (frameQLParser.EVENTS - 306)) | (1 << (frameQLParser.EVERY - 306)) | (1 << (frameQLParser.EXCHANGE - 306)) | (1 << (frameQLParser.EXCLUSIVE - 306)) | (1 << (frameQLParser.EXPIRE - 306)) | (1 << (frameQLParser.EXTENDED - 306)) | (1 << (frameQLParser.EXTENT_SIZE - 306)) | (1 << (frameQLParser.FAST - 306)) | (1 << (frameQLParser.FAULTS - 306)) | (1 << (frameQLParser.FIELDS - 306)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 306)) | (1 << (frameQLParser.FILTER - 306)) | (1 << (frameQLParser.FIRST - 306)) | (1 << (frameQLParser.FIXED - 306)) | (1 << (frameQLParser.FLUSH - 306)) | (1 << (frameQLParser.FOLLOWS - 306)) | (1 << (frameQLParser.FULL - 306)) | (1 << (frameQLParser.FUNCTION - 306)) | (1 << (frameQLParser.GLOBAL - 306)) | (1 << (frameQLParser.GRANTS - 306)) | (1 << (frameQLParser.GROUP_REPLICATION - 306)) | (1 << (frameQLParser.HANDLER - 306)) | (1 << (frameQLParser.HASH - 306)) | (1 << (frameQLParser.HELP - 306)) | (1 << (frameQLParser.HOST - 306)) | (1 << (frameQLParser.IDENTIFIED - 306)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 306)) | (1 << (frameQLParser.IMPORT - 306)) | (1 << (frameQLParser.INDEXES - 306)) | (1 << (frameQLParser.INITIAL_SIZE - 306)) | (1 << (frameQLParser.INPLACE - 306)) | (1 << (frameQLParser.INSERT_METHOD - 306)) | (1 << (frameQLParser.INSTALL - 306)) | (1 << (frameQLParser.INSTANCE - 306)) | (1 << (frameQLParser.INVOKER - 306)) | (1 << (frameQLParser.IO - 306)) | (1 << (frameQLParser.IO_THREAD - 306)) | (1 << (frameQLParser.IPC - 306)) | (1 << (frameQLParser.ISOLATION - 306)) | (1 << (frameQLParser.ISSUER - 306)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 306)) | (1 << (frameQLParser.LANGUAGE - 306)) | (1 << (frameQLParser.LAST - 306)))) != 0) or ((((_la - 370)) & ~0x3f) == 0 and ((1 << (_la - 370)) & ((1 << (frameQLParser.LEAVES - 370)) | (1 << (frameQLParser.LESS - 370)) | (1 << (frameQLParser.LEVEL - 370)) | (1 << (frameQLParser.LIST - 370)) | (1 << (frameQLParser.LOCAL - 370)) | (1 << (frameQLParser.LOGFILE - 370)) | (1 << (frameQLParser.LOGS - 370)) | (1 << (frameQLParser.MASTER - 370)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 370)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 370)) | (1 << (frameQLParser.MASTER_DELAY - 370)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 370)) | (1 << (frameQLParser.MASTER_HOST - 370)) | (1 << (frameQLParser.MASTER_LOG_FILE - 370)) | (1 << (frameQLParser.MASTER_LOG_POS - 370)) | (1 << (frameQLParser.MASTER_PASSWORD - 370)) | (1 << (frameQLParser.MASTER_PORT - 370)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 370)) | (1 << (frameQLParser.MASTER_SSL - 370)) | (1 << (frameQLParser.MASTER_SSL_CA - 370)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_CERT - 370)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 370)) | (1 << (frameQLParser.MASTER_SSL_CRL - 370)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_KEY - 370)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 370)) | (1 << (frameQLParser.MASTER_USER - 370)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_ROWS - 370)) | (1 << (frameQLParser.MAX_SIZE - 370)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 370)) | (1 << (frameQLParser.MEDIUM - 370)) | (1 << (frameQLParser.MERGE - 370)) | (1 << (frameQLParser.MID - 370)) | (1 << (frameQLParser.MIGRATE - 370)) | (1 << (frameQLParser.MIN_ROWS - 370)) | (1 << (frameQLParser.MODIFY - 370)) | (1 << (frameQLParser.MUTEX - 370)) | (1 << (frameQLParser.MYSQL - 370)) | (1 << (frameQLParser.NAME - 370)) | (1 << (frameQLParser.NAMES - 370)) | (1 << (frameQLParser.NCHAR - 370)) | (1 << (frameQLParser.NEVER - 370)) | (1 << (frameQLParser.NO - 370)) | (1 << (frameQLParser.NODEGROUP - 370)) | (1 << (frameQLParser.NONE - 370)) | (1 << (frameQLParser.OFFLINE - 370)) | (1 << (frameQLParser.OFFSET - 370)) | (1 << (frameQLParser.OJ - 370)) | (1 << (frameQLParser.OLD_PASSWORD - 370)) | (1 << (frameQLParser.ONE - 370)) | (1 << (frameQLParser.ONLINE - 370)) | (1 << (frameQLParser.ONLY - 370)) | (1 << (frameQLParser.OPEN - 370)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 370)) | (1 << (frameQLParser.OPTIONS - 370)) | (1 << (frameQLParser.OWNER - 370)) | (1 << (frameQLParser.PACK_KEYS - 370)) | (1 << (frameQLParser.PAGE - 370)))) != 0) or ((((_la - 434)) & ~0x3f) == 0 and ((1 << (_la - 434)) & ((1 << (frameQLParser.PARSER - 434)) | (1 << (frameQLParser.PARTIAL - 434)) | (1 << (frameQLParser.PARTITIONING - 434)) | (1 << (frameQLParser.PARTITIONS - 434)) | (1 << (frameQLParser.PASSWORD - 434)) | (1 << (frameQLParser.PHASE - 434)) | (1 << (frameQLParser.PLUGIN_DIR - 434)) | (1 << (frameQLParser.PLUGINS - 434)) | (1 << (frameQLParser.PORT - 434)) | (1 << (frameQLParser.PRECEDES - 434)) | (1 << (frameQLParser.PREPARE - 434)) | (1 << (frameQLParser.PRESERVE - 434)) | (1 << (frameQLParser.PREV - 434)) | (1 << (frameQLParser.PROCESSLIST - 434)) | (1 << (frameQLParser.PROFILE - 434)) | (1 << (frameQLParser.PROFILES - 434)) | (1 << (frameQLParser.PROXY - 434)) | (1 << (frameQLParser.QUERY - 434)) | (1 << (frameQLParser.QUICK - 434)) | (1 << (frameQLParser.REBUILD - 434)) | (1 << (frameQLParser.RECOVER - 434)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 434)) | (1 << (frameQLParser.REDUNDANT - 434)) | (1 << (frameQLParser.RELAY_LOG_FILE - 434)) | (1 << (frameQLParser.RELAY_LOG_POS - 434)) | (1 << (frameQLParser.RELAYLOG - 434)) | (1 << (frameQLParser.REMOVE - 434)) | (1 << (frameQLParser.REORGANIZE - 434)) | (1 << (frameQLParser.REPAIR - 434)) | (1 << (frameQLParser.REPLICATE_DO_DB - 434)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 434)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATION - 434)) | (1 << (frameQLParser.RESET - 434)) | (1 << (frameQLParser.RESUME - 434)) | (1 << (frameQLParser.RETURNS - 434)) | (1 << (frameQLParser.ROLLBACK - 434)) | (1 << (frameQLParser.ROLLUP - 434)) | (1 << (frameQLParser.ROTATE - 434)) | (1 << (frameQLParser.ROW - 434)) | (1 << (frameQLParser.ROWS - 434)) | (1 << (frameQLParser.ROW_FORMAT - 434)) | (1 << (frameQLParser.SAVEPOINT - 434)) | (1 << (frameQLParser.SCHEDULE - 434)) | (1 << (frameQLParser.SECURITY - 434)) | (1 << (frameQLParser.SERVER - 434)) | (1 << (frameQLParser.SESSION - 434)) | (1 << (frameQLParser.SHARE - 434)) | (1 << (frameQLParser.SHARED - 434)) | (1 << (frameQLParser.SIGNED - 434)) | (1 << (frameQLParser.SIMPLE - 434)) | (1 << (frameQLParser.SLAVE - 434)) | (1 << (frameQLParser.SNAPSHOT - 434)) | (1 << (frameQLParser.SOCKET - 434)) | (1 << (frameQLParser.SOME - 434)) | (1 << (frameQLParser.SOUNDS - 434)))) != 0) or ((((_la - 498)) & ~0x3f) == 0 and ((1 << (_la - 498)) & ((1 << (frameQLParser.SOURCE - 498)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 498)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 498)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 498)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 498)) | (1 << (frameQLParser.SQL_CACHE - 498)) | (1 << (frameQLParser.SQL_NO_CACHE - 498)) | (1 << (frameQLParser.SQL_THREAD - 498)) | (1 << (frameQLParser.START - 498)) | (1 << (frameQLParser.STARTS - 498)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 498)) | (1 << (frameQLParser.STATS_PERSISTENT - 498)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 498)) | (1 << (frameQLParser.STATUS - 498)) | (1 << (frameQLParser.STOP - 498)) | (1 << (frameQLParser.STORAGE - 498)) | (1 << (frameQLParser.STRING - 498)) | (1 << (frameQLParser.SUBJECT - 498)) | (1 << (frameQLParser.SUBPARTITION - 498)) | (1 << (frameQLParser.SUBPARTITIONS - 498)) | (1 << (frameQLParser.SUSPEND - 498)) | (1 << (frameQLParser.SWAPS - 498)) | (1 << (frameQLParser.SWITCHES - 498)) | (1 << (frameQLParser.TABLESPACE - 498)) | (1 << (frameQLParser.TEMPORARY - 498)) | (1 << (frameQLParser.TEMPTABLE - 498)) | (1 << (frameQLParser.THAN - 498)) | (1 << (frameQLParser.TRANSACTION - 498)) | (1 << (frameQLParser.TRUNCATE - 498)) | (1 << (frameQLParser.UNDEFINED - 498)) | (1 << (frameQLParser.UNDOFILE - 498)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 498)) | (1 << (frameQLParser.UNINSTALL - 498)) | (1 << (frameQLParser.UNKNOWN - 498)) | (1 << (frameQLParser.UPGRADE - 498)) | (1 << (frameQLParser.USER - 498)) | (1 << (frameQLParser.VALIDATION - 498)) | (1 << (frameQLParser.VALUE - 498)) | (1 << (frameQLParser.VARIABLES - 498)) | (1 << (frameQLParser.VIEW - 498)) | (1 << (frameQLParser.WAIT - 498)) | (1 << (frameQLParser.WARNINGS - 498)) | (1 << (frameQLParser.WITHOUT - 498)) | (1 << (frameQLParser.WORK - 498)) | (1 << (frameQLParser.WRAPPER - 498)) | (1 << (frameQLParser.X509 - 498)) | (1 << (frameQLParser.XA - 498)) | (1 << (frameQLParser.XML - 498)) | (1 << (frameQLParser.QUARTER - 498)) | (1 << (frameQLParser.MONTH - 498)) | (1 << (frameQLParser.DAY - 498)) | (1 << (frameQLParser.HOUR - 498)))) != 0) or ((((_la - 562)) & ~0x3f) == 0 and ((1 << (_la - 562)) & ((1 << (frameQLParser.MINUTE - 562)) | (1 << (frameQLParser.WEEK - 562)) | (1 << (frameQLParser.SECOND - 562)) | (1 << (frameQLParser.MICROSECOND - 562)) | (1 << (frameQLParser.TABLES - 562)) | (1 << (frameQLParser.ROUTINE - 562)) | (1 << (frameQLParser.EXECUTE - 562)) | (1 << (frameQLParser.FILE - 562)) | (1 << (frameQLParser.PROCESS - 562)) | (1 << (frameQLParser.RELOAD - 562)) | (1 << (frameQLParser.SHUTDOWN - 562)) | (1 << (frameQLParser.SUPER - 562)) | (1 << (frameQLParser.PRIVILEGES - 562)) | (1 << (frameQLParser.ARMSCII8 - 562)) | (1 << (frameQLParser.ASCII - 562)) | (1 << (frameQLParser.BIG5 - 562)) | (1 << (frameQLParser.CP1250 - 562)) | (1 << (frameQLParser.CP1251 - 562)) | (1 << (frameQLParser.CP1256 - 562)) | (1 << (frameQLParser.CP1257 - 562)) | (1 << (frameQLParser.CP850 - 562)) | (1 << (frameQLParser.CP852 - 562)) | (1 << (frameQLParser.CP866 - 562)) | (1 << (frameQLParser.CP932 - 562)) | (1 << (frameQLParser.DEC8 - 562)) | (1 << (frameQLParser.EUCJPMS - 562)) | (1 << (frameQLParser.EUCKR - 562)) | (1 << (frameQLParser.GB2312 - 562)) | (1 << (frameQLParser.GBK - 562)) | (1 << (frameQLParser.GEOSTD8 - 562)) | (1 << (frameQLParser.GREEK - 562)) | (1 << (frameQLParser.HEBREW - 562)) | (1 << (frameQLParser.HP8 - 562)) | (1 << (frameQLParser.KEYBCS2 - 562)) | (1 << (frameQLParser.KOI8R - 562)) | (1 << (frameQLParser.KOI8U - 562)) | (1 << (frameQLParser.LATIN1 - 562)) | (1 << (frameQLParser.LATIN2 - 562)) | (1 << (frameQLParser.LATIN5 - 562)) | (1 << (frameQLParser.LATIN7 - 562)) | (1 << (frameQLParser.MACCE - 562)) | (1 << (frameQLParser.MACROMAN - 562)) | (1 << (frameQLParser.SJIS - 562)) | (1 << (frameQLParser.SWE7 - 562)) | (1 << (frameQLParser.TIS620 - 562)) | (1 << (frameQLParser.UCS2 - 562)) | (1 << (frameQLParser.UJIS - 562)) | (1 << (frameQLParser.UTF16 - 562)) | (1 << (frameQLParser.UTF16LE - 562)) | (1 << (frameQLParser.UTF32 - 562)) | (1 << (frameQLParser.UTF8 - 562)) | (1 << (frameQLParser.UTF8MB3 - 562)) | (1 << (frameQLParser.UTF8MB4 - 562)) | (1 << (frameQLParser.ARCHIVE - 562)) | (1 << (frameQLParser.BLACKHOLE - 562)) | (1 << (frameQLParser.CSV - 562)) | (1 << (frameQLParser.FEDERATED - 562)) | (1 << (frameQLParser.INNODB - 562)) | (1 << (frameQLParser.MEMORY - 562)) | (1 << (frameQLParser.MRG_MYISAM - 562)) | (1 << (frameQLParser.MYISAM - 562)) | (1 << (frameQLParser.NDB - 562)) | (1 << (frameQLParser.NDBCLUSTER - 562)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 562)))) != 0) or ((((_la - 626)) & ~0x3f) == 0 and ((1 << (_la - 626)) & ((1 << (frameQLParser.REPEATABLE - 626)) | (1 << (frameQLParser.COMMITTED - 626)) | (1 << (frameQLParser.UNCOMMITTED - 626)) | (1 << (frameQLParser.SERIALIZABLE - 626)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 626)) | (1 << (frameQLParser.LINESTRING - 626)) | (1 << (frameQLParser.MULTILINESTRING - 626)) | (1 << (frameQLParser.MULTIPOINT - 626)) | (1 << (frameQLParser.MULTIPOLYGON - 626)) | (1 << (frameQLParser.POINT - 626)) | (1 << (frameQLParser.POLYGON - 626)) | (1 << (frameQLParser.ABS - 626)) | (1 << (frameQLParser.ACOS - 626)) | (1 << (frameQLParser.ADDDATE - 626)) | (1 << (frameQLParser.ADDTIME - 626)) | (1 << (frameQLParser.AES_DECRYPT - 626)) | (1 << (frameQLParser.AES_ENCRYPT - 626)) | (1 << (frameQLParser.AREA - 626)) | (1 << (frameQLParser.ASBINARY - 626)) | (1 << (frameQLParser.ASIN - 626)) | (1 << (frameQLParser.ASTEXT - 626)) | (1 << (frameQLParser.ASWKB - 626)) | (1 << (frameQLParser.ASWKT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 626)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 626)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 626)) | (1 << (frameQLParser.ATAN - 626)) | (1 << (frameQLParser.ATAN2 - 626)) | (1 << (frameQLParser.BENCHMARK - 626)) | (1 << (frameQLParser.BIN - 626)) | (1 << (frameQLParser.BIT_COUNT - 626)) | (1 << (frameQLParser.BIT_LENGTH - 626)) | (1 << (frameQLParser.BUFFER - 626)) | (1 << (frameQLParser.CEIL - 626)) | (1 << (frameQLParser.CEILING - 626)) | (1 << (frameQLParser.CENTROID - 626)) | (1 << (frameQLParser.CHARACTER_LENGTH - 626)) | (1 << (frameQLParser.CHARSET - 626)) | (1 << (frameQLParser.CHAR_LENGTH - 626)) | (1 << (frameQLParser.COERCIBILITY - 626)) | (1 << (frameQLParser.COLLATION - 626)) | (1 << (frameQLParser.COMPRESS - 626)) | (1 << (frameQLParser.CONCAT - 626)) | (1 << (frameQLParser.CONCAT_WS - 626)) | (1 << (frameQLParser.CONNECTION_ID - 626)) | (1 << (frameQLParser.CONV - 626)) | (1 << (frameQLParser.CONVERT_TZ - 626)) | (1 << (frameQLParser.COS - 626)) | (1 << (frameQLParser.COT - 626)) | (1 << (frameQLParser.CRC32 - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 626)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 626)) | (1 << (frameQLParser.CREATE_DIGEST - 626)) | (1 << (frameQLParser.CROSSES - 626)) | (1 << (frameQLParser.DATEDIFF - 626)) | (1 << (frameQLParser.DATE_FORMAT - 626)) | (1 << (frameQLParser.DAYNAME - 626)) | (1 << (frameQLParser.DAYOFMONTH - 626)) | (1 << (frameQLParser.DAYOFWEEK - 626)) | (1 << (frameQLParser.DAYOFYEAR - 626)) | (1 << (frameQLParser.DECODE - 626)))) != 0) or ((((_la - 690)) & ~0x3f) == 0 and ((1 << (_la - 690)) & ((1 << (frameQLParser.DEGREES - 690)) | (1 << (frameQLParser.DES_DECRYPT - 690)) | (1 << (frameQLParser.DES_ENCRYPT - 690)) | (1 << (frameQLParser.DIMENSION - 690)) | (1 << (frameQLParser.DISJOINT - 690)) | (1 << (frameQLParser.ELT - 690)) | (1 << (frameQLParser.ENCODE - 690)) | (1 << (frameQLParser.ENCRYPT - 690)) | (1 << (frameQLParser.ENDPOINT - 690)) | (1 << (frameQLParser.ENVELOPE - 690)) | (1 << (frameQLParser.EQUALS - 690)) | (1 << (frameQLParser.EXP - 690)) | (1 << (frameQLParser.EXPORT_SET - 690)) | (1 << (frameQLParser.EXTERIORRING - 690)) | (1 << (frameQLParser.EXTRACTVALUE - 690)) | (1 << (frameQLParser.FIELD - 690)) | (1 << (frameQLParser.FIND_IN_SET - 690)) | (1 << (frameQLParser.FLOOR - 690)) | (1 << (frameQLParser.FORMAT - 690)) | (1 << (frameQLParser.FOUND_ROWS - 690)) | (1 << (frameQLParser.FROM_BASE64 - 690)) | (1 << (frameQLParser.FROM_DAYS - 690)) | (1 << (frameQLParser.FROM_UNIXTIME - 690)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 690)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYN - 690)) | (1 << (frameQLParser.GEOMETRYTYPE - 690)) | (1 << (frameQLParser.GEOMFROMTEXT - 690)) | (1 << (frameQLParser.GEOMFROMWKB - 690)) | (1 << (frameQLParser.GET_FORMAT - 690)) | (1 << (frameQLParser.GET_LOCK - 690)) | (1 << (frameQLParser.GLENGTH - 690)) | (1 << (frameQLParser.GREATEST - 690)) | (1 << (frameQLParser.GTID_SUBSET - 690)) | (1 << (frameQLParser.GTID_SUBTRACT - 690)) | (1 << (frameQLParser.HEX - 690)) | (1 << (frameQLParser.IFNULL - 690)) | (1 << (frameQLParser.INET6_ATON - 690)) | (1 << (frameQLParser.INET6_NTOA - 690)) | (1 << (frameQLParser.INET_ATON - 690)) | (1 << (frameQLParser.INET_NTOA - 690)) | (1 << (frameQLParser.INSTR - 690)) | (1 << (frameQLParser.INTERIORRINGN - 690)) | (1 << (frameQLParser.INTERSECTS - 690)) | (1 << (frameQLParser.ISCLOSED - 690)) | (1 << (frameQLParser.ISEMPTY - 690)) | (1 << (frameQLParser.ISNULL - 690)) | (1 << (frameQLParser.ISSIMPLE - 690)) | (1 << (frameQLParser.IS_FREE_LOCK - 690)) | (1 << (frameQLParser.IS_IPV4 - 690)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 690)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 690)) | (1 << (frameQLParser.IS_IPV6 - 690)) | (1 << (frameQLParser.IS_USED_LOCK - 690)) | (1 << (frameQLParser.LAST_INSERT_ID - 690)) | (1 << (frameQLParser.LCASE - 690)) | (1 << (frameQLParser.LEAST - 690)) | (1 << (frameQLParser.LENGTH - 690)) | (1 << (frameQLParser.LINEFROMTEXT - 690)) | (1 << (frameQLParser.LINEFROMWKB - 690)))) != 0) or ((((_la - 754)) & ~0x3f) == 0 and ((1 << (_la - 754)) & ((1 << (frameQLParser.LINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.LN - 754)) | (1 << (frameQLParser.LOAD_FILE - 754)) | (1 << (frameQLParser.LOCATE - 754)) | (1 << (frameQLParser.LOG - 754)) | (1 << (frameQLParser.LOG10 - 754)) | (1 << (frameQLParser.LOG2 - 754)) | (1 << (frameQLParser.LOWER - 754)) | (1 << (frameQLParser.LPAD - 754)) | (1 << (frameQLParser.LTRIM - 754)) | (1 << (frameQLParser.MAKEDATE - 754)) | (1 << (frameQLParser.MAKETIME - 754)) | (1 << (frameQLParser.MAKE_SET - 754)) | (1 << (frameQLParser.MASTER_POS_WAIT - 754)) | (1 << (frameQLParser.MBRCONTAINS - 754)) | (1 << (frameQLParser.MBRDISJOINT - 754)) | (1 << (frameQLParser.MBREQUAL - 754)) | (1 << (frameQLParser.MBRINTERSECTS - 754)) | (1 << (frameQLParser.MBROVERLAPS - 754)) | (1 << (frameQLParser.MBRTOUCHES - 754)) | (1 << (frameQLParser.MBRWITHIN - 754)) | (1 << (frameQLParser.MD5 - 754)) | (1 << (frameQLParser.MLINEFROMTEXT - 754)) | (1 << (frameQLParser.MLINEFROMWKB - 754)) | (1 << (frameQLParser.MONTHNAME - 754)) | (1 << (frameQLParser.MPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MPOINTFROMWKB - 754)) | (1 << (frameQLParser.MPOLYFROMTEXT - 754)) | (1 << (frameQLParser.MPOLYFROMWKB - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 754)) | (1 << (frameQLParser.NAME_CONST - 754)) | (1 << (frameQLParser.NULLIF - 754)) | (1 << (frameQLParser.NUMGEOMETRIES - 754)) | (1 << (frameQLParser.NUMINTERIORRINGS - 754)) | (1 << (frameQLParser.NUMPOINTS - 754)) | (1 << (frameQLParser.OCT - 754)) | (1 << (frameQLParser.OCTET_LENGTH - 754)) | (1 << (frameQLParser.ORD - 754)) | (1 << (frameQLParser.OVERLAPS - 754)) | (1 << (frameQLParser.PERIOD_ADD - 754)) | (1 << (frameQLParser.PERIOD_DIFF - 754)) | (1 << (frameQLParser.PI - 754)) | (1 << (frameQLParser.POINTFROMTEXT - 754)) | (1 << (frameQLParser.POINTFROMWKB - 754)) | (1 << (frameQLParser.POINTN - 754)) | (1 << (frameQLParser.POLYFROMTEXT - 754)) | (1 << (frameQLParser.POLYFROMWKB - 754)) | (1 << (frameQLParser.POLYGONFROMTEXT - 754)) | (1 << (frameQLParser.POLYGONFROMWKB - 754)) | (1 << (frameQLParser.POW - 754)) | (1 << (frameQLParser.POWER - 754)) | (1 << (frameQLParser.QUOTE - 754)) | (1 << (frameQLParser.RADIANS - 754)) | (1 << (frameQLParser.RAND - 754)) | (1 << (frameQLParser.RANDOM_BYTES - 754)) | (1 << (frameQLParser.RELEASE_LOCK - 754)) | (1 << (frameQLParser.REVERSE - 754)) | (1 << (frameQLParser.ROUND - 754)))) != 0) or ((((_la - 818)) & ~0x3f) == 0 and ((1 << (_la - 818)) & ((1 << (frameQLParser.ROW_COUNT - 818)) | (1 << (frameQLParser.RPAD - 818)) | (1 << (frameQLParser.RTRIM - 818)) | (1 << (frameQLParser.SEC_TO_TIME - 818)) | (1 << (frameQLParser.SESSION_USER - 818)) | (1 << (frameQLParser.SHA - 818)) | (1 << (frameQLParser.SHA1 - 818)) | (1 << (frameQLParser.SHA2 - 818)) | (1 << (frameQLParser.SIGN - 818)) | (1 << (frameQLParser.SIN - 818)) | (1 << (frameQLParser.SLEEP - 818)) | (1 << (frameQLParser.SOUNDEX - 818)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 818)) | (1 << (frameQLParser.SQRT - 818)) | (1 << (frameQLParser.SRID - 818)) | (1 << (frameQLParser.STARTPOINT - 818)) | (1 << (frameQLParser.STRCMP - 818)) | (1 << (frameQLParser.STR_TO_DATE - 818)) | (1 << (frameQLParser.ST_AREA - 818)) | (1 << (frameQLParser.ST_ASBINARY - 818)) | (1 << (frameQLParser.ST_ASTEXT - 818)) | (1 << (frameQLParser.ST_ASWKB - 818)) | (1 << (frameQLParser.ST_ASWKT - 818)) | (1 << (frameQLParser.ST_BUFFER - 818)) | (1 << (frameQLParser.ST_CENTROID - 818)) | (1 << (frameQLParser.ST_CONTAINS - 818)) | (1 << (frameQLParser.ST_CROSSES - 818)) | (1 << (frameQLParser.ST_DIFFERENCE - 818)) | (1 << (frameQLParser.ST_DIMENSION - 818)) | (1 << (frameQLParser.ST_DISJOINT - 818)) | (1 << (frameQLParser.ST_DISTANCE - 818)) | (1 << (frameQLParser.ST_ENDPOINT - 818)) | (1 << (frameQLParser.ST_ENVELOPE - 818)) | (1 << (frameQLParser.ST_EQUALS - 818)) | (1 << (frameQLParser.ST_EXTERIORRING - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYN - 818)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 818)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 818)) | (1 << (frameQLParser.ST_INTERIORRINGN - 818)) | (1 << (frameQLParser.ST_INTERSECTION - 818)) | (1 << (frameQLParser.ST_INTERSECTS - 818)) | (1 << (frameQLParser.ST_ISCLOSED - 818)) | (1 << (frameQLParser.ST_ISEMPTY - 818)) | (1 << (frameQLParser.ST_ISSIMPLE - 818)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINEFROMWKB - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 818)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 818)) | (1 << (frameQLParser.ST_NUMPOINTS - 818)) | (1 << (frameQLParser.ST_OVERLAPS - 818)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 818)) | (1 << (frameQLParser.ST_POINTFROMWKB - 818)) | (1 << (frameQLParser.ST_POINTN - 818)))) != 0) or ((((_la - 882)) & ~0x3f) == 0 and ((1 << (_la - 882)) & ((1 << (frameQLParser.ST_POLYFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYFROMWKB - 882)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 882)) | (1 << (frameQLParser.ST_SRID - 882)) | (1 << (frameQLParser.ST_STARTPOINT - 882)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 882)) | (1 << (frameQLParser.ST_TOUCHES - 882)) | (1 << (frameQLParser.ST_UNION - 882)) | (1 << (frameQLParser.ST_WITHIN - 882)) | (1 << (frameQLParser.ST_X - 882)) | (1 << (frameQLParser.ST_Y - 882)) | (1 << (frameQLParser.SUBDATE - 882)) | (1 << (frameQLParser.SUBSTRING_INDEX - 882)) | (1 << (frameQLParser.SUBTIME - 882)) | (1 << (frameQLParser.SYSTEM_USER - 882)) | (1 << (frameQLParser.TAN - 882)) | (1 << (frameQLParser.TIMEDIFF - 882)) | (1 << (frameQLParser.TIMESTAMPADD - 882)) | (1 << (frameQLParser.TIMESTAMPDIFF - 882)) | (1 << (frameQLParser.TIME_FORMAT - 882)) | (1 << (frameQLParser.TIME_TO_SEC - 882)) | (1 << (frameQLParser.TOUCHES - 882)) | (1 << (frameQLParser.TO_BASE64 - 882)) | (1 << (frameQLParser.TO_DAYS - 882)) | (1 << (frameQLParser.TO_SECONDS - 882)) | (1 << (frameQLParser.UCASE - 882)) | (1 << (frameQLParser.UNCOMPRESS - 882)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 882)) | (1 << (frameQLParser.UNHEX - 882)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 882)) | (1 << (frameQLParser.UPDATEXML - 882)) | (1 << (frameQLParser.UPPER - 882)) | (1 << (frameQLParser.UUID - 882)) | (1 << (frameQLParser.UUID_SHORT - 882)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 882)) | (1 << (frameQLParser.VERSION - 882)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 882)) | (1 << (frameQLParser.WEEKDAY - 882)) | (1 << (frameQLParser.WEEKOFYEAR - 882)) | (1 << (frameQLParser.WEIGHT_STRING - 882)) | (1 << (frameQLParser.WITHIN - 882)) | (1 << (frameQLParser.YEARWEEK - 882)) | (1 << (frameQLParser.Y_FUNCTION - 882)) | (1 << (frameQLParser.X_FUNCTION - 882)))) != 0) or ((((_la - 953)) & ~0x3f) == 0 and ((1 << (_la - 953)) & ((1 << (frameQLParser.LR_BRACKET - 953)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 953)) | (1 << (frameQLParser.STRING_LITERAL - 953)) | (1 << (frameQLParser.ID - 953)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 953)))) != 0)): - break - - - - self.state = 4094 - self.match(frameQLParser.END) - self.state = 4095 - self.match(frameQLParser.CASE) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class IfStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self._procedureSqlStatement = None # ProcedureSqlStatementContext - self.thenStatements = list() # of ProcedureSqlStatementContexts - self.elseStatements = list() # of ProcedureSqlStatementContexts - - def IF(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.IF) - else: - return self.getToken(frameQLParser.IF, i) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def THEN(self): - return self.getToken(frameQLParser.THEN, 0) - - def END(self): - return self.getToken(frameQLParser.END, 0) - - def elifAlternative(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ElifAlternativeContext) - else: - return self.getTypedRuleContext(frameQLParser.ElifAlternativeContext,i) - - - def ELSE(self): - return self.getToken(frameQLParser.ELSE, 0) - - def procedureSqlStatement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ProcedureSqlStatementContext) - else: - return self.getTypedRuleContext(frameQLParser.ProcedureSqlStatementContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_ifStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIfStatement" ): - listener.enterIfStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIfStatement" ): - listener.exitIfStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitIfStatement" ): - return visitor.visitIfStatement(self) - else: - return visitor.visitChildren(self) - - - - - def ifStatement(self): - - localctx = frameQLParser.IfStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 352, self.RULE_ifStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4097 - self.match(frameQLParser.IF) - self.state = 4098 - self.expression(0) - self.state = 4099 - self.match(frameQLParser.THEN) - self.state = 4101 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4100 - localctx._procedureSqlStatement = self.procedureSqlStatement() - localctx.thenStatements.append(localctx._procedureSqlStatement) - self.state = 4103 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 9)) & ~0x3f) == 0 and ((1 << (_la - 9)) & ((1 << (frameQLParser.ALTER - 9)) | (1 << (frameQLParser.ANALYZE - 9)) | (1 << (frameQLParser.CALL - 9)) | (1 << (frameQLParser.CASE - 9)) | (1 << (frameQLParser.CHANGE - 9)) | (1 << (frameQLParser.CHECK - 9)) | (1 << (frameQLParser.CREATE - 9)) | (1 << (frameQLParser.DATABASE - 9)) | (1 << (frameQLParser.DELETE - 9)) | (1 << (frameQLParser.DESC - 9)) | (1 << (frameQLParser.DESCRIBE - 9)) | (1 << (frameQLParser.DROP - 9)) | (1 << (frameQLParser.EXPLAIN - 9)) | (1 << (frameQLParser.FETCH - 9)) | (1 << (frameQLParser.GRANT - 9)) | (1 << (frameQLParser.IF - 9)))) != 0) or ((((_la - 75)) & ~0x3f) == 0 and ((1 << (_la - 75)) & ((1 << (frameQLParser.INSERT - 75)) | (1 << (frameQLParser.ITERATE - 75)) | (1 << (frameQLParser.KILL - 75)) | (1 << (frameQLParser.LEAVE - 75)) | (1 << (frameQLParser.LEFT - 75)) | (1 << (frameQLParser.LOAD - 75)) | (1 << (frameQLParser.LOCK - 75)) | (1 << (frameQLParser.LOOP - 75)) | (1 << (frameQLParser.OPTIMIZE - 75)) | (1 << (frameQLParser.PURGE - 75)) | (1 << (frameQLParser.RELEASE - 75)) | (1 << (frameQLParser.RENAME - 75)) | (1 << (frameQLParser.REPEAT - 75)) | (1 << (frameQLParser.REPLACE - 75)) | (1 << (frameQLParser.RETURN - 75)) | (1 << (frameQLParser.REVOKE - 75)) | (1 << (frameQLParser.RIGHT - 75)) | (1 << (frameQLParser.SELECT - 75)) | (1 << (frameQLParser.SET - 75)) | (1 << (frameQLParser.SHOW - 75)))) != 0) or ((((_la - 159)) & ~0x3f) == 0 and ((1 << (_la - 159)) & ((1 << (frameQLParser.UNLOCK - 159)) | (1 << (frameQLParser.UPDATE - 159)) | (1 << (frameQLParser.USE - 159)) | (1 << (frameQLParser.WHILE - 159)) | (1 << (frameQLParser.DATE - 159)) | (1 << (frameQLParser.TIME - 159)) | (1 << (frameQLParser.TIMESTAMP - 159)) | (1 << (frameQLParser.DATETIME - 159)) | (1 << (frameQLParser.YEAR - 159)) | (1 << (frameQLParser.TEXT - 159)) | (1 << (frameQLParser.ENUM - 159)) | (1 << (frameQLParser.SERIAL - 159)) | (1 << (frameQLParser.COUNT - 159)))) != 0) or ((((_la - 242)) & ~0x3f) == 0 and ((1 << (_la - 242)) & ((1 << (frameQLParser.POSITION - 242)) | (1 << (frameQLParser.ACCOUNT - 242)) | (1 << (frameQLParser.ACTION - 242)) | (1 << (frameQLParser.AFTER - 242)) | (1 << (frameQLParser.AGGREGATE - 242)) | (1 << (frameQLParser.ALGORITHM - 242)) | (1 << (frameQLParser.ANY - 242)) | (1 << (frameQLParser.AT - 242)) | (1 << (frameQLParser.AUTHORS - 242)) | (1 << (frameQLParser.AUTOCOMMIT - 242)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 242)) | (1 << (frameQLParser.AUTO_INCREMENT - 242)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 242)) | (1 << (frameQLParser.BEGIN - 242)) | (1 << (frameQLParser.BINLOG - 242)) | (1 << (frameQLParser.BIT - 242)) | (1 << (frameQLParser.BLOCK - 242)) | (1 << (frameQLParser.BOOL - 242)) | (1 << (frameQLParser.BOOLEAN - 242)) | (1 << (frameQLParser.BTREE - 242)) | (1 << (frameQLParser.CACHE - 242)) | (1 << (frameQLParser.CASCADED - 242)) | (1 << (frameQLParser.CHAIN - 242)) | (1 << (frameQLParser.CHANGED - 242)) | (1 << (frameQLParser.CHANNEL - 242)) | (1 << (frameQLParser.CHECKSUM - 242)) | (1 << (frameQLParser.CIPHER - 242)) | (1 << (frameQLParser.CLIENT - 242)) | (1 << (frameQLParser.CLOSE - 242)) | (1 << (frameQLParser.COALESCE - 242)) | (1 << (frameQLParser.CODE - 242)) | (1 << (frameQLParser.COLUMNS - 242)) | (1 << (frameQLParser.COLUMN_FORMAT - 242)) | (1 << (frameQLParser.COMMENT - 242)) | (1 << (frameQLParser.COMMIT - 242)) | (1 << (frameQLParser.COMPACT - 242)) | (1 << (frameQLParser.COMPLETION - 242)) | (1 << (frameQLParser.COMPRESSED - 242)) | (1 << (frameQLParser.COMPRESSION - 242)) | (1 << (frameQLParser.CONCURRENT - 242)) | (1 << (frameQLParser.CONNECTION - 242)) | (1 << (frameQLParser.CONSISTENT - 242)) | (1 << (frameQLParser.CONTAINS - 242)) | (1 << (frameQLParser.CONTEXT - 242)) | (1 << (frameQLParser.CONTRIBUTORS - 242)) | (1 << (frameQLParser.COPY - 242)) | (1 << (frameQLParser.CPU - 242)) | (1 << (frameQLParser.DATA - 242)) | (1 << (frameQLParser.DATAFILE - 242)) | (1 << (frameQLParser.DEALLOCATE - 242)) | (1 << (frameQLParser.DEFAULT_AUTH - 242)) | (1 << (frameQLParser.DEFINER - 242)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 242)) | (1 << (frameQLParser.DIRECTORY - 242)) | (1 << (frameQLParser.DISABLE - 242)) | (1 << (frameQLParser.DISCARD - 242)))) != 0) or ((((_la - 306)) & ~0x3f) == 0 and ((1 << (_la - 306)) & ((1 << (frameQLParser.DISK - 306)) | (1 << (frameQLParser.DO - 306)) | (1 << (frameQLParser.DUMPFILE - 306)) | (1 << (frameQLParser.DUPLICATE - 306)) | (1 << (frameQLParser.DYNAMIC - 306)) | (1 << (frameQLParser.ENABLE - 306)) | (1 << (frameQLParser.ENCRYPTION - 306)) | (1 << (frameQLParser.ENDS - 306)) | (1 << (frameQLParser.ENGINE - 306)) | (1 << (frameQLParser.ENGINES - 306)) | (1 << (frameQLParser.ERROR - 306)) | (1 << (frameQLParser.ERRORS - 306)) | (1 << (frameQLParser.ESCAPE - 306)) | (1 << (frameQLParser.EVEN - 306)) | (1 << (frameQLParser.EVENT - 306)) | (1 << (frameQLParser.EVENTS - 306)) | (1 << (frameQLParser.EVERY - 306)) | (1 << (frameQLParser.EXCHANGE - 306)) | (1 << (frameQLParser.EXCLUSIVE - 306)) | (1 << (frameQLParser.EXPIRE - 306)) | (1 << (frameQLParser.EXTENDED - 306)) | (1 << (frameQLParser.EXTENT_SIZE - 306)) | (1 << (frameQLParser.FAST - 306)) | (1 << (frameQLParser.FAULTS - 306)) | (1 << (frameQLParser.FIELDS - 306)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 306)) | (1 << (frameQLParser.FILTER - 306)) | (1 << (frameQLParser.FIRST - 306)) | (1 << (frameQLParser.FIXED - 306)) | (1 << (frameQLParser.FLUSH - 306)) | (1 << (frameQLParser.FOLLOWS - 306)) | (1 << (frameQLParser.FULL - 306)) | (1 << (frameQLParser.FUNCTION - 306)) | (1 << (frameQLParser.GLOBAL - 306)) | (1 << (frameQLParser.GRANTS - 306)) | (1 << (frameQLParser.GROUP_REPLICATION - 306)) | (1 << (frameQLParser.HANDLER - 306)) | (1 << (frameQLParser.HASH - 306)) | (1 << (frameQLParser.HELP - 306)) | (1 << (frameQLParser.HOST - 306)) | (1 << (frameQLParser.IDENTIFIED - 306)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 306)) | (1 << (frameQLParser.IMPORT - 306)) | (1 << (frameQLParser.INDEXES - 306)) | (1 << (frameQLParser.INITIAL_SIZE - 306)) | (1 << (frameQLParser.INPLACE - 306)) | (1 << (frameQLParser.INSERT_METHOD - 306)) | (1 << (frameQLParser.INSTALL - 306)) | (1 << (frameQLParser.INSTANCE - 306)) | (1 << (frameQLParser.INVOKER - 306)) | (1 << (frameQLParser.IO - 306)) | (1 << (frameQLParser.IO_THREAD - 306)) | (1 << (frameQLParser.IPC - 306)) | (1 << (frameQLParser.ISOLATION - 306)) | (1 << (frameQLParser.ISSUER - 306)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 306)) | (1 << (frameQLParser.LANGUAGE - 306)) | (1 << (frameQLParser.LAST - 306)))) != 0) or ((((_la - 370)) & ~0x3f) == 0 and ((1 << (_la - 370)) & ((1 << (frameQLParser.LEAVES - 370)) | (1 << (frameQLParser.LESS - 370)) | (1 << (frameQLParser.LEVEL - 370)) | (1 << (frameQLParser.LIST - 370)) | (1 << (frameQLParser.LOCAL - 370)) | (1 << (frameQLParser.LOGFILE - 370)) | (1 << (frameQLParser.LOGS - 370)) | (1 << (frameQLParser.MASTER - 370)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 370)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 370)) | (1 << (frameQLParser.MASTER_DELAY - 370)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 370)) | (1 << (frameQLParser.MASTER_HOST - 370)) | (1 << (frameQLParser.MASTER_LOG_FILE - 370)) | (1 << (frameQLParser.MASTER_LOG_POS - 370)) | (1 << (frameQLParser.MASTER_PASSWORD - 370)) | (1 << (frameQLParser.MASTER_PORT - 370)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 370)) | (1 << (frameQLParser.MASTER_SSL - 370)) | (1 << (frameQLParser.MASTER_SSL_CA - 370)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_CERT - 370)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 370)) | (1 << (frameQLParser.MASTER_SSL_CRL - 370)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_KEY - 370)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 370)) | (1 << (frameQLParser.MASTER_USER - 370)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_ROWS - 370)) | (1 << (frameQLParser.MAX_SIZE - 370)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 370)) | (1 << (frameQLParser.MEDIUM - 370)) | (1 << (frameQLParser.MERGE - 370)) | (1 << (frameQLParser.MID - 370)) | (1 << (frameQLParser.MIGRATE - 370)) | (1 << (frameQLParser.MIN_ROWS - 370)) | (1 << (frameQLParser.MODIFY - 370)) | (1 << (frameQLParser.MUTEX - 370)) | (1 << (frameQLParser.MYSQL - 370)) | (1 << (frameQLParser.NAME - 370)) | (1 << (frameQLParser.NAMES - 370)) | (1 << (frameQLParser.NCHAR - 370)) | (1 << (frameQLParser.NEVER - 370)) | (1 << (frameQLParser.NO - 370)) | (1 << (frameQLParser.NODEGROUP - 370)) | (1 << (frameQLParser.NONE - 370)) | (1 << (frameQLParser.OFFLINE - 370)) | (1 << (frameQLParser.OFFSET - 370)) | (1 << (frameQLParser.OJ - 370)) | (1 << (frameQLParser.OLD_PASSWORD - 370)) | (1 << (frameQLParser.ONE - 370)) | (1 << (frameQLParser.ONLINE - 370)) | (1 << (frameQLParser.ONLY - 370)) | (1 << (frameQLParser.OPEN - 370)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 370)) | (1 << (frameQLParser.OPTIONS - 370)) | (1 << (frameQLParser.OWNER - 370)) | (1 << (frameQLParser.PACK_KEYS - 370)) | (1 << (frameQLParser.PAGE - 370)))) != 0) or ((((_la - 434)) & ~0x3f) == 0 and ((1 << (_la - 434)) & ((1 << (frameQLParser.PARSER - 434)) | (1 << (frameQLParser.PARTIAL - 434)) | (1 << (frameQLParser.PARTITIONING - 434)) | (1 << (frameQLParser.PARTITIONS - 434)) | (1 << (frameQLParser.PASSWORD - 434)) | (1 << (frameQLParser.PHASE - 434)) | (1 << (frameQLParser.PLUGIN_DIR - 434)) | (1 << (frameQLParser.PLUGINS - 434)) | (1 << (frameQLParser.PORT - 434)) | (1 << (frameQLParser.PRECEDES - 434)) | (1 << (frameQLParser.PREPARE - 434)) | (1 << (frameQLParser.PRESERVE - 434)) | (1 << (frameQLParser.PREV - 434)) | (1 << (frameQLParser.PROCESSLIST - 434)) | (1 << (frameQLParser.PROFILE - 434)) | (1 << (frameQLParser.PROFILES - 434)) | (1 << (frameQLParser.PROXY - 434)) | (1 << (frameQLParser.QUERY - 434)) | (1 << (frameQLParser.QUICK - 434)) | (1 << (frameQLParser.REBUILD - 434)) | (1 << (frameQLParser.RECOVER - 434)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 434)) | (1 << (frameQLParser.REDUNDANT - 434)) | (1 << (frameQLParser.RELAY_LOG_FILE - 434)) | (1 << (frameQLParser.RELAY_LOG_POS - 434)) | (1 << (frameQLParser.RELAYLOG - 434)) | (1 << (frameQLParser.REMOVE - 434)) | (1 << (frameQLParser.REORGANIZE - 434)) | (1 << (frameQLParser.REPAIR - 434)) | (1 << (frameQLParser.REPLICATE_DO_DB - 434)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 434)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATION - 434)) | (1 << (frameQLParser.RESET - 434)) | (1 << (frameQLParser.RESUME - 434)) | (1 << (frameQLParser.RETURNS - 434)) | (1 << (frameQLParser.ROLLBACK - 434)) | (1 << (frameQLParser.ROLLUP - 434)) | (1 << (frameQLParser.ROTATE - 434)) | (1 << (frameQLParser.ROW - 434)) | (1 << (frameQLParser.ROWS - 434)) | (1 << (frameQLParser.ROW_FORMAT - 434)) | (1 << (frameQLParser.SAVEPOINT - 434)) | (1 << (frameQLParser.SCHEDULE - 434)) | (1 << (frameQLParser.SECURITY - 434)) | (1 << (frameQLParser.SERVER - 434)) | (1 << (frameQLParser.SESSION - 434)) | (1 << (frameQLParser.SHARE - 434)) | (1 << (frameQLParser.SHARED - 434)) | (1 << (frameQLParser.SIGNED - 434)) | (1 << (frameQLParser.SIMPLE - 434)) | (1 << (frameQLParser.SLAVE - 434)) | (1 << (frameQLParser.SNAPSHOT - 434)) | (1 << (frameQLParser.SOCKET - 434)) | (1 << (frameQLParser.SOME - 434)) | (1 << (frameQLParser.SOUNDS - 434)))) != 0) or ((((_la - 498)) & ~0x3f) == 0 and ((1 << (_la - 498)) & ((1 << (frameQLParser.SOURCE - 498)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 498)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 498)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 498)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 498)) | (1 << (frameQLParser.SQL_CACHE - 498)) | (1 << (frameQLParser.SQL_NO_CACHE - 498)) | (1 << (frameQLParser.SQL_THREAD - 498)) | (1 << (frameQLParser.START - 498)) | (1 << (frameQLParser.STARTS - 498)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 498)) | (1 << (frameQLParser.STATS_PERSISTENT - 498)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 498)) | (1 << (frameQLParser.STATUS - 498)) | (1 << (frameQLParser.STOP - 498)) | (1 << (frameQLParser.STORAGE - 498)) | (1 << (frameQLParser.STRING - 498)) | (1 << (frameQLParser.SUBJECT - 498)) | (1 << (frameQLParser.SUBPARTITION - 498)) | (1 << (frameQLParser.SUBPARTITIONS - 498)) | (1 << (frameQLParser.SUSPEND - 498)) | (1 << (frameQLParser.SWAPS - 498)) | (1 << (frameQLParser.SWITCHES - 498)) | (1 << (frameQLParser.TABLESPACE - 498)) | (1 << (frameQLParser.TEMPORARY - 498)) | (1 << (frameQLParser.TEMPTABLE - 498)) | (1 << (frameQLParser.THAN - 498)) | (1 << (frameQLParser.TRANSACTION - 498)) | (1 << (frameQLParser.TRUNCATE - 498)) | (1 << (frameQLParser.UNDEFINED - 498)) | (1 << (frameQLParser.UNDOFILE - 498)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 498)) | (1 << (frameQLParser.UNINSTALL - 498)) | (1 << (frameQLParser.UNKNOWN - 498)) | (1 << (frameQLParser.UPGRADE - 498)) | (1 << (frameQLParser.USER - 498)) | (1 << (frameQLParser.VALIDATION - 498)) | (1 << (frameQLParser.VALUE - 498)) | (1 << (frameQLParser.VARIABLES - 498)) | (1 << (frameQLParser.VIEW - 498)) | (1 << (frameQLParser.WAIT - 498)) | (1 << (frameQLParser.WARNINGS - 498)) | (1 << (frameQLParser.WITHOUT - 498)) | (1 << (frameQLParser.WORK - 498)) | (1 << (frameQLParser.WRAPPER - 498)) | (1 << (frameQLParser.X509 - 498)) | (1 << (frameQLParser.XA - 498)) | (1 << (frameQLParser.XML - 498)) | (1 << (frameQLParser.QUARTER - 498)) | (1 << (frameQLParser.MONTH - 498)) | (1 << (frameQLParser.DAY - 498)) | (1 << (frameQLParser.HOUR - 498)))) != 0) or ((((_la - 562)) & ~0x3f) == 0 and ((1 << (_la - 562)) & ((1 << (frameQLParser.MINUTE - 562)) | (1 << (frameQLParser.WEEK - 562)) | (1 << (frameQLParser.SECOND - 562)) | (1 << (frameQLParser.MICROSECOND - 562)) | (1 << (frameQLParser.TABLES - 562)) | (1 << (frameQLParser.ROUTINE - 562)) | (1 << (frameQLParser.EXECUTE - 562)) | (1 << (frameQLParser.FILE - 562)) | (1 << (frameQLParser.PROCESS - 562)) | (1 << (frameQLParser.RELOAD - 562)) | (1 << (frameQLParser.SHUTDOWN - 562)) | (1 << (frameQLParser.SUPER - 562)) | (1 << (frameQLParser.PRIVILEGES - 562)) | (1 << (frameQLParser.ARMSCII8 - 562)) | (1 << (frameQLParser.ASCII - 562)) | (1 << (frameQLParser.BIG5 - 562)) | (1 << (frameQLParser.CP1250 - 562)) | (1 << (frameQLParser.CP1251 - 562)) | (1 << (frameQLParser.CP1256 - 562)) | (1 << (frameQLParser.CP1257 - 562)) | (1 << (frameQLParser.CP850 - 562)) | (1 << (frameQLParser.CP852 - 562)) | (1 << (frameQLParser.CP866 - 562)) | (1 << (frameQLParser.CP932 - 562)) | (1 << (frameQLParser.DEC8 - 562)) | (1 << (frameQLParser.EUCJPMS - 562)) | (1 << (frameQLParser.EUCKR - 562)) | (1 << (frameQLParser.GB2312 - 562)) | (1 << (frameQLParser.GBK - 562)) | (1 << (frameQLParser.GEOSTD8 - 562)) | (1 << (frameQLParser.GREEK - 562)) | (1 << (frameQLParser.HEBREW - 562)) | (1 << (frameQLParser.HP8 - 562)) | (1 << (frameQLParser.KEYBCS2 - 562)) | (1 << (frameQLParser.KOI8R - 562)) | (1 << (frameQLParser.KOI8U - 562)) | (1 << (frameQLParser.LATIN1 - 562)) | (1 << (frameQLParser.LATIN2 - 562)) | (1 << (frameQLParser.LATIN5 - 562)) | (1 << (frameQLParser.LATIN7 - 562)) | (1 << (frameQLParser.MACCE - 562)) | (1 << (frameQLParser.MACROMAN - 562)) | (1 << (frameQLParser.SJIS - 562)) | (1 << (frameQLParser.SWE7 - 562)) | (1 << (frameQLParser.TIS620 - 562)) | (1 << (frameQLParser.UCS2 - 562)) | (1 << (frameQLParser.UJIS - 562)) | (1 << (frameQLParser.UTF16 - 562)) | (1 << (frameQLParser.UTF16LE - 562)) | (1 << (frameQLParser.UTF32 - 562)) | (1 << (frameQLParser.UTF8 - 562)) | (1 << (frameQLParser.UTF8MB3 - 562)) | (1 << (frameQLParser.UTF8MB4 - 562)) | (1 << (frameQLParser.ARCHIVE - 562)) | (1 << (frameQLParser.BLACKHOLE - 562)) | (1 << (frameQLParser.CSV - 562)) | (1 << (frameQLParser.FEDERATED - 562)) | (1 << (frameQLParser.INNODB - 562)) | (1 << (frameQLParser.MEMORY - 562)) | (1 << (frameQLParser.MRG_MYISAM - 562)) | (1 << (frameQLParser.MYISAM - 562)) | (1 << (frameQLParser.NDB - 562)) | (1 << (frameQLParser.NDBCLUSTER - 562)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 562)))) != 0) or ((((_la - 626)) & ~0x3f) == 0 and ((1 << (_la - 626)) & ((1 << (frameQLParser.REPEATABLE - 626)) | (1 << (frameQLParser.COMMITTED - 626)) | (1 << (frameQLParser.UNCOMMITTED - 626)) | (1 << (frameQLParser.SERIALIZABLE - 626)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 626)) | (1 << (frameQLParser.LINESTRING - 626)) | (1 << (frameQLParser.MULTILINESTRING - 626)) | (1 << (frameQLParser.MULTIPOINT - 626)) | (1 << (frameQLParser.MULTIPOLYGON - 626)) | (1 << (frameQLParser.POINT - 626)) | (1 << (frameQLParser.POLYGON - 626)) | (1 << (frameQLParser.ABS - 626)) | (1 << (frameQLParser.ACOS - 626)) | (1 << (frameQLParser.ADDDATE - 626)) | (1 << (frameQLParser.ADDTIME - 626)) | (1 << (frameQLParser.AES_DECRYPT - 626)) | (1 << (frameQLParser.AES_ENCRYPT - 626)) | (1 << (frameQLParser.AREA - 626)) | (1 << (frameQLParser.ASBINARY - 626)) | (1 << (frameQLParser.ASIN - 626)) | (1 << (frameQLParser.ASTEXT - 626)) | (1 << (frameQLParser.ASWKB - 626)) | (1 << (frameQLParser.ASWKT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 626)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 626)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 626)) | (1 << (frameQLParser.ATAN - 626)) | (1 << (frameQLParser.ATAN2 - 626)) | (1 << (frameQLParser.BENCHMARK - 626)) | (1 << (frameQLParser.BIN - 626)) | (1 << (frameQLParser.BIT_COUNT - 626)) | (1 << (frameQLParser.BIT_LENGTH - 626)) | (1 << (frameQLParser.BUFFER - 626)) | (1 << (frameQLParser.CEIL - 626)) | (1 << (frameQLParser.CEILING - 626)) | (1 << (frameQLParser.CENTROID - 626)) | (1 << (frameQLParser.CHARACTER_LENGTH - 626)) | (1 << (frameQLParser.CHARSET - 626)) | (1 << (frameQLParser.CHAR_LENGTH - 626)) | (1 << (frameQLParser.COERCIBILITY - 626)) | (1 << (frameQLParser.COLLATION - 626)) | (1 << (frameQLParser.COMPRESS - 626)) | (1 << (frameQLParser.CONCAT - 626)) | (1 << (frameQLParser.CONCAT_WS - 626)) | (1 << (frameQLParser.CONNECTION_ID - 626)) | (1 << (frameQLParser.CONV - 626)) | (1 << (frameQLParser.CONVERT_TZ - 626)) | (1 << (frameQLParser.COS - 626)) | (1 << (frameQLParser.COT - 626)) | (1 << (frameQLParser.CRC32 - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 626)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 626)) | (1 << (frameQLParser.CREATE_DIGEST - 626)) | (1 << (frameQLParser.CROSSES - 626)) | (1 << (frameQLParser.DATEDIFF - 626)) | (1 << (frameQLParser.DATE_FORMAT - 626)) | (1 << (frameQLParser.DAYNAME - 626)) | (1 << (frameQLParser.DAYOFMONTH - 626)) | (1 << (frameQLParser.DAYOFWEEK - 626)) | (1 << (frameQLParser.DAYOFYEAR - 626)) | (1 << (frameQLParser.DECODE - 626)))) != 0) or ((((_la - 690)) & ~0x3f) == 0 and ((1 << (_la - 690)) & ((1 << (frameQLParser.DEGREES - 690)) | (1 << (frameQLParser.DES_DECRYPT - 690)) | (1 << (frameQLParser.DES_ENCRYPT - 690)) | (1 << (frameQLParser.DIMENSION - 690)) | (1 << (frameQLParser.DISJOINT - 690)) | (1 << (frameQLParser.ELT - 690)) | (1 << (frameQLParser.ENCODE - 690)) | (1 << (frameQLParser.ENCRYPT - 690)) | (1 << (frameQLParser.ENDPOINT - 690)) | (1 << (frameQLParser.ENVELOPE - 690)) | (1 << (frameQLParser.EQUALS - 690)) | (1 << (frameQLParser.EXP - 690)) | (1 << (frameQLParser.EXPORT_SET - 690)) | (1 << (frameQLParser.EXTERIORRING - 690)) | (1 << (frameQLParser.EXTRACTVALUE - 690)) | (1 << (frameQLParser.FIELD - 690)) | (1 << (frameQLParser.FIND_IN_SET - 690)) | (1 << (frameQLParser.FLOOR - 690)) | (1 << (frameQLParser.FORMAT - 690)) | (1 << (frameQLParser.FOUND_ROWS - 690)) | (1 << (frameQLParser.FROM_BASE64 - 690)) | (1 << (frameQLParser.FROM_DAYS - 690)) | (1 << (frameQLParser.FROM_UNIXTIME - 690)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 690)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYN - 690)) | (1 << (frameQLParser.GEOMETRYTYPE - 690)) | (1 << (frameQLParser.GEOMFROMTEXT - 690)) | (1 << (frameQLParser.GEOMFROMWKB - 690)) | (1 << (frameQLParser.GET_FORMAT - 690)) | (1 << (frameQLParser.GET_LOCK - 690)) | (1 << (frameQLParser.GLENGTH - 690)) | (1 << (frameQLParser.GREATEST - 690)) | (1 << (frameQLParser.GTID_SUBSET - 690)) | (1 << (frameQLParser.GTID_SUBTRACT - 690)) | (1 << (frameQLParser.HEX - 690)) | (1 << (frameQLParser.IFNULL - 690)) | (1 << (frameQLParser.INET6_ATON - 690)) | (1 << (frameQLParser.INET6_NTOA - 690)) | (1 << (frameQLParser.INET_ATON - 690)) | (1 << (frameQLParser.INET_NTOA - 690)) | (1 << (frameQLParser.INSTR - 690)) | (1 << (frameQLParser.INTERIORRINGN - 690)) | (1 << (frameQLParser.INTERSECTS - 690)) | (1 << (frameQLParser.ISCLOSED - 690)) | (1 << (frameQLParser.ISEMPTY - 690)) | (1 << (frameQLParser.ISNULL - 690)) | (1 << (frameQLParser.ISSIMPLE - 690)) | (1 << (frameQLParser.IS_FREE_LOCK - 690)) | (1 << (frameQLParser.IS_IPV4 - 690)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 690)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 690)) | (1 << (frameQLParser.IS_IPV6 - 690)) | (1 << (frameQLParser.IS_USED_LOCK - 690)) | (1 << (frameQLParser.LAST_INSERT_ID - 690)) | (1 << (frameQLParser.LCASE - 690)) | (1 << (frameQLParser.LEAST - 690)) | (1 << (frameQLParser.LENGTH - 690)) | (1 << (frameQLParser.LINEFROMTEXT - 690)) | (1 << (frameQLParser.LINEFROMWKB - 690)))) != 0) or ((((_la - 754)) & ~0x3f) == 0 and ((1 << (_la - 754)) & ((1 << (frameQLParser.LINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.LN - 754)) | (1 << (frameQLParser.LOAD_FILE - 754)) | (1 << (frameQLParser.LOCATE - 754)) | (1 << (frameQLParser.LOG - 754)) | (1 << (frameQLParser.LOG10 - 754)) | (1 << (frameQLParser.LOG2 - 754)) | (1 << (frameQLParser.LOWER - 754)) | (1 << (frameQLParser.LPAD - 754)) | (1 << (frameQLParser.LTRIM - 754)) | (1 << (frameQLParser.MAKEDATE - 754)) | (1 << (frameQLParser.MAKETIME - 754)) | (1 << (frameQLParser.MAKE_SET - 754)) | (1 << (frameQLParser.MASTER_POS_WAIT - 754)) | (1 << (frameQLParser.MBRCONTAINS - 754)) | (1 << (frameQLParser.MBRDISJOINT - 754)) | (1 << (frameQLParser.MBREQUAL - 754)) | (1 << (frameQLParser.MBRINTERSECTS - 754)) | (1 << (frameQLParser.MBROVERLAPS - 754)) | (1 << (frameQLParser.MBRTOUCHES - 754)) | (1 << (frameQLParser.MBRWITHIN - 754)) | (1 << (frameQLParser.MD5 - 754)) | (1 << (frameQLParser.MLINEFROMTEXT - 754)) | (1 << (frameQLParser.MLINEFROMWKB - 754)) | (1 << (frameQLParser.MONTHNAME - 754)) | (1 << (frameQLParser.MPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MPOINTFROMWKB - 754)) | (1 << (frameQLParser.MPOLYFROMTEXT - 754)) | (1 << (frameQLParser.MPOLYFROMWKB - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 754)) | (1 << (frameQLParser.NAME_CONST - 754)) | (1 << (frameQLParser.NULLIF - 754)) | (1 << (frameQLParser.NUMGEOMETRIES - 754)) | (1 << (frameQLParser.NUMINTERIORRINGS - 754)) | (1 << (frameQLParser.NUMPOINTS - 754)) | (1 << (frameQLParser.OCT - 754)) | (1 << (frameQLParser.OCTET_LENGTH - 754)) | (1 << (frameQLParser.ORD - 754)) | (1 << (frameQLParser.OVERLAPS - 754)) | (1 << (frameQLParser.PERIOD_ADD - 754)) | (1 << (frameQLParser.PERIOD_DIFF - 754)) | (1 << (frameQLParser.PI - 754)) | (1 << (frameQLParser.POINTFROMTEXT - 754)) | (1 << (frameQLParser.POINTFROMWKB - 754)) | (1 << (frameQLParser.POINTN - 754)) | (1 << (frameQLParser.POLYFROMTEXT - 754)) | (1 << (frameQLParser.POLYFROMWKB - 754)) | (1 << (frameQLParser.POLYGONFROMTEXT - 754)) | (1 << (frameQLParser.POLYGONFROMWKB - 754)) | (1 << (frameQLParser.POW - 754)) | (1 << (frameQLParser.POWER - 754)) | (1 << (frameQLParser.QUOTE - 754)) | (1 << (frameQLParser.RADIANS - 754)) | (1 << (frameQLParser.RAND - 754)) | (1 << (frameQLParser.RANDOM_BYTES - 754)) | (1 << (frameQLParser.RELEASE_LOCK - 754)) | (1 << (frameQLParser.REVERSE - 754)) | (1 << (frameQLParser.ROUND - 754)))) != 0) or ((((_la - 818)) & ~0x3f) == 0 and ((1 << (_la - 818)) & ((1 << (frameQLParser.ROW_COUNT - 818)) | (1 << (frameQLParser.RPAD - 818)) | (1 << (frameQLParser.RTRIM - 818)) | (1 << (frameQLParser.SEC_TO_TIME - 818)) | (1 << (frameQLParser.SESSION_USER - 818)) | (1 << (frameQLParser.SHA - 818)) | (1 << (frameQLParser.SHA1 - 818)) | (1 << (frameQLParser.SHA2 - 818)) | (1 << (frameQLParser.SIGN - 818)) | (1 << (frameQLParser.SIN - 818)) | (1 << (frameQLParser.SLEEP - 818)) | (1 << (frameQLParser.SOUNDEX - 818)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 818)) | (1 << (frameQLParser.SQRT - 818)) | (1 << (frameQLParser.SRID - 818)) | (1 << (frameQLParser.STARTPOINT - 818)) | (1 << (frameQLParser.STRCMP - 818)) | (1 << (frameQLParser.STR_TO_DATE - 818)) | (1 << (frameQLParser.ST_AREA - 818)) | (1 << (frameQLParser.ST_ASBINARY - 818)) | (1 << (frameQLParser.ST_ASTEXT - 818)) | (1 << (frameQLParser.ST_ASWKB - 818)) | (1 << (frameQLParser.ST_ASWKT - 818)) | (1 << (frameQLParser.ST_BUFFER - 818)) | (1 << (frameQLParser.ST_CENTROID - 818)) | (1 << (frameQLParser.ST_CONTAINS - 818)) | (1 << (frameQLParser.ST_CROSSES - 818)) | (1 << (frameQLParser.ST_DIFFERENCE - 818)) | (1 << (frameQLParser.ST_DIMENSION - 818)) | (1 << (frameQLParser.ST_DISJOINT - 818)) | (1 << (frameQLParser.ST_DISTANCE - 818)) | (1 << (frameQLParser.ST_ENDPOINT - 818)) | (1 << (frameQLParser.ST_ENVELOPE - 818)) | (1 << (frameQLParser.ST_EQUALS - 818)) | (1 << (frameQLParser.ST_EXTERIORRING - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYN - 818)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 818)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 818)) | (1 << (frameQLParser.ST_INTERIORRINGN - 818)) | (1 << (frameQLParser.ST_INTERSECTION - 818)) | (1 << (frameQLParser.ST_INTERSECTS - 818)) | (1 << (frameQLParser.ST_ISCLOSED - 818)) | (1 << (frameQLParser.ST_ISEMPTY - 818)) | (1 << (frameQLParser.ST_ISSIMPLE - 818)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINEFROMWKB - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 818)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 818)) | (1 << (frameQLParser.ST_NUMPOINTS - 818)) | (1 << (frameQLParser.ST_OVERLAPS - 818)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 818)) | (1 << (frameQLParser.ST_POINTFROMWKB - 818)) | (1 << (frameQLParser.ST_POINTN - 818)))) != 0) or ((((_la - 882)) & ~0x3f) == 0 and ((1 << (_la - 882)) & ((1 << (frameQLParser.ST_POLYFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYFROMWKB - 882)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 882)) | (1 << (frameQLParser.ST_SRID - 882)) | (1 << (frameQLParser.ST_STARTPOINT - 882)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 882)) | (1 << (frameQLParser.ST_TOUCHES - 882)) | (1 << (frameQLParser.ST_UNION - 882)) | (1 << (frameQLParser.ST_WITHIN - 882)) | (1 << (frameQLParser.ST_X - 882)) | (1 << (frameQLParser.ST_Y - 882)) | (1 << (frameQLParser.SUBDATE - 882)) | (1 << (frameQLParser.SUBSTRING_INDEX - 882)) | (1 << (frameQLParser.SUBTIME - 882)) | (1 << (frameQLParser.SYSTEM_USER - 882)) | (1 << (frameQLParser.TAN - 882)) | (1 << (frameQLParser.TIMEDIFF - 882)) | (1 << (frameQLParser.TIMESTAMPADD - 882)) | (1 << (frameQLParser.TIMESTAMPDIFF - 882)) | (1 << (frameQLParser.TIME_FORMAT - 882)) | (1 << (frameQLParser.TIME_TO_SEC - 882)) | (1 << (frameQLParser.TOUCHES - 882)) | (1 << (frameQLParser.TO_BASE64 - 882)) | (1 << (frameQLParser.TO_DAYS - 882)) | (1 << (frameQLParser.TO_SECONDS - 882)) | (1 << (frameQLParser.UCASE - 882)) | (1 << (frameQLParser.UNCOMPRESS - 882)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 882)) | (1 << (frameQLParser.UNHEX - 882)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 882)) | (1 << (frameQLParser.UPDATEXML - 882)) | (1 << (frameQLParser.UPPER - 882)) | (1 << (frameQLParser.UUID - 882)) | (1 << (frameQLParser.UUID_SHORT - 882)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 882)) | (1 << (frameQLParser.VERSION - 882)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 882)) | (1 << (frameQLParser.WEEKDAY - 882)) | (1 << (frameQLParser.WEEKOFYEAR - 882)) | (1 << (frameQLParser.WEIGHT_STRING - 882)) | (1 << (frameQLParser.WITHIN - 882)) | (1 << (frameQLParser.YEARWEEK - 882)) | (1 << (frameQLParser.Y_FUNCTION - 882)) | (1 << (frameQLParser.X_FUNCTION - 882)))) != 0) or ((((_la - 953)) & ~0x3f) == 0 and ((1 << (_la - 953)) & ((1 << (frameQLParser.LR_BRACKET - 953)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 953)) | (1 << (frameQLParser.STRING_LITERAL - 953)) | (1 << (frameQLParser.ID - 953)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 953)))) != 0)): - break - - self.state = 4108 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.ELSEIF: - self.state = 4105 - self.elifAlternative() - self.state = 4110 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 4117 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ELSE: - self.state = 4111 - self.match(frameQLParser.ELSE) - self.state = 4113 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4112 - localctx._procedureSqlStatement = self.procedureSqlStatement() - localctx.elseStatements.append(localctx._procedureSqlStatement) - self.state = 4115 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 9)) & ~0x3f) == 0 and ((1 << (_la - 9)) & ((1 << (frameQLParser.ALTER - 9)) | (1 << (frameQLParser.ANALYZE - 9)) | (1 << (frameQLParser.CALL - 9)) | (1 << (frameQLParser.CASE - 9)) | (1 << (frameQLParser.CHANGE - 9)) | (1 << (frameQLParser.CHECK - 9)) | (1 << (frameQLParser.CREATE - 9)) | (1 << (frameQLParser.DATABASE - 9)) | (1 << (frameQLParser.DELETE - 9)) | (1 << (frameQLParser.DESC - 9)) | (1 << (frameQLParser.DESCRIBE - 9)) | (1 << (frameQLParser.DROP - 9)) | (1 << (frameQLParser.EXPLAIN - 9)) | (1 << (frameQLParser.FETCH - 9)) | (1 << (frameQLParser.GRANT - 9)) | (1 << (frameQLParser.IF - 9)))) != 0) or ((((_la - 75)) & ~0x3f) == 0 and ((1 << (_la - 75)) & ((1 << (frameQLParser.INSERT - 75)) | (1 << (frameQLParser.ITERATE - 75)) | (1 << (frameQLParser.KILL - 75)) | (1 << (frameQLParser.LEAVE - 75)) | (1 << (frameQLParser.LEFT - 75)) | (1 << (frameQLParser.LOAD - 75)) | (1 << (frameQLParser.LOCK - 75)) | (1 << (frameQLParser.LOOP - 75)) | (1 << (frameQLParser.OPTIMIZE - 75)) | (1 << (frameQLParser.PURGE - 75)) | (1 << (frameQLParser.RELEASE - 75)) | (1 << (frameQLParser.RENAME - 75)) | (1 << (frameQLParser.REPEAT - 75)) | (1 << (frameQLParser.REPLACE - 75)) | (1 << (frameQLParser.RETURN - 75)) | (1 << (frameQLParser.REVOKE - 75)) | (1 << (frameQLParser.RIGHT - 75)) | (1 << (frameQLParser.SELECT - 75)) | (1 << (frameQLParser.SET - 75)) | (1 << (frameQLParser.SHOW - 75)))) != 0) or ((((_la - 159)) & ~0x3f) == 0 and ((1 << (_la - 159)) & ((1 << (frameQLParser.UNLOCK - 159)) | (1 << (frameQLParser.UPDATE - 159)) | (1 << (frameQLParser.USE - 159)) | (1 << (frameQLParser.WHILE - 159)) | (1 << (frameQLParser.DATE - 159)) | (1 << (frameQLParser.TIME - 159)) | (1 << (frameQLParser.TIMESTAMP - 159)) | (1 << (frameQLParser.DATETIME - 159)) | (1 << (frameQLParser.YEAR - 159)) | (1 << (frameQLParser.TEXT - 159)) | (1 << (frameQLParser.ENUM - 159)) | (1 << (frameQLParser.SERIAL - 159)) | (1 << (frameQLParser.COUNT - 159)))) != 0) or ((((_la - 242)) & ~0x3f) == 0 and ((1 << (_la - 242)) & ((1 << (frameQLParser.POSITION - 242)) | (1 << (frameQLParser.ACCOUNT - 242)) | (1 << (frameQLParser.ACTION - 242)) | (1 << (frameQLParser.AFTER - 242)) | (1 << (frameQLParser.AGGREGATE - 242)) | (1 << (frameQLParser.ALGORITHM - 242)) | (1 << (frameQLParser.ANY - 242)) | (1 << (frameQLParser.AT - 242)) | (1 << (frameQLParser.AUTHORS - 242)) | (1 << (frameQLParser.AUTOCOMMIT - 242)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 242)) | (1 << (frameQLParser.AUTO_INCREMENT - 242)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 242)) | (1 << (frameQLParser.BEGIN - 242)) | (1 << (frameQLParser.BINLOG - 242)) | (1 << (frameQLParser.BIT - 242)) | (1 << (frameQLParser.BLOCK - 242)) | (1 << (frameQLParser.BOOL - 242)) | (1 << (frameQLParser.BOOLEAN - 242)) | (1 << (frameQLParser.BTREE - 242)) | (1 << (frameQLParser.CACHE - 242)) | (1 << (frameQLParser.CASCADED - 242)) | (1 << (frameQLParser.CHAIN - 242)) | (1 << (frameQLParser.CHANGED - 242)) | (1 << (frameQLParser.CHANNEL - 242)) | (1 << (frameQLParser.CHECKSUM - 242)) | (1 << (frameQLParser.CIPHER - 242)) | (1 << (frameQLParser.CLIENT - 242)) | (1 << (frameQLParser.CLOSE - 242)) | (1 << (frameQLParser.COALESCE - 242)) | (1 << (frameQLParser.CODE - 242)) | (1 << (frameQLParser.COLUMNS - 242)) | (1 << (frameQLParser.COLUMN_FORMAT - 242)) | (1 << (frameQLParser.COMMENT - 242)) | (1 << (frameQLParser.COMMIT - 242)) | (1 << (frameQLParser.COMPACT - 242)) | (1 << (frameQLParser.COMPLETION - 242)) | (1 << (frameQLParser.COMPRESSED - 242)) | (1 << (frameQLParser.COMPRESSION - 242)) | (1 << (frameQLParser.CONCURRENT - 242)) | (1 << (frameQLParser.CONNECTION - 242)) | (1 << (frameQLParser.CONSISTENT - 242)) | (1 << (frameQLParser.CONTAINS - 242)) | (1 << (frameQLParser.CONTEXT - 242)) | (1 << (frameQLParser.CONTRIBUTORS - 242)) | (1 << (frameQLParser.COPY - 242)) | (1 << (frameQLParser.CPU - 242)) | (1 << (frameQLParser.DATA - 242)) | (1 << (frameQLParser.DATAFILE - 242)) | (1 << (frameQLParser.DEALLOCATE - 242)) | (1 << (frameQLParser.DEFAULT_AUTH - 242)) | (1 << (frameQLParser.DEFINER - 242)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 242)) | (1 << (frameQLParser.DIRECTORY - 242)) | (1 << (frameQLParser.DISABLE - 242)) | (1 << (frameQLParser.DISCARD - 242)))) != 0) or ((((_la - 306)) & ~0x3f) == 0 and ((1 << (_la - 306)) & ((1 << (frameQLParser.DISK - 306)) | (1 << (frameQLParser.DO - 306)) | (1 << (frameQLParser.DUMPFILE - 306)) | (1 << (frameQLParser.DUPLICATE - 306)) | (1 << (frameQLParser.DYNAMIC - 306)) | (1 << (frameQLParser.ENABLE - 306)) | (1 << (frameQLParser.ENCRYPTION - 306)) | (1 << (frameQLParser.ENDS - 306)) | (1 << (frameQLParser.ENGINE - 306)) | (1 << (frameQLParser.ENGINES - 306)) | (1 << (frameQLParser.ERROR - 306)) | (1 << (frameQLParser.ERRORS - 306)) | (1 << (frameQLParser.ESCAPE - 306)) | (1 << (frameQLParser.EVEN - 306)) | (1 << (frameQLParser.EVENT - 306)) | (1 << (frameQLParser.EVENTS - 306)) | (1 << (frameQLParser.EVERY - 306)) | (1 << (frameQLParser.EXCHANGE - 306)) | (1 << (frameQLParser.EXCLUSIVE - 306)) | (1 << (frameQLParser.EXPIRE - 306)) | (1 << (frameQLParser.EXTENDED - 306)) | (1 << (frameQLParser.EXTENT_SIZE - 306)) | (1 << (frameQLParser.FAST - 306)) | (1 << (frameQLParser.FAULTS - 306)) | (1 << (frameQLParser.FIELDS - 306)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 306)) | (1 << (frameQLParser.FILTER - 306)) | (1 << (frameQLParser.FIRST - 306)) | (1 << (frameQLParser.FIXED - 306)) | (1 << (frameQLParser.FLUSH - 306)) | (1 << (frameQLParser.FOLLOWS - 306)) | (1 << (frameQLParser.FULL - 306)) | (1 << (frameQLParser.FUNCTION - 306)) | (1 << (frameQLParser.GLOBAL - 306)) | (1 << (frameQLParser.GRANTS - 306)) | (1 << (frameQLParser.GROUP_REPLICATION - 306)) | (1 << (frameQLParser.HANDLER - 306)) | (1 << (frameQLParser.HASH - 306)) | (1 << (frameQLParser.HELP - 306)) | (1 << (frameQLParser.HOST - 306)) | (1 << (frameQLParser.IDENTIFIED - 306)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 306)) | (1 << (frameQLParser.IMPORT - 306)) | (1 << (frameQLParser.INDEXES - 306)) | (1 << (frameQLParser.INITIAL_SIZE - 306)) | (1 << (frameQLParser.INPLACE - 306)) | (1 << (frameQLParser.INSERT_METHOD - 306)) | (1 << (frameQLParser.INSTALL - 306)) | (1 << (frameQLParser.INSTANCE - 306)) | (1 << (frameQLParser.INVOKER - 306)) | (1 << (frameQLParser.IO - 306)) | (1 << (frameQLParser.IO_THREAD - 306)) | (1 << (frameQLParser.IPC - 306)) | (1 << (frameQLParser.ISOLATION - 306)) | (1 << (frameQLParser.ISSUER - 306)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 306)) | (1 << (frameQLParser.LANGUAGE - 306)) | (1 << (frameQLParser.LAST - 306)))) != 0) or ((((_la - 370)) & ~0x3f) == 0 and ((1 << (_la - 370)) & ((1 << (frameQLParser.LEAVES - 370)) | (1 << (frameQLParser.LESS - 370)) | (1 << (frameQLParser.LEVEL - 370)) | (1 << (frameQLParser.LIST - 370)) | (1 << (frameQLParser.LOCAL - 370)) | (1 << (frameQLParser.LOGFILE - 370)) | (1 << (frameQLParser.LOGS - 370)) | (1 << (frameQLParser.MASTER - 370)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 370)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 370)) | (1 << (frameQLParser.MASTER_DELAY - 370)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 370)) | (1 << (frameQLParser.MASTER_HOST - 370)) | (1 << (frameQLParser.MASTER_LOG_FILE - 370)) | (1 << (frameQLParser.MASTER_LOG_POS - 370)) | (1 << (frameQLParser.MASTER_PASSWORD - 370)) | (1 << (frameQLParser.MASTER_PORT - 370)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 370)) | (1 << (frameQLParser.MASTER_SSL - 370)) | (1 << (frameQLParser.MASTER_SSL_CA - 370)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_CERT - 370)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 370)) | (1 << (frameQLParser.MASTER_SSL_CRL - 370)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_KEY - 370)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 370)) | (1 << (frameQLParser.MASTER_USER - 370)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_ROWS - 370)) | (1 << (frameQLParser.MAX_SIZE - 370)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 370)) | (1 << (frameQLParser.MEDIUM - 370)) | (1 << (frameQLParser.MERGE - 370)) | (1 << (frameQLParser.MID - 370)) | (1 << (frameQLParser.MIGRATE - 370)) | (1 << (frameQLParser.MIN_ROWS - 370)) | (1 << (frameQLParser.MODIFY - 370)) | (1 << (frameQLParser.MUTEX - 370)) | (1 << (frameQLParser.MYSQL - 370)) | (1 << (frameQLParser.NAME - 370)) | (1 << (frameQLParser.NAMES - 370)) | (1 << (frameQLParser.NCHAR - 370)) | (1 << (frameQLParser.NEVER - 370)) | (1 << (frameQLParser.NO - 370)) | (1 << (frameQLParser.NODEGROUP - 370)) | (1 << (frameQLParser.NONE - 370)) | (1 << (frameQLParser.OFFLINE - 370)) | (1 << (frameQLParser.OFFSET - 370)) | (1 << (frameQLParser.OJ - 370)) | (1 << (frameQLParser.OLD_PASSWORD - 370)) | (1 << (frameQLParser.ONE - 370)) | (1 << (frameQLParser.ONLINE - 370)) | (1 << (frameQLParser.ONLY - 370)) | (1 << (frameQLParser.OPEN - 370)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 370)) | (1 << (frameQLParser.OPTIONS - 370)) | (1 << (frameQLParser.OWNER - 370)) | (1 << (frameQLParser.PACK_KEYS - 370)) | (1 << (frameQLParser.PAGE - 370)))) != 0) or ((((_la - 434)) & ~0x3f) == 0 and ((1 << (_la - 434)) & ((1 << (frameQLParser.PARSER - 434)) | (1 << (frameQLParser.PARTIAL - 434)) | (1 << (frameQLParser.PARTITIONING - 434)) | (1 << (frameQLParser.PARTITIONS - 434)) | (1 << (frameQLParser.PASSWORD - 434)) | (1 << (frameQLParser.PHASE - 434)) | (1 << (frameQLParser.PLUGIN_DIR - 434)) | (1 << (frameQLParser.PLUGINS - 434)) | (1 << (frameQLParser.PORT - 434)) | (1 << (frameQLParser.PRECEDES - 434)) | (1 << (frameQLParser.PREPARE - 434)) | (1 << (frameQLParser.PRESERVE - 434)) | (1 << (frameQLParser.PREV - 434)) | (1 << (frameQLParser.PROCESSLIST - 434)) | (1 << (frameQLParser.PROFILE - 434)) | (1 << (frameQLParser.PROFILES - 434)) | (1 << (frameQLParser.PROXY - 434)) | (1 << (frameQLParser.QUERY - 434)) | (1 << (frameQLParser.QUICK - 434)) | (1 << (frameQLParser.REBUILD - 434)) | (1 << (frameQLParser.RECOVER - 434)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 434)) | (1 << (frameQLParser.REDUNDANT - 434)) | (1 << (frameQLParser.RELAY_LOG_FILE - 434)) | (1 << (frameQLParser.RELAY_LOG_POS - 434)) | (1 << (frameQLParser.RELAYLOG - 434)) | (1 << (frameQLParser.REMOVE - 434)) | (1 << (frameQLParser.REORGANIZE - 434)) | (1 << (frameQLParser.REPAIR - 434)) | (1 << (frameQLParser.REPLICATE_DO_DB - 434)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 434)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATION - 434)) | (1 << (frameQLParser.RESET - 434)) | (1 << (frameQLParser.RESUME - 434)) | (1 << (frameQLParser.RETURNS - 434)) | (1 << (frameQLParser.ROLLBACK - 434)) | (1 << (frameQLParser.ROLLUP - 434)) | (1 << (frameQLParser.ROTATE - 434)) | (1 << (frameQLParser.ROW - 434)) | (1 << (frameQLParser.ROWS - 434)) | (1 << (frameQLParser.ROW_FORMAT - 434)) | (1 << (frameQLParser.SAVEPOINT - 434)) | (1 << (frameQLParser.SCHEDULE - 434)) | (1 << (frameQLParser.SECURITY - 434)) | (1 << (frameQLParser.SERVER - 434)) | (1 << (frameQLParser.SESSION - 434)) | (1 << (frameQLParser.SHARE - 434)) | (1 << (frameQLParser.SHARED - 434)) | (1 << (frameQLParser.SIGNED - 434)) | (1 << (frameQLParser.SIMPLE - 434)) | (1 << (frameQLParser.SLAVE - 434)) | (1 << (frameQLParser.SNAPSHOT - 434)) | (1 << (frameQLParser.SOCKET - 434)) | (1 << (frameQLParser.SOME - 434)) | (1 << (frameQLParser.SOUNDS - 434)))) != 0) or ((((_la - 498)) & ~0x3f) == 0 and ((1 << (_la - 498)) & ((1 << (frameQLParser.SOURCE - 498)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 498)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 498)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 498)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 498)) | (1 << (frameQLParser.SQL_CACHE - 498)) | (1 << (frameQLParser.SQL_NO_CACHE - 498)) | (1 << (frameQLParser.SQL_THREAD - 498)) | (1 << (frameQLParser.START - 498)) | (1 << (frameQLParser.STARTS - 498)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 498)) | (1 << (frameQLParser.STATS_PERSISTENT - 498)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 498)) | (1 << (frameQLParser.STATUS - 498)) | (1 << (frameQLParser.STOP - 498)) | (1 << (frameQLParser.STORAGE - 498)) | (1 << (frameQLParser.STRING - 498)) | (1 << (frameQLParser.SUBJECT - 498)) | (1 << (frameQLParser.SUBPARTITION - 498)) | (1 << (frameQLParser.SUBPARTITIONS - 498)) | (1 << (frameQLParser.SUSPEND - 498)) | (1 << (frameQLParser.SWAPS - 498)) | (1 << (frameQLParser.SWITCHES - 498)) | (1 << (frameQLParser.TABLESPACE - 498)) | (1 << (frameQLParser.TEMPORARY - 498)) | (1 << (frameQLParser.TEMPTABLE - 498)) | (1 << (frameQLParser.THAN - 498)) | (1 << (frameQLParser.TRANSACTION - 498)) | (1 << (frameQLParser.TRUNCATE - 498)) | (1 << (frameQLParser.UNDEFINED - 498)) | (1 << (frameQLParser.UNDOFILE - 498)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 498)) | (1 << (frameQLParser.UNINSTALL - 498)) | (1 << (frameQLParser.UNKNOWN - 498)) | (1 << (frameQLParser.UPGRADE - 498)) | (1 << (frameQLParser.USER - 498)) | (1 << (frameQLParser.VALIDATION - 498)) | (1 << (frameQLParser.VALUE - 498)) | (1 << (frameQLParser.VARIABLES - 498)) | (1 << (frameQLParser.VIEW - 498)) | (1 << (frameQLParser.WAIT - 498)) | (1 << (frameQLParser.WARNINGS - 498)) | (1 << (frameQLParser.WITHOUT - 498)) | (1 << (frameQLParser.WORK - 498)) | (1 << (frameQLParser.WRAPPER - 498)) | (1 << (frameQLParser.X509 - 498)) | (1 << (frameQLParser.XA - 498)) | (1 << (frameQLParser.XML - 498)) | (1 << (frameQLParser.QUARTER - 498)) | (1 << (frameQLParser.MONTH - 498)) | (1 << (frameQLParser.DAY - 498)) | (1 << (frameQLParser.HOUR - 498)))) != 0) or ((((_la - 562)) & ~0x3f) == 0 and ((1 << (_la - 562)) & ((1 << (frameQLParser.MINUTE - 562)) | (1 << (frameQLParser.WEEK - 562)) | (1 << (frameQLParser.SECOND - 562)) | (1 << (frameQLParser.MICROSECOND - 562)) | (1 << (frameQLParser.TABLES - 562)) | (1 << (frameQLParser.ROUTINE - 562)) | (1 << (frameQLParser.EXECUTE - 562)) | (1 << (frameQLParser.FILE - 562)) | (1 << (frameQLParser.PROCESS - 562)) | (1 << (frameQLParser.RELOAD - 562)) | (1 << (frameQLParser.SHUTDOWN - 562)) | (1 << (frameQLParser.SUPER - 562)) | (1 << (frameQLParser.PRIVILEGES - 562)) | (1 << (frameQLParser.ARMSCII8 - 562)) | (1 << (frameQLParser.ASCII - 562)) | (1 << (frameQLParser.BIG5 - 562)) | (1 << (frameQLParser.CP1250 - 562)) | (1 << (frameQLParser.CP1251 - 562)) | (1 << (frameQLParser.CP1256 - 562)) | (1 << (frameQLParser.CP1257 - 562)) | (1 << (frameQLParser.CP850 - 562)) | (1 << (frameQLParser.CP852 - 562)) | (1 << (frameQLParser.CP866 - 562)) | (1 << (frameQLParser.CP932 - 562)) | (1 << (frameQLParser.DEC8 - 562)) | (1 << (frameQLParser.EUCJPMS - 562)) | (1 << (frameQLParser.EUCKR - 562)) | (1 << (frameQLParser.GB2312 - 562)) | (1 << (frameQLParser.GBK - 562)) | (1 << (frameQLParser.GEOSTD8 - 562)) | (1 << (frameQLParser.GREEK - 562)) | (1 << (frameQLParser.HEBREW - 562)) | (1 << (frameQLParser.HP8 - 562)) | (1 << (frameQLParser.KEYBCS2 - 562)) | (1 << (frameQLParser.KOI8R - 562)) | (1 << (frameQLParser.KOI8U - 562)) | (1 << (frameQLParser.LATIN1 - 562)) | (1 << (frameQLParser.LATIN2 - 562)) | (1 << (frameQLParser.LATIN5 - 562)) | (1 << (frameQLParser.LATIN7 - 562)) | (1 << (frameQLParser.MACCE - 562)) | (1 << (frameQLParser.MACROMAN - 562)) | (1 << (frameQLParser.SJIS - 562)) | (1 << (frameQLParser.SWE7 - 562)) | (1 << (frameQLParser.TIS620 - 562)) | (1 << (frameQLParser.UCS2 - 562)) | (1 << (frameQLParser.UJIS - 562)) | (1 << (frameQLParser.UTF16 - 562)) | (1 << (frameQLParser.UTF16LE - 562)) | (1 << (frameQLParser.UTF32 - 562)) | (1 << (frameQLParser.UTF8 - 562)) | (1 << (frameQLParser.UTF8MB3 - 562)) | (1 << (frameQLParser.UTF8MB4 - 562)) | (1 << (frameQLParser.ARCHIVE - 562)) | (1 << (frameQLParser.BLACKHOLE - 562)) | (1 << (frameQLParser.CSV - 562)) | (1 << (frameQLParser.FEDERATED - 562)) | (1 << (frameQLParser.INNODB - 562)) | (1 << (frameQLParser.MEMORY - 562)) | (1 << (frameQLParser.MRG_MYISAM - 562)) | (1 << (frameQLParser.MYISAM - 562)) | (1 << (frameQLParser.NDB - 562)) | (1 << (frameQLParser.NDBCLUSTER - 562)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 562)))) != 0) or ((((_la - 626)) & ~0x3f) == 0 and ((1 << (_la - 626)) & ((1 << (frameQLParser.REPEATABLE - 626)) | (1 << (frameQLParser.COMMITTED - 626)) | (1 << (frameQLParser.UNCOMMITTED - 626)) | (1 << (frameQLParser.SERIALIZABLE - 626)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 626)) | (1 << (frameQLParser.LINESTRING - 626)) | (1 << (frameQLParser.MULTILINESTRING - 626)) | (1 << (frameQLParser.MULTIPOINT - 626)) | (1 << (frameQLParser.MULTIPOLYGON - 626)) | (1 << (frameQLParser.POINT - 626)) | (1 << (frameQLParser.POLYGON - 626)) | (1 << (frameQLParser.ABS - 626)) | (1 << (frameQLParser.ACOS - 626)) | (1 << (frameQLParser.ADDDATE - 626)) | (1 << (frameQLParser.ADDTIME - 626)) | (1 << (frameQLParser.AES_DECRYPT - 626)) | (1 << (frameQLParser.AES_ENCRYPT - 626)) | (1 << (frameQLParser.AREA - 626)) | (1 << (frameQLParser.ASBINARY - 626)) | (1 << (frameQLParser.ASIN - 626)) | (1 << (frameQLParser.ASTEXT - 626)) | (1 << (frameQLParser.ASWKB - 626)) | (1 << (frameQLParser.ASWKT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 626)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 626)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 626)) | (1 << (frameQLParser.ATAN - 626)) | (1 << (frameQLParser.ATAN2 - 626)) | (1 << (frameQLParser.BENCHMARK - 626)) | (1 << (frameQLParser.BIN - 626)) | (1 << (frameQLParser.BIT_COUNT - 626)) | (1 << (frameQLParser.BIT_LENGTH - 626)) | (1 << (frameQLParser.BUFFER - 626)) | (1 << (frameQLParser.CEIL - 626)) | (1 << (frameQLParser.CEILING - 626)) | (1 << (frameQLParser.CENTROID - 626)) | (1 << (frameQLParser.CHARACTER_LENGTH - 626)) | (1 << (frameQLParser.CHARSET - 626)) | (1 << (frameQLParser.CHAR_LENGTH - 626)) | (1 << (frameQLParser.COERCIBILITY - 626)) | (1 << (frameQLParser.COLLATION - 626)) | (1 << (frameQLParser.COMPRESS - 626)) | (1 << (frameQLParser.CONCAT - 626)) | (1 << (frameQLParser.CONCAT_WS - 626)) | (1 << (frameQLParser.CONNECTION_ID - 626)) | (1 << (frameQLParser.CONV - 626)) | (1 << (frameQLParser.CONVERT_TZ - 626)) | (1 << (frameQLParser.COS - 626)) | (1 << (frameQLParser.COT - 626)) | (1 << (frameQLParser.CRC32 - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 626)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 626)) | (1 << (frameQLParser.CREATE_DIGEST - 626)) | (1 << (frameQLParser.CROSSES - 626)) | (1 << (frameQLParser.DATEDIFF - 626)) | (1 << (frameQLParser.DATE_FORMAT - 626)) | (1 << (frameQLParser.DAYNAME - 626)) | (1 << (frameQLParser.DAYOFMONTH - 626)) | (1 << (frameQLParser.DAYOFWEEK - 626)) | (1 << (frameQLParser.DAYOFYEAR - 626)) | (1 << (frameQLParser.DECODE - 626)))) != 0) or ((((_la - 690)) & ~0x3f) == 0 and ((1 << (_la - 690)) & ((1 << (frameQLParser.DEGREES - 690)) | (1 << (frameQLParser.DES_DECRYPT - 690)) | (1 << (frameQLParser.DES_ENCRYPT - 690)) | (1 << (frameQLParser.DIMENSION - 690)) | (1 << (frameQLParser.DISJOINT - 690)) | (1 << (frameQLParser.ELT - 690)) | (1 << (frameQLParser.ENCODE - 690)) | (1 << (frameQLParser.ENCRYPT - 690)) | (1 << (frameQLParser.ENDPOINT - 690)) | (1 << (frameQLParser.ENVELOPE - 690)) | (1 << (frameQLParser.EQUALS - 690)) | (1 << (frameQLParser.EXP - 690)) | (1 << (frameQLParser.EXPORT_SET - 690)) | (1 << (frameQLParser.EXTERIORRING - 690)) | (1 << (frameQLParser.EXTRACTVALUE - 690)) | (1 << (frameQLParser.FIELD - 690)) | (1 << (frameQLParser.FIND_IN_SET - 690)) | (1 << (frameQLParser.FLOOR - 690)) | (1 << (frameQLParser.FORMAT - 690)) | (1 << (frameQLParser.FOUND_ROWS - 690)) | (1 << (frameQLParser.FROM_BASE64 - 690)) | (1 << (frameQLParser.FROM_DAYS - 690)) | (1 << (frameQLParser.FROM_UNIXTIME - 690)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 690)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYN - 690)) | (1 << (frameQLParser.GEOMETRYTYPE - 690)) | (1 << (frameQLParser.GEOMFROMTEXT - 690)) | (1 << (frameQLParser.GEOMFROMWKB - 690)) | (1 << (frameQLParser.GET_FORMAT - 690)) | (1 << (frameQLParser.GET_LOCK - 690)) | (1 << (frameQLParser.GLENGTH - 690)) | (1 << (frameQLParser.GREATEST - 690)) | (1 << (frameQLParser.GTID_SUBSET - 690)) | (1 << (frameQLParser.GTID_SUBTRACT - 690)) | (1 << (frameQLParser.HEX - 690)) | (1 << (frameQLParser.IFNULL - 690)) | (1 << (frameQLParser.INET6_ATON - 690)) | (1 << (frameQLParser.INET6_NTOA - 690)) | (1 << (frameQLParser.INET_ATON - 690)) | (1 << (frameQLParser.INET_NTOA - 690)) | (1 << (frameQLParser.INSTR - 690)) | (1 << (frameQLParser.INTERIORRINGN - 690)) | (1 << (frameQLParser.INTERSECTS - 690)) | (1 << (frameQLParser.ISCLOSED - 690)) | (1 << (frameQLParser.ISEMPTY - 690)) | (1 << (frameQLParser.ISNULL - 690)) | (1 << (frameQLParser.ISSIMPLE - 690)) | (1 << (frameQLParser.IS_FREE_LOCK - 690)) | (1 << (frameQLParser.IS_IPV4 - 690)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 690)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 690)) | (1 << (frameQLParser.IS_IPV6 - 690)) | (1 << (frameQLParser.IS_USED_LOCK - 690)) | (1 << (frameQLParser.LAST_INSERT_ID - 690)) | (1 << (frameQLParser.LCASE - 690)) | (1 << (frameQLParser.LEAST - 690)) | (1 << (frameQLParser.LENGTH - 690)) | (1 << (frameQLParser.LINEFROMTEXT - 690)) | (1 << (frameQLParser.LINEFROMWKB - 690)))) != 0) or ((((_la - 754)) & ~0x3f) == 0 and ((1 << (_la - 754)) & ((1 << (frameQLParser.LINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.LN - 754)) | (1 << (frameQLParser.LOAD_FILE - 754)) | (1 << (frameQLParser.LOCATE - 754)) | (1 << (frameQLParser.LOG - 754)) | (1 << (frameQLParser.LOG10 - 754)) | (1 << (frameQLParser.LOG2 - 754)) | (1 << (frameQLParser.LOWER - 754)) | (1 << (frameQLParser.LPAD - 754)) | (1 << (frameQLParser.LTRIM - 754)) | (1 << (frameQLParser.MAKEDATE - 754)) | (1 << (frameQLParser.MAKETIME - 754)) | (1 << (frameQLParser.MAKE_SET - 754)) | (1 << (frameQLParser.MASTER_POS_WAIT - 754)) | (1 << (frameQLParser.MBRCONTAINS - 754)) | (1 << (frameQLParser.MBRDISJOINT - 754)) | (1 << (frameQLParser.MBREQUAL - 754)) | (1 << (frameQLParser.MBRINTERSECTS - 754)) | (1 << (frameQLParser.MBROVERLAPS - 754)) | (1 << (frameQLParser.MBRTOUCHES - 754)) | (1 << (frameQLParser.MBRWITHIN - 754)) | (1 << (frameQLParser.MD5 - 754)) | (1 << (frameQLParser.MLINEFROMTEXT - 754)) | (1 << (frameQLParser.MLINEFROMWKB - 754)) | (1 << (frameQLParser.MONTHNAME - 754)) | (1 << (frameQLParser.MPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MPOINTFROMWKB - 754)) | (1 << (frameQLParser.MPOLYFROMTEXT - 754)) | (1 << (frameQLParser.MPOLYFROMWKB - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 754)) | (1 << (frameQLParser.NAME_CONST - 754)) | (1 << (frameQLParser.NULLIF - 754)) | (1 << (frameQLParser.NUMGEOMETRIES - 754)) | (1 << (frameQLParser.NUMINTERIORRINGS - 754)) | (1 << (frameQLParser.NUMPOINTS - 754)) | (1 << (frameQLParser.OCT - 754)) | (1 << (frameQLParser.OCTET_LENGTH - 754)) | (1 << (frameQLParser.ORD - 754)) | (1 << (frameQLParser.OVERLAPS - 754)) | (1 << (frameQLParser.PERIOD_ADD - 754)) | (1 << (frameQLParser.PERIOD_DIFF - 754)) | (1 << (frameQLParser.PI - 754)) | (1 << (frameQLParser.POINTFROMTEXT - 754)) | (1 << (frameQLParser.POINTFROMWKB - 754)) | (1 << (frameQLParser.POINTN - 754)) | (1 << (frameQLParser.POLYFROMTEXT - 754)) | (1 << (frameQLParser.POLYFROMWKB - 754)) | (1 << (frameQLParser.POLYGONFROMTEXT - 754)) | (1 << (frameQLParser.POLYGONFROMWKB - 754)) | (1 << (frameQLParser.POW - 754)) | (1 << (frameQLParser.POWER - 754)) | (1 << (frameQLParser.QUOTE - 754)) | (1 << (frameQLParser.RADIANS - 754)) | (1 << (frameQLParser.RAND - 754)) | (1 << (frameQLParser.RANDOM_BYTES - 754)) | (1 << (frameQLParser.RELEASE_LOCK - 754)) | (1 << (frameQLParser.REVERSE - 754)) | (1 << (frameQLParser.ROUND - 754)))) != 0) or ((((_la - 818)) & ~0x3f) == 0 and ((1 << (_la - 818)) & ((1 << (frameQLParser.ROW_COUNT - 818)) | (1 << (frameQLParser.RPAD - 818)) | (1 << (frameQLParser.RTRIM - 818)) | (1 << (frameQLParser.SEC_TO_TIME - 818)) | (1 << (frameQLParser.SESSION_USER - 818)) | (1 << (frameQLParser.SHA - 818)) | (1 << (frameQLParser.SHA1 - 818)) | (1 << (frameQLParser.SHA2 - 818)) | (1 << (frameQLParser.SIGN - 818)) | (1 << (frameQLParser.SIN - 818)) | (1 << (frameQLParser.SLEEP - 818)) | (1 << (frameQLParser.SOUNDEX - 818)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 818)) | (1 << (frameQLParser.SQRT - 818)) | (1 << (frameQLParser.SRID - 818)) | (1 << (frameQLParser.STARTPOINT - 818)) | (1 << (frameQLParser.STRCMP - 818)) | (1 << (frameQLParser.STR_TO_DATE - 818)) | (1 << (frameQLParser.ST_AREA - 818)) | (1 << (frameQLParser.ST_ASBINARY - 818)) | (1 << (frameQLParser.ST_ASTEXT - 818)) | (1 << (frameQLParser.ST_ASWKB - 818)) | (1 << (frameQLParser.ST_ASWKT - 818)) | (1 << (frameQLParser.ST_BUFFER - 818)) | (1 << (frameQLParser.ST_CENTROID - 818)) | (1 << (frameQLParser.ST_CONTAINS - 818)) | (1 << (frameQLParser.ST_CROSSES - 818)) | (1 << (frameQLParser.ST_DIFFERENCE - 818)) | (1 << (frameQLParser.ST_DIMENSION - 818)) | (1 << (frameQLParser.ST_DISJOINT - 818)) | (1 << (frameQLParser.ST_DISTANCE - 818)) | (1 << (frameQLParser.ST_ENDPOINT - 818)) | (1 << (frameQLParser.ST_ENVELOPE - 818)) | (1 << (frameQLParser.ST_EQUALS - 818)) | (1 << (frameQLParser.ST_EXTERIORRING - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYN - 818)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 818)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 818)) | (1 << (frameQLParser.ST_INTERIORRINGN - 818)) | (1 << (frameQLParser.ST_INTERSECTION - 818)) | (1 << (frameQLParser.ST_INTERSECTS - 818)) | (1 << (frameQLParser.ST_ISCLOSED - 818)) | (1 << (frameQLParser.ST_ISEMPTY - 818)) | (1 << (frameQLParser.ST_ISSIMPLE - 818)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINEFROMWKB - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 818)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 818)) | (1 << (frameQLParser.ST_NUMPOINTS - 818)) | (1 << (frameQLParser.ST_OVERLAPS - 818)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 818)) | (1 << (frameQLParser.ST_POINTFROMWKB - 818)) | (1 << (frameQLParser.ST_POINTN - 818)))) != 0) or ((((_la - 882)) & ~0x3f) == 0 and ((1 << (_la - 882)) & ((1 << (frameQLParser.ST_POLYFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYFROMWKB - 882)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 882)) | (1 << (frameQLParser.ST_SRID - 882)) | (1 << (frameQLParser.ST_STARTPOINT - 882)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 882)) | (1 << (frameQLParser.ST_TOUCHES - 882)) | (1 << (frameQLParser.ST_UNION - 882)) | (1 << (frameQLParser.ST_WITHIN - 882)) | (1 << (frameQLParser.ST_X - 882)) | (1 << (frameQLParser.ST_Y - 882)) | (1 << (frameQLParser.SUBDATE - 882)) | (1 << (frameQLParser.SUBSTRING_INDEX - 882)) | (1 << (frameQLParser.SUBTIME - 882)) | (1 << (frameQLParser.SYSTEM_USER - 882)) | (1 << (frameQLParser.TAN - 882)) | (1 << (frameQLParser.TIMEDIFF - 882)) | (1 << (frameQLParser.TIMESTAMPADD - 882)) | (1 << (frameQLParser.TIMESTAMPDIFF - 882)) | (1 << (frameQLParser.TIME_FORMAT - 882)) | (1 << (frameQLParser.TIME_TO_SEC - 882)) | (1 << (frameQLParser.TOUCHES - 882)) | (1 << (frameQLParser.TO_BASE64 - 882)) | (1 << (frameQLParser.TO_DAYS - 882)) | (1 << (frameQLParser.TO_SECONDS - 882)) | (1 << (frameQLParser.UCASE - 882)) | (1 << (frameQLParser.UNCOMPRESS - 882)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 882)) | (1 << (frameQLParser.UNHEX - 882)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 882)) | (1 << (frameQLParser.UPDATEXML - 882)) | (1 << (frameQLParser.UPPER - 882)) | (1 << (frameQLParser.UUID - 882)) | (1 << (frameQLParser.UUID_SHORT - 882)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 882)) | (1 << (frameQLParser.VERSION - 882)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 882)) | (1 << (frameQLParser.WEEKDAY - 882)) | (1 << (frameQLParser.WEEKOFYEAR - 882)) | (1 << (frameQLParser.WEIGHT_STRING - 882)) | (1 << (frameQLParser.WITHIN - 882)) | (1 << (frameQLParser.YEARWEEK - 882)) | (1 << (frameQLParser.Y_FUNCTION - 882)) | (1 << (frameQLParser.X_FUNCTION - 882)))) != 0) or ((((_la - 953)) & ~0x3f) == 0 and ((1 << (_la - 953)) & ((1 << (frameQLParser.LR_BRACKET - 953)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 953)) | (1 << (frameQLParser.STRING_LITERAL - 953)) | (1 << (frameQLParser.ID - 953)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 953)))) != 0)): - break - - - - self.state = 4119 - self.match(frameQLParser.END) - self.state = 4120 - self.match(frameQLParser.IF) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class IterateStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ITERATE(self): - return self.getToken(frameQLParser.ITERATE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_iterateStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIterateStatement" ): - listener.enterIterateStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIterateStatement" ): - listener.exitIterateStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitIterateStatement" ): - return visitor.visitIterateStatement(self) - else: - return visitor.visitChildren(self) - - - - - def iterateStatement(self): - - localctx = frameQLParser.IterateStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 354, self.RULE_iterateStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 4122 - self.match(frameQLParser.ITERATE) - self.state = 4123 - self.uid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class LeaveStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LEAVE(self): - return self.getToken(frameQLParser.LEAVE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_leaveStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLeaveStatement" ): - listener.enterLeaveStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLeaveStatement" ): - listener.exitLeaveStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitLeaveStatement" ): - return visitor.visitLeaveStatement(self) - else: - return visitor.visitChildren(self) - - - - - def leaveStatement(self): - - localctx = frameQLParser.LeaveStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 356, self.RULE_leaveStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 4125 - self.match(frameQLParser.LEAVE) - self.state = 4126 - self.uid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class LoopStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LOOP(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.LOOP) - else: - return self.getToken(frameQLParser.LOOP, i) - - def END(self): - return self.getToken(frameQLParser.END, 0) - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def procedureSqlStatement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ProcedureSqlStatementContext) - else: - return self.getTypedRuleContext(frameQLParser.ProcedureSqlStatementContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_loopStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLoopStatement" ): - listener.enterLoopStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLoopStatement" ): - listener.exitLoopStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitLoopStatement" ): - return visitor.visitLoopStatement(self) - else: - return visitor.visitChildren(self) - - - - - def loopStatement(self): - - localctx = frameQLParser.LoopStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 358, self.RULE_loopStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4131 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 4128 - self.uid() - self.state = 4129 - self.match(frameQLParser.COLON_SYMB) - - - self.state = 4133 - self.match(frameQLParser.LOOP) - self.state = 4135 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4134 - self.procedureSqlStatement() - self.state = 4137 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 9)) & ~0x3f) == 0 and ((1 << (_la - 9)) & ((1 << (frameQLParser.ALTER - 9)) | (1 << (frameQLParser.ANALYZE - 9)) | (1 << (frameQLParser.CALL - 9)) | (1 << (frameQLParser.CASE - 9)) | (1 << (frameQLParser.CHANGE - 9)) | (1 << (frameQLParser.CHECK - 9)) | (1 << (frameQLParser.CREATE - 9)) | (1 << (frameQLParser.DATABASE - 9)) | (1 << (frameQLParser.DELETE - 9)) | (1 << (frameQLParser.DESC - 9)) | (1 << (frameQLParser.DESCRIBE - 9)) | (1 << (frameQLParser.DROP - 9)) | (1 << (frameQLParser.EXPLAIN - 9)) | (1 << (frameQLParser.FETCH - 9)) | (1 << (frameQLParser.GRANT - 9)) | (1 << (frameQLParser.IF - 9)))) != 0) or ((((_la - 75)) & ~0x3f) == 0 and ((1 << (_la - 75)) & ((1 << (frameQLParser.INSERT - 75)) | (1 << (frameQLParser.ITERATE - 75)) | (1 << (frameQLParser.KILL - 75)) | (1 << (frameQLParser.LEAVE - 75)) | (1 << (frameQLParser.LEFT - 75)) | (1 << (frameQLParser.LOAD - 75)) | (1 << (frameQLParser.LOCK - 75)) | (1 << (frameQLParser.LOOP - 75)) | (1 << (frameQLParser.OPTIMIZE - 75)) | (1 << (frameQLParser.PURGE - 75)) | (1 << (frameQLParser.RELEASE - 75)) | (1 << (frameQLParser.RENAME - 75)) | (1 << (frameQLParser.REPEAT - 75)) | (1 << (frameQLParser.REPLACE - 75)) | (1 << (frameQLParser.RETURN - 75)) | (1 << (frameQLParser.REVOKE - 75)) | (1 << (frameQLParser.RIGHT - 75)) | (1 << (frameQLParser.SELECT - 75)) | (1 << (frameQLParser.SET - 75)) | (1 << (frameQLParser.SHOW - 75)))) != 0) or ((((_la - 159)) & ~0x3f) == 0 and ((1 << (_la - 159)) & ((1 << (frameQLParser.UNLOCK - 159)) | (1 << (frameQLParser.UPDATE - 159)) | (1 << (frameQLParser.USE - 159)) | (1 << (frameQLParser.WHILE - 159)) | (1 << (frameQLParser.DATE - 159)) | (1 << (frameQLParser.TIME - 159)) | (1 << (frameQLParser.TIMESTAMP - 159)) | (1 << (frameQLParser.DATETIME - 159)) | (1 << (frameQLParser.YEAR - 159)) | (1 << (frameQLParser.TEXT - 159)) | (1 << (frameQLParser.ENUM - 159)) | (1 << (frameQLParser.SERIAL - 159)) | (1 << (frameQLParser.COUNT - 159)))) != 0) or ((((_la - 242)) & ~0x3f) == 0 and ((1 << (_la - 242)) & ((1 << (frameQLParser.POSITION - 242)) | (1 << (frameQLParser.ACCOUNT - 242)) | (1 << (frameQLParser.ACTION - 242)) | (1 << (frameQLParser.AFTER - 242)) | (1 << (frameQLParser.AGGREGATE - 242)) | (1 << (frameQLParser.ALGORITHM - 242)) | (1 << (frameQLParser.ANY - 242)) | (1 << (frameQLParser.AT - 242)) | (1 << (frameQLParser.AUTHORS - 242)) | (1 << (frameQLParser.AUTOCOMMIT - 242)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 242)) | (1 << (frameQLParser.AUTO_INCREMENT - 242)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 242)) | (1 << (frameQLParser.BEGIN - 242)) | (1 << (frameQLParser.BINLOG - 242)) | (1 << (frameQLParser.BIT - 242)) | (1 << (frameQLParser.BLOCK - 242)) | (1 << (frameQLParser.BOOL - 242)) | (1 << (frameQLParser.BOOLEAN - 242)) | (1 << (frameQLParser.BTREE - 242)) | (1 << (frameQLParser.CACHE - 242)) | (1 << (frameQLParser.CASCADED - 242)) | (1 << (frameQLParser.CHAIN - 242)) | (1 << (frameQLParser.CHANGED - 242)) | (1 << (frameQLParser.CHANNEL - 242)) | (1 << (frameQLParser.CHECKSUM - 242)) | (1 << (frameQLParser.CIPHER - 242)) | (1 << (frameQLParser.CLIENT - 242)) | (1 << (frameQLParser.CLOSE - 242)) | (1 << (frameQLParser.COALESCE - 242)) | (1 << (frameQLParser.CODE - 242)) | (1 << (frameQLParser.COLUMNS - 242)) | (1 << (frameQLParser.COLUMN_FORMAT - 242)) | (1 << (frameQLParser.COMMENT - 242)) | (1 << (frameQLParser.COMMIT - 242)) | (1 << (frameQLParser.COMPACT - 242)) | (1 << (frameQLParser.COMPLETION - 242)) | (1 << (frameQLParser.COMPRESSED - 242)) | (1 << (frameQLParser.COMPRESSION - 242)) | (1 << (frameQLParser.CONCURRENT - 242)) | (1 << (frameQLParser.CONNECTION - 242)) | (1 << (frameQLParser.CONSISTENT - 242)) | (1 << (frameQLParser.CONTAINS - 242)) | (1 << (frameQLParser.CONTEXT - 242)) | (1 << (frameQLParser.CONTRIBUTORS - 242)) | (1 << (frameQLParser.COPY - 242)) | (1 << (frameQLParser.CPU - 242)) | (1 << (frameQLParser.DATA - 242)) | (1 << (frameQLParser.DATAFILE - 242)) | (1 << (frameQLParser.DEALLOCATE - 242)) | (1 << (frameQLParser.DEFAULT_AUTH - 242)) | (1 << (frameQLParser.DEFINER - 242)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 242)) | (1 << (frameQLParser.DIRECTORY - 242)) | (1 << (frameQLParser.DISABLE - 242)) | (1 << (frameQLParser.DISCARD - 242)))) != 0) or ((((_la - 306)) & ~0x3f) == 0 and ((1 << (_la - 306)) & ((1 << (frameQLParser.DISK - 306)) | (1 << (frameQLParser.DO - 306)) | (1 << (frameQLParser.DUMPFILE - 306)) | (1 << (frameQLParser.DUPLICATE - 306)) | (1 << (frameQLParser.DYNAMIC - 306)) | (1 << (frameQLParser.ENABLE - 306)) | (1 << (frameQLParser.ENCRYPTION - 306)) | (1 << (frameQLParser.ENDS - 306)) | (1 << (frameQLParser.ENGINE - 306)) | (1 << (frameQLParser.ENGINES - 306)) | (1 << (frameQLParser.ERROR - 306)) | (1 << (frameQLParser.ERRORS - 306)) | (1 << (frameQLParser.ESCAPE - 306)) | (1 << (frameQLParser.EVEN - 306)) | (1 << (frameQLParser.EVENT - 306)) | (1 << (frameQLParser.EVENTS - 306)) | (1 << (frameQLParser.EVERY - 306)) | (1 << (frameQLParser.EXCHANGE - 306)) | (1 << (frameQLParser.EXCLUSIVE - 306)) | (1 << (frameQLParser.EXPIRE - 306)) | (1 << (frameQLParser.EXTENDED - 306)) | (1 << (frameQLParser.EXTENT_SIZE - 306)) | (1 << (frameQLParser.FAST - 306)) | (1 << (frameQLParser.FAULTS - 306)) | (1 << (frameQLParser.FIELDS - 306)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 306)) | (1 << (frameQLParser.FILTER - 306)) | (1 << (frameQLParser.FIRST - 306)) | (1 << (frameQLParser.FIXED - 306)) | (1 << (frameQLParser.FLUSH - 306)) | (1 << (frameQLParser.FOLLOWS - 306)) | (1 << (frameQLParser.FULL - 306)) | (1 << (frameQLParser.FUNCTION - 306)) | (1 << (frameQLParser.GLOBAL - 306)) | (1 << (frameQLParser.GRANTS - 306)) | (1 << (frameQLParser.GROUP_REPLICATION - 306)) | (1 << (frameQLParser.HANDLER - 306)) | (1 << (frameQLParser.HASH - 306)) | (1 << (frameQLParser.HELP - 306)) | (1 << (frameQLParser.HOST - 306)) | (1 << (frameQLParser.IDENTIFIED - 306)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 306)) | (1 << (frameQLParser.IMPORT - 306)) | (1 << (frameQLParser.INDEXES - 306)) | (1 << (frameQLParser.INITIAL_SIZE - 306)) | (1 << (frameQLParser.INPLACE - 306)) | (1 << (frameQLParser.INSERT_METHOD - 306)) | (1 << (frameQLParser.INSTALL - 306)) | (1 << (frameQLParser.INSTANCE - 306)) | (1 << (frameQLParser.INVOKER - 306)) | (1 << (frameQLParser.IO - 306)) | (1 << (frameQLParser.IO_THREAD - 306)) | (1 << (frameQLParser.IPC - 306)) | (1 << (frameQLParser.ISOLATION - 306)) | (1 << (frameQLParser.ISSUER - 306)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 306)) | (1 << (frameQLParser.LANGUAGE - 306)) | (1 << (frameQLParser.LAST - 306)))) != 0) or ((((_la - 370)) & ~0x3f) == 0 and ((1 << (_la - 370)) & ((1 << (frameQLParser.LEAVES - 370)) | (1 << (frameQLParser.LESS - 370)) | (1 << (frameQLParser.LEVEL - 370)) | (1 << (frameQLParser.LIST - 370)) | (1 << (frameQLParser.LOCAL - 370)) | (1 << (frameQLParser.LOGFILE - 370)) | (1 << (frameQLParser.LOGS - 370)) | (1 << (frameQLParser.MASTER - 370)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 370)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 370)) | (1 << (frameQLParser.MASTER_DELAY - 370)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 370)) | (1 << (frameQLParser.MASTER_HOST - 370)) | (1 << (frameQLParser.MASTER_LOG_FILE - 370)) | (1 << (frameQLParser.MASTER_LOG_POS - 370)) | (1 << (frameQLParser.MASTER_PASSWORD - 370)) | (1 << (frameQLParser.MASTER_PORT - 370)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 370)) | (1 << (frameQLParser.MASTER_SSL - 370)) | (1 << (frameQLParser.MASTER_SSL_CA - 370)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_CERT - 370)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 370)) | (1 << (frameQLParser.MASTER_SSL_CRL - 370)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_KEY - 370)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 370)) | (1 << (frameQLParser.MASTER_USER - 370)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_ROWS - 370)) | (1 << (frameQLParser.MAX_SIZE - 370)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 370)) | (1 << (frameQLParser.MEDIUM - 370)) | (1 << (frameQLParser.MERGE - 370)) | (1 << (frameQLParser.MID - 370)) | (1 << (frameQLParser.MIGRATE - 370)) | (1 << (frameQLParser.MIN_ROWS - 370)) | (1 << (frameQLParser.MODIFY - 370)) | (1 << (frameQLParser.MUTEX - 370)) | (1 << (frameQLParser.MYSQL - 370)) | (1 << (frameQLParser.NAME - 370)) | (1 << (frameQLParser.NAMES - 370)) | (1 << (frameQLParser.NCHAR - 370)) | (1 << (frameQLParser.NEVER - 370)) | (1 << (frameQLParser.NO - 370)) | (1 << (frameQLParser.NODEGROUP - 370)) | (1 << (frameQLParser.NONE - 370)) | (1 << (frameQLParser.OFFLINE - 370)) | (1 << (frameQLParser.OFFSET - 370)) | (1 << (frameQLParser.OJ - 370)) | (1 << (frameQLParser.OLD_PASSWORD - 370)) | (1 << (frameQLParser.ONE - 370)) | (1 << (frameQLParser.ONLINE - 370)) | (1 << (frameQLParser.ONLY - 370)) | (1 << (frameQLParser.OPEN - 370)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 370)) | (1 << (frameQLParser.OPTIONS - 370)) | (1 << (frameQLParser.OWNER - 370)) | (1 << (frameQLParser.PACK_KEYS - 370)) | (1 << (frameQLParser.PAGE - 370)))) != 0) or ((((_la - 434)) & ~0x3f) == 0 and ((1 << (_la - 434)) & ((1 << (frameQLParser.PARSER - 434)) | (1 << (frameQLParser.PARTIAL - 434)) | (1 << (frameQLParser.PARTITIONING - 434)) | (1 << (frameQLParser.PARTITIONS - 434)) | (1 << (frameQLParser.PASSWORD - 434)) | (1 << (frameQLParser.PHASE - 434)) | (1 << (frameQLParser.PLUGIN_DIR - 434)) | (1 << (frameQLParser.PLUGINS - 434)) | (1 << (frameQLParser.PORT - 434)) | (1 << (frameQLParser.PRECEDES - 434)) | (1 << (frameQLParser.PREPARE - 434)) | (1 << (frameQLParser.PRESERVE - 434)) | (1 << (frameQLParser.PREV - 434)) | (1 << (frameQLParser.PROCESSLIST - 434)) | (1 << (frameQLParser.PROFILE - 434)) | (1 << (frameQLParser.PROFILES - 434)) | (1 << (frameQLParser.PROXY - 434)) | (1 << (frameQLParser.QUERY - 434)) | (1 << (frameQLParser.QUICK - 434)) | (1 << (frameQLParser.REBUILD - 434)) | (1 << (frameQLParser.RECOVER - 434)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 434)) | (1 << (frameQLParser.REDUNDANT - 434)) | (1 << (frameQLParser.RELAY_LOG_FILE - 434)) | (1 << (frameQLParser.RELAY_LOG_POS - 434)) | (1 << (frameQLParser.RELAYLOG - 434)) | (1 << (frameQLParser.REMOVE - 434)) | (1 << (frameQLParser.REORGANIZE - 434)) | (1 << (frameQLParser.REPAIR - 434)) | (1 << (frameQLParser.REPLICATE_DO_DB - 434)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 434)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATION - 434)) | (1 << (frameQLParser.RESET - 434)) | (1 << (frameQLParser.RESUME - 434)) | (1 << (frameQLParser.RETURNS - 434)) | (1 << (frameQLParser.ROLLBACK - 434)) | (1 << (frameQLParser.ROLLUP - 434)) | (1 << (frameQLParser.ROTATE - 434)) | (1 << (frameQLParser.ROW - 434)) | (1 << (frameQLParser.ROWS - 434)) | (1 << (frameQLParser.ROW_FORMAT - 434)) | (1 << (frameQLParser.SAVEPOINT - 434)) | (1 << (frameQLParser.SCHEDULE - 434)) | (1 << (frameQLParser.SECURITY - 434)) | (1 << (frameQLParser.SERVER - 434)) | (1 << (frameQLParser.SESSION - 434)) | (1 << (frameQLParser.SHARE - 434)) | (1 << (frameQLParser.SHARED - 434)) | (1 << (frameQLParser.SIGNED - 434)) | (1 << (frameQLParser.SIMPLE - 434)) | (1 << (frameQLParser.SLAVE - 434)) | (1 << (frameQLParser.SNAPSHOT - 434)) | (1 << (frameQLParser.SOCKET - 434)) | (1 << (frameQLParser.SOME - 434)) | (1 << (frameQLParser.SOUNDS - 434)))) != 0) or ((((_la - 498)) & ~0x3f) == 0 and ((1 << (_la - 498)) & ((1 << (frameQLParser.SOURCE - 498)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 498)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 498)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 498)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 498)) | (1 << (frameQLParser.SQL_CACHE - 498)) | (1 << (frameQLParser.SQL_NO_CACHE - 498)) | (1 << (frameQLParser.SQL_THREAD - 498)) | (1 << (frameQLParser.START - 498)) | (1 << (frameQLParser.STARTS - 498)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 498)) | (1 << (frameQLParser.STATS_PERSISTENT - 498)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 498)) | (1 << (frameQLParser.STATUS - 498)) | (1 << (frameQLParser.STOP - 498)) | (1 << (frameQLParser.STORAGE - 498)) | (1 << (frameQLParser.STRING - 498)) | (1 << (frameQLParser.SUBJECT - 498)) | (1 << (frameQLParser.SUBPARTITION - 498)) | (1 << (frameQLParser.SUBPARTITIONS - 498)) | (1 << (frameQLParser.SUSPEND - 498)) | (1 << (frameQLParser.SWAPS - 498)) | (1 << (frameQLParser.SWITCHES - 498)) | (1 << (frameQLParser.TABLESPACE - 498)) | (1 << (frameQLParser.TEMPORARY - 498)) | (1 << (frameQLParser.TEMPTABLE - 498)) | (1 << (frameQLParser.THAN - 498)) | (1 << (frameQLParser.TRANSACTION - 498)) | (1 << (frameQLParser.TRUNCATE - 498)) | (1 << (frameQLParser.UNDEFINED - 498)) | (1 << (frameQLParser.UNDOFILE - 498)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 498)) | (1 << (frameQLParser.UNINSTALL - 498)) | (1 << (frameQLParser.UNKNOWN - 498)) | (1 << (frameQLParser.UPGRADE - 498)) | (1 << (frameQLParser.USER - 498)) | (1 << (frameQLParser.VALIDATION - 498)) | (1 << (frameQLParser.VALUE - 498)) | (1 << (frameQLParser.VARIABLES - 498)) | (1 << (frameQLParser.VIEW - 498)) | (1 << (frameQLParser.WAIT - 498)) | (1 << (frameQLParser.WARNINGS - 498)) | (1 << (frameQLParser.WITHOUT - 498)) | (1 << (frameQLParser.WORK - 498)) | (1 << (frameQLParser.WRAPPER - 498)) | (1 << (frameQLParser.X509 - 498)) | (1 << (frameQLParser.XA - 498)) | (1 << (frameQLParser.XML - 498)) | (1 << (frameQLParser.QUARTER - 498)) | (1 << (frameQLParser.MONTH - 498)) | (1 << (frameQLParser.DAY - 498)) | (1 << (frameQLParser.HOUR - 498)))) != 0) or ((((_la - 562)) & ~0x3f) == 0 and ((1 << (_la - 562)) & ((1 << (frameQLParser.MINUTE - 562)) | (1 << (frameQLParser.WEEK - 562)) | (1 << (frameQLParser.SECOND - 562)) | (1 << (frameQLParser.MICROSECOND - 562)) | (1 << (frameQLParser.TABLES - 562)) | (1 << (frameQLParser.ROUTINE - 562)) | (1 << (frameQLParser.EXECUTE - 562)) | (1 << (frameQLParser.FILE - 562)) | (1 << (frameQLParser.PROCESS - 562)) | (1 << (frameQLParser.RELOAD - 562)) | (1 << (frameQLParser.SHUTDOWN - 562)) | (1 << (frameQLParser.SUPER - 562)) | (1 << (frameQLParser.PRIVILEGES - 562)) | (1 << (frameQLParser.ARMSCII8 - 562)) | (1 << (frameQLParser.ASCII - 562)) | (1 << (frameQLParser.BIG5 - 562)) | (1 << (frameQLParser.CP1250 - 562)) | (1 << (frameQLParser.CP1251 - 562)) | (1 << (frameQLParser.CP1256 - 562)) | (1 << (frameQLParser.CP1257 - 562)) | (1 << (frameQLParser.CP850 - 562)) | (1 << (frameQLParser.CP852 - 562)) | (1 << (frameQLParser.CP866 - 562)) | (1 << (frameQLParser.CP932 - 562)) | (1 << (frameQLParser.DEC8 - 562)) | (1 << (frameQLParser.EUCJPMS - 562)) | (1 << (frameQLParser.EUCKR - 562)) | (1 << (frameQLParser.GB2312 - 562)) | (1 << (frameQLParser.GBK - 562)) | (1 << (frameQLParser.GEOSTD8 - 562)) | (1 << (frameQLParser.GREEK - 562)) | (1 << (frameQLParser.HEBREW - 562)) | (1 << (frameQLParser.HP8 - 562)) | (1 << (frameQLParser.KEYBCS2 - 562)) | (1 << (frameQLParser.KOI8R - 562)) | (1 << (frameQLParser.KOI8U - 562)) | (1 << (frameQLParser.LATIN1 - 562)) | (1 << (frameQLParser.LATIN2 - 562)) | (1 << (frameQLParser.LATIN5 - 562)) | (1 << (frameQLParser.LATIN7 - 562)) | (1 << (frameQLParser.MACCE - 562)) | (1 << (frameQLParser.MACROMAN - 562)) | (1 << (frameQLParser.SJIS - 562)) | (1 << (frameQLParser.SWE7 - 562)) | (1 << (frameQLParser.TIS620 - 562)) | (1 << (frameQLParser.UCS2 - 562)) | (1 << (frameQLParser.UJIS - 562)) | (1 << (frameQLParser.UTF16 - 562)) | (1 << (frameQLParser.UTF16LE - 562)) | (1 << (frameQLParser.UTF32 - 562)) | (1 << (frameQLParser.UTF8 - 562)) | (1 << (frameQLParser.UTF8MB3 - 562)) | (1 << (frameQLParser.UTF8MB4 - 562)) | (1 << (frameQLParser.ARCHIVE - 562)) | (1 << (frameQLParser.BLACKHOLE - 562)) | (1 << (frameQLParser.CSV - 562)) | (1 << (frameQLParser.FEDERATED - 562)) | (1 << (frameQLParser.INNODB - 562)) | (1 << (frameQLParser.MEMORY - 562)) | (1 << (frameQLParser.MRG_MYISAM - 562)) | (1 << (frameQLParser.MYISAM - 562)) | (1 << (frameQLParser.NDB - 562)) | (1 << (frameQLParser.NDBCLUSTER - 562)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 562)))) != 0) or ((((_la - 626)) & ~0x3f) == 0 and ((1 << (_la - 626)) & ((1 << (frameQLParser.REPEATABLE - 626)) | (1 << (frameQLParser.COMMITTED - 626)) | (1 << (frameQLParser.UNCOMMITTED - 626)) | (1 << (frameQLParser.SERIALIZABLE - 626)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 626)) | (1 << (frameQLParser.LINESTRING - 626)) | (1 << (frameQLParser.MULTILINESTRING - 626)) | (1 << (frameQLParser.MULTIPOINT - 626)) | (1 << (frameQLParser.MULTIPOLYGON - 626)) | (1 << (frameQLParser.POINT - 626)) | (1 << (frameQLParser.POLYGON - 626)) | (1 << (frameQLParser.ABS - 626)) | (1 << (frameQLParser.ACOS - 626)) | (1 << (frameQLParser.ADDDATE - 626)) | (1 << (frameQLParser.ADDTIME - 626)) | (1 << (frameQLParser.AES_DECRYPT - 626)) | (1 << (frameQLParser.AES_ENCRYPT - 626)) | (1 << (frameQLParser.AREA - 626)) | (1 << (frameQLParser.ASBINARY - 626)) | (1 << (frameQLParser.ASIN - 626)) | (1 << (frameQLParser.ASTEXT - 626)) | (1 << (frameQLParser.ASWKB - 626)) | (1 << (frameQLParser.ASWKT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 626)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 626)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 626)) | (1 << (frameQLParser.ATAN - 626)) | (1 << (frameQLParser.ATAN2 - 626)) | (1 << (frameQLParser.BENCHMARK - 626)) | (1 << (frameQLParser.BIN - 626)) | (1 << (frameQLParser.BIT_COUNT - 626)) | (1 << (frameQLParser.BIT_LENGTH - 626)) | (1 << (frameQLParser.BUFFER - 626)) | (1 << (frameQLParser.CEIL - 626)) | (1 << (frameQLParser.CEILING - 626)) | (1 << (frameQLParser.CENTROID - 626)) | (1 << (frameQLParser.CHARACTER_LENGTH - 626)) | (1 << (frameQLParser.CHARSET - 626)) | (1 << (frameQLParser.CHAR_LENGTH - 626)) | (1 << (frameQLParser.COERCIBILITY - 626)) | (1 << (frameQLParser.COLLATION - 626)) | (1 << (frameQLParser.COMPRESS - 626)) | (1 << (frameQLParser.CONCAT - 626)) | (1 << (frameQLParser.CONCAT_WS - 626)) | (1 << (frameQLParser.CONNECTION_ID - 626)) | (1 << (frameQLParser.CONV - 626)) | (1 << (frameQLParser.CONVERT_TZ - 626)) | (1 << (frameQLParser.COS - 626)) | (1 << (frameQLParser.COT - 626)) | (1 << (frameQLParser.CRC32 - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 626)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 626)) | (1 << (frameQLParser.CREATE_DIGEST - 626)) | (1 << (frameQLParser.CROSSES - 626)) | (1 << (frameQLParser.DATEDIFF - 626)) | (1 << (frameQLParser.DATE_FORMAT - 626)) | (1 << (frameQLParser.DAYNAME - 626)) | (1 << (frameQLParser.DAYOFMONTH - 626)) | (1 << (frameQLParser.DAYOFWEEK - 626)) | (1 << (frameQLParser.DAYOFYEAR - 626)) | (1 << (frameQLParser.DECODE - 626)))) != 0) or ((((_la - 690)) & ~0x3f) == 0 and ((1 << (_la - 690)) & ((1 << (frameQLParser.DEGREES - 690)) | (1 << (frameQLParser.DES_DECRYPT - 690)) | (1 << (frameQLParser.DES_ENCRYPT - 690)) | (1 << (frameQLParser.DIMENSION - 690)) | (1 << (frameQLParser.DISJOINT - 690)) | (1 << (frameQLParser.ELT - 690)) | (1 << (frameQLParser.ENCODE - 690)) | (1 << (frameQLParser.ENCRYPT - 690)) | (1 << (frameQLParser.ENDPOINT - 690)) | (1 << (frameQLParser.ENVELOPE - 690)) | (1 << (frameQLParser.EQUALS - 690)) | (1 << (frameQLParser.EXP - 690)) | (1 << (frameQLParser.EXPORT_SET - 690)) | (1 << (frameQLParser.EXTERIORRING - 690)) | (1 << (frameQLParser.EXTRACTVALUE - 690)) | (1 << (frameQLParser.FIELD - 690)) | (1 << (frameQLParser.FIND_IN_SET - 690)) | (1 << (frameQLParser.FLOOR - 690)) | (1 << (frameQLParser.FORMAT - 690)) | (1 << (frameQLParser.FOUND_ROWS - 690)) | (1 << (frameQLParser.FROM_BASE64 - 690)) | (1 << (frameQLParser.FROM_DAYS - 690)) | (1 << (frameQLParser.FROM_UNIXTIME - 690)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 690)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYN - 690)) | (1 << (frameQLParser.GEOMETRYTYPE - 690)) | (1 << (frameQLParser.GEOMFROMTEXT - 690)) | (1 << (frameQLParser.GEOMFROMWKB - 690)) | (1 << (frameQLParser.GET_FORMAT - 690)) | (1 << (frameQLParser.GET_LOCK - 690)) | (1 << (frameQLParser.GLENGTH - 690)) | (1 << (frameQLParser.GREATEST - 690)) | (1 << (frameQLParser.GTID_SUBSET - 690)) | (1 << (frameQLParser.GTID_SUBTRACT - 690)) | (1 << (frameQLParser.HEX - 690)) | (1 << (frameQLParser.IFNULL - 690)) | (1 << (frameQLParser.INET6_ATON - 690)) | (1 << (frameQLParser.INET6_NTOA - 690)) | (1 << (frameQLParser.INET_ATON - 690)) | (1 << (frameQLParser.INET_NTOA - 690)) | (1 << (frameQLParser.INSTR - 690)) | (1 << (frameQLParser.INTERIORRINGN - 690)) | (1 << (frameQLParser.INTERSECTS - 690)) | (1 << (frameQLParser.ISCLOSED - 690)) | (1 << (frameQLParser.ISEMPTY - 690)) | (1 << (frameQLParser.ISNULL - 690)) | (1 << (frameQLParser.ISSIMPLE - 690)) | (1 << (frameQLParser.IS_FREE_LOCK - 690)) | (1 << (frameQLParser.IS_IPV4 - 690)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 690)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 690)) | (1 << (frameQLParser.IS_IPV6 - 690)) | (1 << (frameQLParser.IS_USED_LOCK - 690)) | (1 << (frameQLParser.LAST_INSERT_ID - 690)) | (1 << (frameQLParser.LCASE - 690)) | (1 << (frameQLParser.LEAST - 690)) | (1 << (frameQLParser.LENGTH - 690)) | (1 << (frameQLParser.LINEFROMTEXT - 690)) | (1 << (frameQLParser.LINEFROMWKB - 690)))) != 0) or ((((_la - 754)) & ~0x3f) == 0 and ((1 << (_la - 754)) & ((1 << (frameQLParser.LINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.LN - 754)) | (1 << (frameQLParser.LOAD_FILE - 754)) | (1 << (frameQLParser.LOCATE - 754)) | (1 << (frameQLParser.LOG - 754)) | (1 << (frameQLParser.LOG10 - 754)) | (1 << (frameQLParser.LOG2 - 754)) | (1 << (frameQLParser.LOWER - 754)) | (1 << (frameQLParser.LPAD - 754)) | (1 << (frameQLParser.LTRIM - 754)) | (1 << (frameQLParser.MAKEDATE - 754)) | (1 << (frameQLParser.MAKETIME - 754)) | (1 << (frameQLParser.MAKE_SET - 754)) | (1 << (frameQLParser.MASTER_POS_WAIT - 754)) | (1 << (frameQLParser.MBRCONTAINS - 754)) | (1 << (frameQLParser.MBRDISJOINT - 754)) | (1 << (frameQLParser.MBREQUAL - 754)) | (1 << (frameQLParser.MBRINTERSECTS - 754)) | (1 << (frameQLParser.MBROVERLAPS - 754)) | (1 << (frameQLParser.MBRTOUCHES - 754)) | (1 << (frameQLParser.MBRWITHIN - 754)) | (1 << (frameQLParser.MD5 - 754)) | (1 << (frameQLParser.MLINEFROMTEXT - 754)) | (1 << (frameQLParser.MLINEFROMWKB - 754)) | (1 << (frameQLParser.MONTHNAME - 754)) | (1 << (frameQLParser.MPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MPOINTFROMWKB - 754)) | (1 << (frameQLParser.MPOLYFROMTEXT - 754)) | (1 << (frameQLParser.MPOLYFROMWKB - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 754)) | (1 << (frameQLParser.NAME_CONST - 754)) | (1 << (frameQLParser.NULLIF - 754)) | (1 << (frameQLParser.NUMGEOMETRIES - 754)) | (1 << (frameQLParser.NUMINTERIORRINGS - 754)) | (1 << (frameQLParser.NUMPOINTS - 754)) | (1 << (frameQLParser.OCT - 754)) | (1 << (frameQLParser.OCTET_LENGTH - 754)) | (1 << (frameQLParser.ORD - 754)) | (1 << (frameQLParser.OVERLAPS - 754)) | (1 << (frameQLParser.PERIOD_ADD - 754)) | (1 << (frameQLParser.PERIOD_DIFF - 754)) | (1 << (frameQLParser.PI - 754)) | (1 << (frameQLParser.POINTFROMTEXT - 754)) | (1 << (frameQLParser.POINTFROMWKB - 754)) | (1 << (frameQLParser.POINTN - 754)) | (1 << (frameQLParser.POLYFROMTEXT - 754)) | (1 << (frameQLParser.POLYFROMWKB - 754)) | (1 << (frameQLParser.POLYGONFROMTEXT - 754)) | (1 << (frameQLParser.POLYGONFROMWKB - 754)) | (1 << (frameQLParser.POW - 754)) | (1 << (frameQLParser.POWER - 754)) | (1 << (frameQLParser.QUOTE - 754)) | (1 << (frameQLParser.RADIANS - 754)) | (1 << (frameQLParser.RAND - 754)) | (1 << (frameQLParser.RANDOM_BYTES - 754)) | (1 << (frameQLParser.RELEASE_LOCK - 754)) | (1 << (frameQLParser.REVERSE - 754)) | (1 << (frameQLParser.ROUND - 754)))) != 0) or ((((_la - 818)) & ~0x3f) == 0 and ((1 << (_la - 818)) & ((1 << (frameQLParser.ROW_COUNT - 818)) | (1 << (frameQLParser.RPAD - 818)) | (1 << (frameQLParser.RTRIM - 818)) | (1 << (frameQLParser.SEC_TO_TIME - 818)) | (1 << (frameQLParser.SESSION_USER - 818)) | (1 << (frameQLParser.SHA - 818)) | (1 << (frameQLParser.SHA1 - 818)) | (1 << (frameQLParser.SHA2 - 818)) | (1 << (frameQLParser.SIGN - 818)) | (1 << (frameQLParser.SIN - 818)) | (1 << (frameQLParser.SLEEP - 818)) | (1 << (frameQLParser.SOUNDEX - 818)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 818)) | (1 << (frameQLParser.SQRT - 818)) | (1 << (frameQLParser.SRID - 818)) | (1 << (frameQLParser.STARTPOINT - 818)) | (1 << (frameQLParser.STRCMP - 818)) | (1 << (frameQLParser.STR_TO_DATE - 818)) | (1 << (frameQLParser.ST_AREA - 818)) | (1 << (frameQLParser.ST_ASBINARY - 818)) | (1 << (frameQLParser.ST_ASTEXT - 818)) | (1 << (frameQLParser.ST_ASWKB - 818)) | (1 << (frameQLParser.ST_ASWKT - 818)) | (1 << (frameQLParser.ST_BUFFER - 818)) | (1 << (frameQLParser.ST_CENTROID - 818)) | (1 << (frameQLParser.ST_CONTAINS - 818)) | (1 << (frameQLParser.ST_CROSSES - 818)) | (1 << (frameQLParser.ST_DIFFERENCE - 818)) | (1 << (frameQLParser.ST_DIMENSION - 818)) | (1 << (frameQLParser.ST_DISJOINT - 818)) | (1 << (frameQLParser.ST_DISTANCE - 818)) | (1 << (frameQLParser.ST_ENDPOINT - 818)) | (1 << (frameQLParser.ST_ENVELOPE - 818)) | (1 << (frameQLParser.ST_EQUALS - 818)) | (1 << (frameQLParser.ST_EXTERIORRING - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYN - 818)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 818)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 818)) | (1 << (frameQLParser.ST_INTERIORRINGN - 818)) | (1 << (frameQLParser.ST_INTERSECTION - 818)) | (1 << (frameQLParser.ST_INTERSECTS - 818)) | (1 << (frameQLParser.ST_ISCLOSED - 818)) | (1 << (frameQLParser.ST_ISEMPTY - 818)) | (1 << (frameQLParser.ST_ISSIMPLE - 818)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINEFROMWKB - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 818)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 818)) | (1 << (frameQLParser.ST_NUMPOINTS - 818)) | (1 << (frameQLParser.ST_OVERLAPS - 818)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 818)) | (1 << (frameQLParser.ST_POINTFROMWKB - 818)) | (1 << (frameQLParser.ST_POINTN - 818)))) != 0) or ((((_la - 882)) & ~0x3f) == 0 and ((1 << (_la - 882)) & ((1 << (frameQLParser.ST_POLYFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYFROMWKB - 882)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 882)) | (1 << (frameQLParser.ST_SRID - 882)) | (1 << (frameQLParser.ST_STARTPOINT - 882)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 882)) | (1 << (frameQLParser.ST_TOUCHES - 882)) | (1 << (frameQLParser.ST_UNION - 882)) | (1 << (frameQLParser.ST_WITHIN - 882)) | (1 << (frameQLParser.ST_X - 882)) | (1 << (frameQLParser.ST_Y - 882)) | (1 << (frameQLParser.SUBDATE - 882)) | (1 << (frameQLParser.SUBSTRING_INDEX - 882)) | (1 << (frameQLParser.SUBTIME - 882)) | (1 << (frameQLParser.SYSTEM_USER - 882)) | (1 << (frameQLParser.TAN - 882)) | (1 << (frameQLParser.TIMEDIFF - 882)) | (1 << (frameQLParser.TIMESTAMPADD - 882)) | (1 << (frameQLParser.TIMESTAMPDIFF - 882)) | (1 << (frameQLParser.TIME_FORMAT - 882)) | (1 << (frameQLParser.TIME_TO_SEC - 882)) | (1 << (frameQLParser.TOUCHES - 882)) | (1 << (frameQLParser.TO_BASE64 - 882)) | (1 << (frameQLParser.TO_DAYS - 882)) | (1 << (frameQLParser.TO_SECONDS - 882)) | (1 << (frameQLParser.UCASE - 882)) | (1 << (frameQLParser.UNCOMPRESS - 882)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 882)) | (1 << (frameQLParser.UNHEX - 882)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 882)) | (1 << (frameQLParser.UPDATEXML - 882)) | (1 << (frameQLParser.UPPER - 882)) | (1 << (frameQLParser.UUID - 882)) | (1 << (frameQLParser.UUID_SHORT - 882)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 882)) | (1 << (frameQLParser.VERSION - 882)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 882)) | (1 << (frameQLParser.WEEKDAY - 882)) | (1 << (frameQLParser.WEEKOFYEAR - 882)) | (1 << (frameQLParser.WEIGHT_STRING - 882)) | (1 << (frameQLParser.WITHIN - 882)) | (1 << (frameQLParser.YEARWEEK - 882)) | (1 << (frameQLParser.Y_FUNCTION - 882)) | (1 << (frameQLParser.X_FUNCTION - 882)))) != 0) or ((((_la - 953)) & ~0x3f) == 0 and ((1 << (_la - 953)) & ((1 << (frameQLParser.LR_BRACKET - 953)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 953)) | (1 << (frameQLParser.STRING_LITERAL - 953)) | (1 << (frameQLParser.ID - 953)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 953)))) != 0)): - break - - self.state = 4139 - self.match(frameQLParser.END) - self.state = 4140 - self.match(frameQLParser.LOOP) - self.state = 4142 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 4141 - self.uid() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RepeatStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def REPEAT(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.REPEAT) - else: - return self.getToken(frameQLParser.REPEAT, i) - - def UNTIL(self): - return self.getToken(frameQLParser.UNTIL, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def END(self): - return self.getToken(frameQLParser.END, 0) - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def procedureSqlStatement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ProcedureSqlStatementContext) - else: - return self.getTypedRuleContext(frameQLParser.ProcedureSqlStatementContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_repeatStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRepeatStatement" ): - listener.enterRepeatStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRepeatStatement" ): - listener.exitRepeatStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitRepeatStatement" ): - return visitor.visitRepeatStatement(self) - else: - return visitor.visitChildren(self) - - - - - def repeatStatement(self): - - localctx = frameQLParser.RepeatStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 360, self.RULE_repeatStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4147 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 4144 - self.uid() - self.state = 4145 - self.match(frameQLParser.COLON_SYMB) - - - self.state = 4149 - self.match(frameQLParser.REPEAT) - self.state = 4151 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4150 - self.procedureSqlStatement() - self.state = 4153 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 9)) & ~0x3f) == 0 and ((1 << (_la - 9)) & ((1 << (frameQLParser.ALTER - 9)) | (1 << (frameQLParser.ANALYZE - 9)) | (1 << (frameQLParser.CALL - 9)) | (1 << (frameQLParser.CASE - 9)) | (1 << (frameQLParser.CHANGE - 9)) | (1 << (frameQLParser.CHECK - 9)) | (1 << (frameQLParser.CREATE - 9)) | (1 << (frameQLParser.DATABASE - 9)) | (1 << (frameQLParser.DELETE - 9)) | (1 << (frameQLParser.DESC - 9)) | (1 << (frameQLParser.DESCRIBE - 9)) | (1 << (frameQLParser.DROP - 9)) | (1 << (frameQLParser.EXPLAIN - 9)) | (1 << (frameQLParser.FETCH - 9)) | (1 << (frameQLParser.GRANT - 9)) | (1 << (frameQLParser.IF - 9)))) != 0) or ((((_la - 75)) & ~0x3f) == 0 and ((1 << (_la - 75)) & ((1 << (frameQLParser.INSERT - 75)) | (1 << (frameQLParser.ITERATE - 75)) | (1 << (frameQLParser.KILL - 75)) | (1 << (frameQLParser.LEAVE - 75)) | (1 << (frameQLParser.LEFT - 75)) | (1 << (frameQLParser.LOAD - 75)) | (1 << (frameQLParser.LOCK - 75)) | (1 << (frameQLParser.LOOP - 75)) | (1 << (frameQLParser.OPTIMIZE - 75)) | (1 << (frameQLParser.PURGE - 75)) | (1 << (frameQLParser.RELEASE - 75)) | (1 << (frameQLParser.RENAME - 75)) | (1 << (frameQLParser.REPEAT - 75)) | (1 << (frameQLParser.REPLACE - 75)) | (1 << (frameQLParser.RETURN - 75)) | (1 << (frameQLParser.REVOKE - 75)) | (1 << (frameQLParser.RIGHT - 75)) | (1 << (frameQLParser.SELECT - 75)) | (1 << (frameQLParser.SET - 75)) | (1 << (frameQLParser.SHOW - 75)))) != 0) or ((((_la - 159)) & ~0x3f) == 0 and ((1 << (_la - 159)) & ((1 << (frameQLParser.UNLOCK - 159)) | (1 << (frameQLParser.UPDATE - 159)) | (1 << (frameQLParser.USE - 159)) | (1 << (frameQLParser.WHILE - 159)) | (1 << (frameQLParser.DATE - 159)) | (1 << (frameQLParser.TIME - 159)) | (1 << (frameQLParser.TIMESTAMP - 159)) | (1 << (frameQLParser.DATETIME - 159)) | (1 << (frameQLParser.YEAR - 159)) | (1 << (frameQLParser.TEXT - 159)) | (1 << (frameQLParser.ENUM - 159)) | (1 << (frameQLParser.SERIAL - 159)) | (1 << (frameQLParser.COUNT - 159)))) != 0) or ((((_la - 242)) & ~0x3f) == 0 and ((1 << (_la - 242)) & ((1 << (frameQLParser.POSITION - 242)) | (1 << (frameQLParser.ACCOUNT - 242)) | (1 << (frameQLParser.ACTION - 242)) | (1 << (frameQLParser.AFTER - 242)) | (1 << (frameQLParser.AGGREGATE - 242)) | (1 << (frameQLParser.ALGORITHM - 242)) | (1 << (frameQLParser.ANY - 242)) | (1 << (frameQLParser.AT - 242)) | (1 << (frameQLParser.AUTHORS - 242)) | (1 << (frameQLParser.AUTOCOMMIT - 242)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 242)) | (1 << (frameQLParser.AUTO_INCREMENT - 242)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 242)) | (1 << (frameQLParser.BEGIN - 242)) | (1 << (frameQLParser.BINLOG - 242)) | (1 << (frameQLParser.BIT - 242)) | (1 << (frameQLParser.BLOCK - 242)) | (1 << (frameQLParser.BOOL - 242)) | (1 << (frameQLParser.BOOLEAN - 242)) | (1 << (frameQLParser.BTREE - 242)) | (1 << (frameQLParser.CACHE - 242)) | (1 << (frameQLParser.CASCADED - 242)) | (1 << (frameQLParser.CHAIN - 242)) | (1 << (frameQLParser.CHANGED - 242)) | (1 << (frameQLParser.CHANNEL - 242)) | (1 << (frameQLParser.CHECKSUM - 242)) | (1 << (frameQLParser.CIPHER - 242)) | (1 << (frameQLParser.CLIENT - 242)) | (1 << (frameQLParser.CLOSE - 242)) | (1 << (frameQLParser.COALESCE - 242)) | (1 << (frameQLParser.CODE - 242)) | (1 << (frameQLParser.COLUMNS - 242)) | (1 << (frameQLParser.COLUMN_FORMAT - 242)) | (1 << (frameQLParser.COMMENT - 242)) | (1 << (frameQLParser.COMMIT - 242)) | (1 << (frameQLParser.COMPACT - 242)) | (1 << (frameQLParser.COMPLETION - 242)) | (1 << (frameQLParser.COMPRESSED - 242)) | (1 << (frameQLParser.COMPRESSION - 242)) | (1 << (frameQLParser.CONCURRENT - 242)) | (1 << (frameQLParser.CONNECTION - 242)) | (1 << (frameQLParser.CONSISTENT - 242)) | (1 << (frameQLParser.CONTAINS - 242)) | (1 << (frameQLParser.CONTEXT - 242)) | (1 << (frameQLParser.CONTRIBUTORS - 242)) | (1 << (frameQLParser.COPY - 242)) | (1 << (frameQLParser.CPU - 242)) | (1 << (frameQLParser.DATA - 242)) | (1 << (frameQLParser.DATAFILE - 242)) | (1 << (frameQLParser.DEALLOCATE - 242)) | (1 << (frameQLParser.DEFAULT_AUTH - 242)) | (1 << (frameQLParser.DEFINER - 242)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 242)) | (1 << (frameQLParser.DIRECTORY - 242)) | (1 << (frameQLParser.DISABLE - 242)) | (1 << (frameQLParser.DISCARD - 242)))) != 0) or ((((_la - 306)) & ~0x3f) == 0 and ((1 << (_la - 306)) & ((1 << (frameQLParser.DISK - 306)) | (1 << (frameQLParser.DO - 306)) | (1 << (frameQLParser.DUMPFILE - 306)) | (1 << (frameQLParser.DUPLICATE - 306)) | (1 << (frameQLParser.DYNAMIC - 306)) | (1 << (frameQLParser.ENABLE - 306)) | (1 << (frameQLParser.ENCRYPTION - 306)) | (1 << (frameQLParser.ENDS - 306)) | (1 << (frameQLParser.ENGINE - 306)) | (1 << (frameQLParser.ENGINES - 306)) | (1 << (frameQLParser.ERROR - 306)) | (1 << (frameQLParser.ERRORS - 306)) | (1 << (frameQLParser.ESCAPE - 306)) | (1 << (frameQLParser.EVEN - 306)) | (1 << (frameQLParser.EVENT - 306)) | (1 << (frameQLParser.EVENTS - 306)) | (1 << (frameQLParser.EVERY - 306)) | (1 << (frameQLParser.EXCHANGE - 306)) | (1 << (frameQLParser.EXCLUSIVE - 306)) | (1 << (frameQLParser.EXPIRE - 306)) | (1 << (frameQLParser.EXTENDED - 306)) | (1 << (frameQLParser.EXTENT_SIZE - 306)) | (1 << (frameQLParser.FAST - 306)) | (1 << (frameQLParser.FAULTS - 306)) | (1 << (frameQLParser.FIELDS - 306)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 306)) | (1 << (frameQLParser.FILTER - 306)) | (1 << (frameQLParser.FIRST - 306)) | (1 << (frameQLParser.FIXED - 306)) | (1 << (frameQLParser.FLUSH - 306)) | (1 << (frameQLParser.FOLLOWS - 306)) | (1 << (frameQLParser.FULL - 306)) | (1 << (frameQLParser.FUNCTION - 306)) | (1 << (frameQLParser.GLOBAL - 306)) | (1 << (frameQLParser.GRANTS - 306)) | (1 << (frameQLParser.GROUP_REPLICATION - 306)) | (1 << (frameQLParser.HANDLER - 306)) | (1 << (frameQLParser.HASH - 306)) | (1 << (frameQLParser.HELP - 306)) | (1 << (frameQLParser.HOST - 306)) | (1 << (frameQLParser.IDENTIFIED - 306)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 306)) | (1 << (frameQLParser.IMPORT - 306)) | (1 << (frameQLParser.INDEXES - 306)) | (1 << (frameQLParser.INITIAL_SIZE - 306)) | (1 << (frameQLParser.INPLACE - 306)) | (1 << (frameQLParser.INSERT_METHOD - 306)) | (1 << (frameQLParser.INSTALL - 306)) | (1 << (frameQLParser.INSTANCE - 306)) | (1 << (frameQLParser.INVOKER - 306)) | (1 << (frameQLParser.IO - 306)) | (1 << (frameQLParser.IO_THREAD - 306)) | (1 << (frameQLParser.IPC - 306)) | (1 << (frameQLParser.ISOLATION - 306)) | (1 << (frameQLParser.ISSUER - 306)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 306)) | (1 << (frameQLParser.LANGUAGE - 306)) | (1 << (frameQLParser.LAST - 306)))) != 0) or ((((_la - 370)) & ~0x3f) == 0 and ((1 << (_la - 370)) & ((1 << (frameQLParser.LEAVES - 370)) | (1 << (frameQLParser.LESS - 370)) | (1 << (frameQLParser.LEVEL - 370)) | (1 << (frameQLParser.LIST - 370)) | (1 << (frameQLParser.LOCAL - 370)) | (1 << (frameQLParser.LOGFILE - 370)) | (1 << (frameQLParser.LOGS - 370)) | (1 << (frameQLParser.MASTER - 370)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 370)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 370)) | (1 << (frameQLParser.MASTER_DELAY - 370)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 370)) | (1 << (frameQLParser.MASTER_HOST - 370)) | (1 << (frameQLParser.MASTER_LOG_FILE - 370)) | (1 << (frameQLParser.MASTER_LOG_POS - 370)) | (1 << (frameQLParser.MASTER_PASSWORD - 370)) | (1 << (frameQLParser.MASTER_PORT - 370)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 370)) | (1 << (frameQLParser.MASTER_SSL - 370)) | (1 << (frameQLParser.MASTER_SSL_CA - 370)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_CERT - 370)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 370)) | (1 << (frameQLParser.MASTER_SSL_CRL - 370)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_KEY - 370)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 370)) | (1 << (frameQLParser.MASTER_USER - 370)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_ROWS - 370)) | (1 << (frameQLParser.MAX_SIZE - 370)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 370)) | (1 << (frameQLParser.MEDIUM - 370)) | (1 << (frameQLParser.MERGE - 370)) | (1 << (frameQLParser.MID - 370)) | (1 << (frameQLParser.MIGRATE - 370)) | (1 << (frameQLParser.MIN_ROWS - 370)) | (1 << (frameQLParser.MODIFY - 370)) | (1 << (frameQLParser.MUTEX - 370)) | (1 << (frameQLParser.MYSQL - 370)) | (1 << (frameQLParser.NAME - 370)) | (1 << (frameQLParser.NAMES - 370)) | (1 << (frameQLParser.NCHAR - 370)) | (1 << (frameQLParser.NEVER - 370)) | (1 << (frameQLParser.NO - 370)) | (1 << (frameQLParser.NODEGROUP - 370)) | (1 << (frameQLParser.NONE - 370)) | (1 << (frameQLParser.OFFLINE - 370)) | (1 << (frameQLParser.OFFSET - 370)) | (1 << (frameQLParser.OJ - 370)) | (1 << (frameQLParser.OLD_PASSWORD - 370)) | (1 << (frameQLParser.ONE - 370)) | (1 << (frameQLParser.ONLINE - 370)) | (1 << (frameQLParser.ONLY - 370)) | (1 << (frameQLParser.OPEN - 370)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 370)) | (1 << (frameQLParser.OPTIONS - 370)) | (1 << (frameQLParser.OWNER - 370)) | (1 << (frameQLParser.PACK_KEYS - 370)) | (1 << (frameQLParser.PAGE - 370)))) != 0) or ((((_la - 434)) & ~0x3f) == 0 and ((1 << (_la - 434)) & ((1 << (frameQLParser.PARSER - 434)) | (1 << (frameQLParser.PARTIAL - 434)) | (1 << (frameQLParser.PARTITIONING - 434)) | (1 << (frameQLParser.PARTITIONS - 434)) | (1 << (frameQLParser.PASSWORD - 434)) | (1 << (frameQLParser.PHASE - 434)) | (1 << (frameQLParser.PLUGIN_DIR - 434)) | (1 << (frameQLParser.PLUGINS - 434)) | (1 << (frameQLParser.PORT - 434)) | (1 << (frameQLParser.PRECEDES - 434)) | (1 << (frameQLParser.PREPARE - 434)) | (1 << (frameQLParser.PRESERVE - 434)) | (1 << (frameQLParser.PREV - 434)) | (1 << (frameQLParser.PROCESSLIST - 434)) | (1 << (frameQLParser.PROFILE - 434)) | (1 << (frameQLParser.PROFILES - 434)) | (1 << (frameQLParser.PROXY - 434)) | (1 << (frameQLParser.QUERY - 434)) | (1 << (frameQLParser.QUICK - 434)) | (1 << (frameQLParser.REBUILD - 434)) | (1 << (frameQLParser.RECOVER - 434)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 434)) | (1 << (frameQLParser.REDUNDANT - 434)) | (1 << (frameQLParser.RELAY_LOG_FILE - 434)) | (1 << (frameQLParser.RELAY_LOG_POS - 434)) | (1 << (frameQLParser.RELAYLOG - 434)) | (1 << (frameQLParser.REMOVE - 434)) | (1 << (frameQLParser.REORGANIZE - 434)) | (1 << (frameQLParser.REPAIR - 434)) | (1 << (frameQLParser.REPLICATE_DO_DB - 434)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 434)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATION - 434)) | (1 << (frameQLParser.RESET - 434)) | (1 << (frameQLParser.RESUME - 434)) | (1 << (frameQLParser.RETURNS - 434)) | (1 << (frameQLParser.ROLLBACK - 434)) | (1 << (frameQLParser.ROLLUP - 434)) | (1 << (frameQLParser.ROTATE - 434)) | (1 << (frameQLParser.ROW - 434)) | (1 << (frameQLParser.ROWS - 434)) | (1 << (frameQLParser.ROW_FORMAT - 434)) | (1 << (frameQLParser.SAVEPOINT - 434)) | (1 << (frameQLParser.SCHEDULE - 434)) | (1 << (frameQLParser.SECURITY - 434)) | (1 << (frameQLParser.SERVER - 434)) | (1 << (frameQLParser.SESSION - 434)) | (1 << (frameQLParser.SHARE - 434)) | (1 << (frameQLParser.SHARED - 434)) | (1 << (frameQLParser.SIGNED - 434)) | (1 << (frameQLParser.SIMPLE - 434)) | (1 << (frameQLParser.SLAVE - 434)) | (1 << (frameQLParser.SNAPSHOT - 434)) | (1 << (frameQLParser.SOCKET - 434)) | (1 << (frameQLParser.SOME - 434)) | (1 << (frameQLParser.SOUNDS - 434)))) != 0) or ((((_la - 498)) & ~0x3f) == 0 and ((1 << (_la - 498)) & ((1 << (frameQLParser.SOURCE - 498)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 498)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 498)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 498)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 498)) | (1 << (frameQLParser.SQL_CACHE - 498)) | (1 << (frameQLParser.SQL_NO_CACHE - 498)) | (1 << (frameQLParser.SQL_THREAD - 498)) | (1 << (frameQLParser.START - 498)) | (1 << (frameQLParser.STARTS - 498)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 498)) | (1 << (frameQLParser.STATS_PERSISTENT - 498)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 498)) | (1 << (frameQLParser.STATUS - 498)) | (1 << (frameQLParser.STOP - 498)) | (1 << (frameQLParser.STORAGE - 498)) | (1 << (frameQLParser.STRING - 498)) | (1 << (frameQLParser.SUBJECT - 498)) | (1 << (frameQLParser.SUBPARTITION - 498)) | (1 << (frameQLParser.SUBPARTITIONS - 498)) | (1 << (frameQLParser.SUSPEND - 498)) | (1 << (frameQLParser.SWAPS - 498)) | (1 << (frameQLParser.SWITCHES - 498)) | (1 << (frameQLParser.TABLESPACE - 498)) | (1 << (frameQLParser.TEMPORARY - 498)) | (1 << (frameQLParser.TEMPTABLE - 498)) | (1 << (frameQLParser.THAN - 498)) | (1 << (frameQLParser.TRANSACTION - 498)) | (1 << (frameQLParser.TRUNCATE - 498)) | (1 << (frameQLParser.UNDEFINED - 498)) | (1 << (frameQLParser.UNDOFILE - 498)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 498)) | (1 << (frameQLParser.UNINSTALL - 498)) | (1 << (frameQLParser.UNKNOWN - 498)) | (1 << (frameQLParser.UPGRADE - 498)) | (1 << (frameQLParser.USER - 498)) | (1 << (frameQLParser.VALIDATION - 498)) | (1 << (frameQLParser.VALUE - 498)) | (1 << (frameQLParser.VARIABLES - 498)) | (1 << (frameQLParser.VIEW - 498)) | (1 << (frameQLParser.WAIT - 498)) | (1 << (frameQLParser.WARNINGS - 498)) | (1 << (frameQLParser.WITHOUT - 498)) | (1 << (frameQLParser.WORK - 498)) | (1 << (frameQLParser.WRAPPER - 498)) | (1 << (frameQLParser.X509 - 498)) | (1 << (frameQLParser.XA - 498)) | (1 << (frameQLParser.XML - 498)) | (1 << (frameQLParser.QUARTER - 498)) | (1 << (frameQLParser.MONTH - 498)) | (1 << (frameQLParser.DAY - 498)) | (1 << (frameQLParser.HOUR - 498)))) != 0) or ((((_la - 562)) & ~0x3f) == 0 and ((1 << (_la - 562)) & ((1 << (frameQLParser.MINUTE - 562)) | (1 << (frameQLParser.WEEK - 562)) | (1 << (frameQLParser.SECOND - 562)) | (1 << (frameQLParser.MICROSECOND - 562)) | (1 << (frameQLParser.TABLES - 562)) | (1 << (frameQLParser.ROUTINE - 562)) | (1 << (frameQLParser.EXECUTE - 562)) | (1 << (frameQLParser.FILE - 562)) | (1 << (frameQLParser.PROCESS - 562)) | (1 << (frameQLParser.RELOAD - 562)) | (1 << (frameQLParser.SHUTDOWN - 562)) | (1 << (frameQLParser.SUPER - 562)) | (1 << (frameQLParser.PRIVILEGES - 562)) | (1 << (frameQLParser.ARMSCII8 - 562)) | (1 << (frameQLParser.ASCII - 562)) | (1 << (frameQLParser.BIG5 - 562)) | (1 << (frameQLParser.CP1250 - 562)) | (1 << (frameQLParser.CP1251 - 562)) | (1 << (frameQLParser.CP1256 - 562)) | (1 << (frameQLParser.CP1257 - 562)) | (1 << (frameQLParser.CP850 - 562)) | (1 << (frameQLParser.CP852 - 562)) | (1 << (frameQLParser.CP866 - 562)) | (1 << (frameQLParser.CP932 - 562)) | (1 << (frameQLParser.DEC8 - 562)) | (1 << (frameQLParser.EUCJPMS - 562)) | (1 << (frameQLParser.EUCKR - 562)) | (1 << (frameQLParser.GB2312 - 562)) | (1 << (frameQLParser.GBK - 562)) | (1 << (frameQLParser.GEOSTD8 - 562)) | (1 << (frameQLParser.GREEK - 562)) | (1 << (frameQLParser.HEBREW - 562)) | (1 << (frameQLParser.HP8 - 562)) | (1 << (frameQLParser.KEYBCS2 - 562)) | (1 << (frameQLParser.KOI8R - 562)) | (1 << (frameQLParser.KOI8U - 562)) | (1 << (frameQLParser.LATIN1 - 562)) | (1 << (frameQLParser.LATIN2 - 562)) | (1 << (frameQLParser.LATIN5 - 562)) | (1 << (frameQLParser.LATIN7 - 562)) | (1 << (frameQLParser.MACCE - 562)) | (1 << (frameQLParser.MACROMAN - 562)) | (1 << (frameQLParser.SJIS - 562)) | (1 << (frameQLParser.SWE7 - 562)) | (1 << (frameQLParser.TIS620 - 562)) | (1 << (frameQLParser.UCS2 - 562)) | (1 << (frameQLParser.UJIS - 562)) | (1 << (frameQLParser.UTF16 - 562)) | (1 << (frameQLParser.UTF16LE - 562)) | (1 << (frameQLParser.UTF32 - 562)) | (1 << (frameQLParser.UTF8 - 562)) | (1 << (frameQLParser.UTF8MB3 - 562)) | (1 << (frameQLParser.UTF8MB4 - 562)) | (1 << (frameQLParser.ARCHIVE - 562)) | (1 << (frameQLParser.BLACKHOLE - 562)) | (1 << (frameQLParser.CSV - 562)) | (1 << (frameQLParser.FEDERATED - 562)) | (1 << (frameQLParser.INNODB - 562)) | (1 << (frameQLParser.MEMORY - 562)) | (1 << (frameQLParser.MRG_MYISAM - 562)) | (1 << (frameQLParser.MYISAM - 562)) | (1 << (frameQLParser.NDB - 562)) | (1 << (frameQLParser.NDBCLUSTER - 562)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 562)))) != 0) or ((((_la - 626)) & ~0x3f) == 0 and ((1 << (_la - 626)) & ((1 << (frameQLParser.REPEATABLE - 626)) | (1 << (frameQLParser.COMMITTED - 626)) | (1 << (frameQLParser.UNCOMMITTED - 626)) | (1 << (frameQLParser.SERIALIZABLE - 626)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 626)) | (1 << (frameQLParser.LINESTRING - 626)) | (1 << (frameQLParser.MULTILINESTRING - 626)) | (1 << (frameQLParser.MULTIPOINT - 626)) | (1 << (frameQLParser.MULTIPOLYGON - 626)) | (1 << (frameQLParser.POINT - 626)) | (1 << (frameQLParser.POLYGON - 626)) | (1 << (frameQLParser.ABS - 626)) | (1 << (frameQLParser.ACOS - 626)) | (1 << (frameQLParser.ADDDATE - 626)) | (1 << (frameQLParser.ADDTIME - 626)) | (1 << (frameQLParser.AES_DECRYPT - 626)) | (1 << (frameQLParser.AES_ENCRYPT - 626)) | (1 << (frameQLParser.AREA - 626)) | (1 << (frameQLParser.ASBINARY - 626)) | (1 << (frameQLParser.ASIN - 626)) | (1 << (frameQLParser.ASTEXT - 626)) | (1 << (frameQLParser.ASWKB - 626)) | (1 << (frameQLParser.ASWKT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 626)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 626)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 626)) | (1 << (frameQLParser.ATAN - 626)) | (1 << (frameQLParser.ATAN2 - 626)) | (1 << (frameQLParser.BENCHMARK - 626)) | (1 << (frameQLParser.BIN - 626)) | (1 << (frameQLParser.BIT_COUNT - 626)) | (1 << (frameQLParser.BIT_LENGTH - 626)) | (1 << (frameQLParser.BUFFER - 626)) | (1 << (frameQLParser.CEIL - 626)) | (1 << (frameQLParser.CEILING - 626)) | (1 << (frameQLParser.CENTROID - 626)) | (1 << (frameQLParser.CHARACTER_LENGTH - 626)) | (1 << (frameQLParser.CHARSET - 626)) | (1 << (frameQLParser.CHAR_LENGTH - 626)) | (1 << (frameQLParser.COERCIBILITY - 626)) | (1 << (frameQLParser.COLLATION - 626)) | (1 << (frameQLParser.COMPRESS - 626)) | (1 << (frameQLParser.CONCAT - 626)) | (1 << (frameQLParser.CONCAT_WS - 626)) | (1 << (frameQLParser.CONNECTION_ID - 626)) | (1 << (frameQLParser.CONV - 626)) | (1 << (frameQLParser.CONVERT_TZ - 626)) | (1 << (frameQLParser.COS - 626)) | (1 << (frameQLParser.COT - 626)) | (1 << (frameQLParser.CRC32 - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 626)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 626)) | (1 << (frameQLParser.CREATE_DIGEST - 626)) | (1 << (frameQLParser.CROSSES - 626)) | (1 << (frameQLParser.DATEDIFF - 626)) | (1 << (frameQLParser.DATE_FORMAT - 626)) | (1 << (frameQLParser.DAYNAME - 626)) | (1 << (frameQLParser.DAYOFMONTH - 626)) | (1 << (frameQLParser.DAYOFWEEK - 626)) | (1 << (frameQLParser.DAYOFYEAR - 626)) | (1 << (frameQLParser.DECODE - 626)))) != 0) or ((((_la - 690)) & ~0x3f) == 0 and ((1 << (_la - 690)) & ((1 << (frameQLParser.DEGREES - 690)) | (1 << (frameQLParser.DES_DECRYPT - 690)) | (1 << (frameQLParser.DES_ENCRYPT - 690)) | (1 << (frameQLParser.DIMENSION - 690)) | (1 << (frameQLParser.DISJOINT - 690)) | (1 << (frameQLParser.ELT - 690)) | (1 << (frameQLParser.ENCODE - 690)) | (1 << (frameQLParser.ENCRYPT - 690)) | (1 << (frameQLParser.ENDPOINT - 690)) | (1 << (frameQLParser.ENVELOPE - 690)) | (1 << (frameQLParser.EQUALS - 690)) | (1 << (frameQLParser.EXP - 690)) | (1 << (frameQLParser.EXPORT_SET - 690)) | (1 << (frameQLParser.EXTERIORRING - 690)) | (1 << (frameQLParser.EXTRACTVALUE - 690)) | (1 << (frameQLParser.FIELD - 690)) | (1 << (frameQLParser.FIND_IN_SET - 690)) | (1 << (frameQLParser.FLOOR - 690)) | (1 << (frameQLParser.FORMAT - 690)) | (1 << (frameQLParser.FOUND_ROWS - 690)) | (1 << (frameQLParser.FROM_BASE64 - 690)) | (1 << (frameQLParser.FROM_DAYS - 690)) | (1 << (frameQLParser.FROM_UNIXTIME - 690)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 690)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYN - 690)) | (1 << (frameQLParser.GEOMETRYTYPE - 690)) | (1 << (frameQLParser.GEOMFROMTEXT - 690)) | (1 << (frameQLParser.GEOMFROMWKB - 690)) | (1 << (frameQLParser.GET_FORMAT - 690)) | (1 << (frameQLParser.GET_LOCK - 690)) | (1 << (frameQLParser.GLENGTH - 690)) | (1 << (frameQLParser.GREATEST - 690)) | (1 << (frameQLParser.GTID_SUBSET - 690)) | (1 << (frameQLParser.GTID_SUBTRACT - 690)) | (1 << (frameQLParser.HEX - 690)) | (1 << (frameQLParser.IFNULL - 690)) | (1 << (frameQLParser.INET6_ATON - 690)) | (1 << (frameQLParser.INET6_NTOA - 690)) | (1 << (frameQLParser.INET_ATON - 690)) | (1 << (frameQLParser.INET_NTOA - 690)) | (1 << (frameQLParser.INSTR - 690)) | (1 << (frameQLParser.INTERIORRINGN - 690)) | (1 << (frameQLParser.INTERSECTS - 690)) | (1 << (frameQLParser.ISCLOSED - 690)) | (1 << (frameQLParser.ISEMPTY - 690)) | (1 << (frameQLParser.ISNULL - 690)) | (1 << (frameQLParser.ISSIMPLE - 690)) | (1 << (frameQLParser.IS_FREE_LOCK - 690)) | (1 << (frameQLParser.IS_IPV4 - 690)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 690)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 690)) | (1 << (frameQLParser.IS_IPV6 - 690)) | (1 << (frameQLParser.IS_USED_LOCK - 690)) | (1 << (frameQLParser.LAST_INSERT_ID - 690)) | (1 << (frameQLParser.LCASE - 690)) | (1 << (frameQLParser.LEAST - 690)) | (1 << (frameQLParser.LENGTH - 690)) | (1 << (frameQLParser.LINEFROMTEXT - 690)) | (1 << (frameQLParser.LINEFROMWKB - 690)))) != 0) or ((((_la - 754)) & ~0x3f) == 0 and ((1 << (_la - 754)) & ((1 << (frameQLParser.LINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.LN - 754)) | (1 << (frameQLParser.LOAD_FILE - 754)) | (1 << (frameQLParser.LOCATE - 754)) | (1 << (frameQLParser.LOG - 754)) | (1 << (frameQLParser.LOG10 - 754)) | (1 << (frameQLParser.LOG2 - 754)) | (1 << (frameQLParser.LOWER - 754)) | (1 << (frameQLParser.LPAD - 754)) | (1 << (frameQLParser.LTRIM - 754)) | (1 << (frameQLParser.MAKEDATE - 754)) | (1 << (frameQLParser.MAKETIME - 754)) | (1 << (frameQLParser.MAKE_SET - 754)) | (1 << (frameQLParser.MASTER_POS_WAIT - 754)) | (1 << (frameQLParser.MBRCONTAINS - 754)) | (1 << (frameQLParser.MBRDISJOINT - 754)) | (1 << (frameQLParser.MBREQUAL - 754)) | (1 << (frameQLParser.MBRINTERSECTS - 754)) | (1 << (frameQLParser.MBROVERLAPS - 754)) | (1 << (frameQLParser.MBRTOUCHES - 754)) | (1 << (frameQLParser.MBRWITHIN - 754)) | (1 << (frameQLParser.MD5 - 754)) | (1 << (frameQLParser.MLINEFROMTEXT - 754)) | (1 << (frameQLParser.MLINEFROMWKB - 754)) | (1 << (frameQLParser.MONTHNAME - 754)) | (1 << (frameQLParser.MPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MPOINTFROMWKB - 754)) | (1 << (frameQLParser.MPOLYFROMTEXT - 754)) | (1 << (frameQLParser.MPOLYFROMWKB - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 754)) | (1 << (frameQLParser.NAME_CONST - 754)) | (1 << (frameQLParser.NULLIF - 754)) | (1 << (frameQLParser.NUMGEOMETRIES - 754)) | (1 << (frameQLParser.NUMINTERIORRINGS - 754)) | (1 << (frameQLParser.NUMPOINTS - 754)) | (1 << (frameQLParser.OCT - 754)) | (1 << (frameQLParser.OCTET_LENGTH - 754)) | (1 << (frameQLParser.ORD - 754)) | (1 << (frameQLParser.OVERLAPS - 754)) | (1 << (frameQLParser.PERIOD_ADD - 754)) | (1 << (frameQLParser.PERIOD_DIFF - 754)) | (1 << (frameQLParser.PI - 754)) | (1 << (frameQLParser.POINTFROMTEXT - 754)) | (1 << (frameQLParser.POINTFROMWKB - 754)) | (1 << (frameQLParser.POINTN - 754)) | (1 << (frameQLParser.POLYFROMTEXT - 754)) | (1 << (frameQLParser.POLYFROMWKB - 754)) | (1 << (frameQLParser.POLYGONFROMTEXT - 754)) | (1 << (frameQLParser.POLYGONFROMWKB - 754)) | (1 << (frameQLParser.POW - 754)) | (1 << (frameQLParser.POWER - 754)) | (1 << (frameQLParser.QUOTE - 754)) | (1 << (frameQLParser.RADIANS - 754)) | (1 << (frameQLParser.RAND - 754)) | (1 << (frameQLParser.RANDOM_BYTES - 754)) | (1 << (frameQLParser.RELEASE_LOCK - 754)) | (1 << (frameQLParser.REVERSE - 754)) | (1 << (frameQLParser.ROUND - 754)))) != 0) or ((((_la - 818)) & ~0x3f) == 0 and ((1 << (_la - 818)) & ((1 << (frameQLParser.ROW_COUNT - 818)) | (1 << (frameQLParser.RPAD - 818)) | (1 << (frameQLParser.RTRIM - 818)) | (1 << (frameQLParser.SEC_TO_TIME - 818)) | (1 << (frameQLParser.SESSION_USER - 818)) | (1 << (frameQLParser.SHA - 818)) | (1 << (frameQLParser.SHA1 - 818)) | (1 << (frameQLParser.SHA2 - 818)) | (1 << (frameQLParser.SIGN - 818)) | (1 << (frameQLParser.SIN - 818)) | (1 << (frameQLParser.SLEEP - 818)) | (1 << (frameQLParser.SOUNDEX - 818)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 818)) | (1 << (frameQLParser.SQRT - 818)) | (1 << (frameQLParser.SRID - 818)) | (1 << (frameQLParser.STARTPOINT - 818)) | (1 << (frameQLParser.STRCMP - 818)) | (1 << (frameQLParser.STR_TO_DATE - 818)) | (1 << (frameQLParser.ST_AREA - 818)) | (1 << (frameQLParser.ST_ASBINARY - 818)) | (1 << (frameQLParser.ST_ASTEXT - 818)) | (1 << (frameQLParser.ST_ASWKB - 818)) | (1 << (frameQLParser.ST_ASWKT - 818)) | (1 << (frameQLParser.ST_BUFFER - 818)) | (1 << (frameQLParser.ST_CENTROID - 818)) | (1 << (frameQLParser.ST_CONTAINS - 818)) | (1 << (frameQLParser.ST_CROSSES - 818)) | (1 << (frameQLParser.ST_DIFFERENCE - 818)) | (1 << (frameQLParser.ST_DIMENSION - 818)) | (1 << (frameQLParser.ST_DISJOINT - 818)) | (1 << (frameQLParser.ST_DISTANCE - 818)) | (1 << (frameQLParser.ST_ENDPOINT - 818)) | (1 << (frameQLParser.ST_ENVELOPE - 818)) | (1 << (frameQLParser.ST_EQUALS - 818)) | (1 << (frameQLParser.ST_EXTERIORRING - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYN - 818)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 818)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 818)) | (1 << (frameQLParser.ST_INTERIORRINGN - 818)) | (1 << (frameQLParser.ST_INTERSECTION - 818)) | (1 << (frameQLParser.ST_INTERSECTS - 818)) | (1 << (frameQLParser.ST_ISCLOSED - 818)) | (1 << (frameQLParser.ST_ISEMPTY - 818)) | (1 << (frameQLParser.ST_ISSIMPLE - 818)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINEFROMWKB - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 818)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 818)) | (1 << (frameQLParser.ST_NUMPOINTS - 818)) | (1 << (frameQLParser.ST_OVERLAPS - 818)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 818)) | (1 << (frameQLParser.ST_POINTFROMWKB - 818)) | (1 << (frameQLParser.ST_POINTN - 818)))) != 0) or ((((_la - 882)) & ~0x3f) == 0 and ((1 << (_la - 882)) & ((1 << (frameQLParser.ST_POLYFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYFROMWKB - 882)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 882)) | (1 << (frameQLParser.ST_SRID - 882)) | (1 << (frameQLParser.ST_STARTPOINT - 882)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 882)) | (1 << (frameQLParser.ST_TOUCHES - 882)) | (1 << (frameQLParser.ST_UNION - 882)) | (1 << (frameQLParser.ST_WITHIN - 882)) | (1 << (frameQLParser.ST_X - 882)) | (1 << (frameQLParser.ST_Y - 882)) | (1 << (frameQLParser.SUBDATE - 882)) | (1 << (frameQLParser.SUBSTRING_INDEX - 882)) | (1 << (frameQLParser.SUBTIME - 882)) | (1 << (frameQLParser.SYSTEM_USER - 882)) | (1 << (frameQLParser.TAN - 882)) | (1 << (frameQLParser.TIMEDIFF - 882)) | (1 << (frameQLParser.TIMESTAMPADD - 882)) | (1 << (frameQLParser.TIMESTAMPDIFF - 882)) | (1 << (frameQLParser.TIME_FORMAT - 882)) | (1 << (frameQLParser.TIME_TO_SEC - 882)) | (1 << (frameQLParser.TOUCHES - 882)) | (1 << (frameQLParser.TO_BASE64 - 882)) | (1 << (frameQLParser.TO_DAYS - 882)) | (1 << (frameQLParser.TO_SECONDS - 882)) | (1 << (frameQLParser.UCASE - 882)) | (1 << (frameQLParser.UNCOMPRESS - 882)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 882)) | (1 << (frameQLParser.UNHEX - 882)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 882)) | (1 << (frameQLParser.UPDATEXML - 882)) | (1 << (frameQLParser.UPPER - 882)) | (1 << (frameQLParser.UUID - 882)) | (1 << (frameQLParser.UUID_SHORT - 882)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 882)) | (1 << (frameQLParser.VERSION - 882)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 882)) | (1 << (frameQLParser.WEEKDAY - 882)) | (1 << (frameQLParser.WEEKOFYEAR - 882)) | (1 << (frameQLParser.WEIGHT_STRING - 882)) | (1 << (frameQLParser.WITHIN - 882)) | (1 << (frameQLParser.YEARWEEK - 882)) | (1 << (frameQLParser.Y_FUNCTION - 882)) | (1 << (frameQLParser.X_FUNCTION - 882)))) != 0) or ((((_la - 953)) & ~0x3f) == 0 and ((1 << (_la - 953)) & ((1 << (frameQLParser.LR_BRACKET - 953)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 953)) | (1 << (frameQLParser.STRING_LITERAL - 953)) | (1 << (frameQLParser.ID - 953)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 953)))) != 0)): - break - - self.state = 4155 - self.match(frameQLParser.UNTIL) - self.state = 4156 - self.expression(0) - self.state = 4157 - self.match(frameQLParser.END) - self.state = 4158 - self.match(frameQLParser.REPEAT) - self.state = 4160 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 4159 - self.uid() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ReturnStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def RETURN(self): - return self.getToken(frameQLParser.RETURN, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_returnStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterReturnStatement" ): - listener.enterReturnStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitReturnStatement" ): - listener.exitReturnStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitReturnStatement" ): - return visitor.visitReturnStatement(self) - else: - return visitor.visitChildren(self) - - - - - def returnStatement(self): - - localctx = frameQLParser.ReturnStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 362, self.RULE_returnStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 4162 - self.match(frameQLParser.RETURN) - self.state = 4163 - self.expression(0) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class WhileStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def WHILE(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.WHILE) - else: - return self.getToken(frameQLParser.WHILE, i) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def DO(self): - return self.getToken(frameQLParser.DO, 0) - - def END(self): - return self.getToken(frameQLParser.END, 0) - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def procedureSqlStatement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ProcedureSqlStatementContext) - else: - return self.getTypedRuleContext(frameQLParser.ProcedureSqlStatementContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_whileStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterWhileStatement" ): - listener.enterWhileStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitWhileStatement" ): - listener.exitWhileStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitWhileStatement" ): - return visitor.visitWhileStatement(self) - else: - return visitor.visitChildren(self) - - - - - def whileStatement(self): - - localctx = frameQLParser.WhileStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 364, self.RULE_whileStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4168 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 4165 - self.uid() - self.state = 4166 - self.match(frameQLParser.COLON_SYMB) - - - self.state = 4170 - self.match(frameQLParser.WHILE) - self.state = 4171 - self.expression(0) - self.state = 4172 - self.match(frameQLParser.DO) - self.state = 4174 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4173 - self.procedureSqlStatement() - self.state = 4176 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 9)) & ~0x3f) == 0 and ((1 << (_la - 9)) & ((1 << (frameQLParser.ALTER - 9)) | (1 << (frameQLParser.ANALYZE - 9)) | (1 << (frameQLParser.CALL - 9)) | (1 << (frameQLParser.CASE - 9)) | (1 << (frameQLParser.CHANGE - 9)) | (1 << (frameQLParser.CHECK - 9)) | (1 << (frameQLParser.CREATE - 9)) | (1 << (frameQLParser.DATABASE - 9)) | (1 << (frameQLParser.DELETE - 9)) | (1 << (frameQLParser.DESC - 9)) | (1 << (frameQLParser.DESCRIBE - 9)) | (1 << (frameQLParser.DROP - 9)) | (1 << (frameQLParser.EXPLAIN - 9)) | (1 << (frameQLParser.FETCH - 9)) | (1 << (frameQLParser.GRANT - 9)) | (1 << (frameQLParser.IF - 9)))) != 0) or ((((_la - 75)) & ~0x3f) == 0 and ((1 << (_la - 75)) & ((1 << (frameQLParser.INSERT - 75)) | (1 << (frameQLParser.ITERATE - 75)) | (1 << (frameQLParser.KILL - 75)) | (1 << (frameQLParser.LEAVE - 75)) | (1 << (frameQLParser.LEFT - 75)) | (1 << (frameQLParser.LOAD - 75)) | (1 << (frameQLParser.LOCK - 75)) | (1 << (frameQLParser.LOOP - 75)) | (1 << (frameQLParser.OPTIMIZE - 75)) | (1 << (frameQLParser.PURGE - 75)) | (1 << (frameQLParser.RELEASE - 75)) | (1 << (frameQLParser.RENAME - 75)) | (1 << (frameQLParser.REPEAT - 75)) | (1 << (frameQLParser.REPLACE - 75)) | (1 << (frameQLParser.RETURN - 75)) | (1 << (frameQLParser.REVOKE - 75)) | (1 << (frameQLParser.RIGHT - 75)) | (1 << (frameQLParser.SELECT - 75)) | (1 << (frameQLParser.SET - 75)) | (1 << (frameQLParser.SHOW - 75)))) != 0) or ((((_la - 159)) & ~0x3f) == 0 and ((1 << (_la - 159)) & ((1 << (frameQLParser.UNLOCK - 159)) | (1 << (frameQLParser.UPDATE - 159)) | (1 << (frameQLParser.USE - 159)) | (1 << (frameQLParser.WHILE - 159)) | (1 << (frameQLParser.DATE - 159)) | (1 << (frameQLParser.TIME - 159)) | (1 << (frameQLParser.TIMESTAMP - 159)) | (1 << (frameQLParser.DATETIME - 159)) | (1 << (frameQLParser.YEAR - 159)) | (1 << (frameQLParser.TEXT - 159)) | (1 << (frameQLParser.ENUM - 159)) | (1 << (frameQLParser.SERIAL - 159)) | (1 << (frameQLParser.COUNT - 159)))) != 0) or ((((_la - 242)) & ~0x3f) == 0 and ((1 << (_la - 242)) & ((1 << (frameQLParser.POSITION - 242)) | (1 << (frameQLParser.ACCOUNT - 242)) | (1 << (frameQLParser.ACTION - 242)) | (1 << (frameQLParser.AFTER - 242)) | (1 << (frameQLParser.AGGREGATE - 242)) | (1 << (frameQLParser.ALGORITHM - 242)) | (1 << (frameQLParser.ANY - 242)) | (1 << (frameQLParser.AT - 242)) | (1 << (frameQLParser.AUTHORS - 242)) | (1 << (frameQLParser.AUTOCOMMIT - 242)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 242)) | (1 << (frameQLParser.AUTO_INCREMENT - 242)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 242)) | (1 << (frameQLParser.BEGIN - 242)) | (1 << (frameQLParser.BINLOG - 242)) | (1 << (frameQLParser.BIT - 242)) | (1 << (frameQLParser.BLOCK - 242)) | (1 << (frameQLParser.BOOL - 242)) | (1 << (frameQLParser.BOOLEAN - 242)) | (1 << (frameQLParser.BTREE - 242)) | (1 << (frameQLParser.CACHE - 242)) | (1 << (frameQLParser.CASCADED - 242)) | (1 << (frameQLParser.CHAIN - 242)) | (1 << (frameQLParser.CHANGED - 242)) | (1 << (frameQLParser.CHANNEL - 242)) | (1 << (frameQLParser.CHECKSUM - 242)) | (1 << (frameQLParser.CIPHER - 242)) | (1 << (frameQLParser.CLIENT - 242)) | (1 << (frameQLParser.CLOSE - 242)) | (1 << (frameQLParser.COALESCE - 242)) | (1 << (frameQLParser.CODE - 242)) | (1 << (frameQLParser.COLUMNS - 242)) | (1 << (frameQLParser.COLUMN_FORMAT - 242)) | (1 << (frameQLParser.COMMENT - 242)) | (1 << (frameQLParser.COMMIT - 242)) | (1 << (frameQLParser.COMPACT - 242)) | (1 << (frameQLParser.COMPLETION - 242)) | (1 << (frameQLParser.COMPRESSED - 242)) | (1 << (frameQLParser.COMPRESSION - 242)) | (1 << (frameQLParser.CONCURRENT - 242)) | (1 << (frameQLParser.CONNECTION - 242)) | (1 << (frameQLParser.CONSISTENT - 242)) | (1 << (frameQLParser.CONTAINS - 242)) | (1 << (frameQLParser.CONTEXT - 242)) | (1 << (frameQLParser.CONTRIBUTORS - 242)) | (1 << (frameQLParser.COPY - 242)) | (1 << (frameQLParser.CPU - 242)) | (1 << (frameQLParser.DATA - 242)) | (1 << (frameQLParser.DATAFILE - 242)) | (1 << (frameQLParser.DEALLOCATE - 242)) | (1 << (frameQLParser.DEFAULT_AUTH - 242)) | (1 << (frameQLParser.DEFINER - 242)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 242)) | (1 << (frameQLParser.DIRECTORY - 242)) | (1 << (frameQLParser.DISABLE - 242)) | (1 << (frameQLParser.DISCARD - 242)))) != 0) or ((((_la - 306)) & ~0x3f) == 0 and ((1 << (_la - 306)) & ((1 << (frameQLParser.DISK - 306)) | (1 << (frameQLParser.DO - 306)) | (1 << (frameQLParser.DUMPFILE - 306)) | (1 << (frameQLParser.DUPLICATE - 306)) | (1 << (frameQLParser.DYNAMIC - 306)) | (1 << (frameQLParser.ENABLE - 306)) | (1 << (frameQLParser.ENCRYPTION - 306)) | (1 << (frameQLParser.ENDS - 306)) | (1 << (frameQLParser.ENGINE - 306)) | (1 << (frameQLParser.ENGINES - 306)) | (1 << (frameQLParser.ERROR - 306)) | (1 << (frameQLParser.ERRORS - 306)) | (1 << (frameQLParser.ESCAPE - 306)) | (1 << (frameQLParser.EVEN - 306)) | (1 << (frameQLParser.EVENT - 306)) | (1 << (frameQLParser.EVENTS - 306)) | (1 << (frameQLParser.EVERY - 306)) | (1 << (frameQLParser.EXCHANGE - 306)) | (1 << (frameQLParser.EXCLUSIVE - 306)) | (1 << (frameQLParser.EXPIRE - 306)) | (1 << (frameQLParser.EXTENDED - 306)) | (1 << (frameQLParser.EXTENT_SIZE - 306)) | (1 << (frameQLParser.FAST - 306)) | (1 << (frameQLParser.FAULTS - 306)) | (1 << (frameQLParser.FIELDS - 306)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 306)) | (1 << (frameQLParser.FILTER - 306)) | (1 << (frameQLParser.FIRST - 306)) | (1 << (frameQLParser.FIXED - 306)) | (1 << (frameQLParser.FLUSH - 306)) | (1 << (frameQLParser.FOLLOWS - 306)) | (1 << (frameQLParser.FULL - 306)) | (1 << (frameQLParser.FUNCTION - 306)) | (1 << (frameQLParser.GLOBAL - 306)) | (1 << (frameQLParser.GRANTS - 306)) | (1 << (frameQLParser.GROUP_REPLICATION - 306)) | (1 << (frameQLParser.HANDLER - 306)) | (1 << (frameQLParser.HASH - 306)) | (1 << (frameQLParser.HELP - 306)) | (1 << (frameQLParser.HOST - 306)) | (1 << (frameQLParser.IDENTIFIED - 306)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 306)) | (1 << (frameQLParser.IMPORT - 306)) | (1 << (frameQLParser.INDEXES - 306)) | (1 << (frameQLParser.INITIAL_SIZE - 306)) | (1 << (frameQLParser.INPLACE - 306)) | (1 << (frameQLParser.INSERT_METHOD - 306)) | (1 << (frameQLParser.INSTALL - 306)) | (1 << (frameQLParser.INSTANCE - 306)) | (1 << (frameQLParser.INVOKER - 306)) | (1 << (frameQLParser.IO - 306)) | (1 << (frameQLParser.IO_THREAD - 306)) | (1 << (frameQLParser.IPC - 306)) | (1 << (frameQLParser.ISOLATION - 306)) | (1 << (frameQLParser.ISSUER - 306)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 306)) | (1 << (frameQLParser.LANGUAGE - 306)) | (1 << (frameQLParser.LAST - 306)))) != 0) or ((((_la - 370)) & ~0x3f) == 0 and ((1 << (_la - 370)) & ((1 << (frameQLParser.LEAVES - 370)) | (1 << (frameQLParser.LESS - 370)) | (1 << (frameQLParser.LEVEL - 370)) | (1 << (frameQLParser.LIST - 370)) | (1 << (frameQLParser.LOCAL - 370)) | (1 << (frameQLParser.LOGFILE - 370)) | (1 << (frameQLParser.LOGS - 370)) | (1 << (frameQLParser.MASTER - 370)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 370)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 370)) | (1 << (frameQLParser.MASTER_DELAY - 370)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 370)) | (1 << (frameQLParser.MASTER_HOST - 370)) | (1 << (frameQLParser.MASTER_LOG_FILE - 370)) | (1 << (frameQLParser.MASTER_LOG_POS - 370)) | (1 << (frameQLParser.MASTER_PASSWORD - 370)) | (1 << (frameQLParser.MASTER_PORT - 370)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 370)) | (1 << (frameQLParser.MASTER_SSL - 370)) | (1 << (frameQLParser.MASTER_SSL_CA - 370)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_CERT - 370)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 370)) | (1 << (frameQLParser.MASTER_SSL_CRL - 370)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_KEY - 370)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 370)) | (1 << (frameQLParser.MASTER_USER - 370)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_ROWS - 370)) | (1 << (frameQLParser.MAX_SIZE - 370)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 370)) | (1 << (frameQLParser.MEDIUM - 370)) | (1 << (frameQLParser.MERGE - 370)) | (1 << (frameQLParser.MID - 370)) | (1 << (frameQLParser.MIGRATE - 370)) | (1 << (frameQLParser.MIN_ROWS - 370)) | (1 << (frameQLParser.MODIFY - 370)) | (1 << (frameQLParser.MUTEX - 370)) | (1 << (frameQLParser.MYSQL - 370)) | (1 << (frameQLParser.NAME - 370)) | (1 << (frameQLParser.NAMES - 370)) | (1 << (frameQLParser.NCHAR - 370)) | (1 << (frameQLParser.NEVER - 370)) | (1 << (frameQLParser.NO - 370)) | (1 << (frameQLParser.NODEGROUP - 370)) | (1 << (frameQLParser.NONE - 370)) | (1 << (frameQLParser.OFFLINE - 370)) | (1 << (frameQLParser.OFFSET - 370)) | (1 << (frameQLParser.OJ - 370)) | (1 << (frameQLParser.OLD_PASSWORD - 370)) | (1 << (frameQLParser.ONE - 370)) | (1 << (frameQLParser.ONLINE - 370)) | (1 << (frameQLParser.ONLY - 370)) | (1 << (frameQLParser.OPEN - 370)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 370)) | (1 << (frameQLParser.OPTIONS - 370)) | (1 << (frameQLParser.OWNER - 370)) | (1 << (frameQLParser.PACK_KEYS - 370)) | (1 << (frameQLParser.PAGE - 370)))) != 0) or ((((_la - 434)) & ~0x3f) == 0 and ((1 << (_la - 434)) & ((1 << (frameQLParser.PARSER - 434)) | (1 << (frameQLParser.PARTIAL - 434)) | (1 << (frameQLParser.PARTITIONING - 434)) | (1 << (frameQLParser.PARTITIONS - 434)) | (1 << (frameQLParser.PASSWORD - 434)) | (1 << (frameQLParser.PHASE - 434)) | (1 << (frameQLParser.PLUGIN_DIR - 434)) | (1 << (frameQLParser.PLUGINS - 434)) | (1 << (frameQLParser.PORT - 434)) | (1 << (frameQLParser.PRECEDES - 434)) | (1 << (frameQLParser.PREPARE - 434)) | (1 << (frameQLParser.PRESERVE - 434)) | (1 << (frameQLParser.PREV - 434)) | (1 << (frameQLParser.PROCESSLIST - 434)) | (1 << (frameQLParser.PROFILE - 434)) | (1 << (frameQLParser.PROFILES - 434)) | (1 << (frameQLParser.PROXY - 434)) | (1 << (frameQLParser.QUERY - 434)) | (1 << (frameQLParser.QUICK - 434)) | (1 << (frameQLParser.REBUILD - 434)) | (1 << (frameQLParser.RECOVER - 434)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 434)) | (1 << (frameQLParser.REDUNDANT - 434)) | (1 << (frameQLParser.RELAY_LOG_FILE - 434)) | (1 << (frameQLParser.RELAY_LOG_POS - 434)) | (1 << (frameQLParser.RELAYLOG - 434)) | (1 << (frameQLParser.REMOVE - 434)) | (1 << (frameQLParser.REORGANIZE - 434)) | (1 << (frameQLParser.REPAIR - 434)) | (1 << (frameQLParser.REPLICATE_DO_DB - 434)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 434)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATION - 434)) | (1 << (frameQLParser.RESET - 434)) | (1 << (frameQLParser.RESUME - 434)) | (1 << (frameQLParser.RETURNS - 434)) | (1 << (frameQLParser.ROLLBACK - 434)) | (1 << (frameQLParser.ROLLUP - 434)) | (1 << (frameQLParser.ROTATE - 434)) | (1 << (frameQLParser.ROW - 434)) | (1 << (frameQLParser.ROWS - 434)) | (1 << (frameQLParser.ROW_FORMAT - 434)) | (1 << (frameQLParser.SAVEPOINT - 434)) | (1 << (frameQLParser.SCHEDULE - 434)) | (1 << (frameQLParser.SECURITY - 434)) | (1 << (frameQLParser.SERVER - 434)) | (1 << (frameQLParser.SESSION - 434)) | (1 << (frameQLParser.SHARE - 434)) | (1 << (frameQLParser.SHARED - 434)) | (1 << (frameQLParser.SIGNED - 434)) | (1 << (frameQLParser.SIMPLE - 434)) | (1 << (frameQLParser.SLAVE - 434)) | (1 << (frameQLParser.SNAPSHOT - 434)) | (1 << (frameQLParser.SOCKET - 434)) | (1 << (frameQLParser.SOME - 434)) | (1 << (frameQLParser.SOUNDS - 434)))) != 0) or ((((_la - 498)) & ~0x3f) == 0 and ((1 << (_la - 498)) & ((1 << (frameQLParser.SOURCE - 498)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 498)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 498)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 498)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 498)) | (1 << (frameQLParser.SQL_CACHE - 498)) | (1 << (frameQLParser.SQL_NO_CACHE - 498)) | (1 << (frameQLParser.SQL_THREAD - 498)) | (1 << (frameQLParser.START - 498)) | (1 << (frameQLParser.STARTS - 498)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 498)) | (1 << (frameQLParser.STATS_PERSISTENT - 498)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 498)) | (1 << (frameQLParser.STATUS - 498)) | (1 << (frameQLParser.STOP - 498)) | (1 << (frameQLParser.STORAGE - 498)) | (1 << (frameQLParser.STRING - 498)) | (1 << (frameQLParser.SUBJECT - 498)) | (1 << (frameQLParser.SUBPARTITION - 498)) | (1 << (frameQLParser.SUBPARTITIONS - 498)) | (1 << (frameQLParser.SUSPEND - 498)) | (1 << (frameQLParser.SWAPS - 498)) | (1 << (frameQLParser.SWITCHES - 498)) | (1 << (frameQLParser.TABLESPACE - 498)) | (1 << (frameQLParser.TEMPORARY - 498)) | (1 << (frameQLParser.TEMPTABLE - 498)) | (1 << (frameQLParser.THAN - 498)) | (1 << (frameQLParser.TRANSACTION - 498)) | (1 << (frameQLParser.TRUNCATE - 498)) | (1 << (frameQLParser.UNDEFINED - 498)) | (1 << (frameQLParser.UNDOFILE - 498)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 498)) | (1 << (frameQLParser.UNINSTALL - 498)) | (1 << (frameQLParser.UNKNOWN - 498)) | (1 << (frameQLParser.UPGRADE - 498)) | (1 << (frameQLParser.USER - 498)) | (1 << (frameQLParser.VALIDATION - 498)) | (1 << (frameQLParser.VALUE - 498)) | (1 << (frameQLParser.VARIABLES - 498)) | (1 << (frameQLParser.VIEW - 498)) | (1 << (frameQLParser.WAIT - 498)) | (1 << (frameQLParser.WARNINGS - 498)) | (1 << (frameQLParser.WITHOUT - 498)) | (1 << (frameQLParser.WORK - 498)) | (1 << (frameQLParser.WRAPPER - 498)) | (1 << (frameQLParser.X509 - 498)) | (1 << (frameQLParser.XA - 498)) | (1 << (frameQLParser.XML - 498)) | (1 << (frameQLParser.QUARTER - 498)) | (1 << (frameQLParser.MONTH - 498)) | (1 << (frameQLParser.DAY - 498)) | (1 << (frameQLParser.HOUR - 498)))) != 0) or ((((_la - 562)) & ~0x3f) == 0 and ((1 << (_la - 562)) & ((1 << (frameQLParser.MINUTE - 562)) | (1 << (frameQLParser.WEEK - 562)) | (1 << (frameQLParser.SECOND - 562)) | (1 << (frameQLParser.MICROSECOND - 562)) | (1 << (frameQLParser.TABLES - 562)) | (1 << (frameQLParser.ROUTINE - 562)) | (1 << (frameQLParser.EXECUTE - 562)) | (1 << (frameQLParser.FILE - 562)) | (1 << (frameQLParser.PROCESS - 562)) | (1 << (frameQLParser.RELOAD - 562)) | (1 << (frameQLParser.SHUTDOWN - 562)) | (1 << (frameQLParser.SUPER - 562)) | (1 << (frameQLParser.PRIVILEGES - 562)) | (1 << (frameQLParser.ARMSCII8 - 562)) | (1 << (frameQLParser.ASCII - 562)) | (1 << (frameQLParser.BIG5 - 562)) | (1 << (frameQLParser.CP1250 - 562)) | (1 << (frameQLParser.CP1251 - 562)) | (1 << (frameQLParser.CP1256 - 562)) | (1 << (frameQLParser.CP1257 - 562)) | (1 << (frameQLParser.CP850 - 562)) | (1 << (frameQLParser.CP852 - 562)) | (1 << (frameQLParser.CP866 - 562)) | (1 << (frameQLParser.CP932 - 562)) | (1 << (frameQLParser.DEC8 - 562)) | (1 << (frameQLParser.EUCJPMS - 562)) | (1 << (frameQLParser.EUCKR - 562)) | (1 << (frameQLParser.GB2312 - 562)) | (1 << (frameQLParser.GBK - 562)) | (1 << (frameQLParser.GEOSTD8 - 562)) | (1 << (frameQLParser.GREEK - 562)) | (1 << (frameQLParser.HEBREW - 562)) | (1 << (frameQLParser.HP8 - 562)) | (1 << (frameQLParser.KEYBCS2 - 562)) | (1 << (frameQLParser.KOI8R - 562)) | (1 << (frameQLParser.KOI8U - 562)) | (1 << (frameQLParser.LATIN1 - 562)) | (1 << (frameQLParser.LATIN2 - 562)) | (1 << (frameQLParser.LATIN5 - 562)) | (1 << (frameQLParser.LATIN7 - 562)) | (1 << (frameQLParser.MACCE - 562)) | (1 << (frameQLParser.MACROMAN - 562)) | (1 << (frameQLParser.SJIS - 562)) | (1 << (frameQLParser.SWE7 - 562)) | (1 << (frameQLParser.TIS620 - 562)) | (1 << (frameQLParser.UCS2 - 562)) | (1 << (frameQLParser.UJIS - 562)) | (1 << (frameQLParser.UTF16 - 562)) | (1 << (frameQLParser.UTF16LE - 562)) | (1 << (frameQLParser.UTF32 - 562)) | (1 << (frameQLParser.UTF8 - 562)) | (1 << (frameQLParser.UTF8MB3 - 562)) | (1 << (frameQLParser.UTF8MB4 - 562)) | (1 << (frameQLParser.ARCHIVE - 562)) | (1 << (frameQLParser.BLACKHOLE - 562)) | (1 << (frameQLParser.CSV - 562)) | (1 << (frameQLParser.FEDERATED - 562)) | (1 << (frameQLParser.INNODB - 562)) | (1 << (frameQLParser.MEMORY - 562)) | (1 << (frameQLParser.MRG_MYISAM - 562)) | (1 << (frameQLParser.MYISAM - 562)) | (1 << (frameQLParser.NDB - 562)) | (1 << (frameQLParser.NDBCLUSTER - 562)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 562)))) != 0) or ((((_la - 626)) & ~0x3f) == 0 and ((1 << (_la - 626)) & ((1 << (frameQLParser.REPEATABLE - 626)) | (1 << (frameQLParser.COMMITTED - 626)) | (1 << (frameQLParser.UNCOMMITTED - 626)) | (1 << (frameQLParser.SERIALIZABLE - 626)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 626)) | (1 << (frameQLParser.LINESTRING - 626)) | (1 << (frameQLParser.MULTILINESTRING - 626)) | (1 << (frameQLParser.MULTIPOINT - 626)) | (1 << (frameQLParser.MULTIPOLYGON - 626)) | (1 << (frameQLParser.POINT - 626)) | (1 << (frameQLParser.POLYGON - 626)) | (1 << (frameQLParser.ABS - 626)) | (1 << (frameQLParser.ACOS - 626)) | (1 << (frameQLParser.ADDDATE - 626)) | (1 << (frameQLParser.ADDTIME - 626)) | (1 << (frameQLParser.AES_DECRYPT - 626)) | (1 << (frameQLParser.AES_ENCRYPT - 626)) | (1 << (frameQLParser.AREA - 626)) | (1 << (frameQLParser.ASBINARY - 626)) | (1 << (frameQLParser.ASIN - 626)) | (1 << (frameQLParser.ASTEXT - 626)) | (1 << (frameQLParser.ASWKB - 626)) | (1 << (frameQLParser.ASWKT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 626)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 626)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 626)) | (1 << (frameQLParser.ATAN - 626)) | (1 << (frameQLParser.ATAN2 - 626)) | (1 << (frameQLParser.BENCHMARK - 626)) | (1 << (frameQLParser.BIN - 626)) | (1 << (frameQLParser.BIT_COUNT - 626)) | (1 << (frameQLParser.BIT_LENGTH - 626)) | (1 << (frameQLParser.BUFFER - 626)) | (1 << (frameQLParser.CEIL - 626)) | (1 << (frameQLParser.CEILING - 626)) | (1 << (frameQLParser.CENTROID - 626)) | (1 << (frameQLParser.CHARACTER_LENGTH - 626)) | (1 << (frameQLParser.CHARSET - 626)) | (1 << (frameQLParser.CHAR_LENGTH - 626)) | (1 << (frameQLParser.COERCIBILITY - 626)) | (1 << (frameQLParser.COLLATION - 626)) | (1 << (frameQLParser.COMPRESS - 626)) | (1 << (frameQLParser.CONCAT - 626)) | (1 << (frameQLParser.CONCAT_WS - 626)) | (1 << (frameQLParser.CONNECTION_ID - 626)) | (1 << (frameQLParser.CONV - 626)) | (1 << (frameQLParser.CONVERT_TZ - 626)) | (1 << (frameQLParser.COS - 626)) | (1 << (frameQLParser.COT - 626)) | (1 << (frameQLParser.CRC32 - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 626)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 626)) | (1 << (frameQLParser.CREATE_DIGEST - 626)) | (1 << (frameQLParser.CROSSES - 626)) | (1 << (frameQLParser.DATEDIFF - 626)) | (1 << (frameQLParser.DATE_FORMAT - 626)) | (1 << (frameQLParser.DAYNAME - 626)) | (1 << (frameQLParser.DAYOFMONTH - 626)) | (1 << (frameQLParser.DAYOFWEEK - 626)) | (1 << (frameQLParser.DAYOFYEAR - 626)) | (1 << (frameQLParser.DECODE - 626)))) != 0) or ((((_la - 690)) & ~0x3f) == 0 and ((1 << (_la - 690)) & ((1 << (frameQLParser.DEGREES - 690)) | (1 << (frameQLParser.DES_DECRYPT - 690)) | (1 << (frameQLParser.DES_ENCRYPT - 690)) | (1 << (frameQLParser.DIMENSION - 690)) | (1 << (frameQLParser.DISJOINT - 690)) | (1 << (frameQLParser.ELT - 690)) | (1 << (frameQLParser.ENCODE - 690)) | (1 << (frameQLParser.ENCRYPT - 690)) | (1 << (frameQLParser.ENDPOINT - 690)) | (1 << (frameQLParser.ENVELOPE - 690)) | (1 << (frameQLParser.EQUALS - 690)) | (1 << (frameQLParser.EXP - 690)) | (1 << (frameQLParser.EXPORT_SET - 690)) | (1 << (frameQLParser.EXTERIORRING - 690)) | (1 << (frameQLParser.EXTRACTVALUE - 690)) | (1 << (frameQLParser.FIELD - 690)) | (1 << (frameQLParser.FIND_IN_SET - 690)) | (1 << (frameQLParser.FLOOR - 690)) | (1 << (frameQLParser.FORMAT - 690)) | (1 << (frameQLParser.FOUND_ROWS - 690)) | (1 << (frameQLParser.FROM_BASE64 - 690)) | (1 << (frameQLParser.FROM_DAYS - 690)) | (1 << (frameQLParser.FROM_UNIXTIME - 690)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 690)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYN - 690)) | (1 << (frameQLParser.GEOMETRYTYPE - 690)) | (1 << (frameQLParser.GEOMFROMTEXT - 690)) | (1 << (frameQLParser.GEOMFROMWKB - 690)) | (1 << (frameQLParser.GET_FORMAT - 690)) | (1 << (frameQLParser.GET_LOCK - 690)) | (1 << (frameQLParser.GLENGTH - 690)) | (1 << (frameQLParser.GREATEST - 690)) | (1 << (frameQLParser.GTID_SUBSET - 690)) | (1 << (frameQLParser.GTID_SUBTRACT - 690)) | (1 << (frameQLParser.HEX - 690)) | (1 << (frameQLParser.IFNULL - 690)) | (1 << (frameQLParser.INET6_ATON - 690)) | (1 << (frameQLParser.INET6_NTOA - 690)) | (1 << (frameQLParser.INET_ATON - 690)) | (1 << (frameQLParser.INET_NTOA - 690)) | (1 << (frameQLParser.INSTR - 690)) | (1 << (frameQLParser.INTERIORRINGN - 690)) | (1 << (frameQLParser.INTERSECTS - 690)) | (1 << (frameQLParser.ISCLOSED - 690)) | (1 << (frameQLParser.ISEMPTY - 690)) | (1 << (frameQLParser.ISNULL - 690)) | (1 << (frameQLParser.ISSIMPLE - 690)) | (1 << (frameQLParser.IS_FREE_LOCK - 690)) | (1 << (frameQLParser.IS_IPV4 - 690)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 690)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 690)) | (1 << (frameQLParser.IS_IPV6 - 690)) | (1 << (frameQLParser.IS_USED_LOCK - 690)) | (1 << (frameQLParser.LAST_INSERT_ID - 690)) | (1 << (frameQLParser.LCASE - 690)) | (1 << (frameQLParser.LEAST - 690)) | (1 << (frameQLParser.LENGTH - 690)) | (1 << (frameQLParser.LINEFROMTEXT - 690)) | (1 << (frameQLParser.LINEFROMWKB - 690)))) != 0) or ((((_la - 754)) & ~0x3f) == 0 and ((1 << (_la - 754)) & ((1 << (frameQLParser.LINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.LN - 754)) | (1 << (frameQLParser.LOAD_FILE - 754)) | (1 << (frameQLParser.LOCATE - 754)) | (1 << (frameQLParser.LOG - 754)) | (1 << (frameQLParser.LOG10 - 754)) | (1 << (frameQLParser.LOG2 - 754)) | (1 << (frameQLParser.LOWER - 754)) | (1 << (frameQLParser.LPAD - 754)) | (1 << (frameQLParser.LTRIM - 754)) | (1 << (frameQLParser.MAKEDATE - 754)) | (1 << (frameQLParser.MAKETIME - 754)) | (1 << (frameQLParser.MAKE_SET - 754)) | (1 << (frameQLParser.MASTER_POS_WAIT - 754)) | (1 << (frameQLParser.MBRCONTAINS - 754)) | (1 << (frameQLParser.MBRDISJOINT - 754)) | (1 << (frameQLParser.MBREQUAL - 754)) | (1 << (frameQLParser.MBRINTERSECTS - 754)) | (1 << (frameQLParser.MBROVERLAPS - 754)) | (1 << (frameQLParser.MBRTOUCHES - 754)) | (1 << (frameQLParser.MBRWITHIN - 754)) | (1 << (frameQLParser.MD5 - 754)) | (1 << (frameQLParser.MLINEFROMTEXT - 754)) | (1 << (frameQLParser.MLINEFROMWKB - 754)) | (1 << (frameQLParser.MONTHNAME - 754)) | (1 << (frameQLParser.MPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MPOINTFROMWKB - 754)) | (1 << (frameQLParser.MPOLYFROMTEXT - 754)) | (1 << (frameQLParser.MPOLYFROMWKB - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 754)) | (1 << (frameQLParser.NAME_CONST - 754)) | (1 << (frameQLParser.NULLIF - 754)) | (1 << (frameQLParser.NUMGEOMETRIES - 754)) | (1 << (frameQLParser.NUMINTERIORRINGS - 754)) | (1 << (frameQLParser.NUMPOINTS - 754)) | (1 << (frameQLParser.OCT - 754)) | (1 << (frameQLParser.OCTET_LENGTH - 754)) | (1 << (frameQLParser.ORD - 754)) | (1 << (frameQLParser.OVERLAPS - 754)) | (1 << (frameQLParser.PERIOD_ADD - 754)) | (1 << (frameQLParser.PERIOD_DIFF - 754)) | (1 << (frameQLParser.PI - 754)) | (1 << (frameQLParser.POINTFROMTEXT - 754)) | (1 << (frameQLParser.POINTFROMWKB - 754)) | (1 << (frameQLParser.POINTN - 754)) | (1 << (frameQLParser.POLYFROMTEXT - 754)) | (1 << (frameQLParser.POLYFROMWKB - 754)) | (1 << (frameQLParser.POLYGONFROMTEXT - 754)) | (1 << (frameQLParser.POLYGONFROMWKB - 754)) | (1 << (frameQLParser.POW - 754)) | (1 << (frameQLParser.POWER - 754)) | (1 << (frameQLParser.QUOTE - 754)) | (1 << (frameQLParser.RADIANS - 754)) | (1 << (frameQLParser.RAND - 754)) | (1 << (frameQLParser.RANDOM_BYTES - 754)) | (1 << (frameQLParser.RELEASE_LOCK - 754)) | (1 << (frameQLParser.REVERSE - 754)) | (1 << (frameQLParser.ROUND - 754)))) != 0) or ((((_la - 818)) & ~0x3f) == 0 and ((1 << (_la - 818)) & ((1 << (frameQLParser.ROW_COUNT - 818)) | (1 << (frameQLParser.RPAD - 818)) | (1 << (frameQLParser.RTRIM - 818)) | (1 << (frameQLParser.SEC_TO_TIME - 818)) | (1 << (frameQLParser.SESSION_USER - 818)) | (1 << (frameQLParser.SHA - 818)) | (1 << (frameQLParser.SHA1 - 818)) | (1 << (frameQLParser.SHA2 - 818)) | (1 << (frameQLParser.SIGN - 818)) | (1 << (frameQLParser.SIN - 818)) | (1 << (frameQLParser.SLEEP - 818)) | (1 << (frameQLParser.SOUNDEX - 818)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 818)) | (1 << (frameQLParser.SQRT - 818)) | (1 << (frameQLParser.SRID - 818)) | (1 << (frameQLParser.STARTPOINT - 818)) | (1 << (frameQLParser.STRCMP - 818)) | (1 << (frameQLParser.STR_TO_DATE - 818)) | (1 << (frameQLParser.ST_AREA - 818)) | (1 << (frameQLParser.ST_ASBINARY - 818)) | (1 << (frameQLParser.ST_ASTEXT - 818)) | (1 << (frameQLParser.ST_ASWKB - 818)) | (1 << (frameQLParser.ST_ASWKT - 818)) | (1 << (frameQLParser.ST_BUFFER - 818)) | (1 << (frameQLParser.ST_CENTROID - 818)) | (1 << (frameQLParser.ST_CONTAINS - 818)) | (1 << (frameQLParser.ST_CROSSES - 818)) | (1 << (frameQLParser.ST_DIFFERENCE - 818)) | (1 << (frameQLParser.ST_DIMENSION - 818)) | (1 << (frameQLParser.ST_DISJOINT - 818)) | (1 << (frameQLParser.ST_DISTANCE - 818)) | (1 << (frameQLParser.ST_ENDPOINT - 818)) | (1 << (frameQLParser.ST_ENVELOPE - 818)) | (1 << (frameQLParser.ST_EQUALS - 818)) | (1 << (frameQLParser.ST_EXTERIORRING - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYN - 818)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 818)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 818)) | (1 << (frameQLParser.ST_INTERIORRINGN - 818)) | (1 << (frameQLParser.ST_INTERSECTION - 818)) | (1 << (frameQLParser.ST_INTERSECTS - 818)) | (1 << (frameQLParser.ST_ISCLOSED - 818)) | (1 << (frameQLParser.ST_ISEMPTY - 818)) | (1 << (frameQLParser.ST_ISSIMPLE - 818)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINEFROMWKB - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 818)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 818)) | (1 << (frameQLParser.ST_NUMPOINTS - 818)) | (1 << (frameQLParser.ST_OVERLAPS - 818)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 818)) | (1 << (frameQLParser.ST_POINTFROMWKB - 818)) | (1 << (frameQLParser.ST_POINTN - 818)))) != 0) or ((((_la - 882)) & ~0x3f) == 0 and ((1 << (_la - 882)) & ((1 << (frameQLParser.ST_POLYFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYFROMWKB - 882)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 882)) | (1 << (frameQLParser.ST_SRID - 882)) | (1 << (frameQLParser.ST_STARTPOINT - 882)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 882)) | (1 << (frameQLParser.ST_TOUCHES - 882)) | (1 << (frameQLParser.ST_UNION - 882)) | (1 << (frameQLParser.ST_WITHIN - 882)) | (1 << (frameQLParser.ST_X - 882)) | (1 << (frameQLParser.ST_Y - 882)) | (1 << (frameQLParser.SUBDATE - 882)) | (1 << (frameQLParser.SUBSTRING_INDEX - 882)) | (1 << (frameQLParser.SUBTIME - 882)) | (1 << (frameQLParser.SYSTEM_USER - 882)) | (1 << (frameQLParser.TAN - 882)) | (1 << (frameQLParser.TIMEDIFF - 882)) | (1 << (frameQLParser.TIMESTAMPADD - 882)) | (1 << (frameQLParser.TIMESTAMPDIFF - 882)) | (1 << (frameQLParser.TIME_FORMAT - 882)) | (1 << (frameQLParser.TIME_TO_SEC - 882)) | (1 << (frameQLParser.TOUCHES - 882)) | (1 << (frameQLParser.TO_BASE64 - 882)) | (1 << (frameQLParser.TO_DAYS - 882)) | (1 << (frameQLParser.TO_SECONDS - 882)) | (1 << (frameQLParser.UCASE - 882)) | (1 << (frameQLParser.UNCOMPRESS - 882)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 882)) | (1 << (frameQLParser.UNHEX - 882)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 882)) | (1 << (frameQLParser.UPDATEXML - 882)) | (1 << (frameQLParser.UPPER - 882)) | (1 << (frameQLParser.UUID - 882)) | (1 << (frameQLParser.UUID_SHORT - 882)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 882)) | (1 << (frameQLParser.VERSION - 882)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 882)) | (1 << (frameQLParser.WEEKDAY - 882)) | (1 << (frameQLParser.WEEKOFYEAR - 882)) | (1 << (frameQLParser.WEIGHT_STRING - 882)) | (1 << (frameQLParser.WITHIN - 882)) | (1 << (frameQLParser.YEARWEEK - 882)) | (1 << (frameQLParser.Y_FUNCTION - 882)) | (1 << (frameQLParser.X_FUNCTION - 882)))) != 0) or ((((_la - 953)) & ~0x3f) == 0 and ((1 << (_la - 953)) & ((1 << (frameQLParser.LR_BRACKET - 953)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 953)) | (1 << (frameQLParser.STRING_LITERAL - 953)) | (1 << (frameQLParser.ID - 953)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 953)))) != 0)): - break - - self.state = 4178 - self.match(frameQLParser.END) - self.state = 4179 - self.match(frameQLParser.WHILE) - self.state = 4181 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)) | (1 << (frameQLParser.SERIAL - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 250)) & ~0x3f) == 0 and ((1 << (_la - 250)) & ((1 << (frameQLParser.ACCOUNT - 250)) | (1 << (frameQLParser.ACTION - 250)) | (1 << (frameQLParser.AFTER - 250)) | (1 << (frameQLParser.AGGREGATE - 250)) | (1 << (frameQLParser.ALGORITHM - 250)) | (1 << (frameQLParser.ANY - 250)) | (1 << (frameQLParser.AT - 250)) | (1 << (frameQLParser.AUTHORS - 250)) | (1 << (frameQLParser.AUTOCOMMIT - 250)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 250)) | (1 << (frameQLParser.AUTO_INCREMENT - 250)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 250)) | (1 << (frameQLParser.BEGIN - 250)) | (1 << (frameQLParser.BINLOG - 250)) | (1 << (frameQLParser.BIT - 250)) | (1 << (frameQLParser.BLOCK - 250)) | (1 << (frameQLParser.BOOL - 250)) | (1 << (frameQLParser.BOOLEAN - 250)) | (1 << (frameQLParser.BTREE - 250)) | (1 << (frameQLParser.CASCADED - 250)) | (1 << (frameQLParser.CHAIN - 250)) | (1 << (frameQLParser.CHANGED - 250)) | (1 << (frameQLParser.CHANNEL - 250)) | (1 << (frameQLParser.CHECKSUM - 250)) | (1 << (frameQLParser.CIPHER - 250)) | (1 << (frameQLParser.CLIENT - 250)) | (1 << (frameQLParser.COALESCE - 250)) | (1 << (frameQLParser.CODE - 250)) | (1 << (frameQLParser.COLUMNS - 250)) | (1 << (frameQLParser.COLUMN_FORMAT - 250)) | (1 << (frameQLParser.COMMENT - 250)) | (1 << (frameQLParser.COMMIT - 250)) | (1 << (frameQLParser.COMPACT - 250)) | (1 << (frameQLParser.COMPLETION - 250)) | (1 << (frameQLParser.COMPRESSED - 250)) | (1 << (frameQLParser.COMPRESSION - 250)) | (1 << (frameQLParser.CONCURRENT - 250)) | (1 << (frameQLParser.CONNECTION - 250)) | (1 << (frameQLParser.CONSISTENT - 250)) | (1 << (frameQLParser.CONTAINS - 250)) | (1 << (frameQLParser.CONTEXT - 250)) | (1 << (frameQLParser.CONTRIBUTORS - 250)) | (1 << (frameQLParser.COPY - 250)) | (1 << (frameQLParser.CPU - 250)) | (1 << (frameQLParser.DATA - 250)) | (1 << (frameQLParser.DATAFILE - 250)) | (1 << (frameQLParser.DEALLOCATE - 250)) | (1 << (frameQLParser.DEFAULT_AUTH - 250)) | (1 << (frameQLParser.DEFINER - 250)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 250)) | (1 << (frameQLParser.DIRECTORY - 250)) | (1 << (frameQLParser.DISABLE - 250)) | (1 << (frameQLParser.DISCARD - 250)) | (1 << (frameQLParser.DISK - 250)) | (1 << (frameQLParser.DO - 250)) | (1 << (frameQLParser.DUMPFILE - 250)) | (1 << (frameQLParser.DUPLICATE - 250)) | (1 << (frameQLParser.DYNAMIC - 250)) | (1 << (frameQLParser.ENABLE - 250)) | (1 << (frameQLParser.ENCRYPTION - 250)))) != 0) or ((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & ((1 << (frameQLParser.ENDS - 314)) | (1 << (frameQLParser.ENGINE - 314)) | (1 << (frameQLParser.ENGINES - 314)) | (1 << (frameQLParser.ERROR - 314)) | (1 << (frameQLParser.ERRORS - 314)) | (1 << (frameQLParser.ESCAPE - 314)) | (1 << (frameQLParser.EVEN - 314)) | (1 << (frameQLParser.EVENT - 314)) | (1 << (frameQLParser.EVENTS - 314)) | (1 << (frameQLParser.EVERY - 314)) | (1 << (frameQLParser.EXCHANGE - 314)) | (1 << (frameQLParser.EXCLUSIVE - 314)) | (1 << (frameQLParser.EXPIRE - 314)) | (1 << (frameQLParser.EXTENDED - 314)) | (1 << (frameQLParser.EXTENT_SIZE - 314)) | (1 << (frameQLParser.FAST - 314)) | (1 << (frameQLParser.FAULTS - 314)) | (1 << (frameQLParser.FIELDS - 314)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 314)) | (1 << (frameQLParser.FILTER - 314)) | (1 << (frameQLParser.FIRST - 314)) | (1 << (frameQLParser.FIXED - 314)) | (1 << (frameQLParser.FOLLOWS - 314)) | (1 << (frameQLParser.FULL - 314)) | (1 << (frameQLParser.FUNCTION - 314)) | (1 << (frameQLParser.GLOBAL - 314)) | (1 << (frameQLParser.GRANTS - 314)) | (1 << (frameQLParser.GROUP_REPLICATION - 314)) | (1 << (frameQLParser.HASH - 314)) | (1 << (frameQLParser.HOST - 314)) | (1 << (frameQLParser.IDENTIFIED - 314)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 314)) | (1 << (frameQLParser.IMPORT - 314)) | (1 << (frameQLParser.INDEXES - 314)) | (1 << (frameQLParser.INITIAL_SIZE - 314)) | (1 << (frameQLParser.INPLACE - 314)) | (1 << (frameQLParser.INSERT_METHOD - 314)) | (1 << (frameQLParser.INSTANCE - 314)) | (1 << (frameQLParser.INVOKER - 314)) | (1 << (frameQLParser.IO - 314)) | (1 << (frameQLParser.IO_THREAD - 314)) | (1 << (frameQLParser.IPC - 314)) | (1 << (frameQLParser.ISOLATION - 314)) | (1 << (frameQLParser.ISSUER - 314)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 314)) | (1 << (frameQLParser.LANGUAGE - 314)) | (1 << (frameQLParser.LAST - 314)) | (1 << (frameQLParser.LEAVES - 314)) | (1 << (frameQLParser.LESS - 314)) | (1 << (frameQLParser.LEVEL - 314)) | (1 << (frameQLParser.LIST - 314)) | (1 << (frameQLParser.LOCAL - 314)) | (1 << (frameQLParser.LOGFILE - 314)) | (1 << (frameQLParser.LOGS - 314)) | (1 << (frameQLParser.MASTER - 314)))) != 0) or ((((_la - 378)) & ~0x3f) == 0 and ((1 << (_la - 378)) & ((1 << (frameQLParser.MASTER_AUTO_POSITION - 378)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 378)) | (1 << (frameQLParser.MASTER_DELAY - 378)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 378)) | (1 << (frameQLParser.MASTER_HOST - 378)) | (1 << (frameQLParser.MASTER_LOG_FILE - 378)) | (1 << (frameQLParser.MASTER_LOG_POS - 378)) | (1 << (frameQLParser.MASTER_PASSWORD - 378)) | (1 << (frameQLParser.MASTER_PORT - 378)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 378)) | (1 << (frameQLParser.MASTER_SSL - 378)) | (1 << (frameQLParser.MASTER_SSL_CA - 378)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_CERT - 378)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 378)) | (1 << (frameQLParser.MASTER_SSL_CRL - 378)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 378)) | (1 << (frameQLParser.MASTER_SSL_KEY - 378)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 378)) | (1 << (frameQLParser.MASTER_USER - 378)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_ROWS - 378)) | (1 << (frameQLParser.MAX_SIZE - 378)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 378)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 378)) | (1 << (frameQLParser.MEDIUM - 378)) | (1 << (frameQLParser.MERGE - 378)) | (1 << (frameQLParser.MID - 378)) | (1 << (frameQLParser.MIGRATE - 378)) | (1 << (frameQLParser.MIN_ROWS - 378)) | (1 << (frameQLParser.MODIFY - 378)) | (1 << (frameQLParser.MUTEX - 378)) | (1 << (frameQLParser.MYSQL - 378)) | (1 << (frameQLParser.NAME - 378)) | (1 << (frameQLParser.NAMES - 378)) | (1 << (frameQLParser.NCHAR - 378)) | (1 << (frameQLParser.NEVER - 378)) | (1 << (frameQLParser.NO - 378)) | (1 << (frameQLParser.NODEGROUP - 378)) | (1 << (frameQLParser.NONE - 378)) | (1 << (frameQLParser.OFFLINE - 378)) | (1 << (frameQLParser.OFFSET - 378)) | (1 << (frameQLParser.OJ - 378)) | (1 << (frameQLParser.OLD_PASSWORD - 378)) | (1 << (frameQLParser.ONE - 378)) | (1 << (frameQLParser.ONLINE - 378)) | (1 << (frameQLParser.ONLY - 378)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 378)) | (1 << (frameQLParser.OPTIONS - 378)) | (1 << (frameQLParser.OWNER - 378)) | (1 << (frameQLParser.PACK_KEYS - 378)) | (1 << (frameQLParser.PAGE - 378)) | (1 << (frameQLParser.PARSER - 378)) | (1 << (frameQLParser.PARTIAL - 378)) | (1 << (frameQLParser.PARTITIONING - 378)) | (1 << (frameQLParser.PARTITIONS - 378)) | (1 << (frameQLParser.PASSWORD - 378)) | (1 << (frameQLParser.PHASE - 378)) | (1 << (frameQLParser.PLUGIN_DIR - 378)))) != 0) or ((((_la - 442)) & ~0x3f) == 0 and ((1 << (_la - 442)) & ((1 << (frameQLParser.PLUGINS - 442)) | (1 << (frameQLParser.PORT - 442)) | (1 << (frameQLParser.PRECEDES - 442)) | (1 << (frameQLParser.PREPARE - 442)) | (1 << (frameQLParser.PRESERVE - 442)) | (1 << (frameQLParser.PREV - 442)) | (1 << (frameQLParser.PROCESSLIST - 442)) | (1 << (frameQLParser.PROFILE - 442)) | (1 << (frameQLParser.PROFILES - 442)) | (1 << (frameQLParser.PROXY - 442)) | (1 << (frameQLParser.QUERY - 442)) | (1 << (frameQLParser.QUICK - 442)) | (1 << (frameQLParser.REBUILD - 442)) | (1 << (frameQLParser.RECOVER - 442)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 442)) | (1 << (frameQLParser.REDUNDANT - 442)) | (1 << (frameQLParser.RELAY_LOG_FILE - 442)) | (1 << (frameQLParser.RELAY_LOG_POS - 442)) | (1 << (frameQLParser.RELAYLOG - 442)) | (1 << (frameQLParser.REMOVE - 442)) | (1 << (frameQLParser.REORGANIZE - 442)) | (1 << (frameQLParser.REPAIR - 442)) | (1 << (frameQLParser.REPLICATE_DO_DB - 442)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 442)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 442)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 442)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 442)) | (1 << (frameQLParser.REPLICATION - 442)) | (1 << (frameQLParser.RESUME - 442)) | (1 << (frameQLParser.RETURNS - 442)) | (1 << (frameQLParser.ROLLBACK - 442)) | (1 << (frameQLParser.ROLLUP - 442)) | (1 << (frameQLParser.ROTATE - 442)) | (1 << (frameQLParser.ROW - 442)) | (1 << (frameQLParser.ROWS - 442)) | (1 << (frameQLParser.ROW_FORMAT - 442)) | (1 << (frameQLParser.SAVEPOINT - 442)) | (1 << (frameQLParser.SCHEDULE - 442)) | (1 << (frameQLParser.SECURITY - 442)) | (1 << (frameQLParser.SERVER - 442)) | (1 << (frameQLParser.SESSION - 442)) | (1 << (frameQLParser.SHARE - 442)) | (1 << (frameQLParser.SHARED - 442)) | (1 << (frameQLParser.SIGNED - 442)) | (1 << (frameQLParser.SIMPLE - 442)) | (1 << (frameQLParser.SLAVE - 442)) | (1 << (frameQLParser.SNAPSHOT - 442)) | (1 << (frameQLParser.SOCKET - 442)) | (1 << (frameQLParser.SOME - 442)) | (1 << (frameQLParser.SOUNDS - 442)) | (1 << (frameQLParser.SOURCE - 442)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 442)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 442)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 442)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 442)) | (1 << (frameQLParser.SQL_CACHE - 442)) | (1 << (frameQLParser.SQL_NO_CACHE - 442)) | (1 << (frameQLParser.SQL_THREAD - 442)))) != 0) or ((((_la - 506)) & ~0x3f) == 0 and ((1 << (_la - 506)) & ((1 << (frameQLParser.START - 506)) | (1 << (frameQLParser.STARTS - 506)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 506)) | (1 << (frameQLParser.STATS_PERSISTENT - 506)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 506)) | (1 << (frameQLParser.STATUS - 506)) | (1 << (frameQLParser.STOP - 506)) | (1 << (frameQLParser.STORAGE - 506)) | (1 << (frameQLParser.STRING - 506)) | (1 << (frameQLParser.SUBJECT - 506)) | (1 << (frameQLParser.SUBPARTITION - 506)) | (1 << (frameQLParser.SUBPARTITIONS - 506)) | (1 << (frameQLParser.SUSPEND - 506)) | (1 << (frameQLParser.SWAPS - 506)) | (1 << (frameQLParser.SWITCHES - 506)) | (1 << (frameQLParser.TABLESPACE - 506)) | (1 << (frameQLParser.TEMPORARY - 506)) | (1 << (frameQLParser.TEMPTABLE - 506)) | (1 << (frameQLParser.THAN - 506)) | (1 << (frameQLParser.TRANSACTION - 506)) | (1 << (frameQLParser.TRUNCATE - 506)) | (1 << (frameQLParser.UNDEFINED - 506)) | (1 << (frameQLParser.UNDOFILE - 506)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 506)) | (1 << (frameQLParser.UNKNOWN - 506)) | (1 << (frameQLParser.UPGRADE - 506)) | (1 << (frameQLParser.USER - 506)) | (1 << (frameQLParser.VALIDATION - 506)) | (1 << (frameQLParser.VALUE - 506)) | (1 << (frameQLParser.VARIABLES - 506)) | (1 << (frameQLParser.VIEW - 506)) | (1 << (frameQLParser.WAIT - 506)) | (1 << (frameQLParser.WARNINGS - 506)) | (1 << (frameQLParser.WITHOUT - 506)) | (1 << (frameQLParser.WORK - 506)) | (1 << (frameQLParser.WRAPPER - 506)) | (1 << (frameQLParser.X509 - 506)) | (1 << (frameQLParser.XA - 506)) | (1 << (frameQLParser.XML - 506)) | (1 << (frameQLParser.QUARTER - 506)) | (1 << (frameQLParser.MONTH - 506)) | (1 << (frameQLParser.DAY - 506)) | (1 << (frameQLParser.HOUR - 506)) | (1 << (frameQLParser.MINUTE - 506)) | (1 << (frameQLParser.WEEK - 506)) | (1 << (frameQLParser.SECOND - 506)) | (1 << (frameQLParser.MICROSECOND - 506)) | (1 << (frameQLParser.TABLES - 506)) | (1 << (frameQLParser.ROUTINE - 506)) | (1 << (frameQLParser.EXECUTE - 506)) | (1 << (frameQLParser.FILE - 506)))) != 0) or ((((_la - 570)) & ~0x3f) == 0 and ((1 << (_la - 570)) & ((1 << (frameQLParser.PROCESS - 570)) | (1 << (frameQLParser.RELOAD - 570)) | (1 << (frameQLParser.SHUTDOWN - 570)) | (1 << (frameQLParser.SUPER - 570)) | (1 << (frameQLParser.PRIVILEGES - 570)) | (1 << (frameQLParser.ARMSCII8 - 570)) | (1 << (frameQLParser.ASCII - 570)) | (1 << (frameQLParser.BIG5 - 570)) | (1 << (frameQLParser.CP1250 - 570)) | (1 << (frameQLParser.CP1251 - 570)) | (1 << (frameQLParser.CP1256 - 570)) | (1 << (frameQLParser.CP1257 - 570)) | (1 << (frameQLParser.CP850 - 570)) | (1 << (frameQLParser.CP852 - 570)) | (1 << (frameQLParser.CP866 - 570)) | (1 << (frameQLParser.CP932 - 570)) | (1 << (frameQLParser.DEC8 - 570)) | (1 << (frameQLParser.EUCJPMS - 570)) | (1 << (frameQLParser.EUCKR - 570)) | (1 << (frameQLParser.GB2312 - 570)) | (1 << (frameQLParser.GBK - 570)) | (1 << (frameQLParser.GEOSTD8 - 570)) | (1 << (frameQLParser.GREEK - 570)) | (1 << (frameQLParser.HEBREW - 570)) | (1 << (frameQLParser.HP8 - 570)) | (1 << (frameQLParser.KEYBCS2 - 570)) | (1 << (frameQLParser.KOI8R - 570)) | (1 << (frameQLParser.KOI8U - 570)) | (1 << (frameQLParser.LATIN1 - 570)) | (1 << (frameQLParser.LATIN2 - 570)) | (1 << (frameQLParser.LATIN5 - 570)) | (1 << (frameQLParser.LATIN7 - 570)) | (1 << (frameQLParser.MACCE - 570)) | (1 << (frameQLParser.MACROMAN - 570)) | (1 << (frameQLParser.SJIS - 570)) | (1 << (frameQLParser.SWE7 - 570)) | (1 << (frameQLParser.TIS620 - 570)) | (1 << (frameQLParser.UCS2 - 570)) | (1 << (frameQLParser.UJIS - 570)) | (1 << (frameQLParser.UTF16 - 570)) | (1 << (frameQLParser.UTF16LE - 570)) | (1 << (frameQLParser.UTF32 - 570)) | (1 << (frameQLParser.UTF8 - 570)) | (1 << (frameQLParser.UTF8MB3 - 570)) | (1 << (frameQLParser.UTF8MB4 - 570)) | (1 << (frameQLParser.ARCHIVE - 570)) | (1 << (frameQLParser.BLACKHOLE - 570)) | (1 << (frameQLParser.CSV - 570)) | (1 << (frameQLParser.FEDERATED - 570)) | (1 << (frameQLParser.INNODB - 570)) | (1 << (frameQLParser.MEMORY - 570)) | (1 << (frameQLParser.MRG_MYISAM - 570)) | (1 << (frameQLParser.MYISAM - 570)) | (1 << (frameQLParser.NDB - 570)) | (1 << (frameQLParser.NDBCLUSTER - 570)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 570)) | (1 << (frameQLParser.REPEATABLE - 570)) | (1 << (frameQLParser.COMMITTED - 570)) | (1 << (frameQLParser.UNCOMMITTED - 570)) | (1 << (frameQLParser.SERIALIZABLE - 570)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 570)) | (1 << (frameQLParser.LINESTRING - 570)) | (1 << (frameQLParser.MULTILINESTRING - 570)) | (1 << (frameQLParser.MULTIPOINT - 570)))) != 0) or ((((_la - 634)) & ~0x3f) == 0 and ((1 << (_la - 634)) & ((1 << (frameQLParser.MULTIPOLYGON - 634)) | (1 << (frameQLParser.POINT - 634)) | (1 << (frameQLParser.POLYGON - 634)) | (1 << (frameQLParser.ABS - 634)) | (1 << (frameQLParser.ACOS - 634)) | (1 << (frameQLParser.ADDDATE - 634)) | (1 << (frameQLParser.ADDTIME - 634)) | (1 << (frameQLParser.AES_DECRYPT - 634)) | (1 << (frameQLParser.AES_ENCRYPT - 634)) | (1 << (frameQLParser.AREA - 634)) | (1 << (frameQLParser.ASBINARY - 634)) | (1 << (frameQLParser.ASIN - 634)) | (1 << (frameQLParser.ASTEXT - 634)) | (1 << (frameQLParser.ASWKB - 634)) | (1 << (frameQLParser.ASWKT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 634)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 634)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 634)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 634)) | (1 << (frameQLParser.ATAN - 634)) | (1 << (frameQLParser.ATAN2 - 634)) | (1 << (frameQLParser.BENCHMARK - 634)) | (1 << (frameQLParser.BIN - 634)) | (1 << (frameQLParser.BIT_COUNT - 634)) | (1 << (frameQLParser.BIT_LENGTH - 634)) | (1 << (frameQLParser.BUFFER - 634)) | (1 << (frameQLParser.CEIL - 634)) | (1 << (frameQLParser.CEILING - 634)) | (1 << (frameQLParser.CENTROID - 634)) | (1 << (frameQLParser.CHARACTER_LENGTH - 634)) | (1 << (frameQLParser.CHARSET - 634)) | (1 << (frameQLParser.CHAR_LENGTH - 634)) | (1 << (frameQLParser.COERCIBILITY - 634)) | (1 << (frameQLParser.COLLATION - 634)) | (1 << (frameQLParser.COMPRESS - 634)) | (1 << (frameQLParser.CONCAT - 634)) | (1 << (frameQLParser.CONCAT_WS - 634)) | (1 << (frameQLParser.CONNECTION_ID - 634)) | (1 << (frameQLParser.CONV - 634)) | (1 << (frameQLParser.CONVERT_TZ - 634)) | (1 << (frameQLParser.COS - 634)) | (1 << (frameQLParser.COT - 634)) | (1 << (frameQLParser.CRC32 - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 634)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 634)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 634)) | (1 << (frameQLParser.CREATE_DIGEST - 634)) | (1 << (frameQLParser.CROSSES - 634)) | (1 << (frameQLParser.DATEDIFF - 634)) | (1 << (frameQLParser.DATE_FORMAT - 634)) | (1 << (frameQLParser.DAYNAME - 634)) | (1 << (frameQLParser.DAYOFMONTH - 634)) | (1 << (frameQLParser.DAYOFWEEK - 634)) | (1 << (frameQLParser.DAYOFYEAR - 634)) | (1 << (frameQLParser.DECODE - 634)) | (1 << (frameQLParser.DEGREES - 634)) | (1 << (frameQLParser.DES_DECRYPT - 634)) | (1 << (frameQLParser.DES_ENCRYPT - 634)) | (1 << (frameQLParser.DIMENSION - 634)) | (1 << (frameQLParser.DISJOINT - 634)) | (1 << (frameQLParser.ELT - 634)) | (1 << (frameQLParser.ENCODE - 634)) | (1 << (frameQLParser.ENCRYPT - 634)))) != 0) or ((((_la - 698)) & ~0x3f) == 0 and ((1 << (_la - 698)) & ((1 << (frameQLParser.ENDPOINT - 698)) | (1 << (frameQLParser.ENVELOPE - 698)) | (1 << (frameQLParser.EQUALS - 698)) | (1 << (frameQLParser.EXP - 698)) | (1 << (frameQLParser.EXPORT_SET - 698)) | (1 << (frameQLParser.EXTERIORRING - 698)) | (1 << (frameQLParser.EXTRACTVALUE - 698)) | (1 << (frameQLParser.FIELD - 698)) | (1 << (frameQLParser.FIND_IN_SET - 698)) | (1 << (frameQLParser.FLOOR - 698)) | (1 << (frameQLParser.FORMAT - 698)) | (1 << (frameQLParser.FOUND_ROWS - 698)) | (1 << (frameQLParser.FROM_BASE64 - 698)) | (1 << (frameQLParser.FROM_DAYS - 698)) | (1 << (frameQLParser.FROM_UNIXTIME - 698)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 698)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 698)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 698)) | (1 << (frameQLParser.GEOMETRYN - 698)) | (1 << (frameQLParser.GEOMETRYTYPE - 698)) | (1 << (frameQLParser.GEOMFROMTEXT - 698)) | (1 << (frameQLParser.GEOMFROMWKB - 698)) | (1 << (frameQLParser.GET_FORMAT - 698)) | (1 << (frameQLParser.GET_LOCK - 698)) | (1 << (frameQLParser.GLENGTH - 698)) | (1 << (frameQLParser.GREATEST - 698)) | (1 << (frameQLParser.GTID_SUBSET - 698)) | (1 << (frameQLParser.GTID_SUBTRACT - 698)) | (1 << (frameQLParser.HEX - 698)) | (1 << (frameQLParser.IFNULL - 698)) | (1 << (frameQLParser.INET6_ATON - 698)) | (1 << (frameQLParser.INET6_NTOA - 698)) | (1 << (frameQLParser.INET_ATON - 698)) | (1 << (frameQLParser.INET_NTOA - 698)) | (1 << (frameQLParser.INSTR - 698)) | (1 << (frameQLParser.INTERIORRINGN - 698)) | (1 << (frameQLParser.INTERSECTS - 698)) | (1 << (frameQLParser.ISCLOSED - 698)) | (1 << (frameQLParser.ISEMPTY - 698)) | (1 << (frameQLParser.ISNULL - 698)) | (1 << (frameQLParser.ISSIMPLE - 698)) | (1 << (frameQLParser.IS_FREE_LOCK - 698)) | (1 << (frameQLParser.IS_IPV4 - 698)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 698)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 698)) | (1 << (frameQLParser.IS_IPV6 - 698)) | (1 << (frameQLParser.IS_USED_LOCK - 698)) | (1 << (frameQLParser.LAST_INSERT_ID - 698)) | (1 << (frameQLParser.LCASE - 698)) | (1 << (frameQLParser.LEAST - 698)) | (1 << (frameQLParser.LENGTH - 698)) | (1 << (frameQLParser.LINEFROMTEXT - 698)) | (1 << (frameQLParser.LINEFROMWKB - 698)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 698)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 698)) | (1 << (frameQLParser.LN - 698)) | (1 << (frameQLParser.LOAD_FILE - 698)) | (1 << (frameQLParser.LOCATE - 698)) | (1 << (frameQLParser.LOG - 698)) | (1 << (frameQLParser.LOG10 - 698)) | (1 << (frameQLParser.LOG2 - 698)))) != 0) or ((((_la - 762)) & ~0x3f) == 0 and ((1 << (_la - 762)) & ((1 << (frameQLParser.LOWER - 762)) | (1 << (frameQLParser.LPAD - 762)) | (1 << (frameQLParser.LTRIM - 762)) | (1 << (frameQLParser.MAKEDATE - 762)) | (1 << (frameQLParser.MAKETIME - 762)) | (1 << (frameQLParser.MAKE_SET - 762)) | (1 << (frameQLParser.MASTER_POS_WAIT - 762)) | (1 << (frameQLParser.MBRCONTAINS - 762)) | (1 << (frameQLParser.MBRDISJOINT - 762)) | (1 << (frameQLParser.MBREQUAL - 762)) | (1 << (frameQLParser.MBRINTERSECTS - 762)) | (1 << (frameQLParser.MBROVERLAPS - 762)) | (1 << (frameQLParser.MBRTOUCHES - 762)) | (1 << (frameQLParser.MBRWITHIN - 762)) | (1 << (frameQLParser.MD5 - 762)) | (1 << (frameQLParser.MLINEFROMTEXT - 762)) | (1 << (frameQLParser.MLINEFROMWKB - 762)) | (1 << (frameQLParser.MONTHNAME - 762)) | (1 << (frameQLParser.MPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MPOINTFROMWKB - 762)) | (1 << (frameQLParser.MPOLYFROMTEXT - 762)) | (1 << (frameQLParser.MPOLYFROMWKB - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 762)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 762)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 762)) | (1 << (frameQLParser.NAME_CONST - 762)) | (1 << (frameQLParser.NULLIF - 762)) | (1 << (frameQLParser.NUMGEOMETRIES - 762)) | (1 << (frameQLParser.NUMINTERIORRINGS - 762)) | (1 << (frameQLParser.NUMPOINTS - 762)) | (1 << (frameQLParser.OCT - 762)) | (1 << (frameQLParser.OCTET_LENGTH - 762)) | (1 << (frameQLParser.ORD - 762)) | (1 << (frameQLParser.OVERLAPS - 762)) | (1 << (frameQLParser.PERIOD_ADD - 762)) | (1 << (frameQLParser.PERIOD_DIFF - 762)) | (1 << (frameQLParser.PI - 762)) | (1 << (frameQLParser.POINTFROMTEXT - 762)) | (1 << (frameQLParser.POINTFROMWKB - 762)) | (1 << (frameQLParser.POINTN - 762)) | (1 << (frameQLParser.POLYFROMTEXT - 762)) | (1 << (frameQLParser.POLYFROMWKB - 762)) | (1 << (frameQLParser.POLYGONFROMTEXT - 762)) | (1 << (frameQLParser.POLYGONFROMWKB - 762)) | (1 << (frameQLParser.POW - 762)) | (1 << (frameQLParser.POWER - 762)) | (1 << (frameQLParser.QUOTE - 762)) | (1 << (frameQLParser.RADIANS - 762)) | (1 << (frameQLParser.RAND - 762)) | (1 << (frameQLParser.RANDOM_BYTES - 762)) | (1 << (frameQLParser.RELEASE_LOCK - 762)) | (1 << (frameQLParser.REVERSE - 762)) | (1 << (frameQLParser.ROUND - 762)) | (1 << (frameQLParser.ROW_COUNT - 762)) | (1 << (frameQLParser.RPAD - 762)) | (1 << (frameQLParser.RTRIM - 762)) | (1 << (frameQLParser.SEC_TO_TIME - 762)) | (1 << (frameQLParser.SESSION_USER - 762)) | (1 << (frameQLParser.SHA - 762)) | (1 << (frameQLParser.SHA1 - 762)) | (1 << (frameQLParser.SHA2 - 762)))) != 0) or ((((_la - 826)) & ~0x3f) == 0 and ((1 << (_la - 826)) & ((1 << (frameQLParser.SIGN - 826)) | (1 << (frameQLParser.SIN - 826)) | (1 << (frameQLParser.SLEEP - 826)) | (1 << (frameQLParser.SOUNDEX - 826)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 826)) | (1 << (frameQLParser.SQRT - 826)) | (1 << (frameQLParser.SRID - 826)) | (1 << (frameQLParser.STARTPOINT - 826)) | (1 << (frameQLParser.STRCMP - 826)) | (1 << (frameQLParser.STR_TO_DATE - 826)) | (1 << (frameQLParser.ST_AREA - 826)) | (1 << (frameQLParser.ST_ASBINARY - 826)) | (1 << (frameQLParser.ST_ASTEXT - 826)) | (1 << (frameQLParser.ST_ASWKB - 826)) | (1 << (frameQLParser.ST_ASWKT - 826)) | (1 << (frameQLParser.ST_BUFFER - 826)) | (1 << (frameQLParser.ST_CENTROID - 826)) | (1 << (frameQLParser.ST_CONTAINS - 826)) | (1 << (frameQLParser.ST_CROSSES - 826)) | (1 << (frameQLParser.ST_DIFFERENCE - 826)) | (1 << (frameQLParser.ST_DIMENSION - 826)) | (1 << (frameQLParser.ST_DISJOINT - 826)) | (1 << (frameQLParser.ST_DISTANCE - 826)) | (1 << (frameQLParser.ST_ENDPOINT - 826)) | (1 << (frameQLParser.ST_ENVELOPE - 826)) | (1 << (frameQLParser.ST_EQUALS - 826)) | (1 << (frameQLParser.ST_EXTERIORRING - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 826)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 826)) | (1 << (frameQLParser.ST_GEOMETRYN - 826)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 826)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 826)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 826)) | (1 << (frameQLParser.ST_INTERIORRINGN - 826)) | (1 << (frameQLParser.ST_INTERSECTION - 826)) | (1 << (frameQLParser.ST_INTERSECTS - 826)) | (1 << (frameQLParser.ST_ISCLOSED - 826)) | (1 << (frameQLParser.ST_ISEMPTY - 826)) | (1 << (frameQLParser.ST_ISSIMPLE - 826)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINEFROMWKB - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 826)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 826)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 826)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 826)) | (1 << (frameQLParser.ST_NUMPOINTS - 826)) | (1 << (frameQLParser.ST_OVERLAPS - 826)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 826)) | (1 << (frameQLParser.ST_POINTFROMWKB - 826)) | (1 << (frameQLParser.ST_POINTN - 826)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYFROMWKB - 826)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 826)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 826)) | (1 << (frameQLParser.ST_SRID - 826)) | (1 << (frameQLParser.ST_STARTPOINT - 826)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 826)) | (1 << (frameQLParser.ST_TOUCHES - 826)))) != 0) or ((((_la - 890)) & ~0x3f) == 0 and ((1 << (_la - 890)) & ((1 << (frameQLParser.ST_UNION - 890)) | (1 << (frameQLParser.ST_WITHIN - 890)) | (1 << (frameQLParser.ST_X - 890)) | (1 << (frameQLParser.ST_Y - 890)) | (1 << (frameQLParser.SUBDATE - 890)) | (1 << (frameQLParser.SUBSTRING_INDEX - 890)) | (1 << (frameQLParser.SUBTIME - 890)) | (1 << (frameQLParser.SYSTEM_USER - 890)) | (1 << (frameQLParser.TAN - 890)) | (1 << (frameQLParser.TIMEDIFF - 890)) | (1 << (frameQLParser.TIMESTAMPADD - 890)) | (1 << (frameQLParser.TIMESTAMPDIFF - 890)) | (1 << (frameQLParser.TIME_FORMAT - 890)) | (1 << (frameQLParser.TIME_TO_SEC - 890)) | (1 << (frameQLParser.TOUCHES - 890)) | (1 << (frameQLParser.TO_BASE64 - 890)) | (1 << (frameQLParser.TO_DAYS - 890)) | (1 << (frameQLParser.TO_SECONDS - 890)) | (1 << (frameQLParser.UCASE - 890)) | (1 << (frameQLParser.UNCOMPRESS - 890)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 890)) | (1 << (frameQLParser.UNHEX - 890)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 890)) | (1 << (frameQLParser.UPDATEXML - 890)) | (1 << (frameQLParser.UPPER - 890)) | (1 << (frameQLParser.UUID - 890)) | (1 << (frameQLParser.UUID_SHORT - 890)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 890)) | (1 << (frameQLParser.VERSION - 890)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 890)) | (1 << (frameQLParser.WEEKDAY - 890)) | (1 << (frameQLParser.WEEKOFYEAR - 890)) | (1 << (frameQLParser.WEIGHT_STRING - 890)) | (1 << (frameQLParser.WITHIN - 890)) | (1 << (frameQLParser.YEARWEEK - 890)) | (1 << (frameQLParser.Y_FUNCTION - 890)) | (1 << (frameQLParser.X_FUNCTION - 890)))) != 0) or ((((_la - 965)) & ~0x3f) == 0 and ((1 << (_la - 965)) & ((1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 965)) | (1 << (frameQLParser.STRING_LITERAL - 965)) | (1 << (frameQLParser.ID - 965)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 965)))) != 0): - self.state = 4180 - self.uid() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CursorStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_cursorStatement - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class CloseCursorContext(CursorStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.CursorStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def CLOSE(self): - return self.getToken(frameQLParser.CLOSE, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCloseCursor" ): - listener.enterCloseCursor(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCloseCursor" ): - listener.exitCloseCursor(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCloseCursor" ): - return visitor.visitCloseCursor(self) - else: - return visitor.visitChildren(self) - - - class OpenCursorContext(CursorStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.CursorStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def OPEN(self): - return self.getToken(frameQLParser.OPEN, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterOpenCursor" ): - listener.enterOpenCursor(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitOpenCursor" ): - listener.exitOpenCursor(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitOpenCursor" ): - return visitor.visitOpenCursor(self) - else: - return visitor.visitChildren(self) - - - class FetchCursorContext(CursorStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.CursorStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def FETCH(self): - return self.getToken(frameQLParser.FETCH, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def INTO(self): - return self.getToken(frameQLParser.INTO, 0) - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - def NEXT(self): - return self.getToken(frameQLParser.NEXT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFetchCursor" ): - listener.enterFetchCursor(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFetchCursor" ): - listener.exitFetchCursor(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitFetchCursor" ): - return visitor.visitFetchCursor(self) - else: - return visitor.visitChildren(self) - - - - def cursorStatement(self): - - localctx = frameQLParser.CursorStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 366, self.RULE_cursorStatement) - self._la = 0 # Token type - try: - self.state = 4198 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.CLOSE]: - localctx = frameQLParser.CloseCursorContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 4183 - self.match(frameQLParser.CLOSE) - self.state = 4184 - self.uid() - pass - elif token in [frameQLParser.FETCH]: - localctx = frameQLParser.FetchCursorContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 4185 - self.match(frameQLParser.FETCH) - self.state = 4190 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FROM or _la==frameQLParser.NEXT: - self.state = 4187 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NEXT: - self.state = 4186 - self.match(frameQLParser.NEXT) - - - self.state = 4189 - self.match(frameQLParser.FROM) - - - self.state = 4192 - self.uid() - self.state = 4193 - self.match(frameQLParser.INTO) - self.state = 4194 - self.uidList() - pass - elif token in [frameQLParser.OPEN]: - localctx = frameQLParser.OpenCursorContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 4196 - self.match(frameQLParser.OPEN) - self.state = 4197 - self.uid() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DeclareVariableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DECLARE(self): - return self.getToken(frameQLParser.DECLARE, 0) - - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def dataType(self): - return self.getTypedRuleContext(frameQLParser.DataTypeContext,0) - - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def defaultValue(self): - return self.getTypedRuleContext(frameQLParser.DefaultValueContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_declareVariable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDeclareVariable" ): - listener.enterDeclareVariable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDeclareVariable" ): - listener.exitDeclareVariable(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDeclareVariable" ): - return visitor.visitDeclareVariable(self) - else: - return visitor.visitChildren(self) - - - - - def declareVariable(self): - - localctx = frameQLParser.DeclareVariableContext(self, self._ctx, self.state) - self.enterRule(localctx, 368, self.RULE_declareVariable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4200 - self.match(frameQLParser.DECLARE) - self.state = 4201 - self.uidList() - self.state = 4202 - self.dataType() - self.state = 4205 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DEFAULT: - self.state = 4203 - self.match(frameQLParser.DEFAULT) - self.state = 4204 - self.defaultValue() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DeclareConditionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DECLARE(self): - return self.getToken(frameQLParser.DECLARE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def CONDITION(self): - return self.getToken(frameQLParser.CONDITION, 0) - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def SQLSTATE(self): - return self.getToken(frameQLParser.SQLSTATE, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def VALUE(self): - return self.getToken(frameQLParser.VALUE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_declareCondition - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDeclareCondition" ): - listener.enterDeclareCondition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDeclareCondition" ): - listener.exitDeclareCondition(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDeclareCondition" ): - return visitor.visitDeclareCondition(self) - else: - return visitor.visitChildren(self) - - - - - def declareCondition(self): - - localctx = frameQLParser.DeclareConditionContext(self, self._ctx, self.state) - self.enterRule(localctx, 370, self.RULE_declareCondition) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4207 - self.match(frameQLParser.DECLARE) - self.state = 4208 - self.uid() - self.state = 4209 - self.match(frameQLParser.CONDITION) - self.state = 4210 - self.match(frameQLParser.FOR) - self.state = 4217 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ZERO_DECIMAL, frameQLParser.ONE_DECIMAL, frameQLParser.TWO_DECIMAL, frameQLParser.DECIMAL_LITERAL]: - self.state = 4211 - self.decimalLiteral() - pass - elif token in [frameQLParser.SQLSTATE]: - self.state = 4212 - self.match(frameQLParser.SQLSTATE) - self.state = 4214 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.VALUE: - self.state = 4213 - self.match(frameQLParser.VALUE) - - - self.state = 4216 - self.match(frameQLParser.STRING_LITERAL) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DeclareCursorContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DECLARE(self): - return self.getToken(frameQLParser.DECLARE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def CURSOR(self): - return self.getToken(frameQLParser.CURSOR, 0) - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_declareCursor - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDeclareCursor" ): - listener.enterDeclareCursor(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDeclareCursor" ): - listener.exitDeclareCursor(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDeclareCursor" ): - return visitor.visitDeclareCursor(self) - else: - return visitor.visitChildren(self) - - - - - def declareCursor(self): - - localctx = frameQLParser.DeclareCursorContext(self, self._ctx, self.state) - self.enterRule(localctx, 372, self.RULE_declareCursor) - try: - self.enterOuterAlt(localctx, 1) - self.state = 4219 - self.match(frameQLParser.DECLARE) - self.state = 4220 - self.uid() - self.state = 4221 - self.match(frameQLParser.CURSOR) - self.state = 4222 - self.match(frameQLParser.FOR) - self.state = 4223 - self.selectStatement() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DeclareHandlerContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.handlerAction = None # Token - - def DECLARE(self): - return self.getToken(frameQLParser.DECLARE, 0) - - def HANDLER(self): - return self.getToken(frameQLParser.HANDLER, 0) - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def handlerConditionValue(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.HandlerConditionValueContext) - else: - return self.getTypedRuleContext(frameQLParser.HandlerConditionValueContext,i) - - - def routineBody(self): - return self.getTypedRuleContext(frameQLParser.RoutineBodyContext,0) - - - def CONTINUE(self): - return self.getToken(frameQLParser.CONTINUE, 0) - - def EXIT(self): - return self.getToken(frameQLParser.EXIT, 0) - - def UNDO(self): - return self.getToken(frameQLParser.UNDO, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_declareHandler - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDeclareHandler" ): - listener.enterDeclareHandler(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDeclareHandler" ): - listener.exitDeclareHandler(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDeclareHandler" ): - return visitor.visitDeclareHandler(self) - else: - return visitor.visitChildren(self) - - - - - def declareHandler(self): - - localctx = frameQLParser.DeclareHandlerContext(self, self._ctx, self.state) - self.enterRule(localctx, 374, self.RULE_declareHandler) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4225 - self.match(frameQLParser.DECLARE) - self.state = 4226 - localctx.handlerAction = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.CONTINUE or _la==frameQLParser.EXIT or _la==frameQLParser.UNDO): - localctx.handlerAction = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4227 - self.match(frameQLParser.HANDLER) - self.state = 4228 - self.match(frameQLParser.FOR) - self.state = 4229 - self.handlerConditionValue() - self.state = 4234 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4230 - self.match(frameQLParser.COMMA) - self.state = 4231 - self.handlerConditionValue() - self.state = 4236 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 4237 - self.routineBody() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class HandlerConditionValueContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_handlerConditionValue - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class HandlerConditionWarningContext(HandlerConditionValueContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.HandlerConditionValueContext - super().__init__(parser) - self.copyFrom(ctx) - - def SQLWARNING(self): - return self.getToken(frameQLParser.SQLWARNING, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHandlerConditionWarning" ): - listener.enterHandlerConditionWarning(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHandlerConditionWarning" ): - listener.exitHandlerConditionWarning(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitHandlerConditionWarning" ): - return visitor.visitHandlerConditionWarning(self) - else: - return visitor.visitChildren(self) - - - class HandlerConditionCodeContext(HandlerConditionValueContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.HandlerConditionValueContext - super().__init__(parser) - self.copyFrom(ctx) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHandlerConditionCode" ): - listener.enterHandlerConditionCode(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHandlerConditionCode" ): - listener.exitHandlerConditionCode(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitHandlerConditionCode" ): - return visitor.visitHandlerConditionCode(self) - else: - return visitor.visitChildren(self) - - - class HandlerConditionNotfoundContext(HandlerConditionValueContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.HandlerConditionValueContext - super().__init__(parser) - self.copyFrom(ctx) - - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - def FOUND(self): - return self.getToken(frameQLParser.FOUND, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHandlerConditionNotfound" ): - listener.enterHandlerConditionNotfound(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHandlerConditionNotfound" ): - listener.exitHandlerConditionNotfound(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitHandlerConditionNotfound" ): - return visitor.visitHandlerConditionNotfound(self) - else: - return visitor.visitChildren(self) - - - class HandlerConditionStateContext(HandlerConditionValueContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.HandlerConditionValueContext - super().__init__(parser) - self.copyFrom(ctx) - - def SQLSTATE(self): - return self.getToken(frameQLParser.SQLSTATE, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - def VALUE(self): - return self.getToken(frameQLParser.VALUE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHandlerConditionState" ): - listener.enterHandlerConditionState(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHandlerConditionState" ): - listener.exitHandlerConditionState(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitHandlerConditionState" ): - return visitor.visitHandlerConditionState(self) - else: - return visitor.visitChildren(self) - - - class HandlerConditionExceptionContext(HandlerConditionValueContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.HandlerConditionValueContext - super().__init__(parser) - self.copyFrom(ctx) - - def SQLEXCEPTION(self): - return self.getToken(frameQLParser.SQLEXCEPTION, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHandlerConditionException" ): - listener.enterHandlerConditionException(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHandlerConditionException" ): - listener.exitHandlerConditionException(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitHandlerConditionException" ): - return visitor.visitHandlerConditionException(self) - else: - return visitor.visitChildren(self) - - - class HandlerConditionNameContext(HandlerConditionValueContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.HandlerConditionValueContext - super().__init__(parser) - self.copyFrom(ctx) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHandlerConditionName" ): - listener.enterHandlerConditionName(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHandlerConditionName" ): - listener.exitHandlerConditionName(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitHandlerConditionName" ): - return visitor.visitHandlerConditionName(self) - else: - return visitor.visitChildren(self) - - - - def handlerConditionValue(self): - - localctx = frameQLParser.HandlerConditionValueContext(self, self._ctx, self.state) - self.enterRule(localctx, 376, self.RULE_handlerConditionValue) - self._la = 0 # Token type - try: - self.state = 4250 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ZERO_DECIMAL, frameQLParser.ONE_DECIMAL, frameQLParser.TWO_DECIMAL, frameQLParser.DECIMAL_LITERAL]: - localctx = frameQLParser.HandlerConditionCodeContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 4239 - self.decimalLiteral() - pass - elif token in [frameQLParser.SQLSTATE]: - localctx = frameQLParser.HandlerConditionStateContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 4240 - self.match(frameQLParser.SQLSTATE) - self.state = 4242 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.VALUE: - self.state = 4241 - self.match(frameQLParser.VALUE) - - - self.state = 4244 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - localctx = frameQLParser.HandlerConditionNameContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 4245 - self.uid() - pass - elif token in [frameQLParser.SQLWARNING]: - localctx = frameQLParser.HandlerConditionWarningContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 4246 - self.match(frameQLParser.SQLWARNING) - pass - elif token in [frameQLParser.NOT]: - localctx = frameQLParser.HandlerConditionNotfoundContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 4247 - self.match(frameQLParser.NOT) - self.state = 4248 - self.match(frameQLParser.FOUND) - pass - elif token in [frameQLParser.SQLEXCEPTION]: - localctx = frameQLParser.HandlerConditionExceptionContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 4249 - self.match(frameQLParser.SQLEXCEPTION) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ProcedureSqlStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def SEMI(self): - return self.getToken(frameQLParser.SEMI, 0) - - def compoundStatement(self): - return self.getTypedRuleContext(frameQLParser.CompoundStatementContext,0) - - - def sqlStatement(self): - return self.getTypedRuleContext(frameQLParser.SqlStatementContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_procedureSqlStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterProcedureSqlStatement" ): - listener.enterProcedureSqlStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitProcedureSqlStatement" ): - listener.exitProcedureSqlStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitProcedureSqlStatement" ): - return visitor.visitProcedureSqlStatement(self) - else: - return visitor.visitChildren(self) - - - - - def procedureSqlStatement(self): - - localctx = frameQLParser.ProcedureSqlStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 378, self.RULE_procedureSqlStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 4254 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,607,self._ctx) - if la_ == 1: - self.state = 4252 - self.compoundStatement() - pass - - elif la_ == 2: - self.state = 4253 - self.sqlStatement() - pass - - - self.state = 4256 - self.match(frameQLParser.SEMI) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CaseAlternativeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def WHEN(self): - return self.getToken(frameQLParser.WHEN, 0) - - def THEN(self): - return self.getToken(frameQLParser.THEN, 0) - - def constant(self): - return self.getTypedRuleContext(frameQLParser.ConstantContext,0) - - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def procedureSqlStatement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ProcedureSqlStatementContext) - else: - return self.getTypedRuleContext(frameQLParser.ProcedureSqlStatementContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_caseAlternative - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCaseAlternative" ): - listener.enterCaseAlternative(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCaseAlternative" ): - listener.exitCaseAlternative(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCaseAlternative" ): - return visitor.visitCaseAlternative(self) - else: - return visitor.visitChildren(self) - - - - - def caseAlternative(self): - - localctx = frameQLParser.CaseAlternativeContext(self, self._ctx, self.state) - self.enterRule(localctx, 380, self.RULE_caseAlternative) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4258 - self.match(frameQLParser.WHEN) - self.state = 4261 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,608,self._ctx) - if la_ == 1: - self.state = 4259 - self.constant() - pass - - elif la_ == 2: - self.state = 4260 - self.expression(0) - pass - - - self.state = 4263 - self.match(frameQLParser.THEN) - self.state = 4265 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4264 - self.procedureSqlStatement() - self.state = 4267 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 9)) & ~0x3f) == 0 and ((1 << (_la - 9)) & ((1 << (frameQLParser.ALTER - 9)) | (1 << (frameQLParser.ANALYZE - 9)) | (1 << (frameQLParser.CALL - 9)) | (1 << (frameQLParser.CASE - 9)) | (1 << (frameQLParser.CHANGE - 9)) | (1 << (frameQLParser.CHECK - 9)) | (1 << (frameQLParser.CREATE - 9)) | (1 << (frameQLParser.DATABASE - 9)) | (1 << (frameQLParser.DELETE - 9)) | (1 << (frameQLParser.DESC - 9)) | (1 << (frameQLParser.DESCRIBE - 9)) | (1 << (frameQLParser.DROP - 9)) | (1 << (frameQLParser.EXPLAIN - 9)) | (1 << (frameQLParser.FETCH - 9)) | (1 << (frameQLParser.GRANT - 9)) | (1 << (frameQLParser.IF - 9)))) != 0) or ((((_la - 75)) & ~0x3f) == 0 and ((1 << (_la - 75)) & ((1 << (frameQLParser.INSERT - 75)) | (1 << (frameQLParser.ITERATE - 75)) | (1 << (frameQLParser.KILL - 75)) | (1 << (frameQLParser.LEAVE - 75)) | (1 << (frameQLParser.LEFT - 75)) | (1 << (frameQLParser.LOAD - 75)) | (1 << (frameQLParser.LOCK - 75)) | (1 << (frameQLParser.LOOP - 75)) | (1 << (frameQLParser.OPTIMIZE - 75)) | (1 << (frameQLParser.PURGE - 75)) | (1 << (frameQLParser.RELEASE - 75)) | (1 << (frameQLParser.RENAME - 75)) | (1 << (frameQLParser.REPEAT - 75)) | (1 << (frameQLParser.REPLACE - 75)) | (1 << (frameQLParser.RETURN - 75)) | (1 << (frameQLParser.REVOKE - 75)) | (1 << (frameQLParser.RIGHT - 75)) | (1 << (frameQLParser.SELECT - 75)) | (1 << (frameQLParser.SET - 75)) | (1 << (frameQLParser.SHOW - 75)))) != 0) or ((((_la - 159)) & ~0x3f) == 0 and ((1 << (_la - 159)) & ((1 << (frameQLParser.UNLOCK - 159)) | (1 << (frameQLParser.UPDATE - 159)) | (1 << (frameQLParser.USE - 159)) | (1 << (frameQLParser.WHILE - 159)) | (1 << (frameQLParser.DATE - 159)) | (1 << (frameQLParser.TIME - 159)) | (1 << (frameQLParser.TIMESTAMP - 159)) | (1 << (frameQLParser.DATETIME - 159)) | (1 << (frameQLParser.YEAR - 159)) | (1 << (frameQLParser.TEXT - 159)) | (1 << (frameQLParser.ENUM - 159)) | (1 << (frameQLParser.SERIAL - 159)) | (1 << (frameQLParser.COUNT - 159)))) != 0) or ((((_la - 242)) & ~0x3f) == 0 and ((1 << (_la - 242)) & ((1 << (frameQLParser.POSITION - 242)) | (1 << (frameQLParser.ACCOUNT - 242)) | (1 << (frameQLParser.ACTION - 242)) | (1 << (frameQLParser.AFTER - 242)) | (1 << (frameQLParser.AGGREGATE - 242)) | (1 << (frameQLParser.ALGORITHM - 242)) | (1 << (frameQLParser.ANY - 242)) | (1 << (frameQLParser.AT - 242)) | (1 << (frameQLParser.AUTHORS - 242)) | (1 << (frameQLParser.AUTOCOMMIT - 242)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 242)) | (1 << (frameQLParser.AUTO_INCREMENT - 242)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 242)) | (1 << (frameQLParser.BEGIN - 242)) | (1 << (frameQLParser.BINLOG - 242)) | (1 << (frameQLParser.BIT - 242)) | (1 << (frameQLParser.BLOCK - 242)) | (1 << (frameQLParser.BOOL - 242)) | (1 << (frameQLParser.BOOLEAN - 242)) | (1 << (frameQLParser.BTREE - 242)) | (1 << (frameQLParser.CACHE - 242)) | (1 << (frameQLParser.CASCADED - 242)) | (1 << (frameQLParser.CHAIN - 242)) | (1 << (frameQLParser.CHANGED - 242)) | (1 << (frameQLParser.CHANNEL - 242)) | (1 << (frameQLParser.CHECKSUM - 242)) | (1 << (frameQLParser.CIPHER - 242)) | (1 << (frameQLParser.CLIENT - 242)) | (1 << (frameQLParser.CLOSE - 242)) | (1 << (frameQLParser.COALESCE - 242)) | (1 << (frameQLParser.CODE - 242)) | (1 << (frameQLParser.COLUMNS - 242)) | (1 << (frameQLParser.COLUMN_FORMAT - 242)) | (1 << (frameQLParser.COMMENT - 242)) | (1 << (frameQLParser.COMMIT - 242)) | (1 << (frameQLParser.COMPACT - 242)) | (1 << (frameQLParser.COMPLETION - 242)) | (1 << (frameQLParser.COMPRESSED - 242)) | (1 << (frameQLParser.COMPRESSION - 242)) | (1 << (frameQLParser.CONCURRENT - 242)) | (1 << (frameQLParser.CONNECTION - 242)) | (1 << (frameQLParser.CONSISTENT - 242)) | (1 << (frameQLParser.CONTAINS - 242)) | (1 << (frameQLParser.CONTEXT - 242)) | (1 << (frameQLParser.CONTRIBUTORS - 242)) | (1 << (frameQLParser.COPY - 242)) | (1 << (frameQLParser.CPU - 242)) | (1 << (frameQLParser.DATA - 242)) | (1 << (frameQLParser.DATAFILE - 242)) | (1 << (frameQLParser.DEALLOCATE - 242)) | (1 << (frameQLParser.DEFAULT_AUTH - 242)) | (1 << (frameQLParser.DEFINER - 242)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 242)) | (1 << (frameQLParser.DIRECTORY - 242)) | (1 << (frameQLParser.DISABLE - 242)) | (1 << (frameQLParser.DISCARD - 242)))) != 0) or ((((_la - 306)) & ~0x3f) == 0 and ((1 << (_la - 306)) & ((1 << (frameQLParser.DISK - 306)) | (1 << (frameQLParser.DO - 306)) | (1 << (frameQLParser.DUMPFILE - 306)) | (1 << (frameQLParser.DUPLICATE - 306)) | (1 << (frameQLParser.DYNAMIC - 306)) | (1 << (frameQLParser.ENABLE - 306)) | (1 << (frameQLParser.ENCRYPTION - 306)) | (1 << (frameQLParser.ENDS - 306)) | (1 << (frameQLParser.ENGINE - 306)) | (1 << (frameQLParser.ENGINES - 306)) | (1 << (frameQLParser.ERROR - 306)) | (1 << (frameQLParser.ERRORS - 306)) | (1 << (frameQLParser.ESCAPE - 306)) | (1 << (frameQLParser.EVEN - 306)) | (1 << (frameQLParser.EVENT - 306)) | (1 << (frameQLParser.EVENTS - 306)) | (1 << (frameQLParser.EVERY - 306)) | (1 << (frameQLParser.EXCHANGE - 306)) | (1 << (frameQLParser.EXCLUSIVE - 306)) | (1 << (frameQLParser.EXPIRE - 306)) | (1 << (frameQLParser.EXTENDED - 306)) | (1 << (frameQLParser.EXTENT_SIZE - 306)) | (1 << (frameQLParser.FAST - 306)) | (1 << (frameQLParser.FAULTS - 306)) | (1 << (frameQLParser.FIELDS - 306)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 306)) | (1 << (frameQLParser.FILTER - 306)) | (1 << (frameQLParser.FIRST - 306)) | (1 << (frameQLParser.FIXED - 306)) | (1 << (frameQLParser.FLUSH - 306)) | (1 << (frameQLParser.FOLLOWS - 306)) | (1 << (frameQLParser.FULL - 306)) | (1 << (frameQLParser.FUNCTION - 306)) | (1 << (frameQLParser.GLOBAL - 306)) | (1 << (frameQLParser.GRANTS - 306)) | (1 << (frameQLParser.GROUP_REPLICATION - 306)) | (1 << (frameQLParser.HANDLER - 306)) | (1 << (frameQLParser.HASH - 306)) | (1 << (frameQLParser.HELP - 306)) | (1 << (frameQLParser.HOST - 306)) | (1 << (frameQLParser.IDENTIFIED - 306)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 306)) | (1 << (frameQLParser.IMPORT - 306)) | (1 << (frameQLParser.INDEXES - 306)) | (1 << (frameQLParser.INITIAL_SIZE - 306)) | (1 << (frameQLParser.INPLACE - 306)) | (1 << (frameQLParser.INSERT_METHOD - 306)) | (1 << (frameQLParser.INSTALL - 306)) | (1 << (frameQLParser.INSTANCE - 306)) | (1 << (frameQLParser.INVOKER - 306)) | (1 << (frameQLParser.IO - 306)) | (1 << (frameQLParser.IO_THREAD - 306)) | (1 << (frameQLParser.IPC - 306)) | (1 << (frameQLParser.ISOLATION - 306)) | (1 << (frameQLParser.ISSUER - 306)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 306)) | (1 << (frameQLParser.LANGUAGE - 306)) | (1 << (frameQLParser.LAST - 306)))) != 0) or ((((_la - 370)) & ~0x3f) == 0 and ((1 << (_la - 370)) & ((1 << (frameQLParser.LEAVES - 370)) | (1 << (frameQLParser.LESS - 370)) | (1 << (frameQLParser.LEVEL - 370)) | (1 << (frameQLParser.LIST - 370)) | (1 << (frameQLParser.LOCAL - 370)) | (1 << (frameQLParser.LOGFILE - 370)) | (1 << (frameQLParser.LOGS - 370)) | (1 << (frameQLParser.MASTER - 370)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 370)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 370)) | (1 << (frameQLParser.MASTER_DELAY - 370)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 370)) | (1 << (frameQLParser.MASTER_HOST - 370)) | (1 << (frameQLParser.MASTER_LOG_FILE - 370)) | (1 << (frameQLParser.MASTER_LOG_POS - 370)) | (1 << (frameQLParser.MASTER_PASSWORD - 370)) | (1 << (frameQLParser.MASTER_PORT - 370)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 370)) | (1 << (frameQLParser.MASTER_SSL - 370)) | (1 << (frameQLParser.MASTER_SSL_CA - 370)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_CERT - 370)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 370)) | (1 << (frameQLParser.MASTER_SSL_CRL - 370)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_KEY - 370)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 370)) | (1 << (frameQLParser.MASTER_USER - 370)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_ROWS - 370)) | (1 << (frameQLParser.MAX_SIZE - 370)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 370)) | (1 << (frameQLParser.MEDIUM - 370)) | (1 << (frameQLParser.MERGE - 370)) | (1 << (frameQLParser.MID - 370)) | (1 << (frameQLParser.MIGRATE - 370)) | (1 << (frameQLParser.MIN_ROWS - 370)) | (1 << (frameQLParser.MODIFY - 370)) | (1 << (frameQLParser.MUTEX - 370)) | (1 << (frameQLParser.MYSQL - 370)) | (1 << (frameQLParser.NAME - 370)) | (1 << (frameQLParser.NAMES - 370)) | (1 << (frameQLParser.NCHAR - 370)) | (1 << (frameQLParser.NEVER - 370)) | (1 << (frameQLParser.NO - 370)) | (1 << (frameQLParser.NODEGROUP - 370)) | (1 << (frameQLParser.NONE - 370)) | (1 << (frameQLParser.OFFLINE - 370)) | (1 << (frameQLParser.OFFSET - 370)) | (1 << (frameQLParser.OJ - 370)) | (1 << (frameQLParser.OLD_PASSWORD - 370)) | (1 << (frameQLParser.ONE - 370)) | (1 << (frameQLParser.ONLINE - 370)) | (1 << (frameQLParser.ONLY - 370)) | (1 << (frameQLParser.OPEN - 370)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 370)) | (1 << (frameQLParser.OPTIONS - 370)) | (1 << (frameQLParser.OWNER - 370)) | (1 << (frameQLParser.PACK_KEYS - 370)) | (1 << (frameQLParser.PAGE - 370)))) != 0) or ((((_la - 434)) & ~0x3f) == 0 and ((1 << (_la - 434)) & ((1 << (frameQLParser.PARSER - 434)) | (1 << (frameQLParser.PARTIAL - 434)) | (1 << (frameQLParser.PARTITIONING - 434)) | (1 << (frameQLParser.PARTITIONS - 434)) | (1 << (frameQLParser.PASSWORD - 434)) | (1 << (frameQLParser.PHASE - 434)) | (1 << (frameQLParser.PLUGIN_DIR - 434)) | (1 << (frameQLParser.PLUGINS - 434)) | (1 << (frameQLParser.PORT - 434)) | (1 << (frameQLParser.PRECEDES - 434)) | (1 << (frameQLParser.PREPARE - 434)) | (1 << (frameQLParser.PRESERVE - 434)) | (1 << (frameQLParser.PREV - 434)) | (1 << (frameQLParser.PROCESSLIST - 434)) | (1 << (frameQLParser.PROFILE - 434)) | (1 << (frameQLParser.PROFILES - 434)) | (1 << (frameQLParser.PROXY - 434)) | (1 << (frameQLParser.QUERY - 434)) | (1 << (frameQLParser.QUICK - 434)) | (1 << (frameQLParser.REBUILD - 434)) | (1 << (frameQLParser.RECOVER - 434)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 434)) | (1 << (frameQLParser.REDUNDANT - 434)) | (1 << (frameQLParser.RELAY_LOG_FILE - 434)) | (1 << (frameQLParser.RELAY_LOG_POS - 434)) | (1 << (frameQLParser.RELAYLOG - 434)) | (1 << (frameQLParser.REMOVE - 434)) | (1 << (frameQLParser.REORGANIZE - 434)) | (1 << (frameQLParser.REPAIR - 434)) | (1 << (frameQLParser.REPLICATE_DO_DB - 434)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 434)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATION - 434)) | (1 << (frameQLParser.RESET - 434)) | (1 << (frameQLParser.RESUME - 434)) | (1 << (frameQLParser.RETURNS - 434)) | (1 << (frameQLParser.ROLLBACK - 434)) | (1 << (frameQLParser.ROLLUP - 434)) | (1 << (frameQLParser.ROTATE - 434)) | (1 << (frameQLParser.ROW - 434)) | (1 << (frameQLParser.ROWS - 434)) | (1 << (frameQLParser.ROW_FORMAT - 434)) | (1 << (frameQLParser.SAVEPOINT - 434)) | (1 << (frameQLParser.SCHEDULE - 434)) | (1 << (frameQLParser.SECURITY - 434)) | (1 << (frameQLParser.SERVER - 434)) | (1 << (frameQLParser.SESSION - 434)) | (1 << (frameQLParser.SHARE - 434)) | (1 << (frameQLParser.SHARED - 434)) | (1 << (frameQLParser.SIGNED - 434)) | (1 << (frameQLParser.SIMPLE - 434)) | (1 << (frameQLParser.SLAVE - 434)) | (1 << (frameQLParser.SNAPSHOT - 434)) | (1 << (frameQLParser.SOCKET - 434)) | (1 << (frameQLParser.SOME - 434)) | (1 << (frameQLParser.SOUNDS - 434)))) != 0) or ((((_la - 498)) & ~0x3f) == 0 and ((1 << (_la - 498)) & ((1 << (frameQLParser.SOURCE - 498)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 498)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 498)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 498)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 498)) | (1 << (frameQLParser.SQL_CACHE - 498)) | (1 << (frameQLParser.SQL_NO_CACHE - 498)) | (1 << (frameQLParser.SQL_THREAD - 498)) | (1 << (frameQLParser.START - 498)) | (1 << (frameQLParser.STARTS - 498)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 498)) | (1 << (frameQLParser.STATS_PERSISTENT - 498)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 498)) | (1 << (frameQLParser.STATUS - 498)) | (1 << (frameQLParser.STOP - 498)) | (1 << (frameQLParser.STORAGE - 498)) | (1 << (frameQLParser.STRING - 498)) | (1 << (frameQLParser.SUBJECT - 498)) | (1 << (frameQLParser.SUBPARTITION - 498)) | (1 << (frameQLParser.SUBPARTITIONS - 498)) | (1 << (frameQLParser.SUSPEND - 498)) | (1 << (frameQLParser.SWAPS - 498)) | (1 << (frameQLParser.SWITCHES - 498)) | (1 << (frameQLParser.TABLESPACE - 498)) | (1 << (frameQLParser.TEMPORARY - 498)) | (1 << (frameQLParser.TEMPTABLE - 498)) | (1 << (frameQLParser.THAN - 498)) | (1 << (frameQLParser.TRANSACTION - 498)) | (1 << (frameQLParser.TRUNCATE - 498)) | (1 << (frameQLParser.UNDEFINED - 498)) | (1 << (frameQLParser.UNDOFILE - 498)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 498)) | (1 << (frameQLParser.UNINSTALL - 498)) | (1 << (frameQLParser.UNKNOWN - 498)) | (1 << (frameQLParser.UPGRADE - 498)) | (1 << (frameQLParser.USER - 498)) | (1 << (frameQLParser.VALIDATION - 498)) | (1 << (frameQLParser.VALUE - 498)) | (1 << (frameQLParser.VARIABLES - 498)) | (1 << (frameQLParser.VIEW - 498)) | (1 << (frameQLParser.WAIT - 498)) | (1 << (frameQLParser.WARNINGS - 498)) | (1 << (frameQLParser.WITHOUT - 498)) | (1 << (frameQLParser.WORK - 498)) | (1 << (frameQLParser.WRAPPER - 498)) | (1 << (frameQLParser.X509 - 498)) | (1 << (frameQLParser.XA - 498)) | (1 << (frameQLParser.XML - 498)) | (1 << (frameQLParser.QUARTER - 498)) | (1 << (frameQLParser.MONTH - 498)) | (1 << (frameQLParser.DAY - 498)) | (1 << (frameQLParser.HOUR - 498)))) != 0) or ((((_la - 562)) & ~0x3f) == 0 and ((1 << (_la - 562)) & ((1 << (frameQLParser.MINUTE - 562)) | (1 << (frameQLParser.WEEK - 562)) | (1 << (frameQLParser.SECOND - 562)) | (1 << (frameQLParser.MICROSECOND - 562)) | (1 << (frameQLParser.TABLES - 562)) | (1 << (frameQLParser.ROUTINE - 562)) | (1 << (frameQLParser.EXECUTE - 562)) | (1 << (frameQLParser.FILE - 562)) | (1 << (frameQLParser.PROCESS - 562)) | (1 << (frameQLParser.RELOAD - 562)) | (1 << (frameQLParser.SHUTDOWN - 562)) | (1 << (frameQLParser.SUPER - 562)) | (1 << (frameQLParser.PRIVILEGES - 562)) | (1 << (frameQLParser.ARMSCII8 - 562)) | (1 << (frameQLParser.ASCII - 562)) | (1 << (frameQLParser.BIG5 - 562)) | (1 << (frameQLParser.CP1250 - 562)) | (1 << (frameQLParser.CP1251 - 562)) | (1 << (frameQLParser.CP1256 - 562)) | (1 << (frameQLParser.CP1257 - 562)) | (1 << (frameQLParser.CP850 - 562)) | (1 << (frameQLParser.CP852 - 562)) | (1 << (frameQLParser.CP866 - 562)) | (1 << (frameQLParser.CP932 - 562)) | (1 << (frameQLParser.DEC8 - 562)) | (1 << (frameQLParser.EUCJPMS - 562)) | (1 << (frameQLParser.EUCKR - 562)) | (1 << (frameQLParser.GB2312 - 562)) | (1 << (frameQLParser.GBK - 562)) | (1 << (frameQLParser.GEOSTD8 - 562)) | (1 << (frameQLParser.GREEK - 562)) | (1 << (frameQLParser.HEBREW - 562)) | (1 << (frameQLParser.HP8 - 562)) | (1 << (frameQLParser.KEYBCS2 - 562)) | (1 << (frameQLParser.KOI8R - 562)) | (1 << (frameQLParser.KOI8U - 562)) | (1 << (frameQLParser.LATIN1 - 562)) | (1 << (frameQLParser.LATIN2 - 562)) | (1 << (frameQLParser.LATIN5 - 562)) | (1 << (frameQLParser.LATIN7 - 562)) | (1 << (frameQLParser.MACCE - 562)) | (1 << (frameQLParser.MACROMAN - 562)) | (1 << (frameQLParser.SJIS - 562)) | (1 << (frameQLParser.SWE7 - 562)) | (1 << (frameQLParser.TIS620 - 562)) | (1 << (frameQLParser.UCS2 - 562)) | (1 << (frameQLParser.UJIS - 562)) | (1 << (frameQLParser.UTF16 - 562)) | (1 << (frameQLParser.UTF16LE - 562)) | (1 << (frameQLParser.UTF32 - 562)) | (1 << (frameQLParser.UTF8 - 562)) | (1 << (frameQLParser.UTF8MB3 - 562)) | (1 << (frameQLParser.UTF8MB4 - 562)) | (1 << (frameQLParser.ARCHIVE - 562)) | (1 << (frameQLParser.BLACKHOLE - 562)) | (1 << (frameQLParser.CSV - 562)) | (1 << (frameQLParser.FEDERATED - 562)) | (1 << (frameQLParser.INNODB - 562)) | (1 << (frameQLParser.MEMORY - 562)) | (1 << (frameQLParser.MRG_MYISAM - 562)) | (1 << (frameQLParser.MYISAM - 562)) | (1 << (frameQLParser.NDB - 562)) | (1 << (frameQLParser.NDBCLUSTER - 562)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 562)))) != 0) or ((((_la - 626)) & ~0x3f) == 0 and ((1 << (_la - 626)) & ((1 << (frameQLParser.REPEATABLE - 626)) | (1 << (frameQLParser.COMMITTED - 626)) | (1 << (frameQLParser.UNCOMMITTED - 626)) | (1 << (frameQLParser.SERIALIZABLE - 626)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 626)) | (1 << (frameQLParser.LINESTRING - 626)) | (1 << (frameQLParser.MULTILINESTRING - 626)) | (1 << (frameQLParser.MULTIPOINT - 626)) | (1 << (frameQLParser.MULTIPOLYGON - 626)) | (1 << (frameQLParser.POINT - 626)) | (1 << (frameQLParser.POLYGON - 626)) | (1 << (frameQLParser.ABS - 626)) | (1 << (frameQLParser.ACOS - 626)) | (1 << (frameQLParser.ADDDATE - 626)) | (1 << (frameQLParser.ADDTIME - 626)) | (1 << (frameQLParser.AES_DECRYPT - 626)) | (1 << (frameQLParser.AES_ENCRYPT - 626)) | (1 << (frameQLParser.AREA - 626)) | (1 << (frameQLParser.ASBINARY - 626)) | (1 << (frameQLParser.ASIN - 626)) | (1 << (frameQLParser.ASTEXT - 626)) | (1 << (frameQLParser.ASWKB - 626)) | (1 << (frameQLParser.ASWKT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 626)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 626)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 626)) | (1 << (frameQLParser.ATAN - 626)) | (1 << (frameQLParser.ATAN2 - 626)) | (1 << (frameQLParser.BENCHMARK - 626)) | (1 << (frameQLParser.BIN - 626)) | (1 << (frameQLParser.BIT_COUNT - 626)) | (1 << (frameQLParser.BIT_LENGTH - 626)) | (1 << (frameQLParser.BUFFER - 626)) | (1 << (frameQLParser.CEIL - 626)) | (1 << (frameQLParser.CEILING - 626)) | (1 << (frameQLParser.CENTROID - 626)) | (1 << (frameQLParser.CHARACTER_LENGTH - 626)) | (1 << (frameQLParser.CHARSET - 626)) | (1 << (frameQLParser.CHAR_LENGTH - 626)) | (1 << (frameQLParser.COERCIBILITY - 626)) | (1 << (frameQLParser.COLLATION - 626)) | (1 << (frameQLParser.COMPRESS - 626)) | (1 << (frameQLParser.CONCAT - 626)) | (1 << (frameQLParser.CONCAT_WS - 626)) | (1 << (frameQLParser.CONNECTION_ID - 626)) | (1 << (frameQLParser.CONV - 626)) | (1 << (frameQLParser.CONVERT_TZ - 626)) | (1 << (frameQLParser.COS - 626)) | (1 << (frameQLParser.COT - 626)) | (1 << (frameQLParser.CRC32 - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 626)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 626)) | (1 << (frameQLParser.CREATE_DIGEST - 626)) | (1 << (frameQLParser.CROSSES - 626)) | (1 << (frameQLParser.DATEDIFF - 626)) | (1 << (frameQLParser.DATE_FORMAT - 626)) | (1 << (frameQLParser.DAYNAME - 626)) | (1 << (frameQLParser.DAYOFMONTH - 626)) | (1 << (frameQLParser.DAYOFWEEK - 626)) | (1 << (frameQLParser.DAYOFYEAR - 626)) | (1 << (frameQLParser.DECODE - 626)))) != 0) or ((((_la - 690)) & ~0x3f) == 0 and ((1 << (_la - 690)) & ((1 << (frameQLParser.DEGREES - 690)) | (1 << (frameQLParser.DES_DECRYPT - 690)) | (1 << (frameQLParser.DES_ENCRYPT - 690)) | (1 << (frameQLParser.DIMENSION - 690)) | (1 << (frameQLParser.DISJOINT - 690)) | (1 << (frameQLParser.ELT - 690)) | (1 << (frameQLParser.ENCODE - 690)) | (1 << (frameQLParser.ENCRYPT - 690)) | (1 << (frameQLParser.ENDPOINT - 690)) | (1 << (frameQLParser.ENVELOPE - 690)) | (1 << (frameQLParser.EQUALS - 690)) | (1 << (frameQLParser.EXP - 690)) | (1 << (frameQLParser.EXPORT_SET - 690)) | (1 << (frameQLParser.EXTERIORRING - 690)) | (1 << (frameQLParser.EXTRACTVALUE - 690)) | (1 << (frameQLParser.FIELD - 690)) | (1 << (frameQLParser.FIND_IN_SET - 690)) | (1 << (frameQLParser.FLOOR - 690)) | (1 << (frameQLParser.FORMAT - 690)) | (1 << (frameQLParser.FOUND_ROWS - 690)) | (1 << (frameQLParser.FROM_BASE64 - 690)) | (1 << (frameQLParser.FROM_DAYS - 690)) | (1 << (frameQLParser.FROM_UNIXTIME - 690)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 690)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYN - 690)) | (1 << (frameQLParser.GEOMETRYTYPE - 690)) | (1 << (frameQLParser.GEOMFROMTEXT - 690)) | (1 << (frameQLParser.GEOMFROMWKB - 690)) | (1 << (frameQLParser.GET_FORMAT - 690)) | (1 << (frameQLParser.GET_LOCK - 690)) | (1 << (frameQLParser.GLENGTH - 690)) | (1 << (frameQLParser.GREATEST - 690)) | (1 << (frameQLParser.GTID_SUBSET - 690)) | (1 << (frameQLParser.GTID_SUBTRACT - 690)) | (1 << (frameQLParser.HEX - 690)) | (1 << (frameQLParser.IFNULL - 690)) | (1 << (frameQLParser.INET6_ATON - 690)) | (1 << (frameQLParser.INET6_NTOA - 690)) | (1 << (frameQLParser.INET_ATON - 690)) | (1 << (frameQLParser.INET_NTOA - 690)) | (1 << (frameQLParser.INSTR - 690)) | (1 << (frameQLParser.INTERIORRINGN - 690)) | (1 << (frameQLParser.INTERSECTS - 690)) | (1 << (frameQLParser.ISCLOSED - 690)) | (1 << (frameQLParser.ISEMPTY - 690)) | (1 << (frameQLParser.ISNULL - 690)) | (1 << (frameQLParser.ISSIMPLE - 690)) | (1 << (frameQLParser.IS_FREE_LOCK - 690)) | (1 << (frameQLParser.IS_IPV4 - 690)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 690)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 690)) | (1 << (frameQLParser.IS_IPV6 - 690)) | (1 << (frameQLParser.IS_USED_LOCK - 690)) | (1 << (frameQLParser.LAST_INSERT_ID - 690)) | (1 << (frameQLParser.LCASE - 690)) | (1 << (frameQLParser.LEAST - 690)) | (1 << (frameQLParser.LENGTH - 690)) | (1 << (frameQLParser.LINEFROMTEXT - 690)) | (1 << (frameQLParser.LINEFROMWKB - 690)))) != 0) or ((((_la - 754)) & ~0x3f) == 0 and ((1 << (_la - 754)) & ((1 << (frameQLParser.LINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.LN - 754)) | (1 << (frameQLParser.LOAD_FILE - 754)) | (1 << (frameQLParser.LOCATE - 754)) | (1 << (frameQLParser.LOG - 754)) | (1 << (frameQLParser.LOG10 - 754)) | (1 << (frameQLParser.LOG2 - 754)) | (1 << (frameQLParser.LOWER - 754)) | (1 << (frameQLParser.LPAD - 754)) | (1 << (frameQLParser.LTRIM - 754)) | (1 << (frameQLParser.MAKEDATE - 754)) | (1 << (frameQLParser.MAKETIME - 754)) | (1 << (frameQLParser.MAKE_SET - 754)) | (1 << (frameQLParser.MASTER_POS_WAIT - 754)) | (1 << (frameQLParser.MBRCONTAINS - 754)) | (1 << (frameQLParser.MBRDISJOINT - 754)) | (1 << (frameQLParser.MBREQUAL - 754)) | (1 << (frameQLParser.MBRINTERSECTS - 754)) | (1 << (frameQLParser.MBROVERLAPS - 754)) | (1 << (frameQLParser.MBRTOUCHES - 754)) | (1 << (frameQLParser.MBRWITHIN - 754)) | (1 << (frameQLParser.MD5 - 754)) | (1 << (frameQLParser.MLINEFROMTEXT - 754)) | (1 << (frameQLParser.MLINEFROMWKB - 754)) | (1 << (frameQLParser.MONTHNAME - 754)) | (1 << (frameQLParser.MPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MPOINTFROMWKB - 754)) | (1 << (frameQLParser.MPOLYFROMTEXT - 754)) | (1 << (frameQLParser.MPOLYFROMWKB - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 754)) | (1 << (frameQLParser.NAME_CONST - 754)) | (1 << (frameQLParser.NULLIF - 754)) | (1 << (frameQLParser.NUMGEOMETRIES - 754)) | (1 << (frameQLParser.NUMINTERIORRINGS - 754)) | (1 << (frameQLParser.NUMPOINTS - 754)) | (1 << (frameQLParser.OCT - 754)) | (1 << (frameQLParser.OCTET_LENGTH - 754)) | (1 << (frameQLParser.ORD - 754)) | (1 << (frameQLParser.OVERLAPS - 754)) | (1 << (frameQLParser.PERIOD_ADD - 754)) | (1 << (frameQLParser.PERIOD_DIFF - 754)) | (1 << (frameQLParser.PI - 754)) | (1 << (frameQLParser.POINTFROMTEXT - 754)) | (1 << (frameQLParser.POINTFROMWKB - 754)) | (1 << (frameQLParser.POINTN - 754)) | (1 << (frameQLParser.POLYFROMTEXT - 754)) | (1 << (frameQLParser.POLYFROMWKB - 754)) | (1 << (frameQLParser.POLYGONFROMTEXT - 754)) | (1 << (frameQLParser.POLYGONFROMWKB - 754)) | (1 << (frameQLParser.POW - 754)) | (1 << (frameQLParser.POWER - 754)) | (1 << (frameQLParser.QUOTE - 754)) | (1 << (frameQLParser.RADIANS - 754)) | (1 << (frameQLParser.RAND - 754)) | (1 << (frameQLParser.RANDOM_BYTES - 754)) | (1 << (frameQLParser.RELEASE_LOCK - 754)) | (1 << (frameQLParser.REVERSE - 754)) | (1 << (frameQLParser.ROUND - 754)))) != 0) or ((((_la - 818)) & ~0x3f) == 0 and ((1 << (_la - 818)) & ((1 << (frameQLParser.ROW_COUNT - 818)) | (1 << (frameQLParser.RPAD - 818)) | (1 << (frameQLParser.RTRIM - 818)) | (1 << (frameQLParser.SEC_TO_TIME - 818)) | (1 << (frameQLParser.SESSION_USER - 818)) | (1 << (frameQLParser.SHA - 818)) | (1 << (frameQLParser.SHA1 - 818)) | (1 << (frameQLParser.SHA2 - 818)) | (1 << (frameQLParser.SIGN - 818)) | (1 << (frameQLParser.SIN - 818)) | (1 << (frameQLParser.SLEEP - 818)) | (1 << (frameQLParser.SOUNDEX - 818)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 818)) | (1 << (frameQLParser.SQRT - 818)) | (1 << (frameQLParser.SRID - 818)) | (1 << (frameQLParser.STARTPOINT - 818)) | (1 << (frameQLParser.STRCMP - 818)) | (1 << (frameQLParser.STR_TO_DATE - 818)) | (1 << (frameQLParser.ST_AREA - 818)) | (1 << (frameQLParser.ST_ASBINARY - 818)) | (1 << (frameQLParser.ST_ASTEXT - 818)) | (1 << (frameQLParser.ST_ASWKB - 818)) | (1 << (frameQLParser.ST_ASWKT - 818)) | (1 << (frameQLParser.ST_BUFFER - 818)) | (1 << (frameQLParser.ST_CENTROID - 818)) | (1 << (frameQLParser.ST_CONTAINS - 818)) | (1 << (frameQLParser.ST_CROSSES - 818)) | (1 << (frameQLParser.ST_DIFFERENCE - 818)) | (1 << (frameQLParser.ST_DIMENSION - 818)) | (1 << (frameQLParser.ST_DISJOINT - 818)) | (1 << (frameQLParser.ST_DISTANCE - 818)) | (1 << (frameQLParser.ST_ENDPOINT - 818)) | (1 << (frameQLParser.ST_ENVELOPE - 818)) | (1 << (frameQLParser.ST_EQUALS - 818)) | (1 << (frameQLParser.ST_EXTERIORRING - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYN - 818)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 818)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 818)) | (1 << (frameQLParser.ST_INTERIORRINGN - 818)) | (1 << (frameQLParser.ST_INTERSECTION - 818)) | (1 << (frameQLParser.ST_INTERSECTS - 818)) | (1 << (frameQLParser.ST_ISCLOSED - 818)) | (1 << (frameQLParser.ST_ISEMPTY - 818)) | (1 << (frameQLParser.ST_ISSIMPLE - 818)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINEFROMWKB - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 818)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 818)) | (1 << (frameQLParser.ST_NUMPOINTS - 818)) | (1 << (frameQLParser.ST_OVERLAPS - 818)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 818)) | (1 << (frameQLParser.ST_POINTFROMWKB - 818)) | (1 << (frameQLParser.ST_POINTN - 818)))) != 0) or ((((_la - 882)) & ~0x3f) == 0 and ((1 << (_la - 882)) & ((1 << (frameQLParser.ST_POLYFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYFROMWKB - 882)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 882)) | (1 << (frameQLParser.ST_SRID - 882)) | (1 << (frameQLParser.ST_STARTPOINT - 882)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 882)) | (1 << (frameQLParser.ST_TOUCHES - 882)) | (1 << (frameQLParser.ST_UNION - 882)) | (1 << (frameQLParser.ST_WITHIN - 882)) | (1 << (frameQLParser.ST_X - 882)) | (1 << (frameQLParser.ST_Y - 882)) | (1 << (frameQLParser.SUBDATE - 882)) | (1 << (frameQLParser.SUBSTRING_INDEX - 882)) | (1 << (frameQLParser.SUBTIME - 882)) | (1 << (frameQLParser.SYSTEM_USER - 882)) | (1 << (frameQLParser.TAN - 882)) | (1 << (frameQLParser.TIMEDIFF - 882)) | (1 << (frameQLParser.TIMESTAMPADD - 882)) | (1 << (frameQLParser.TIMESTAMPDIFF - 882)) | (1 << (frameQLParser.TIME_FORMAT - 882)) | (1 << (frameQLParser.TIME_TO_SEC - 882)) | (1 << (frameQLParser.TOUCHES - 882)) | (1 << (frameQLParser.TO_BASE64 - 882)) | (1 << (frameQLParser.TO_DAYS - 882)) | (1 << (frameQLParser.TO_SECONDS - 882)) | (1 << (frameQLParser.UCASE - 882)) | (1 << (frameQLParser.UNCOMPRESS - 882)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 882)) | (1 << (frameQLParser.UNHEX - 882)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 882)) | (1 << (frameQLParser.UPDATEXML - 882)) | (1 << (frameQLParser.UPPER - 882)) | (1 << (frameQLParser.UUID - 882)) | (1 << (frameQLParser.UUID_SHORT - 882)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 882)) | (1 << (frameQLParser.VERSION - 882)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 882)) | (1 << (frameQLParser.WEEKDAY - 882)) | (1 << (frameQLParser.WEEKOFYEAR - 882)) | (1 << (frameQLParser.WEIGHT_STRING - 882)) | (1 << (frameQLParser.WITHIN - 882)) | (1 << (frameQLParser.YEARWEEK - 882)) | (1 << (frameQLParser.Y_FUNCTION - 882)) | (1 << (frameQLParser.X_FUNCTION - 882)))) != 0) or ((((_la - 953)) & ~0x3f) == 0 and ((1 << (_la - 953)) & ((1 << (frameQLParser.LR_BRACKET - 953)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 953)) | (1 << (frameQLParser.STRING_LITERAL - 953)) | (1 << (frameQLParser.ID - 953)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 953)))) != 0)): - break - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ElifAlternativeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ELSEIF(self): - return self.getToken(frameQLParser.ELSEIF, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def THEN(self): - return self.getToken(frameQLParser.THEN, 0) - - def procedureSqlStatement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ProcedureSqlStatementContext) - else: - return self.getTypedRuleContext(frameQLParser.ProcedureSqlStatementContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_elifAlternative - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterElifAlternative" ): - listener.enterElifAlternative(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitElifAlternative" ): - listener.exitElifAlternative(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitElifAlternative" ): - return visitor.visitElifAlternative(self) - else: - return visitor.visitChildren(self) - - - - - def elifAlternative(self): - - localctx = frameQLParser.ElifAlternativeContext(self, self._ctx, self.state) - self.enterRule(localctx, 382, self.RULE_elifAlternative) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4269 - self.match(frameQLParser.ELSEIF) - self.state = 4270 - self.expression(0) - self.state = 4271 - self.match(frameQLParser.THEN) - self.state = 4273 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4272 - self.procedureSqlStatement() - self.state = 4275 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 9)) & ~0x3f) == 0 and ((1 << (_la - 9)) & ((1 << (frameQLParser.ALTER - 9)) | (1 << (frameQLParser.ANALYZE - 9)) | (1 << (frameQLParser.CALL - 9)) | (1 << (frameQLParser.CASE - 9)) | (1 << (frameQLParser.CHANGE - 9)) | (1 << (frameQLParser.CHECK - 9)) | (1 << (frameQLParser.CREATE - 9)) | (1 << (frameQLParser.DATABASE - 9)) | (1 << (frameQLParser.DELETE - 9)) | (1 << (frameQLParser.DESC - 9)) | (1 << (frameQLParser.DESCRIBE - 9)) | (1 << (frameQLParser.DROP - 9)) | (1 << (frameQLParser.EXPLAIN - 9)) | (1 << (frameQLParser.FETCH - 9)) | (1 << (frameQLParser.GRANT - 9)) | (1 << (frameQLParser.IF - 9)))) != 0) or ((((_la - 75)) & ~0x3f) == 0 and ((1 << (_la - 75)) & ((1 << (frameQLParser.INSERT - 75)) | (1 << (frameQLParser.ITERATE - 75)) | (1 << (frameQLParser.KILL - 75)) | (1 << (frameQLParser.LEAVE - 75)) | (1 << (frameQLParser.LEFT - 75)) | (1 << (frameQLParser.LOAD - 75)) | (1 << (frameQLParser.LOCK - 75)) | (1 << (frameQLParser.LOOP - 75)) | (1 << (frameQLParser.OPTIMIZE - 75)) | (1 << (frameQLParser.PURGE - 75)) | (1 << (frameQLParser.RELEASE - 75)) | (1 << (frameQLParser.RENAME - 75)) | (1 << (frameQLParser.REPEAT - 75)) | (1 << (frameQLParser.REPLACE - 75)) | (1 << (frameQLParser.RETURN - 75)) | (1 << (frameQLParser.REVOKE - 75)) | (1 << (frameQLParser.RIGHT - 75)) | (1 << (frameQLParser.SELECT - 75)) | (1 << (frameQLParser.SET - 75)) | (1 << (frameQLParser.SHOW - 75)))) != 0) or ((((_la - 159)) & ~0x3f) == 0 and ((1 << (_la - 159)) & ((1 << (frameQLParser.UNLOCK - 159)) | (1 << (frameQLParser.UPDATE - 159)) | (1 << (frameQLParser.USE - 159)) | (1 << (frameQLParser.WHILE - 159)) | (1 << (frameQLParser.DATE - 159)) | (1 << (frameQLParser.TIME - 159)) | (1 << (frameQLParser.TIMESTAMP - 159)) | (1 << (frameQLParser.DATETIME - 159)) | (1 << (frameQLParser.YEAR - 159)) | (1 << (frameQLParser.TEXT - 159)) | (1 << (frameQLParser.ENUM - 159)) | (1 << (frameQLParser.SERIAL - 159)) | (1 << (frameQLParser.COUNT - 159)))) != 0) or ((((_la - 242)) & ~0x3f) == 0 and ((1 << (_la - 242)) & ((1 << (frameQLParser.POSITION - 242)) | (1 << (frameQLParser.ACCOUNT - 242)) | (1 << (frameQLParser.ACTION - 242)) | (1 << (frameQLParser.AFTER - 242)) | (1 << (frameQLParser.AGGREGATE - 242)) | (1 << (frameQLParser.ALGORITHM - 242)) | (1 << (frameQLParser.ANY - 242)) | (1 << (frameQLParser.AT - 242)) | (1 << (frameQLParser.AUTHORS - 242)) | (1 << (frameQLParser.AUTOCOMMIT - 242)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 242)) | (1 << (frameQLParser.AUTO_INCREMENT - 242)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 242)) | (1 << (frameQLParser.BEGIN - 242)) | (1 << (frameQLParser.BINLOG - 242)) | (1 << (frameQLParser.BIT - 242)) | (1 << (frameQLParser.BLOCK - 242)) | (1 << (frameQLParser.BOOL - 242)) | (1 << (frameQLParser.BOOLEAN - 242)) | (1 << (frameQLParser.BTREE - 242)) | (1 << (frameQLParser.CACHE - 242)) | (1 << (frameQLParser.CASCADED - 242)) | (1 << (frameQLParser.CHAIN - 242)) | (1 << (frameQLParser.CHANGED - 242)) | (1 << (frameQLParser.CHANNEL - 242)) | (1 << (frameQLParser.CHECKSUM - 242)) | (1 << (frameQLParser.CIPHER - 242)) | (1 << (frameQLParser.CLIENT - 242)) | (1 << (frameQLParser.CLOSE - 242)) | (1 << (frameQLParser.COALESCE - 242)) | (1 << (frameQLParser.CODE - 242)) | (1 << (frameQLParser.COLUMNS - 242)) | (1 << (frameQLParser.COLUMN_FORMAT - 242)) | (1 << (frameQLParser.COMMENT - 242)) | (1 << (frameQLParser.COMMIT - 242)) | (1 << (frameQLParser.COMPACT - 242)) | (1 << (frameQLParser.COMPLETION - 242)) | (1 << (frameQLParser.COMPRESSED - 242)) | (1 << (frameQLParser.COMPRESSION - 242)) | (1 << (frameQLParser.CONCURRENT - 242)) | (1 << (frameQLParser.CONNECTION - 242)) | (1 << (frameQLParser.CONSISTENT - 242)) | (1 << (frameQLParser.CONTAINS - 242)) | (1 << (frameQLParser.CONTEXT - 242)) | (1 << (frameQLParser.CONTRIBUTORS - 242)) | (1 << (frameQLParser.COPY - 242)) | (1 << (frameQLParser.CPU - 242)) | (1 << (frameQLParser.DATA - 242)) | (1 << (frameQLParser.DATAFILE - 242)) | (1 << (frameQLParser.DEALLOCATE - 242)) | (1 << (frameQLParser.DEFAULT_AUTH - 242)) | (1 << (frameQLParser.DEFINER - 242)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 242)) | (1 << (frameQLParser.DIRECTORY - 242)) | (1 << (frameQLParser.DISABLE - 242)) | (1 << (frameQLParser.DISCARD - 242)))) != 0) or ((((_la - 306)) & ~0x3f) == 0 and ((1 << (_la - 306)) & ((1 << (frameQLParser.DISK - 306)) | (1 << (frameQLParser.DO - 306)) | (1 << (frameQLParser.DUMPFILE - 306)) | (1 << (frameQLParser.DUPLICATE - 306)) | (1 << (frameQLParser.DYNAMIC - 306)) | (1 << (frameQLParser.ENABLE - 306)) | (1 << (frameQLParser.ENCRYPTION - 306)) | (1 << (frameQLParser.ENDS - 306)) | (1 << (frameQLParser.ENGINE - 306)) | (1 << (frameQLParser.ENGINES - 306)) | (1 << (frameQLParser.ERROR - 306)) | (1 << (frameQLParser.ERRORS - 306)) | (1 << (frameQLParser.ESCAPE - 306)) | (1 << (frameQLParser.EVEN - 306)) | (1 << (frameQLParser.EVENT - 306)) | (1 << (frameQLParser.EVENTS - 306)) | (1 << (frameQLParser.EVERY - 306)) | (1 << (frameQLParser.EXCHANGE - 306)) | (1 << (frameQLParser.EXCLUSIVE - 306)) | (1 << (frameQLParser.EXPIRE - 306)) | (1 << (frameQLParser.EXTENDED - 306)) | (1 << (frameQLParser.EXTENT_SIZE - 306)) | (1 << (frameQLParser.FAST - 306)) | (1 << (frameQLParser.FAULTS - 306)) | (1 << (frameQLParser.FIELDS - 306)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 306)) | (1 << (frameQLParser.FILTER - 306)) | (1 << (frameQLParser.FIRST - 306)) | (1 << (frameQLParser.FIXED - 306)) | (1 << (frameQLParser.FLUSH - 306)) | (1 << (frameQLParser.FOLLOWS - 306)) | (1 << (frameQLParser.FULL - 306)) | (1 << (frameQLParser.FUNCTION - 306)) | (1 << (frameQLParser.GLOBAL - 306)) | (1 << (frameQLParser.GRANTS - 306)) | (1 << (frameQLParser.GROUP_REPLICATION - 306)) | (1 << (frameQLParser.HANDLER - 306)) | (1 << (frameQLParser.HASH - 306)) | (1 << (frameQLParser.HELP - 306)) | (1 << (frameQLParser.HOST - 306)) | (1 << (frameQLParser.IDENTIFIED - 306)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 306)) | (1 << (frameQLParser.IMPORT - 306)) | (1 << (frameQLParser.INDEXES - 306)) | (1 << (frameQLParser.INITIAL_SIZE - 306)) | (1 << (frameQLParser.INPLACE - 306)) | (1 << (frameQLParser.INSERT_METHOD - 306)) | (1 << (frameQLParser.INSTALL - 306)) | (1 << (frameQLParser.INSTANCE - 306)) | (1 << (frameQLParser.INVOKER - 306)) | (1 << (frameQLParser.IO - 306)) | (1 << (frameQLParser.IO_THREAD - 306)) | (1 << (frameQLParser.IPC - 306)) | (1 << (frameQLParser.ISOLATION - 306)) | (1 << (frameQLParser.ISSUER - 306)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 306)) | (1 << (frameQLParser.LANGUAGE - 306)) | (1 << (frameQLParser.LAST - 306)))) != 0) or ((((_la - 370)) & ~0x3f) == 0 and ((1 << (_la - 370)) & ((1 << (frameQLParser.LEAVES - 370)) | (1 << (frameQLParser.LESS - 370)) | (1 << (frameQLParser.LEVEL - 370)) | (1 << (frameQLParser.LIST - 370)) | (1 << (frameQLParser.LOCAL - 370)) | (1 << (frameQLParser.LOGFILE - 370)) | (1 << (frameQLParser.LOGS - 370)) | (1 << (frameQLParser.MASTER - 370)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 370)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 370)) | (1 << (frameQLParser.MASTER_DELAY - 370)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 370)) | (1 << (frameQLParser.MASTER_HOST - 370)) | (1 << (frameQLParser.MASTER_LOG_FILE - 370)) | (1 << (frameQLParser.MASTER_LOG_POS - 370)) | (1 << (frameQLParser.MASTER_PASSWORD - 370)) | (1 << (frameQLParser.MASTER_PORT - 370)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 370)) | (1 << (frameQLParser.MASTER_SSL - 370)) | (1 << (frameQLParser.MASTER_SSL_CA - 370)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_CERT - 370)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 370)) | (1 << (frameQLParser.MASTER_SSL_CRL - 370)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 370)) | (1 << (frameQLParser.MASTER_SSL_KEY - 370)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 370)) | (1 << (frameQLParser.MASTER_USER - 370)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_ROWS - 370)) | (1 << (frameQLParser.MAX_SIZE - 370)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 370)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 370)) | (1 << (frameQLParser.MEDIUM - 370)) | (1 << (frameQLParser.MERGE - 370)) | (1 << (frameQLParser.MID - 370)) | (1 << (frameQLParser.MIGRATE - 370)) | (1 << (frameQLParser.MIN_ROWS - 370)) | (1 << (frameQLParser.MODIFY - 370)) | (1 << (frameQLParser.MUTEX - 370)) | (1 << (frameQLParser.MYSQL - 370)) | (1 << (frameQLParser.NAME - 370)) | (1 << (frameQLParser.NAMES - 370)) | (1 << (frameQLParser.NCHAR - 370)) | (1 << (frameQLParser.NEVER - 370)) | (1 << (frameQLParser.NO - 370)) | (1 << (frameQLParser.NODEGROUP - 370)) | (1 << (frameQLParser.NONE - 370)) | (1 << (frameQLParser.OFFLINE - 370)) | (1 << (frameQLParser.OFFSET - 370)) | (1 << (frameQLParser.OJ - 370)) | (1 << (frameQLParser.OLD_PASSWORD - 370)) | (1 << (frameQLParser.ONE - 370)) | (1 << (frameQLParser.ONLINE - 370)) | (1 << (frameQLParser.ONLY - 370)) | (1 << (frameQLParser.OPEN - 370)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 370)) | (1 << (frameQLParser.OPTIONS - 370)) | (1 << (frameQLParser.OWNER - 370)) | (1 << (frameQLParser.PACK_KEYS - 370)) | (1 << (frameQLParser.PAGE - 370)))) != 0) or ((((_la - 434)) & ~0x3f) == 0 and ((1 << (_la - 434)) & ((1 << (frameQLParser.PARSER - 434)) | (1 << (frameQLParser.PARTIAL - 434)) | (1 << (frameQLParser.PARTITIONING - 434)) | (1 << (frameQLParser.PARTITIONS - 434)) | (1 << (frameQLParser.PASSWORD - 434)) | (1 << (frameQLParser.PHASE - 434)) | (1 << (frameQLParser.PLUGIN_DIR - 434)) | (1 << (frameQLParser.PLUGINS - 434)) | (1 << (frameQLParser.PORT - 434)) | (1 << (frameQLParser.PRECEDES - 434)) | (1 << (frameQLParser.PREPARE - 434)) | (1 << (frameQLParser.PRESERVE - 434)) | (1 << (frameQLParser.PREV - 434)) | (1 << (frameQLParser.PROCESSLIST - 434)) | (1 << (frameQLParser.PROFILE - 434)) | (1 << (frameQLParser.PROFILES - 434)) | (1 << (frameQLParser.PROXY - 434)) | (1 << (frameQLParser.QUERY - 434)) | (1 << (frameQLParser.QUICK - 434)) | (1 << (frameQLParser.REBUILD - 434)) | (1 << (frameQLParser.RECOVER - 434)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 434)) | (1 << (frameQLParser.REDUNDANT - 434)) | (1 << (frameQLParser.RELAY_LOG_FILE - 434)) | (1 << (frameQLParser.RELAY_LOG_POS - 434)) | (1 << (frameQLParser.RELAYLOG - 434)) | (1 << (frameQLParser.REMOVE - 434)) | (1 << (frameQLParser.REORGANIZE - 434)) | (1 << (frameQLParser.REPAIR - 434)) | (1 << (frameQLParser.REPLICATE_DO_DB - 434)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 434)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 434)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 434)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 434)) | (1 << (frameQLParser.REPLICATION - 434)) | (1 << (frameQLParser.RESET - 434)) | (1 << (frameQLParser.RESUME - 434)) | (1 << (frameQLParser.RETURNS - 434)) | (1 << (frameQLParser.ROLLBACK - 434)) | (1 << (frameQLParser.ROLLUP - 434)) | (1 << (frameQLParser.ROTATE - 434)) | (1 << (frameQLParser.ROW - 434)) | (1 << (frameQLParser.ROWS - 434)) | (1 << (frameQLParser.ROW_FORMAT - 434)) | (1 << (frameQLParser.SAVEPOINT - 434)) | (1 << (frameQLParser.SCHEDULE - 434)) | (1 << (frameQLParser.SECURITY - 434)) | (1 << (frameQLParser.SERVER - 434)) | (1 << (frameQLParser.SESSION - 434)) | (1 << (frameQLParser.SHARE - 434)) | (1 << (frameQLParser.SHARED - 434)) | (1 << (frameQLParser.SIGNED - 434)) | (1 << (frameQLParser.SIMPLE - 434)) | (1 << (frameQLParser.SLAVE - 434)) | (1 << (frameQLParser.SNAPSHOT - 434)) | (1 << (frameQLParser.SOCKET - 434)) | (1 << (frameQLParser.SOME - 434)) | (1 << (frameQLParser.SOUNDS - 434)))) != 0) or ((((_la - 498)) & ~0x3f) == 0 and ((1 << (_la - 498)) & ((1 << (frameQLParser.SOURCE - 498)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 498)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 498)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 498)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 498)) | (1 << (frameQLParser.SQL_CACHE - 498)) | (1 << (frameQLParser.SQL_NO_CACHE - 498)) | (1 << (frameQLParser.SQL_THREAD - 498)) | (1 << (frameQLParser.START - 498)) | (1 << (frameQLParser.STARTS - 498)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 498)) | (1 << (frameQLParser.STATS_PERSISTENT - 498)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 498)) | (1 << (frameQLParser.STATUS - 498)) | (1 << (frameQLParser.STOP - 498)) | (1 << (frameQLParser.STORAGE - 498)) | (1 << (frameQLParser.STRING - 498)) | (1 << (frameQLParser.SUBJECT - 498)) | (1 << (frameQLParser.SUBPARTITION - 498)) | (1 << (frameQLParser.SUBPARTITIONS - 498)) | (1 << (frameQLParser.SUSPEND - 498)) | (1 << (frameQLParser.SWAPS - 498)) | (1 << (frameQLParser.SWITCHES - 498)) | (1 << (frameQLParser.TABLESPACE - 498)) | (1 << (frameQLParser.TEMPORARY - 498)) | (1 << (frameQLParser.TEMPTABLE - 498)) | (1 << (frameQLParser.THAN - 498)) | (1 << (frameQLParser.TRANSACTION - 498)) | (1 << (frameQLParser.TRUNCATE - 498)) | (1 << (frameQLParser.UNDEFINED - 498)) | (1 << (frameQLParser.UNDOFILE - 498)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 498)) | (1 << (frameQLParser.UNINSTALL - 498)) | (1 << (frameQLParser.UNKNOWN - 498)) | (1 << (frameQLParser.UPGRADE - 498)) | (1 << (frameQLParser.USER - 498)) | (1 << (frameQLParser.VALIDATION - 498)) | (1 << (frameQLParser.VALUE - 498)) | (1 << (frameQLParser.VARIABLES - 498)) | (1 << (frameQLParser.VIEW - 498)) | (1 << (frameQLParser.WAIT - 498)) | (1 << (frameQLParser.WARNINGS - 498)) | (1 << (frameQLParser.WITHOUT - 498)) | (1 << (frameQLParser.WORK - 498)) | (1 << (frameQLParser.WRAPPER - 498)) | (1 << (frameQLParser.X509 - 498)) | (1 << (frameQLParser.XA - 498)) | (1 << (frameQLParser.XML - 498)) | (1 << (frameQLParser.QUARTER - 498)) | (1 << (frameQLParser.MONTH - 498)) | (1 << (frameQLParser.DAY - 498)) | (1 << (frameQLParser.HOUR - 498)))) != 0) or ((((_la - 562)) & ~0x3f) == 0 and ((1 << (_la - 562)) & ((1 << (frameQLParser.MINUTE - 562)) | (1 << (frameQLParser.WEEK - 562)) | (1 << (frameQLParser.SECOND - 562)) | (1 << (frameQLParser.MICROSECOND - 562)) | (1 << (frameQLParser.TABLES - 562)) | (1 << (frameQLParser.ROUTINE - 562)) | (1 << (frameQLParser.EXECUTE - 562)) | (1 << (frameQLParser.FILE - 562)) | (1 << (frameQLParser.PROCESS - 562)) | (1 << (frameQLParser.RELOAD - 562)) | (1 << (frameQLParser.SHUTDOWN - 562)) | (1 << (frameQLParser.SUPER - 562)) | (1 << (frameQLParser.PRIVILEGES - 562)) | (1 << (frameQLParser.ARMSCII8 - 562)) | (1 << (frameQLParser.ASCII - 562)) | (1 << (frameQLParser.BIG5 - 562)) | (1 << (frameQLParser.CP1250 - 562)) | (1 << (frameQLParser.CP1251 - 562)) | (1 << (frameQLParser.CP1256 - 562)) | (1 << (frameQLParser.CP1257 - 562)) | (1 << (frameQLParser.CP850 - 562)) | (1 << (frameQLParser.CP852 - 562)) | (1 << (frameQLParser.CP866 - 562)) | (1 << (frameQLParser.CP932 - 562)) | (1 << (frameQLParser.DEC8 - 562)) | (1 << (frameQLParser.EUCJPMS - 562)) | (1 << (frameQLParser.EUCKR - 562)) | (1 << (frameQLParser.GB2312 - 562)) | (1 << (frameQLParser.GBK - 562)) | (1 << (frameQLParser.GEOSTD8 - 562)) | (1 << (frameQLParser.GREEK - 562)) | (1 << (frameQLParser.HEBREW - 562)) | (1 << (frameQLParser.HP8 - 562)) | (1 << (frameQLParser.KEYBCS2 - 562)) | (1 << (frameQLParser.KOI8R - 562)) | (1 << (frameQLParser.KOI8U - 562)) | (1 << (frameQLParser.LATIN1 - 562)) | (1 << (frameQLParser.LATIN2 - 562)) | (1 << (frameQLParser.LATIN5 - 562)) | (1 << (frameQLParser.LATIN7 - 562)) | (1 << (frameQLParser.MACCE - 562)) | (1 << (frameQLParser.MACROMAN - 562)) | (1 << (frameQLParser.SJIS - 562)) | (1 << (frameQLParser.SWE7 - 562)) | (1 << (frameQLParser.TIS620 - 562)) | (1 << (frameQLParser.UCS2 - 562)) | (1 << (frameQLParser.UJIS - 562)) | (1 << (frameQLParser.UTF16 - 562)) | (1 << (frameQLParser.UTF16LE - 562)) | (1 << (frameQLParser.UTF32 - 562)) | (1 << (frameQLParser.UTF8 - 562)) | (1 << (frameQLParser.UTF8MB3 - 562)) | (1 << (frameQLParser.UTF8MB4 - 562)) | (1 << (frameQLParser.ARCHIVE - 562)) | (1 << (frameQLParser.BLACKHOLE - 562)) | (1 << (frameQLParser.CSV - 562)) | (1 << (frameQLParser.FEDERATED - 562)) | (1 << (frameQLParser.INNODB - 562)) | (1 << (frameQLParser.MEMORY - 562)) | (1 << (frameQLParser.MRG_MYISAM - 562)) | (1 << (frameQLParser.MYISAM - 562)) | (1 << (frameQLParser.NDB - 562)) | (1 << (frameQLParser.NDBCLUSTER - 562)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 562)))) != 0) or ((((_la - 626)) & ~0x3f) == 0 and ((1 << (_la - 626)) & ((1 << (frameQLParser.REPEATABLE - 626)) | (1 << (frameQLParser.COMMITTED - 626)) | (1 << (frameQLParser.UNCOMMITTED - 626)) | (1 << (frameQLParser.SERIALIZABLE - 626)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 626)) | (1 << (frameQLParser.LINESTRING - 626)) | (1 << (frameQLParser.MULTILINESTRING - 626)) | (1 << (frameQLParser.MULTIPOINT - 626)) | (1 << (frameQLParser.MULTIPOLYGON - 626)) | (1 << (frameQLParser.POINT - 626)) | (1 << (frameQLParser.POLYGON - 626)) | (1 << (frameQLParser.ABS - 626)) | (1 << (frameQLParser.ACOS - 626)) | (1 << (frameQLParser.ADDDATE - 626)) | (1 << (frameQLParser.ADDTIME - 626)) | (1 << (frameQLParser.AES_DECRYPT - 626)) | (1 << (frameQLParser.AES_ENCRYPT - 626)) | (1 << (frameQLParser.AREA - 626)) | (1 << (frameQLParser.ASBINARY - 626)) | (1 << (frameQLParser.ASIN - 626)) | (1 << (frameQLParser.ASTEXT - 626)) | (1 << (frameQLParser.ASWKB - 626)) | (1 << (frameQLParser.ASWKT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 626)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 626)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 626)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 626)) | (1 << (frameQLParser.ATAN - 626)) | (1 << (frameQLParser.ATAN2 - 626)) | (1 << (frameQLParser.BENCHMARK - 626)) | (1 << (frameQLParser.BIN - 626)) | (1 << (frameQLParser.BIT_COUNT - 626)) | (1 << (frameQLParser.BIT_LENGTH - 626)) | (1 << (frameQLParser.BUFFER - 626)) | (1 << (frameQLParser.CEIL - 626)) | (1 << (frameQLParser.CEILING - 626)) | (1 << (frameQLParser.CENTROID - 626)) | (1 << (frameQLParser.CHARACTER_LENGTH - 626)) | (1 << (frameQLParser.CHARSET - 626)) | (1 << (frameQLParser.CHAR_LENGTH - 626)) | (1 << (frameQLParser.COERCIBILITY - 626)) | (1 << (frameQLParser.COLLATION - 626)) | (1 << (frameQLParser.COMPRESS - 626)) | (1 << (frameQLParser.CONCAT - 626)) | (1 << (frameQLParser.CONCAT_WS - 626)) | (1 << (frameQLParser.CONNECTION_ID - 626)) | (1 << (frameQLParser.CONV - 626)) | (1 << (frameQLParser.CONVERT_TZ - 626)) | (1 << (frameQLParser.COS - 626)) | (1 << (frameQLParser.COT - 626)) | (1 << (frameQLParser.CRC32 - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 626)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 626)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 626)) | (1 << (frameQLParser.CREATE_DIGEST - 626)) | (1 << (frameQLParser.CROSSES - 626)) | (1 << (frameQLParser.DATEDIFF - 626)) | (1 << (frameQLParser.DATE_FORMAT - 626)) | (1 << (frameQLParser.DAYNAME - 626)) | (1 << (frameQLParser.DAYOFMONTH - 626)) | (1 << (frameQLParser.DAYOFWEEK - 626)) | (1 << (frameQLParser.DAYOFYEAR - 626)) | (1 << (frameQLParser.DECODE - 626)))) != 0) or ((((_la - 690)) & ~0x3f) == 0 and ((1 << (_la - 690)) & ((1 << (frameQLParser.DEGREES - 690)) | (1 << (frameQLParser.DES_DECRYPT - 690)) | (1 << (frameQLParser.DES_ENCRYPT - 690)) | (1 << (frameQLParser.DIMENSION - 690)) | (1 << (frameQLParser.DISJOINT - 690)) | (1 << (frameQLParser.ELT - 690)) | (1 << (frameQLParser.ENCODE - 690)) | (1 << (frameQLParser.ENCRYPT - 690)) | (1 << (frameQLParser.ENDPOINT - 690)) | (1 << (frameQLParser.ENVELOPE - 690)) | (1 << (frameQLParser.EQUALS - 690)) | (1 << (frameQLParser.EXP - 690)) | (1 << (frameQLParser.EXPORT_SET - 690)) | (1 << (frameQLParser.EXTERIORRING - 690)) | (1 << (frameQLParser.EXTRACTVALUE - 690)) | (1 << (frameQLParser.FIELD - 690)) | (1 << (frameQLParser.FIND_IN_SET - 690)) | (1 << (frameQLParser.FLOOR - 690)) | (1 << (frameQLParser.FORMAT - 690)) | (1 << (frameQLParser.FOUND_ROWS - 690)) | (1 << (frameQLParser.FROM_BASE64 - 690)) | (1 << (frameQLParser.FROM_DAYS - 690)) | (1 << (frameQLParser.FROM_UNIXTIME - 690)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 690)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 690)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 690)) | (1 << (frameQLParser.GEOMETRYN - 690)) | (1 << (frameQLParser.GEOMETRYTYPE - 690)) | (1 << (frameQLParser.GEOMFROMTEXT - 690)) | (1 << (frameQLParser.GEOMFROMWKB - 690)) | (1 << (frameQLParser.GET_FORMAT - 690)) | (1 << (frameQLParser.GET_LOCK - 690)) | (1 << (frameQLParser.GLENGTH - 690)) | (1 << (frameQLParser.GREATEST - 690)) | (1 << (frameQLParser.GTID_SUBSET - 690)) | (1 << (frameQLParser.GTID_SUBTRACT - 690)) | (1 << (frameQLParser.HEX - 690)) | (1 << (frameQLParser.IFNULL - 690)) | (1 << (frameQLParser.INET6_ATON - 690)) | (1 << (frameQLParser.INET6_NTOA - 690)) | (1 << (frameQLParser.INET_ATON - 690)) | (1 << (frameQLParser.INET_NTOA - 690)) | (1 << (frameQLParser.INSTR - 690)) | (1 << (frameQLParser.INTERIORRINGN - 690)) | (1 << (frameQLParser.INTERSECTS - 690)) | (1 << (frameQLParser.ISCLOSED - 690)) | (1 << (frameQLParser.ISEMPTY - 690)) | (1 << (frameQLParser.ISNULL - 690)) | (1 << (frameQLParser.ISSIMPLE - 690)) | (1 << (frameQLParser.IS_FREE_LOCK - 690)) | (1 << (frameQLParser.IS_IPV4 - 690)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 690)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 690)) | (1 << (frameQLParser.IS_IPV6 - 690)) | (1 << (frameQLParser.IS_USED_LOCK - 690)) | (1 << (frameQLParser.LAST_INSERT_ID - 690)) | (1 << (frameQLParser.LCASE - 690)) | (1 << (frameQLParser.LEAST - 690)) | (1 << (frameQLParser.LENGTH - 690)) | (1 << (frameQLParser.LINEFROMTEXT - 690)) | (1 << (frameQLParser.LINEFROMWKB - 690)))) != 0) or ((((_la - 754)) & ~0x3f) == 0 and ((1 << (_la - 754)) & ((1 << (frameQLParser.LINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.LN - 754)) | (1 << (frameQLParser.LOAD_FILE - 754)) | (1 << (frameQLParser.LOCATE - 754)) | (1 << (frameQLParser.LOG - 754)) | (1 << (frameQLParser.LOG10 - 754)) | (1 << (frameQLParser.LOG2 - 754)) | (1 << (frameQLParser.LOWER - 754)) | (1 << (frameQLParser.LPAD - 754)) | (1 << (frameQLParser.LTRIM - 754)) | (1 << (frameQLParser.MAKEDATE - 754)) | (1 << (frameQLParser.MAKETIME - 754)) | (1 << (frameQLParser.MAKE_SET - 754)) | (1 << (frameQLParser.MASTER_POS_WAIT - 754)) | (1 << (frameQLParser.MBRCONTAINS - 754)) | (1 << (frameQLParser.MBRDISJOINT - 754)) | (1 << (frameQLParser.MBREQUAL - 754)) | (1 << (frameQLParser.MBRINTERSECTS - 754)) | (1 << (frameQLParser.MBROVERLAPS - 754)) | (1 << (frameQLParser.MBRTOUCHES - 754)) | (1 << (frameQLParser.MBRWITHIN - 754)) | (1 << (frameQLParser.MD5 - 754)) | (1 << (frameQLParser.MLINEFROMTEXT - 754)) | (1 << (frameQLParser.MLINEFROMWKB - 754)) | (1 << (frameQLParser.MONTHNAME - 754)) | (1 << (frameQLParser.MPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MPOINTFROMWKB - 754)) | (1 << (frameQLParser.MPOLYFROMTEXT - 754)) | (1 << (frameQLParser.MPOLYFROMWKB - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 754)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 754)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 754)) | (1 << (frameQLParser.NAME_CONST - 754)) | (1 << (frameQLParser.NULLIF - 754)) | (1 << (frameQLParser.NUMGEOMETRIES - 754)) | (1 << (frameQLParser.NUMINTERIORRINGS - 754)) | (1 << (frameQLParser.NUMPOINTS - 754)) | (1 << (frameQLParser.OCT - 754)) | (1 << (frameQLParser.OCTET_LENGTH - 754)) | (1 << (frameQLParser.ORD - 754)) | (1 << (frameQLParser.OVERLAPS - 754)) | (1 << (frameQLParser.PERIOD_ADD - 754)) | (1 << (frameQLParser.PERIOD_DIFF - 754)) | (1 << (frameQLParser.PI - 754)) | (1 << (frameQLParser.POINTFROMTEXT - 754)) | (1 << (frameQLParser.POINTFROMWKB - 754)) | (1 << (frameQLParser.POINTN - 754)) | (1 << (frameQLParser.POLYFROMTEXT - 754)) | (1 << (frameQLParser.POLYFROMWKB - 754)) | (1 << (frameQLParser.POLYGONFROMTEXT - 754)) | (1 << (frameQLParser.POLYGONFROMWKB - 754)) | (1 << (frameQLParser.POW - 754)) | (1 << (frameQLParser.POWER - 754)) | (1 << (frameQLParser.QUOTE - 754)) | (1 << (frameQLParser.RADIANS - 754)) | (1 << (frameQLParser.RAND - 754)) | (1 << (frameQLParser.RANDOM_BYTES - 754)) | (1 << (frameQLParser.RELEASE_LOCK - 754)) | (1 << (frameQLParser.REVERSE - 754)) | (1 << (frameQLParser.ROUND - 754)))) != 0) or ((((_la - 818)) & ~0x3f) == 0 and ((1 << (_la - 818)) & ((1 << (frameQLParser.ROW_COUNT - 818)) | (1 << (frameQLParser.RPAD - 818)) | (1 << (frameQLParser.RTRIM - 818)) | (1 << (frameQLParser.SEC_TO_TIME - 818)) | (1 << (frameQLParser.SESSION_USER - 818)) | (1 << (frameQLParser.SHA - 818)) | (1 << (frameQLParser.SHA1 - 818)) | (1 << (frameQLParser.SHA2 - 818)) | (1 << (frameQLParser.SIGN - 818)) | (1 << (frameQLParser.SIN - 818)) | (1 << (frameQLParser.SLEEP - 818)) | (1 << (frameQLParser.SOUNDEX - 818)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 818)) | (1 << (frameQLParser.SQRT - 818)) | (1 << (frameQLParser.SRID - 818)) | (1 << (frameQLParser.STARTPOINT - 818)) | (1 << (frameQLParser.STRCMP - 818)) | (1 << (frameQLParser.STR_TO_DATE - 818)) | (1 << (frameQLParser.ST_AREA - 818)) | (1 << (frameQLParser.ST_ASBINARY - 818)) | (1 << (frameQLParser.ST_ASTEXT - 818)) | (1 << (frameQLParser.ST_ASWKB - 818)) | (1 << (frameQLParser.ST_ASWKT - 818)) | (1 << (frameQLParser.ST_BUFFER - 818)) | (1 << (frameQLParser.ST_CENTROID - 818)) | (1 << (frameQLParser.ST_CONTAINS - 818)) | (1 << (frameQLParser.ST_CROSSES - 818)) | (1 << (frameQLParser.ST_DIFFERENCE - 818)) | (1 << (frameQLParser.ST_DIMENSION - 818)) | (1 << (frameQLParser.ST_DISJOINT - 818)) | (1 << (frameQLParser.ST_DISTANCE - 818)) | (1 << (frameQLParser.ST_ENDPOINT - 818)) | (1 << (frameQLParser.ST_ENVELOPE - 818)) | (1 << (frameQLParser.ST_EQUALS - 818)) | (1 << (frameQLParser.ST_EXTERIORRING - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 818)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 818)) | (1 << (frameQLParser.ST_GEOMETRYN - 818)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 818)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 818)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 818)) | (1 << (frameQLParser.ST_INTERIORRINGN - 818)) | (1 << (frameQLParser.ST_INTERSECTION - 818)) | (1 << (frameQLParser.ST_INTERSECTS - 818)) | (1 << (frameQLParser.ST_ISCLOSED - 818)) | (1 << (frameQLParser.ST_ISEMPTY - 818)) | (1 << (frameQLParser.ST_ISSIMPLE - 818)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINEFROMWKB - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 818)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 818)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 818)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 818)) | (1 << (frameQLParser.ST_NUMPOINTS - 818)) | (1 << (frameQLParser.ST_OVERLAPS - 818)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 818)) | (1 << (frameQLParser.ST_POINTFROMWKB - 818)) | (1 << (frameQLParser.ST_POINTN - 818)))) != 0) or ((((_la - 882)) & ~0x3f) == 0 and ((1 << (_la - 882)) & ((1 << (frameQLParser.ST_POLYFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYFROMWKB - 882)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 882)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 882)) | (1 << (frameQLParser.ST_SRID - 882)) | (1 << (frameQLParser.ST_STARTPOINT - 882)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 882)) | (1 << (frameQLParser.ST_TOUCHES - 882)) | (1 << (frameQLParser.ST_UNION - 882)) | (1 << (frameQLParser.ST_WITHIN - 882)) | (1 << (frameQLParser.ST_X - 882)) | (1 << (frameQLParser.ST_Y - 882)) | (1 << (frameQLParser.SUBDATE - 882)) | (1 << (frameQLParser.SUBSTRING_INDEX - 882)) | (1 << (frameQLParser.SUBTIME - 882)) | (1 << (frameQLParser.SYSTEM_USER - 882)) | (1 << (frameQLParser.TAN - 882)) | (1 << (frameQLParser.TIMEDIFF - 882)) | (1 << (frameQLParser.TIMESTAMPADD - 882)) | (1 << (frameQLParser.TIMESTAMPDIFF - 882)) | (1 << (frameQLParser.TIME_FORMAT - 882)) | (1 << (frameQLParser.TIME_TO_SEC - 882)) | (1 << (frameQLParser.TOUCHES - 882)) | (1 << (frameQLParser.TO_BASE64 - 882)) | (1 << (frameQLParser.TO_DAYS - 882)) | (1 << (frameQLParser.TO_SECONDS - 882)) | (1 << (frameQLParser.UCASE - 882)) | (1 << (frameQLParser.UNCOMPRESS - 882)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 882)) | (1 << (frameQLParser.UNHEX - 882)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 882)) | (1 << (frameQLParser.UPDATEXML - 882)) | (1 << (frameQLParser.UPPER - 882)) | (1 << (frameQLParser.UUID - 882)) | (1 << (frameQLParser.UUID_SHORT - 882)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 882)) | (1 << (frameQLParser.VERSION - 882)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 882)) | (1 << (frameQLParser.WEEKDAY - 882)) | (1 << (frameQLParser.WEEKOFYEAR - 882)) | (1 << (frameQLParser.WEIGHT_STRING - 882)) | (1 << (frameQLParser.WITHIN - 882)) | (1 << (frameQLParser.YEARWEEK - 882)) | (1 << (frameQLParser.Y_FUNCTION - 882)) | (1 << (frameQLParser.X_FUNCTION - 882)))) != 0) or ((((_la - 953)) & ~0x3f) == 0 and ((1 << (_la - 953)) & ((1 << (frameQLParser.LR_BRACKET - 953)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 953)) | (1 << (frameQLParser.STRING_LITERAL - 953)) | (1 << (frameQLParser.ID - 953)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 953)))) != 0)): - break - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class AlterUserContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_alterUser - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class AlterUserMysqlV56Context(AlterUserContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterUserContext - super().__init__(parser) - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - def USER(self): - return self.getToken(frameQLParser.USER, 0) - def userSpecification(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserSpecificationContext) - else: - return self.getTypedRuleContext(frameQLParser.UserSpecificationContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterUserMysqlV56" ): - listener.enterAlterUserMysqlV56(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterUserMysqlV56" ): - listener.exitAlterUserMysqlV56(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterUserMysqlV56" ): - return visitor.visitAlterUserMysqlV56(self) - else: - return visitor.visitChildren(self) - - - class AlterUserMysqlV57Context(AlterUserContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.AlterUserContext - super().__init__(parser) - self.tlsNone = None # Token - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - def USER(self): - return self.getToken(frameQLParser.USER, 0) - def userAuthOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserAuthOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.UserAuthOptionContext,i) - - def ifExists(self): - return self.getTypedRuleContext(frameQLParser.IfExistsContext,0) - - def REQUIRE(self): - return self.getToken(frameQLParser.REQUIRE, 0) - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - def userPasswordOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserPasswordOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.UserPasswordOptionContext,i) - - def userLockOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserLockOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.UserLockOptionContext,i) - - def tlsOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TlsOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.TlsOptionContext,i) - - def NONE(self): - return self.getToken(frameQLParser.NONE, 0) - def userResourceOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserResourceOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.UserResourceOptionContext,i) - - def AND(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.AND) - else: - return self.getToken(frameQLParser.AND, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterUserMysqlV57" ): - listener.enterAlterUserMysqlV57(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterUserMysqlV57" ): - listener.exitAlterUserMysqlV57(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAlterUserMysqlV57" ): - return visitor.visitAlterUserMysqlV57(self) - else: - return visitor.visitChildren(self) - - - - def alterUser(self): - - localctx = frameQLParser.AlterUserContext(self, self._ctx, self.state) - self.enterRule(localctx, 384, self.RULE_alterUser) - self._la = 0 # Token type - try: - self.state = 4331 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,622,self._ctx) - if la_ == 1: - localctx = frameQLParser.AlterUserMysqlV56Context(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 4277 - self.match(frameQLParser.ALTER) - self.state = 4278 - self.match(frameQLParser.USER) - self.state = 4279 - self.userSpecification() - self.state = 4284 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4280 - self.match(frameQLParser.COMMA) - self.state = 4281 - self.userSpecification() - self.state = 4286 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 2: - localctx = frameQLParser.AlterUserMysqlV57Context(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 4287 - self.match(frameQLParser.ALTER) - self.state = 4288 - self.match(frameQLParser.USER) - self.state = 4290 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 4289 - self.ifExists() - - - self.state = 4292 - self.userAuthOption() - self.state = 4297 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4293 - self.match(frameQLParser.COMMA) - self.state = 4294 - self.userAuthOption() - self.state = 4299 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 4314 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.REQUIRE: - self.state = 4300 - self.match(frameQLParser.REQUIRE) - self.state = 4312 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.NONE]: - self.state = 4301 - localctx.tlsNone = self.match(frameQLParser.NONE) - pass - elif token in [frameQLParser.SSL, frameQLParser.CIPHER, frameQLParser.ISSUER, frameQLParser.SUBJECT, frameQLParser.X509]: - self.state = 4302 - self.tlsOption() - self.state = 4309 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.AND or _la==frameQLParser.SSL or _la==frameQLParser.CIPHER or _la==frameQLParser.ISSUER or _la==frameQLParser.SUBJECT or _la==frameQLParser.X509: - self.state = 4304 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AND: - self.state = 4303 - self.match(frameQLParser.AND) - - - self.state = 4306 - self.tlsOption() - self.state = 4311 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - else: - raise NoViableAltException(self) - - - - self.state = 4322 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WITH: - self.state = 4316 - self.match(frameQLParser.WITH) - self.state = 4318 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4317 - self.userResourceOption() - self.state = 4320 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 398)) & ~0x3f) == 0 and ((1 << (_la - 398)) & ((1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 398)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 398)))) != 0)): - break - - - - self.state = 4328 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.ACCOUNT or _la==frameQLParser.PASSWORD: - self.state = 4326 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.PASSWORD]: - self.state = 4324 - self.userPasswordOption() - pass - elif token in [frameQLParser.ACCOUNT]: - self.state = 4325 - self.userLockOption() - pass - else: - raise NoViableAltException(self) - - self.state = 4330 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CreateUserContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_createUser - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class CreateUserMysqlV57Context(CreateUserContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.CreateUserContext - super().__init__(parser) - self.tlsNone = None # Token - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - def USER(self): - return self.getToken(frameQLParser.USER, 0) - def userAuthOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserAuthOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.UserAuthOptionContext,i) - - def ifNotExists(self): - return self.getTypedRuleContext(frameQLParser.IfNotExistsContext,0) - - def REQUIRE(self): - return self.getToken(frameQLParser.REQUIRE, 0) - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - def userPasswordOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserPasswordOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.UserPasswordOptionContext,i) - - def userLockOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserLockOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.UserLockOptionContext,i) - - def tlsOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TlsOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.TlsOptionContext,i) - - def NONE(self): - return self.getToken(frameQLParser.NONE, 0) - def userResourceOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserResourceOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.UserResourceOptionContext,i) - - def AND(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.AND) - else: - return self.getToken(frameQLParser.AND, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateUserMysqlV57" ): - listener.enterCreateUserMysqlV57(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateUserMysqlV57" ): - listener.exitCreateUserMysqlV57(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCreateUserMysqlV57" ): - return visitor.visitCreateUserMysqlV57(self) - else: - return visitor.visitChildren(self) - - - class CreateUserMysqlV56Context(CreateUserContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.CreateUserContext - super().__init__(parser) - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - def USER(self): - return self.getToken(frameQLParser.USER, 0) - def userAuthOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserAuthOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.UserAuthOptionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateUserMysqlV56" ): - listener.enterCreateUserMysqlV56(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateUserMysqlV56" ): - listener.exitCreateUserMysqlV56(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCreateUserMysqlV56" ): - return visitor.visitCreateUserMysqlV56(self) - else: - return visitor.visitChildren(self) - - - - def createUser(self): - - localctx = frameQLParser.CreateUserContext(self, self._ctx, self.state) - self.enterRule(localctx, 386, self.RULE_createUser) - self._la = 0 # Token type - try: - self.state = 4387 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,634,self._ctx) - if la_ == 1: - localctx = frameQLParser.CreateUserMysqlV56Context(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 4333 - self.match(frameQLParser.CREATE) - self.state = 4334 - self.match(frameQLParser.USER) - self.state = 4335 - self.userAuthOption() - self.state = 4340 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4336 - self.match(frameQLParser.COMMA) - self.state = 4337 - self.userAuthOption() - self.state = 4342 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 2: - localctx = frameQLParser.CreateUserMysqlV57Context(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 4343 - self.match(frameQLParser.CREATE) - self.state = 4344 - self.match(frameQLParser.USER) - self.state = 4346 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 4345 - self.ifNotExists() - - - self.state = 4348 - self.userAuthOption() - self.state = 4353 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4349 - self.match(frameQLParser.COMMA) - self.state = 4350 - self.userAuthOption() - self.state = 4355 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 4370 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.REQUIRE: - self.state = 4356 - self.match(frameQLParser.REQUIRE) - self.state = 4368 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.NONE]: - self.state = 4357 - localctx.tlsNone = self.match(frameQLParser.NONE) - pass - elif token in [frameQLParser.SSL, frameQLParser.CIPHER, frameQLParser.ISSUER, frameQLParser.SUBJECT, frameQLParser.X509]: - self.state = 4358 - self.tlsOption() - self.state = 4365 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.AND or _la==frameQLParser.SSL or _la==frameQLParser.CIPHER or _la==frameQLParser.ISSUER or _la==frameQLParser.SUBJECT or _la==frameQLParser.X509: - self.state = 4360 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AND: - self.state = 4359 - self.match(frameQLParser.AND) - - - self.state = 4362 - self.tlsOption() - self.state = 4367 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - else: - raise NoViableAltException(self) - - - - self.state = 4378 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WITH: - self.state = 4372 - self.match(frameQLParser.WITH) - self.state = 4374 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 4373 - self.userResourceOption() - self.state = 4376 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 398)) & ~0x3f) == 0 and ((1 << (_la - 398)) & ((1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 398)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 398)))) != 0)): - break - - - - self.state = 4384 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.ACCOUNT or _la==frameQLParser.PASSWORD: - self.state = 4382 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.PASSWORD]: - self.state = 4380 - self.userPasswordOption() - pass - elif token in [frameQLParser.ACCOUNT]: - self.state = 4381 - self.userLockOption() - pass - else: - raise NoViableAltException(self) - - self.state = 4386 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DropUserContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def USER(self): - return self.getToken(frameQLParser.USER, 0) - - def userName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserNameContext) - else: - return self.getTypedRuleContext(frameQLParser.UserNameContext,i) - - - def ifExists(self): - return self.getTypedRuleContext(frameQLParser.IfExistsContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_dropUser - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropUser" ): - listener.enterDropUser(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropUser" ): - listener.exitDropUser(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDropUser" ): - return visitor.visitDropUser(self) - else: - return visitor.visitChildren(self) - - - - - def dropUser(self): - - localctx = frameQLParser.DropUserContext(self, self._ctx, self.state) - self.enterRule(localctx, 388, self.RULE_dropUser) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4389 - self.match(frameQLParser.DROP) - self.state = 4390 - self.match(frameQLParser.USER) - self.state = 4392 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 4391 - self.ifExists() - - - self.state = 4394 - self.userName() - self.state = 4399 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4395 - self.match(frameQLParser.COMMA) - self.state = 4396 - self.userName() - self.state = 4401 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class GrantStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.privilegeObject = None # Token - self.tlsNone = None # Token - - def GRANT(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.GRANT) - else: - return self.getToken(frameQLParser.GRANT, i) - - def privelegeClause(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PrivelegeClauseContext) - else: - return self.getTypedRuleContext(frameQLParser.PrivelegeClauseContext,i) - - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - - def privilegeLevel(self): - return self.getTypedRuleContext(frameQLParser.PrivilegeLevelContext,0) - - - def TO(self): - return self.getToken(frameQLParser.TO, 0) - - def userAuthOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserAuthOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.UserAuthOptionContext,i) - - - def REQUIRE(self): - return self.getToken(frameQLParser.REQUIRE, 0) - - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def FUNCTION(self): - return self.getToken(frameQLParser.FUNCTION, 0) - - def PROCEDURE(self): - return self.getToken(frameQLParser.PROCEDURE, 0) - - def tlsOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TlsOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.TlsOptionContext,i) - - - def NONE(self): - return self.getToken(frameQLParser.NONE, 0) - - def OPTION(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.OPTION) - else: - return self.getToken(frameQLParser.OPTION, i) - - def userResourceOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserResourceOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.UserResourceOptionContext,i) - - - def AND(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.AND) - else: - return self.getToken(frameQLParser.AND, i) - - def getRuleIndex(self): - return frameQLParser.RULE_grantStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterGrantStatement" ): - listener.enterGrantStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitGrantStatement" ): - listener.exitGrantStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitGrantStatement" ): - return visitor.visitGrantStatement(self) - else: - return visitor.visitChildren(self) - - - - - def grantStatement(self): - - localctx = frameQLParser.GrantStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 390, self.RULE_grantStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4402 - self.match(frameQLParser.GRANT) - self.state = 4403 - self.privelegeClause() - self.state = 4408 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4404 - self.match(frameQLParser.COMMA) - self.state = 4405 - self.privelegeClause() - self.state = 4410 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 4411 - self.match(frameQLParser.ON) - self.state = 4413 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,638,self._ctx) - if la_ == 1: - self.state = 4412 - localctx.privilegeObject = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.PROCEDURE or _la==frameQLParser.TABLE or _la==frameQLParser.FUNCTION): - localctx.privilegeObject = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 4415 - self.privilegeLevel() - self.state = 4416 - self.match(frameQLParser.TO) - self.state = 4417 - self.userAuthOption() - self.state = 4422 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4418 - self.match(frameQLParser.COMMA) - self.state = 4419 - self.userAuthOption() - self.state = 4424 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 4439 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.REQUIRE: - self.state = 4425 - self.match(frameQLParser.REQUIRE) - self.state = 4437 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.NONE]: - self.state = 4426 - localctx.tlsNone = self.match(frameQLParser.NONE) - pass - elif token in [frameQLParser.SSL, frameQLParser.CIPHER, frameQLParser.ISSUER, frameQLParser.SUBJECT, frameQLParser.X509]: - self.state = 4427 - self.tlsOption() - self.state = 4434 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.AND or _la==frameQLParser.SSL or _la==frameQLParser.CIPHER or _la==frameQLParser.ISSUER or _la==frameQLParser.SUBJECT or _la==frameQLParser.X509: - self.state = 4429 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AND: - self.state = 4428 - self.match(frameQLParser.AND) - - - self.state = 4431 - self.tlsOption() - self.state = 4436 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - else: - raise NoViableAltException(self) - - - - self.state = 4450 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WITH: - self.state = 4441 - self.match(frameQLParser.WITH) - self.state = 4447 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.GRANT or ((((_la - 398)) & ~0x3f) == 0 and ((1 << (_la - 398)) & ((1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 398)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 398)))) != 0): - self.state = 4445 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.GRANT]: - self.state = 4442 - self.match(frameQLParser.GRANT) - self.state = 4443 - self.match(frameQLParser.OPTION) - pass - elif token in [frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS]: - self.state = 4444 - self.userResourceOption() - pass - else: - raise NoViableAltException(self) - - self.state = 4449 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class GrantProxyContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.fromFirst = None # UserNameContext - self.toFirst = None # UserNameContext - self._userName = None # UserNameContext - self.toOther = list() # of UserNameContexts - - def GRANT(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.GRANT) - else: - return self.getToken(frameQLParser.GRANT, i) - - def PROXY(self): - return self.getToken(frameQLParser.PROXY, 0) - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - - def TO(self): - return self.getToken(frameQLParser.TO, 0) - - def userName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserNameContext) - else: - return self.getTypedRuleContext(frameQLParser.UserNameContext,i) - - - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - - def OPTION(self): - return self.getToken(frameQLParser.OPTION, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_grantProxy - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterGrantProxy" ): - listener.enterGrantProxy(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitGrantProxy" ): - listener.exitGrantProxy(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitGrantProxy" ): - return visitor.visitGrantProxy(self) - else: - return visitor.visitChildren(self) - - - - - def grantProxy(self): - - localctx = frameQLParser.GrantProxyContext(self, self._ctx, self.state) - self.enterRule(localctx, 392, self.RULE_grantProxy) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4452 - self.match(frameQLParser.GRANT) - self.state = 4453 - self.match(frameQLParser.PROXY) - self.state = 4454 - self.match(frameQLParser.ON) - self.state = 4455 - localctx.fromFirst = self.userName() - self.state = 4456 - self.match(frameQLParser.TO) - self.state = 4457 - localctx.toFirst = self.userName() - self.state = 4462 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4458 - self.match(frameQLParser.COMMA) - self.state = 4459 - localctx._userName = self.userName() - localctx.toOther.append(localctx._userName) - self.state = 4464 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 4468 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WITH: - self.state = 4465 - self.match(frameQLParser.WITH) - self.state = 4466 - self.match(frameQLParser.GRANT) - self.state = 4467 - self.match(frameQLParser.OPTION) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RenameUserContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def RENAME(self): - return self.getToken(frameQLParser.RENAME, 0) - - def USER(self): - return self.getToken(frameQLParser.USER, 0) - - def renameUserClause(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.RenameUserClauseContext) - else: - return self.getTypedRuleContext(frameQLParser.RenameUserClauseContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_renameUser - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRenameUser" ): - listener.enterRenameUser(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRenameUser" ): - listener.exitRenameUser(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitRenameUser" ): - return visitor.visitRenameUser(self) - else: - return visitor.visitChildren(self) - - - - - def renameUser(self): - - localctx = frameQLParser.RenameUserContext(self, self._ctx, self.state) - self.enterRule(localctx, 394, self.RULE_renameUser) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4470 - self.match(frameQLParser.RENAME) - self.state = 4471 - self.match(frameQLParser.USER) - self.state = 4472 - self.renameUserClause() - self.state = 4477 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4473 - self.match(frameQLParser.COMMA) - self.state = 4474 - self.renameUserClause() - self.state = 4479 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RevokeStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_revokeStatement - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class DetailRevokeContext(RevokeStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.RevokeStatementContext - super().__init__(parser) - self.privilegeObject = None # Token - self.copyFrom(ctx) - - def REVOKE(self): - return self.getToken(frameQLParser.REVOKE, 0) - def privelegeClause(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PrivelegeClauseContext) - else: - return self.getTypedRuleContext(frameQLParser.PrivelegeClauseContext,i) - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - def privilegeLevel(self): - return self.getTypedRuleContext(frameQLParser.PrivilegeLevelContext,0) - - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - def userName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserNameContext) - else: - return self.getTypedRuleContext(frameQLParser.UserNameContext,i) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - def FUNCTION(self): - return self.getToken(frameQLParser.FUNCTION, 0) - def PROCEDURE(self): - return self.getToken(frameQLParser.PROCEDURE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDetailRevoke" ): - listener.enterDetailRevoke(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDetailRevoke" ): - listener.exitDetailRevoke(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDetailRevoke" ): - return visitor.visitDetailRevoke(self) - else: - return visitor.visitChildren(self) - - - class ShortRevokeContext(RevokeStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.RevokeStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def REVOKE(self): - return self.getToken(frameQLParser.REVOKE, 0) - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - def GRANT(self): - return self.getToken(frameQLParser.GRANT, 0) - def OPTION(self): - return self.getToken(frameQLParser.OPTION, 0) - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - def userName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserNameContext) - else: - return self.getTypedRuleContext(frameQLParser.UserNameContext,i) - - def PRIVILEGES(self): - return self.getToken(frameQLParser.PRIVILEGES, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShortRevoke" ): - listener.enterShortRevoke(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShortRevoke" ): - listener.exitShortRevoke(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShortRevoke" ): - return visitor.visitShortRevoke(self) - else: - return visitor.visitChildren(self) - - - - def revokeStatement(self): - - localctx = frameQLParser.RevokeStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 396, self.RULE_revokeStatement) - self._la = 0 # Token type - try: - self.state = 4520 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,655,self._ctx) - if la_ == 1: - localctx = frameQLParser.DetailRevokeContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 4480 - self.match(frameQLParser.REVOKE) - self.state = 4481 - self.privelegeClause() - self.state = 4486 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4482 - self.match(frameQLParser.COMMA) - self.state = 4483 - self.privelegeClause() - self.state = 4488 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 4489 - self.match(frameQLParser.ON) - self.state = 4491 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,651,self._ctx) - if la_ == 1: - self.state = 4490 - localctx.privilegeObject = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.PROCEDURE or _la==frameQLParser.TABLE or _la==frameQLParser.FUNCTION): - localctx.privilegeObject = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 4493 - self.privilegeLevel() - self.state = 4494 - self.match(frameQLParser.FROM) - self.state = 4495 - self.userName() - self.state = 4500 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4496 - self.match(frameQLParser.COMMA) - self.state = 4497 - self.userName() - self.state = 4502 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 2: - localctx = frameQLParser.ShortRevokeContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 4503 - self.match(frameQLParser.REVOKE) - self.state = 4504 - self.match(frameQLParser.ALL) - self.state = 4506 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PRIVILEGES: - self.state = 4505 - self.match(frameQLParser.PRIVILEGES) - - - self.state = 4508 - self.match(frameQLParser.COMMA) - self.state = 4509 - self.match(frameQLParser.GRANT) - self.state = 4510 - self.match(frameQLParser.OPTION) - self.state = 4511 - self.match(frameQLParser.FROM) - self.state = 4512 - self.userName() - self.state = 4517 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4513 - self.match(frameQLParser.COMMA) - self.state = 4514 - self.userName() - self.state = 4519 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RevokeProxyContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.onUser = None # UserNameContext - self.fromFirst = None # UserNameContext - self._userName = None # UserNameContext - self.fromOther = list() # of UserNameContexts - - def REVOKE(self): - return self.getToken(frameQLParser.REVOKE, 0) - - def PROXY(self): - return self.getToken(frameQLParser.PROXY, 0) - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - - def userName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserNameContext) - else: - return self.getTypedRuleContext(frameQLParser.UserNameContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_revokeProxy - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRevokeProxy" ): - listener.enterRevokeProxy(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRevokeProxy" ): - listener.exitRevokeProxy(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitRevokeProxy" ): - return visitor.visitRevokeProxy(self) - else: - return visitor.visitChildren(self) - - - - - def revokeProxy(self): - - localctx = frameQLParser.RevokeProxyContext(self, self._ctx, self.state) - self.enterRule(localctx, 398, self.RULE_revokeProxy) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4522 - self.match(frameQLParser.REVOKE) - self.state = 4523 - self.match(frameQLParser.PROXY) - self.state = 4524 - self.match(frameQLParser.ON) - self.state = 4525 - localctx.onUser = self.userName() - self.state = 4526 - self.match(frameQLParser.FROM) - self.state = 4527 - localctx.fromFirst = self.userName() - self.state = 4532 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4528 - self.match(frameQLParser.COMMA) - self.state = 4529 - localctx._userName = self.userName() - localctx.fromOther.append(localctx._userName) - self.state = 4534 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SetPasswordStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - - def PASSWORD(self): - return self.getToken(frameQLParser.PASSWORD, 0) - - def passwordFunctionClause(self): - return self.getTypedRuleContext(frameQLParser.PasswordFunctionClauseContext,0) - - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def userName(self): - return self.getTypedRuleContext(frameQLParser.UserNameContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_setPasswordStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetPasswordStatement" ): - listener.enterSetPasswordStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetPasswordStatement" ): - listener.exitSetPasswordStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSetPasswordStatement" ): - return visitor.visitSetPasswordStatement(self) - else: - return visitor.visitChildren(self) - - - - - def setPasswordStatement(self): - - localctx = frameQLParser.SetPasswordStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 400, self.RULE_setPasswordStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4535 - self.match(frameQLParser.SET) - self.state = 4536 - self.match(frameQLParser.PASSWORD) - self.state = 4539 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR: - self.state = 4537 - self.match(frameQLParser.FOR) - self.state = 4538 - self.userName() - - - self.state = 4541 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 4544 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.OLD_PASSWORD, frameQLParser.PASSWORD]: - self.state = 4542 - self.passwordFunctionClause() - pass - elif token in [frameQLParser.STRING_LITERAL]: - self.state = 4543 - self.match(frameQLParser.STRING_LITERAL) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class UserSpecificationContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def userName(self): - return self.getTypedRuleContext(frameQLParser.UserNameContext,0) - - - def userPasswordOption(self): - return self.getTypedRuleContext(frameQLParser.UserPasswordOptionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_userSpecification - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUserSpecification" ): - listener.enterUserSpecification(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUserSpecification" ): - listener.exitUserSpecification(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUserSpecification" ): - return visitor.visitUserSpecification(self) - else: - return visitor.visitChildren(self) - - - - - def userSpecification(self): - - localctx = frameQLParser.UserSpecificationContext(self, self._ctx, self.state) - self.enterRule(localctx, 402, self.RULE_userSpecification) - try: - self.enterOuterAlt(localctx, 1) - self.state = 4546 - self.userName() - self.state = 4547 - self.userPasswordOption() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class UserAuthOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_userAuthOption - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class SimpleAuthOptionContext(UserAuthOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.UserAuthOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def userName(self): - return self.getTypedRuleContext(frameQLParser.UserNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSimpleAuthOption" ): - listener.enterSimpleAuthOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSimpleAuthOption" ): - listener.exitSimpleAuthOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSimpleAuthOption" ): - return visitor.visitSimpleAuthOption(self) - else: - return visitor.visitChildren(self) - - - class PasswordAuthOptionContext(UserAuthOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.UserAuthOptionContext - super().__init__(parser) - self.hashed = None # Token - self.copyFrom(ctx) - - def userName(self): - return self.getTypedRuleContext(frameQLParser.UserNameContext,0) - - def IDENTIFIED(self): - return self.getToken(frameQLParser.IDENTIFIED, 0) - def BY(self): - return self.getToken(frameQLParser.BY, 0) - def PASSWORD(self): - return self.getToken(frameQLParser.PASSWORD, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPasswordAuthOption" ): - listener.enterPasswordAuthOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPasswordAuthOption" ): - listener.exitPasswordAuthOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPasswordAuthOption" ): - return visitor.visitPasswordAuthOption(self) - else: - return visitor.visitChildren(self) - - - class StringAuthOptionContext(UserAuthOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.UserAuthOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def userName(self): - return self.getTypedRuleContext(frameQLParser.UserNameContext,0) - - def IDENTIFIED(self): - return self.getToken(frameQLParser.IDENTIFIED, 0) - def BY(self): - return self.getToken(frameQLParser.BY, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - def authPlugin(self): - return self.getTypedRuleContext(frameQLParser.AuthPluginContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStringAuthOption" ): - listener.enterStringAuthOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStringAuthOption" ): - listener.exitStringAuthOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitStringAuthOption" ): - return visitor.visitStringAuthOption(self) - else: - return visitor.visitChildren(self) - - - class HashAuthOptionContext(UserAuthOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.UserAuthOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def userName(self): - return self.getTypedRuleContext(frameQLParser.UserNameContext,0) - - def IDENTIFIED(self): - return self.getToken(frameQLParser.IDENTIFIED, 0) - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - def authPlugin(self): - return self.getTypedRuleContext(frameQLParser.AuthPluginContext,0) - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHashAuthOption" ): - listener.enterHashAuthOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHashAuthOption" ): - listener.exitHashAuthOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitHashAuthOption" ): - return visitor.visitHashAuthOption(self) - else: - return visitor.visitChildren(self) - - - - def userAuthOption(self): - - localctx = frameQLParser.UserAuthOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 404, self.RULE_userAuthOption) - self._la = 0 # Token type - try: - self.state = 4573 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,661,self._ctx) - if la_ == 1: - localctx = frameQLParser.PasswordAuthOptionContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 4549 - self.userName() - self.state = 4550 - self.match(frameQLParser.IDENTIFIED) - self.state = 4551 - self.match(frameQLParser.BY) - self.state = 4552 - self.match(frameQLParser.PASSWORD) - self.state = 4553 - localctx.hashed = self.match(frameQLParser.STRING_LITERAL) - pass - - elif la_ == 2: - localctx = frameQLParser.StringAuthOptionContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 4555 - self.userName() - self.state = 4556 - self.match(frameQLParser.IDENTIFIED) - self.state = 4559 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WITH: - self.state = 4557 - self.match(frameQLParser.WITH) - self.state = 4558 - self.authPlugin() - - - self.state = 4561 - self.match(frameQLParser.BY) - self.state = 4562 - self.match(frameQLParser.STRING_LITERAL) - pass - - elif la_ == 3: - localctx = frameQLParser.HashAuthOptionContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 4564 - self.userName() - self.state = 4565 - self.match(frameQLParser.IDENTIFIED) - self.state = 4566 - self.match(frameQLParser.WITH) - self.state = 4567 - self.authPlugin() - self.state = 4570 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS: - self.state = 4568 - self.match(frameQLParser.AS) - self.state = 4569 - self.match(frameQLParser.STRING_LITERAL) - - - pass - - elif la_ == 4: - localctx = frameQLParser.SimpleAuthOptionContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 4572 - self.userName() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class TlsOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def SSL(self): - return self.getToken(frameQLParser.SSL, 0) - - def X509(self): - return self.getToken(frameQLParser.X509, 0) - - def CIPHER(self): - return self.getToken(frameQLParser.CIPHER, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def ISSUER(self): - return self.getToken(frameQLParser.ISSUER, 0) - - def SUBJECT(self): - return self.getToken(frameQLParser.SUBJECT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_tlsOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTlsOption" ): - listener.enterTlsOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTlsOption" ): - listener.exitTlsOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTlsOption" ): - return visitor.visitTlsOption(self) - else: - return visitor.visitChildren(self) - - - - - def tlsOption(self): - - localctx = frameQLParser.TlsOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 406, self.RULE_tlsOption) - try: - self.state = 4583 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.SSL]: - self.enterOuterAlt(localctx, 1) - self.state = 4575 - self.match(frameQLParser.SSL) - pass - elif token in [frameQLParser.X509]: - self.enterOuterAlt(localctx, 2) - self.state = 4576 - self.match(frameQLParser.X509) - pass - elif token in [frameQLParser.CIPHER]: - self.enterOuterAlt(localctx, 3) - self.state = 4577 - self.match(frameQLParser.CIPHER) - self.state = 4578 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.ISSUER]: - self.enterOuterAlt(localctx, 4) - self.state = 4579 - self.match(frameQLParser.ISSUER) - self.state = 4580 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.SUBJECT]: - self.enterOuterAlt(localctx, 5) - self.state = 4581 - self.match(frameQLParser.SUBJECT) - self.state = 4582 - self.match(frameQLParser.STRING_LITERAL) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class UserResourceOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def MAX_QUERIES_PER_HOUR(self): - return self.getToken(frameQLParser.MAX_QUERIES_PER_HOUR, 0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def MAX_UPDATES_PER_HOUR(self): - return self.getToken(frameQLParser.MAX_UPDATES_PER_HOUR, 0) - - def MAX_CONNECTIONS_PER_HOUR(self): - return self.getToken(frameQLParser.MAX_CONNECTIONS_PER_HOUR, 0) - - def MAX_USER_CONNECTIONS(self): - return self.getToken(frameQLParser.MAX_USER_CONNECTIONS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_userResourceOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUserResourceOption" ): - listener.enterUserResourceOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUserResourceOption" ): - listener.exitUserResourceOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUserResourceOption" ): - return visitor.visitUserResourceOption(self) - else: - return visitor.visitChildren(self) - - - - - def userResourceOption(self): - - localctx = frameQLParser.UserResourceOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 408, self.RULE_userResourceOption) - try: - self.state = 4593 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.MAX_QUERIES_PER_HOUR]: - self.enterOuterAlt(localctx, 1) - self.state = 4585 - self.match(frameQLParser.MAX_QUERIES_PER_HOUR) - self.state = 4586 - self.decimalLiteral() - pass - elif token in [frameQLParser.MAX_UPDATES_PER_HOUR]: - self.enterOuterAlt(localctx, 2) - self.state = 4587 - self.match(frameQLParser.MAX_UPDATES_PER_HOUR) - self.state = 4588 - self.decimalLiteral() - pass - elif token in [frameQLParser.MAX_CONNECTIONS_PER_HOUR]: - self.enterOuterAlt(localctx, 3) - self.state = 4589 - self.match(frameQLParser.MAX_CONNECTIONS_PER_HOUR) - self.state = 4590 - self.decimalLiteral() - pass - elif token in [frameQLParser.MAX_USER_CONNECTIONS]: - self.enterOuterAlt(localctx, 4) - self.state = 4591 - self.match(frameQLParser.MAX_USER_CONNECTIONS) - self.state = 4592 - self.decimalLiteral() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class UserPasswordOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.expireType = None # Token - - def PASSWORD(self): - return self.getToken(frameQLParser.PASSWORD, 0) - - def EXPIRE(self): - return self.getToken(frameQLParser.EXPIRE, 0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def DAY(self): - return self.getToken(frameQLParser.DAY, 0) - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def NEVER(self): - return self.getToken(frameQLParser.NEVER, 0) - - def INTERVAL(self): - return self.getToken(frameQLParser.INTERVAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_userPasswordOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUserPasswordOption" ): - listener.enterUserPasswordOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUserPasswordOption" ): - listener.exitUserPasswordOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUserPasswordOption" ): - return visitor.visitUserPasswordOption(self) - else: - return visitor.visitChildren(self) - - - - - def userPasswordOption(self): - - localctx = frameQLParser.UserPasswordOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 410, self.RULE_userPasswordOption) - try: - self.enterOuterAlt(localctx, 1) - self.state = 4595 - self.match(frameQLParser.PASSWORD) - self.state = 4596 - self.match(frameQLParser.EXPIRE) - self.state = 4603 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DEFAULT]: - self.state = 4597 - localctx.expireType = self.match(frameQLParser.DEFAULT) - pass - elif token in [frameQLParser.NEVER]: - self.state = 4598 - localctx.expireType = self.match(frameQLParser.NEVER) - pass - elif token in [frameQLParser.INTERVAL]: - self.state = 4599 - localctx.expireType = self.match(frameQLParser.INTERVAL) - self.state = 4600 - self.decimalLiteral() - self.state = 4601 - self.match(frameQLParser.DAY) - pass - elif token in [frameQLParser.EOF, frameQLParser.ACCOUNT, frameQLParser.PASSWORD, frameQLParser.MINUSMINUS, frameQLParser.COMMA, frameQLParser.SEMI]: - pass - else: - pass - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class UserLockOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.lockType = None # Token - - def ACCOUNT(self): - return self.getToken(frameQLParser.ACCOUNT, 0) - - def LOCK(self): - return self.getToken(frameQLParser.LOCK, 0) - - def UNLOCK(self): - return self.getToken(frameQLParser.UNLOCK, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_userLockOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUserLockOption" ): - listener.enterUserLockOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUserLockOption" ): - listener.exitUserLockOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUserLockOption" ): - return visitor.visitUserLockOption(self) - else: - return visitor.visitChildren(self) - - - - - def userLockOption(self): - - localctx = frameQLParser.UserLockOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 412, self.RULE_userLockOption) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4605 - self.match(frameQLParser.ACCOUNT) - self.state = 4606 - localctx.lockType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.LOCK or _la==frameQLParser.UNLOCK): - localctx.lockType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class PrivelegeClauseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def privilege(self): - return self.getTypedRuleContext(frameQLParser.PrivilegeContext,0) - - - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_privelegeClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPrivelegeClause" ): - listener.enterPrivelegeClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPrivelegeClause" ): - listener.exitPrivelegeClause(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPrivelegeClause" ): - return visitor.visitPrivelegeClause(self) - else: - return visitor.visitChildren(self) - - - - - def privelegeClause(self): - - localctx = frameQLParser.PrivelegeClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 414, self.RULE_privelegeClause) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4608 - self.privilege() - self.state = 4613 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 4609 - self.match(frameQLParser.LR_BRACKET) - self.state = 4610 - self.uidList() - self.state = 4611 - self.match(frameQLParser.RR_BRACKET) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class PrivilegeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def PRIVILEGES(self): - return self.getToken(frameQLParser.PRIVILEGES, 0) - - def ALTER(self): - return self.getToken(frameQLParser.ALTER, 0) - - def ROUTINE(self): - return self.getToken(frameQLParser.ROUTINE, 0) - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def TEMPORARY(self): - return self.getToken(frameQLParser.TEMPORARY, 0) - - def TABLES(self): - return self.getToken(frameQLParser.TABLES, 0) - - def VIEW(self): - return self.getToken(frameQLParser.VIEW, 0) - - def USER(self): - return self.getToken(frameQLParser.USER, 0) - - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - - def DELETE(self): - return self.getToken(frameQLParser.DELETE, 0) - - def DROP(self): - return self.getToken(frameQLParser.DROP, 0) - - def EVENT(self): - return self.getToken(frameQLParser.EVENT, 0) - - def EXECUTE(self): - return self.getToken(frameQLParser.EXECUTE, 0) - - def FILE(self): - return self.getToken(frameQLParser.FILE, 0) - - def GRANT(self): - return self.getToken(frameQLParser.GRANT, 0) - - def OPTION(self): - return self.getToken(frameQLParser.OPTION, 0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - - def INSERT(self): - return self.getToken(frameQLParser.INSERT, 0) - - def LOCK(self): - return self.getToken(frameQLParser.LOCK, 0) - - def PROCESS(self): - return self.getToken(frameQLParser.PROCESS, 0) - - def PROXY(self): - return self.getToken(frameQLParser.PROXY, 0) - - def REFERENCES(self): - return self.getToken(frameQLParser.REFERENCES, 0) - - def RELOAD(self): - return self.getToken(frameQLParser.RELOAD, 0) - - def REPLICATION(self): - return self.getToken(frameQLParser.REPLICATION, 0) - - def CLIENT(self): - return self.getToken(frameQLParser.CLIENT, 0) - - def SLAVE(self): - return self.getToken(frameQLParser.SLAVE, 0) - - def SELECT(self): - return self.getToken(frameQLParser.SELECT, 0) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - - def DATABASES(self): - return self.getToken(frameQLParser.DATABASES, 0) - - def SHUTDOWN(self): - return self.getToken(frameQLParser.SHUTDOWN, 0) - - def SUPER(self): - return self.getToken(frameQLParser.SUPER, 0) - - def TRIGGER(self): - return self.getToken(frameQLParser.TRIGGER, 0) - - def UPDATE(self): - return self.getToken(frameQLParser.UPDATE, 0) - - def USAGE(self): - return self.getToken(frameQLParser.USAGE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_privilege - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPrivilege" ): - listener.enterPrivilege(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPrivilege" ): - listener.exitPrivilege(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPrivilege" ): - return visitor.visitPrivilege(self) - else: - return visitor.visitChildren(self) - - - - - def privilege(self): - - localctx = frameQLParser.PrivilegeContext(self, self._ctx, self.state) - self.enterRule(localctx, 416, self.RULE_privilege) - self._la = 0 # Token type - try: - self.state = 4657 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ALL]: - self.enterOuterAlt(localctx, 1) - self.state = 4615 - self.match(frameQLParser.ALL) - self.state = 4617 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PRIVILEGES: - self.state = 4616 - self.match(frameQLParser.PRIVILEGES) - - - pass - elif token in [frameQLParser.ALTER]: - self.enterOuterAlt(localctx, 2) - self.state = 4619 - self.match(frameQLParser.ALTER) - self.state = 4621 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ROUTINE: - self.state = 4620 - self.match(frameQLParser.ROUTINE) - - - pass - elif token in [frameQLParser.CREATE]: - self.enterOuterAlt(localctx, 3) - self.state = 4623 - self.match(frameQLParser.CREATE) - self.state = 4630 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.TEMPORARY]: - self.state = 4624 - self.match(frameQLParser.TEMPORARY) - self.state = 4625 - self.match(frameQLParser.TABLES) - pass - elif token in [frameQLParser.ROUTINE]: - self.state = 4626 - self.match(frameQLParser.ROUTINE) - pass - elif token in [frameQLParser.VIEW]: - self.state = 4627 - self.match(frameQLParser.VIEW) - pass - elif token in [frameQLParser.USER]: - self.state = 4628 - self.match(frameQLParser.USER) - pass - elif token in [frameQLParser.TABLESPACE]: - self.state = 4629 - self.match(frameQLParser.TABLESPACE) - pass - elif token in [frameQLParser.ON, frameQLParser.LR_BRACKET, frameQLParser.COMMA]: - pass - else: - pass - pass - elif token in [frameQLParser.DELETE]: - self.enterOuterAlt(localctx, 4) - self.state = 4632 - self.match(frameQLParser.DELETE) - pass - elif token in [frameQLParser.DROP]: - self.enterOuterAlt(localctx, 5) - self.state = 4633 - self.match(frameQLParser.DROP) - pass - elif token in [frameQLParser.EVENT]: - self.enterOuterAlt(localctx, 6) - self.state = 4634 - self.match(frameQLParser.EVENT) - pass - elif token in [frameQLParser.EXECUTE]: - self.enterOuterAlt(localctx, 7) - self.state = 4635 - self.match(frameQLParser.EXECUTE) - pass - elif token in [frameQLParser.FILE]: - self.enterOuterAlt(localctx, 8) - self.state = 4636 - self.match(frameQLParser.FILE) - pass - elif token in [frameQLParser.GRANT]: - self.enterOuterAlt(localctx, 9) - self.state = 4637 - self.match(frameQLParser.GRANT) - self.state = 4638 - self.match(frameQLParser.OPTION) - pass - elif token in [frameQLParser.INDEX]: - self.enterOuterAlt(localctx, 10) - self.state = 4639 - self.match(frameQLParser.INDEX) - pass - elif token in [frameQLParser.INSERT]: - self.enterOuterAlt(localctx, 11) - self.state = 4640 - self.match(frameQLParser.INSERT) - pass - elif token in [frameQLParser.LOCK]: - self.enterOuterAlt(localctx, 12) - self.state = 4641 - self.match(frameQLParser.LOCK) - self.state = 4642 - self.match(frameQLParser.TABLES) - pass - elif token in [frameQLParser.PROCESS]: - self.enterOuterAlt(localctx, 13) - self.state = 4643 - self.match(frameQLParser.PROCESS) - pass - elif token in [frameQLParser.PROXY]: - self.enterOuterAlt(localctx, 14) - self.state = 4644 - self.match(frameQLParser.PROXY) - pass - elif token in [frameQLParser.REFERENCES]: - self.enterOuterAlt(localctx, 15) - self.state = 4645 - self.match(frameQLParser.REFERENCES) - pass - elif token in [frameQLParser.RELOAD]: - self.enterOuterAlt(localctx, 16) - self.state = 4646 - self.match(frameQLParser.RELOAD) - pass - elif token in [frameQLParser.REPLICATION]: - self.enterOuterAlt(localctx, 17) - self.state = 4647 - self.match(frameQLParser.REPLICATION) - self.state = 4648 - _la = self._input.LA(1) - if not(_la==frameQLParser.CLIENT or _la==frameQLParser.SLAVE): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - elif token in [frameQLParser.SELECT]: - self.enterOuterAlt(localctx, 18) - self.state = 4649 - self.match(frameQLParser.SELECT) - pass - elif token in [frameQLParser.SHOW]: - self.enterOuterAlt(localctx, 19) - self.state = 4650 - self.match(frameQLParser.SHOW) - self.state = 4651 - _la = self._input.LA(1) - if not(_la==frameQLParser.DATABASES or _la==frameQLParser.VIEW): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - elif token in [frameQLParser.SHUTDOWN]: - self.enterOuterAlt(localctx, 20) - self.state = 4652 - self.match(frameQLParser.SHUTDOWN) - pass - elif token in [frameQLParser.SUPER]: - self.enterOuterAlt(localctx, 21) - self.state = 4653 - self.match(frameQLParser.SUPER) - pass - elif token in [frameQLParser.TRIGGER]: - self.enterOuterAlt(localctx, 22) - self.state = 4654 - self.match(frameQLParser.TRIGGER) - pass - elif token in [frameQLParser.UPDATE]: - self.enterOuterAlt(localctx, 23) - self.state = 4655 - self.match(frameQLParser.UPDATE) - pass - elif token in [frameQLParser.USAGE]: - self.enterOuterAlt(localctx, 24) - self.state = 4656 - self.match(frameQLParser.USAGE) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class PrivilegeLevelContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_privilegeLevel - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class DefiniteSchemaPrivLevelContext(PrivilegeLevelContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PrivilegeLevelContext - super().__init__(parser) - self.copyFrom(ctx) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDefiniteSchemaPrivLevel" ): - listener.enterDefiniteSchemaPrivLevel(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDefiniteSchemaPrivLevel" ): - listener.exitDefiniteSchemaPrivLevel(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDefiniteSchemaPrivLevel" ): - return visitor.visitDefiniteSchemaPrivLevel(self) - else: - return visitor.visitChildren(self) - - - class DefiniteFullTablePrivLevelContext(PrivilegeLevelContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PrivilegeLevelContext - super().__init__(parser) - self.copyFrom(ctx) - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDefiniteFullTablePrivLevel" ): - listener.enterDefiniteFullTablePrivLevel(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDefiniteFullTablePrivLevel" ): - listener.exitDefiniteFullTablePrivLevel(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDefiniteFullTablePrivLevel" ): - return visitor.visitDefiniteFullTablePrivLevel(self) - else: - return visitor.visitChildren(self) - - - class GlobalPrivLevelContext(PrivilegeLevelContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PrivilegeLevelContext - super().__init__(parser) - self.copyFrom(ctx) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterGlobalPrivLevel" ): - listener.enterGlobalPrivLevel(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitGlobalPrivLevel" ): - listener.exitGlobalPrivLevel(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitGlobalPrivLevel" ): - return visitor.visitGlobalPrivLevel(self) - else: - return visitor.visitChildren(self) - - - class DefiniteTablePrivLevelContext(PrivilegeLevelContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PrivilegeLevelContext - super().__init__(parser) - self.copyFrom(ctx) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDefiniteTablePrivLevel" ): - listener.enterDefiniteTablePrivLevel(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDefiniteTablePrivLevel" ): - listener.exitDefiniteTablePrivLevel(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDefiniteTablePrivLevel" ): - return visitor.visitDefiniteTablePrivLevel(self) - else: - return visitor.visitChildren(self) - - - class CurrentSchemaPriviLevelContext(PrivilegeLevelContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PrivilegeLevelContext - super().__init__(parser) - self.copyFrom(ctx) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCurrentSchemaPriviLevel" ): - listener.enterCurrentSchemaPriviLevel(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCurrentSchemaPriviLevel" ): - listener.exitCurrentSchemaPriviLevel(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCurrentSchemaPriviLevel" ): - return visitor.visitCurrentSchemaPriviLevel(self) - else: - return visitor.visitChildren(self) - - - - def privilegeLevel(self): - - localctx = frameQLParser.PrivilegeLevelContext(self, self._ctx, self.state) - self.enterRule(localctx, 418, self.RULE_privilegeLevel) - try: - self.state = 4672 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,670,self._ctx) - if la_ == 1: - localctx = frameQLParser.CurrentSchemaPriviLevelContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 4659 - self.match(frameQLParser.STAR) - pass - - elif la_ == 2: - localctx = frameQLParser.GlobalPrivLevelContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 4660 - self.match(frameQLParser.STAR) - self.state = 4661 - self.match(frameQLParser.DOT) - self.state = 4662 - self.match(frameQLParser.STAR) - pass - - elif la_ == 3: - localctx = frameQLParser.DefiniteSchemaPrivLevelContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 4663 - self.uid() - self.state = 4664 - self.match(frameQLParser.DOT) - self.state = 4665 - self.match(frameQLParser.STAR) - pass - - elif la_ == 4: - localctx = frameQLParser.DefiniteFullTablePrivLevelContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 4667 - self.uid() - self.state = 4668 - self.match(frameQLParser.DOT) - self.state = 4669 - self.uid() - pass - - elif la_ == 5: - localctx = frameQLParser.DefiniteTablePrivLevelContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 4671 - self.uid() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RenameUserClauseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.fromFirst = None # UserNameContext - self.toFirst = None # UserNameContext - - def TO(self): - return self.getToken(frameQLParser.TO, 0) - - def userName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UserNameContext) - else: - return self.getTypedRuleContext(frameQLParser.UserNameContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_renameUserClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRenameUserClause" ): - listener.enterRenameUserClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRenameUserClause" ): - listener.exitRenameUserClause(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitRenameUserClause" ): - return visitor.visitRenameUserClause(self) - else: - return visitor.visitChildren(self) - - - - - def renameUserClause(self): - - localctx = frameQLParser.RenameUserClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 420, self.RULE_renameUserClause) - try: - self.enterOuterAlt(localctx, 1) - self.state = 4674 - localctx.fromFirst = self.userName() - self.state = 4675 - self.match(frameQLParser.TO) - self.state = 4676 - localctx.toFirst = self.userName() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class AnalyzeTableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.actionOption = None # Token - - def ANALYZE(self): - return self.getToken(frameQLParser.ANALYZE, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def tables(self): - return self.getTypedRuleContext(frameQLParser.TablesContext,0) - - - def NO_WRITE_TO_BINLOG(self): - return self.getToken(frameQLParser.NO_WRITE_TO_BINLOG, 0) - - def LOCAL(self): - return self.getToken(frameQLParser.LOCAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_analyzeTable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAnalyzeTable" ): - listener.enterAnalyzeTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAnalyzeTable" ): - listener.exitAnalyzeTable(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAnalyzeTable" ): - return visitor.visitAnalyzeTable(self) - else: - return visitor.visitChildren(self) - - - - - def analyzeTable(self): - - localctx = frameQLParser.AnalyzeTableContext(self, self._ctx, self.state) - self.enterRule(localctx, 422, self.RULE_analyzeTable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4678 - self.match(frameQLParser.ANALYZE) - self.state = 4680 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NO_WRITE_TO_BINLOG or _la==frameQLParser.LOCAL: - self.state = 4679 - localctx.actionOption = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.NO_WRITE_TO_BINLOG or _la==frameQLParser.LOCAL): - localctx.actionOption = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 4682 - self.match(frameQLParser.TABLE) - self.state = 4683 - self.tables() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CheckTableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CHECK(self): - return self.getToken(frameQLParser.CHECK, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def tables(self): - return self.getTypedRuleContext(frameQLParser.TablesContext,0) - - - def checkTableOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.CheckTableOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.CheckTableOptionContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_checkTable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCheckTable" ): - listener.enterCheckTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCheckTable" ): - listener.exitCheckTable(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCheckTable" ): - return visitor.visitCheckTable(self) - else: - return visitor.visitChildren(self) - - - - - def checkTable(self): - - localctx = frameQLParser.CheckTableContext(self, self._ctx, self.state) - self.enterRule(localctx, 424, self.RULE_checkTable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4685 - self.match(frameQLParser.CHECK) - self.state = 4686 - self.match(frameQLParser.TABLE) - self.state = 4687 - self.tables() - self.state = 4691 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.FOR or ((((_la - 272)) & ~0x3f) == 0 and ((1 << (_la - 272)) & ((1 << (frameQLParser.CHANGED - 272)) | (1 << (frameQLParser.EXTENDED - 272)) | (1 << (frameQLParser.FAST - 272)))) != 0) or _la==frameQLParser.MEDIUM or _la==frameQLParser.QUICK: - self.state = 4688 - self.checkTableOption() - self.state = 4693 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ChecksumTableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.actionOption = None # Token - - def CHECKSUM(self): - return self.getToken(frameQLParser.CHECKSUM, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def tables(self): - return self.getTypedRuleContext(frameQLParser.TablesContext,0) - - - def QUICK(self): - return self.getToken(frameQLParser.QUICK, 0) - - def EXTENDED(self): - return self.getToken(frameQLParser.EXTENDED, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_checksumTable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterChecksumTable" ): - listener.enterChecksumTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitChecksumTable" ): - listener.exitChecksumTable(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitChecksumTable" ): - return visitor.visitChecksumTable(self) - else: - return visitor.visitChildren(self) - - - - - def checksumTable(self): - - localctx = frameQLParser.ChecksumTableContext(self, self._ctx, self.state) - self.enterRule(localctx, 426, self.RULE_checksumTable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4694 - self.match(frameQLParser.CHECKSUM) - self.state = 4695 - self.match(frameQLParser.TABLE) - self.state = 4696 - self.tables() - self.state = 4698 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EXTENDED or _la==frameQLParser.QUICK: - self.state = 4697 - localctx.actionOption = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.EXTENDED or _la==frameQLParser.QUICK): - localctx.actionOption = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class OptimizeTableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.actionOption = None # Token - - def OPTIMIZE(self): - return self.getToken(frameQLParser.OPTIMIZE, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def tables(self): - return self.getTypedRuleContext(frameQLParser.TablesContext,0) - - - def NO_WRITE_TO_BINLOG(self): - return self.getToken(frameQLParser.NO_WRITE_TO_BINLOG, 0) - - def LOCAL(self): - return self.getToken(frameQLParser.LOCAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_optimizeTable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterOptimizeTable" ): - listener.enterOptimizeTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitOptimizeTable" ): - listener.exitOptimizeTable(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitOptimizeTable" ): - return visitor.visitOptimizeTable(self) - else: - return visitor.visitChildren(self) - - - - - def optimizeTable(self): - - localctx = frameQLParser.OptimizeTableContext(self, self._ctx, self.state) - self.enterRule(localctx, 428, self.RULE_optimizeTable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4700 - self.match(frameQLParser.OPTIMIZE) - self.state = 4702 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NO_WRITE_TO_BINLOG or _la==frameQLParser.LOCAL: - self.state = 4701 - localctx.actionOption = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.NO_WRITE_TO_BINLOG or _la==frameQLParser.LOCAL): - localctx.actionOption = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 4704 - self.match(frameQLParser.TABLE) - self.state = 4705 - self.tables() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RepairTableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.actionOption = None # Token - - def REPAIR(self): - return self.getToken(frameQLParser.REPAIR, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def tables(self): - return self.getTypedRuleContext(frameQLParser.TablesContext,0) - - - def QUICK(self): - return self.getToken(frameQLParser.QUICK, 0) - - def EXTENDED(self): - return self.getToken(frameQLParser.EXTENDED, 0) - - def USE_FRM(self): - return self.getToken(frameQLParser.USE_FRM, 0) - - def NO_WRITE_TO_BINLOG(self): - return self.getToken(frameQLParser.NO_WRITE_TO_BINLOG, 0) - - def LOCAL(self): - return self.getToken(frameQLParser.LOCAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_repairTable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRepairTable" ): - listener.enterRepairTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRepairTable" ): - listener.exitRepairTable(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitRepairTable" ): - return visitor.visitRepairTable(self) - else: - return visitor.visitChildren(self) - - - - - def repairTable(self): - - localctx = frameQLParser.RepairTableContext(self, self._ctx, self.state) - self.enterRule(localctx, 430, self.RULE_repairTable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4707 - self.match(frameQLParser.REPAIR) - self.state = 4709 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NO_WRITE_TO_BINLOG or _la==frameQLParser.LOCAL: - self.state = 4708 - localctx.actionOption = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.NO_WRITE_TO_BINLOG or _la==frameQLParser.LOCAL): - localctx.actionOption = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 4711 - self.match(frameQLParser.TABLE) - self.state = 4712 - self.tables() - self.state = 4714 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.QUICK: - self.state = 4713 - self.match(frameQLParser.QUICK) - - - self.state = 4717 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EXTENDED: - self.state = 4716 - self.match(frameQLParser.EXTENDED) - - - self.state = 4720 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.USE_FRM: - self.state = 4719 - self.match(frameQLParser.USE_FRM) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CheckTableOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def UPGRADE(self): - return self.getToken(frameQLParser.UPGRADE, 0) - - def QUICK(self): - return self.getToken(frameQLParser.QUICK, 0) - - def FAST(self): - return self.getToken(frameQLParser.FAST, 0) - - def MEDIUM(self): - return self.getToken(frameQLParser.MEDIUM, 0) - - def EXTENDED(self): - return self.getToken(frameQLParser.EXTENDED, 0) - - def CHANGED(self): - return self.getToken(frameQLParser.CHANGED, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_checkTableOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCheckTableOption" ): - listener.enterCheckTableOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCheckTableOption" ): - listener.exitCheckTableOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCheckTableOption" ): - return visitor.visitCheckTableOption(self) - else: - return visitor.visitChildren(self) - - - - - def checkTableOption(self): - - localctx = frameQLParser.CheckTableOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 432, self.RULE_checkTableOption) - try: - self.state = 4729 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.FOR]: - self.enterOuterAlt(localctx, 1) - self.state = 4722 - self.match(frameQLParser.FOR) - self.state = 4723 - self.match(frameQLParser.UPGRADE) - pass - elif token in [frameQLParser.QUICK]: - self.enterOuterAlt(localctx, 2) - self.state = 4724 - self.match(frameQLParser.QUICK) - pass - elif token in [frameQLParser.FAST]: - self.enterOuterAlt(localctx, 3) - self.state = 4725 - self.match(frameQLParser.FAST) - pass - elif token in [frameQLParser.MEDIUM]: - self.enterOuterAlt(localctx, 4) - self.state = 4726 - self.match(frameQLParser.MEDIUM) - pass - elif token in [frameQLParser.EXTENDED]: - self.enterOuterAlt(localctx, 5) - self.state = 4727 - self.match(frameQLParser.EXTENDED) - pass - elif token in [frameQLParser.CHANGED]: - self.enterOuterAlt(localctx, 6) - self.state = 4728 - self.match(frameQLParser.CHANGED) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CreateUdfunctionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.returnType = None # Token - - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - - def FUNCTION(self): - return self.getToken(frameQLParser.FUNCTION, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def RETURNS(self): - return self.getToken(frameQLParser.RETURNS, 0) - - def SONAME(self): - return self.getToken(frameQLParser.SONAME, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def STRING(self): - return self.getToken(frameQLParser.STRING, 0) - - def INTEGER(self): - return self.getToken(frameQLParser.INTEGER, 0) - - def REAL(self): - return self.getToken(frameQLParser.REAL, 0) - - def DECIMAL(self): - return self.getToken(frameQLParser.DECIMAL, 0) - - def AGGREGATE(self): - return self.getToken(frameQLParser.AGGREGATE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_createUdfunction - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateUdfunction" ): - listener.enterCreateUdfunction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateUdfunction" ): - listener.exitCreateUdfunction(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCreateUdfunction" ): - return visitor.visitCreateUdfunction(self) - else: - return visitor.visitChildren(self) - - - - - def createUdfunction(self): - - localctx = frameQLParser.CreateUdfunctionContext(self, self._ctx, self.state) - self.enterRule(localctx, 434, self.RULE_createUdfunction) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 4731 - self.match(frameQLParser.CREATE) - self.state = 4733 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AGGREGATE: - self.state = 4732 - self.match(frameQLParser.AGGREGATE) - - - self.state = 4735 - self.match(frameQLParser.FUNCTION) - self.state = 4736 - self.uid() - self.state = 4737 - self.match(frameQLParser.RETURNS) - self.state = 4738 - localctx.returnType = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 177)) & ~0x3f) == 0 and ((1 << (_la - 177)) & ((1 << (frameQLParser.INTEGER - 177)) | (1 << (frameQLParser.REAL - 177)) | (1 << (frameQLParser.DECIMAL - 177)))) != 0) or _la==frameQLParser.STRING): - localctx.returnType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4739 - self.match(frameQLParser.SONAME) - self.state = 4740 - self.match(frameQLParser.STRING_LITERAL) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class InstallPluginContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def INSTALL(self): - return self.getToken(frameQLParser.INSTALL, 0) - - def PLUGIN(self): - return self.getToken(frameQLParser.PLUGIN, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def SONAME(self): - return self.getToken(frameQLParser.SONAME, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_installPlugin - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterInstallPlugin" ): - listener.enterInstallPlugin(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitInstallPlugin" ): - listener.exitInstallPlugin(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitInstallPlugin" ): - return visitor.visitInstallPlugin(self) - else: - return visitor.visitChildren(self) - - - - - def installPlugin(self): - - localctx = frameQLParser.InstallPluginContext(self, self._ctx, self.state) - self.enterRule(localctx, 436, self.RULE_installPlugin) - try: - self.enterOuterAlt(localctx, 1) - self.state = 4742 - self.match(frameQLParser.INSTALL) - self.state = 4743 - self.match(frameQLParser.PLUGIN) - self.state = 4744 - self.uid() - self.state = 4745 - self.match(frameQLParser.SONAME) - self.state = 4746 - self.match(frameQLParser.STRING_LITERAL) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class UninstallPluginContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def UNINSTALL(self): - return self.getToken(frameQLParser.UNINSTALL, 0) - - def PLUGIN(self): - return self.getToken(frameQLParser.PLUGIN, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_uninstallPlugin - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUninstallPlugin" ): - listener.enterUninstallPlugin(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUninstallPlugin" ): - listener.exitUninstallPlugin(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUninstallPlugin" ): - return visitor.visitUninstallPlugin(self) - else: - return visitor.visitChildren(self) - - - - - def uninstallPlugin(self): - - localctx = frameQLParser.UninstallPluginContext(self, self._ctx, self.state) - self.enterRule(localctx, 438, self.RULE_uninstallPlugin) - try: - self.enterOuterAlt(localctx, 1) - self.state = 4748 - self.match(frameQLParser.UNINSTALL) - self.state = 4749 - self.match(frameQLParser.PLUGIN) - self.state = 4750 - self.uid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SetStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_setStatement - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class SetTransactionContext(SetStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SetStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def setTransactionStatement(self): - return self.getTypedRuleContext(frameQLParser.SetTransactionStatementContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetTransaction" ): - listener.enterSetTransaction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetTransaction" ): - listener.exitSetTransaction(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSetTransaction" ): - return visitor.visitSetTransaction(self) - else: - return visitor.visitChildren(self) - - - class SetCharsetContext(SetStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SetStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SET(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.SET) - else: - return self.getToken(frameQLParser.SET, i) - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - def CHARSET(self): - return self.getToken(frameQLParser.CHARSET, 0) - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetCharset" ): - listener.enterSetCharset(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetCharset" ): - listener.exitSetCharset(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSetCharset" ): - return visitor.visitSetCharset(self) - else: - return visitor.visitChildren(self) - - - class SetNamesContext(SetStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SetStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - def NAMES(self): - return self.getToken(frameQLParser.NAMES, 0) - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - def COLLATE(self): - return self.getToken(frameQLParser.COLLATE, 0) - def collationName(self): - return self.getTypedRuleContext(frameQLParser.CollationNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetNames" ): - listener.enterSetNames(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetNames" ): - listener.exitSetNames(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSetNames" ): - return visitor.visitSetNames(self) - else: - return visitor.visitChildren(self) - - - class SetPasswordContext(SetStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SetStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def setPasswordStatement(self): - return self.getTypedRuleContext(frameQLParser.SetPasswordStatementContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetPassword" ): - listener.enterSetPassword(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetPassword" ): - listener.exitSetPassword(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSetPassword" ): - return visitor.visitSetPassword(self) - else: - return visitor.visitChildren(self) - - - class SetAutocommitContext(SetStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SetStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def setAutocommitStatement(self): - return self.getTypedRuleContext(frameQLParser.SetAutocommitStatementContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetAutocommit" ): - listener.enterSetAutocommit(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetAutocommit" ): - listener.exitSetAutocommit(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSetAutocommit" ): - return visitor.visitSetAutocommit(self) - else: - return visitor.visitChildren(self) - - - class SetVariableContext(SetStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SetStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - def variableClause(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.VariableClauseContext) - else: - return self.getTypedRuleContext(frameQLParser.VariableClauseContext,i) - - def expression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetVariable" ): - listener.enterSetVariable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetVariable" ): - listener.exitSetVariable(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSetVariable" ): - return visitor.visitSetVariable(self) - else: - return visitor.visitChildren(self) - - - - def setStatement(self): - - localctx = frameQLParser.SetStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 440, self.RULE_setStatement) - self._la = 0 # Token type - try: - self.state = 4789 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,686,self._ctx) - if la_ == 1: - localctx = frameQLParser.SetVariableContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 4752 - self.match(frameQLParser.SET) - self.state = 4753 - self.variableClause() - self.state = 4754 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 4755 - self.expression(0) - self.state = 4763 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4756 - self.match(frameQLParser.COMMA) - self.state = 4757 - self.variableClause() - self.state = 4758 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 4759 - self.expression(0) - self.state = 4765 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 2: - localctx = frameQLParser.SetCharsetContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 4766 - self.match(frameQLParser.SET) - self.state = 4770 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.CHARACTER]: - self.state = 4767 - self.match(frameQLParser.CHARACTER) - self.state = 4768 - self.match(frameQLParser.SET) - pass - elif token in [frameQLParser.CHARSET]: - self.state = 4769 - self.match(frameQLParser.CHARSET) - pass - else: - raise NoViableAltException(self) - - self.state = 4774 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.BINARY, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL]: - self.state = 4772 - self.charsetName() - pass - elif token in [frameQLParser.DEFAULT]: - self.state = 4773 - self.match(frameQLParser.DEFAULT) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 3: - localctx = frameQLParser.SetNamesContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 4776 - self.match(frameQLParser.SET) - self.state = 4777 - self.match(frameQLParser.NAMES) - self.state = 4784 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.BINARY, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL]: - self.state = 4778 - self.charsetName() - self.state = 4781 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLLATE: - self.state = 4779 - self.match(frameQLParser.COLLATE) - self.state = 4780 - self.collationName() - - - pass - elif token in [frameQLParser.DEFAULT]: - self.state = 4783 - self.match(frameQLParser.DEFAULT) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 4: - localctx = frameQLParser.SetPasswordContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 4786 - self.setPasswordStatement() - pass - - elif la_ == 5: - localctx = frameQLParser.SetTransactionContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 4787 - self.setTransactionStatement() - pass - - elif la_ == 6: - localctx = frameQLParser.SetAutocommitContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 4788 - self.setAutocommitStatement() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ShowStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_showStatement - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class ShowOpenTablesContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.schemaFormat = None # Token - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def OPEN(self): - return self.getToken(frameQLParser.OPEN, 0) - def TABLES(self): - return self.getToken(frameQLParser.TABLES, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def showFilter(self): - return self.getTypedRuleContext(frameQLParser.ShowFilterContext,0) - - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - def IN(self): - return self.getToken(frameQLParser.IN, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowOpenTables" ): - listener.enterShowOpenTables(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowOpenTables" ): - listener.exitShowOpenTables(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowOpenTables" ): - return visitor.visitShowOpenTables(self) - else: - return visitor.visitChildren(self) - - - class ShowGlobalInfoContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def showGlobalInfoClause(self): - return self.getTypedRuleContext(frameQLParser.ShowGlobalInfoClauseContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowGlobalInfo" ): - listener.enterShowGlobalInfo(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowGlobalInfo" ): - listener.exitShowGlobalInfo(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowGlobalInfo" ): - return visitor.visitShowGlobalInfo(self) - else: - return visitor.visitChildren(self) - - - class ShowCreateFullIdObjectContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.namedEntity = None # Token - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - def EVENT(self): - return self.getToken(frameQLParser.EVENT, 0) - def FUNCTION(self): - return self.getToken(frameQLParser.FUNCTION, 0) - def PROCEDURE(self): - return self.getToken(frameQLParser.PROCEDURE, 0) - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - def TRIGGER(self): - return self.getToken(frameQLParser.TRIGGER, 0) - def VIEW(self): - return self.getToken(frameQLParser.VIEW, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowCreateFullIdObject" ): - listener.enterShowCreateFullIdObject(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowCreateFullIdObject" ): - listener.exitShowCreateFullIdObject(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowCreateFullIdObject" ): - return visitor.visitShowCreateFullIdObject(self) - else: - return visitor.visitChildren(self) - - - class ShowCreateUserContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - def USER(self): - return self.getToken(frameQLParser.USER, 0) - def userName(self): - return self.getTypedRuleContext(frameQLParser.UserNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowCreateUser" ): - listener.enterShowCreateUser(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowCreateUser" ): - listener.exitShowCreateUser(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowCreateUser" ): - return visitor.visitShowCreateUser(self) - else: - return visitor.visitChildren(self) - - - class ShowErrorsContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.errorFormat = None # Token - self.offset = None # DecimalLiteralContext - self.rowCount = None # DecimalLiteralContext - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def ERRORS(self): - return self.getToken(frameQLParser.ERRORS, 0) - def WARNINGS(self): - return self.getToken(frameQLParser.WARNINGS, 0) - def LIMIT(self): - return self.getToken(frameQLParser.LIMIT, 0) - def decimalLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DecimalLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowErrors" ): - listener.enterShowErrors(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowErrors" ): - listener.exitShowErrors(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowErrors" ): - return visitor.visitShowErrors(self) - else: - return visitor.visitChildren(self) - - - class ShowCountErrorsContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.errorFormat = None # Token - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def COUNT(self): - return self.getToken(frameQLParser.COUNT, 0) - def ERRORS(self): - return self.getToken(frameQLParser.ERRORS, 0) - def WARNINGS(self): - return self.getToken(frameQLParser.WARNINGS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowCountErrors" ): - listener.enterShowCountErrors(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowCountErrors" ): - listener.exitShowCountErrors(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowCountErrors" ): - return visitor.visitShowCountErrors(self) - else: - return visitor.visitChildren(self) - - - class ShowObjectFilterContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def showCommonEntity(self): - return self.getTypedRuleContext(frameQLParser.ShowCommonEntityContext,0) - - def showFilter(self): - return self.getTypedRuleContext(frameQLParser.ShowFilterContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowObjectFilter" ): - listener.enterShowObjectFilter(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowObjectFilter" ): - listener.exitShowObjectFilter(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowObjectFilter" ): - return visitor.visitShowObjectFilter(self) - else: - return visitor.visitChildren(self) - - - class ShowCreateDbContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.schemaFormat = None # Token - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def CREATE(self): - return self.getToken(frameQLParser.CREATE, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def DATABASE(self): - return self.getToken(frameQLParser.DATABASE, 0) - def SCHEMA(self): - return self.getToken(frameQLParser.SCHEMA, 0) - def ifNotExists(self): - return self.getTypedRuleContext(frameQLParser.IfNotExistsContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowCreateDb" ): - listener.enterShowCreateDb(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowCreateDb" ): - listener.exitShowCreateDb(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowCreateDb" ): - return visitor.visitShowCreateDb(self) - else: - return visitor.visitChildren(self) - - - class ShowEngineContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.engineOption = None # Token - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - def engineName(self): - return self.getTypedRuleContext(frameQLParser.EngineNameContext,0) - - def STATUS(self): - return self.getToken(frameQLParser.STATUS, 0) - def MUTEX(self): - return self.getToken(frameQLParser.MUTEX, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowEngine" ): - listener.enterShowEngine(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowEngine" ): - listener.exitShowEngine(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowEngine" ): - return visitor.visitShowEngine(self) - else: - return visitor.visitChildren(self) - - - class ShowSchemaFilterContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.schemaFormat = None # Token - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def showSchemaEntity(self): - return self.getTypedRuleContext(frameQLParser.ShowSchemaEntityContext,0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def showFilter(self): - return self.getTypedRuleContext(frameQLParser.ShowFilterContext,0) - - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - def IN(self): - return self.getToken(frameQLParser.IN, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowSchemaFilter" ): - listener.enterShowSchemaFilter(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowSchemaFilter" ): - listener.exitShowSchemaFilter(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowSchemaFilter" ): - return visitor.visitShowSchemaFilter(self) - else: - return visitor.visitChildren(self) - - - class ShowIndexesContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.indexFormat = None # Token - self.tableFormat = None # Token - self.schemaFormat = None # Token - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - def INDEXES(self): - return self.getToken(frameQLParser.INDEXES, 0) - def KEYS(self): - return self.getToken(frameQLParser.KEYS, 0) - def FROM(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.FROM) - else: - return self.getToken(frameQLParser.FROM, i) - def IN(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.IN) - else: - return self.getToken(frameQLParser.IN, i) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def WHERE(self): - return self.getToken(frameQLParser.WHERE, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowIndexes" ): - listener.enterShowIndexes(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowIndexes" ): - listener.exitShowIndexes(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowIndexes" ): - return visitor.visitShowIndexes(self) - else: - return visitor.visitChildren(self) - - - class ShowLogEventsContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.logFormat = None # Token - self.filename = None # Token - self.fromPosition = None # DecimalLiteralContext - self.offset = None # DecimalLiteralContext - self.rowCount = None # DecimalLiteralContext - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def EVENTS(self): - return self.getToken(frameQLParser.EVENTS, 0) - def BINLOG(self): - return self.getToken(frameQLParser.BINLOG, 0) - def RELAYLOG(self): - return self.getToken(frameQLParser.RELAYLOG, 0) - def IN(self): - return self.getToken(frameQLParser.IN, 0) - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - def LIMIT(self): - return self.getToken(frameQLParser.LIMIT, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - def decimalLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DecimalLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowLogEvents" ): - listener.enterShowLogEvents(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowLogEvents" ): - listener.exitShowLogEvents(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowLogEvents" ): - return visitor.visitShowLogEvents(self) - else: - return visitor.visitChildren(self) - - - class ShowMasterLogsContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.logFormat = None # Token - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def LOGS(self): - return self.getToken(frameQLParser.LOGS, 0) - def BINARY(self): - return self.getToken(frameQLParser.BINARY, 0) - def MASTER(self): - return self.getToken(frameQLParser.MASTER, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowMasterLogs" ): - listener.enterShowMasterLogs(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowMasterLogs" ): - listener.exitShowMasterLogs(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowMasterLogs" ): - return visitor.visitShowMasterLogs(self) - else: - return visitor.visitChildren(self) - - - class ShowGrantsContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def GRANTS(self): - return self.getToken(frameQLParser.GRANTS, 0) - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - def userName(self): - return self.getTypedRuleContext(frameQLParser.UserNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowGrants" ): - listener.enterShowGrants(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowGrants" ): - listener.exitShowGrants(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowGrants" ): - return visitor.visitShowGrants(self) - else: - return visitor.visitChildren(self) - - - class ShowSlaveStatusContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def SLAVE(self): - return self.getToken(frameQLParser.SLAVE, 0) - def STATUS(self): - return self.getToken(frameQLParser.STATUS, 0) - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - def CHANNEL(self): - return self.getToken(frameQLParser.CHANNEL, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowSlaveStatus" ): - listener.enterShowSlaveStatus(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowSlaveStatus" ): - listener.exitShowSlaveStatus(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowSlaveStatus" ): - return visitor.visitShowSlaveStatus(self) - else: - return visitor.visitChildren(self) - - - class ShowRoutineContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.routine = None # Token - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def CODE(self): - return self.getToken(frameQLParser.CODE, 0) - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - def FUNCTION(self): - return self.getToken(frameQLParser.FUNCTION, 0) - def PROCEDURE(self): - return self.getToken(frameQLParser.PROCEDURE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowRoutine" ): - listener.enterShowRoutine(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowRoutine" ): - listener.exitShowRoutine(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowRoutine" ): - return visitor.visitShowRoutine(self) - else: - return visitor.visitChildren(self) - - - class ShowProfileContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.queryCount = None # DecimalLiteralContext - self.offset = None # DecimalLiteralContext - self.rowCount = None # DecimalLiteralContext - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def PROFILE(self): - return self.getToken(frameQLParser.PROFILE, 0) - def showProfileType(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ShowProfileTypeContext) - else: - return self.getTypedRuleContext(frameQLParser.ShowProfileTypeContext,i) - - def LIMIT(self): - return self.getToken(frameQLParser.LIMIT, 0) - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - def QUERY(self): - return self.getToken(frameQLParser.QUERY, 0) - def decimalLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DecimalLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowProfile" ): - listener.enterShowProfile(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowProfile" ): - listener.exitShowProfile(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowProfile" ): - return visitor.visitShowProfile(self) - else: - return visitor.visitChildren(self) - - - class ShowColumnsContext(ShowStatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ShowStatementContext - super().__init__(parser) - self.columnsFormat = None # Token - self.tableFormat = None # Token - self.schemaFormat = None # Token - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(frameQLParser.SHOW, 0) - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - def COLUMNS(self): - return self.getToken(frameQLParser.COLUMNS, 0) - def FIELDS(self): - return self.getToken(frameQLParser.FIELDS, 0) - def FROM(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.FROM) - else: - return self.getToken(frameQLParser.FROM, i) - def IN(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.IN) - else: - return self.getToken(frameQLParser.IN, i) - def FULL(self): - return self.getToken(frameQLParser.FULL, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - def showFilter(self): - return self.getTypedRuleContext(frameQLParser.ShowFilterContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowColumns" ): - listener.enterShowColumns(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowColumns" ): - listener.exitShowColumns(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowColumns" ): - return visitor.visitShowColumns(self) - else: - return visitor.visitChildren(self) - - - - def showStatement(self): - - localctx = frameQLParser.ShowStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 442, self.RULE_showStatement) - self._la = 0 # Token type - try: - self.state = 4942 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,708,self._ctx) - if la_ == 1: - localctx = frameQLParser.ShowMasterLogsContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 4791 - self.match(frameQLParser.SHOW) - self.state = 4792 - localctx.logFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.BINARY or _la==frameQLParser.MASTER): - localctx.logFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4793 - self.match(frameQLParser.LOGS) - pass - - elif la_ == 2: - localctx = frameQLParser.ShowLogEventsContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 4794 - self.match(frameQLParser.SHOW) - self.state = 4795 - localctx.logFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.BINLOG or _la==frameQLParser.RELAYLOG): - localctx.logFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4796 - self.match(frameQLParser.EVENTS) - self.state = 4799 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IN: - self.state = 4797 - self.match(frameQLParser.IN) - self.state = 4798 - localctx.filename = self.match(frameQLParser.STRING_LITERAL) - - - self.state = 4803 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FROM: - self.state = 4801 - self.match(frameQLParser.FROM) - self.state = 4802 - localctx.fromPosition = self.decimalLiteral() - - - self.state = 4812 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LIMIT: - self.state = 4805 - self.match(frameQLParser.LIMIT) - self.state = 4809 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,689,self._ctx) - if la_ == 1: - self.state = 4806 - localctx.offset = self.decimalLiteral() - self.state = 4807 - self.match(frameQLParser.COMMA) - - - self.state = 4811 - localctx.rowCount = self.decimalLiteral() - - - pass - - elif la_ == 3: - localctx = frameQLParser.ShowObjectFilterContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 4814 - self.match(frameQLParser.SHOW) - self.state = 4815 - self.showCommonEntity() - self.state = 4817 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LIKE or _la==frameQLParser.WHERE: - self.state = 4816 - self.showFilter() - - - pass - - elif la_ == 4: - localctx = frameQLParser.ShowColumnsContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 4819 - self.match(frameQLParser.SHOW) - self.state = 4821 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FULL: - self.state = 4820 - self.match(frameQLParser.FULL) - - - self.state = 4823 - localctx.columnsFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.COLUMNS or _la==frameQLParser.FIELDS): - localctx.columnsFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4824 - localctx.tableFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FROM or _la==frameQLParser.IN): - localctx.tableFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4825 - self.tableName() - self.state = 4828 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FROM or _la==frameQLParser.IN: - self.state = 4826 - localctx.schemaFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FROM or _la==frameQLParser.IN): - localctx.schemaFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4827 - self.uid() - - - self.state = 4831 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LIKE or _la==frameQLParser.WHERE: - self.state = 4830 - self.showFilter() - - - pass - - elif la_ == 5: - localctx = frameQLParser.ShowCreateDbContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 4833 - self.match(frameQLParser.SHOW) - self.state = 4834 - self.match(frameQLParser.CREATE) - self.state = 4835 - localctx.schemaFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DATABASE or _la==frameQLParser.SCHEMA): - localctx.schemaFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4837 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IF: - self.state = 4836 - self.ifNotExists() - - - self.state = 4839 - self.uid() - pass - - elif la_ == 6: - localctx = frameQLParser.ShowCreateFullIdObjectContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 4840 - self.match(frameQLParser.SHOW) - self.state = 4841 - self.match(frameQLParser.CREATE) - self.state = 4842 - localctx.namedEntity = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 115)) & ~0x3f) == 0 and ((1 << (_la - 115)) & ((1 << (frameQLParser.PROCEDURE - 115)) | (1 << (frameQLParser.TABLE - 115)) | (1 << (frameQLParser.TRIGGER - 115)))) != 0) or _la==frameQLParser.EVENT or _la==frameQLParser.FUNCTION or _la==frameQLParser.VIEW): - localctx.namedEntity = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4843 - self.fullId() - pass - - elif la_ == 7: - localctx = frameQLParser.ShowCreateUserContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 4844 - self.match(frameQLParser.SHOW) - self.state = 4845 - self.match(frameQLParser.CREATE) - self.state = 4846 - self.match(frameQLParser.USER) - self.state = 4847 - self.userName() - pass - - elif la_ == 8: - localctx = frameQLParser.ShowEngineContext(self, localctx) - self.enterOuterAlt(localctx, 8) - self.state = 4848 - self.match(frameQLParser.SHOW) - self.state = 4849 - self.match(frameQLParser.ENGINE) - self.state = 4850 - self.engineName() - self.state = 4851 - localctx.engineOption = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.MUTEX or _la==frameQLParser.STATUS): - localctx.engineOption = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 9: - localctx = frameQLParser.ShowGlobalInfoContext(self, localctx) - self.enterOuterAlt(localctx, 9) - self.state = 4853 - self.match(frameQLParser.SHOW) - self.state = 4854 - self.showGlobalInfoClause() - pass - - elif la_ == 10: - localctx = frameQLParser.ShowErrorsContext(self, localctx) - self.enterOuterAlt(localctx, 10) - self.state = 4855 - self.match(frameQLParser.SHOW) - self.state = 4856 - localctx.errorFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ERRORS or _la==frameQLParser.WARNINGS): - localctx.errorFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - self.state = 4857 - self.match(frameQLParser.LIMIT) - self.state = 4861 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,696,self._ctx) - if la_ == 1: - self.state = 4858 - localctx.offset = self.decimalLiteral() - self.state = 4859 - self.match(frameQLParser.COMMA) - - - self.state = 4863 - localctx.rowCount = self.decimalLiteral() - pass - - elif la_ == 11: - localctx = frameQLParser.ShowCountErrorsContext(self, localctx) - self.enterOuterAlt(localctx, 11) - self.state = 4864 - self.match(frameQLParser.SHOW) - self.state = 4865 - self.match(frameQLParser.COUNT) - self.state = 4866 - self.match(frameQLParser.LR_BRACKET) - self.state = 4867 - self.match(frameQLParser.STAR) - self.state = 4868 - self.match(frameQLParser.RR_BRACKET) - self.state = 4869 - localctx.errorFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ERRORS or _la==frameQLParser.WARNINGS): - localctx.errorFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 12: - localctx = frameQLParser.ShowSchemaFilterContext(self, localctx) - self.enterOuterAlt(localctx, 12) - self.state = 4870 - self.match(frameQLParser.SHOW) - self.state = 4871 - self.showSchemaEntity() - self.state = 4874 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FROM or _la==frameQLParser.IN: - self.state = 4872 - localctx.schemaFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FROM or _la==frameQLParser.IN): - localctx.schemaFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4873 - self.uid() - - - self.state = 4877 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LIKE or _la==frameQLParser.WHERE: - self.state = 4876 - self.showFilter() - - - pass - - elif la_ == 13: - localctx = frameQLParser.ShowRoutineContext(self, localctx) - self.enterOuterAlt(localctx, 13) - self.state = 4879 - self.match(frameQLParser.SHOW) - self.state = 4880 - localctx.routine = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.PROCEDURE or _la==frameQLParser.FUNCTION): - localctx.routine = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4881 - self.match(frameQLParser.CODE) - self.state = 4882 - self.fullId() - pass - - elif la_ == 14: - localctx = frameQLParser.ShowGrantsContext(self, localctx) - self.enterOuterAlt(localctx, 14) - self.state = 4883 - self.match(frameQLParser.SHOW) - self.state = 4884 - self.match(frameQLParser.GRANTS) - self.state = 4887 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR: - self.state = 4885 - self.match(frameQLParser.FOR) - self.state = 4886 - self.userName() - - - pass - - elif la_ == 15: - localctx = frameQLParser.ShowIndexesContext(self, localctx) - self.enterOuterAlt(localctx, 15) - self.state = 4889 - self.match(frameQLParser.SHOW) - self.state = 4890 - localctx.indexFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.INDEX or _la==frameQLParser.KEYS or _la==frameQLParser.INDEXES): - localctx.indexFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4891 - localctx.tableFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FROM or _la==frameQLParser.IN): - localctx.tableFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4892 - self.tableName() - self.state = 4895 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FROM or _la==frameQLParser.IN: - self.state = 4893 - localctx.schemaFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FROM or _la==frameQLParser.IN): - localctx.schemaFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4894 - self.uid() - - - self.state = 4899 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WHERE: - self.state = 4897 - self.match(frameQLParser.WHERE) - self.state = 4898 - self.expression(0) - - - pass - - elif la_ == 16: - localctx = frameQLParser.ShowOpenTablesContext(self, localctx) - self.enterOuterAlt(localctx, 16) - self.state = 4901 - self.match(frameQLParser.SHOW) - self.state = 4902 - self.match(frameQLParser.OPEN) - self.state = 4903 - self.match(frameQLParser.TABLES) - self.state = 4906 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FROM or _la==frameQLParser.IN: - self.state = 4904 - localctx.schemaFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FROM or _la==frameQLParser.IN): - localctx.schemaFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 4905 - self.uid() - - - self.state = 4909 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LIKE or _la==frameQLParser.WHERE: - self.state = 4908 - self.showFilter() - - - pass - - elif la_ == 17: - localctx = frameQLParser.ShowProfileContext(self, localctx) - self.enterOuterAlt(localctx, 17) - self.state = 4911 - self.match(frameQLParser.SHOW) - self.state = 4912 - self.match(frameQLParser.PROFILE) - self.state = 4913 - self.showProfileType() - self.state = 4918 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 4914 - self.match(frameQLParser.COMMA) - self.state = 4915 - self.showProfileType() - self.state = 4920 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 4924 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR: - self.state = 4921 - self.match(frameQLParser.FOR) - self.state = 4922 - self.match(frameQLParser.QUERY) - self.state = 4923 - localctx.queryCount = self.decimalLiteral() - - - self.state = 4926 - self.match(frameQLParser.LIMIT) - self.state = 4930 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,706,self._ctx) - if la_ == 1: - self.state = 4927 - localctx.offset = self.decimalLiteral() - self.state = 4928 - self.match(frameQLParser.COMMA) - - - self.state = 4932 - localctx.rowCount = self.decimalLiteral() - pass - - elif la_ == 18: - localctx = frameQLParser.ShowSlaveStatusContext(self, localctx) - self.enterOuterAlt(localctx, 18) - self.state = 4934 - self.match(frameQLParser.SHOW) - self.state = 4935 - self.match(frameQLParser.SLAVE) - self.state = 4936 - self.match(frameQLParser.STATUS) - self.state = 4940 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR: - self.state = 4937 - self.match(frameQLParser.FOR) - self.state = 4938 - self.match(frameQLParser.CHANNEL) - self.state = 4939 - self.match(frameQLParser.STRING_LITERAL) - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class VariableClauseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LOCAL_ID(self): - return self.getToken(frameQLParser.LOCAL_ID, 0) - - def GLOBAL_ID(self): - return self.getToken(frameQLParser.GLOBAL_ID, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def GLOBAL(self): - return self.getToken(frameQLParser.GLOBAL, 0) - - def SESSION(self): - return self.getToken(frameQLParser.SESSION, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_variableClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterVariableClause" ): - listener.enterVariableClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitVariableClause" ): - listener.exitVariableClause(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitVariableClause" ): - return visitor.visitVariableClause(self) - else: - return visitor.visitChildren(self) - - - - - def variableClause(self): - - localctx = frameQLParser.VariableClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 444, self.RULE_variableClause) - self._la = 0 # Token type - try: - self.state = 4954 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.LOCAL_ID]: - self.enterOuterAlt(localctx, 1) - self.state = 4944 - self.match(frameQLParser.LOCAL_ID) - pass - elif token in [frameQLParser.GLOBAL_ID]: - self.enterOuterAlt(localctx, 2) - self.state = 4945 - self.match(frameQLParser.GLOBAL_ID) - pass - elif token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.AT_SIGN, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.enterOuterAlt(localctx, 3) - self.state = 4951 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,710,self._ctx) - if la_ == 1: - self.state = 4948 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AT_SIGN: - self.state = 4946 - self.match(frameQLParser.AT_SIGN) - self.state = 4947 - self.match(frameQLParser.AT_SIGN) - - - self.state = 4950 - _la = self._input.LA(1) - if not(_la==frameQLParser.GLOBAL or _la==frameQLParser.SESSION): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 4953 - self.uid() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ShowCommonEntityContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - - def COLLATION(self): - return self.getToken(frameQLParser.COLLATION, 0) - - def DATABASES(self): - return self.getToken(frameQLParser.DATABASES, 0) - - def SCHEMAS(self): - return self.getToken(frameQLParser.SCHEMAS, 0) - - def FUNCTION(self): - return self.getToken(frameQLParser.FUNCTION, 0) - - def STATUS(self): - return self.getToken(frameQLParser.STATUS, 0) - - def PROCEDURE(self): - return self.getToken(frameQLParser.PROCEDURE, 0) - - def VARIABLES(self): - return self.getToken(frameQLParser.VARIABLES, 0) - - def GLOBAL(self): - return self.getToken(frameQLParser.GLOBAL, 0) - - def SESSION(self): - return self.getToken(frameQLParser.SESSION, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_showCommonEntity - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowCommonEntity" ): - listener.enterShowCommonEntity(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowCommonEntity" ): - listener.exitShowCommonEntity(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowCommonEntity" ): - return visitor.visitShowCommonEntity(self) - else: - return visitor.visitChildren(self) - - - - - def showCommonEntity(self): - - localctx = frameQLParser.ShowCommonEntityContext(self, self._ctx, self.state) - self.enterRule(localctx, 446, self.RULE_showCommonEntity) - self._la = 0 # Token type - try: - self.state = 4969 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.CHARACTER]: - self.enterOuterAlt(localctx, 1) - self.state = 4956 - self.match(frameQLParser.CHARACTER) - self.state = 4957 - self.match(frameQLParser.SET) - pass - elif token in [frameQLParser.COLLATION]: - self.enterOuterAlt(localctx, 2) - self.state = 4958 - self.match(frameQLParser.COLLATION) - pass - elif token in [frameQLParser.DATABASES]: - self.enterOuterAlt(localctx, 3) - self.state = 4959 - self.match(frameQLParser.DATABASES) - pass - elif token in [frameQLParser.SCHEMAS]: - self.enterOuterAlt(localctx, 4) - self.state = 4960 - self.match(frameQLParser.SCHEMAS) - pass - elif token in [frameQLParser.FUNCTION]: - self.enterOuterAlt(localctx, 5) - self.state = 4961 - self.match(frameQLParser.FUNCTION) - self.state = 4962 - self.match(frameQLParser.STATUS) - pass - elif token in [frameQLParser.PROCEDURE]: - self.enterOuterAlt(localctx, 6) - self.state = 4963 - self.match(frameQLParser.PROCEDURE) - self.state = 4964 - self.match(frameQLParser.STATUS) - pass - elif token in [frameQLParser.GLOBAL, frameQLParser.SESSION, frameQLParser.STATUS, frameQLParser.VARIABLES]: - self.enterOuterAlt(localctx, 7) - self.state = 4966 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.GLOBAL or _la==frameQLParser.SESSION: - self.state = 4965 - _la = self._input.LA(1) - if not(_la==frameQLParser.GLOBAL or _la==frameQLParser.SESSION): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 4968 - _la = self._input.LA(1) - if not(_la==frameQLParser.STATUS or _la==frameQLParser.VARIABLES): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ShowFilterContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LIKE(self): - return self.getToken(frameQLParser.LIKE, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def WHERE(self): - return self.getToken(frameQLParser.WHERE, 0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_showFilter - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowFilter" ): - listener.enterShowFilter(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowFilter" ): - listener.exitShowFilter(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowFilter" ): - return visitor.visitShowFilter(self) - else: - return visitor.visitChildren(self) - - - - - def showFilter(self): - - localctx = frameQLParser.ShowFilterContext(self, self._ctx, self.state) - self.enterRule(localctx, 448, self.RULE_showFilter) - try: - self.state = 4975 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.LIKE]: - self.enterOuterAlt(localctx, 1) - self.state = 4971 - self.match(frameQLParser.LIKE) - self.state = 4972 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.WHERE]: - self.enterOuterAlt(localctx, 2) - self.state = 4973 - self.match(frameQLParser.WHERE) - self.state = 4974 - self.expression(0) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ShowGlobalInfoClauseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ENGINES(self): - return self.getToken(frameQLParser.ENGINES, 0) - - def STORAGE(self): - return self.getToken(frameQLParser.STORAGE, 0) - - def MASTER(self): - return self.getToken(frameQLParser.MASTER, 0) - - def STATUS(self): - return self.getToken(frameQLParser.STATUS, 0) - - def PLUGINS(self): - return self.getToken(frameQLParser.PLUGINS, 0) - - def PRIVILEGES(self): - return self.getToken(frameQLParser.PRIVILEGES, 0) - - def PROCESSLIST(self): - return self.getToken(frameQLParser.PROCESSLIST, 0) - - def FULL(self): - return self.getToken(frameQLParser.FULL, 0) - - def PROFILES(self): - return self.getToken(frameQLParser.PROFILES, 0) - - def SLAVE(self): - return self.getToken(frameQLParser.SLAVE, 0) - - def HOSTS(self): - return self.getToken(frameQLParser.HOSTS, 0) - - def AUTHORS(self): - return self.getToken(frameQLParser.AUTHORS, 0) - - def CONTRIBUTORS(self): - return self.getToken(frameQLParser.CONTRIBUTORS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_showGlobalInfoClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowGlobalInfoClause" ): - listener.enterShowGlobalInfoClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowGlobalInfoClause" ): - listener.exitShowGlobalInfoClause(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowGlobalInfoClause" ): - return visitor.visitShowGlobalInfoClause(self) - else: - return visitor.visitChildren(self) - - - - - def showGlobalInfoClause(self): - - localctx = frameQLParser.ShowGlobalInfoClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 450, self.RULE_showGlobalInfoClause) - self._la = 0 # Token type - try: - self.state = 4994 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ENGINES, frameQLParser.STORAGE]: - self.enterOuterAlt(localctx, 1) - self.state = 4978 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.STORAGE: - self.state = 4977 - self.match(frameQLParser.STORAGE) - - - self.state = 4980 - self.match(frameQLParser.ENGINES) - pass - elif token in [frameQLParser.MASTER]: - self.enterOuterAlt(localctx, 2) - self.state = 4981 - self.match(frameQLParser.MASTER) - self.state = 4982 - self.match(frameQLParser.STATUS) - pass - elif token in [frameQLParser.PLUGINS]: - self.enterOuterAlt(localctx, 3) - self.state = 4983 - self.match(frameQLParser.PLUGINS) - pass - elif token in [frameQLParser.PRIVILEGES]: - self.enterOuterAlt(localctx, 4) - self.state = 4984 - self.match(frameQLParser.PRIVILEGES) - pass - elif token in [frameQLParser.FULL, frameQLParser.PROCESSLIST]: - self.enterOuterAlt(localctx, 5) - self.state = 4986 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FULL: - self.state = 4985 - self.match(frameQLParser.FULL) - - - self.state = 4988 - self.match(frameQLParser.PROCESSLIST) - pass - elif token in [frameQLParser.PROFILES]: - self.enterOuterAlt(localctx, 6) - self.state = 4989 - self.match(frameQLParser.PROFILES) - pass - elif token in [frameQLParser.SLAVE]: - self.enterOuterAlt(localctx, 7) - self.state = 4990 - self.match(frameQLParser.SLAVE) - self.state = 4991 - self.match(frameQLParser.HOSTS) - pass - elif token in [frameQLParser.AUTHORS]: - self.enterOuterAlt(localctx, 8) - self.state = 4992 - self.match(frameQLParser.AUTHORS) - pass - elif token in [frameQLParser.CONTRIBUTORS]: - self.enterOuterAlt(localctx, 9) - self.state = 4993 - self.match(frameQLParser.CONTRIBUTORS) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ShowSchemaEntityContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def EVENTS(self): - return self.getToken(frameQLParser.EVENTS, 0) - - def TABLE(self): - return self.getToken(frameQLParser.TABLE, 0) - - def STATUS(self): - return self.getToken(frameQLParser.STATUS, 0) - - def TABLES(self): - return self.getToken(frameQLParser.TABLES, 0) - - def FULL(self): - return self.getToken(frameQLParser.FULL, 0) - - def TRIGGERS(self): - return self.getToken(frameQLParser.TRIGGERS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_showSchemaEntity - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowSchemaEntity" ): - listener.enterShowSchemaEntity(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowSchemaEntity" ): - listener.exitShowSchemaEntity(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowSchemaEntity" ): - return visitor.visitShowSchemaEntity(self) - else: - return visitor.visitChildren(self) - - - - - def showSchemaEntity(self): - - localctx = frameQLParser.ShowSchemaEntityContext(self, self._ctx, self.state) - self.enterRule(localctx, 452, self.RULE_showSchemaEntity) - self._la = 0 # Token type - try: - self.state = 5004 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.EVENTS]: - self.enterOuterAlt(localctx, 1) - self.state = 4996 - self.match(frameQLParser.EVENTS) - pass - elif token in [frameQLParser.TABLE]: - self.enterOuterAlt(localctx, 2) - self.state = 4997 - self.match(frameQLParser.TABLE) - self.state = 4998 - self.match(frameQLParser.STATUS) - pass - elif token in [frameQLParser.FULL, frameQLParser.TABLES]: - self.enterOuterAlt(localctx, 3) - self.state = 5000 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FULL: - self.state = 4999 - self.match(frameQLParser.FULL) - - - self.state = 5002 - self.match(frameQLParser.TABLES) - pass - elif token in [frameQLParser.TRIGGERS]: - self.enterOuterAlt(localctx, 4) - self.state = 5003 - self.match(frameQLParser.TRIGGERS) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ShowProfileTypeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def BLOCK(self): - return self.getToken(frameQLParser.BLOCK, 0) - - def IO(self): - return self.getToken(frameQLParser.IO, 0) - - def CONTEXT(self): - return self.getToken(frameQLParser.CONTEXT, 0) - - def SWITCHES(self): - return self.getToken(frameQLParser.SWITCHES, 0) - - def CPU(self): - return self.getToken(frameQLParser.CPU, 0) - - def IPC(self): - return self.getToken(frameQLParser.IPC, 0) - - def MEMORY(self): - return self.getToken(frameQLParser.MEMORY, 0) - - def PAGE(self): - return self.getToken(frameQLParser.PAGE, 0) - - def FAULTS(self): - return self.getToken(frameQLParser.FAULTS, 0) - - def SOURCE(self): - return self.getToken(frameQLParser.SOURCE, 0) - - def SWAPS(self): - return self.getToken(frameQLParser.SWAPS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_showProfileType - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowProfileType" ): - listener.enterShowProfileType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowProfileType" ): - listener.exitShowProfileType(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShowProfileType" ): - return visitor.visitShowProfileType(self) - else: - return visitor.visitChildren(self) - - - - - def showProfileType(self): - - localctx = frameQLParser.ShowProfileTypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 454, self.RULE_showProfileType) - try: - self.state = 5018 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.ALL]: - self.enterOuterAlt(localctx, 1) - self.state = 5006 - self.match(frameQLParser.ALL) - pass - elif token in [frameQLParser.BLOCK]: - self.enterOuterAlt(localctx, 2) - self.state = 5007 - self.match(frameQLParser.BLOCK) - self.state = 5008 - self.match(frameQLParser.IO) - pass - elif token in [frameQLParser.CONTEXT]: - self.enterOuterAlt(localctx, 3) - self.state = 5009 - self.match(frameQLParser.CONTEXT) - self.state = 5010 - self.match(frameQLParser.SWITCHES) - pass - elif token in [frameQLParser.CPU]: - self.enterOuterAlt(localctx, 4) - self.state = 5011 - self.match(frameQLParser.CPU) - pass - elif token in [frameQLParser.IPC]: - self.enterOuterAlt(localctx, 5) - self.state = 5012 - self.match(frameQLParser.IPC) - pass - elif token in [frameQLParser.MEMORY]: - self.enterOuterAlt(localctx, 6) - self.state = 5013 - self.match(frameQLParser.MEMORY) - pass - elif token in [frameQLParser.PAGE]: - self.enterOuterAlt(localctx, 7) - self.state = 5014 - self.match(frameQLParser.PAGE) - self.state = 5015 - self.match(frameQLParser.FAULTS) - pass - elif token in [frameQLParser.SOURCE]: - self.enterOuterAlt(localctx, 8) - self.state = 5016 - self.match(frameQLParser.SOURCE) - pass - elif token in [frameQLParser.SWAPS]: - self.enterOuterAlt(localctx, 9) - self.state = 5017 - self.match(frameQLParser.SWAPS) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class BinlogStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def BINLOG(self): - return self.getToken(frameQLParser.BINLOG, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_binlogStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBinlogStatement" ): - listener.enterBinlogStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBinlogStatement" ): - listener.exitBinlogStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitBinlogStatement" ): - return visitor.visitBinlogStatement(self) - else: - return visitor.visitChildren(self) - - - - - def binlogStatement(self): - - localctx = frameQLParser.BinlogStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 456, self.RULE_binlogStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5020 - self.match(frameQLParser.BINLOG) - self.state = 5021 - self.match(frameQLParser.STRING_LITERAL) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CacheIndexStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.schema = None # UidContext - - def CACHE(self): - return self.getToken(frameQLParser.CACHE, 0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - - def tableIndexes(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TableIndexesContext) - else: - return self.getTypedRuleContext(frameQLParser.TableIndexesContext,i) - - - def IN(self): - return self.getToken(frameQLParser.IN, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_cacheIndexStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCacheIndexStatement" ): - listener.enterCacheIndexStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCacheIndexStatement" ): - listener.exitCacheIndexStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCacheIndexStatement" ): - return visitor.visitCacheIndexStatement(self) - else: - return visitor.visitChildren(self) - - - - - def cacheIndexStatement(self): - - localctx = frameQLParser.CacheIndexStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 458, self.RULE_cacheIndexStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5023 - self.match(frameQLParser.CACHE) - self.state = 5024 - self.match(frameQLParser.INDEX) - self.state = 5025 - self.tableIndexes() - self.state = 5030 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5026 - self.match(frameQLParser.COMMA) - self.state = 5027 - self.tableIndexes() - self.state = 5032 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 5040 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PARTITION: - self.state = 5033 - self.match(frameQLParser.PARTITION) - self.state = 5034 - self.match(frameQLParser.LR_BRACKET) - self.state = 5037 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.state = 5035 - self.uidList() - pass - elif token in [frameQLParser.ALL]: - self.state = 5036 - self.match(frameQLParser.ALL) - pass - else: - raise NoViableAltException(self) - - self.state = 5039 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 5042 - self.match(frameQLParser.IN) - self.state = 5043 - localctx.schema = self.uid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class FlushStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.flushFormat = None # Token - - def FLUSH(self): - return self.getToken(frameQLParser.FLUSH, 0) - - def flushOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.FlushOptionContext) - else: - return self.getTypedRuleContext(frameQLParser.FlushOptionContext,i) - - - def NO_WRITE_TO_BINLOG(self): - return self.getToken(frameQLParser.NO_WRITE_TO_BINLOG, 0) - - def LOCAL(self): - return self.getToken(frameQLParser.LOCAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_flushStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFlushStatement" ): - listener.enterFlushStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFlushStatement" ): - listener.exitFlushStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitFlushStatement" ): - return visitor.visitFlushStatement(self) - else: - return visitor.visitChildren(self) - - - - - def flushStatement(self): - - localctx = frameQLParser.FlushStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 460, self.RULE_flushStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5045 - self.match(frameQLParser.FLUSH) - self.state = 5047 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NO_WRITE_TO_BINLOG or _la==frameQLParser.LOCAL: - self.state = 5046 - localctx.flushFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.NO_WRITE_TO_BINLOG or _la==frameQLParser.LOCAL): - localctx.flushFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 5049 - self.flushOption() - self.state = 5054 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5050 - self.match(frameQLParser.COMMA) - self.state = 5051 - self.flushOption() - self.state = 5056 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class KillStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.connectionFormat = None # Token - - def KILL(self): - return self.getToken(frameQLParser.KILL, 0) - - def decimalLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DecimalLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,i) - - - def CONNECTION(self): - return self.getToken(frameQLParser.CONNECTION, 0) - - def QUERY(self): - return self.getToken(frameQLParser.QUERY, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_killStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterKillStatement" ): - listener.enterKillStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitKillStatement" ): - listener.exitKillStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitKillStatement" ): - return visitor.visitKillStatement(self) - else: - return visitor.visitChildren(self) - - - - - def killStatement(self): - - localctx = frameQLParser.KillStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 462, self.RULE_killStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5057 - self.match(frameQLParser.KILL) - self.state = 5059 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CONNECTION or _la==frameQLParser.QUERY: - self.state = 5058 - localctx.connectionFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.CONNECTION or _la==frameQLParser.QUERY): - localctx.connectionFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 5062 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 5061 - self.decimalLiteral() - self.state = 5064 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (((((_la - 958)) & ~0x3f) == 0 and ((1 << (_la - 958)) & ((1 << (frameQLParser.ZERO_DECIMAL - 958)) | (1 << (frameQLParser.ONE_DECIMAL - 958)) | (1 << (frameQLParser.TWO_DECIMAL - 958)) | (1 << (frameQLParser.DECIMAL_LITERAL - 958)))) != 0)): - break - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class LoadIndexIntoCacheContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LOAD(self): - return self.getToken(frameQLParser.LOAD, 0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - - def INTO(self): - return self.getToken(frameQLParser.INTO, 0) - - def CACHE(self): - return self.getToken(frameQLParser.CACHE, 0) - - def loadedTableIndexes(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.LoadedTableIndexesContext) - else: - return self.getTypedRuleContext(frameQLParser.LoadedTableIndexesContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_loadIndexIntoCache - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLoadIndexIntoCache" ): - listener.enterLoadIndexIntoCache(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLoadIndexIntoCache" ): - listener.exitLoadIndexIntoCache(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitLoadIndexIntoCache" ): - return visitor.visitLoadIndexIntoCache(self) - else: - return visitor.visitChildren(self) - - - - - def loadIndexIntoCache(self): - - localctx = frameQLParser.LoadIndexIntoCacheContext(self, self._ctx, self.state) - self.enterRule(localctx, 464, self.RULE_loadIndexIntoCache) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5066 - self.match(frameQLParser.LOAD) - self.state = 5067 - self.match(frameQLParser.INDEX) - self.state = 5068 - self.match(frameQLParser.INTO) - self.state = 5069 - self.match(frameQLParser.CACHE) - self.state = 5070 - self.loadedTableIndexes() - self.state = 5075 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5071 - self.match(frameQLParser.COMMA) - self.state = 5072 - self.loadedTableIndexes() - self.state = 5077 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ResetStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def RESET(self): - return self.getToken(frameQLParser.RESET, 0) - - def QUERY(self): - return self.getToken(frameQLParser.QUERY, 0) - - def CACHE(self): - return self.getToken(frameQLParser.CACHE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_resetStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterResetStatement" ): - listener.enterResetStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitResetStatement" ): - listener.exitResetStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitResetStatement" ): - return visitor.visitResetStatement(self) - else: - return visitor.visitChildren(self) - - - - - def resetStatement(self): - - localctx = frameQLParser.ResetStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 466, self.RULE_resetStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5078 - self.match(frameQLParser.RESET) - self.state = 5079 - self.match(frameQLParser.QUERY) - self.state = 5080 - self.match(frameQLParser.CACHE) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ShutdownStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def SHUTDOWN(self): - return self.getToken(frameQLParser.SHUTDOWN, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_shutdownStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShutdownStatement" ): - listener.enterShutdownStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShutdownStatement" ): - listener.exitShutdownStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitShutdownStatement" ): - return visitor.visitShutdownStatement(self) - else: - return visitor.visitChildren(self) - - - - - def shutdownStatement(self): - - localctx = frameQLParser.ShutdownStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 468, self.RULE_shutdownStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5082 - self.match(frameQLParser.SHUTDOWN) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class TableIndexesContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.indexFormat = None # Token - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def uidList(self): - return self.getTypedRuleContext(frameQLParser.UidListContext,0) - - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_tableIndexes - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableIndexes" ): - listener.enterTableIndexes(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableIndexes" ): - listener.exitTableIndexes(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableIndexes" ): - return visitor.visitTableIndexes(self) - else: - return visitor.visitChildren(self) - - - - - def tableIndexes(self): - - localctx = frameQLParser.TableIndexesContext(self, self._ctx, self.state) - self.enterRule(localctx, 470, self.RULE_tableIndexes) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5084 - self.tableName() - self.state = 5092 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INDEX or _la==frameQLParser.KEY or _la==frameQLParser.LR_BRACKET: - self.state = 5086 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INDEX or _la==frameQLParser.KEY: - self.state = 5085 - localctx.indexFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.INDEX or _la==frameQLParser.KEY): - localctx.indexFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 5088 - self.match(frameQLParser.LR_BRACKET) - self.state = 5089 - self.uidList() - self.state = 5090 - self.match(frameQLParser.RR_BRACKET) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class FlushOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_flushOption - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class TableFlushOptionContext(FlushOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.FlushOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def TABLES(self): - return self.getToken(frameQLParser.TABLES, 0) - def tables(self): - return self.getTypedRuleContext(frameQLParser.TablesContext,0) - - def flushTableOption(self): - return self.getTypedRuleContext(frameQLParser.FlushTableOptionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableFlushOption" ): - listener.enterTableFlushOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableFlushOption" ): - listener.exitTableFlushOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableFlushOption" ): - return visitor.visitTableFlushOption(self) - else: - return visitor.visitChildren(self) - - - class ChannelFlushOptionContext(FlushOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.FlushOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def RELAY(self): - return self.getToken(frameQLParser.RELAY, 0) - def LOGS(self): - return self.getToken(frameQLParser.LOGS, 0) - def channelOption(self): - return self.getTypedRuleContext(frameQLParser.ChannelOptionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterChannelFlushOption" ): - listener.enterChannelFlushOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitChannelFlushOption" ): - listener.exitChannelFlushOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitChannelFlushOption" ): - return visitor.visitChannelFlushOption(self) - else: - return visitor.visitChildren(self) - - - class SimpleFlushOptionContext(FlushOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.FlushOptionContext - super().__init__(parser) - self.copyFrom(ctx) - - def DES_KEY_FILE(self): - return self.getToken(frameQLParser.DES_KEY_FILE, 0) - def HOSTS(self): - return self.getToken(frameQLParser.HOSTS, 0) - def LOGS(self): - return self.getToken(frameQLParser.LOGS, 0) - def OPTIMIZER_COSTS(self): - return self.getToken(frameQLParser.OPTIMIZER_COSTS, 0) - def PRIVILEGES(self): - return self.getToken(frameQLParser.PRIVILEGES, 0) - def QUERY(self): - return self.getToken(frameQLParser.QUERY, 0) - def CACHE(self): - return self.getToken(frameQLParser.CACHE, 0) - def STATUS(self): - return self.getToken(frameQLParser.STATUS, 0) - def USER_RESOURCES(self): - return self.getToken(frameQLParser.USER_RESOURCES, 0) - def TABLES(self): - return self.getToken(frameQLParser.TABLES, 0) - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - def READ(self): - return self.getToken(frameQLParser.READ, 0) - def LOCK(self): - return self.getToken(frameQLParser.LOCK, 0) - def BINARY(self): - return self.getToken(frameQLParser.BINARY, 0) - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - def ERROR(self): - return self.getToken(frameQLParser.ERROR, 0) - def GENERAL(self): - return self.getToken(frameQLParser.GENERAL, 0) - def RELAY(self): - return self.getToken(frameQLParser.RELAY, 0) - def SLOW(self): - return self.getToken(frameQLParser.SLOW, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSimpleFlushOption" ): - listener.enterSimpleFlushOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSimpleFlushOption" ): - listener.exitSimpleFlushOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSimpleFlushOption" ): - return visitor.visitSimpleFlushOption(self) - else: - return visitor.visitChildren(self) - - - - def flushOption(self): - - localctx = frameQLParser.FlushOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 472, self.RULE_flushOption) - self._la = 0 # Token type - try: - self.state = 5124 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,736,self._ctx) - if la_ == 1: - localctx = frameQLParser.SimpleFlushOptionContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 5112 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DES_KEY_FILE]: - self.state = 5094 - self.match(frameQLParser.DES_KEY_FILE) - pass - elif token in [frameQLParser.HOSTS]: - self.state = 5095 - self.match(frameQLParser.HOSTS) - pass - elif token in [frameQLParser.BINARY, frameQLParser.ENGINE, frameQLParser.ERROR, frameQLParser.GENERAL, frameQLParser.LOGS, frameQLParser.RELAY, frameQLParser.SLOW]: - self.state = 5097 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.BINARY or ((((_la - 315)) & ~0x3f) == 0 and ((1 << (_la - 315)) & ((1 << (frameQLParser.ENGINE - 315)) | (1 << (frameQLParser.ERROR - 315)) | (1 << (frameQLParser.GENERAL - 315)))) != 0) or _la==frameQLParser.RELAY or _la==frameQLParser.SLOW: - self.state = 5096 - _la = self._input.LA(1) - if not(_la==frameQLParser.BINARY or ((((_la - 315)) & ~0x3f) == 0 and ((1 << (_la - 315)) & ((1 << (frameQLParser.ENGINE - 315)) | (1 << (frameQLParser.ERROR - 315)) | (1 << (frameQLParser.GENERAL - 315)))) != 0) or _la==frameQLParser.RELAY or _la==frameQLParser.SLOW): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 5099 - self.match(frameQLParser.LOGS) - pass - elif token in [frameQLParser.OPTIMIZER_COSTS]: - self.state = 5100 - self.match(frameQLParser.OPTIMIZER_COSTS) - pass - elif token in [frameQLParser.PRIVILEGES]: - self.state = 5101 - self.match(frameQLParser.PRIVILEGES) - pass - elif token in [frameQLParser.QUERY]: - self.state = 5102 - self.match(frameQLParser.QUERY) - self.state = 5103 - self.match(frameQLParser.CACHE) - pass - elif token in [frameQLParser.STATUS]: - self.state = 5104 - self.match(frameQLParser.STATUS) - pass - elif token in [frameQLParser.USER_RESOURCES]: - self.state = 5105 - self.match(frameQLParser.USER_RESOURCES) - pass - elif token in [frameQLParser.TABLES]: - self.state = 5106 - self.match(frameQLParser.TABLES) - self.state = 5110 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.WITH: - self.state = 5107 - self.match(frameQLParser.WITH) - self.state = 5108 - self.match(frameQLParser.READ) - self.state = 5109 - self.match(frameQLParser.LOCK) - - - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 2: - localctx = frameQLParser.ChannelFlushOptionContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 5114 - self.match(frameQLParser.RELAY) - self.state = 5115 - self.match(frameQLParser.LOGS) - self.state = 5117 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR: - self.state = 5116 - self.channelOption() - - - pass - - elif la_ == 3: - localctx = frameQLParser.TableFlushOptionContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 5119 - self.match(frameQLParser.TABLES) - self.state = 5120 - self.tables() - self.state = 5122 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR or _la==frameQLParser.WITH: - self.state = 5121 - self.flushTableOption() - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class FlushTableOptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def WITH(self): - return self.getToken(frameQLParser.WITH, 0) - - def READ(self): - return self.getToken(frameQLParser.READ, 0) - - def LOCK(self): - return self.getToken(frameQLParser.LOCK, 0) - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def EXPORT(self): - return self.getToken(frameQLParser.EXPORT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_flushTableOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFlushTableOption" ): - listener.enterFlushTableOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFlushTableOption" ): - listener.exitFlushTableOption(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitFlushTableOption" ): - return visitor.visitFlushTableOption(self) - else: - return visitor.visitChildren(self) - - - - - def flushTableOption(self): - - localctx = frameQLParser.FlushTableOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 474, self.RULE_flushTableOption) - try: - self.state = 5131 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.WITH]: - self.enterOuterAlt(localctx, 1) - self.state = 5126 - self.match(frameQLParser.WITH) - self.state = 5127 - self.match(frameQLParser.READ) - self.state = 5128 - self.match(frameQLParser.LOCK) - pass - elif token in [frameQLParser.FOR]: - self.enterOuterAlt(localctx, 2) - self.state = 5129 - self.match(frameQLParser.FOR) - self.state = 5130 - self.match(frameQLParser.EXPORT) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class LoadedTableIndexesContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.partitionList = None # UidListContext - self.indexFormat = None # Token - self.indexList = None # UidListContext - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def PARTITION(self): - return self.getToken(frameQLParser.PARTITION, 0) - - def IGNORE(self): - return self.getToken(frameQLParser.IGNORE, 0) - - def LEAVES(self): - return self.getToken(frameQLParser.LEAVES, 0) - - def uidList(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidListContext) - else: - return self.getTypedRuleContext(frameQLParser.UidListContext,i) - - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def INDEX(self): - return self.getToken(frameQLParser.INDEX, 0) - - def KEY(self): - return self.getToken(frameQLParser.KEY, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_loadedTableIndexes - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLoadedTableIndexes" ): - listener.enterLoadedTableIndexes(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLoadedTableIndexes" ): - listener.exitLoadedTableIndexes(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitLoadedTableIndexes" ): - return visitor.visitLoadedTableIndexes(self) - else: - return visitor.visitChildren(self) - - - - - def loadedTableIndexes(self): - - localctx = frameQLParser.LoadedTableIndexesContext(self, self._ctx, self.state) - self.enterRule(localctx, 476, self.RULE_loadedTableIndexes) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5133 - self.tableName() - self.state = 5141 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.PARTITION: - self.state = 5134 - self.match(frameQLParser.PARTITION) - self.state = 5135 - self.match(frameQLParser.LR_BRACKET) - self.state = 5138 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.STRING_LITERAL, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID]: - self.state = 5136 - localctx.partitionList = self.uidList() - pass - elif token in [frameQLParser.ALL]: - self.state = 5137 - self.match(frameQLParser.ALL) - pass - else: - raise NoViableAltException(self) - - self.state = 5140 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 5150 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INDEX or _la==frameQLParser.KEY or _la==frameQLParser.LR_BRACKET: - self.state = 5144 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INDEX or _la==frameQLParser.KEY: - self.state = 5143 - localctx.indexFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.INDEX or _la==frameQLParser.KEY): - localctx.indexFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 5146 - self.match(frameQLParser.LR_BRACKET) - self.state = 5147 - localctx.indexList = self.uidList() - self.state = 5148 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 5154 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.IGNORE: - self.state = 5152 - self.match(frameQLParser.IGNORE) - self.state = 5153 - self.match(frameQLParser.LEAVES) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SimpleDescribeStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.command = None # Token - self.column = None # UidContext - self.pattern = None # Token - - def tableName(self): - return self.getTypedRuleContext(frameQLParser.TableNameContext,0) - - - def EXPLAIN(self): - return self.getToken(frameQLParser.EXPLAIN, 0) - - def DESCRIBE(self): - return self.getToken(frameQLParser.DESCRIBE, 0) - - def DESC(self): - return self.getToken(frameQLParser.DESC, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_simpleDescribeStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSimpleDescribeStatement" ): - listener.enterSimpleDescribeStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSimpleDescribeStatement" ): - listener.exitSimpleDescribeStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSimpleDescribeStatement" ): - return visitor.visitSimpleDescribeStatement(self) - else: - return visitor.visitChildren(self) - - - - - def simpleDescribeStatement(self): - - localctx = frameQLParser.SimpleDescribeStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 478, self.RULE_simpleDescribeStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5156 - localctx.command = self._input.LT(1) - _la = self._input.LA(1) - if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << frameQLParser.DESC) | (1 << frameQLParser.DESCRIBE) | (1 << frameQLParser.EXPLAIN))) != 0)): - localctx.command = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5157 - self.tableName() - self.state = 5160 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,743,self._ctx) - if la_ == 1: - self.state = 5158 - localctx.column = self.uid() - - elif la_ == 2: - self.state = 5159 - localctx.pattern = self.match(frameQLParser.STRING_LITERAL) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class FullDescribeStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.command = None # Token - self.formatType = None # Token - self.formatValue = None # Token - - def describeObjectClause(self): - return self.getTypedRuleContext(frameQLParser.DescribeObjectClauseContext,0) - - - def EXPLAIN(self): - return self.getToken(frameQLParser.EXPLAIN, 0) - - def DESCRIBE(self): - return self.getToken(frameQLParser.DESCRIBE, 0) - - def DESC(self): - return self.getToken(frameQLParser.DESC, 0) - - def EXTENDED(self): - return self.getToken(frameQLParser.EXTENDED, 0) - - def PARTITIONS(self): - return self.getToken(frameQLParser.PARTITIONS, 0) - - def FORMAT(self): - return self.getToken(frameQLParser.FORMAT, 0) - - def TRADITIONAL(self): - return self.getToken(frameQLParser.TRADITIONAL, 0) - - def JSON(self): - return self.getToken(frameQLParser.JSON, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_fullDescribeStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFullDescribeStatement" ): - listener.enterFullDescribeStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFullDescribeStatement" ): - listener.exitFullDescribeStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitFullDescribeStatement" ): - return visitor.visitFullDescribeStatement(self) - else: - return visitor.visitChildren(self) - - - - - def fullDescribeStatement(self): - - localctx = frameQLParser.FullDescribeStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 480, self.RULE_fullDescribeStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5162 - localctx.command = self._input.LT(1) - _la = self._input.LA(1) - if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << frameQLParser.DESC) | (1 << frameQLParser.DESCRIBE) | (1 << frameQLParser.EXPLAIN))) != 0)): - localctx.command = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5166 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.EXTENDED or _la==frameQLParser.PARTITIONS or _la==frameQLParser.FORMAT: - self.state = 5163 - localctx.formatType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.EXTENDED or _la==frameQLParser.PARTITIONS or _la==frameQLParser.FORMAT): - localctx.formatType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5164 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 5165 - localctx.formatValue = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.JSON or _la==frameQLParser.TRADITIONAL): - localctx.formatValue = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 5168 - self.describeObjectClause() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class HelpStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def HELP(self): - return self.getToken(frameQLParser.HELP, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_helpStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHelpStatement" ): - listener.enterHelpStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHelpStatement" ): - listener.exitHelpStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitHelpStatement" ): - return visitor.visitHelpStatement(self) - else: - return visitor.visitChildren(self) - - - - - def helpStatement(self): - - localctx = frameQLParser.HelpStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 482, self.RULE_helpStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5170 - self.match(frameQLParser.HELP) - self.state = 5171 - self.match(frameQLParser.STRING_LITERAL) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class UseStatementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def USE(self): - return self.getToken(frameQLParser.USE, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_useStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUseStatement" ): - listener.enterUseStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUseStatement" ): - listener.exitUseStatement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUseStatement" ): - return visitor.visitUseStatement(self) - else: - return visitor.visitChildren(self) - - - - - def useStatement(self): - - localctx = frameQLParser.UseStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 484, self.RULE_useStatement) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5173 - self.match(frameQLParser.USE) - self.state = 5174 - self.uid() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DescribeObjectClauseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_describeObjectClause - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class DescribeStatementsContext(DescribeObjectClauseContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.DescribeObjectClauseContext - super().__init__(parser) - self.copyFrom(ctx) - - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - def deleteStatement(self): - return self.getTypedRuleContext(frameQLParser.DeleteStatementContext,0) - - def insertStatement(self): - return self.getTypedRuleContext(frameQLParser.InsertStatementContext,0) - - def replaceStatement(self): - return self.getTypedRuleContext(frameQLParser.ReplaceStatementContext,0) - - def updateStatement(self): - return self.getTypedRuleContext(frameQLParser.UpdateStatementContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDescribeStatements" ): - listener.enterDescribeStatements(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDescribeStatements" ): - listener.exitDescribeStatements(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDescribeStatements" ): - return visitor.visitDescribeStatements(self) - else: - return visitor.visitChildren(self) - - - class DescribeConnectionContext(DescribeObjectClauseContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.DescribeObjectClauseContext - super().__init__(parser) - self.copyFrom(ctx) - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - def CONNECTION(self): - return self.getToken(frameQLParser.CONNECTION, 0) - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDescribeConnection" ): - listener.enterDescribeConnection(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDescribeConnection" ): - listener.exitDescribeConnection(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDescribeConnection" ): - return visitor.visitDescribeConnection(self) - else: - return visitor.visitChildren(self) - - - - def describeObjectClause(self): - - localctx = frameQLParser.DescribeObjectClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 486, self.RULE_describeObjectClause) - try: - self.state = 5186 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DELETE, frameQLParser.INSERT, frameQLParser.REPLACE, frameQLParser.SELECT, frameQLParser.UPDATE, frameQLParser.LR_BRACKET]: - localctx = frameQLParser.DescribeStatementsContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 5181 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.SELECT, frameQLParser.LR_BRACKET]: - self.state = 5176 - self.selectStatement() - pass - elif token in [frameQLParser.DELETE]: - self.state = 5177 - self.deleteStatement() - pass - elif token in [frameQLParser.INSERT]: - self.state = 5178 - self.insertStatement() - pass - elif token in [frameQLParser.REPLACE]: - self.state = 5179 - self.replaceStatement() - pass - elif token in [frameQLParser.UPDATE]: - self.state = 5180 - self.updateStatement() - pass - else: - raise NoViableAltException(self) - - pass - elif token in [frameQLParser.FOR]: - localctx = frameQLParser.DescribeConnectionContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 5183 - self.match(frameQLParser.FOR) - self.state = 5184 - self.match(frameQLParser.CONNECTION) - self.state = 5185 - self.uid() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class FullIdContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def DOT_ID(self): - return self.getToken(frameQLParser.DOT_ID, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_fullId - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFullId" ): - listener.enterFullId(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFullId" ): - listener.exitFullId(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitFullId" ): - return visitor.visitFullId(self) - else: - return visitor.visitChildren(self) - - - - - def fullId(self): - - localctx = frameQLParser.FullIdContext(self, self._ctx, self.state) - self.enterRule(localctx, 488, self.RULE_fullId) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5188 - self.uid() - self.state = 5192 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,747,self._ctx) - if la_ == 1: - self.state = 5189 - self.match(frameQLParser.DOT_ID) - - elif la_ == 2: - self.state = 5190 - self.match(frameQLParser.DOT) - self.state = 5191 - self.uid() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class TableNameContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_tableName - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableName" ): - listener.enterTableName(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableName" ): - listener.exitTableName(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTableName" ): - return visitor.visitTableName(self) - else: - return visitor.visitChildren(self) - - - - - def tableName(self): - - localctx = frameQLParser.TableNameContext(self, self._ctx, self.state) - self.enterRule(localctx, 490, self.RULE_tableName) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5194 - self.fullId() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class FullColumnNameContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def dottedId(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DottedIdContext) - else: - return self.getTypedRuleContext(frameQLParser.DottedIdContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_fullColumnName - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFullColumnName" ): - listener.enterFullColumnName(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFullColumnName" ): - listener.exitFullColumnName(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitFullColumnName" ): - return visitor.visitFullColumnName(self) - else: - return visitor.visitChildren(self) - - - - - def fullColumnName(self): - - localctx = frameQLParser.FullColumnNameContext(self, self._ctx, self.state) - self.enterRule(localctx, 492, self.RULE_fullColumnName) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5196 - self.uid() - self.state = 5201 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,749,self._ctx) - if la_ == 1: - self.state = 5197 - self.dottedId() - self.state = 5199 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,748,self._ctx) - if la_ == 1: - self.state = 5198 - self.dottedId() - - - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class IndexColumnNameContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.sortType = None # Token - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def ASC(self): - return self.getToken(frameQLParser.ASC, 0) - - def DESC(self): - return self.getToken(frameQLParser.DESC, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_indexColumnName - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIndexColumnName" ): - listener.enterIndexColumnName(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIndexColumnName" ): - listener.exitIndexColumnName(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitIndexColumnName" ): - return visitor.visitIndexColumnName(self) - else: - return visitor.visitChildren(self) - - - - - def indexColumnName(self): - - localctx = frameQLParser.IndexColumnNameContext(self, self._ctx, self.state) - self.enterRule(localctx, 494, self.RULE_indexColumnName) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5203 - self.uid() - self.state = 5208 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 5204 - self.match(frameQLParser.LR_BRACKET) - self.state = 5205 - self.decimalLiteral() - self.state = 5206 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 5211 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ASC or _la==frameQLParser.DESC: - self.state = 5210 - localctx.sortType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ASC or _la==frameQLParser.DESC): - localctx.sortType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class UserNameContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def STRING_USER_NAME(self): - return self.getToken(frameQLParser.STRING_USER_NAME, 0) - - def ID(self): - return self.getToken(frameQLParser.ID, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_userName - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUserName" ): - listener.enterUserName(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUserName" ): - listener.exitUserName(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUserName" ): - return visitor.visitUserName(self) - else: - return visitor.visitChildren(self) - - - - - def userName(self): - - localctx = frameQLParser.UserNameContext(self, self._ctx, self.state) - self.enterRule(localctx, 496, self.RULE_userName) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5213 - _la = self._input.LA(1) - if not(_la==frameQLParser.ID or _la==frameQLParser.STRING_USER_NAME): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class MysqlVariableContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LOCAL_ID(self): - return self.getToken(frameQLParser.LOCAL_ID, 0) - - def GLOBAL_ID(self): - return self.getToken(frameQLParser.GLOBAL_ID, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_mysqlVariable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMysqlVariable" ): - listener.enterMysqlVariable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMysqlVariable" ): - listener.exitMysqlVariable(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitMysqlVariable" ): - return visitor.visitMysqlVariable(self) - else: - return visitor.visitChildren(self) - - - - - def mysqlVariable(self): - - localctx = frameQLParser.MysqlVariableContext(self, self._ctx, self.state) - self.enterRule(localctx, 498, self.RULE_mysqlVariable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5215 - _la = self._input.LA(1) - if not(_la==frameQLParser.LOCAL_ID or _la==frameQLParser.GLOBAL_ID): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CharsetNameContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def BINARY(self): - return self.getToken(frameQLParser.BINARY, 0) - - def charsetNameBase(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameBaseContext,0) - - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def CHARSET_REVERSE_QOUTE_STRING(self): - return self.getToken(frameQLParser.CHARSET_REVERSE_QOUTE_STRING, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_charsetName - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCharsetName" ): - listener.enterCharsetName(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCharsetName" ): - listener.exitCharsetName(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCharsetName" ): - return visitor.visitCharsetName(self) - else: - return visitor.visitChildren(self) - - - - - def charsetName(self): - - localctx = frameQLParser.CharsetNameContext(self, self._ctx, self.state) - self.enterRule(localctx, 500, self.RULE_charsetName) - try: - self.state = 5221 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.BINARY]: - self.enterOuterAlt(localctx, 1) - self.state = 5217 - self.match(frameQLParser.BINARY) - pass - elif token in [frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4]: - self.enterOuterAlt(localctx, 2) - self.state = 5218 - self.charsetNameBase() - pass - elif token in [frameQLParser.STRING_LITERAL]: - self.enterOuterAlt(localctx, 3) - self.state = 5219 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.CHARSET_REVERSE_QOUTE_STRING]: - self.enterOuterAlt(localctx, 4) - self.state = 5220 - self.match(frameQLParser.CHARSET_REVERSE_QOUTE_STRING) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CollationNameContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_collationName - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCollationName" ): - listener.enterCollationName(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCollationName" ): - listener.exitCollationName(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCollationName" ): - return visitor.visitCollationName(self) - else: - return visitor.visitChildren(self) - - - - - def collationName(self): - - localctx = frameQLParser.CollationNameContext(self, self._ctx, self.state) - self.enterRule(localctx, 502, self.RULE_collationName) - try: - self.state = 5225 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,753,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 5223 - self.uid() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 5224 - self.match(frameQLParser.STRING_LITERAL) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class EngineNameContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ARCHIVE(self): - return self.getToken(frameQLParser.ARCHIVE, 0) - - def BLACKHOLE(self): - return self.getToken(frameQLParser.BLACKHOLE, 0) - - def CSV(self): - return self.getToken(frameQLParser.CSV, 0) - - def FEDERATED(self): - return self.getToken(frameQLParser.FEDERATED, 0) - - def INNODB(self): - return self.getToken(frameQLParser.INNODB, 0) - - def MEMORY(self): - return self.getToken(frameQLParser.MEMORY, 0) - - def MRG_MYISAM(self): - return self.getToken(frameQLParser.MRG_MYISAM, 0) - - def MYISAM(self): - return self.getToken(frameQLParser.MYISAM, 0) - - def NDB(self): - return self.getToken(frameQLParser.NDB, 0) - - def NDBCLUSTER(self): - return self.getToken(frameQLParser.NDBCLUSTER, 0) - - def PERFOMANCE_SCHEMA(self): - return self.getToken(frameQLParser.PERFOMANCE_SCHEMA, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def REVERSE_QUOTE_ID(self): - return self.getToken(frameQLParser.REVERSE_QUOTE_ID, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_engineName - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterEngineName" ): - listener.enterEngineName(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitEngineName" ): - listener.exitEngineName(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitEngineName" ): - return visitor.visitEngineName(self) - else: - return visitor.visitChildren(self) - - - - - def engineName(self): - - localctx = frameQLParser.EngineNameContext(self, self._ctx, self.state) - self.enterRule(localctx, 504, self.RULE_engineName) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5227 - _la = self._input.LA(1) - if not(((((_la - 615)) & ~0x3f) == 0 and ((1 << (_la - 615)) & ((1 << (frameQLParser.ARCHIVE - 615)) | (1 << (frameQLParser.BLACKHOLE - 615)) | (1 << (frameQLParser.CSV - 615)) | (1 << (frameQLParser.FEDERATED - 615)) | (1 << (frameQLParser.INNODB - 615)) | (1 << (frameQLParser.MEMORY - 615)) | (1 << (frameQLParser.MRG_MYISAM - 615)) | (1 << (frameQLParser.MYISAM - 615)) | (1 << (frameQLParser.NDB - 615)) | (1 << (frameQLParser.NDBCLUSTER - 615)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 615)))) != 0) or _la==frameQLParser.STRING_LITERAL or _la==frameQLParser.REVERSE_QUOTE_ID): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class UuidSetContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def decimalLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DecimalLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_uuidSet - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUuidSet" ): - listener.enterUuidSet(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUuidSet" ): - listener.exitUuidSet(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUuidSet" ): - return visitor.visitUuidSet(self) - else: - return visitor.visitChildren(self) - - - - - def uuidSet(self): - - localctx = frameQLParser.UuidSetContext(self, self._ctx, self.state) - self.enterRule(localctx, 506, self.RULE_uuidSet) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5229 - self.decimalLiteral() - self.state = 5230 - self.match(frameQLParser.MINUS) - self.state = 5231 - self.decimalLiteral() - self.state = 5232 - self.match(frameQLParser.MINUS) - self.state = 5233 - self.decimalLiteral() - self.state = 5234 - self.match(frameQLParser.MINUS) - self.state = 5235 - self.decimalLiteral() - self.state = 5236 - self.match(frameQLParser.MINUS) - self.state = 5237 - self.decimalLiteral() - self.state = 5243 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 5238 - self.match(frameQLParser.COLON_SYMB) - self.state = 5239 - self.decimalLiteral() - self.state = 5240 - self.match(frameQLParser.MINUS) - self.state = 5241 - self.decimalLiteral() - self.state = 5245 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==frameQLParser.COLON_SYMB): - break - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class XidContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.globalTableUid = None # XuidStringIdContext - self.qualifier = None # XuidStringIdContext - self.idFormat = None # DecimalLiteralContext - - def xuidStringId(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.XuidStringIdContext) - else: - return self.getTypedRuleContext(frameQLParser.XuidStringIdContext,i) - - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_xid - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterXid" ): - listener.enterXid(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitXid" ): - listener.exitXid(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitXid" ): - return visitor.visitXid(self) - else: - return visitor.visitChildren(self) - - - - - def xid(self): - - localctx = frameQLParser.XidContext(self, self._ctx, self.state) - self.enterRule(localctx, 508, self.RULE_xid) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5247 - localctx.globalTableUid = self.xuidStringId() - self.state = 5254 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COMMA: - self.state = 5248 - self.match(frameQLParser.COMMA) - self.state = 5249 - localctx.qualifier = self.xuidStringId() - self.state = 5252 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COMMA: - self.state = 5250 - self.match(frameQLParser.COMMA) - self.state = 5251 - localctx.idFormat = self.decimalLiteral() - - - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class XuidStringIdContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def BIT_STRING(self): - return self.getToken(frameQLParser.BIT_STRING, 0) - - def HEXADECIMAL_LITERAL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.HEXADECIMAL_LITERAL) - else: - return self.getToken(frameQLParser.HEXADECIMAL_LITERAL, i) - - def getRuleIndex(self): - return frameQLParser.RULE_xuidStringId - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterXuidStringId" ): - listener.enterXuidStringId(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitXuidStringId" ): - listener.exitXuidStringId(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitXuidStringId" ): - return visitor.visitXuidStringId(self) - else: - return visitor.visitChildren(self) - - - - - def xuidStringId(self): - - localctx = frameQLParser.XuidStringIdContext(self, self._ctx, self.state) - self.enterRule(localctx, 510, self.RULE_xuidStringId) - self._la = 0 # Token type - try: - self.state = 5263 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.STRING_LITERAL]: - self.enterOuterAlt(localctx, 1) - self.state = 5256 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.BIT_STRING]: - self.enterOuterAlt(localctx, 2) - self.state = 5257 - self.match(frameQLParser.BIT_STRING) - pass - elif token in [frameQLParser.HEXADECIMAL_LITERAL]: - self.enterOuterAlt(localctx, 3) - self.state = 5259 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 5258 - self.match(frameQLParser.HEXADECIMAL_LITERAL) - self.state = 5261 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==frameQLParser.HEXADECIMAL_LITERAL): - break - - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class AuthPluginContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_authPlugin - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAuthPlugin" ): - listener.enterAuthPlugin(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAuthPlugin" ): - listener.exitAuthPlugin(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAuthPlugin" ): - return visitor.visitAuthPlugin(self) - else: - return visitor.visitChildren(self) - - - - - def authPlugin(self): - - localctx = frameQLParser.AuthPluginContext(self, self._ctx, self.state) - self.enterRule(localctx, 512, self.RULE_authPlugin) - try: - self.state = 5267 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,759,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 5265 - self.uid() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 5266 - self.match(frameQLParser.STRING_LITERAL) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class UidContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def simpleId(self): - return self.getTypedRuleContext(frameQLParser.SimpleIdContext,0) - - - def REVERSE_QUOTE_ID(self): - return self.getToken(frameQLParser.REVERSE_QUOTE_ID, 0) - - def CHARSET_REVERSE_QOUTE_STRING(self): - return self.getToken(frameQLParser.CHARSET_REVERSE_QOUTE_STRING, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_uid - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUid" ): - listener.enterUid(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUid" ): - listener.exitUid(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUid" ): - return visitor.visitUid(self) - else: - return visitor.visitChildren(self) - - - - - def uid(self): - - localctx = frameQLParser.UidContext(self, self._ctx, self.state) - self.enterRule(localctx, 514, self.RULE_uid) - try: - self.state = 5272 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,760,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 5269 - self.simpleId() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 5270 - self.match(frameQLParser.REVERSE_QUOTE_ID) - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 5271 - self.match(frameQLParser.CHARSET_REVERSE_QOUTE_STRING) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SimpleIdContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ID(self): - return self.getToken(frameQLParser.ID, 0) - - def charsetNameBase(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameBaseContext,0) - - - def transactionLevelBase(self): - return self.getTypedRuleContext(frameQLParser.TransactionLevelBaseContext,0) - - - def engineName(self): - return self.getTypedRuleContext(frameQLParser.EngineNameContext,0) - - - def privilegesBase(self): - return self.getTypedRuleContext(frameQLParser.PrivilegesBaseContext,0) - - - def intervalTypeBase(self): - return self.getTypedRuleContext(frameQLParser.IntervalTypeBaseContext,0) - - - def dataTypeBase(self): - return self.getTypedRuleContext(frameQLParser.DataTypeBaseContext,0) - - - def keywordsCanBeId(self): - return self.getTypedRuleContext(frameQLParser.KeywordsCanBeIdContext,0) - - - def functionNameBase(self): - return self.getTypedRuleContext(frameQLParser.FunctionNameBaseContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_simpleId - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSimpleId" ): - listener.enterSimpleId(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSimpleId" ): - listener.exitSimpleId(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSimpleId" ): - return visitor.visitSimpleId(self) - else: - return visitor.visitChildren(self) - - - - - def simpleId(self): - - localctx = frameQLParser.SimpleIdContext(self, self._ctx, self.state) - self.enterRule(localctx, 516, self.RULE_simpleId) - try: - self.state = 5283 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,761,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 5274 - self.match(frameQLParser.ID) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 5275 - self.charsetNameBase() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 5276 - self.transactionLevelBase() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 5277 - self.engineName() - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 5278 - self.privilegesBase() - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 5279 - self.intervalTypeBase() - pass - - elif la_ == 7: - self.enterOuterAlt(localctx, 7) - self.state = 5280 - self.dataTypeBase() - pass - - elif la_ == 8: - self.enterOuterAlt(localctx, 8) - self.state = 5281 - self.keywordsCanBeId() - pass - - elif la_ == 9: - self.enterOuterAlt(localctx, 9) - self.state = 5282 - self.functionNameBase() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DottedIdContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DOT_ID(self): - return self.getToken(frameQLParser.DOT_ID, 0) - - def uid(self): - return self.getTypedRuleContext(frameQLParser.UidContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_dottedId - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDottedId" ): - listener.enterDottedId(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDottedId" ): - listener.exitDottedId(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDottedId" ): - return visitor.visitDottedId(self) - else: - return visitor.visitChildren(self) - - - - - def dottedId(self): - - localctx = frameQLParser.DottedIdContext(self, self._ctx, self.state) - self.enterRule(localctx, 518, self.RULE_dottedId) - try: - self.state = 5288 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DOT_ID]: - self.enterOuterAlt(localctx, 1) - self.state = 5285 - self.match(frameQLParser.DOT_ID) - pass - elif token in [frameQLParser.DOT]: - self.enterOuterAlt(localctx, 2) - self.state = 5286 - self.match(frameQLParser.DOT) - self.state = 5287 - self.uid() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DecimalLiteralContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DECIMAL_LITERAL(self): - return self.getToken(frameQLParser.DECIMAL_LITERAL, 0) - - def ZERO_DECIMAL(self): - return self.getToken(frameQLParser.ZERO_DECIMAL, 0) - - def ONE_DECIMAL(self): - return self.getToken(frameQLParser.ONE_DECIMAL, 0) - - def TWO_DECIMAL(self): - return self.getToken(frameQLParser.TWO_DECIMAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_decimalLiteral - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDecimalLiteral" ): - listener.enterDecimalLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDecimalLiteral" ): - listener.exitDecimalLiteral(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDecimalLiteral" ): - return visitor.visitDecimalLiteral(self) - else: - return visitor.visitChildren(self) - - - - - def decimalLiteral(self): - - localctx = frameQLParser.DecimalLiteralContext(self, self._ctx, self.state) - self.enterRule(localctx, 520, self.RULE_decimalLiteral) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5290 - _la = self._input.LA(1) - if not(((((_la - 958)) & ~0x3f) == 0 and ((1 << (_la - 958)) & ((1 << (frameQLParser.ZERO_DECIMAL - 958)) | (1 << (frameQLParser.ONE_DECIMAL - 958)) | (1 << (frameQLParser.TWO_DECIMAL - 958)) | (1 << (frameQLParser.DECIMAL_LITERAL - 958)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class FileSizeLiteralContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def FILESIZE_LITERAL(self): - return self.getToken(frameQLParser.FILESIZE_LITERAL, 0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_fileSizeLiteral - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFileSizeLiteral" ): - listener.enterFileSizeLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFileSizeLiteral" ): - listener.exitFileSizeLiteral(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitFileSizeLiteral" ): - return visitor.visitFileSizeLiteral(self) - else: - return visitor.visitChildren(self) - - - - - def fileSizeLiteral(self): - - localctx = frameQLParser.FileSizeLiteralContext(self, self._ctx, self.state) - self.enterRule(localctx, 522, self.RULE_fileSizeLiteral) - try: - self.state = 5294 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.FILESIZE_LITERAL]: - self.enterOuterAlt(localctx, 1) - self.state = 5292 - self.match(frameQLParser.FILESIZE_LITERAL) - pass - elif token in [frameQLParser.ZERO_DECIMAL, frameQLParser.ONE_DECIMAL, frameQLParser.TWO_DECIMAL, frameQLParser.DECIMAL_LITERAL]: - self.enterOuterAlt(localctx, 2) - self.state = 5293 - self.decimalLiteral() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class StringLiteralContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def STRING_LITERAL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.STRING_LITERAL) - else: - return self.getToken(frameQLParser.STRING_LITERAL, i) - - def START_NATIONAL_STRING_LITERAL(self): - return self.getToken(frameQLParser.START_NATIONAL_STRING_LITERAL, 0) - - def STRING_CHARSET_NAME(self): - return self.getToken(frameQLParser.STRING_CHARSET_NAME, 0) - - def COLLATE(self): - return self.getToken(frameQLParser.COLLATE, 0) - - def collationName(self): - return self.getTypedRuleContext(frameQLParser.CollationNameContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_stringLiteral - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStringLiteral" ): - listener.enterStringLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStringLiteral" ): - listener.exitStringLiteral(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitStringLiteral" ): - return visitor.visitStringLiteral(self) - else: - return visitor.visitChildren(self) - - - - - def stringLiteral(self): - - localctx = frameQLParser.StringLiteralContext(self, self._ctx, self.state) - self.enterRule(localctx, 524, self.RULE_stringLiteral) - self._la = 0 # Token type - try: - self.state = 5319 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,770,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 5301 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.STRING_LITERAL, frameQLParser.STRING_CHARSET_NAME]: - self.state = 5297 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.STRING_CHARSET_NAME: - self.state = 5296 - self.match(frameQLParser.STRING_CHARSET_NAME) - - - self.state = 5299 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.START_NATIONAL_STRING_LITERAL]: - self.state = 5300 - self.match(frameQLParser.START_NATIONAL_STRING_LITERAL) - pass - else: - raise NoViableAltException(self) - - self.state = 5304 - self._errHandler.sync(self) - _alt = 1 - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt == 1: - self.state = 5303 - self.match(frameQLParser.STRING_LITERAL) - - else: - raise NoViableAltException(self) - self.state = 5306 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,766,self._ctx) - - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 5313 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.STRING_LITERAL, frameQLParser.STRING_CHARSET_NAME]: - self.state = 5309 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.STRING_CHARSET_NAME: - self.state = 5308 - self.match(frameQLParser.STRING_CHARSET_NAME) - - - self.state = 5311 - self.match(frameQLParser.STRING_LITERAL) - pass - elif token in [frameQLParser.START_NATIONAL_STRING_LITERAL]: - self.state = 5312 - self.match(frameQLParser.START_NATIONAL_STRING_LITERAL) - pass - else: - raise NoViableAltException(self) - - self.state = 5317 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,769,self._ctx) - if la_ == 1: - self.state = 5315 - self.match(frameQLParser.COLLATE) - self.state = 5316 - self.collationName() - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class BooleanLiteralContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def TRUE(self): - return self.getToken(frameQLParser.TRUE, 0) - - def FALSE(self): - return self.getToken(frameQLParser.FALSE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_booleanLiteral - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBooleanLiteral" ): - listener.enterBooleanLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBooleanLiteral" ): - listener.exitBooleanLiteral(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitBooleanLiteral" ): - return visitor.visitBooleanLiteral(self) - else: - return visitor.visitChildren(self) - - - - - def booleanLiteral(self): - - localctx = frameQLParser.BooleanLiteralContext(self, self._ctx, self.state) - self.enterRule(localctx, 526, self.RULE_booleanLiteral) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5321 - _la = self._input.LA(1) - if not(_la==frameQLParser.FALSE or _la==frameQLParser.TRUE): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class HexadecimalLiteralContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def HEXADECIMAL_LITERAL(self): - return self.getToken(frameQLParser.HEXADECIMAL_LITERAL, 0) - - def STRING_CHARSET_NAME(self): - return self.getToken(frameQLParser.STRING_CHARSET_NAME, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_hexadecimalLiteral - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHexadecimalLiteral" ): - listener.enterHexadecimalLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHexadecimalLiteral" ): - listener.exitHexadecimalLiteral(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitHexadecimalLiteral" ): - return visitor.visitHexadecimalLiteral(self) - else: - return visitor.visitChildren(self) - - - - - def hexadecimalLiteral(self): - - localctx = frameQLParser.HexadecimalLiteralContext(self, self._ctx, self.state) - self.enterRule(localctx, 528, self.RULE_hexadecimalLiteral) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5324 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.STRING_CHARSET_NAME: - self.state = 5323 - self.match(frameQLParser.STRING_CHARSET_NAME) - - - self.state = 5326 - self.match(frameQLParser.HEXADECIMAL_LITERAL) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class NullNotnullContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def NULL_LITERAL(self): - return self.getToken(frameQLParser.NULL_LITERAL, 0) - - def NULL_SPEC_LITERAL(self): - return self.getToken(frameQLParser.NULL_SPEC_LITERAL, 0) - - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_nullNotnull - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterNullNotnull" ): - listener.enterNullNotnull(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitNullNotnull" ): - listener.exitNullNotnull(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitNullNotnull" ): - return visitor.visitNullNotnull(self) - else: - return visitor.visitChildren(self) - - - - - def nullNotnull(self): - - localctx = frameQLParser.NullNotnullContext(self, self._ctx, self.state) - self.enterRule(localctx, 530, self.RULE_nullNotnull) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5329 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NOT: - self.state = 5328 - self.match(frameQLParser.NOT) - - - self.state = 5331 - _la = self._input.LA(1) - if not(_la==frameQLParser.NULL_LITERAL or _la==frameQLParser.NULL_SPEC_LITERAL): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ConstantContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.nullLiteral = None # Token - - def stringLiteral(self): - return self.getTypedRuleContext(frameQLParser.StringLiteralContext,0) - - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def hexadecimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.HexadecimalLiteralContext,0) - - - def booleanLiteral(self): - return self.getTypedRuleContext(frameQLParser.BooleanLiteralContext,0) - - - def REAL_LITERAL(self): - return self.getToken(frameQLParser.REAL_LITERAL, 0) - - def BIT_STRING(self): - return self.getToken(frameQLParser.BIT_STRING, 0) - - def NULL_LITERAL(self): - return self.getToken(frameQLParser.NULL_LITERAL, 0) - - def NULL_SPEC_LITERAL(self): - return self.getToken(frameQLParser.NULL_SPEC_LITERAL, 0) - - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_constant - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterConstant" ): - listener.enterConstant(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitConstant" ): - listener.exitConstant(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitConstant" ): - return visitor.visitConstant(self) - else: - return visitor.visitChildren(self) - - - - - def constant(self): - - localctx = frameQLParser.ConstantContext(self, self._ctx, self.state) - self.enterRule(localctx, 532, self.RULE_constant) - self._la = 0 # Token type - try: - self.state = 5345 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,774,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 5333 - self.stringLiteral() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 5334 - self.decimalLiteral() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 5335 - self.match(frameQLParser.MINUS) - self.state = 5336 - self.decimalLiteral() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 5337 - self.hexadecimalLiteral() - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 5338 - self.booleanLiteral() - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 5339 - self.match(frameQLParser.REAL_LITERAL) - pass - - elif la_ == 7: - self.enterOuterAlt(localctx, 7) - self.state = 5340 - self.match(frameQLParser.BIT_STRING) - pass - - elif la_ == 8: - self.enterOuterAlt(localctx, 8) - self.state = 5342 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NOT: - self.state = 5341 - self.match(frameQLParser.NOT) - - - self.state = 5344 - localctx.nullLiteral = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.NULL_LITERAL or _la==frameQLParser.NULL_SPEC_LITERAL): - localctx.nullLiteral = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DataTypeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_dataType - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class SpatialDataTypeContext(DataTypeContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.DataTypeContext - super().__init__(parser) - self.typeName = None # Token - self.copyFrom(ctx) - - def GEOMETRYCOLLECTION(self): - return self.getToken(frameQLParser.GEOMETRYCOLLECTION, 0) - def LINESTRING(self): - return self.getToken(frameQLParser.LINESTRING, 0) - def MULTILINESTRING(self): - return self.getToken(frameQLParser.MULTILINESTRING, 0) - def MULTIPOINT(self): - return self.getToken(frameQLParser.MULTIPOINT, 0) - def MULTIPOLYGON(self): - return self.getToken(frameQLParser.MULTIPOLYGON, 0) - def POINT(self): - return self.getToken(frameQLParser.POINT, 0) - def POLYGON(self): - return self.getToken(frameQLParser.POLYGON, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSpatialDataType" ): - listener.enterSpatialDataType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSpatialDataType" ): - listener.exitSpatialDataType(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSpatialDataType" ): - return visitor.visitSpatialDataType(self) - else: - return visitor.visitChildren(self) - - - class CollectionDataTypeContext(DataTypeContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.DataTypeContext - super().__init__(parser) - self.typeName = None # Token - self.copyFrom(ctx) - - def STRING_LITERAL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.STRING_LITERAL) - else: - return self.getToken(frameQLParser.STRING_LITERAL, i) - def ENUM(self): - return self.getToken(frameQLParser.ENUM, 0) - def SET(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.SET) - else: - return self.getToken(frameQLParser.SET, i) - def BINARY(self): - return self.getToken(frameQLParser.BINARY, 0) - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - def COLLATE(self): - return self.getToken(frameQLParser.COLLATE, 0) - def collationName(self): - return self.getTypedRuleContext(frameQLParser.CollationNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCollectionDataType" ): - listener.enterCollectionDataType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCollectionDataType" ): - listener.exitCollectionDataType(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCollectionDataType" ): - return visitor.visitCollectionDataType(self) - else: - return visitor.visitChildren(self) - - - class DimensionDataTypeContext(DataTypeContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.DataTypeContext - super().__init__(parser) - self.typeName = None # Token - self.copyFrom(ctx) - - def TINYINT(self): - return self.getToken(frameQLParser.TINYINT, 0) - def SMALLINT(self): - return self.getToken(frameQLParser.SMALLINT, 0) - def MEDIUMINT(self): - return self.getToken(frameQLParser.MEDIUMINT, 0) - def INT(self): - return self.getToken(frameQLParser.INT, 0) - def INTEGER(self): - return self.getToken(frameQLParser.INTEGER, 0) - def BIGINT(self): - return self.getToken(frameQLParser.BIGINT, 0) - def lengthOneDimension(self): - return self.getTypedRuleContext(frameQLParser.LengthOneDimensionContext,0) - - def UNSIGNED(self): - return self.getToken(frameQLParser.UNSIGNED, 0) - def ZEROFILL(self): - return self.getToken(frameQLParser.ZEROFILL, 0) - def REAL(self): - return self.getToken(frameQLParser.REAL, 0) - def DOUBLE(self): - return self.getToken(frameQLParser.DOUBLE, 0) - def FLOAT(self): - return self.getToken(frameQLParser.FLOAT, 0) - def lengthTwoDimension(self): - return self.getTypedRuleContext(frameQLParser.LengthTwoDimensionContext,0) - - def DECIMAL(self): - return self.getToken(frameQLParser.DECIMAL, 0) - def NUMERIC(self): - return self.getToken(frameQLParser.NUMERIC, 0) - def lengthTwoOptionalDimension(self): - return self.getTypedRuleContext(frameQLParser.LengthTwoOptionalDimensionContext,0) - - def BIT(self): - return self.getToken(frameQLParser.BIT, 0) - def TIME(self): - return self.getToken(frameQLParser.TIME, 0) - def TIMESTAMP(self): - return self.getToken(frameQLParser.TIMESTAMP, 0) - def DATETIME(self): - return self.getToken(frameQLParser.DATETIME, 0) - def BINARY(self): - return self.getToken(frameQLParser.BINARY, 0) - def VARBINARY(self): - return self.getToken(frameQLParser.VARBINARY, 0) - def YEAR(self): - return self.getToken(frameQLParser.YEAR, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDimensionDataType" ): - listener.enterDimensionDataType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDimensionDataType" ): - listener.exitDimensionDataType(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDimensionDataType" ): - return visitor.visitDimensionDataType(self) - else: - return visitor.visitChildren(self) - - - class StringDataTypeContext(DataTypeContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.DataTypeContext - super().__init__(parser) - self.typeName = None # Token - self.copyFrom(ctx) - - def CHAR(self): - return self.getToken(frameQLParser.CHAR, 0) - def VARCHAR(self): - return self.getToken(frameQLParser.VARCHAR, 0) - def TINYTEXT(self): - return self.getToken(frameQLParser.TINYTEXT, 0) - def TEXT(self): - return self.getToken(frameQLParser.TEXT, 0) - def MEDIUMTEXT(self): - return self.getToken(frameQLParser.MEDIUMTEXT, 0) - def LONGTEXT(self): - return self.getToken(frameQLParser.LONGTEXT, 0) - def lengthOneDimension(self): - return self.getTypedRuleContext(frameQLParser.LengthOneDimensionContext,0) - - def BINARY(self): - return self.getToken(frameQLParser.BINARY, 0) - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - def SET(self): - return self.getToken(frameQLParser.SET, 0) - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - def COLLATE(self): - return self.getToken(frameQLParser.COLLATE, 0) - def collationName(self): - return self.getTypedRuleContext(frameQLParser.CollationNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStringDataType" ): - listener.enterStringDataType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStringDataType" ): - listener.exitStringDataType(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitStringDataType" ): - return visitor.visitStringDataType(self) - else: - return visitor.visitChildren(self) - - - class SimpleDataTypeContext(DataTypeContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.DataTypeContext - super().__init__(parser) - self.typeName = None # Token - self.copyFrom(ctx) - - def DATE(self): - return self.getToken(frameQLParser.DATE, 0) - def TINYBLOB(self): - return self.getToken(frameQLParser.TINYBLOB, 0) - def BLOB(self): - return self.getToken(frameQLParser.BLOB, 0) - def MEDIUMBLOB(self): - return self.getToken(frameQLParser.MEDIUMBLOB, 0) - def LONGBLOB(self): - return self.getToken(frameQLParser.LONGBLOB, 0) - def BOOL(self): - return self.getToken(frameQLParser.BOOL, 0) - def BOOLEAN(self): - return self.getToken(frameQLParser.BOOLEAN, 0) - def SERIAL(self): - return self.getToken(frameQLParser.SERIAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSimpleDataType" ): - listener.enterSimpleDataType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSimpleDataType" ): - listener.exitSimpleDataType(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSimpleDataType" ): - return visitor.visitSimpleDataType(self) - else: - return visitor.visitChildren(self) - - - - def dataType(self): - - localctx = frameQLParser.DataTypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 534, self.RULE_dataType) - self._la = 0 # Token type - try: - self.state = 5422 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.CHAR, frameQLParser.VARCHAR, frameQLParser.TINYTEXT, frameQLParser.TEXT, frameQLParser.MEDIUMTEXT, frameQLParser.LONGTEXT]: - localctx = frameQLParser.StringDataTypeContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 5347 - localctx.typeName = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 189)) & ~0x3f) == 0 and ((1 << (_la - 189)) & ((1 << (frameQLParser.CHAR - 189)) | (1 << (frameQLParser.VARCHAR - 189)) | (1 << (frameQLParser.TINYTEXT - 189)) | (1 << (frameQLParser.TEXT - 189)) | (1 << (frameQLParser.MEDIUMTEXT - 189)) | (1 << (frameQLParser.LONGTEXT - 189)))) != 0)): - localctx.typeName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5349 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,775,self._ctx) - if la_ == 1: - self.state = 5348 - self.lengthOneDimension() - - - self.state = 5352 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.BINARY: - self.state = 5351 - self.match(frameQLParser.BINARY) - - - self.state = 5357 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CHARACTER: - self.state = 5354 - self.match(frameQLParser.CHARACTER) - self.state = 5355 - self.match(frameQLParser.SET) - self.state = 5356 - self.charsetName() - - - self.state = 5361 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLLATE: - self.state = 5359 - self.match(frameQLParser.COLLATE) - self.state = 5360 - self.collationName() - - - pass - elif token in [frameQLParser.TINYINT, frameQLParser.SMALLINT, frameQLParser.MEDIUMINT, frameQLParser.INT, frameQLParser.INTEGER, frameQLParser.BIGINT]: - localctx = frameQLParser.DimensionDataTypeContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 5363 - localctx.typeName = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 173)) & ~0x3f) == 0 and ((1 << (_la - 173)) & ((1 << (frameQLParser.TINYINT - 173)) | (1 << (frameQLParser.SMALLINT - 173)) | (1 << (frameQLParser.MEDIUMINT - 173)) | (1 << (frameQLParser.INT - 173)) | (1 << (frameQLParser.INTEGER - 173)) | (1 << (frameQLParser.BIGINT - 173)))) != 0)): - localctx.typeName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5365 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,779,self._ctx) - if la_ == 1: - self.state = 5364 - self.lengthOneDimension() - - - self.state = 5368 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.UNSIGNED: - self.state = 5367 - self.match(frameQLParser.UNSIGNED) - - - self.state = 5371 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ZEROFILL: - self.state = 5370 - self.match(frameQLParser.ZEROFILL) - - - pass - elif token in [frameQLParser.REAL, frameQLParser.DOUBLE, frameQLParser.FLOAT]: - localctx = frameQLParser.DimensionDataTypeContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 5373 - localctx.typeName = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 179)) & ~0x3f) == 0 and ((1 << (_la - 179)) & ((1 << (frameQLParser.REAL - 179)) | (1 << (frameQLParser.DOUBLE - 179)) | (1 << (frameQLParser.FLOAT - 179)))) != 0)): - localctx.typeName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5375 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,782,self._ctx) - if la_ == 1: - self.state = 5374 - self.lengthTwoDimension() - - - self.state = 5378 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.UNSIGNED: - self.state = 5377 - self.match(frameQLParser.UNSIGNED) - - - self.state = 5381 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ZEROFILL: - self.state = 5380 - self.match(frameQLParser.ZEROFILL) - - - pass - elif token in [frameQLParser.DECIMAL, frameQLParser.NUMERIC]: - localctx = frameQLParser.DimensionDataTypeContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 5383 - localctx.typeName = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.DECIMAL or _la==frameQLParser.NUMERIC): - localctx.typeName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5385 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,785,self._ctx) - if la_ == 1: - self.state = 5384 - self.lengthTwoOptionalDimension() - - - self.state = 5388 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.UNSIGNED: - self.state = 5387 - self.match(frameQLParser.UNSIGNED) - - - self.state = 5391 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ZEROFILL: - self.state = 5390 - self.match(frameQLParser.ZEROFILL) - - - pass - elif token in [frameQLParser.DATE, frameQLParser.TINYBLOB, frameQLParser.BLOB, frameQLParser.MEDIUMBLOB, frameQLParser.LONGBLOB, frameQLParser.SERIAL, frameQLParser.BOOL, frameQLParser.BOOLEAN]: - localctx = frameQLParser.SimpleDataTypeContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 5393 - localctx.typeName = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TINYBLOB - 184)) | (1 << (frameQLParser.BLOB - 184)) | (1 << (frameQLParser.MEDIUMBLOB - 184)) | (1 << (frameQLParser.LONGBLOB - 184)) | (1 << (frameQLParser.SERIAL - 184)))) != 0) or _la==frameQLParser.BOOL or _la==frameQLParser.BOOLEAN): - localctx.typeName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - elif token in [frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.BINARY, frameQLParser.VARBINARY, frameQLParser.BIT]: - localctx = frameQLParser.DimensionDataTypeContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 5394 - localctx.typeName = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 185)) & ~0x3f) == 0 and ((1 << (_la - 185)) & ((1 << (frameQLParser.TIME - 185)) | (1 << (frameQLParser.TIMESTAMP - 185)) | (1 << (frameQLParser.DATETIME - 185)) | (1 << (frameQLParser.YEAR - 185)) | (1 << (frameQLParser.BINARY - 185)) | (1 << (frameQLParser.VARBINARY - 185)))) != 0) or _la==frameQLParser.BIT): - localctx.typeName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5396 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,788,self._ctx) - if la_ == 1: - self.state = 5395 - self.lengthOneDimension() - - - pass - elif token in [frameQLParser.SET, frameQLParser.ENUM]: - localctx = frameQLParser.CollectionDataTypeContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 5398 - localctx.typeName = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.SET or _la==frameQLParser.ENUM): - localctx.typeName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5399 - self.match(frameQLParser.LR_BRACKET) - self.state = 5400 - self.match(frameQLParser.STRING_LITERAL) - self.state = 5405 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5401 - self.match(frameQLParser.COMMA) - self.state = 5402 - self.match(frameQLParser.STRING_LITERAL) - self.state = 5407 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 5408 - self.match(frameQLParser.RR_BRACKET) - self.state = 5410 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.BINARY: - self.state = 5409 - self.match(frameQLParser.BINARY) - - - self.state = 5415 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CHARACTER: - self.state = 5412 - self.match(frameQLParser.CHARACTER) - self.state = 5413 - self.match(frameQLParser.SET) - self.state = 5414 - self.charsetName() - - - self.state = 5419 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COLLATE: - self.state = 5417 - self.match(frameQLParser.COLLATE) - self.state = 5418 - self.collationName() - - - pass - elif token in [frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON]: - localctx = frameQLParser.SpatialDataTypeContext(self, localctx) - self.enterOuterAlt(localctx, 8) - self.state = 5421 - localctx.typeName = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 630)) & ~0x3f) == 0 and ((1 << (_la - 630)) & ((1 << (frameQLParser.GEOMETRYCOLLECTION - 630)) | (1 << (frameQLParser.LINESTRING - 630)) | (1 << (frameQLParser.MULTILINESTRING - 630)) | (1 << (frameQLParser.MULTIPOINT - 630)) | (1 << (frameQLParser.MULTIPOLYGON - 630)) | (1 << (frameQLParser.POINT - 630)) | (1 << (frameQLParser.POLYGON - 630)))) != 0)): - localctx.typeName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ConvertedDataTypeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.typeName = None # Token - - def BINARY(self): - return self.getToken(frameQLParser.BINARY, 0) - - def NCHAR(self): - return self.getToken(frameQLParser.NCHAR, 0) - - def lengthOneDimension(self): - return self.getTypedRuleContext(frameQLParser.LengthOneDimensionContext,0) - - - def CHAR(self): - return self.getToken(frameQLParser.CHAR, 0) - - def CHARACTER(self): - return self.getToken(frameQLParser.CHARACTER, 0) - - def SET(self): - return self.getToken(frameQLParser.SET, 0) - - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - - def DATE(self): - return self.getToken(frameQLParser.DATE, 0) - - def DATETIME(self): - return self.getToken(frameQLParser.DATETIME, 0) - - def TIME(self): - return self.getToken(frameQLParser.TIME, 0) - - def DECIMAL(self): - return self.getToken(frameQLParser.DECIMAL, 0) - - def lengthTwoDimension(self): - return self.getTypedRuleContext(frameQLParser.LengthTwoDimensionContext,0) - - - def SIGNED(self): - return self.getToken(frameQLParser.SIGNED, 0) - - def UNSIGNED(self): - return self.getToken(frameQLParser.UNSIGNED, 0) - - def INTEGER(self): - return self.getToken(frameQLParser.INTEGER, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_convertedDataType - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterConvertedDataType" ): - listener.enterConvertedDataType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitConvertedDataType" ): - listener.exitConvertedDataType(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitConvertedDataType" ): - return visitor.visitConvertedDataType(self) - else: - return visitor.visitChildren(self) - - - - - def convertedDataType(self): - - localctx = frameQLParser.ConvertedDataTypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 536, self.RULE_convertedDataType) - self._la = 0 # Token type - try: - self.state = 5446 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.BINARY, frameQLParser.NCHAR]: - self.enterOuterAlt(localctx, 1) - self.state = 5424 - localctx.typeName = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.BINARY or _la==frameQLParser.NCHAR): - localctx.typeName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5426 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 5425 - self.lengthOneDimension() - - - pass - elif token in [frameQLParser.CHAR]: - self.enterOuterAlt(localctx, 2) - self.state = 5428 - localctx.typeName = self.match(frameQLParser.CHAR) - self.state = 5430 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 5429 - self.lengthOneDimension() - - - self.state = 5435 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.CHARACTER: - self.state = 5432 - self.match(frameQLParser.CHARACTER) - self.state = 5433 - self.match(frameQLParser.SET) - self.state = 5434 - self.charsetName() - - - pass - elif token in [frameQLParser.DATE, frameQLParser.TIME, frameQLParser.DATETIME]: - self.enterOuterAlt(localctx, 3) - self.state = 5437 - localctx.typeName = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.DATETIME - 184)))) != 0)): - localctx.typeName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - elif token in [frameQLParser.DECIMAL]: - self.enterOuterAlt(localctx, 4) - self.state = 5438 - localctx.typeName = self.match(frameQLParser.DECIMAL) - self.state = 5440 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 5439 - self.lengthTwoDimension() - - - pass - elif token in [frameQLParser.UNSIGNED, frameQLParser.SIGNED]: - self.enterOuterAlt(localctx, 5) - self.state = 5442 - _la = self._input.LA(1) - if not(_la==frameQLParser.UNSIGNED or _la==frameQLParser.SIGNED): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5444 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.INTEGER: - self.state = 5443 - self.match(frameQLParser.INTEGER) - - - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class LengthOneDimensionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_lengthOneDimension - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLengthOneDimension" ): - listener.enterLengthOneDimension(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLengthOneDimension" ): - listener.exitLengthOneDimension(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitLengthOneDimension" ): - return visitor.visitLengthOneDimension(self) - else: - return visitor.visitChildren(self) - - - - - def lengthOneDimension(self): - - localctx = frameQLParser.LengthOneDimensionContext(self, self._ctx, self.state) - self.enterRule(localctx, 538, self.RULE_lengthOneDimension) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5448 - self.match(frameQLParser.LR_BRACKET) - self.state = 5449 - self.decimalLiteral() - self.state = 5450 - self.match(frameQLParser.RR_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class LengthTwoDimensionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def decimalLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DecimalLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_lengthTwoDimension - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLengthTwoDimension" ): - listener.enterLengthTwoDimension(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLengthTwoDimension" ): - listener.exitLengthTwoDimension(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitLengthTwoDimension" ): - return visitor.visitLengthTwoDimension(self) - else: - return visitor.visitChildren(self) - - - - - def lengthTwoDimension(self): - - localctx = frameQLParser.LengthTwoDimensionContext(self, self._ctx, self.state) - self.enterRule(localctx, 540, self.RULE_lengthTwoDimension) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5452 - self.match(frameQLParser.LR_BRACKET) - self.state = 5453 - self.decimalLiteral() - self.state = 5454 - self.match(frameQLParser.COMMA) - self.state = 5455 - self.decimalLiteral() - self.state = 5456 - self.match(frameQLParser.RR_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class LengthTwoOptionalDimensionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def decimalLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DecimalLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_lengthTwoOptionalDimension - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLengthTwoOptionalDimension" ): - listener.enterLengthTwoOptionalDimension(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLengthTwoOptionalDimension" ): - listener.exitLengthTwoOptionalDimension(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitLengthTwoOptionalDimension" ): - return visitor.visitLengthTwoOptionalDimension(self) - else: - return visitor.visitChildren(self) - - - - - def lengthTwoOptionalDimension(self): - - localctx = frameQLParser.LengthTwoOptionalDimensionContext(self, self._ctx, self.state) - self.enterRule(localctx, 542, self.RULE_lengthTwoOptionalDimension) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5458 - self.match(frameQLParser.LR_BRACKET) - self.state = 5459 - self.decimalLiteral() - self.state = 5462 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.COMMA: - self.state = 5460 - self.match(frameQLParser.COMMA) - self.state = 5461 - self.decimalLiteral() - - - self.state = 5464 - self.match(frameQLParser.RR_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class UidListContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def uid(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.UidContext) - else: - return self.getTypedRuleContext(frameQLParser.UidContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_uidList - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUidList" ): - listener.enterUidList(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUidList" ): - listener.exitUidList(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUidList" ): - return visitor.visitUidList(self) - else: - return visitor.visitChildren(self) - - - - - def uidList(self): - - localctx = frameQLParser.UidListContext(self, self._ctx, self.state) - self.enterRule(localctx, 544, self.RULE_uidList) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5466 - self.uid() - self.state = 5471 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,801,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 5467 - self.match(frameQLParser.COMMA) - self.state = 5468 - self.uid() - self.state = 5473 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,801,self._ctx) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class TablesContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def tableName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.TableNameContext) - else: - return self.getTypedRuleContext(frameQLParser.TableNameContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_tables - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTables" ): - listener.enterTables(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTables" ): - listener.exitTables(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTables" ): - return visitor.visitTables(self) - else: - return visitor.visitChildren(self) - - - - - def tables(self): - - localctx = frameQLParser.TablesContext(self, self._ctx, self.state) - self.enterRule(localctx, 546, self.RULE_tables) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5474 - self.tableName() - self.state = 5479 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,802,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 5475 - self.match(frameQLParser.COMMA) - self.state = 5476 - self.tableName() - self.state = 5481 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,802,self._ctx) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class IndexColumnNamesContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def indexColumnName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.IndexColumnNameContext) - else: - return self.getTypedRuleContext(frameQLParser.IndexColumnNameContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_indexColumnNames - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIndexColumnNames" ): - listener.enterIndexColumnNames(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIndexColumnNames" ): - listener.exitIndexColumnNames(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitIndexColumnNames" ): - return visitor.visitIndexColumnNames(self) - else: - return visitor.visitChildren(self) - - - - - def indexColumnNames(self): - - localctx = frameQLParser.IndexColumnNamesContext(self, self._ctx, self.state) - self.enterRule(localctx, 548, self.RULE_indexColumnNames) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5482 - self.match(frameQLParser.LR_BRACKET) - self.state = 5483 - self.indexColumnName() - self.state = 5488 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5484 - self.match(frameQLParser.COMMA) - self.state = 5485 - self.indexColumnName() - self.state = 5490 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 5491 - self.match(frameQLParser.RR_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ExpressionsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def expression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_expressions - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExpressions" ): - listener.enterExpressions(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExpressions" ): - listener.exitExpressions(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitExpressions" ): - return visitor.visitExpressions(self) - else: - return visitor.visitChildren(self) - - - - - def expressions(self): - - localctx = frameQLParser.ExpressionsContext(self, self._ctx, self.state) - self.enterRule(localctx, 550, self.RULE_expressions) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5493 - self.expression(0) - self.state = 5498 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5494 - self.match(frameQLParser.COMMA) - self.state = 5495 - self.expression(0) - self.state = 5500 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ExpressionsWithDefaultsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def expressionOrDefault(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionOrDefaultContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionOrDefaultContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_expressionsWithDefaults - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExpressionsWithDefaults" ): - listener.enterExpressionsWithDefaults(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExpressionsWithDefaults" ): - listener.exitExpressionsWithDefaults(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitExpressionsWithDefaults" ): - return visitor.visitExpressionsWithDefaults(self) - else: - return visitor.visitChildren(self) - - - - - def expressionsWithDefaults(self): - - localctx = frameQLParser.ExpressionsWithDefaultsContext(self, self._ctx, self.state) - self.enterRule(localctx, 552, self.RULE_expressionsWithDefaults) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5501 - self.expressionOrDefault() - self.state = 5506 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5502 - self.match(frameQLParser.COMMA) - self.state = 5503 - self.expressionOrDefault() - self.state = 5508 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ConstantsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def constant(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ConstantContext) - else: - return self.getTypedRuleContext(frameQLParser.ConstantContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_constants - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterConstants" ): - listener.enterConstants(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitConstants" ): - listener.exitConstants(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitConstants" ): - return visitor.visitConstants(self) - else: - return visitor.visitChildren(self) - - - - - def constants(self): - - localctx = frameQLParser.ConstantsContext(self, self._ctx, self.state) - self.enterRule(localctx, 554, self.RULE_constants) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5509 - self.constant() - self.state = 5514 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5510 - self.match(frameQLParser.COMMA) - self.state = 5511 - self.constant() - self.state = 5516 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SimpleStringsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def STRING_LITERAL(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.STRING_LITERAL) - else: - return self.getToken(frameQLParser.STRING_LITERAL, i) - - def getRuleIndex(self): - return frameQLParser.RULE_simpleStrings - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSimpleStrings" ): - listener.enterSimpleStrings(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSimpleStrings" ): - listener.exitSimpleStrings(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSimpleStrings" ): - return visitor.visitSimpleStrings(self) - else: - return visitor.visitChildren(self) - - - - - def simpleStrings(self): - - localctx = frameQLParser.SimpleStringsContext(self, self._ctx, self.state) - self.enterRule(localctx, 556, self.RULE_simpleStrings) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5517 - self.match(frameQLParser.STRING_LITERAL) - self.state = 5522 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5518 - self.match(frameQLParser.COMMA) - self.state = 5519 - self.match(frameQLParser.STRING_LITERAL) - self.state = 5524 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class UserVariablesContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def LOCAL_ID(self, i:int=None): - if i is None: - return self.getTokens(frameQLParser.LOCAL_ID) - else: - return self.getToken(frameQLParser.LOCAL_ID, i) - - def getRuleIndex(self): - return frameQLParser.RULE_userVariables - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUserVariables" ): - listener.enterUserVariables(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUserVariables" ): - listener.exitUserVariables(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUserVariables" ): - return visitor.visitUserVariables(self) - else: - return visitor.visitChildren(self) - - - - - def userVariables(self): - - localctx = frameQLParser.UserVariablesContext(self, self._ctx, self.state) - self.enterRule(localctx, 558, self.RULE_userVariables) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5525 - self.match(frameQLParser.LOCAL_ID) - self.state = 5530 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5526 - self.match(frameQLParser.COMMA) - self.state = 5527 - self.match(frameQLParser.LOCAL_ID) - self.state = 5532 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DefaultValueContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def NULL_LITERAL(self): - return self.getToken(frameQLParser.NULL_LITERAL, 0) - - def constant(self): - return self.getTypedRuleContext(frameQLParser.ConstantContext,0) - - - def currentTimestamp(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.CurrentTimestampContext) - else: - return self.getTypedRuleContext(frameQLParser.CurrentTimestampContext,i) - - - def ON(self): - return self.getToken(frameQLParser.ON, 0) - - def UPDATE(self): - return self.getToken(frameQLParser.UPDATE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_defaultValue - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDefaultValue" ): - listener.enterDefaultValue(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDefaultValue" ): - listener.exitDefaultValue(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDefaultValue" ): - return visitor.visitDefaultValue(self) - else: - return visitor.visitChildren(self) - - - - - def defaultValue(self): - - localctx = frameQLParser.DefaultValueContext(self, self._ctx, self.state) - self.enterRule(localctx, 560, self.RULE_defaultValue) - self._la = 0 # Token type - try: - self.state = 5541 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,810,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 5533 - self.match(frameQLParser.NULL_LITERAL) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 5534 - self.constant() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 5535 - self.currentTimestamp() - self.state = 5539 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ON: - self.state = 5536 - self.match(frameQLParser.ON) - self.state = 5537 - self.match(frameQLParser.UPDATE) - self.state = 5538 - self.currentTimestamp() - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CurrentTimestampContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def NOW(self): - return self.getToken(frameQLParser.NOW, 0) - - def CURRENT_TIMESTAMP(self): - return self.getToken(frameQLParser.CURRENT_TIMESTAMP, 0) - - def LOCALTIME(self): - return self.getToken(frameQLParser.LOCALTIME, 0) - - def LOCALTIMESTAMP(self): - return self.getToken(frameQLParser.LOCALTIMESTAMP, 0) - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_currentTimestamp - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCurrentTimestamp" ): - listener.enterCurrentTimestamp(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCurrentTimestamp" ): - listener.exitCurrentTimestamp(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCurrentTimestamp" ): - return visitor.visitCurrentTimestamp(self) - else: - return visitor.visitChildren(self) - - - - - def currentTimestamp(self): - - localctx = frameQLParser.CurrentTimestampContext(self, self._ctx, self.state) - self.enterRule(localctx, 562, self.RULE_currentTimestamp) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5557 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.CURRENT_TIMESTAMP, frameQLParser.LOCALTIME, frameQLParser.LOCALTIMESTAMP]: - self.state = 5543 - _la = self._input.LA(1) - if not(((((_la - 233)) & ~0x3f) == 0 and ((1 << (_la - 233)) & ((1 << (frameQLParser.CURRENT_TIMESTAMP - 233)) | (1 << (frameQLParser.LOCALTIME - 233)) | (1 << (frameQLParser.LOCALTIMESTAMP - 233)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5549 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LR_BRACKET: - self.state = 5544 - self.match(frameQLParser.LR_BRACKET) - self.state = 5546 - self._errHandler.sync(self) - _la = self._input.LA(1) - if ((((_la - 958)) & ~0x3f) == 0 and ((1 << (_la - 958)) & ((1 << (frameQLParser.ZERO_DECIMAL - 958)) | (1 << (frameQLParser.ONE_DECIMAL - 958)) | (1 << (frameQLParser.TWO_DECIMAL - 958)) | (1 << (frameQLParser.DECIMAL_LITERAL - 958)))) != 0): - self.state = 5545 - self.decimalLiteral() - - - self.state = 5548 - self.match(frameQLParser.RR_BRACKET) - - - pass - elif token in [frameQLParser.NOW]: - self.state = 5551 - self.match(frameQLParser.NOW) - self.state = 5552 - self.match(frameQLParser.LR_BRACKET) - self.state = 5554 - self._errHandler.sync(self) - _la = self._input.LA(1) - if ((((_la - 958)) & ~0x3f) == 0 and ((1 << (_la - 958)) & ((1 << (frameQLParser.ZERO_DECIMAL - 958)) | (1 << (frameQLParser.ONE_DECIMAL - 958)) | (1 << (frameQLParser.TWO_DECIMAL - 958)) | (1 << (frameQLParser.DECIMAL_LITERAL - 958)))) != 0): - self.state = 5553 - self.decimalLiteral() - - - self.state = 5556 - self.match(frameQLParser.RR_BRACKET) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ExpressionOrDefaultContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def DEFAULT(self): - return self.getToken(frameQLParser.DEFAULT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_expressionOrDefault - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExpressionOrDefault" ): - listener.enterExpressionOrDefault(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExpressionOrDefault" ): - listener.exitExpressionOrDefault(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitExpressionOrDefault" ): - return visitor.visitExpressionOrDefault(self) - else: - return visitor.visitChildren(self) - - - - - def expressionOrDefault(self): - - localctx = frameQLParser.ExpressionOrDefaultContext(self, self._ctx, self.state) - self.enterRule(localctx, 564, self.RULE_expressionOrDefault) - try: - self.state = 5561 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.CASE, frameQLParser.CAST, frameQLParser.CONVERT, frameQLParser.CURRENT_USER, frameQLParser.DATABASE, frameQLParser.EXISTS, frameQLParser.FALSE, frameQLParser.IF, frameQLParser.INSERT, frameQLParser.INTERVAL, frameQLParser.LEFT, frameQLParser.NOT, frameQLParser.NULL_LITERAL, frameQLParser.REPLACE, frameQLParser.RIGHT, frameQLParser.TRUE, frameQLParser.VALUES, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.CHAR, frameQLParser.BINARY, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.AVG, frameQLParser.BIT_AND, frameQLParser.BIT_OR, frameQLParser.BIT_XOR, frameQLParser.COUNT, frameQLParser.GROUP_CONCAT, frameQLParser.MAX, frameQLParser.MIN, frameQLParser.STD, frameQLParser.STDDEV, frameQLParser.STDDEV_POP, frameQLParser.STDDEV_SAMP, frameQLParser.SUM, frameQLParser.VAR_POP, frameQLParser.VAR_SAMP, frameQLParser.VARIANCE, frameQLParser.FCOUNT, frameQLParser.CURRENT_DATE, frameQLParser.CURRENT_TIME, frameQLParser.CURRENT_TIMESTAMP, frameQLParser.LOCALTIME, frameQLParser.CURDATE, frameQLParser.CURTIME, frameQLParser.DATE_ADD, frameQLParser.DATE_SUB, frameQLParser.EXTRACT, frameQLParser.LOCALTIMESTAMP, frameQLParser.NOW, frameQLParser.POSITION, frameQLParser.SUBSTR, frameQLParser.SUBSTRING, frameQLParser.SYSDATE, frameQLParser.TRIM, frameQLParser.UTC_DATE, frameQLParser.UTC_TIME, frameQLParser.UTC_TIMESTAMP, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.PLUS, frameQLParser.MINUS, frameQLParser.EXCLAMATION_SYMBOL, frameQLParser.BIT_NOT_OP, frameQLParser.LR_BRACKET, frameQLParser.ZERO_DECIMAL, frameQLParser.ONE_DECIMAL, frameQLParser.TWO_DECIMAL, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.START_NATIONAL_STRING_LITERAL, frameQLParser.STRING_LITERAL, frameQLParser.DECIMAL_LITERAL, frameQLParser.HEXADECIMAL_LITERAL, frameQLParser.REAL_LITERAL, frameQLParser.NULL_SPEC_LITERAL, frameQLParser.BIT_STRING, frameQLParser.STRING_CHARSET_NAME, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID, frameQLParser.LOCAL_ID, frameQLParser.GLOBAL_ID]: - self.enterOuterAlt(localctx, 1) - self.state = 5559 - self.expression(0) - pass - elif token in [frameQLParser.DEFAULT]: - self.enterOuterAlt(localctx, 2) - self.state = 5560 - self.match(frameQLParser.DEFAULT) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class IfExistsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def IF(self): - return self.getToken(frameQLParser.IF, 0) - - def EXISTS(self): - return self.getToken(frameQLParser.EXISTS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_ifExists - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIfExists" ): - listener.enterIfExists(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIfExists" ): - listener.exitIfExists(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitIfExists" ): - return visitor.visitIfExists(self) - else: - return visitor.visitChildren(self) - - - - - def ifExists(self): - - localctx = frameQLParser.IfExistsContext(self, self._ctx, self.state) - self.enterRule(localctx, 566, self.RULE_ifExists) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5563 - self.match(frameQLParser.IF) - self.state = 5564 - self.match(frameQLParser.EXISTS) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class IfNotExistsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def IF(self): - return self.getToken(frameQLParser.IF, 0) - - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def EXISTS(self): - return self.getToken(frameQLParser.EXISTS, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_ifNotExists - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIfNotExists" ): - listener.enterIfNotExists(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIfNotExists" ): - listener.exitIfNotExists(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitIfNotExists" ): - return visitor.visitIfNotExists(self) - else: - return visitor.visitChildren(self) - - - - - def ifNotExists(self): - - localctx = frameQLParser.IfNotExistsContext(self, self._ctx, self.state) - self.enterRule(localctx, 568, self.RULE_ifNotExists) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5566 - self.match(frameQLParser.IF) - self.state = 5567 - self.match(frameQLParser.NOT) - self.state = 5568 - self.match(frameQLParser.EXISTS) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class FunctionCallContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_functionCall - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class SpecificFunctionCallContext(FunctionCallContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.FunctionCallContext - super().__init__(parser) - self.copyFrom(ctx) - - def specificFunction(self): - return self.getTypedRuleContext(frameQLParser.SpecificFunctionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSpecificFunctionCall" ): - listener.enterSpecificFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSpecificFunctionCall" ): - listener.exitSpecificFunctionCall(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSpecificFunctionCall" ): - return visitor.visitSpecificFunctionCall(self) - else: - return visitor.visitChildren(self) - - - class PasswordFunctionCallContext(FunctionCallContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.FunctionCallContext - super().__init__(parser) - self.copyFrom(ctx) - - def passwordFunctionClause(self): - return self.getTypedRuleContext(frameQLParser.PasswordFunctionClauseContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPasswordFunctionCall" ): - listener.enterPasswordFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPasswordFunctionCall" ): - listener.exitPasswordFunctionCall(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPasswordFunctionCall" ): - return visitor.visitPasswordFunctionCall(self) - else: - return visitor.visitChildren(self) - - - class UdfFunctionCallContext(FunctionCallContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.FunctionCallContext - super().__init__(parser) - self.copyFrom(ctx) - - def fullId(self): - return self.getTypedRuleContext(frameQLParser.FullIdContext,0) - - def functionArgs(self): - return self.getTypedRuleContext(frameQLParser.FunctionArgsContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUdfFunctionCall" ): - listener.enterUdfFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUdfFunctionCall" ): - listener.exitUdfFunctionCall(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUdfFunctionCall" ): - return visitor.visitUdfFunctionCall(self) - else: - return visitor.visitChildren(self) - - - class AggregateFunctionCallContext(FunctionCallContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.FunctionCallContext - super().__init__(parser) - self.copyFrom(ctx) - - def aggregateWindowedFunction(self): - return self.getTypedRuleContext(frameQLParser.AggregateWindowedFunctionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAggregateFunctionCall" ): - listener.enterAggregateFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAggregateFunctionCall" ): - listener.exitAggregateFunctionCall(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAggregateFunctionCall" ): - return visitor.visitAggregateFunctionCall(self) - else: - return visitor.visitChildren(self) - - - class ScalarFunctionCallContext(FunctionCallContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.FunctionCallContext - super().__init__(parser) - self.copyFrom(ctx) - - def scalarFunctionName(self): - return self.getTypedRuleContext(frameQLParser.ScalarFunctionNameContext,0) - - def functionArgs(self): - return self.getTypedRuleContext(frameQLParser.FunctionArgsContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterScalarFunctionCall" ): - listener.enterScalarFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitScalarFunctionCall" ): - listener.exitScalarFunctionCall(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitScalarFunctionCall" ): - return visitor.visitScalarFunctionCall(self) - else: - return visitor.visitChildren(self) - - - - def functionCall(self): - - localctx = frameQLParser.FunctionCallContext(self, self._ctx, self.state) - self.enterRule(localctx, 570, self.RULE_functionCall) - self._la = 0 # Token type - try: - self.state = 5587 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,818,self._ctx) - if la_ == 1: - localctx = frameQLParser.SpecificFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 5570 - self.specificFunction() - pass - - elif la_ == 2: - localctx = frameQLParser.AggregateFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 5571 - self.aggregateWindowedFunction() - pass - - elif la_ == 3: - localctx = frameQLParser.ScalarFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 5572 - self.scalarFunctionName() - self.state = 5573 - self.match(frameQLParser.LR_BRACKET) - self.state = 5575 - self._errHandler.sync(self) - _la = self._input.LA(1) - if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << frameQLParser.CASE) | (1 << frameQLParser.CAST) | (1 << frameQLParser.CONVERT) | (1 << frameQLParser.CURRENT_USER) | (1 << frameQLParser.DATABASE) | (1 << frameQLParser.EXISTS) | (1 << frameQLParser.FALSE))) != 0) or ((((_la - 68)) & ~0x3f) == 0 and ((1 << (_la - 68)) & ((1 << (frameQLParser.IF - 68)) | (1 << (frameQLParser.INSERT - 68)) | (1 << (frameQLParser.INTERVAL - 68)) | (1 << (frameQLParser.LEFT - 68)) | (1 << (frameQLParser.NOT - 68)) | (1 << (frameQLParser.NULL_LITERAL - 68)) | (1 << (frameQLParser.REPLACE - 68)) | (1 << (frameQLParser.RIGHT - 68)))) != 0) or ((((_la - 155)) & ~0x3f) == 0 and ((1 << (_la - 155)) & ((1 << (frameQLParser.TRUE - 155)) | (1 << (frameQLParser.VALUES - 155)) | (1 << (frameQLParser.DATE - 155)) | (1 << (frameQLParser.TIME - 155)) | (1 << (frameQLParser.TIMESTAMP - 155)) | (1 << (frameQLParser.DATETIME - 155)) | (1 << (frameQLParser.YEAR - 155)) | (1 << (frameQLParser.CHAR - 155)) | (1 << (frameQLParser.BINARY - 155)) | (1 << (frameQLParser.TEXT - 155)) | (1 << (frameQLParser.ENUM - 155)) | (1 << (frameQLParser.SERIAL - 155)) | (1 << (frameQLParser.AVG - 155)) | (1 << (frameQLParser.BIT_AND - 155)) | (1 << (frameQLParser.BIT_OR - 155)) | (1 << (frameQLParser.BIT_XOR - 155)) | (1 << (frameQLParser.COUNT - 155)))) != 0) or ((((_la - 219)) & ~0x3f) == 0 and ((1 << (_la - 219)) & ((1 << (frameQLParser.GROUP_CONCAT - 219)) | (1 << (frameQLParser.MAX - 219)) | (1 << (frameQLParser.MIN - 219)) | (1 << (frameQLParser.STD - 219)) | (1 << (frameQLParser.STDDEV - 219)) | (1 << (frameQLParser.STDDEV_POP - 219)) | (1 << (frameQLParser.STDDEV_SAMP - 219)) | (1 << (frameQLParser.SUM - 219)) | (1 << (frameQLParser.VAR_POP - 219)) | (1 << (frameQLParser.VAR_SAMP - 219)) | (1 << (frameQLParser.VARIANCE - 219)) | (1 << (frameQLParser.FCOUNT - 219)) | (1 << (frameQLParser.CURRENT_DATE - 219)) | (1 << (frameQLParser.CURRENT_TIME - 219)) | (1 << (frameQLParser.CURRENT_TIMESTAMP - 219)) | (1 << (frameQLParser.LOCALTIME - 219)) | (1 << (frameQLParser.CURDATE - 219)) | (1 << (frameQLParser.CURTIME - 219)) | (1 << (frameQLParser.DATE_ADD - 219)) | (1 << (frameQLParser.DATE_SUB - 219)) | (1 << (frameQLParser.EXTRACT - 219)) | (1 << (frameQLParser.LOCALTIMESTAMP - 219)) | (1 << (frameQLParser.NOW - 219)) | (1 << (frameQLParser.POSITION - 219)) | (1 << (frameQLParser.SUBSTR - 219)) | (1 << (frameQLParser.SUBSTRING - 219)) | (1 << (frameQLParser.SYSDATE - 219)) | (1 << (frameQLParser.TRIM - 219)) | (1 << (frameQLParser.UTC_DATE - 219)) | (1 << (frameQLParser.UTC_TIME - 219)) | (1 << (frameQLParser.UTC_TIMESTAMP - 219)) | (1 << (frameQLParser.ACCOUNT - 219)) | (1 << (frameQLParser.ACTION - 219)) | (1 << (frameQLParser.AFTER - 219)) | (1 << (frameQLParser.AGGREGATE - 219)) | (1 << (frameQLParser.ALGORITHM - 219)) | (1 << (frameQLParser.ANY - 219)) | (1 << (frameQLParser.AT - 219)) | (1 << (frameQLParser.AUTHORS - 219)) | (1 << (frameQLParser.AUTOCOMMIT - 219)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 219)) | (1 << (frameQLParser.AUTO_INCREMENT - 219)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 219)) | (1 << (frameQLParser.BEGIN - 219)) | (1 << (frameQLParser.BINLOG - 219)) | (1 << (frameQLParser.BIT - 219)) | (1 << (frameQLParser.BLOCK - 219)) | (1 << (frameQLParser.BOOL - 219)) | (1 << (frameQLParser.BOOLEAN - 219)) | (1 << (frameQLParser.BTREE - 219)) | (1 << (frameQLParser.CASCADED - 219)) | (1 << (frameQLParser.CHAIN - 219)) | (1 << (frameQLParser.CHANGED - 219)) | (1 << (frameQLParser.CHANNEL - 219)) | (1 << (frameQLParser.CHECKSUM - 219)) | (1 << (frameQLParser.CIPHER - 219)) | (1 << (frameQLParser.CLIENT - 219)) | (1 << (frameQLParser.COALESCE - 219)) | (1 << (frameQLParser.CODE - 219)) | (1 << (frameQLParser.COLUMNS - 219)) | (1 << (frameQLParser.COLUMN_FORMAT - 219)) | (1 << (frameQLParser.COMMENT - 219)))) != 0) or ((((_la - 283)) & ~0x3f) == 0 and ((1 << (_la - 283)) & ((1 << (frameQLParser.COMMIT - 283)) | (1 << (frameQLParser.COMPACT - 283)) | (1 << (frameQLParser.COMPLETION - 283)) | (1 << (frameQLParser.COMPRESSED - 283)) | (1 << (frameQLParser.COMPRESSION - 283)) | (1 << (frameQLParser.CONCURRENT - 283)) | (1 << (frameQLParser.CONNECTION - 283)) | (1 << (frameQLParser.CONSISTENT - 283)) | (1 << (frameQLParser.CONTAINS - 283)) | (1 << (frameQLParser.CONTEXT - 283)) | (1 << (frameQLParser.CONTRIBUTORS - 283)) | (1 << (frameQLParser.COPY - 283)) | (1 << (frameQLParser.CPU - 283)) | (1 << (frameQLParser.DATA - 283)) | (1 << (frameQLParser.DATAFILE - 283)) | (1 << (frameQLParser.DEALLOCATE - 283)) | (1 << (frameQLParser.DEFAULT_AUTH - 283)) | (1 << (frameQLParser.DEFINER - 283)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 283)) | (1 << (frameQLParser.DIRECTORY - 283)) | (1 << (frameQLParser.DISABLE - 283)) | (1 << (frameQLParser.DISCARD - 283)) | (1 << (frameQLParser.DISK - 283)) | (1 << (frameQLParser.DO - 283)) | (1 << (frameQLParser.DUMPFILE - 283)) | (1 << (frameQLParser.DUPLICATE - 283)) | (1 << (frameQLParser.DYNAMIC - 283)) | (1 << (frameQLParser.ENABLE - 283)) | (1 << (frameQLParser.ENCRYPTION - 283)) | (1 << (frameQLParser.ENDS - 283)) | (1 << (frameQLParser.ENGINE - 283)) | (1 << (frameQLParser.ENGINES - 283)) | (1 << (frameQLParser.ERROR - 283)) | (1 << (frameQLParser.ERRORS - 283)) | (1 << (frameQLParser.ESCAPE - 283)) | (1 << (frameQLParser.EVEN - 283)) | (1 << (frameQLParser.EVENT - 283)) | (1 << (frameQLParser.EVENTS - 283)) | (1 << (frameQLParser.EVERY - 283)) | (1 << (frameQLParser.EXCHANGE - 283)) | (1 << (frameQLParser.EXCLUSIVE - 283)) | (1 << (frameQLParser.EXPIRE - 283)) | (1 << (frameQLParser.EXTENDED - 283)) | (1 << (frameQLParser.EXTENT_SIZE - 283)) | (1 << (frameQLParser.FAST - 283)) | (1 << (frameQLParser.FAULTS - 283)) | (1 << (frameQLParser.FIELDS - 283)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 283)) | (1 << (frameQLParser.FILTER - 283)) | (1 << (frameQLParser.FIRST - 283)) | (1 << (frameQLParser.FIXED - 283)) | (1 << (frameQLParser.FOLLOWS - 283)) | (1 << (frameQLParser.FULL - 283)) | (1 << (frameQLParser.FUNCTION - 283)) | (1 << (frameQLParser.GLOBAL - 283)) | (1 << (frameQLParser.GRANTS - 283)) | (1 << (frameQLParser.GROUP_REPLICATION - 283)))) != 0) or ((((_la - 347)) & ~0x3f) == 0 and ((1 << (_la - 347)) & ((1 << (frameQLParser.HASH - 347)) | (1 << (frameQLParser.HOST - 347)) | (1 << (frameQLParser.IDENTIFIED - 347)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 347)) | (1 << (frameQLParser.IMPORT - 347)) | (1 << (frameQLParser.INDEXES - 347)) | (1 << (frameQLParser.INITIAL_SIZE - 347)) | (1 << (frameQLParser.INPLACE - 347)) | (1 << (frameQLParser.INSERT_METHOD - 347)) | (1 << (frameQLParser.INSTANCE - 347)) | (1 << (frameQLParser.INVOKER - 347)) | (1 << (frameQLParser.IO - 347)) | (1 << (frameQLParser.IO_THREAD - 347)) | (1 << (frameQLParser.IPC - 347)) | (1 << (frameQLParser.ISOLATION - 347)) | (1 << (frameQLParser.ISSUER - 347)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 347)) | (1 << (frameQLParser.LANGUAGE - 347)) | (1 << (frameQLParser.LAST - 347)) | (1 << (frameQLParser.LEAVES - 347)) | (1 << (frameQLParser.LESS - 347)) | (1 << (frameQLParser.LEVEL - 347)) | (1 << (frameQLParser.LIST - 347)) | (1 << (frameQLParser.LOCAL - 347)) | (1 << (frameQLParser.LOGFILE - 347)) | (1 << (frameQLParser.LOGS - 347)) | (1 << (frameQLParser.MASTER - 347)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 347)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 347)) | (1 << (frameQLParser.MASTER_DELAY - 347)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 347)) | (1 << (frameQLParser.MASTER_HOST - 347)) | (1 << (frameQLParser.MASTER_LOG_FILE - 347)) | (1 << (frameQLParser.MASTER_LOG_POS - 347)) | (1 << (frameQLParser.MASTER_PASSWORD - 347)) | (1 << (frameQLParser.MASTER_PORT - 347)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 347)) | (1 << (frameQLParser.MASTER_SSL - 347)) | (1 << (frameQLParser.MASTER_SSL_CA - 347)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 347)) | (1 << (frameQLParser.MASTER_SSL_CERT - 347)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 347)) | (1 << (frameQLParser.MASTER_SSL_CRL - 347)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 347)) | (1 << (frameQLParser.MASTER_SSL_KEY - 347)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 347)) | (1 << (frameQLParser.MASTER_USER - 347)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 347)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 347)) | (1 << (frameQLParser.MAX_ROWS - 347)) | (1 << (frameQLParser.MAX_SIZE - 347)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 347)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 347)) | (1 << (frameQLParser.MEDIUM - 347)) | (1 << (frameQLParser.MERGE - 347)) | (1 << (frameQLParser.MID - 347)) | (1 << (frameQLParser.MIGRATE - 347)) | (1 << (frameQLParser.MIN_ROWS - 347)) | (1 << (frameQLParser.MODIFY - 347)))) != 0) or ((((_la - 411)) & ~0x3f) == 0 and ((1 << (_la - 411)) & ((1 << (frameQLParser.MUTEX - 411)) | (1 << (frameQLParser.MYSQL - 411)) | (1 << (frameQLParser.NAME - 411)) | (1 << (frameQLParser.NAMES - 411)) | (1 << (frameQLParser.NCHAR - 411)) | (1 << (frameQLParser.NEVER - 411)) | (1 << (frameQLParser.NO - 411)) | (1 << (frameQLParser.NODEGROUP - 411)) | (1 << (frameQLParser.NONE - 411)) | (1 << (frameQLParser.OFFLINE - 411)) | (1 << (frameQLParser.OFFSET - 411)) | (1 << (frameQLParser.OJ - 411)) | (1 << (frameQLParser.OLD_PASSWORD - 411)) | (1 << (frameQLParser.ONE - 411)) | (1 << (frameQLParser.ONLINE - 411)) | (1 << (frameQLParser.ONLY - 411)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 411)) | (1 << (frameQLParser.OPTIONS - 411)) | (1 << (frameQLParser.OWNER - 411)) | (1 << (frameQLParser.PACK_KEYS - 411)) | (1 << (frameQLParser.PAGE - 411)) | (1 << (frameQLParser.PARSER - 411)) | (1 << (frameQLParser.PARTIAL - 411)) | (1 << (frameQLParser.PARTITIONING - 411)) | (1 << (frameQLParser.PARTITIONS - 411)) | (1 << (frameQLParser.PASSWORD - 411)) | (1 << (frameQLParser.PHASE - 411)) | (1 << (frameQLParser.PLUGIN_DIR - 411)) | (1 << (frameQLParser.PLUGINS - 411)) | (1 << (frameQLParser.PORT - 411)) | (1 << (frameQLParser.PRECEDES - 411)) | (1 << (frameQLParser.PREPARE - 411)) | (1 << (frameQLParser.PRESERVE - 411)) | (1 << (frameQLParser.PREV - 411)) | (1 << (frameQLParser.PROCESSLIST - 411)) | (1 << (frameQLParser.PROFILE - 411)) | (1 << (frameQLParser.PROFILES - 411)) | (1 << (frameQLParser.PROXY - 411)) | (1 << (frameQLParser.QUERY - 411)) | (1 << (frameQLParser.QUICK - 411)) | (1 << (frameQLParser.REBUILD - 411)) | (1 << (frameQLParser.RECOVER - 411)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 411)) | (1 << (frameQLParser.REDUNDANT - 411)) | (1 << (frameQLParser.RELAY_LOG_FILE - 411)) | (1 << (frameQLParser.RELAY_LOG_POS - 411)) | (1 << (frameQLParser.RELAYLOG - 411)) | (1 << (frameQLParser.REMOVE - 411)) | (1 << (frameQLParser.REORGANIZE - 411)) | (1 << (frameQLParser.REPAIR - 411)) | (1 << (frameQLParser.REPLICATE_DO_DB - 411)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 411)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 411)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 411)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 411)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 411)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 411)) | (1 << (frameQLParser.REPLICATION - 411)) | (1 << (frameQLParser.RESUME - 411)))) != 0) or ((((_la - 475)) & ~0x3f) == 0 and ((1 << (_la - 475)) & ((1 << (frameQLParser.RETURNS - 475)) | (1 << (frameQLParser.ROLLBACK - 475)) | (1 << (frameQLParser.ROLLUP - 475)) | (1 << (frameQLParser.ROTATE - 475)) | (1 << (frameQLParser.ROW - 475)) | (1 << (frameQLParser.ROWS - 475)) | (1 << (frameQLParser.ROW_FORMAT - 475)) | (1 << (frameQLParser.SAVEPOINT - 475)) | (1 << (frameQLParser.SCHEDULE - 475)) | (1 << (frameQLParser.SECURITY - 475)) | (1 << (frameQLParser.SERVER - 475)) | (1 << (frameQLParser.SESSION - 475)) | (1 << (frameQLParser.SHARE - 475)) | (1 << (frameQLParser.SHARED - 475)) | (1 << (frameQLParser.SIGNED - 475)) | (1 << (frameQLParser.SIMPLE - 475)) | (1 << (frameQLParser.SLAVE - 475)) | (1 << (frameQLParser.SNAPSHOT - 475)) | (1 << (frameQLParser.SOCKET - 475)) | (1 << (frameQLParser.SOME - 475)) | (1 << (frameQLParser.SOUNDS - 475)) | (1 << (frameQLParser.SOURCE - 475)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 475)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 475)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 475)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 475)) | (1 << (frameQLParser.SQL_CACHE - 475)) | (1 << (frameQLParser.SQL_NO_CACHE - 475)) | (1 << (frameQLParser.SQL_THREAD - 475)) | (1 << (frameQLParser.START - 475)) | (1 << (frameQLParser.STARTS - 475)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 475)) | (1 << (frameQLParser.STATS_PERSISTENT - 475)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 475)) | (1 << (frameQLParser.STATUS - 475)) | (1 << (frameQLParser.STOP - 475)) | (1 << (frameQLParser.STORAGE - 475)) | (1 << (frameQLParser.STRING - 475)) | (1 << (frameQLParser.SUBJECT - 475)) | (1 << (frameQLParser.SUBPARTITION - 475)) | (1 << (frameQLParser.SUBPARTITIONS - 475)) | (1 << (frameQLParser.SUSPEND - 475)) | (1 << (frameQLParser.SWAPS - 475)) | (1 << (frameQLParser.SWITCHES - 475)) | (1 << (frameQLParser.TABLESPACE - 475)) | (1 << (frameQLParser.TEMPORARY - 475)) | (1 << (frameQLParser.TEMPTABLE - 475)) | (1 << (frameQLParser.THAN - 475)) | (1 << (frameQLParser.TRANSACTION - 475)) | (1 << (frameQLParser.TRUNCATE - 475)) | (1 << (frameQLParser.UNDEFINED - 475)) | (1 << (frameQLParser.UNDOFILE - 475)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 475)) | (1 << (frameQLParser.UNKNOWN - 475)) | (1 << (frameQLParser.UPGRADE - 475)) | (1 << (frameQLParser.USER - 475)))) != 0) or ((((_la - 540)) & ~0x3f) == 0 and ((1 << (_la - 540)) & ((1 << (frameQLParser.VALIDATION - 540)) | (1 << (frameQLParser.VALUE - 540)) | (1 << (frameQLParser.VARIABLES - 540)) | (1 << (frameQLParser.VIEW - 540)) | (1 << (frameQLParser.WAIT - 540)) | (1 << (frameQLParser.WARNINGS - 540)) | (1 << (frameQLParser.WITHOUT - 540)) | (1 << (frameQLParser.WORK - 540)) | (1 << (frameQLParser.WRAPPER - 540)) | (1 << (frameQLParser.X509 - 540)) | (1 << (frameQLParser.XA - 540)) | (1 << (frameQLParser.XML - 540)) | (1 << (frameQLParser.QUARTER - 540)) | (1 << (frameQLParser.MONTH - 540)) | (1 << (frameQLParser.DAY - 540)) | (1 << (frameQLParser.HOUR - 540)) | (1 << (frameQLParser.MINUTE - 540)) | (1 << (frameQLParser.WEEK - 540)) | (1 << (frameQLParser.SECOND - 540)) | (1 << (frameQLParser.MICROSECOND - 540)) | (1 << (frameQLParser.TABLES - 540)) | (1 << (frameQLParser.ROUTINE - 540)) | (1 << (frameQLParser.EXECUTE - 540)) | (1 << (frameQLParser.FILE - 540)) | (1 << (frameQLParser.PROCESS - 540)) | (1 << (frameQLParser.RELOAD - 540)) | (1 << (frameQLParser.SHUTDOWN - 540)) | (1 << (frameQLParser.SUPER - 540)) | (1 << (frameQLParser.PRIVILEGES - 540)) | (1 << (frameQLParser.ARMSCII8 - 540)) | (1 << (frameQLParser.ASCII - 540)) | (1 << (frameQLParser.BIG5 - 540)) | (1 << (frameQLParser.CP1250 - 540)) | (1 << (frameQLParser.CP1251 - 540)) | (1 << (frameQLParser.CP1256 - 540)) | (1 << (frameQLParser.CP1257 - 540)) | (1 << (frameQLParser.CP850 - 540)) | (1 << (frameQLParser.CP852 - 540)) | (1 << (frameQLParser.CP866 - 540)) | (1 << (frameQLParser.CP932 - 540)) | (1 << (frameQLParser.DEC8 - 540)) | (1 << (frameQLParser.EUCJPMS - 540)) | (1 << (frameQLParser.EUCKR - 540)) | (1 << (frameQLParser.GB2312 - 540)) | (1 << (frameQLParser.GBK - 540)) | (1 << (frameQLParser.GEOSTD8 - 540)) | (1 << (frameQLParser.GREEK - 540)) | (1 << (frameQLParser.HEBREW - 540)) | (1 << (frameQLParser.HP8 - 540)) | (1 << (frameQLParser.KEYBCS2 - 540)) | (1 << (frameQLParser.KOI8R - 540)) | (1 << (frameQLParser.KOI8U - 540)) | (1 << (frameQLParser.LATIN1 - 540)) | (1 << (frameQLParser.LATIN2 - 540)) | (1 << (frameQLParser.LATIN5 - 540)) | (1 << (frameQLParser.LATIN7 - 540)) | (1 << (frameQLParser.MACCE - 540)) | (1 << (frameQLParser.MACROMAN - 540)))) != 0) or ((((_la - 604)) & ~0x3f) == 0 and ((1 << (_la - 604)) & ((1 << (frameQLParser.SJIS - 604)) | (1 << (frameQLParser.SWE7 - 604)) | (1 << (frameQLParser.TIS620 - 604)) | (1 << (frameQLParser.UCS2 - 604)) | (1 << (frameQLParser.UJIS - 604)) | (1 << (frameQLParser.UTF16 - 604)) | (1 << (frameQLParser.UTF16LE - 604)) | (1 << (frameQLParser.UTF32 - 604)) | (1 << (frameQLParser.UTF8 - 604)) | (1 << (frameQLParser.UTF8MB3 - 604)) | (1 << (frameQLParser.UTF8MB4 - 604)) | (1 << (frameQLParser.ARCHIVE - 604)) | (1 << (frameQLParser.BLACKHOLE - 604)) | (1 << (frameQLParser.CSV - 604)) | (1 << (frameQLParser.FEDERATED - 604)) | (1 << (frameQLParser.INNODB - 604)) | (1 << (frameQLParser.MEMORY - 604)) | (1 << (frameQLParser.MRG_MYISAM - 604)) | (1 << (frameQLParser.MYISAM - 604)) | (1 << (frameQLParser.NDB - 604)) | (1 << (frameQLParser.NDBCLUSTER - 604)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 604)) | (1 << (frameQLParser.REPEATABLE - 604)) | (1 << (frameQLParser.COMMITTED - 604)) | (1 << (frameQLParser.UNCOMMITTED - 604)) | (1 << (frameQLParser.SERIALIZABLE - 604)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 604)) | (1 << (frameQLParser.LINESTRING - 604)) | (1 << (frameQLParser.MULTILINESTRING - 604)) | (1 << (frameQLParser.MULTIPOINT - 604)) | (1 << (frameQLParser.MULTIPOLYGON - 604)) | (1 << (frameQLParser.POINT - 604)) | (1 << (frameQLParser.POLYGON - 604)) | (1 << (frameQLParser.ABS - 604)) | (1 << (frameQLParser.ACOS - 604)) | (1 << (frameQLParser.ADDDATE - 604)) | (1 << (frameQLParser.ADDTIME - 604)) | (1 << (frameQLParser.AES_DECRYPT - 604)) | (1 << (frameQLParser.AES_ENCRYPT - 604)) | (1 << (frameQLParser.AREA - 604)) | (1 << (frameQLParser.ASBINARY - 604)) | (1 << (frameQLParser.ASIN - 604)) | (1 << (frameQLParser.ASTEXT - 604)) | (1 << (frameQLParser.ASWKB - 604)) | (1 << (frameQLParser.ASWKT - 604)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 604)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 604)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 604)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 604)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 604)) | (1 << (frameQLParser.ATAN - 604)) | (1 << (frameQLParser.ATAN2 - 604)) | (1 << (frameQLParser.BENCHMARK - 604)) | (1 << (frameQLParser.BIN - 604)) | (1 << (frameQLParser.BIT_COUNT - 604)) | (1 << (frameQLParser.BIT_LENGTH - 604)) | (1 << (frameQLParser.BUFFER - 604)) | (1 << (frameQLParser.CEIL - 604)) | (1 << (frameQLParser.CEILING - 604)) | (1 << (frameQLParser.CENTROID - 604)) | (1 << (frameQLParser.CHARACTER_LENGTH - 604)) | (1 << (frameQLParser.CHARSET - 604)) | (1 << (frameQLParser.CHAR_LENGTH - 604)) | (1 << (frameQLParser.COERCIBILITY - 604)))) != 0) or ((((_la - 668)) & ~0x3f) == 0 and ((1 << (_la - 668)) & ((1 << (frameQLParser.COLLATION - 668)) | (1 << (frameQLParser.COMPRESS - 668)) | (1 << (frameQLParser.CONCAT - 668)) | (1 << (frameQLParser.CONCAT_WS - 668)) | (1 << (frameQLParser.CONNECTION_ID - 668)) | (1 << (frameQLParser.CONV - 668)) | (1 << (frameQLParser.CONVERT_TZ - 668)) | (1 << (frameQLParser.COS - 668)) | (1 << (frameQLParser.COT - 668)) | (1 << (frameQLParser.CRC32 - 668)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 668)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 668)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 668)) | (1 << (frameQLParser.CREATE_DIGEST - 668)) | (1 << (frameQLParser.CROSSES - 668)) | (1 << (frameQLParser.DATEDIFF - 668)) | (1 << (frameQLParser.DATE_FORMAT - 668)) | (1 << (frameQLParser.DAYNAME - 668)) | (1 << (frameQLParser.DAYOFMONTH - 668)) | (1 << (frameQLParser.DAYOFWEEK - 668)) | (1 << (frameQLParser.DAYOFYEAR - 668)) | (1 << (frameQLParser.DECODE - 668)) | (1 << (frameQLParser.DEGREES - 668)) | (1 << (frameQLParser.DES_DECRYPT - 668)) | (1 << (frameQLParser.DES_ENCRYPT - 668)) | (1 << (frameQLParser.DIMENSION - 668)) | (1 << (frameQLParser.DISJOINT - 668)) | (1 << (frameQLParser.ELT - 668)) | (1 << (frameQLParser.ENCODE - 668)) | (1 << (frameQLParser.ENCRYPT - 668)) | (1 << (frameQLParser.ENDPOINT - 668)) | (1 << (frameQLParser.ENVELOPE - 668)) | (1 << (frameQLParser.EQUALS - 668)) | (1 << (frameQLParser.EXP - 668)) | (1 << (frameQLParser.EXPORT_SET - 668)) | (1 << (frameQLParser.EXTERIORRING - 668)) | (1 << (frameQLParser.EXTRACTVALUE - 668)) | (1 << (frameQLParser.FIELD - 668)) | (1 << (frameQLParser.FIND_IN_SET - 668)) | (1 << (frameQLParser.FLOOR - 668)) | (1 << (frameQLParser.FORMAT - 668)) | (1 << (frameQLParser.FOUND_ROWS - 668)) | (1 << (frameQLParser.FROM_BASE64 - 668)) | (1 << (frameQLParser.FROM_DAYS - 668)) | (1 << (frameQLParser.FROM_UNIXTIME - 668)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 668)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 668)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 668)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 668)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 668)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 668)) | (1 << (frameQLParser.GEOMETRYN - 668)) | (1 << (frameQLParser.GEOMETRYTYPE - 668)) | (1 << (frameQLParser.GEOMFROMTEXT - 668)) | (1 << (frameQLParser.GEOMFROMWKB - 668)) | (1 << (frameQLParser.GET_FORMAT - 668)) | (1 << (frameQLParser.GET_LOCK - 668)) | (1 << (frameQLParser.GLENGTH - 668)) | (1 << (frameQLParser.GREATEST - 668)) | (1 << (frameQLParser.GTID_SUBSET - 668)) | (1 << (frameQLParser.GTID_SUBTRACT - 668)) | (1 << (frameQLParser.HEX - 668)) | (1 << (frameQLParser.IFNULL - 668)) | (1 << (frameQLParser.INET6_ATON - 668)))) != 0) or ((((_la - 732)) & ~0x3f) == 0 and ((1 << (_la - 732)) & ((1 << (frameQLParser.INET6_NTOA - 732)) | (1 << (frameQLParser.INET_ATON - 732)) | (1 << (frameQLParser.INET_NTOA - 732)) | (1 << (frameQLParser.INSTR - 732)) | (1 << (frameQLParser.INTERIORRINGN - 732)) | (1 << (frameQLParser.INTERSECTS - 732)) | (1 << (frameQLParser.ISCLOSED - 732)) | (1 << (frameQLParser.ISEMPTY - 732)) | (1 << (frameQLParser.ISNULL - 732)) | (1 << (frameQLParser.ISSIMPLE - 732)) | (1 << (frameQLParser.IS_FREE_LOCK - 732)) | (1 << (frameQLParser.IS_IPV4 - 732)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 732)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 732)) | (1 << (frameQLParser.IS_IPV6 - 732)) | (1 << (frameQLParser.IS_USED_LOCK - 732)) | (1 << (frameQLParser.LAST_INSERT_ID - 732)) | (1 << (frameQLParser.LCASE - 732)) | (1 << (frameQLParser.LEAST - 732)) | (1 << (frameQLParser.LENGTH - 732)) | (1 << (frameQLParser.LINEFROMTEXT - 732)) | (1 << (frameQLParser.LINEFROMWKB - 732)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 732)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 732)) | (1 << (frameQLParser.LN - 732)) | (1 << (frameQLParser.LOAD_FILE - 732)) | (1 << (frameQLParser.LOCATE - 732)) | (1 << (frameQLParser.LOG - 732)) | (1 << (frameQLParser.LOG10 - 732)) | (1 << (frameQLParser.LOG2 - 732)) | (1 << (frameQLParser.LOWER - 732)) | (1 << (frameQLParser.LPAD - 732)) | (1 << (frameQLParser.LTRIM - 732)) | (1 << (frameQLParser.MAKEDATE - 732)) | (1 << (frameQLParser.MAKETIME - 732)) | (1 << (frameQLParser.MAKE_SET - 732)) | (1 << (frameQLParser.MASTER_POS_WAIT - 732)) | (1 << (frameQLParser.MBRCONTAINS - 732)) | (1 << (frameQLParser.MBRDISJOINT - 732)) | (1 << (frameQLParser.MBREQUAL - 732)) | (1 << (frameQLParser.MBRINTERSECTS - 732)) | (1 << (frameQLParser.MBROVERLAPS - 732)) | (1 << (frameQLParser.MBRTOUCHES - 732)) | (1 << (frameQLParser.MBRWITHIN - 732)) | (1 << (frameQLParser.MD5 - 732)) | (1 << (frameQLParser.MLINEFROMTEXT - 732)) | (1 << (frameQLParser.MLINEFROMWKB - 732)) | (1 << (frameQLParser.MONTHNAME - 732)) | (1 << (frameQLParser.MPOINTFROMTEXT - 732)) | (1 << (frameQLParser.MPOINTFROMWKB - 732)) | (1 << (frameQLParser.MPOLYFROMTEXT - 732)) | (1 << (frameQLParser.MPOLYFROMWKB - 732)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 732)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 732)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 732)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 732)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 732)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 732)) | (1 << (frameQLParser.NAME_CONST - 732)) | (1 << (frameQLParser.NULLIF - 732)) | (1 << (frameQLParser.NUMGEOMETRIES - 732)) | (1 << (frameQLParser.NUMINTERIORRINGS - 732)) | (1 << (frameQLParser.NUMPOINTS - 732)) | (1 << (frameQLParser.OCT - 732)))) != 0) or ((((_la - 796)) & ~0x3f) == 0 and ((1 << (_la - 796)) & ((1 << (frameQLParser.OCTET_LENGTH - 796)) | (1 << (frameQLParser.ORD - 796)) | (1 << (frameQLParser.OVERLAPS - 796)) | (1 << (frameQLParser.PERIOD_ADD - 796)) | (1 << (frameQLParser.PERIOD_DIFF - 796)) | (1 << (frameQLParser.PI - 796)) | (1 << (frameQLParser.POINTFROMTEXT - 796)) | (1 << (frameQLParser.POINTFROMWKB - 796)) | (1 << (frameQLParser.POINTN - 796)) | (1 << (frameQLParser.POLYFROMTEXT - 796)) | (1 << (frameQLParser.POLYFROMWKB - 796)) | (1 << (frameQLParser.POLYGONFROMTEXT - 796)) | (1 << (frameQLParser.POLYGONFROMWKB - 796)) | (1 << (frameQLParser.POW - 796)) | (1 << (frameQLParser.POWER - 796)) | (1 << (frameQLParser.QUOTE - 796)) | (1 << (frameQLParser.RADIANS - 796)) | (1 << (frameQLParser.RAND - 796)) | (1 << (frameQLParser.RANDOM_BYTES - 796)) | (1 << (frameQLParser.RELEASE_LOCK - 796)) | (1 << (frameQLParser.REVERSE - 796)) | (1 << (frameQLParser.ROUND - 796)) | (1 << (frameQLParser.ROW_COUNT - 796)) | (1 << (frameQLParser.RPAD - 796)) | (1 << (frameQLParser.RTRIM - 796)) | (1 << (frameQLParser.SEC_TO_TIME - 796)) | (1 << (frameQLParser.SESSION_USER - 796)) | (1 << (frameQLParser.SHA - 796)) | (1 << (frameQLParser.SHA1 - 796)) | (1 << (frameQLParser.SHA2 - 796)) | (1 << (frameQLParser.SIGN - 796)) | (1 << (frameQLParser.SIN - 796)) | (1 << (frameQLParser.SLEEP - 796)) | (1 << (frameQLParser.SOUNDEX - 796)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 796)) | (1 << (frameQLParser.SQRT - 796)) | (1 << (frameQLParser.SRID - 796)) | (1 << (frameQLParser.STARTPOINT - 796)) | (1 << (frameQLParser.STRCMP - 796)) | (1 << (frameQLParser.STR_TO_DATE - 796)) | (1 << (frameQLParser.ST_AREA - 796)) | (1 << (frameQLParser.ST_ASBINARY - 796)) | (1 << (frameQLParser.ST_ASTEXT - 796)) | (1 << (frameQLParser.ST_ASWKB - 796)) | (1 << (frameQLParser.ST_ASWKT - 796)) | (1 << (frameQLParser.ST_BUFFER - 796)) | (1 << (frameQLParser.ST_CENTROID - 796)) | (1 << (frameQLParser.ST_CONTAINS - 796)) | (1 << (frameQLParser.ST_CROSSES - 796)) | (1 << (frameQLParser.ST_DIFFERENCE - 796)) | (1 << (frameQLParser.ST_DIMENSION - 796)) | (1 << (frameQLParser.ST_DISJOINT - 796)) | (1 << (frameQLParser.ST_DISTANCE - 796)) | (1 << (frameQLParser.ST_ENDPOINT - 796)) | (1 << (frameQLParser.ST_ENVELOPE - 796)) | (1 << (frameQLParser.ST_EQUALS - 796)) | (1 << (frameQLParser.ST_EXTERIORRING - 796)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 796)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 796)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 796)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 796)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 796)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 796)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 796)))) != 0) or ((((_la - 860)) & ~0x3f) == 0 and ((1 << (_la - 860)) & ((1 << (frameQLParser.ST_GEOMETRYN - 860)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 860)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 860)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 860)) | (1 << (frameQLParser.ST_INTERIORRINGN - 860)) | (1 << (frameQLParser.ST_INTERSECTION - 860)) | (1 << (frameQLParser.ST_INTERSECTS - 860)) | (1 << (frameQLParser.ST_ISCLOSED - 860)) | (1 << (frameQLParser.ST_ISEMPTY - 860)) | (1 << (frameQLParser.ST_ISSIMPLE - 860)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 860)) | (1 << (frameQLParser.ST_LINEFROMWKB - 860)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 860)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 860)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 860)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 860)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 860)) | (1 << (frameQLParser.ST_NUMPOINTS - 860)) | (1 << (frameQLParser.ST_OVERLAPS - 860)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 860)) | (1 << (frameQLParser.ST_POINTFROMWKB - 860)) | (1 << (frameQLParser.ST_POINTN - 860)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 860)) | (1 << (frameQLParser.ST_POLYFROMWKB - 860)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 860)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 860)) | (1 << (frameQLParser.ST_SRID - 860)) | (1 << (frameQLParser.ST_STARTPOINT - 860)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 860)) | (1 << (frameQLParser.ST_TOUCHES - 860)) | (1 << (frameQLParser.ST_UNION - 860)) | (1 << (frameQLParser.ST_WITHIN - 860)) | (1 << (frameQLParser.ST_X - 860)) | (1 << (frameQLParser.ST_Y - 860)) | (1 << (frameQLParser.SUBDATE - 860)) | (1 << (frameQLParser.SUBSTRING_INDEX - 860)) | (1 << (frameQLParser.SUBTIME - 860)) | (1 << (frameQLParser.SYSTEM_USER - 860)) | (1 << (frameQLParser.TAN - 860)) | (1 << (frameQLParser.TIMEDIFF - 860)) | (1 << (frameQLParser.TIMESTAMPADD - 860)) | (1 << (frameQLParser.TIMESTAMPDIFF - 860)) | (1 << (frameQLParser.TIME_FORMAT - 860)) | (1 << (frameQLParser.TIME_TO_SEC - 860)) | (1 << (frameQLParser.TOUCHES - 860)) | (1 << (frameQLParser.TO_BASE64 - 860)) | (1 << (frameQLParser.TO_DAYS - 860)) | (1 << (frameQLParser.TO_SECONDS - 860)) | (1 << (frameQLParser.UCASE - 860)) | (1 << (frameQLParser.UNCOMPRESS - 860)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 860)) | (1 << (frameQLParser.UNHEX - 860)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 860)) | (1 << (frameQLParser.UPDATEXML - 860)) | (1 << (frameQLParser.UPPER - 860)) | (1 << (frameQLParser.UUID - 860)) | (1 << (frameQLParser.UUID_SHORT - 860)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 860)) | (1 << (frameQLParser.VERSION - 860)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 860)) | (1 << (frameQLParser.WEEKDAY - 860)) | (1 << (frameQLParser.WEEKOFYEAR - 860)) | (1 << (frameQLParser.WEIGHT_STRING - 860)) | (1 << (frameQLParser.WITHIN - 860)))) != 0) or ((((_la - 924)) & ~0x3f) == 0 and ((1 << (_la - 924)) & ((1 << (frameQLParser.YEARWEEK - 924)) | (1 << (frameQLParser.Y_FUNCTION - 924)) | (1 << (frameQLParser.X_FUNCTION - 924)) | (1 << (frameQLParser.PLUS - 924)) | (1 << (frameQLParser.MINUS - 924)) | (1 << (frameQLParser.EXCLAMATION_SYMBOL - 924)) | (1 << (frameQLParser.BIT_NOT_OP - 924)) | (1 << (frameQLParser.LR_BRACKET - 924)) | (1 << (frameQLParser.ZERO_DECIMAL - 924)) | (1 << (frameQLParser.ONE_DECIMAL - 924)) | (1 << (frameQLParser.TWO_DECIMAL - 924)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 924)) | (1 << (frameQLParser.START_NATIONAL_STRING_LITERAL - 924)) | (1 << (frameQLParser.STRING_LITERAL - 924)) | (1 << (frameQLParser.DECIMAL_LITERAL - 924)) | (1 << (frameQLParser.HEXADECIMAL_LITERAL - 924)) | (1 << (frameQLParser.REAL_LITERAL - 924)) | (1 << (frameQLParser.NULL_SPEC_LITERAL - 924)) | (1 << (frameQLParser.BIT_STRING - 924)) | (1 << (frameQLParser.STRING_CHARSET_NAME - 924)) | (1 << (frameQLParser.ID - 924)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 924)) | (1 << (frameQLParser.LOCAL_ID - 924)) | (1 << (frameQLParser.GLOBAL_ID - 924)))) != 0): - self.state = 5574 - self.functionArgs() - - - self.state = 5577 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 4: - localctx = frameQLParser.UdfFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 5579 - self.fullId() - self.state = 5580 - self.match(frameQLParser.LR_BRACKET) - self.state = 5582 - self._errHandler.sync(self) - _la = self._input.LA(1) - if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << frameQLParser.CASE) | (1 << frameQLParser.CAST) | (1 << frameQLParser.CONVERT) | (1 << frameQLParser.CURRENT_USER) | (1 << frameQLParser.DATABASE) | (1 << frameQLParser.EXISTS) | (1 << frameQLParser.FALSE))) != 0) or ((((_la - 68)) & ~0x3f) == 0 and ((1 << (_la - 68)) & ((1 << (frameQLParser.IF - 68)) | (1 << (frameQLParser.INSERT - 68)) | (1 << (frameQLParser.INTERVAL - 68)) | (1 << (frameQLParser.LEFT - 68)) | (1 << (frameQLParser.NOT - 68)) | (1 << (frameQLParser.NULL_LITERAL - 68)) | (1 << (frameQLParser.REPLACE - 68)) | (1 << (frameQLParser.RIGHT - 68)))) != 0) or ((((_la - 155)) & ~0x3f) == 0 and ((1 << (_la - 155)) & ((1 << (frameQLParser.TRUE - 155)) | (1 << (frameQLParser.VALUES - 155)) | (1 << (frameQLParser.DATE - 155)) | (1 << (frameQLParser.TIME - 155)) | (1 << (frameQLParser.TIMESTAMP - 155)) | (1 << (frameQLParser.DATETIME - 155)) | (1 << (frameQLParser.YEAR - 155)) | (1 << (frameQLParser.CHAR - 155)) | (1 << (frameQLParser.BINARY - 155)) | (1 << (frameQLParser.TEXT - 155)) | (1 << (frameQLParser.ENUM - 155)) | (1 << (frameQLParser.SERIAL - 155)) | (1 << (frameQLParser.AVG - 155)) | (1 << (frameQLParser.BIT_AND - 155)) | (1 << (frameQLParser.BIT_OR - 155)) | (1 << (frameQLParser.BIT_XOR - 155)) | (1 << (frameQLParser.COUNT - 155)))) != 0) or ((((_la - 219)) & ~0x3f) == 0 and ((1 << (_la - 219)) & ((1 << (frameQLParser.GROUP_CONCAT - 219)) | (1 << (frameQLParser.MAX - 219)) | (1 << (frameQLParser.MIN - 219)) | (1 << (frameQLParser.STD - 219)) | (1 << (frameQLParser.STDDEV - 219)) | (1 << (frameQLParser.STDDEV_POP - 219)) | (1 << (frameQLParser.STDDEV_SAMP - 219)) | (1 << (frameQLParser.SUM - 219)) | (1 << (frameQLParser.VAR_POP - 219)) | (1 << (frameQLParser.VAR_SAMP - 219)) | (1 << (frameQLParser.VARIANCE - 219)) | (1 << (frameQLParser.FCOUNT - 219)) | (1 << (frameQLParser.CURRENT_DATE - 219)) | (1 << (frameQLParser.CURRENT_TIME - 219)) | (1 << (frameQLParser.CURRENT_TIMESTAMP - 219)) | (1 << (frameQLParser.LOCALTIME - 219)) | (1 << (frameQLParser.CURDATE - 219)) | (1 << (frameQLParser.CURTIME - 219)) | (1 << (frameQLParser.DATE_ADD - 219)) | (1 << (frameQLParser.DATE_SUB - 219)) | (1 << (frameQLParser.EXTRACT - 219)) | (1 << (frameQLParser.LOCALTIMESTAMP - 219)) | (1 << (frameQLParser.NOW - 219)) | (1 << (frameQLParser.POSITION - 219)) | (1 << (frameQLParser.SUBSTR - 219)) | (1 << (frameQLParser.SUBSTRING - 219)) | (1 << (frameQLParser.SYSDATE - 219)) | (1 << (frameQLParser.TRIM - 219)) | (1 << (frameQLParser.UTC_DATE - 219)) | (1 << (frameQLParser.UTC_TIME - 219)) | (1 << (frameQLParser.UTC_TIMESTAMP - 219)) | (1 << (frameQLParser.ACCOUNT - 219)) | (1 << (frameQLParser.ACTION - 219)) | (1 << (frameQLParser.AFTER - 219)) | (1 << (frameQLParser.AGGREGATE - 219)) | (1 << (frameQLParser.ALGORITHM - 219)) | (1 << (frameQLParser.ANY - 219)) | (1 << (frameQLParser.AT - 219)) | (1 << (frameQLParser.AUTHORS - 219)) | (1 << (frameQLParser.AUTOCOMMIT - 219)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 219)) | (1 << (frameQLParser.AUTO_INCREMENT - 219)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 219)) | (1 << (frameQLParser.BEGIN - 219)) | (1 << (frameQLParser.BINLOG - 219)) | (1 << (frameQLParser.BIT - 219)) | (1 << (frameQLParser.BLOCK - 219)) | (1 << (frameQLParser.BOOL - 219)) | (1 << (frameQLParser.BOOLEAN - 219)) | (1 << (frameQLParser.BTREE - 219)) | (1 << (frameQLParser.CASCADED - 219)) | (1 << (frameQLParser.CHAIN - 219)) | (1 << (frameQLParser.CHANGED - 219)) | (1 << (frameQLParser.CHANNEL - 219)) | (1 << (frameQLParser.CHECKSUM - 219)) | (1 << (frameQLParser.CIPHER - 219)) | (1 << (frameQLParser.CLIENT - 219)) | (1 << (frameQLParser.COALESCE - 219)) | (1 << (frameQLParser.CODE - 219)) | (1 << (frameQLParser.COLUMNS - 219)) | (1 << (frameQLParser.COLUMN_FORMAT - 219)) | (1 << (frameQLParser.COMMENT - 219)))) != 0) or ((((_la - 283)) & ~0x3f) == 0 and ((1 << (_la - 283)) & ((1 << (frameQLParser.COMMIT - 283)) | (1 << (frameQLParser.COMPACT - 283)) | (1 << (frameQLParser.COMPLETION - 283)) | (1 << (frameQLParser.COMPRESSED - 283)) | (1 << (frameQLParser.COMPRESSION - 283)) | (1 << (frameQLParser.CONCURRENT - 283)) | (1 << (frameQLParser.CONNECTION - 283)) | (1 << (frameQLParser.CONSISTENT - 283)) | (1 << (frameQLParser.CONTAINS - 283)) | (1 << (frameQLParser.CONTEXT - 283)) | (1 << (frameQLParser.CONTRIBUTORS - 283)) | (1 << (frameQLParser.COPY - 283)) | (1 << (frameQLParser.CPU - 283)) | (1 << (frameQLParser.DATA - 283)) | (1 << (frameQLParser.DATAFILE - 283)) | (1 << (frameQLParser.DEALLOCATE - 283)) | (1 << (frameQLParser.DEFAULT_AUTH - 283)) | (1 << (frameQLParser.DEFINER - 283)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 283)) | (1 << (frameQLParser.DIRECTORY - 283)) | (1 << (frameQLParser.DISABLE - 283)) | (1 << (frameQLParser.DISCARD - 283)) | (1 << (frameQLParser.DISK - 283)) | (1 << (frameQLParser.DO - 283)) | (1 << (frameQLParser.DUMPFILE - 283)) | (1 << (frameQLParser.DUPLICATE - 283)) | (1 << (frameQLParser.DYNAMIC - 283)) | (1 << (frameQLParser.ENABLE - 283)) | (1 << (frameQLParser.ENCRYPTION - 283)) | (1 << (frameQLParser.ENDS - 283)) | (1 << (frameQLParser.ENGINE - 283)) | (1 << (frameQLParser.ENGINES - 283)) | (1 << (frameQLParser.ERROR - 283)) | (1 << (frameQLParser.ERRORS - 283)) | (1 << (frameQLParser.ESCAPE - 283)) | (1 << (frameQLParser.EVEN - 283)) | (1 << (frameQLParser.EVENT - 283)) | (1 << (frameQLParser.EVENTS - 283)) | (1 << (frameQLParser.EVERY - 283)) | (1 << (frameQLParser.EXCHANGE - 283)) | (1 << (frameQLParser.EXCLUSIVE - 283)) | (1 << (frameQLParser.EXPIRE - 283)) | (1 << (frameQLParser.EXTENDED - 283)) | (1 << (frameQLParser.EXTENT_SIZE - 283)) | (1 << (frameQLParser.FAST - 283)) | (1 << (frameQLParser.FAULTS - 283)) | (1 << (frameQLParser.FIELDS - 283)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 283)) | (1 << (frameQLParser.FILTER - 283)) | (1 << (frameQLParser.FIRST - 283)) | (1 << (frameQLParser.FIXED - 283)) | (1 << (frameQLParser.FOLLOWS - 283)) | (1 << (frameQLParser.FULL - 283)) | (1 << (frameQLParser.FUNCTION - 283)) | (1 << (frameQLParser.GLOBAL - 283)) | (1 << (frameQLParser.GRANTS - 283)) | (1 << (frameQLParser.GROUP_REPLICATION - 283)))) != 0) or ((((_la - 347)) & ~0x3f) == 0 and ((1 << (_la - 347)) & ((1 << (frameQLParser.HASH - 347)) | (1 << (frameQLParser.HOST - 347)) | (1 << (frameQLParser.IDENTIFIED - 347)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 347)) | (1 << (frameQLParser.IMPORT - 347)) | (1 << (frameQLParser.INDEXES - 347)) | (1 << (frameQLParser.INITIAL_SIZE - 347)) | (1 << (frameQLParser.INPLACE - 347)) | (1 << (frameQLParser.INSERT_METHOD - 347)) | (1 << (frameQLParser.INSTANCE - 347)) | (1 << (frameQLParser.INVOKER - 347)) | (1 << (frameQLParser.IO - 347)) | (1 << (frameQLParser.IO_THREAD - 347)) | (1 << (frameQLParser.IPC - 347)) | (1 << (frameQLParser.ISOLATION - 347)) | (1 << (frameQLParser.ISSUER - 347)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 347)) | (1 << (frameQLParser.LANGUAGE - 347)) | (1 << (frameQLParser.LAST - 347)) | (1 << (frameQLParser.LEAVES - 347)) | (1 << (frameQLParser.LESS - 347)) | (1 << (frameQLParser.LEVEL - 347)) | (1 << (frameQLParser.LIST - 347)) | (1 << (frameQLParser.LOCAL - 347)) | (1 << (frameQLParser.LOGFILE - 347)) | (1 << (frameQLParser.LOGS - 347)) | (1 << (frameQLParser.MASTER - 347)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 347)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 347)) | (1 << (frameQLParser.MASTER_DELAY - 347)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 347)) | (1 << (frameQLParser.MASTER_HOST - 347)) | (1 << (frameQLParser.MASTER_LOG_FILE - 347)) | (1 << (frameQLParser.MASTER_LOG_POS - 347)) | (1 << (frameQLParser.MASTER_PASSWORD - 347)) | (1 << (frameQLParser.MASTER_PORT - 347)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 347)) | (1 << (frameQLParser.MASTER_SSL - 347)) | (1 << (frameQLParser.MASTER_SSL_CA - 347)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 347)) | (1 << (frameQLParser.MASTER_SSL_CERT - 347)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 347)) | (1 << (frameQLParser.MASTER_SSL_CRL - 347)) | (1 << (frameQLParser.MASTER_SSL_CRLPATH - 347)) | (1 << (frameQLParser.MASTER_SSL_KEY - 347)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 347)) | (1 << (frameQLParser.MASTER_USER - 347)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 347)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 347)) | (1 << (frameQLParser.MAX_ROWS - 347)) | (1 << (frameQLParser.MAX_SIZE - 347)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 347)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 347)) | (1 << (frameQLParser.MEDIUM - 347)) | (1 << (frameQLParser.MERGE - 347)) | (1 << (frameQLParser.MID - 347)) | (1 << (frameQLParser.MIGRATE - 347)) | (1 << (frameQLParser.MIN_ROWS - 347)) | (1 << (frameQLParser.MODIFY - 347)))) != 0) or ((((_la - 411)) & ~0x3f) == 0 and ((1 << (_la - 411)) & ((1 << (frameQLParser.MUTEX - 411)) | (1 << (frameQLParser.MYSQL - 411)) | (1 << (frameQLParser.NAME - 411)) | (1 << (frameQLParser.NAMES - 411)) | (1 << (frameQLParser.NCHAR - 411)) | (1 << (frameQLParser.NEVER - 411)) | (1 << (frameQLParser.NO - 411)) | (1 << (frameQLParser.NODEGROUP - 411)) | (1 << (frameQLParser.NONE - 411)) | (1 << (frameQLParser.OFFLINE - 411)) | (1 << (frameQLParser.OFFSET - 411)) | (1 << (frameQLParser.OJ - 411)) | (1 << (frameQLParser.OLD_PASSWORD - 411)) | (1 << (frameQLParser.ONE - 411)) | (1 << (frameQLParser.ONLINE - 411)) | (1 << (frameQLParser.ONLY - 411)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 411)) | (1 << (frameQLParser.OPTIONS - 411)) | (1 << (frameQLParser.OWNER - 411)) | (1 << (frameQLParser.PACK_KEYS - 411)) | (1 << (frameQLParser.PAGE - 411)) | (1 << (frameQLParser.PARSER - 411)) | (1 << (frameQLParser.PARTIAL - 411)) | (1 << (frameQLParser.PARTITIONING - 411)) | (1 << (frameQLParser.PARTITIONS - 411)) | (1 << (frameQLParser.PASSWORD - 411)) | (1 << (frameQLParser.PHASE - 411)) | (1 << (frameQLParser.PLUGIN_DIR - 411)) | (1 << (frameQLParser.PLUGINS - 411)) | (1 << (frameQLParser.PORT - 411)) | (1 << (frameQLParser.PRECEDES - 411)) | (1 << (frameQLParser.PREPARE - 411)) | (1 << (frameQLParser.PRESERVE - 411)) | (1 << (frameQLParser.PREV - 411)) | (1 << (frameQLParser.PROCESSLIST - 411)) | (1 << (frameQLParser.PROFILE - 411)) | (1 << (frameQLParser.PROFILES - 411)) | (1 << (frameQLParser.PROXY - 411)) | (1 << (frameQLParser.QUERY - 411)) | (1 << (frameQLParser.QUICK - 411)) | (1 << (frameQLParser.REBUILD - 411)) | (1 << (frameQLParser.RECOVER - 411)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 411)) | (1 << (frameQLParser.REDUNDANT - 411)) | (1 << (frameQLParser.RELAY_LOG_FILE - 411)) | (1 << (frameQLParser.RELAY_LOG_POS - 411)) | (1 << (frameQLParser.RELAYLOG - 411)) | (1 << (frameQLParser.REMOVE - 411)) | (1 << (frameQLParser.REORGANIZE - 411)) | (1 << (frameQLParser.REPAIR - 411)) | (1 << (frameQLParser.REPLICATE_DO_DB - 411)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 411)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 411)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 411)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 411)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 411)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 411)) | (1 << (frameQLParser.REPLICATION - 411)) | (1 << (frameQLParser.RESUME - 411)))) != 0) or ((((_la - 475)) & ~0x3f) == 0 and ((1 << (_la - 475)) & ((1 << (frameQLParser.RETURNS - 475)) | (1 << (frameQLParser.ROLLBACK - 475)) | (1 << (frameQLParser.ROLLUP - 475)) | (1 << (frameQLParser.ROTATE - 475)) | (1 << (frameQLParser.ROW - 475)) | (1 << (frameQLParser.ROWS - 475)) | (1 << (frameQLParser.ROW_FORMAT - 475)) | (1 << (frameQLParser.SAVEPOINT - 475)) | (1 << (frameQLParser.SCHEDULE - 475)) | (1 << (frameQLParser.SECURITY - 475)) | (1 << (frameQLParser.SERVER - 475)) | (1 << (frameQLParser.SESSION - 475)) | (1 << (frameQLParser.SHARE - 475)) | (1 << (frameQLParser.SHARED - 475)) | (1 << (frameQLParser.SIGNED - 475)) | (1 << (frameQLParser.SIMPLE - 475)) | (1 << (frameQLParser.SLAVE - 475)) | (1 << (frameQLParser.SNAPSHOT - 475)) | (1 << (frameQLParser.SOCKET - 475)) | (1 << (frameQLParser.SOME - 475)) | (1 << (frameQLParser.SOUNDS - 475)) | (1 << (frameQLParser.SOURCE - 475)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 475)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 475)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 475)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 475)) | (1 << (frameQLParser.SQL_CACHE - 475)) | (1 << (frameQLParser.SQL_NO_CACHE - 475)) | (1 << (frameQLParser.SQL_THREAD - 475)) | (1 << (frameQLParser.START - 475)) | (1 << (frameQLParser.STARTS - 475)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 475)) | (1 << (frameQLParser.STATS_PERSISTENT - 475)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 475)) | (1 << (frameQLParser.STATUS - 475)) | (1 << (frameQLParser.STOP - 475)) | (1 << (frameQLParser.STORAGE - 475)) | (1 << (frameQLParser.STRING - 475)) | (1 << (frameQLParser.SUBJECT - 475)) | (1 << (frameQLParser.SUBPARTITION - 475)) | (1 << (frameQLParser.SUBPARTITIONS - 475)) | (1 << (frameQLParser.SUSPEND - 475)) | (1 << (frameQLParser.SWAPS - 475)) | (1 << (frameQLParser.SWITCHES - 475)) | (1 << (frameQLParser.TABLESPACE - 475)) | (1 << (frameQLParser.TEMPORARY - 475)) | (1 << (frameQLParser.TEMPTABLE - 475)) | (1 << (frameQLParser.THAN - 475)) | (1 << (frameQLParser.TRANSACTION - 475)) | (1 << (frameQLParser.TRUNCATE - 475)) | (1 << (frameQLParser.UNDEFINED - 475)) | (1 << (frameQLParser.UNDOFILE - 475)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 475)) | (1 << (frameQLParser.UNKNOWN - 475)) | (1 << (frameQLParser.UPGRADE - 475)) | (1 << (frameQLParser.USER - 475)))) != 0) or ((((_la - 540)) & ~0x3f) == 0 and ((1 << (_la - 540)) & ((1 << (frameQLParser.VALIDATION - 540)) | (1 << (frameQLParser.VALUE - 540)) | (1 << (frameQLParser.VARIABLES - 540)) | (1 << (frameQLParser.VIEW - 540)) | (1 << (frameQLParser.WAIT - 540)) | (1 << (frameQLParser.WARNINGS - 540)) | (1 << (frameQLParser.WITHOUT - 540)) | (1 << (frameQLParser.WORK - 540)) | (1 << (frameQLParser.WRAPPER - 540)) | (1 << (frameQLParser.X509 - 540)) | (1 << (frameQLParser.XA - 540)) | (1 << (frameQLParser.XML - 540)) | (1 << (frameQLParser.QUARTER - 540)) | (1 << (frameQLParser.MONTH - 540)) | (1 << (frameQLParser.DAY - 540)) | (1 << (frameQLParser.HOUR - 540)) | (1 << (frameQLParser.MINUTE - 540)) | (1 << (frameQLParser.WEEK - 540)) | (1 << (frameQLParser.SECOND - 540)) | (1 << (frameQLParser.MICROSECOND - 540)) | (1 << (frameQLParser.TABLES - 540)) | (1 << (frameQLParser.ROUTINE - 540)) | (1 << (frameQLParser.EXECUTE - 540)) | (1 << (frameQLParser.FILE - 540)) | (1 << (frameQLParser.PROCESS - 540)) | (1 << (frameQLParser.RELOAD - 540)) | (1 << (frameQLParser.SHUTDOWN - 540)) | (1 << (frameQLParser.SUPER - 540)) | (1 << (frameQLParser.PRIVILEGES - 540)) | (1 << (frameQLParser.ARMSCII8 - 540)) | (1 << (frameQLParser.ASCII - 540)) | (1 << (frameQLParser.BIG5 - 540)) | (1 << (frameQLParser.CP1250 - 540)) | (1 << (frameQLParser.CP1251 - 540)) | (1 << (frameQLParser.CP1256 - 540)) | (1 << (frameQLParser.CP1257 - 540)) | (1 << (frameQLParser.CP850 - 540)) | (1 << (frameQLParser.CP852 - 540)) | (1 << (frameQLParser.CP866 - 540)) | (1 << (frameQLParser.CP932 - 540)) | (1 << (frameQLParser.DEC8 - 540)) | (1 << (frameQLParser.EUCJPMS - 540)) | (1 << (frameQLParser.EUCKR - 540)) | (1 << (frameQLParser.GB2312 - 540)) | (1 << (frameQLParser.GBK - 540)) | (1 << (frameQLParser.GEOSTD8 - 540)) | (1 << (frameQLParser.GREEK - 540)) | (1 << (frameQLParser.HEBREW - 540)) | (1 << (frameQLParser.HP8 - 540)) | (1 << (frameQLParser.KEYBCS2 - 540)) | (1 << (frameQLParser.KOI8R - 540)) | (1 << (frameQLParser.KOI8U - 540)) | (1 << (frameQLParser.LATIN1 - 540)) | (1 << (frameQLParser.LATIN2 - 540)) | (1 << (frameQLParser.LATIN5 - 540)) | (1 << (frameQLParser.LATIN7 - 540)) | (1 << (frameQLParser.MACCE - 540)) | (1 << (frameQLParser.MACROMAN - 540)))) != 0) or ((((_la - 604)) & ~0x3f) == 0 and ((1 << (_la - 604)) & ((1 << (frameQLParser.SJIS - 604)) | (1 << (frameQLParser.SWE7 - 604)) | (1 << (frameQLParser.TIS620 - 604)) | (1 << (frameQLParser.UCS2 - 604)) | (1 << (frameQLParser.UJIS - 604)) | (1 << (frameQLParser.UTF16 - 604)) | (1 << (frameQLParser.UTF16LE - 604)) | (1 << (frameQLParser.UTF32 - 604)) | (1 << (frameQLParser.UTF8 - 604)) | (1 << (frameQLParser.UTF8MB3 - 604)) | (1 << (frameQLParser.UTF8MB4 - 604)) | (1 << (frameQLParser.ARCHIVE - 604)) | (1 << (frameQLParser.BLACKHOLE - 604)) | (1 << (frameQLParser.CSV - 604)) | (1 << (frameQLParser.FEDERATED - 604)) | (1 << (frameQLParser.INNODB - 604)) | (1 << (frameQLParser.MEMORY - 604)) | (1 << (frameQLParser.MRG_MYISAM - 604)) | (1 << (frameQLParser.MYISAM - 604)) | (1 << (frameQLParser.NDB - 604)) | (1 << (frameQLParser.NDBCLUSTER - 604)) | (1 << (frameQLParser.PERFOMANCE_SCHEMA - 604)) | (1 << (frameQLParser.REPEATABLE - 604)) | (1 << (frameQLParser.COMMITTED - 604)) | (1 << (frameQLParser.UNCOMMITTED - 604)) | (1 << (frameQLParser.SERIALIZABLE - 604)) | (1 << (frameQLParser.GEOMETRYCOLLECTION - 604)) | (1 << (frameQLParser.LINESTRING - 604)) | (1 << (frameQLParser.MULTILINESTRING - 604)) | (1 << (frameQLParser.MULTIPOINT - 604)) | (1 << (frameQLParser.MULTIPOLYGON - 604)) | (1 << (frameQLParser.POINT - 604)) | (1 << (frameQLParser.POLYGON - 604)) | (1 << (frameQLParser.ABS - 604)) | (1 << (frameQLParser.ACOS - 604)) | (1 << (frameQLParser.ADDDATE - 604)) | (1 << (frameQLParser.ADDTIME - 604)) | (1 << (frameQLParser.AES_DECRYPT - 604)) | (1 << (frameQLParser.AES_ENCRYPT - 604)) | (1 << (frameQLParser.AREA - 604)) | (1 << (frameQLParser.ASBINARY - 604)) | (1 << (frameQLParser.ASIN - 604)) | (1 << (frameQLParser.ASTEXT - 604)) | (1 << (frameQLParser.ASWKB - 604)) | (1 << (frameQLParser.ASWKT - 604)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 604)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 604)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 604)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 604)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 604)) | (1 << (frameQLParser.ATAN - 604)) | (1 << (frameQLParser.ATAN2 - 604)) | (1 << (frameQLParser.BENCHMARK - 604)) | (1 << (frameQLParser.BIN - 604)) | (1 << (frameQLParser.BIT_COUNT - 604)) | (1 << (frameQLParser.BIT_LENGTH - 604)) | (1 << (frameQLParser.BUFFER - 604)) | (1 << (frameQLParser.CEIL - 604)) | (1 << (frameQLParser.CEILING - 604)) | (1 << (frameQLParser.CENTROID - 604)) | (1 << (frameQLParser.CHARACTER_LENGTH - 604)) | (1 << (frameQLParser.CHARSET - 604)) | (1 << (frameQLParser.CHAR_LENGTH - 604)) | (1 << (frameQLParser.COERCIBILITY - 604)))) != 0) or ((((_la - 668)) & ~0x3f) == 0 and ((1 << (_la - 668)) & ((1 << (frameQLParser.COLLATION - 668)) | (1 << (frameQLParser.COMPRESS - 668)) | (1 << (frameQLParser.CONCAT - 668)) | (1 << (frameQLParser.CONCAT_WS - 668)) | (1 << (frameQLParser.CONNECTION_ID - 668)) | (1 << (frameQLParser.CONV - 668)) | (1 << (frameQLParser.CONVERT_TZ - 668)) | (1 << (frameQLParser.COS - 668)) | (1 << (frameQLParser.COT - 668)) | (1 << (frameQLParser.CRC32 - 668)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 668)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 668)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 668)) | (1 << (frameQLParser.CREATE_DIGEST - 668)) | (1 << (frameQLParser.CROSSES - 668)) | (1 << (frameQLParser.DATEDIFF - 668)) | (1 << (frameQLParser.DATE_FORMAT - 668)) | (1 << (frameQLParser.DAYNAME - 668)) | (1 << (frameQLParser.DAYOFMONTH - 668)) | (1 << (frameQLParser.DAYOFWEEK - 668)) | (1 << (frameQLParser.DAYOFYEAR - 668)) | (1 << (frameQLParser.DECODE - 668)) | (1 << (frameQLParser.DEGREES - 668)) | (1 << (frameQLParser.DES_DECRYPT - 668)) | (1 << (frameQLParser.DES_ENCRYPT - 668)) | (1 << (frameQLParser.DIMENSION - 668)) | (1 << (frameQLParser.DISJOINT - 668)) | (1 << (frameQLParser.ELT - 668)) | (1 << (frameQLParser.ENCODE - 668)) | (1 << (frameQLParser.ENCRYPT - 668)) | (1 << (frameQLParser.ENDPOINT - 668)) | (1 << (frameQLParser.ENVELOPE - 668)) | (1 << (frameQLParser.EQUALS - 668)) | (1 << (frameQLParser.EXP - 668)) | (1 << (frameQLParser.EXPORT_SET - 668)) | (1 << (frameQLParser.EXTERIORRING - 668)) | (1 << (frameQLParser.EXTRACTVALUE - 668)) | (1 << (frameQLParser.FIELD - 668)) | (1 << (frameQLParser.FIND_IN_SET - 668)) | (1 << (frameQLParser.FLOOR - 668)) | (1 << (frameQLParser.FORMAT - 668)) | (1 << (frameQLParser.FOUND_ROWS - 668)) | (1 << (frameQLParser.FROM_BASE64 - 668)) | (1 << (frameQLParser.FROM_DAYS - 668)) | (1 << (frameQLParser.FROM_UNIXTIME - 668)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 668)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 668)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 668)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 668)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 668)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 668)) | (1 << (frameQLParser.GEOMETRYN - 668)) | (1 << (frameQLParser.GEOMETRYTYPE - 668)) | (1 << (frameQLParser.GEOMFROMTEXT - 668)) | (1 << (frameQLParser.GEOMFROMWKB - 668)) | (1 << (frameQLParser.GET_FORMAT - 668)) | (1 << (frameQLParser.GET_LOCK - 668)) | (1 << (frameQLParser.GLENGTH - 668)) | (1 << (frameQLParser.GREATEST - 668)) | (1 << (frameQLParser.GTID_SUBSET - 668)) | (1 << (frameQLParser.GTID_SUBTRACT - 668)) | (1 << (frameQLParser.HEX - 668)) | (1 << (frameQLParser.IFNULL - 668)) | (1 << (frameQLParser.INET6_ATON - 668)))) != 0) or ((((_la - 732)) & ~0x3f) == 0 and ((1 << (_la - 732)) & ((1 << (frameQLParser.INET6_NTOA - 732)) | (1 << (frameQLParser.INET_ATON - 732)) | (1 << (frameQLParser.INET_NTOA - 732)) | (1 << (frameQLParser.INSTR - 732)) | (1 << (frameQLParser.INTERIORRINGN - 732)) | (1 << (frameQLParser.INTERSECTS - 732)) | (1 << (frameQLParser.ISCLOSED - 732)) | (1 << (frameQLParser.ISEMPTY - 732)) | (1 << (frameQLParser.ISNULL - 732)) | (1 << (frameQLParser.ISSIMPLE - 732)) | (1 << (frameQLParser.IS_FREE_LOCK - 732)) | (1 << (frameQLParser.IS_IPV4 - 732)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 732)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 732)) | (1 << (frameQLParser.IS_IPV6 - 732)) | (1 << (frameQLParser.IS_USED_LOCK - 732)) | (1 << (frameQLParser.LAST_INSERT_ID - 732)) | (1 << (frameQLParser.LCASE - 732)) | (1 << (frameQLParser.LEAST - 732)) | (1 << (frameQLParser.LENGTH - 732)) | (1 << (frameQLParser.LINEFROMTEXT - 732)) | (1 << (frameQLParser.LINEFROMWKB - 732)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 732)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 732)) | (1 << (frameQLParser.LN - 732)) | (1 << (frameQLParser.LOAD_FILE - 732)) | (1 << (frameQLParser.LOCATE - 732)) | (1 << (frameQLParser.LOG - 732)) | (1 << (frameQLParser.LOG10 - 732)) | (1 << (frameQLParser.LOG2 - 732)) | (1 << (frameQLParser.LOWER - 732)) | (1 << (frameQLParser.LPAD - 732)) | (1 << (frameQLParser.LTRIM - 732)) | (1 << (frameQLParser.MAKEDATE - 732)) | (1 << (frameQLParser.MAKETIME - 732)) | (1 << (frameQLParser.MAKE_SET - 732)) | (1 << (frameQLParser.MASTER_POS_WAIT - 732)) | (1 << (frameQLParser.MBRCONTAINS - 732)) | (1 << (frameQLParser.MBRDISJOINT - 732)) | (1 << (frameQLParser.MBREQUAL - 732)) | (1 << (frameQLParser.MBRINTERSECTS - 732)) | (1 << (frameQLParser.MBROVERLAPS - 732)) | (1 << (frameQLParser.MBRTOUCHES - 732)) | (1 << (frameQLParser.MBRWITHIN - 732)) | (1 << (frameQLParser.MD5 - 732)) | (1 << (frameQLParser.MLINEFROMTEXT - 732)) | (1 << (frameQLParser.MLINEFROMWKB - 732)) | (1 << (frameQLParser.MONTHNAME - 732)) | (1 << (frameQLParser.MPOINTFROMTEXT - 732)) | (1 << (frameQLParser.MPOINTFROMWKB - 732)) | (1 << (frameQLParser.MPOLYFROMTEXT - 732)) | (1 << (frameQLParser.MPOLYFROMWKB - 732)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 732)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 732)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 732)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 732)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 732)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 732)) | (1 << (frameQLParser.NAME_CONST - 732)) | (1 << (frameQLParser.NULLIF - 732)) | (1 << (frameQLParser.NUMGEOMETRIES - 732)) | (1 << (frameQLParser.NUMINTERIORRINGS - 732)) | (1 << (frameQLParser.NUMPOINTS - 732)) | (1 << (frameQLParser.OCT - 732)))) != 0) or ((((_la - 796)) & ~0x3f) == 0 and ((1 << (_la - 796)) & ((1 << (frameQLParser.OCTET_LENGTH - 796)) | (1 << (frameQLParser.ORD - 796)) | (1 << (frameQLParser.OVERLAPS - 796)) | (1 << (frameQLParser.PERIOD_ADD - 796)) | (1 << (frameQLParser.PERIOD_DIFF - 796)) | (1 << (frameQLParser.PI - 796)) | (1 << (frameQLParser.POINTFROMTEXT - 796)) | (1 << (frameQLParser.POINTFROMWKB - 796)) | (1 << (frameQLParser.POINTN - 796)) | (1 << (frameQLParser.POLYFROMTEXT - 796)) | (1 << (frameQLParser.POLYFROMWKB - 796)) | (1 << (frameQLParser.POLYGONFROMTEXT - 796)) | (1 << (frameQLParser.POLYGONFROMWKB - 796)) | (1 << (frameQLParser.POW - 796)) | (1 << (frameQLParser.POWER - 796)) | (1 << (frameQLParser.QUOTE - 796)) | (1 << (frameQLParser.RADIANS - 796)) | (1 << (frameQLParser.RAND - 796)) | (1 << (frameQLParser.RANDOM_BYTES - 796)) | (1 << (frameQLParser.RELEASE_LOCK - 796)) | (1 << (frameQLParser.REVERSE - 796)) | (1 << (frameQLParser.ROUND - 796)) | (1 << (frameQLParser.ROW_COUNT - 796)) | (1 << (frameQLParser.RPAD - 796)) | (1 << (frameQLParser.RTRIM - 796)) | (1 << (frameQLParser.SEC_TO_TIME - 796)) | (1 << (frameQLParser.SESSION_USER - 796)) | (1 << (frameQLParser.SHA - 796)) | (1 << (frameQLParser.SHA1 - 796)) | (1 << (frameQLParser.SHA2 - 796)) | (1 << (frameQLParser.SIGN - 796)) | (1 << (frameQLParser.SIN - 796)) | (1 << (frameQLParser.SLEEP - 796)) | (1 << (frameQLParser.SOUNDEX - 796)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 796)) | (1 << (frameQLParser.SQRT - 796)) | (1 << (frameQLParser.SRID - 796)) | (1 << (frameQLParser.STARTPOINT - 796)) | (1 << (frameQLParser.STRCMP - 796)) | (1 << (frameQLParser.STR_TO_DATE - 796)) | (1 << (frameQLParser.ST_AREA - 796)) | (1 << (frameQLParser.ST_ASBINARY - 796)) | (1 << (frameQLParser.ST_ASTEXT - 796)) | (1 << (frameQLParser.ST_ASWKB - 796)) | (1 << (frameQLParser.ST_ASWKT - 796)) | (1 << (frameQLParser.ST_BUFFER - 796)) | (1 << (frameQLParser.ST_CENTROID - 796)) | (1 << (frameQLParser.ST_CONTAINS - 796)) | (1 << (frameQLParser.ST_CROSSES - 796)) | (1 << (frameQLParser.ST_DIFFERENCE - 796)) | (1 << (frameQLParser.ST_DIMENSION - 796)) | (1 << (frameQLParser.ST_DISJOINT - 796)) | (1 << (frameQLParser.ST_DISTANCE - 796)) | (1 << (frameQLParser.ST_ENDPOINT - 796)) | (1 << (frameQLParser.ST_ENVELOPE - 796)) | (1 << (frameQLParser.ST_EQUALS - 796)) | (1 << (frameQLParser.ST_EXTERIORRING - 796)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 796)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 796)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 796)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 796)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 796)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 796)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 796)))) != 0) or ((((_la - 860)) & ~0x3f) == 0 and ((1 << (_la - 860)) & ((1 << (frameQLParser.ST_GEOMETRYN - 860)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 860)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 860)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 860)) | (1 << (frameQLParser.ST_INTERIORRINGN - 860)) | (1 << (frameQLParser.ST_INTERSECTION - 860)) | (1 << (frameQLParser.ST_INTERSECTS - 860)) | (1 << (frameQLParser.ST_ISCLOSED - 860)) | (1 << (frameQLParser.ST_ISEMPTY - 860)) | (1 << (frameQLParser.ST_ISSIMPLE - 860)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 860)) | (1 << (frameQLParser.ST_LINEFROMWKB - 860)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 860)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 860)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 860)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 860)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 860)) | (1 << (frameQLParser.ST_NUMPOINTS - 860)) | (1 << (frameQLParser.ST_OVERLAPS - 860)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 860)) | (1 << (frameQLParser.ST_POINTFROMWKB - 860)) | (1 << (frameQLParser.ST_POINTN - 860)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 860)) | (1 << (frameQLParser.ST_POLYFROMWKB - 860)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 860)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 860)) | (1 << (frameQLParser.ST_SRID - 860)) | (1 << (frameQLParser.ST_STARTPOINT - 860)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 860)) | (1 << (frameQLParser.ST_TOUCHES - 860)) | (1 << (frameQLParser.ST_UNION - 860)) | (1 << (frameQLParser.ST_WITHIN - 860)) | (1 << (frameQLParser.ST_X - 860)) | (1 << (frameQLParser.ST_Y - 860)) | (1 << (frameQLParser.SUBDATE - 860)) | (1 << (frameQLParser.SUBSTRING_INDEX - 860)) | (1 << (frameQLParser.SUBTIME - 860)) | (1 << (frameQLParser.SYSTEM_USER - 860)) | (1 << (frameQLParser.TAN - 860)) | (1 << (frameQLParser.TIMEDIFF - 860)) | (1 << (frameQLParser.TIMESTAMPADD - 860)) | (1 << (frameQLParser.TIMESTAMPDIFF - 860)) | (1 << (frameQLParser.TIME_FORMAT - 860)) | (1 << (frameQLParser.TIME_TO_SEC - 860)) | (1 << (frameQLParser.TOUCHES - 860)) | (1 << (frameQLParser.TO_BASE64 - 860)) | (1 << (frameQLParser.TO_DAYS - 860)) | (1 << (frameQLParser.TO_SECONDS - 860)) | (1 << (frameQLParser.UCASE - 860)) | (1 << (frameQLParser.UNCOMPRESS - 860)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 860)) | (1 << (frameQLParser.UNHEX - 860)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 860)) | (1 << (frameQLParser.UPDATEXML - 860)) | (1 << (frameQLParser.UPPER - 860)) | (1 << (frameQLParser.UUID - 860)) | (1 << (frameQLParser.UUID_SHORT - 860)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 860)) | (1 << (frameQLParser.VERSION - 860)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 860)) | (1 << (frameQLParser.WEEKDAY - 860)) | (1 << (frameQLParser.WEEKOFYEAR - 860)) | (1 << (frameQLParser.WEIGHT_STRING - 860)) | (1 << (frameQLParser.WITHIN - 860)))) != 0) or ((((_la - 924)) & ~0x3f) == 0 and ((1 << (_la - 924)) & ((1 << (frameQLParser.YEARWEEK - 924)) | (1 << (frameQLParser.Y_FUNCTION - 924)) | (1 << (frameQLParser.X_FUNCTION - 924)) | (1 << (frameQLParser.PLUS - 924)) | (1 << (frameQLParser.MINUS - 924)) | (1 << (frameQLParser.EXCLAMATION_SYMBOL - 924)) | (1 << (frameQLParser.BIT_NOT_OP - 924)) | (1 << (frameQLParser.LR_BRACKET - 924)) | (1 << (frameQLParser.ZERO_DECIMAL - 924)) | (1 << (frameQLParser.ONE_DECIMAL - 924)) | (1 << (frameQLParser.TWO_DECIMAL - 924)) | (1 << (frameQLParser.CHARSET_REVERSE_QOUTE_STRING - 924)) | (1 << (frameQLParser.START_NATIONAL_STRING_LITERAL - 924)) | (1 << (frameQLParser.STRING_LITERAL - 924)) | (1 << (frameQLParser.DECIMAL_LITERAL - 924)) | (1 << (frameQLParser.HEXADECIMAL_LITERAL - 924)) | (1 << (frameQLParser.REAL_LITERAL - 924)) | (1 << (frameQLParser.NULL_SPEC_LITERAL - 924)) | (1 << (frameQLParser.BIT_STRING - 924)) | (1 << (frameQLParser.STRING_CHARSET_NAME - 924)) | (1 << (frameQLParser.ID - 924)) | (1 << (frameQLParser.REVERSE_QUOTE_ID - 924)) | (1 << (frameQLParser.LOCAL_ID - 924)) | (1 << (frameQLParser.GLOBAL_ID - 924)))) != 0): - self.state = 5581 - self.functionArgs() - - - self.state = 5584 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 5: - localctx = frameQLParser.PasswordFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 5586 - self.passwordFunctionClause() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SpecificFunctionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_specificFunction - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class PositionFunctionCallContext(SpecificFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SpecificFunctionContext - super().__init__(parser) - self.positionString = None # StringLiteralContext - self.positionExpression = None # ExpressionContext - self.inString = None # StringLiteralContext - self.inExpression = None # ExpressionContext - self.copyFrom(ctx) - - def POSITION(self): - return self.getToken(frameQLParser.POSITION, 0) - def IN(self): - return self.getToken(frameQLParser.IN, 0) - def stringLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.StringLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.StringLiteralContext,i) - - def expression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPositionFunctionCall" ): - listener.enterPositionFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPositionFunctionCall" ): - listener.exitPositionFunctionCall(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPositionFunctionCall" ): - return visitor.visitPositionFunctionCall(self) - else: - return visitor.visitChildren(self) - - - class TrimFunctionCallContext(SpecificFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SpecificFunctionContext - super().__init__(parser) - self.positioinForm = None # Token - self.sourceString = None # StringLiteralContext - self.sourceExpression = None # ExpressionContext - self.fromString = None # StringLiteralContext - self.fromExpression = None # ExpressionContext - self.copyFrom(ctx) - - def TRIM(self): - return self.getToken(frameQLParser.TRIM, 0) - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - def BOTH(self): - return self.getToken(frameQLParser.BOTH, 0) - def LEADING(self): - return self.getToken(frameQLParser.LEADING, 0) - def TRAILING(self): - return self.getToken(frameQLParser.TRAILING, 0) - def stringLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.StringLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.StringLiteralContext,i) - - def expression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTrimFunctionCall" ): - listener.enterTrimFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTrimFunctionCall" ): - listener.exitTrimFunctionCall(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTrimFunctionCall" ): - return visitor.visitTrimFunctionCall(self) - else: - return visitor.visitChildren(self) - - - class SimpleFunctionCallContext(SpecificFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SpecificFunctionContext - super().__init__(parser) - self.copyFrom(ctx) - - def CURRENT_DATE(self): - return self.getToken(frameQLParser.CURRENT_DATE, 0) - def CURRENT_TIME(self): - return self.getToken(frameQLParser.CURRENT_TIME, 0) - def CURRENT_TIMESTAMP(self): - return self.getToken(frameQLParser.CURRENT_TIMESTAMP, 0) - def CURRENT_USER(self): - return self.getToken(frameQLParser.CURRENT_USER, 0) - def LOCALTIME(self): - return self.getToken(frameQLParser.LOCALTIME, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSimpleFunctionCall" ): - listener.enterSimpleFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSimpleFunctionCall" ): - listener.exitSimpleFunctionCall(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSimpleFunctionCall" ): - return visitor.visitSimpleFunctionCall(self) - else: - return visitor.visitChildren(self) - - - class CharFunctionCallContext(SpecificFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SpecificFunctionContext - super().__init__(parser) - self.copyFrom(ctx) - - def CHAR(self): - return self.getToken(frameQLParser.CHAR, 0) - def functionArgs(self): - return self.getTypedRuleContext(frameQLParser.FunctionArgsContext,0) - - def USING(self): - return self.getToken(frameQLParser.USING, 0) - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCharFunctionCall" ): - listener.enterCharFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCharFunctionCall" ): - listener.exitCharFunctionCall(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCharFunctionCall" ): - return visitor.visitCharFunctionCall(self) - else: - return visitor.visitChildren(self) - - - class WeightFunctionCallContext(SpecificFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SpecificFunctionContext - super().__init__(parser) - self.stringFormat = None # Token - self.copyFrom(ctx) - - def WEIGHT_STRING(self): - return self.getToken(frameQLParser.WEIGHT_STRING, 0) - def stringLiteral(self): - return self.getTypedRuleContext(frameQLParser.StringLiteralContext,0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def AS(self): - return self.getToken(frameQLParser.AS, 0) - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - def levelsInWeightString(self): - return self.getTypedRuleContext(frameQLParser.LevelsInWeightStringContext,0) - - def CHAR(self): - return self.getToken(frameQLParser.CHAR, 0) - def BINARY(self): - return self.getToken(frameQLParser.BINARY, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterWeightFunctionCall" ): - listener.enterWeightFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitWeightFunctionCall" ): - listener.exitWeightFunctionCall(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitWeightFunctionCall" ): - return visitor.visitWeightFunctionCall(self) - else: - return visitor.visitChildren(self) - - - class GetFormatFunctionCallContext(SpecificFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SpecificFunctionContext - super().__init__(parser) - self.datetimeFormat = None # Token - self.copyFrom(ctx) - - def GET_FORMAT(self): - return self.getToken(frameQLParser.GET_FORMAT, 0) - def stringLiteral(self): - return self.getTypedRuleContext(frameQLParser.StringLiteralContext,0) - - def DATE(self): - return self.getToken(frameQLParser.DATE, 0) - def TIME(self): - return self.getToken(frameQLParser.TIME, 0) - def DATETIME(self): - return self.getToken(frameQLParser.DATETIME, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterGetFormatFunctionCall" ): - listener.enterGetFormatFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitGetFormatFunctionCall" ): - listener.exitGetFormatFunctionCall(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitGetFormatFunctionCall" ): - return visitor.visitGetFormatFunctionCall(self) - else: - return visitor.visitChildren(self) - - - class CaseFunctionCallContext(SpecificFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SpecificFunctionContext - super().__init__(parser) - self.elseArg = None # FunctionArgContext - self.copyFrom(ctx) - - def CASE(self): - return self.getToken(frameQLParser.CASE, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def END(self): - return self.getToken(frameQLParser.END, 0) - def caseFuncAlternative(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.CaseFuncAlternativeContext) - else: - return self.getTypedRuleContext(frameQLParser.CaseFuncAlternativeContext,i) - - def ELSE(self): - return self.getToken(frameQLParser.ELSE, 0) - def functionArg(self): - return self.getTypedRuleContext(frameQLParser.FunctionArgContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCaseFunctionCall" ): - listener.enterCaseFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCaseFunctionCall" ): - listener.exitCaseFunctionCall(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCaseFunctionCall" ): - return visitor.visitCaseFunctionCall(self) - else: - return visitor.visitChildren(self) - - - class ExtractFunctionCallContext(SpecificFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SpecificFunctionContext - super().__init__(parser) - self.sourceString = None # StringLiteralContext - self.sourceExpression = None # ExpressionContext - self.copyFrom(ctx) - - def EXTRACT(self): - return self.getToken(frameQLParser.EXTRACT, 0) - def intervalType(self): - return self.getTypedRuleContext(frameQLParser.IntervalTypeContext,0) - - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - def stringLiteral(self): - return self.getTypedRuleContext(frameQLParser.StringLiteralContext,0) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExtractFunctionCall" ): - listener.enterExtractFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExtractFunctionCall" ): - listener.exitExtractFunctionCall(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitExtractFunctionCall" ): - return visitor.visitExtractFunctionCall(self) - else: - return visitor.visitChildren(self) - - - class DataTypeFunctionCallContext(SpecificFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SpecificFunctionContext - super().__init__(parser) - self.separator = None # Token - self.copyFrom(ctx) - - def CONVERT(self): - return self.getToken(frameQLParser.CONVERT, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def convertedDataType(self): - return self.getTypedRuleContext(frameQLParser.ConvertedDataTypeContext,0) - - def USING(self): - return self.getToken(frameQLParser.USING, 0) - def charsetName(self): - return self.getTypedRuleContext(frameQLParser.CharsetNameContext,0) - - def CAST(self): - return self.getToken(frameQLParser.CAST, 0) - def AS(self): - return self.getToken(frameQLParser.AS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDataTypeFunctionCall" ): - listener.enterDataTypeFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDataTypeFunctionCall" ): - listener.exitDataTypeFunctionCall(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDataTypeFunctionCall" ): - return visitor.visitDataTypeFunctionCall(self) - else: - return visitor.visitChildren(self) - - - class ValuesFunctionCallContext(SpecificFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SpecificFunctionContext - super().__init__(parser) - self.copyFrom(ctx) - - def VALUES(self): - return self.getToken(frameQLParser.VALUES, 0) - def fullColumnName(self): - return self.getTypedRuleContext(frameQLParser.FullColumnNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterValuesFunctionCall" ): - listener.enterValuesFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitValuesFunctionCall" ): - listener.exitValuesFunctionCall(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitValuesFunctionCall" ): - return visitor.visitValuesFunctionCall(self) - else: - return visitor.visitChildren(self) - - - class SubstrFunctionCallContext(SpecificFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.SpecificFunctionContext - super().__init__(parser) - self.sourceString = None # StringLiteralContext - self.sourceExpression = None # ExpressionContext - self.fromDecimal = None # DecimalLiteralContext - self.fromExpression = None # ExpressionContext - self.forDecimal = None # DecimalLiteralContext - self.forExpression = None # ExpressionContext - self.copyFrom(ctx) - - def FROM(self): - return self.getToken(frameQLParser.FROM, 0) - def SUBSTR(self): - return self.getToken(frameQLParser.SUBSTR, 0) - def SUBSTRING(self): - return self.getToken(frameQLParser.SUBSTRING, 0) - def stringLiteral(self): - return self.getTypedRuleContext(frameQLParser.StringLiteralContext,0) - - def expression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionContext,i) - - def decimalLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DecimalLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,i) - - def FOR(self): - return self.getToken(frameQLParser.FOR, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSubstrFunctionCall" ): - listener.enterSubstrFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSubstrFunctionCall" ): - listener.exitSubstrFunctionCall(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSubstrFunctionCall" ): - return visitor.visitSubstrFunctionCall(self) - else: - return visitor.visitChildren(self) - - - - def specificFunction(self): - - localctx = frameQLParser.SpecificFunctionContext(self, self._ctx, self.state) - self.enterRule(localctx, 572, self.RULE_specificFunction) - self._la = 0 # Token type - try: - self.state = 5746 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,838,self._ctx) - if la_ == 1: - localctx = frameQLParser.SimpleFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 5589 - _la = self._input.LA(1) - if not(_la==frameQLParser.CURRENT_USER or ((((_la - 231)) & ~0x3f) == 0 and ((1 << (_la - 231)) & ((1 << (frameQLParser.CURRENT_DATE - 231)) | (1 << (frameQLParser.CURRENT_TIME - 231)) | (1 << (frameQLParser.CURRENT_TIMESTAMP - 231)) | (1 << (frameQLParser.LOCALTIME - 231)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 2: - localctx = frameQLParser.DataTypeFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 5590 - self.match(frameQLParser.CONVERT) - self.state = 5591 - self.match(frameQLParser.LR_BRACKET) - self.state = 5592 - self.expression(0) - self.state = 5593 - localctx.separator = self.match(frameQLParser.COMMA) - self.state = 5594 - self.convertedDataType() - self.state = 5595 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 3: - localctx = frameQLParser.DataTypeFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 5597 - self.match(frameQLParser.CONVERT) - self.state = 5598 - self.match(frameQLParser.LR_BRACKET) - self.state = 5599 - self.expression(0) - self.state = 5600 - self.match(frameQLParser.USING) - self.state = 5601 - self.charsetName() - self.state = 5602 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 4: - localctx = frameQLParser.DataTypeFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 5604 - self.match(frameQLParser.CAST) - self.state = 5605 - self.match(frameQLParser.LR_BRACKET) - self.state = 5606 - self.expression(0) - self.state = 5607 - self.match(frameQLParser.AS) - self.state = 5608 - self.convertedDataType() - self.state = 5609 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 5: - localctx = frameQLParser.ValuesFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 5611 - self.match(frameQLParser.VALUES) - self.state = 5612 - self.match(frameQLParser.LR_BRACKET) - self.state = 5613 - self.fullColumnName() - self.state = 5614 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 6: - localctx = frameQLParser.CaseFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 5616 - self.match(frameQLParser.CASE) - self.state = 5617 - self.expression(0) - self.state = 5619 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 5618 - self.caseFuncAlternative() - self.state = 5621 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==frameQLParser.WHEN): - break - - self.state = 5625 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ELSE: - self.state = 5623 - self.match(frameQLParser.ELSE) - self.state = 5624 - localctx.elseArg = self.functionArg() - - - self.state = 5627 - self.match(frameQLParser.END) - pass - - elif la_ == 7: - localctx = frameQLParser.CaseFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 5629 - self.match(frameQLParser.CASE) - self.state = 5631 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 5630 - self.caseFuncAlternative() - self.state = 5633 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==frameQLParser.WHEN): - break - - self.state = 5637 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ELSE: - self.state = 5635 - self.match(frameQLParser.ELSE) - self.state = 5636 - localctx.elseArg = self.functionArg() - - - self.state = 5639 - self.match(frameQLParser.END) - pass - - elif la_ == 8: - localctx = frameQLParser.CharFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 8) - self.state = 5641 - self.match(frameQLParser.CHAR) - self.state = 5642 - self.match(frameQLParser.LR_BRACKET) - self.state = 5643 - self.functionArgs() - self.state = 5646 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.USING: - self.state = 5644 - self.match(frameQLParser.USING) - self.state = 5645 - self.charsetName() - - - self.state = 5648 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 9: - localctx = frameQLParser.PositionFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 9) - self.state = 5650 - self.match(frameQLParser.POSITION) - self.state = 5651 - self.match(frameQLParser.LR_BRACKET) - self.state = 5654 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,824,self._ctx) - if la_ == 1: - self.state = 5652 - localctx.positionString = self.stringLiteral() - pass - - elif la_ == 2: - self.state = 5653 - localctx.positionExpression = self.expression(0) - pass - - - self.state = 5656 - self.match(frameQLParser.IN) - self.state = 5659 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,825,self._ctx) - if la_ == 1: - self.state = 5657 - localctx.inString = self.stringLiteral() - pass - - elif la_ == 2: - self.state = 5658 - localctx.inExpression = self.expression(0) - pass - - - self.state = 5661 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 10: - localctx = frameQLParser.SubstrFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 10) - self.state = 5663 - _la = self._input.LA(1) - if not(_la==frameQLParser.SUBSTR or _la==frameQLParser.SUBSTRING): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5664 - self.match(frameQLParser.LR_BRACKET) - self.state = 5667 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,826,self._ctx) - if la_ == 1: - self.state = 5665 - localctx.sourceString = self.stringLiteral() - pass - - elif la_ == 2: - self.state = 5666 - localctx.sourceExpression = self.expression(0) - pass - - - self.state = 5669 - self.match(frameQLParser.FROM) - self.state = 5672 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,827,self._ctx) - if la_ == 1: - self.state = 5670 - localctx.fromDecimal = self.decimalLiteral() - pass - - elif la_ == 2: - self.state = 5671 - localctx.fromExpression = self.expression(0) - pass - - - self.state = 5679 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.FOR: - self.state = 5674 - self.match(frameQLParser.FOR) - self.state = 5677 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,828,self._ctx) - if la_ == 1: - self.state = 5675 - localctx.forDecimal = self.decimalLiteral() - pass - - elif la_ == 2: - self.state = 5676 - localctx.forExpression = self.expression(0) - pass - - - - - self.state = 5681 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 11: - localctx = frameQLParser.TrimFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 11) - self.state = 5683 - self.match(frameQLParser.TRIM) - self.state = 5684 - self.match(frameQLParser.LR_BRACKET) - self.state = 5685 - localctx.positioinForm = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.BOTH or _la==frameQLParser.LEADING or _la==frameQLParser.TRAILING): - localctx.positioinForm = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5688 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,830,self._ctx) - if la_ == 1: - self.state = 5686 - localctx.sourceString = self.stringLiteral() - - elif la_ == 2: - self.state = 5687 - localctx.sourceExpression = self.expression(0) - - - self.state = 5690 - self.match(frameQLParser.FROM) - self.state = 5693 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,831,self._ctx) - if la_ == 1: - self.state = 5691 - localctx.fromString = self.stringLiteral() - pass - - elif la_ == 2: - self.state = 5692 - localctx.fromExpression = self.expression(0) - pass - - - self.state = 5695 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 12: - localctx = frameQLParser.TrimFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 12) - self.state = 5697 - self.match(frameQLParser.TRIM) - self.state = 5698 - self.match(frameQLParser.LR_BRACKET) - self.state = 5701 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,832,self._ctx) - if la_ == 1: - self.state = 5699 - localctx.sourceString = self.stringLiteral() - pass - - elif la_ == 2: - self.state = 5700 - localctx.sourceExpression = self.expression(0) - pass - - - self.state = 5703 - self.match(frameQLParser.FROM) - self.state = 5706 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,833,self._ctx) - if la_ == 1: - self.state = 5704 - localctx.fromString = self.stringLiteral() - pass - - elif la_ == 2: - self.state = 5705 - localctx.fromExpression = self.expression(0) - pass - - - self.state = 5708 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 13: - localctx = frameQLParser.WeightFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 13) - self.state = 5710 - self.match(frameQLParser.WEIGHT_STRING) - self.state = 5711 - self.match(frameQLParser.LR_BRACKET) - self.state = 5714 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,834,self._ctx) - if la_ == 1: - self.state = 5712 - self.stringLiteral() - pass - - elif la_ == 2: - self.state = 5713 - self.expression(0) - pass - - - self.state = 5722 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.AS: - self.state = 5716 - self.match(frameQLParser.AS) - self.state = 5717 - localctx.stringFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.CHAR or _la==frameQLParser.BINARY): - localctx.stringFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5718 - self.match(frameQLParser.LR_BRACKET) - self.state = 5719 - self.decimalLiteral() - self.state = 5720 - self.match(frameQLParser.RR_BRACKET) - - - self.state = 5725 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.LEVEL: - self.state = 5724 - self.levelsInWeightString() - - - self.state = 5727 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 14: - localctx = frameQLParser.ExtractFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 14) - self.state = 5729 - self.match(frameQLParser.EXTRACT) - self.state = 5730 - self.match(frameQLParser.LR_BRACKET) - self.state = 5731 - self.intervalType() - self.state = 5732 - self.match(frameQLParser.FROM) - self.state = 5735 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,837,self._ctx) - if la_ == 1: - self.state = 5733 - localctx.sourceString = self.stringLiteral() - pass - - elif la_ == 2: - self.state = 5734 - localctx.sourceExpression = self.expression(0) - pass - - - self.state = 5737 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 15: - localctx = frameQLParser.GetFormatFunctionCallContext(self, localctx) - self.enterOuterAlt(localctx, 15) - self.state = 5739 - self.match(frameQLParser.GET_FORMAT) - self.state = 5740 - self.match(frameQLParser.LR_BRACKET) - self.state = 5741 - localctx.datetimeFormat = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.DATETIME - 184)))) != 0)): - localctx.datetimeFormat = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5742 - self.match(frameQLParser.COMMA) - self.state = 5743 - self.stringLiteral() - self.state = 5744 - self.match(frameQLParser.RR_BRACKET) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CaseFuncAlternativeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.condition = None # FunctionArgContext - self.consequent = None # FunctionArgContext - - def WHEN(self): - return self.getToken(frameQLParser.WHEN, 0) - - def THEN(self): - return self.getToken(frameQLParser.THEN, 0) - - def functionArg(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.FunctionArgContext) - else: - return self.getTypedRuleContext(frameQLParser.FunctionArgContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_caseFuncAlternative - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCaseFuncAlternative" ): - listener.enterCaseFuncAlternative(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCaseFuncAlternative" ): - listener.exitCaseFuncAlternative(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCaseFuncAlternative" ): - return visitor.visitCaseFuncAlternative(self) - else: - return visitor.visitChildren(self) - - - - - def caseFuncAlternative(self): - - localctx = frameQLParser.CaseFuncAlternativeContext(self, self._ctx, self.state) - self.enterRule(localctx, 574, self.RULE_caseFuncAlternative) - try: - self.enterOuterAlt(localctx, 1) - self.state = 5748 - self.match(frameQLParser.WHEN) - self.state = 5749 - localctx.condition = self.functionArg() - self.state = 5750 - self.match(frameQLParser.THEN) - self.state = 5751 - localctx.consequent = self.functionArg() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class LevelsInWeightStringContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_levelsInWeightString - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class LevelWeightRangeContext(LevelsInWeightStringContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.LevelsInWeightStringContext - super().__init__(parser) - self.firstLevel = None # DecimalLiteralContext - self.lastLevel = None # DecimalLiteralContext - self.copyFrom(ctx) - - def LEVEL(self): - return self.getToken(frameQLParser.LEVEL, 0) - def decimalLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.DecimalLiteralContext) - else: - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLevelWeightRange" ): - listener.enterLevelWeightRange(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLevelWeightRange" ): - listener.exitLevelWeightRange(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitLevelWeightRange" ): - return visitor.visitLevelWeightRange(self) - else: - return visitor.visitChildren(self) - - - class LevelWeightListContext(LevelsInWeightStringContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.LevelsInWeightStringContext - super().__init__(parser) - self.copyFrom(ctx) - - def LEVEL(self): - return self.getToken(frameQLParser.LEVEL, 0) - def levelInWeightListElement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.LevelInWeightListElementContext) - else: - return self.getTypedRuleContext(frameQLParser.LevelInWeightListElementContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLevelWeightList" ): - listener.enterLevelWeightList(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLevelWeightList" ): - listener.exitLevelWeightList(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitLevelWeightList" ): - return visitor.visitLevelWeightList(self) - else: - return visitor.visitChildren(self) - - - - def levelsInWeightString(self): - - localctx = frameQLParser.LevelsInWeightStringContext(self, self._ctx, self.state) - self.enterRule(localctx, 576, self.RULE_levelsInWeightString) - self._la = 0 # Token type - try: - self.state = 5767 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,840,self._ctx) - if la_ == 1: - localctx = frameQLParser.LevelWeightListContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 5753 - self.match(frameQLParser.LEVEL) - self.state = 5754 - self.levelInWeightListElement() - self.state = 5759 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5755 - self.match(frameQLParser.COMMA) - self.state = 5756 - self.levelInWeightListElement() - self.state = 5761 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 2: - localctx = frameQLParser.LevelWeightRangeContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 5762 - self.match(frameQLParser.LEVEL) - self.state = 5763 - localctx.firstLevel = self.decimalLiteral() - self.state = 5764 - self.match(frameQLParser.MINUS) - self.state = 5765 - localctx.lastLevel = self.decimalLiteral() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class LevelInWeightListElementContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.orderType = None # Token - - def decimalLiteral(self): - return self.getTypedRuleContext(frameQLParser.DecimalLiteralContext,0) - - - def ASC(self): - return self.getToken(frameQLParser.ASC, 0) - - def DESC(self): - return self.getToken(frameQLParser.DESC, 0) - - def REVERSE(self): - return self.getToken(frameQLParser.REVERSE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_levelInWeightListElement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLevelInWeightListElement" ): - listener.enterLevelInWeightListElement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLevelInWeightListElement" ): - listener.exitLevelInWeightListElement(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitLevelInWeightListElement" ): - return visitor.visitLevelInWeightListElement(self) - else: - return visitor.visitChildren(self) - - - - - def levelInWeightListElement(self): - - localctx = frameQLParser.LevelInWeightListElementContext(self, self._ctx, self.state) - self.enterRule(localctx, 578, self.RULE_levelInWeightListElement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5769 - self.decimalLiteral() - self.state = 5771 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ASC or _la==frameQLParser.DESC or _la==frameQLParser.REVERSE: - self.state = 5770 - localctx.orderType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ASC or _la==frameQLParser.DESC or _la==frameQLParser.REVERSE): - localctx.orderType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class AggregateWindowedFunctionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.aggregator = None # Token - self.starArg = None # Token - self.separator = None # Token - - def functionArg(self): - return self.getTypedRuleContext(frameQLParser.FunctionArgContext,0) - - - def AVG(self): - return self.getToken(frameQLParser.AVG, 0) - - def MAX(self): - return self.getToken(frameQLParser.MAX, 0) - - def MIN(self): - return self.getToken(frameQLParser.MIN, 0) - - def SUM(self): - return self.getToken(frameQLParser.SUM, 0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - - def DISTINCT(self): - return self.getToken(frameQLParser.DISTINCT, 0) - - def COUNT(self): - return self.getToken(frameQLParser.COUNT, 0) - - def functionArgs(self): - return self.getTypedRuleContext(frameQLParser.FunctionArgsContext,0) - - - def FCOUNT(self): - return self.getToken(frameQLParser.FCOUNT, 0) - - def BIT_AND(self): - return self.getToken(frameQLParser.BIT_AND, 0) - - def BIT_OR(self): - return self.getToken(frameQLParser.BIT_OR, 0) - - def BIT_XOR(self): - return self.getToken(frameQLParser.BIT_XOR, 0) - - def STD(self): - return self.getToken(frameQLParser.STD, 0) - - def STDDEV(self): - return self.getToken(frameQLParser.STDDEV, 0) - - def STDDEV_POP(self): - return self.getToken(frameQLParser.STDDEV_POP, 0) - - def STDDEV_SAMP(self): - return self.getToken(frameQLParser.STDDEV_SAMP, 0) - - def VAR_POP(self): - return self.getToken(frameQLParser.VAR_POP, 0) - - def VAR_SAMP(self): - return self.getToken(frameQLParser.VAR_SAMP, 0) - - def VARIANCE(self): - return self.getToken(frameQLParser.VARIANCE, 0) - - def GROUP_CONCAT(self): - return self.getToken(frameQLParser.GROUP_CONCAT, 0) - - def ORDER(self): - return self.getToken(frameQLParser.ORDER, 0) - - def BY(self): - return self.getToken(frameQLParser.BY, 0) - - def orderByExpression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.OrderByExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.OrderByExpressionContext,i) - - - def SEPARATOR(self): - return self.getToken(frameQLParser.SEPARATOR, 0) - - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_aggregateWindowedFunction - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAggregateWindowedFunction" ): - listener.enterAggregateWindowedFunction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAggregateWindowedFunction" ): - listener.exitAggregateWindowedFunction(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAggregateWindowedFunction" ): - return visitor.visitAggregateWindowedFunction(self) - else: - return visitor.visitChildren(self) - - - - - def aggregateWindowedFunction(self): - - localctx = frameQLParser.AggregateWindowedFunctionContext(self, self._ctx, self.state) - self.enterRule(localctx, 580, self.RULE_aggregateWindowedFunction) - self._la = 0 # Token type - try: - self.state = 5833 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,850,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 5773 - _la = self._input.LA(1) - if not(((((_la - 214)) & ~0x3f) == 0 and ((1 << (_la - 214)) & ((1 << (frameQLParser.AVG - 214)) | (1 << (frameQLParser.MAX - 214)) | (1 << (frameQLParser.MIN - 214)) | (1 << (frameQLParser.SUM - 214)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5774 - self.match(frameQLParser.LR_BRACKET) - self.state = 5776 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALL or _la==frameQLParser.DISTINCT: - self.state = 5775 - localctx.aggregator = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ALL or _la==frameQLParser.DISTINCT): - localctx.aggregator = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 5778 - self.functionArg() - self.state = 5779 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 5781 - self.match(frameQLParser.COUNT) - self.state = 5782 - self.match(frameQLParser.LR_BRACKET) - self.state = 5788 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.STAR]: - self.state = 5783 - localctx.starArg = self.match(frameQLParser.STAR) - pass - elif token in [frameQLParser.ALL, frameQLParser.CASE, frameQLParser.CAST, frameQLParser.CONVERT, frameQLParser.CURRENT_USER, frameQLParser.DATABASE, frameQLParser.EXISTS, frameQLParser.FALSE, frameQLParser.IF, frameQLParser.INSERT, frameQLParser.INTERVAL, frameQLParser.LEFT, frameQLParser.NOT, frameQLParser.NULL_LITERAL, frameQLParser.REPLACE, frameQLParser.RIGHT, frameQLParser.TRUE, frameQLParser.VALUES, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.DATETIME, frameQLParser.YEAR, frameQLParser.CHAR, frameQLParser.BINARY, frameQLParser.TEXT, frameQLParser.ENUM, frameQLParser.SERIAL, frameQLParser.AVG, frameQLParser.BIT_AND, frameQLParser.BIT_OR, frameQLParser.BIT_XOR, frameQLParser.COUNT, frameQLParser.GROUP_CONCAT, frameQLParser.MAX, frameQLParser.MIN, frameQLParser.STD, frameQLParser.STDDEV, frameQLParser.STDDEV_POP, frameQLParser.STDDEV_SAMP, frameQLParser.SUM, frameQLParser.VAR_POP, frameQLParser.VAR_SAMP, frameQLParser.VARIANCE, frameQLParser.FCOUNT, frameQLParser.CURRENT_DATE, frameQLParser.CURRENT_TIME, frameQLParser.CURRENT_TIMESTAMP, frameQLParser.LOCALTIME, frameQLParser.CURDATE, frameQLParser.CURTIME, frameQLParser.DATE_ADD, frameQLParser.DATE_SUB, frameQLParser.EXTRACT, frameQLParser.LOCALTIMESTAMP, frameQLParser.NOW, frameQLParser.POSITION, frameQLParser.SUBSTR, frameQLParser.SUBSTRING, frameQLParser.SYSDATE, frameQLParser.TRIM, frameQLParser.UTC_DATE, frameQLParser.UTC_TIME, frameQLParser.UTC_TIMESTAMP, frameQLParser.ACCOUNT, frameQLParser.ACTION, frameQLParser.AFTER, frameQLParser.AGGREGATE, frameQLParser.ALGORITHM, frameQLParser.ANY, frameQLParser.AT, frameQLParser.AUTHORS, frameQLParser.AUTOCOMMIT, frameQLParser.AUTOEXTEND_SIZE, frameQLParser.AUTO_INCREMENT, frameQLParser.AVG_ROW_LENGTH, frameQLParser.BEGIN, frameQLParser.BINLOG, frameQLParser.BIT, frameQLParser.BLOCK, frameQLParser.BOOL, frameQLParser.BOOLEAN, frameQLParser.BTREE, frameQLParser.CASCADED, frameQLParser.CHAIN, frameQLParser.CHANGED, frameQLParser.CHANNEL, frameQLParser.CHECKSUM, frameQLParser.CIPHER, frameQLParser.CLIENT, frameQLParser.COALESCE, frameQLParser.CODE, frameQLParser.COLUMNS, frameQLParser.COLUMN_FORMAT, frameQLParser.COMMENT, frameQLParser.COMMIT, frameQLParser.COMPACT, frameQLParser.COMPLETION, frameQLParser.COMPRESSED, frameQLParser.COMPRESSION, frameQLParser.CONCURRENT, frameQLParser.CONNECTION, frameQLParser.CONSISTENT, frameQLParser.CONTAINS, frameQLParser.CONTEXT, frameQLParser.CONTRIBUTORS, frameQLParser.COPY, frameQLParser.CPU, frameQLParser.DATA, frameQLParser.DATAFILE, frameQLParser.DEALLOCATE, frameQLParser.DEFAULT_AUTH, frameQLParser.DEFINER, frameQLParser.DELAY_KEY_WRITE, frameQLParser.DIRECTORY, frameQLParser.DISABLE, frameQLParser.DISCARD, frameQLParser.DISK, frameQLParser.DO, frameQLParser.DUMPFILE, frameQLParser.DUPLICATE, frameQLParser.DYNAMIC, frameQLParser.ENABLE, frameQLParser.ENCRYPTION, frameQLParser.ENDS, frameQLParser.ENGINE, frameQLParser.ENGINES, frameQLParser.ERROR, frameQLParser.ERRORS, frameQLParser.ESCAPE, frameQLParser.EVEN, frameQLParser.EVENT, frameQLParser.EVENTS, frameQLParser.EVERY, frameQLParser.EXCHANGE, frameQLParser.EXCLUSIVE, frameQLParser.EXPIRE, frameQLParser.EXTENDED, frameQLParser.EXTENT_SIZE, frameQLParser.FAST, frameQLParser.FAULTS, frameQLParser.FIELDS, frameQLParser.FILE_BLOCK_SIZE, frameQLParser.FILTER, frameQLParser.FIRST, frameQLParser.FIXED, frameQLParser.FOLLOWS, frameQLParser.FULL, frameQLParser.FUNCTION, frameQLParser.GLOBAL, frameQLParser.GRANTS, frameQLParser.GROUP_REPLICATION, frameQLParser.HASH, frameQLParser.HOST, frameQLParser.IDENTIFIED, frameQLParser.IGNORE_SERVER_IDS, frameQLParser.IMPORT, frameQLParser.INDEXES, frameQLParser.INITIAL_SIZE, frameQLParser.INPLACE, frameQLParser.INSERT_METHOD, frameQLParser.INSTANCE, frameQLParser.INVOKER, frameQLParser.IO, frameQLParser.IO_THREAD, frameQLParser.IPC, frameQLParser.ISOLATION, frameQLParser.ISSUER, frameQLParser.KEY_BLOCK_SIZE, frameQLParser.LANGUAGE, frameQLParser.LAST, frameQLParser.LEAVES, frameQLParser.LESS, frameQLParser.LEVEL, frameQLParser.LIST, frameQLParser.LOCAL, frameQLParser.LOGFILE, frameQLParser.LOGS, frameQLParser.MASTER, frameQLParser.MASTER_AUTO_POSITION, frameQLParser.MASTER_CONNECT_RETRY, frameQLParser.MASTER_DELAY, frameQLParser.MASTER_HEARTBEAT_PERIOD, frameQLParser.MASTER_HOST, frameQLParser.MASTER_LOG_FILE, frameQLParser.MASTER_LOG_POS, frameQLParser.MASTER_PASSWORD, frameQLParser.MASTER_PORT, frameQLParser.MASTER_RETRY_COUNT, frameQLParser.MASTER_SSL, frameQLParser.MASTER_SSL_CA, frameQLParser.MASTER_SSL_CAPATH, frameQLParser.MASTER_SSL_CERT, frameQLParser.MASTER_SSL_CIPHER, frameQLParser.MASTER_SSL_CRL, frameQLParser.MASTER_SSL_CRLPATH, frameQLParser.MASTER_SSL_KEY, frameQLParser.MASTER_TLS_VERSION, frameQLParser.MASTER_USER, frameQLParser.MAX_CONNECTIONS_PER_HOUR, frameQLParser.MAX_QUERIES_PER_HOUR, frameQLParser.MAX_ROWS, frameQLParser.MAX_SIZE, frameQLParser.MAX_UPDATES_PER_HOUR, frameQLParser.MAX_USER_CONNECTIONS, frameQLParser.MEDIUM, frameQLParser.MERGE, frameQLParser.MID, frameQLParser.MIGRATE, frameQLParser.MIN_ROWS, frameQLParser.MODIFY, frameQLParser.MUTEX, frameQLParser.MYSQL, frameQLParser.NAME, frameQLParser.NAMES, frameQLParser.NCHAR, frameQLParser.NEVER, frameQLParser.NO, frameQLParser.NODEGROUP, frameQLParser.NONE, frameQLParser.OFFLINE, frameQLParser.OFFSET, frameQLParser.OJ, frameQLParser.OLD_PASSWORD, frameQLParser.ONE, frameQLParser.ONLINE, frameQLParser.ONLY, frameQLParser.OPTIMIZER_COSTS, frameQLParser.OPTIONS, frameQLParser.OWNER, frameQLParser.PACK_KEYS, frameQLParser.PAGE, frameQLParser.PARSER, frameQLParser.PARTIAL, frameQLParser.PARTITIONING, frameQLParser.PARTITIONS, frameQLParser.PASSWORD, frameQLParser.PHASE, frameQLParser.PLUGIN_DIR, frameQLParser.PLUGINS, frameQLParser.PORT, frameQLParser.PRECEDES, frameQLParser.PREPARE, frameQLParser.PRESERVE, frameQLParser.PREV, frameQLParser.PROCESSLIST, frameQLParser.PROFILE, frameQLParser.PROFILES, frameQLParser.PROXY, frameQLParser.QUERY, frameQLParser.QUICK, frameQLParser.REBUILD, frameQLParser.RECOVER, frameQLParser.REDO_BUFFER_SIZE, frameQLParser.REDUNDANT, frameQLParser.RELAY_LOG_FILE, frameQLParser.RELAY_LOG_POS, frameQLParser.RELAYLOG, frameQLParser.REMOVE, frameQLParser.REORGANIZE, frameQLParser.REPAIR, frameQLParser.REPLICATE_DO_DB, frameQLParser.REPLICATE_DO_TABLE, frameQLParser.REPLICATE_IGNORE_DB, frameQLParser.REPLICATE_IGNORE_TABLE, frameQLParser.REPLICATE_REWRITE_DB, frameQLParser.REPLICATE_WILD_DO_TABLE, frameQLParser.REPLICATE_WILD_IGNORE_TABLE, frameQLParser.REPLICATION, frameQLParser.RESUME, frameQLParser.RETURNS, frameQLParser.ROLLBACK, frameQLParser.ROLLUP, frameQLParser.ROTATE, frameQLParser.ROW, frameQLParser.ROWS, frameQLParser.ROW_FORMAT, frameQLParser.SAVEPOINT, frameQLParser.SCHEDULE, frameQLParser.SECURITY, frameQLParser.SERVER, frameQLParser.SESSION, frameQLParser.SHARE, frameQLParser.SHARED, frameQLParser.SIGNED, frameQLParser.SIMPLE, frameQLParser.SLAVE, frameQLParser.SNAPSHOT, frameQLParser.SOCKET, frameQLParser.SOME, frameQLParser.SOUNDS, frameQLParser.SOURCE, frameQLParser.SQL_AFTER_GTIDS, frameQLParser.SQL_AFTER_MTS_GAPS, frameQLParser.SQL_BEFORE_GTIDS, frameQLParser.SQL_BUFFER_RESULT, frameQLParser.SQL_CACHE, frameQLParser.SQL_NO_CACHE, frameQLParser.SQL_THREAD, frameQLParser.START, frameQLParser.STARTS, frameQLParser.STATS_AUTO_RECALC, frameQLParser.STATS_PERSISTENT, frameQLParser.STATS_SAMPLE_PAGES, frameQLParser.STATUS, frameQLParser.STOP, frameQLParser.STORAGE, frameQLParser.STRING, frameQLParser.SUBJECT, frameQLParser.SUBPARTITION, frameQLParser.SUBPARTITIONS, frameQLParser.SUSPEND, frameQLParser.SWAPS, frameQLParser.SWITCHES, frameQLParser.TABLESPACE, frameQLParser.TEMPORARY, frameQLParser.TEMPTABLE, frameQLParser.THAN, frameQLParser.TRANSACTION, frameQLParser.TRUNCATE, frameQLParser.UNDEFINED, frameQLParser.UNDOFILE, frameQLParser.UNDO_BUFFER_SIZE, frameQLParser.UNKNOWN, frameQLParser.UPGRADE, frameQLParser.USER, frameQLParser.VALIDATION, frameQLParser.VALUE, frameQLParser.VARIABLES, frameQLParser.VIEW, frameQLParser.WAIT, frameQLParser.WARNINGS, frameQLParser.WITHOUT, frameQLParser.WORK, frameQLParser.WRAPPER, frameQLParser.X509, frameQLParser.XA, frameQLParser.XML, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.TABLES, frameQLParser.ROUTINE, frameQLParser.EXECUTE, frameQLParser.FILE, frameQLParser.PROCESS, frameQLParser.RELOAD, frameQLParser.SHUTDOWN, frameQLParser.SUPER, frameQLParser.PRIVILEGES, frameQLParser.ARMSCII8, frameQLParser.ASCII, frameQLParser.BIG5, frameQLParser.CP1250, frameQLParser.CP1251, frameQLParser.CP1256, frameQLParser.CP1257, frameQLParser.CP850, frameQLParser.CP852, frameQLParser.CP866, frameQLParser.CP932, frameQLParser.DEC8, frameQLParser.EUCJPMS, frameQLParser.EUCKR, frameQLParser.GB2312, frameQLParser.GBK, frameQLParser.GEOSTD8, frameQLParser.GREEK, frameQLParser.HEBREW, frameQLParser.HP8, frameQLParser.KEYBCS2, frameQLParser.KOI8R, frameQLParser.KOI8U, frameQLParser.LATIN1, frameQLParser.LATIN2, frameQLParser.LATIN5, frameQLParser.LATIN7, frameQLParser.MACCE, frameQLParser.MACROMAN, frameQLParser.SJIS, frameQLParser.SWE7, frameQLParser.TIS620, frameQLParser.UCS2, frameQLParser.UJIS, frameQLParser.UTF16, frameQLParser.UTF16LE, frameQLParser.UTF32, frameQLParser.UTF8, frameQLParser.UTF8MB3, frameQLParser.UTF8MB4, frameQLParser.ARCHIVE, frameQLParser.BLACKHOLE, frameQLParser.CSV, frameQLParser.FEDERATED, frameQLParser.INNODB, frameQLParser.MEMORY, frameQLParser.MRG_MYISAM, frameQLParser.MYISAM, frameQLParser.NDB, frameQLParser.NDBCLUSTER, frameQLParser.PERFOMANCE_SCHEMA, frameQLParser.REPEATABLE, frameQLParser.COMMITTED, frameQLParser.UNCOMMITTED, frameQLParser.SERIALIZABLE, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION, frameQLParser.PLUS, frameQLParser.MINUS, frameQLParser.EXCLAMATION_SYMBOL, frameQLParser.BIT_NOT_OP, frameQLParser.LR_BRACKET, frameQLParser.ZERO_DECIMAL, frameQLParser.ONE_DECIMAL, frameQLParser.TWO_DECIMAL, frameQLParser.CHARSET_REVERSE_QOUTE_STRING, frameQLParser.START_NATIONAL_STRING_LITERAL, frameQLParser.STRING_LITERAL, frameQLParser.DECIMAL_LITERAL, frameQLParser.HEXADECIMAL_LITERAL, frameQLParser.REAL_LITERAL, frameQLParser.NULL_SPEC_LITERAL, frameQLParser.BIT_STRING, frameQLParser.STRING_CHARSET_NAME, frameQLParser.ID, frameQLParser.REVERSE_QUOTE_ID, frameQLParser.LOCAL_ID, frameQLParser.GLOBAL_ID]: - self.state = 5785 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALL: - self.state = 5784 - localctx.aggregator = self.match(frameQLParser.ALL) - - - self.state = 5787 - self.functionArg() - pass - else: - raise NoViableAltException(self) - - self.state = 5790 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 5791 - self.match(frameQLParser.COUNT) - self.state = 5792 - self.match(frameQLParser.LR_BRACKET) - self.state = 5793 - localctx.aggregator = self.match(frameQLParser.DISTINCT) - self.state = 5794 - self.functionArgs() - self.state = 5795 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 5797 - self.match(frameQLParser.FCOUNT) - self.state = 5798 - self.match(frameQLParser.LR_BRACKET) - - self.state = 5799 - localctx.starArg = self.match(frameQLParser.STAR) - self.state = 5800 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 5801 - _la = self._input.LA(1) - if not(((((_la - 215)) & ~0x3f) == 0 and ((1 << (_la - 215)) & ((1 << (frameQLParser.BIT_AND - 215)) | (1 << (frameQLParser.BIT_OR - 215)) | (1 << (frameQLParser.BIT_XOR - 215)) | (1 << (frameQLParser.STD - 215)) | (1 << (frameQLParser.STDDEV - 215)) | (1 << (frameQLParser.STDDEV_POP - 215)) | (1 << (frameQLParser.STDDEV_SAMP - 215)) | (1 << (frameQLParser.VAR_POP - 215)) | (1 << (frameQLParser.VAR_SAMP - 215)) | (1 << (frameQLParser.VARIANCE - 215)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5802 - self.match(frameQLParser.LR_BRACKET) - self.state = 5804 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ALL: - self.state = 5803 - localctx.aggregator = self.match(frameQLParser.ALL) - - - self.state = 5806 - self.functionArg() - self.state = 5807 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 5809 - self.match(frameQLParser.GROUP_CONCAT) - self.state = 5810 - self.match(frameQLParser.LR_BRACKET) - self.state = 5812 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.DISTINCT: - self.state = 5811 - localctx.aggregator = self.match(frameQLParser.DISTINCT) - - - self.state = 5814 - self.functionArgs() - self.state = 5825 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.ORDER: - self.state = 5815 - self.match(frameQLParser.ORDER) - self.state = 5816 - self.match(frameQLParser.BY) - self.state = 5817 - self.orderByExpression() - self.state = 5822 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5818 - self.match(frameQLParser.COMMA) - self.state = 5819 - self.orderByExpression() - self.state = 5824 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - self.state = 5829 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.SEPARATOR: - self.state = 5827 - self.match(frameQLParser.SEPARATOR) - self.state = 5828 - localctx.separator = self.match(frameQLParser.STRING_LITERAL) - - - self.state = 5831 - self.match(frameQLParser.RR_BRACKET) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ScalarFunctionNameContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def functionNameBase(self): - return self.getTypedRuleContext(frameQLParser.FunctionNameBaseContext,0) - - - def ASCII(self): - return self.getToken(frameQLParser.ASCII, 0) - - def CURDATE(self): - return self.getToken(frameQLParser.CURDATE, 0) - - def CURRENT_DATE(self): - return self.getToken(frameQLParser.CURRENT_DATE, 0) - - def CURRENT_TIME(self): - return self.getToken(frameQLParser.CURRENT_TIME, 0) - - def CURRENT_TIMESTAMP(self): - return self.getToken(frameQLParser.CURRENT_TIMESTAMP, 0) - - def CURTIME(self): - return self.getToken(frameQLParser.CURTIME, 0) - - def DATE_ADD(self): - return self.getToken(frameQLParser.DATE_ADD, 0) - - def DATE_SUB(self): - return self.getToken(frameQLParser.DATE_SUB, 0) - - def IF(self): - return self.getToken(frameQLParser.IF, 0) - - def INSERT(self): - return self.getToken(frameQLParser.INSERT, 0) - - def LOCALTIME(self): - return self.getToken(frameQLParser.LOCALTIME, 0) - - def LOCALTIMESTAMP(self): - return self.getToken(frameQLParser.LOCALTIMESTAMP, 0) - - def MID(self): - return self.getToken(frameQLParser.MID, 0) - - def NOW(self): - return self.getToken(frameQLParser.NOW, 0) - - def REPLACE(self): - return self.getToken(frameQLParser.REPLACE, 0) - - def SUBSTR(self): - return self.getToken(frameQLParser.SUBSTR, 0) - - def SUBSTRING(self): - return self.getToken(frameQLParser.SUBSTRING, 0) - - def SYSDATE(self): - return self.getToken(frameQLParser.SYSDATE, 0) - - def TRIM(self): - return self.getToken(frameQLParser.TRIM, 0) - - def UTC_DATE(self): - return self.getToken(frameQLParser.UTC_DATE, 0) - - def UTC_TIME(self): - return self.getToken(frameQLParser.UTC_TIME, 0) - - def UTC_TIMESTAMP(self): - return self.getToken(frameQLParser.UTC_TIMESTAMP, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_scalarFunctionName - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterScalarFunctionName" ): - listener.enterScalarFunctionName(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitScalarFunctionName" ): - listener.exitScalarFunctionName(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitScalarFunctionName" ): - return visitor.visitScalarFunctionName(self) - else: - return visitor.visitChildren(self) - - - - - def scalarFunctionName(self): - - localctx = frameQLParser.ScalarFunctionNameContext(self, self._ctx, self.state) - self.enterRule(localctx, 582, self.RULE_scalarFunctionName) - try: - self.state = 5858 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.DATABASE, frameQLParser.LEFT, frameQLParser.RIGHT, frameQLParser.DATE, frameQLParser.TIME, frameQLParser.TIMESTAMP, frameQLParser.YEAR, frameQLParser.COUNT, frameQLParser.POSITION, frameQLParser.QUARTER, frameQLParser.MONTH, frameQLParser.DAY, frameQLParser.HOUR, frameQLParser.MINUTE, frameQLParser.WEEK, frameQLParser.SECOND, frameQLParser.MICROSECOND, frameQLParser.GEOMETRYCOLLECTION, frameQLParser.LINESTRING, frameQLParser.MULTILINESTRING, frameQLParser.MULTIPOINT, frameQLParser.MULTIPOLYGON, frameQLParser.POINT, frameQLParser.POLYGON, frameQLParser.ABS, frameQLParser.ACOS, frameQLParser.ADDDATE, frameQLParser.ADDTIME, frameQLParser.AES_DECRYPT, frameQLParser.AES_ENCRYPT, frameQLParser.AREA, frameQLParser.ASBINARY, frameQLParser.ASIN, frameQLParser.ASTEXT, frameQLParser.ASWKB, frameQLParser.ASWKT, frameQLParser.ASYMMETRIC_DECRYPT, frameQLParser.ASYMMETRIC_DERIVE, frameQLParser.ASYMMETRIC_ENCRYPT, frameQLParser.ASYMMETRIC_SIGN, frameQLParser.ASYMMETRIC_VERIFY, frameQLParser.ATAN, frameQLParser.ATAN2, frameQLParser.BENCHMARK, frameQLParser.BIN, frameQLParser.BIT_COUNT, frameQLParser.BIT_LENGTH, frameQLParser.BUFFER, frameQLParser.CEIL, frameQLParser.CEILING, frameQLParser.CENTROID, frameQLParser.CHARACTER_LENGTH, frameQLParser.CHARSET, frameQLParser.CHAR_LENGTH, frameQLParser.COERCIBILITY, frameQLParser.COLLATION, frameQLParser.COMPRESS, frameQLParser.CONCAT, frameQLParser.CONCAT_WS, frameQLParser.CONNECTION_ID, frameQLParser.CONV, frameQLParser.CONVERT_TZ, frameQLParser.COS, frameQLParser.COT, frameQLParser.CRC32, frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, frameQLParser.CREATE_DH_PARAMETERS, frameQLParser.CREATE_DIGEST, frameQLParser.CROSSES, frameQLParser.DATEDIFF, frameQLParser.DATE_FORMAT, frameQLParser.DAYNAME, frameQLParser.DAYOFMONTH, frameQLParser.DAYOFWEEK, frameQLParser.DAYOFYEAR, frameQLParser.DECODE, frameQLParser.DEGREES, frameQLParser.DES_DECRYPT, frameQLParser.DES_ENCRYPT, frameQLParser.DIMENSION, frameQLParser.DISJOINT, frameQLParser.ELT, frameQLParser.ENCODE, frameQLParser.ENCRYPT, frameQLParser.ENDPOINT, frameQLParser.ENVELOPE, frameQLParser.EQUALS, frameQLParser.EXP, frameQLParser.EXPORT_SET, frameQLParser.EXTERIORRING, frameQLParser.EXTRACTVALUE, frameQLParser.FIELD, frameQLParser.FIND_IN_SET, frameQLParser.FLOOR, frameQLParser.FORMAT, frameQLParser.FOUND_ROWS, frameQLParser.FROM_BASE64, frameQLParser.FROM_DAYS, frameQLParser.FROM_UNIXTIME, frameQLParser.GEOMCOLLFROMTEXT, frameQLParser.GEOMCOLLFROMWKB, frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.GEOMETRYCOLLECTIONFROMWKB, frameQLParser.GEOMETRYFROMTEXT, frameQLParser.GEOMETRYFROMWKB, frameQLParser.GEOMETRYN, frameQLParser.GEOMETRYTYPE, frameQLParser.GEOMFROMTEXT, frameQLParser.GEOMFROMWKB, frameQLParser.GET_FORMAT, frameQLParser.GET_LOCK, frameQLParser.GLENGTH, frameQLParser.GREATEST, frameQLParser.GTID_SUBSET, frameQLParser.GTID_SUBTRACT, frameQLParser.HEX, frameQLParser.IFNULL, frameQLParser.INET6_ATON, frameQLParser.INET6_NTOA, frameQLParser.INET_ATON, frameQLParser.INET_NTOA, frameQLParser.INSTR, frameQLParser.INTERIORRINGN, frameQLParser.INTERSECTS, frameQLParser.ISCLOSED, frameQLParser.ISEMPTY, frameQLParser.ISNULL, frameQLParser.ISSIMPLE, frameQLParser.IS_FREE_LOCK, frameQLParser.IS_IPV4, frameQLParser.IS_IPV4_COMPAT, frameQLParser.IS_IPV4_MAPPED, frameQLParser.IS_IPV6, frameQLParser.IS_USED_LOCK, frameQLParser.LAST_INSERT_ID, frameQLParser.LCASE, frameQLParser.LEAST, frameQLParser.LENGTH, frameQLParser.LINEFROMTEXT, frameQLParser.LINEFROMWKB, frameQLParser.LINESTRINGFROMTEXT, frameQLParser.LINESTRINGFROMWKB, frameQLParser.LN, frameQLParser.LOAD_FILE, frameQLParser.LOCATE, frameQLParser.LOG, frameQLParser.LOG10, frameQLParser.LOG2, frameQLParser.LOWER, frameQLParser.LPAD, frameQLParser.LTRIM, frameQLParser.MAKEDATE, frameQLParser.MAKETIME, frameQLParser.MAKE_SET, frameQLParser.MASTER_POS_WAIT, frameQLParser.MBRCONTAINS, frameQLParser.MBRDISJOINT, frameQLParser.MBREQUAL, frameQLParser.MBRINTERSECTS, frameQLParser.MBROVERLAPS, frameQLParser.MBRTOUCHES, frameQLParser.MBRWITHIN, frameQLParser.MD5, frameQLParser.MLINEFROMTEXT, frameQLParser.MLINEFROMWKB, frameQLParser.MONTHNAME, frameQLParser.MPOINTFROMTEXT, frameQLParser.MPOINTFROMWKB, frameQLParser.MPOLYFROMTEXT, frameQLParser.MPOLYFROMWKB, frameQLParser.MULTILINESTRINGFROMTEXT, frameQLParser.MULTILINESTRINGFROMWKB, frameQLParser.MULTIPOINTFROMTEXT, frameQLParser.MULTIPOINTFROMWKB, frameQLParser.MULTIPOLYGONFROMTEXT, frameQLParser.MULTIPOLYGONFROMWKB, frameQLParser.NAME_CONST, frameQLParser.NULLIF, frameQLParser.NUMGEOMETRIES, frameQLParser.NUMINTERIORRINGS, frameQLParser.NUMPOINTS, frameQLParser.OCT, frameQLParser.OCTET_LENGTH, frameQLParser.ORD, frameQLParser.OVERLAPS, frameQLParser.PERIOD_ADD, frameQLParser.PERIOD_DIFF, frameQLParser.PI, frameQLParser.POINTFROMTEXT, frameQLParser.POINTFROMWKB, frameQLParser.POINTN, frameQLParser.POLYFROMTEXT, frameQLParser.POLYFROMWKB, frameQLParser.POLYGONFROMTEXT, frameQLParser.POLYGONFROMWKB, frameQLParser.POW, frameQLParser.POWER, frameQLParser.QUOTE, frameQLParser.RADIANS, frameQLParser.RAND, frameQLParser.RANDOM_BYTES, frameQLParser.RELEASE_LOCK, frameQLParser.REVERSE, frameQLParser.ROUND, frameQLParser.ROW_COUNT, frameQLParser.RPAD, frameQLParser.RTRIM, frameQLParser.SEC_TO_TIME, frameQLParser.SESSION_USER, frameQLParser.SHA, frameQLParser.SHA1, frameQLParser.SHA2, frameQLParser.SIGN, frameQLParser.SIN, frameQLParser.SLEEP, frameQLParser.SOUNDEX, frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, frameQLParser.SQRT, frameQLParser.SRID, frameQLParser.STARTPOINT, frameQLParser.STRCMP, frameQLParser.STR_TO_DATE, frameQLParser.ST_AREA, frameQLParser.ST_ASBINARY, frameQLParser.ST_ASTEXT, frameQLParser.ST_ASWKB, frameQLParser.ST_ASWKT, frameQLParser.ST_BUFFER, frameQLParser.ST_CENTROID, frameQLParser.ST_CONTAINS, frameQLParser.ST_CROSSES, frameQLParser.ST_DIFFERENCE, frameQLParser.ST_DIMENSION, frameQLParser.ST_DISJOINT, frameQLParser.ST_DISTANCE, frameQLParser.ST_ENDPOINT, frameQLParser.ST_ENVELOPE, frameQLParser.ST_EQUALS, frameQLParser.ST_EXTERIORRING, frameQLParser.ST_GEOMCOLLFROMTEXT, frameQLParser.ST_GEOMCOLLFROMTXT, frameQLParser.ST_GEOMCOLLFROMWKB, frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, frameQLParser.ST_GEOMETRYFROMTEXT, frameQLParser.ST_GEOMETRYFROMWKB, frameQLParser.ST_GEOMETRYN, frameQLParser.ST_GEOMETRYTYPE, frameQLParser.ST_GEOMFROMTEXT, frameQLParser.ST_GEOMFROMWKB, frameQLParser.ST_INTERIORRINGN, frameQLParser.ST_INTERSECTION, frameQLParser.ST_INTERSECTS, frameQLParser.ST_ISCLOSED, frameQLParser.ST_ISEMPTY, frameQLParser.ST_ISSIMPLE, frameQLParser.ST_LINEFROMTEXT, frameQLParser.ST_LINEFROMWKB, frameQLParser.ST_LINESTRINGFROMTEXT, frameQLParser.ST_LINESTRINGFROMWKB, frameQLParser.ST_NUMGEOMETRIES, frameQLParser.ST_NUMINTERIORRING, frameQLParser.ST_NUMINTERIORRINGS, frameQLParser.ST_NUMPOINTS, frameQLParser.ST_OVERLAPS, frameQLParser.ST_POINTFROMTEXT, frameQLParser.ST_POINTFROMWKB, frameQLParser.ST_POINTN, frameQLParser.ST_POLYFROMTEXT, frameQLParser.ST_POLYFROMWKB, frameQLParser.ST_POLYGONFROMTEXT, frameQLParser.ST_POLYGONFROMWKB, frameQLParser.ST_SRID, frameQLParser.ST_STARTPOINT, frameQLParser.ST_SYMDIFFERENCE, frameQLParser.ST_TOUCHES, frameQLParser.ST_UNION, frameQLParser.ST_WITHIN, frameQLParser.ST_X, frameQLParser.ST_Y, frameQLParser.SUBDATE, frameQLParser.SUBSTRING_INDEX, frameQLParser.SUBTIME, frameQLParser.SYSTEM_USER, frameQLParser.TAN, frameQLParser.TIMEDIFF, frameQLParser.TIMESTAMPADD, frameQLParser.TIMESTAMPDIFF, frameQLParser.TIME_FORMAT, frameQLParser.TIME_TO_SEC, frameQLParser.TOUCHES, frameQLParser.TO_BASE64, frameQLParser.TO_DAYS, frameQLParser.TO_SECONDS, frameQLParser.UCASE, frameQLParser.UNCOMPRESS, frameQLParser.UNCOMPRESSED_LENGTH, frameQLParser.UNHEX, frameQLParser.UNIX_TIMESTAMP, frameQLParser.UPDATEXML, frameQLParser.UPPER, frameQLParser.UUID, frameQLParser.UUID_SHORT, frameQLParser.VALIDATE_PASSWORD_STRENGTH, frameQLParser.VERSION, frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, frameQLParser.WEEKDAY, frameQLParser.WEEKOFYEAR, frameQLParser.WEIGHT_STRING, frameQLParser.WITHIN, frameQLParser.YEARWEEK, frameQLParser.Y_FUNCTION, frameQLParser.X_FUNCTION]: - self.enterOuterAlt(localctx, 1) - self.state = 5835 - self.functionNameBase() - pass - elif token in [frameQLParser.ASCII]: - self.enterOuterAlt(localctx, 2) - self.state = 5836 - self.match(frameQLParser.ASCII) - pass - elif token in [frameQLParser.CURDATE]: - self.enterOuterAlt(localctx, 3) - self.state = 5837 - self.match(frameQLParser.CURDATE) - pass - elif token in [frameQLParser.CURRENT_DATE]: - self.enterOuterAlt(localctx, 4) - self.state = 5838 - self.match(frameQLParser.CURRENT_DATE) - pass - elif token in [frameQLParser.CURRENT_TIME]: - self.enterOuterAlt(localctx, 5) - self.state = 5839 - self.match(frameQLParser.CURRENT_TIME) - pass - elif token in [frameQLParser.CURRENT_TIMESTAMP]: - self.enterOuterAlt(localctx, 6) - self.state = 5840 - self.match(frameQLParser.CURRENT_TIMESTAMP) - pass - elif token in [frameQLParser.CURTIME]: - self.enterOuterAlt(localctx, 7) - self.state = 5841 - self.match(frameQLParser.CURTIME) - pass - elif token in [frameQLParser.DATE_ADD]: - self.enterOuterAlt(localctx, 8) - self.state = 5842 - self.match(frameQLParser.DATE_ADD) - pass - elif token in [frameQLParser.DATE_SUB]: - self.enterOuterAlt(localctx, 9) - self.state = 5843 - self.match(frameQLParser.DATE_SUB) - pass - elif token in [frameQLParser.IF]: - self.enterOuterAlt(localctx, 10) - self.state = 5844 - self.match(frameQLParser.IF) - pass - elif token in [frameQLParser.INSERT]: - self.enterOuterAlt(localctx, 11) - self.state = 5845 - self.match(frameQLParser.INSERT) - pass - elif token in [frameQLParser.LOCALTIME]: - self.enterOuterAlt(localctx, 12) - self.state = 5846 - self.match(frameQLParser.LOCALTIME) - pass - elif token in [frameQLParser.LOCALTIMESTAMP]: - self.enterOuterAlt(localctx, 13) - self.state = 5847 - self.match(frameQLParser.LOCALTIMESTAMP) - pass - elif token in [frameQLParser.MID]: - self.enterOuterAlt(localctx, 14) - self.state = 5848 - self.match(frameQLParser.MID) - pass - elif token in [frameQLParser.NOW]: - self.enterOuterAlt(localctx, 15) - self.state = 5849 - self.match(frameQLParser.NOW) - pass - elif token in [frameQLParser.REPLACE]: - self.enterOuterAlt(localctx, 16) - self.state = 5850 - self.match(frameQLParser.REPLACE) - pass - elif token in [frameQLParser.SUBSTR]: - self.enterOuterAlt(localctx, 17) - self.state = 5851 - self.match(frameQLParser.SUBSTR) - pass - elif token in [frameQLParser.SUBSTRING]: - self.enterOuterAlt(localctx, 18) - self.state = 5852 - self.match(frameQLParser.SUBSTRING) - pass - elif token in [frameQLParser.SYSDATE]: - self.enterOuterAlt(localctx, 19) - self.state = 5853 - self.match(frameQLParser.SYSDATE) - pass - elif token in [frameQLParser.TRIM]: - self.enterOuterAlt(localctx, 20) - self.state = 5854 - self.match(frameQLParser.TRIM) - pass - elif token in [frameQLParser.UTC_DATE]: - self.enterOuterAlt(localctx, 21) - self.state = 5855 - self.match(frameQLParser.UTC_DATE) - pass - elif token in [frameQLParser.UTC_TIME]: - self.enterOuterAlt(localctx, 22) - self.state = 5856 - self.match(frameQLParser.UTC_TIME) - pass - elif token in [frameQLParser.UTC_TIMESTAMP]: - self.enterOuterAlt(localctx, 23) - self.state = 5857 - self.match(frameQLParser.UTC_TIMESTAMP) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class PasswordFunctionClauseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.functionName = None # Token - - def functionArg(self): - return self.getTypedRuleContext(frameQLParser.FunctionArgContext,0) - - - def PASSWORD(self): - return self.getToken(frameQLParser.PASSWORD, 0) - - def OLD_PASSWORD(self): - return self.getToken(frameQLParser.OLD_PASSWORD, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_passwordFunctionClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPasswordFunctionClause" ): - listener.enterPasswordFunctionClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPasswordFunctionClause" ): - listener.exitPasswordFunctionClause(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPasswordFunctionClause" ): - return visitor.visitPasswordFunctionClause(self) - else: - return visitor.visitChildren(self) - - - - - def passwordFunctionClause(self): - - localctx = frameQLParser.PasswordFunctionClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 584, self.RULE_passwordFunctionClause) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5860 - localctx.functionName = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.OLD_PASSWORD or _la==frameQLParser.PASSWORD): - localctx.functionName = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5861 - self.match(frameQLParser.LR_BRACKET) - self.state = 5862 - self.functionArg() - self.state = 5863 - self.match(frameQLParser.RR_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class FunctionArgsContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def constant(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ConstantContext) - else: - return self.getTypedRuleContext(frameQLParser.ConstantContext,i) - - - def fullColumnName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.FullColumnNameContext) - else: - return self.getTypedRuleContext(frameQLParser.FullColumnNameContext,i) - - - def functionCall(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.FunctionCallContext) - else: - return self.getTypedRuleContext(frameQLParser.FunctionCallContext,i) - - - def expression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionContext,i) - - - def getRuleIndex(self): - return frameQLParser.RULE_functionArgs - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFunctionArgs" ): - listener.enterFunctionArgs(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFunctionArgs" ): - listener.exitFunctionArgs(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitFunctionArgs" ): - return visitor.visitFunctionArgs(self) - else: - return visitor.visitChildren(self) - - - - - def functionArgs(self): - - localctx = frameQLParser.FunctionArgsContext(self, self._ctx, self.state) - self.enterRule(localctx, 586, self.RULE_functionArgs) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5869 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,852,self._ctx) - if la_ == 1: - self.state = 5865 - self.constant() - pass - - elif la_ == 2: - self.state = 5866 - self.fullColumnName() - pass - - elif la_ == 3: - self.state = 5867 - self.functionCall() - pass - - elif la_ == 4: - self.state = 5868 - self.expression(0) - pass - - - self.state = 5880 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5871 - self.match(frameQLParser.COMMA) - self.state = 5876 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,853,self._ctx) - if la_ == 1: - self.state = 5872 - self.constant() - pass - - elif la_ == 2: - self.state = 5873 - self.fullColumnName() - pass - - elif la_ == 3: - self.state = 5874 - self.functionCall() - pass - - elif la_ == 4: - self.state = 5875 - self.expression(0) - pass - - - self.state = 5882 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class FunctionArgContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def constant(self): - return self.getTypedRuleContext(frameQLParser.ConstantContext,0) - - - def fullColumnName(self): - return self.getTypedRuleContext(frameQLParser.FullColumnNameContext,0) - - - def functionCall(self): - return self.getTypedRuleContext(frameQLParser.FunctionCallContext,0) - - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - - def getRuleIndex(self): - return frameQLParser.RULE_functionArg - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFunctionArg" ): - listener.enterFunctionArg(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFunctionArg" ): - listener.exitFunctionArg(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitFunctionArg" ): - return visitor.visitFunctionArg(self) - else: - return visitor.visitChildren(self) - - - - - def functionArg(self): - - localctx = frameQLParser.FunctionArgContext(self, self._ctx, self.state) - self.enterRule(localctx, 588, self.RULE_functionArg) - try: - self.state = 5887 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,855,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 5883 - self.constant() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 5884 - self.fullColumnName() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 5885 - self.functionCall() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 5886 - self.expression(0) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ExpressionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_expression - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - class IsExpressionContext(ExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionContext - super().__init__(parser) - self.testValue = None # Token - self.copyFrom(ctx) - - def predicate(self): - return self.getTypedRuleContext(frameQLParser.PredicateContext,0) - - def IS(self): - return self.getToken(frameQLParser.IS, 0) - def TRUE(self): - return self.getToken(frameQLParser.TRUE, 0) - def FALSE(self): - return self.getToken(frameQLParser.FALSE, 0) - def UNKNOWN(self): - return self.getToken(frameQLParser.UNKNOWN, 0) - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIsExpression" ): - listener.enterIsExpression(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIsExpression" ): - listener.exitIsExpression(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitIsExpression" ): - return visitor.visitIsExpression(self) - else: - return visitor.visitChildren(self) - - - class NotExpressionContext(ExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionContext - super().__init__(parser) - self.notOperator = None # Token - self.copyFrom(ctx) - - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterNotExpression" ): - listener.enterNotExpression(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitNotExpression" ): - listener.exitNotExpression(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitNotExpression" ): - return visitor.visitNotExpression(self) - else: - return visitor.visitChildren(self) - - - class LogicalExpressionContext(ExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def expression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionContext,i) - - def logicalOperator(self): - return self.getTypedRuleContext(frameQLParser.LogicalOperatorContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLogicalExpression" ): - listener.enterLogicalExpression(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLogicalExpression" ): - listener.exitLogicalExpression(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitLogicalExpression" ): - return visitor.visitLogicalExpression(self) - else: - return visitor.visitChildren(self) - - - class PredicateExpressionContext(ExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def predicate(self): - return self.getTypedRuleContext(frameQLParser.PredicateContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPredicateExpression" ): - listener.enterPredicateExpression(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPredicateExpression" ): - listener.exitPredicateExpression(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPredicateExpression" ): - return visitor.visitPredicateExpression(self) - else: - return visitor.visitChildren(self) - - - - def expression(self, _p:int=0): - _parentctx = self._ctx - _parentState = self.state - localctx = frameQLParser.ExpressionContext(self, self._ctx, _parentState) - _prevctx = localctx - _startState = 590 - self.enterRecursionRule(localctx, 590, self.RULE_expression, _p) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 5900 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,857,self._ctx) - if la_ == 1: - localctx = frameQLParser.NotExpressionContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - - self.state = 5890 - localctx.notOperator = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.NOT or _la==frameQLParser.EXCLAMATION_SYMBOL): - localctx.notOperator = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5891 - self.expression(4) - pass - - elif la_ == 2: - localctx = frameQLParser.IsExpressionContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 5892 - self.predicate(0) - self.state = 5893 - self.match(frameQLParser.IS) - self.state = 5895 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NOT: - self.state = 5894 - self.match(frameQLParser.NOT) - - - self.state = 5897 - localctx.testValue = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.FALSE or _la==frameQLParser.TRUE or _la==frameQLParser.UNKNOWN): - localctx.testValue = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 3: - localctx = frameQLParser.PredicateExpressionContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 5899 - self.predicate(0) - pass - - - self._ctx.stop = self._input.LT(-1) - self.state = 5908 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,858,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - if self._parseListeners is not None: - self.triggerExitRuleEvent() - _prevctx = localctx - localctx = frameQLParser.LogicalExpressionContext(self, frameQLParser.ExpressionContext(self, _parentctx, _parentState)) - self.pushNewRecursionContext(localctx, _startState, self.RULE_expression) - self.state = 5902 - if not self.precpred(self._ctx, 3): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 3)") - self.state = 5903 - self.logicalOperator() - self.state = 5904 - self.expression(4) - self.state = 5910 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,858,self._ctx) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.unrollRecursionContexts(_parentctx) - return localctx - - class PredicateContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_predicate - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - class SoundsLikePredicateContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PredicateContext - super().__init__(parser) - self.copyFrom(ctx) - - def predicate(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PredicateContext) - else: - return self.getTypedRuleContext(frameQLParser.PredicateContext,i) - - def SOUNDS(self): - return self.getToken(frameQLParser.SOUNDS, 0) - def LIKE(self): - return self.getToken(frameQLParser.LIKE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSoundsLikePredicate" ): - listener.enterSoundsLikePredicate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSoundsLikePredicate" ): - listener.exitSoundsLikePredicate(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSoundsLikePredicate" ): - return visitor.visitSoundsLikePredicate(self) - else: - return visitor.visitChildren(self) - - - class ExpressionAtomPredicateContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PredicateContext - super().__init__(parser) - self.copyFrom(ctx) - - def expressionAtom(self): - return self.getTypedRuleContext(frameQLParser.ExpressionAtomContext,0) - - def LOCAL_ID(self): - return self.getToken(frameQLParser.LOCAL_ID, 0) - def VAR_ASSIGN(self): - return self.getToken(frameQLParser.VAR_ASSIGN, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExpressionAtomPredicate" ): - listener.enterExpressionAtomPredicate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExpressionAtomPredicate" ): - listener.exitExpressionAtomPredicate(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitExpressionAtomPredicate" ): - return visitor.visitExpressionAtomPredicate(self) - else: - return visitor.visitChildren(self) - - - class InPredicateContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PredicateContext - super().__init__(parser) - self.copyFrom(ctx) - - def predicate(self): - return self.getTypedRuleContext(frameQLParser.PredicateContext,0) - - def IN(self): - return self.getToken(frameQLParser.IN, 0) - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - def expressions(self): - return self.getTypedRuleContext(frameQLParser.ExpressionsContext,0) - - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterInPredicate" ): - listener.enterInPredicate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitInPredicate" ): - listener.exitInPredicate(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitInPredicate" ): - return visitor.visitInPredicate(self) - else: - return visitor.visitChildren(self) - - - class SubqueryComparasionPredicateContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PredicateContext - super().__init__(parser) - self.quantifier = None # Token - self.copyFrom(ctx) - - def predicate(self): - return self.getTypedRuleContext(frameQLParser.PredicateContext,0) - - def comparisonOperator(self): - return self.getTypedRuleContext(frameQLParser.ComparisonOperatorContext,0) - - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - def ALL(self): - return self.getToken(frameQLParser.ALL, 0) - def ANY(self): - return self.getToken(frameQLParser.ANY, 0) - def SOME(self): - return self.getToken(frameQLParser.SOME, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSubqueryComparasionPredicate" ): - listener.enterSubqueryComparasionPredicate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSubqueryComparasionPredicate" ): - listener.exitSubqueryComparasionPredicate(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSubqueryComparasionPredicate" ): - return visitor.visitSubqueryComparasionPredicate(self) - else: - return visitor.visitChildren(self) - - - class BetweenPredicateContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PredicateContext - super().__init__(parser) - self.copyFrom(ctx) - - def predicate(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PredicateContext) - else: - return self.getTypedRuleContext(frameQLParser.PredicateContext,i) - - def BETWEEN(self): - return self.getToken(frameQLParser.BETWEEN, 0) - def AND(self): - return self.getToken(frameQLParser.AND, 0) - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBetweenPredicate" ): - listener.enterBetweenPredicate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBetweenPredicate" ): - listener.exitBetweenPredicate(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitBetweenPredicate" ): - return visitor.visitBetweenPredicate(self) - else: - return visitor.visitChildren(self) - - - class BinaryComparasionPredicateContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PredicateContext - super().__init__(parser) - self.left = None # PredicateContext - self.right = None # PredicateContext - self.copyFrom(ctx) - - def comparisonOperator(self): - return self.getTypedRuleContext(frameQLParser.ComparisonOperatorContext,0) - - def predicate(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PredicateContext) - else: - return self.getTypedRuleContext(frameQLParser.PredicateContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBinaryComparasionPredicate" ): - listener.enterBinaryComparasionPredicate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBinaryComparasionPredicate" ): - listener.exitBinaryComparasionPredicate(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitBinaryComparasionPredicate" ): - return visitor.visitBinaryComparasionPredicate(self) - else: - return visitor.visitChildren(self) - - - class IsNullPredicateContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PredicateContext - super().__init__(parser) - self.copyFrom(ctx) - - def predicate(self): - return self.getTypedRuleContext(frameQLParser.PredicateContext,0) - - def IS(self): - return self.getToken(frameQLParser.IS, 0) - def nullNotnull(self): - return self.getTypedRuleContext(frameQLParser.NullNotnullContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIsNullPredicate" ): - listener.enterIsNullPredicate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIsNullPredicate" ): - listener.exitIsNullPredicate(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitIsNullPredicate" ): - return visitor.visitIsNullPredicate(self) - else: - return visitor.visitChildren(self) - - - class LikePredicateContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PredicateContext - super().__init__(parser) - self.copyFrom(ctx) - - def predicate(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PredicateContext) - else: - return self.getTypedRuleContext(frameQLParser.PredicateContext,i) - - def LIKE(self): - return self.getToken(frameQLParser.LIKE, 0) - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - def ESCAPE(self): - return self.getToken(frameQLParser.ESCAPE, 0) - def STRING_LITERAL(self): - return self.getToken(frameQLParser.STRING_LITERAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLikePredicate" ): - listener.enterLikePredicate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLikePredicate" ): - listener.exitLikePredicate(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitLikePredicate" ): - return visitor.visitLikePredicate(self) - else: - return visitor.visitChildren(self) - - - class RegexpPredicateContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.PredicateContext - super().__init__(parser) - self.regex = None # Token - self.copyFrom(ctx) - - def predicate(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.PredicateContext) - else: - return self.getTypedRuleContext(frameQLParser.PredicateContext,i) - - def REGEXP(self): - return self.getToken(frameQLParser.REGEXP, 0) - def RLIKE(self): - return self.getToken(frameQLParser.RLIKE, 0) - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRegexpPredicate" ): - listener.enterRegexpPredicate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRegexpPredicate" ): - listener.exitRegexpPredicate(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitRegexpPredicate" ): - return visitor.visitRegexpPredicate(self) - else: - return visitor.visitChildren(self) - - - - def predicate(self, _p:int=0): - _parentctx = self._ctx - _parentState = self.state - localctx = frameQLParser.PredicateContext(self, self._ctx, _parentState) - _prevctx = localctx - _startState = 592 - self.enterRecursionRule(localctx, 592, self.RULE_predicate, _p) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - localctx = frameQLParser.ExpressionAtomPredicateContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - - self.state = 5914 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,859,self._ctx) - if la_ == 1: - self.state = 5912 - self.match(frameQLParser.LOCAL_ID) - self.state = 5913 - self.match(frameQLParser.VAR_ASSIGN) - - - self.state = 5916 - self.expressionAtom(0) - self._ctx.stop = self._input.LT(-1) - self.state = 5975 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,867,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - if self._parseListeners is not None: - self.triggerExitRuleEvent() - _prevctx = localctx - self.state = 5973 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,866,self._ctx) - if la_ == 1: - localctx = frameQLParser.BinaryComparasionPredicateContext(self, frameQLParser.PredicateContext(self, _parentctx, _parentState)) - localctx.left = _prevctx - self.pushNewRecursionContext(localctx, _startState, self.RULE_predicate) - self.state = 5918 - if not self.precpred(self._ctx, 7): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 7)") - self.state = 5919 - self.comparisonOperator() - self.state = 5920 - localctx.right = self.predicate(8) - pass - - elif la_ == 2: - localctx = frameQLParser.BetweenPredicateContext(self, frameQLParser.PredicateContext(self, _parentctx, _parentState)) - self.pushNewRecursionContext(localctx, _startState, self.RULE_predicate) - self.state = 5922 - if not self.precpred(self._ctx, 5): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 5)") - self.state = 5924 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NOT: - self.state = 5923 - self.match(frameQLParser.NOT) - - - self.state = 5926 - self.match(frameQLParser.BETWEEN) - self.state = 5927 - self.predicate(0) - self.state = 5928 - self.match(frameQLParser.AND) - self.state = 5929 - self.predicate(6) - pass - - elif la_ == 3: - localctx = frameQLParser.SoundsLikePredicateContext(self, frameQLParser.PredicateContext(self, _parentctx, _parentState)) - self.pushNewRecursionContext(localctx, _startState, self.RULE_predicate) - self.state = 5931 - if not self.precpred(self._ctx, 4): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 4)") - self.state = 5932 - self.match(frameQLParser.SOUNDS) - self.state = 5933 - self.match(frameQLParser.LIKE) - self.state = 5934 - self.predicate(5) - pass - - elif la_ == 4: - localctx = frameQLParser.RegexpPredicateContext(self, frameQLParser.PredicateContext(self, _parentctx, _parentState)) - self.pushNewRecursionContext(localctx, _startState, self.RULE_predicate) - self.state = 5935 - if not self.precpred(self._ctx, 2): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 2)") - self.state = 5937 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NOT: - self.state = 5936 - self.match(frameQLParser.NOT) - - - self.state = 5939 - localctx.regex = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.REGEXP or _la==frameQLParser.RLIKE): - localctx.regex = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5940 - self.predicate(3) - pass - - elif la_ == 5: - localctx = frameQLParser.InPredicateContext(self, frameQLParser.PredicateContext(self, _parentctx, _parentState)) - self.pushNewRecursionContext(localctx, _startState, self.RULE_predicate) - self.state = 5941 - if not self.precpred(self._ctx, 9): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 9)") - self.state = 5943 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NOT: - self.state = 5942 - self.match(frameQLParser.NOT) - - - self.state = 5945 - self.match(frameQLParser.IN) - self.state = 5946 - self.match(frameQLParser.LR_BRACKET) - self.state = 5949 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,863,self._ctx) - if la_ == 1: - self.state = 5947 - self.selectStatement() - pass - - elif la_ == 2: - self.state = 5948 - self.expressions() - pass - - - self.state = 5951 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 6: - localctx = frameQLParser.IsNullPredicateContext(self, frameQLParser.PredicateContext(self, _parentctx, _parentState)) - self.pushNewRecursionContext(localctx, _startState, self.RULE_predicate) - self.state = 5953 - if not self.precpred(self._ctx, 8): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 8)") - self.state = 5954 - self.match(frameQLParser.IS) - self.state = 5955 - self.nullNotnull() - pass - - elif la_ == 7: - localctx = frameQLParser.SubqueryComparasionPredicateContext(self, frameQLParser.PredicateContext(self, _parentctx, _parentState)) - self.pushNewRecursionContext(localctx, _startState, self.RULE_predicate) - self.state = 5956 - if not self.precpred(self._ctx, 6): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 6)") - self.state = 5957 - self.comparisonOperator() - self.state = 5958 - localctx.quantifier = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==frameQLParser.ALL or _la==frameQLParser.ANY or _la==frameQLParser.SOME): - localctx.quantifier = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 5959 - self.match(frameQLParser.LR_BRACKET) - self.state = 5960 - self.selectStatement() - self.state = 5961 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 8: - localctx = frameQLParser.LikePredicateContext(self, frameQLParser.PredicateContext(self, _parentctx, _parentState)) - self.pushNewRecursionContext(localctx, _startState, self.RULE_predicate) - self.state = 5963 - if not self.precpred(self._ctx, 3): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 3)") - self.state = 5965 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==frameQLParser.NOT: - self.state = 5964 - self.match(frameQLParser.NOT) - - - self.state = 5967 - self.match(frameQLParser.LIKE) - self.state = 5968 - self.predicate(0) - self.state = 5971 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,865,self._ctx) - if la_ == 1: - self.state = 5969 - self.match(frameQLParser.ESCAPE) - self.state = 5970 - self.match(frameQLParser.STRING_LITERAL) - - - pass - - - self.state = 5977 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,867,self._ctx) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.unrollRecursionContexts(_parentctx) - return localctx - - class ExpressionAtomContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_expressionAtom - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - class UnaryExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def unaryOperator(self): - return self.getTypedRuleContext(frameQLParser.UnaryOperatorContext,0) - - def expressionAtom(self): - return self.getTypedRuleContext(frameQLParser.ExpressionAtomContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUnaryExpressionAtom" ): - listener.enterUnaryExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUnaryExpressionAtom" ): - listener.exitUnaryExpressionAtom(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUnaryExpressionAtom" ): - return visitor.visitUnaryExpressionAtom(self) - else: - return visitor.visitChildren(self) - - - class CollateExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def expressionAtom(self): - return self.getTypedRuleContext(frameQLParser.ExpressionAtomContext,0) - - def COLLATE(self): - return self.getToken(frameQLParser.COLLATE, 0) - def collationName(self): - return self.getTypedRuleContext(frameQLParser.CollationNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCollateExpressionAtom" ): - listener.enterCollateExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCollateExpressionAtom" ): - listener.exitCollateExpressionAtom(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCollateExpressionAtom" ): - return visitor.visitCollateExpressionAtom(self) - else: - return visitor.visitChildren(self) - - - class SubqueryExpessionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSubqueryExpessionAtom" ): - listener.enterSubqueryExpessionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSubqueryExpessionAtom" ): - listener.exitSubqueryExpessionAtom(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitSubqueryExpessionAtom" ): - return visitor.visitSubqueryExpessionAtom(self) - else: - return visitor.visitChildren(self) - - - class MysqlVariableExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def mysqlVariable(self): - return self.getTypedRuleContext(frameQLParser.MysqlVariableContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMysqlVariableExpressionAtom" ): - listener.enterMysqlVariableExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMysqlVariableExpressionAtom" ): - listener.exitMysqlVariableExpressionAtom(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitMysqlVariableExpressionAtom" ): - return visitor.visitMysqlVariableExpressionAtom(self) - else: - return visitor.visitChildren(self) - - - class NestedExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def expression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterNestedExpressionAtom" ): - listener.enterNestedExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitNestedExpressionAtom" ): - listener.exitNestedExpressionAtom(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitNestedExpressionAtom" ): - return visitor.visitNestedExpressionAtom(self) - else: - return visitor.visitChildren(self) - - - class NestedRowExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def ROW(self): - return self.getToken(frameQLParser.ROW, 0) - def expression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterNestedRowExpressionAtom" ): - listener.enterNestedRowExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitNestedRowExpressionAtom" ): - listener.exitNestedRowExpressionAtom(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitNestedRowExpressionAtom" ): - return visitor.visitNestedRowExpressionAtom(self) - else: - return visitor.visitChildren(self) - - - class MathExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.left = None # ExpressionAtomContext - self.right = None # ExpressionAtomContext - self.copyFrom(ctx) - - def mathOperator(self): - return self.getTypedRuleContext(frameQLParser.MathOperatorContext,0) - - def expressionAtom(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionAtomContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionAtomContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMathExpressionAtom" ): - listener.enterMathExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMathExpressionAtom" ): - listener.exitMathExpressionAtom(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitMathExpressionAtom" ): - return visitor.visitMathExpressionAtom(self) - else: - return visitor.visitChildren(self) - - - class IntervalExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def INTERVAL(self): - return self.getToken(frameQLParser.INTERVAL, 0) - def expression(self): - return self.getTypedRuleContext(frameQLParser.ExpressionContext,0) - - def intervalType(self): - return self.getTypedRuleContext(frameQLParser.IntervalTypeContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIntervalExpressionAtom" ): - listener.enterIntervalExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIntervalExpressionAtom" ): - listener.exitIntervalExpressionAtom(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitIntervalExpressionAtom" ): - return visitor.visitIntervalExpressionAtom(self) - else: - return visitor.visitChildren(self) - - - class ExistsExpessionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def EXISTS(self): - return self.getToken(frameQLParser.EXISTS, 0) - def selectStatement(self): - return self.getTypedRuleContext(frameQLParser.SelectStatementContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExistsExpessionAtom" ): - listener.enterExistsExpessionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExistsExpessionAtom" ): - listener.exitExistsExpessionAtom(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitExistsExpessionAtom" ): - return visitor.visitExistsExpessionAtom(self) - else: - return visitor.visitChildren(self) - - - class ConstantExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def constant(self): - return self.getTypedRuleContext(frameQLParser.ConstantContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterConstantExpressionAtom" ): - listener.enterConstantExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitConstantExpressionAtom" ): - listener.exitConstantExpressionAtom(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitConstantExpressionAtom" ): - return visitor.visitConstantExpressionAtom(self) - else: - return visitor.visitChildren(self) - - - class FunctionCallExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def functionCall(self): - return self.getTypedRuleContext(frameQLParser.FunctionCallContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFunctionCallExpressionAtom" ): - listener.enterFunctionCallExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFunctionCallExpressionAtom" ): - listener.exitFunctionCallExpressionAtom(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitFunctionCallExpressionAtom" ): - return visitor.visitFunctionCallExpressionAtom(self) - else: - return visitor.visitChildren(self) - - - class BinaryExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def BINARY(self): - return self.getToken(frameQLParser.BINARY, 0) - def expressionAtom(self): - return self.getTypedRuleContext(frameQLParser.ExpressionAtomContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBinaryExpressionAtom" ): - listener.enterBinaryExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBinaryExpressionAtom" ): - listener.exitBinaryExpressionAtom(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitBinaryExpressionAtom" ): - return visitor.visitBinaryExpressionAtom(self) - else: - return visitor.visitChildren(self) - - - class FullColumnNameExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.copyFrom(ctx) - - def fullColumnName(self): - return self.getTypedRuleContext(frameQLParser.FullColumnNameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFullColumnNameExpressionAtom" ): - listener.enterFullColumnNameExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFullColumnNameExpressionAtom" ): - listener.exitFullColumnNameExpressionAtom(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitFullColumnNameExpressionAtom" ): - return visitor.visitFullColumnNameExpressionAtom(self) - else: - return visitor.visitChildren(self) - - - class BitExpressionAtomContext(ExpressionAtomContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a frameQLParser.ExpressionAtomContext - super().__init__(parser) - self.left = None # ExpressionAtomContext - self.right = None # ExpressionAtomContext - self.copyFrom(ctx) - - def bitOperator(self): - return self.getTypedRuleContext(frameQLParser.BitOperatorContext,0) - - def expressionAtom(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(frameQLParser.ExpressionAtomContext) - else: - return self.getTypedRuleContext(frameQLParser.ExpressionAtomContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBitExpressionAtom" ): - listener.enterBitExpressionAtom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBitExpressionAtom" ): - listener.exitBitExpressionAtom(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitBitExpressionAtom" ): - return visitor.visitBitExpressionAtom(self) - else: - return visitor.visitChildren(self) - - - - def expressionAtom(self, _p:int=0): - _parentctx = self._ctx - _parentState = self.state - localctx = frameQLParser.ExpressionAtomContext(self, self._ctx, _parentState) - _prevctx = localctx - _startState = 594 - self.enterRecursionRule(localctx, 594, self.RULE_expressionAtom, _p) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 6023 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,870,self._ctx) - if la_ == 1: - localctx = frameQLParser.ConstantExpressionAtomContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - - self.state = 5979 - self.constant() - pass - - elif la_ == 2: - localctx = frameQLParser.FullColumnNameExpressionAtomContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 5980 - self.fullColumnName() - pass - - elif la_ == 3: - localctx = frameQLParser.FunctionCallExpressionAtomContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 5981 - self.functionCall() - pass - - elif la_ == 4: - localctx = frameQLParser.MysqlVariableExpressionAtomContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 5982 - self.mysqlVariable() - pass - - elif la_ == 5: - localctx = frameQLParser.UnaryExpressionAtomContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 5983 - self.unaryOperator() - self.state = 5984 - self.expressionAtom(9) - pass - - elif la_ == 6: - localctx = frameQLParser.BinaryExpressionAtomContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 5986 - self.match(frameQLParser.BINARY) - self.state = 5987 - self.expressionAtom(8) - pass - - elif la_ == 7: - localctx = frameQLParser.NestedExpressionAtomContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 5988 - self.match(frameQLParser.LR_BRACKET) - self.state = 5989 - self.expression(0) - self.state = 5994 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==frameQLParser.COMMA: - self.state = 5990 - self.match(frameQLParser.COMMA) - self.state = 5991 - self.expression(0) - self.state = 5996 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 5997 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 8: - localctx = frameQLParser.NestedRowExpressionAtomContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 5999 - self.match(frameQLParser.ROW) - self.state = 6000 - self.match(frameQLParser.LR_BRACKET) - self.state = 6001 - self.expression(0) - self.state = 6004 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 6002 - self.match(frameQLParser.COMMA) - self.state = 6003 - self.expression(0) - self.state = 6006 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==frameQLParser.COMMA): - break - - self.state = 6008 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 9: - localctx = frameQLParser.ExistsExpessionAtomContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 6010 - self.match(frameQLParser.EXISTS) - self.state = 6011 - self.match(frameQLParser.LR_BRACKET) - self.state = 6012 - self.selectStatement() - self.state = 6013 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 10: - localctx = frameQLParser.SubqueryExpessionAtomContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 6015 - self.match(frameQLParser.LR_BRACKET) - self.state = 6016 - self.selectStatement() - self.state = 6017 - self.match(frameQLParser.RR_BRACKET) - pass - - elif la_ == 11: - localctx = frameQLParser.IntervalExpressionAtomContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 6019 - self.match(frameQLParser.INTERVAL) - self.state = 6020 - self.expression(0) - self.state = 6021 - self.intervalType() - pass - - - self._ctx.stop = self._input.LT(-1) - self.state = 6038 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,872,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - if self._parseListeners is not None: - self.triggerExitRuleEvent() - _prevctx = localctx - self.state = 6036 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,871,self._ctx) - if la_ == 1: - localctx = frameQLParser.BitExpressionAtomContext(self, frameQLParser.ExpressionAtomContext(self, _parentctx, _parentState)) - localctx.left = _prevctx - self.pushNewRecursionContext(localctx, _startState, self.RULE_expressionAtom) - self.state = 6025 - if not self.precpred(self._ctx, 2): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 2)") - self.state = 6026 - self.bitOperator() - self.state = 6027 - localctx.right = self.expressionAtom(3) - pass - - elif la_ == 2: - localctx = frameQLParser.MathExpressionAtomContext(self, frameQLParser.ExpressionAtomContext(self, _parentctx, _parentState)) - localctx.left = _prevctx - self.pushNewRecursionContext(localctx, _startState, self.RULE_expressionAtom) - self.state = 6029 - if not self.precpred(self._ctx, 1): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 1)") - self.state = 6030 - self.mathOperator() - self.state = 6031 - localctx.right = self.expressionAtom(2) - pass - - elif la_ == 3: - localctx = frameQLParser.CollateExpressionAtomContext(self, frameQLParser.ExpressionAtomContext(self, _parentctx, _parentState)) - self.pushNewRecursionContext(localctx, _startState, self.RULE_expressionAtom) - self.state = 6033 - if not self.precpred(self._ctx, 11): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 11)") - self.state = 6034 - self.match(frameQLParser.COLLATE) - self.state = 6035 - self.collationName() - pass - - - self.state = 6040 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,872,self._ctx) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.unrollRecursionContexts(_parentctx) - return localctx - - class UnaryOperatorContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def NOT(self): - return self.getToken(frameQLParser.NOT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_unaryOperator - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUnaryOperator" ): - listener.enterUnaryOperator(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUnaryOperator" ): - listener.exitUnaryOperator(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUnaryOperator" ): - return visitor.visitUnaryOperator(self) - else: - return visitor.visitChildren(self) - - - - - def unaryOperator(self): - - localctx = frameQLParser.UnaryOperatorContext(self, self._ctx, self.state) - self.enterRule(localctx, 596, self.RULE_unaryOperator) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 6041 - _la = self._input.LA(1) - if not(_la==frameQLParser.NOT or ((((_la - 939)) & ~0x3f) == 0 and ((1 << (_la - 939)) & ((1 << (frameQLParser.PLUS - 939)) | (1 << (frameQLParser.MINUS - 939)) | (1 << (frameQLParser.EXCLAMATION_SYMBOL - 939)) | (1 << (frameQLParser.BIT_NOT_OP - 939)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ComparisonOperatorContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_comparisonOperator - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterComparisonOperator" ): - listener.enterComparisonOperator(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitComparisonOperator" ): - listener.exitComparisonOperator(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitComparisonOperator" ): - return visitor.visitComparisonOperator(self) - else: - return visitor.visitChildren(self) - - - - - def comparisonOperator(self): - - localctx = frameQLParser.ComparisonOperatorContext(self, self._ctx, self.state) - self.enterRule(localctx, 598, self.RULE_comparisonOperator) - try: - self.state = 6057 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,873,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 6043 - self.match(frameQLParser.EQUAL_SYMBOL) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 6044 - self.match(frameQLParser.GREATER_SYMBOL) - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 6045 - self.match(frameQLParser.LESS_SYMBOL) - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 6046 - self.match(frameQLParser.LESS_SYMBOL) - self.state = 6047 - self.match(frameQLParser.EQUAL_SYMBOL) - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 6048 - self.match(frameQLParser.GREATER_SYMBOL) - self.state = 6049 - self.match(frameQLParser.EQUAL_SYMBOL) - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 6050 - self.match(frameQLParser.LESS_SYMBOL) - self.state = 6051 - self.match(frameQLParser.GREATER_SYMBOL) - pass - - elif la_ == 7: - self.enterOuterAlt(localctx, 7) - self.state = 6052 - self.match(frameQLParser.EXCLAMATION_SYMBOL) - self.state = 6053 - self.match(frameQLParser.EQUAL_SYMBOL) - pass - - elif la_ == 8: - self.enterOuterAlt(localctx, 8) - self.state = 6054 - self.match(frameQLParser.LESS_SYMBOL) - self.state = 6055 - self.match(frameQLParser.EQUAL_SYMBOL) - self.state = 6056 - self.match(frameQLParser.GREATER_SYMBOL) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class LogicalOperatorContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def AND(self): - return self.getToken(frameQLParser.AND, 0) - - def XOR(self): - return self.getToken(frameQLParser.XOR, 0) - - def OR(self): - return self.getToken(frameQLParser.OR, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_logicalOperator - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLogicalOperator" ): - listener.enterLogicalOperator(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLogicalOperator" ): - listener.exitLogicalOperator(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitLogicalOperator" ): - return visitor.visitLogicalOperator(self) - else: - return visitor.visitChildren(self) - - - - - def logicalOperator(self): - - localctx = frameQLParser.LogicalOperatorContext(self, self._ctx, self.state) - self.enterRule(localctx, 600, self.RULE_logicalOperator) - try: - self.state = 6066 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.AND]: - self.enterOuterAlt(localctx, 1) - self.state = 6059 - self.match(frameQLParser.AND) - pass - elif token in [frameQLParser.BIT_AND_OP]: - self.enterOuterAlt(localctx, 2) - self.state = 6060 - self.match(frameQLParser.BIT_AND_OP) - self.state = 6061 - self.match(frameQLParser.BIT_AND_OP) - pass - elif token in [frameQLParser.XOR]: - self.enterOuterAlt(localctx, 3) - self.state = 6062 - self.match(frameQLParser.XOR) - pass - elif token in [frameQLParser.OR]: - self.enterOuterAlt(localctx, 4) - self.state = 6063 - self.match(frameQLParser.OR) - pass - elif token in [frameQLParser.BIT_OR_OP]: - self.enterOuterAlt(localctx, 5) - self.state = 6064 - self.match(frameQLParser.BIT_OR_OP) - self.state = 6065 - self.match(frameQLParser.BIT_OR_OP) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class BitOperatorContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return frameQLParser.RULE_bitOperator - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBitOperator" ): - listener.enterBitOperator(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBitOperator" ): - listener.exitBitOperator(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitBitOperator" ): - return visitor.visitBitOperator(self) - else: - return visitor.visitChildren(self) - - - - - def bitOperator(self): - - localctx = frameQLParser.BitOperatorContext(self, self._ctx, self.state) - self.enterRule(localctx, 602, self.RULE_bitOperator) - try: - self.state = 6075 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [frameQLParser.LESS_SYMBOL]: - self.enterOuterAlt(localctx, 1) - self.state = 6068 - self.match(frameQLParser.LESS_SYMBOL) - self.state = 6069 - self.match(frameQLParser.LESS_SYMBOL) - pass - elif token in [frameQLParser.GREATER_SYMBOL]: - self.enterOuterAlt(localctx, 2) - self.state = 6070 - self.match(frameQLParser.GREATER_SYMBOL) - self.state = 6071 - self.match(frameQLParser.GREATER_SYMBOL) - pass - elif token in [frameQLParser.BIT_AND_OP]: - self.enterOuterAlt(localctx, 3) - self.state = 6072 - self.match(frameQLParser.BIT_AND_OP) - pass - elif token in [frameQLParser.BIT_XOR_OP]: - self.enterOuterAlt(localctx, 4) - self.state = 6073 - self.match(frameQLParser.BIT_XOR_OP) - pass - elif token in [frameQLParser.BIT_OR_OP]: - self.enterOuterAlt(localctx, 5) - self.state = 6074 - self.match(frameQLParser.BIT_OR_OP) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class MathOperatorContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DIV(self): - return self.getToken(frameQLParser.DIV, 0) - - def MOD(self): - return self.getToken(frameQLParser.MOD, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_mathOperator - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMathOperator" ): - listener.enterMathOperator(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMathOperator" ): - listener.exitMathOperator(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitMathOperator" ): - return visitor.visitMathOperator(self) - else: - return visitor.visitChildren(self) - - - - - def mathOperator(self): - - localctx = frameQLParser.MathOperatorContext(self, self._ctx, self.state) - self.enterRule(localctx, 604, self.RULE_mathOperator) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 6077 - _la = self._input.LA(1) - if not(((((_la - 936)) & ~0x3f) == 0 and ((1 << (_la - 936)) & ((1 << (frameQLParser.STAR - 936)) | (1 << (frameQLParser.DIVIDE - 936)) | (1 << (frameQLParser.MODULE - 936)) | (1 << (frameQLParser.PLUS - 936)) | (1 << (frameQLParser.MINUSMINUS - 936)) | (1 << (frameQLParser.MINUS - 936)) | (1 << (frameQLParser.DIV - 936)) | (1 << (frameQLParser.MOD - 936)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CharsetNameBaseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ARMSCII8(self): - return self.getToken(frameQLParser.ARMSCII8, 0) - - def ASCII(self): - return self.getToken(frameQLParser.ASCII, 0) - - def BIG5(self): - return self.getToken(frameQLParser.BIG5, 0) - - def CP1250(self): - return self.getToken(frameQLParser.CP1250, 0) - - def CP1251(self): - return self.getToken(frameQLParser.CP1251, 0) - - def CP1256(self): - return self.getToken(frameQLParser.CP1256, 0) - - def CP1257(self): - return self.getToken(frameQLParser.CP1257, 0) - - def CP850(self): - return self.getToken(frameQLParser.CP850, 0) - - def CP852(self): - return self.getToken(frameQLParser.CP852, 0) - - def CP866(self): - return self.getToken(frameQLParser.CP866, 0) - - def CP932(self): - return self.getToken(frameQLParser.CP932, 0) - - def DEC8(self): - return self.getToken(frameQLParser.DEC8, 0) - - def EUCJPMS(self): - return self.getToken(frameQLParser.EUCJPMS, 0) - - def EUCKR(self): - return self.getToken(frameQLParser.EUCKR, 0) - - def GB2312(self): - return self.getToken(frameQLParser.GB2312, 0) - - def GBK(self): - return self.getToken(frameQLParser.GBK, 0) - - def GEOSTD8(self): - return self.getToken(frameQLParser.GEOSTD8, 0) - - def GREEK(self): - return self.getToken(frameQLParser.GREEK, 0) - - def HEBREW(self): - return self.getToken(frameQLParser.HEBREW, 0) - - def HP8(self): - return self.getToken(frameQLParser.HP8, 0) - - def KEYBCS2(self): - return self.getToken(frameQLParser.KEYBCS2, 0) - - def KOI8R(self): - return self.getToken(frameQLParser.KOI8R, 0) - - def KOI8U(self): - return self.getToken(frameQLParser.KOI8U, 0) - - def LATIN1(self): - return self.getToken(frameQLParser.LATIN1, 0) - - def LATIN2(self): - return self.getToken(frameQLParser.LATIN2, 0) - - def LATIN5(self): - return self.getToken(frameQLParser.LATIN5, 0) - - def LATIN7(self): - return self.getToken(frameQLParser.LATIN7, 0) - - def MACCE(self): - return self.getToken(frameQLParser.MACCE, 0) - - def MACROMAN(self): - return self.getToken(frameQLParser.MACROMAN, 0) - - def SJIS(self): - return self.getToken(frameQLParser.SJIS, 0) - - def SWE7(self): - return self.getToken(frameQLParser.SWE7, 0) - - def TIS620(self): - return self.getToken(frameQLParser.TIS620, 0) - - def UCS2(self): - return self.getToken(frameQLParser.UCS2, 0) - - def UJIS(self): - return self.getToken(frameQLParser.UJIS, 0) - - def UTF16(self): - return self.getToken(frameQLParser.UTF16, 0) - - def UTF16LE(self): - return self.getToken(frameQLParser.UTF16LE, 0) - - def UTF32(self): - return self.getToken(frameQLParser.UTF32, 0) - - def UTF8(self): - return self.getToken(frameQLParser.UTF8, 0) - - def UTF8MB3(self): - return self.getToken(frameQLParser.UTF8MB3, 0) - - def UTF8MB4(self): - return self.getToken(frameQLParser.UTF8MB4, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_charsetNameBase - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCharsetNameBase" ): - listener.enterCharsetNameBase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCharsetNameBase" ): - listener.exitCharsetNameBase(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCharsetNameBase" ): - return visitor.visitCharsetNameBase(self) - else: - return visitor.visitChildren(self) - - - - - def charsetNameBase(self): - - localctx = frameQLParser.CharsetNameBaseContext(self, self._ctx, self.state) - self.enterRule(localctx, 606, self.RULE_charsetNameBase) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 6079 - _la = self._input.LA(1) - if not(((((_la - 575)) & ~0x3f) == 0 and ((1 << (_la - 575)) & ((1 << (frameQLParser.ARMSCII8 - 575)) | (1 << (frameQLParser.ASCII - 575)) | (1 << (frameQLParser.BIG5 - 575)) | (1 << (frameQLParser.CP1250 - 575)) | (1 << (frameQLParser.CP1251 - 575)) | (1 << (frameQLParser.CP1256 - 575)) | (1 << (frameQLParser.CP1257 - 575)) | (1 << (frameQLParser.CP850 - 575)) | (1 << (frameQLParser.CP852 - 575)) | (1 << (frameQLParser.CP866 - 575)) | (1 << (frameQLParser.CP932 - 575)) | (1 << (frameQLParser.DEC8 - 575)) | (1 << (frameQLParser.EUCJPMS - 575)) | (1 << (frameQLParser.EUCKR - 575)) | (1 << (frameQLParser.GB2312 - 575)) | (1 << (frameQLParser.GBK - 575)) | (1 << (frameQLParser.GEOSTD8 - 575)) | (1 << (frameQLParser.GREEK - 575)) | (1 << (frameQLParser.HEBREW - 575)) | (1 << (frameQLParser.HP8 - 575)) | (1 << (frameQLParser.KEYBCS2 - 575)) | (1 << (frameQLParser.KOI8R - 575)) | (1 << (frameQLParser.KOI8U - 575)) | (1 << (frameQLParser.LATIN1 - 575)) | (1 << (frameQLParser.LATIN2 - 575)) | (1 << (frameQLParser.LATIN5 - 575)) | (1 << (frameQLParser.LATIN7 - 575)) | (1 << (frameQLParser.MACCE - 575)) | (1 << (frameQLParser.MACROMAN - 575)) | (1 << (frameQLParser.SJIS - 575)) | (1 << (frameQLParser.SWE7 - 575)) | (1 << (frameQLParser.TIS620 - 575)) | (1 << (frameQLParser.UCS2 - 575)) | (1 << (frameQLParser.UJIS - 575)) | (1 << (frameQLParser.UTF16 - 575)) | (1 << (frameQLParser.UTF16LE - 575)) | (1 << (frameQLParser.UTF32 - 575)) | (1 << (frameQLParser.UTF8 - 575)) | (1 << (frameQLParser.UTF8MB3 - 575)) | (1 << (frameQLParser.UTF8MB4 - 575)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class TransactionLevelBaseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def REPEATABLE(self): - return self.getToken(frameQLParser.REPEATABLE, 0) - - def COMMITTED(self): - return self.getToken(frameQLParser.COMMITTED, 0) - - def UNCOMMITTED(self): - return self.getToken(frameQLParser.UNCOMMITTED, 0) - - def SERIALIZABLE(self): - return self.getToken(frameQLParser.SERIALIZABLE, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_transactionLevelBase - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTransactionLevelBase" ): - listener.enterTransactionLevelBase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTransactionLevelBase" ): - listener.exitTransactionLevelBase(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTransactionLevelBase" ): - return visitor.visitTransactionLevelBase(self) - else: - return visitor.visitChildren(self) - - - - - def transactionLevelBase(self): - - localctx = frameQLParser.TransactionLevelBaseContext(self, self._ctx, self.state) - self.enterRule(localctx, 608, self.RULE_transactionLevelBase) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 6081 - _la = self._input.LA(1) - if not(((((_la - 626)) & ~0x3f) == 0 and ((1 << (_la - 626)) & ((1 << (frameQLParser.REPEATABLE - 626)) | (1 << (frameQLParser.COMMITTED - 626)) | (1 << (frameQLParser.UNCOMMITTED - 626)) | (1 << (frameQLParser.SERIALIZABLE - 626)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class PrivilegesBaseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def TABLES(self): - return self.getToken(frameQLParser.TABLES, 0) - - def ROUTINE(self): - return self.getToken(frameQLParser.ROUTINE, 0) - - def EXECUTE(self): - return self.getToken(frameQLParser.EXECUTE, 0) - - def FILE(self): - return self.getToken(frameQLParser.FILE, 0) - - def PROCESS(self): - return self.getToken(frameQLParser.PROCESS, 0) - - def RELOAD(self): - return self.getToken(frameQLParser.RELOAD, 0) - - def SHUTDOWN(self): - return self.getToken(frameQLParser.SHUTDOWN, 0) - - def SUPER(self): - return self.getToken(frameQLParser.SUPER, 0) - - def PRIVILEGES(self): - return self.getToken(frameQLParser.PRIVILEGES, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_privilegesBase - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPrivilegesBase" ): - listener.enterPrivilegesBase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPrivilegesBase" ): - listener.exitPrivilegesBase(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitPrivilegesBase" ): - return visitor.visitPrivilegesBase(self) - else: - return visitor.visitChildren(self) - - - - - def privilegesBase(self): - - localctx = frameQLParser.PrivilegesBaseContext(self, self._ctx, self.state) - self.enterRule(localctx, 610, self.RULE_privilegesBase) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 6083 - _la = self._input.LA(1) - if not(((((_la - 566)) & ~0x3f) == 0 and ((1 << (_la - 566)) & ((1 << (frameQLParser.TABLES - 566)) | (1 << (frameQLParser.ROUTINE - 566)) | (1 << (frameQLParser.EXECUTE - 566)) | (1 << (frameQLParser.FILE - 566)) | (1 << (frameQLParser.PROCESS - 566)) | (1 << (frameQLParser.RELOAD - 566)) | (1 << (frameQLParser.SHUTDOWN - 566)) | (1 << (frameQLParser.SUPER - 566)) | (1 << (frameQLParser.PRIVILEGES - 566)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class IntervalTypeBaseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def QUARTER(self): - return self.getToken(frameQLParser.QUARTER, 0) - - def MONTH(self): - return self.getToken(frameQLParser.MONTH, 0) - - def DAY(self): - return self.getToken(frameQLParser.DAY, 0) - - def HOUR(self): - return self.getToken(frameQLParser.HOUR, 0) - - def MINUTE(self): - return self.getToken(frameQLParser.MINUTE, 0) - - def WEEK(self): - return self.getToken(frameQLParser.WEEK, 0) - - def SECOND(self): - return self.getToken(frameQLParser.SECOND, 0) - - def MICROSECOND(self): - return self.getToken(frameQLParser.MICROSECOND, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_intervalTypeBase - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIntervalTypeBase" ): - listener.enterIntervalTypeBase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIntervalTypeBase" ): - listener.exitIntervalTypeBase(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitIntervalTypeBase" ): - return visitor.visitIntervalTypeBase(self) - else: - return visitor.visitChildren(self) - - - - - def intervalTypeBase(self): - - localctx = frameQLParser.IntervalTypeBaseContext(self, self._ctx, self.state) - self.enterRule(localctx, 612, self.RULE_intervalTypeBase) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 6085 - _la = self._input.LA(1) - if not(((((_la - 558)) & ~0x3f) == 0 and ((1 << (_la - 558)) & ((1 << (frameQLParser.QUARTER - 558)) | (1 << (frameQLParser.MONTH - 558)) | (1 << (frameQLParser.DAY - 558)) | (1 << (frameQLParser.HOUR - 558)) | (1 << (frameQLParser.MINUTE - 558)) | (1 << (frameQLParser.WEEK - 558)) | (1 << (frameQLParser.SECOND - 558)) | (1 << (frameQLParser.MICROSECOND - 558)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DataTypeBaseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DATE(self): - return self.getToken(frameQLParser.DATE, 0) - - def TIME(self): - return self.getToken(frameQLParser.TIME, 0) - - def TIMESTAMP(self): - return self.getToken(frameQLParser.TIMESTAMP, 0) - - def DATETIME(self): - return self.getToken(frameQLParser.DATETIME, 0) - - def YEAR(self): - return self.getToken(frameQLParser.YEAR, 0) - - def ENUM(self): - return self.getToken(frameQLParser.ENUM, 0) - - def TEXT(self): - return self.getToken(frameQLParser.TEXT, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_dataTypeBase - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDataTypeBase" ): - listener.enterDataTypeBase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDataTypeBase" ): - listener.exitDataTypeBase(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDataTypeBase" ): - return visitor.visitDataTypeBase(self) - else: - return visitor.visitChildren(self) - - - - - def dataTypeBase(self): - - localctx = frameQLParser.DataTypeBaseContext(self, self._ctx, self.state) - self.enterRule(localctx, 614, self.RULE_dataTypeBase) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 6087 - _la = self._input.LA(1) - if not(((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.DATETIME - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.TEXT - 184)) | (1 << (frameQLParser.ENUM - 184)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class KeywordsCanBeIdContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ACCOUNT(self): - return self.getToken(frameQLParser.ACCOUNT, 0) - - def ACTION(self): - return self.getToken(frameQLParser.ACTION, 0) - - def AFTER(self): - return self.getToken(frameQLParser.AFTER, 0) - - def AGGREGATE(self): - return self.getToken(frameQLParser.AGGREGATE, 0) - - def ALGORITHM(self): - return self.getToken(frameQLParser.ALGORITHM, 0) - - def ANY(self): - return self.getToken(frameQLParser.ANY, 0) - - def AT(self): - return self.getToken(frameQLParser.AT, 0) - - def AUTHORS(self): - return self.getToken(frameQLParser.AUTHORS, 0) - - def AUTOCOMMIT(self): - return self.getToken(frameQLParser.AUTOCOMMIT, 0) - - def AUTOEXTEND_SIZE(self): - return self.getToken(frameQLParser.AUTOEXTEND_SIZE, 0) - - def AUTO_INCREMENT(self): - return self.getToken(frameQLParser.AUTO_INCREMENT, 0) - - def AVG_ROW_LENGTH(self): - return self.getToken(frameQLParser.AVG_ROW_LENGTH, 0) - - def BEGIN(self): - return self.getToken(frameQLParser.BEGIN, 0) - - def BINLOG(self): - return self.getToken(frameQLParser.BINLOG, 0) - - def BIT(self): - return self.getToken(frameQLParser.BIT, 0) - - def BLOCK(self): - return self.getToken(frameQLParser.BLOCK, 0) - - def BOOL(self): - return self.getToken(frameQLParser.BOOL, 0) - - def BOOLEAN(self): - return self.getToken(frameQLParser.BOOLEAN, 0) - - def BTREE(self): - return self.getToken(frameQLParser.BTREE, 0) - - def CASCADED(self): - return self.getToken(frameQLParser.CASCADED, 0) - - def CHAIN(self): - return self.getToken(frameQLParser.CHAIN, 0) - - def CHANGED(self): - return self.getToken(frameQLParser.CHANGED, 0) - - def CHANNEL(self): - return self.getToken(frameQLParser.CHANNEL, 0) - - def CHECKSUM(self): - return self.getToken(frameQLParser.CHECKSUM, 0) - - def CIPHER(self): - return self.getToken(frameQLParser.CIPHER, 0) - - def CLIENT(self): - return self.getToken(frameQLParser.CLIENT, 0) - - def COALESCE(self): - return self.getToken(frameQLParser.COALESCE, 0) - - def CODE(self): - return self.getToken(frameQLParser.CODE, 0) - - def COLUMNS(self): - return self.getToken(frameQLParser.COLUMNS, 0) - - def COLUMN_FORMAT(self): - return self.getToken(frameQLParser.COLUMN_FORMAT, 0) - - def COMMENT(self): - return self.getToken(frameQLParser.COMMENT, 0) - - def COMMIT(self): - return self.getToken(frameQLParser.COMMIT, 0) - - def COMPACT(self): - return self.getToken(frameQLParser.COMPACT, 0) - - def COMPLETION(self): - return self.getToken(frameQLParser.COMPLETION, 0) - - def COMPRESSED(self): - return self.getToken(frameQLParser.COMPRESSED, 0) - - def COMPRESSION(self): - return self.getToken(frameQLParser.COMPRESSION, 0) - - def CONCURRENT(self): - return self.getToken(frameQLParser.CONCURRENT, 0) - - def CONNECTION(self): - return self.getToken(frameQLParser.CONNECTION, 0) - - def CONSISTENT(self): - return self.getToken(frameQLParser.CONSISTENT, 0) - - def CONTAINS(self): - return self.getToken(frameQLParser.CONTAINS, 0) - - def CONTEXT(self): - return self.getToken(frameQLParser.CONTEXT, 0) - - def CONTRIBUTORS(self): - return self.getToken(frameQLParser.CONTRIBUTORS, 0) - - def COPY(self): - return self.getToken(frameQLParser.COPY, 0) - - def CPU(self): - return self.getToken(frameQLParser.CPU, 0) - - def DATA(self): - return self.getToken(frameQLParser.DATA, 0) - - def DATAFILE(self): - return self.getToken(frameQLParser.DATAFILE, 0) - - def DEALLOCATE(self): - return self.getToken(frameQLParser.DEALLOCATE, 0) - - def DEFAULT_AUTH(self): - return self.getToken(frameQLParser.DEFAULT_AUTH, 0) - - def DEFINER(self): - return self.getToken(frameQLParser.DEFINER, 0) - - def DELAY_KEY_WRITE(self): - return self.getToken(frameQLParser.DELAY_KEY_WRITE, 0) - - def DIRECTORY(self): - return self.getToken(frameQLParser.DIRECTORY, 0) - - def DISABLE(self): - return self.getToken(frameQLParser.DISABLE, 0) - - def DISCARD(self): - return self.getToken(frameQLParser.DISCARD, 0) - - def DISK(self): - return self.getToken(frameQLParser.DISK, 0) - - def DO(self): - return self.getToken(frameQLParser.DO, 0) - - def DUMPFILE(self): - return self.getToken(frameQLParser.DUMPFILE, 0) - - def DUPLICATE(self): - return self.getToken(frameQLParser.DUPLICATE, 0) - - def DYNAMIC(self): - return self.getToken(frameQLParser.DYNAMIC, 0) - - def ENABLE(self): - return self.getToken(frameQLParser.ENABLE, 0) - - def ENCRYPTION(self): - return self.getToken(frameQLParser.ENCRYPTION, 0) - - def ENDS(self): - return self.getToken(frameQLParser.ENDS, 0) - - def ENGINE(self): - return self.getToken(frameQLParser.ENGINE, 0) - - def ENGINES(self): - return self.getToken(frameQLParser.ENGINES, 0) - - def ERROR(self): - return self.getToken(frameQLParser.ERROR, 0) - - def ERRORS(self): - return self.getToken(frameQLParser.ERRORS, 0) - - def ESCAPE(self): - return self.getToken(frameQLParser.ESCAPE, 0) - - def EVEN(self): - return self.getToken(frameQLParser.EVEN, 0) - - def EVENT(self): - return self.getToken(frameQLParser.EVENT, 0) - - def EVENTS(self): - return self.getToken(frameQLParser.EVENTS, 0) - - def EVERY(self): - return self.getToken(frameQLParser.EVERY, 0) - - def EXCHANGE(self): - return self.getToken(frameQLParser.EXCHANGE, 0) - - def EXCLUSIVE(self): - return self.getToken(frameQLParser.EXCLUSIVE, 0) - - def EXPIRE(self): - return self.getToken(frameQLParser.EXPIRE, 0) - - def EXTENDED(self): - return self.getToken(frameQLParser.EXTENDED, 0) - - def EXTENT_SIZE(self): - return self.getToken(frameQLParser.EXTENT_SIZE, 0) - - def FAST(self): - return self.getToken(frameQLParser.FAST, 0) - - def FAULTS(self): - return self.getToken(frameQLParser.FAULTS, 0) - - def FIELDS(self): - return self.getToken(frameQLParser.FIELDS, 0) - - def FILE_BLOCK_SIZE(self): - return self.getToken(frameQLParser.FILE_BLOCK_SIZE, 0) - - def FILTER(self): - return self.getToken(frameQLParser.FILTER, 0) - - def FIRST(self): - return self.getToken(frameQLParser.FIRST, 0) - - def FIXED(self): - return self.getToken(frameQLParser.FIXED, 0) - - def FOLLOWS(self): - return self.getToken(frameQLParser.FOLLOWS, 0) - - def FULL(self): - return self.getToken(frameQLParser.FULL, 0) - - def FUNCTION(self): - return self.getToken(frameQLParser.FUNCTION, 0) - - def GLOBAL(self): - return self.getToken(frameQLParser.GLOBAL, 0) - - def GRANTS(self): - return self.getToken(frameQLParser.GRANTS, 0) - - def GROUP_REPLICATION(self): - return self.getToken(frameQLParser.GROUP_REPLICATION, 0) - - def HASH(self): - return self.getToken(frameQLParser.HASH, 0) - - def HOST(self): - return self.getToken(frameQLParser.HOST, 0) - - def IDENTIFIED(self): - return self.getToken(frameQLParser.IDENTIFIED, 0) - - def IGNORE_SERVER_IDS(self): - return self.getToken(frameQLParser.IGNORE_SERVER_IDS, 0) - - def IMPORT(self): - return self.getToken(frameQLParser.IMPORT, 0) - - def INDEXES(self): - return self.getToken(frameQLParser.INDEXES, 0) - - def INITIAL_SIZE(self): - return self.getToken(frameQLParser.INITIAL_SIZE, 0) - - def INPLACE(self): - return self.getToken(frameQLParser.INPLACE, 0) - - def INSERT_METHOD(self): - return self.getToken(frameQLParser.INSERT_METHOD, 0) - - def INSTANCE(self): - return self.getToken(frameQLParser.INSTANCE, 0) - - def INVOKER(self): - return self.getToken(frameQLParser.INVOKER, 0) - - def IO(self): - return self.getToken(frameQLParser.IO, 0) - - def IO_THREAD(self): - return self.getToken(frameQLParser.IO_THREAD, 0) - - def IPC(self): - return self.getToken(frameQLParser.IPC, 0) - - def ISOLATION(self): - return self.getToken(frameQLParser.ISOLATION, 0) - - def ISSUER(self): - return self.getToken(frameQLParser.ISSUER, 0) - - def KEY_BLOCK_SIZE(self): - return self.getToken(frameQLParser.KEY_BLOCK_SIZE, 0) - - def LANGUAGE(self): - return self.getToken(frameQLParser.LANGUAGE, 0) - - def LAST(self): - return self.getToken(frameQLParser.LAST, 0) - - def LEAVES(self): - return self.getToken(frameQLParser.LEAVES, 0) - - def LESS(self): - return self.getToken(frameQLParser.LESS, 0) - - def LEVEL(self): - return self.getToken(frameQLParser.LEVEL, 0) - - def LIST(self): - return self.getToken(frameQLParser.LIST, 0) - - def LOCAL(self): - return self.getToken(frameQLParser.LOCAL, 0) - - def LOGFILE(self): - return self.getToken(frameQLParser.LOGFILE, 0) - - def LOGS(self): - return self.getToken(frameQLParser.LOGS, 0) - - def MASTER(self): - return self.getToken(frameQLParser.MASTER, 0) - - def MASTER_AUTO_POSITION(self): - return self.getToken(frameQLParser.MASTER_AUTO_POSITION, 0) - - def MASTER_CONNECT_RETRY(self): - return self.getToken(frameQLParser.MASTER_CONNECT_RETRY, 0) - - def MASTER_DELAY(self): - return self.getToken(frameQLParser.MASTER_DELAY, 0) - - def MASTER_HEARTBEAT_PERIOD(self): - return self.getToken(frameQLParser.MASTER_HEARTBEAT_PERIOD, 0) - - def MASTER_HOST(self): - return self.getToken(frameQLParser.MASTER_HOST, 0) - - def MASTER_LOG_FILE(self): - return self.getToken(frameQLParser.MASTER_LOG_FILE, 0) - - def MASTER_LOG_POS(self): - return self.getToken(frameQLParser.MASTER_LOG_POS, 0) - - def MASTER_PASSWORD(self): - return self.getToken(frameQLParser.MASTER_PASSWORD, 0) - - def MASTER_PORT(self): - return self.getToken(frameQLParser.MASTER_PORT, 0) - - def MASTER_RETRY_COUNT(self): - return self.getToken(frameQLParser.MASTER_RETRY_COUNT, 0) - - def MASTER_SSL(self): - return self.getToken(frameQLParser.MASTER_SSL, 0) - - def MASTER_SSL_CA(self): - return self.getToken(frameQLParser.MASTER_SSL_CA, 0) - - def MASTER_SSL_CAPATH(self): - return self.getToken(frameQLParser.MASTER_SSL_CAPATH, 0) - - def MASTER_SSL_CERT(self): - return self.getToken(frameQLParser.MASTER_SSL_CERT, 0) - - def MASTER_SSL_CIPHER(self): - return self.getToken(frameQLParser.MASTER_SSL_CIPHER, 0) - - def MASTER_SSL_CRL(self): - return self.getToken(frameQLParser.MASTER_SSL_CRL, 0) - - def MASTER_SSL_CRLPATH(self): - return self.getToken(frameQLParser.MASTER_SSL_CRLPATH, 0) - - def MASTER_SSL_KEY(self): - return self.getToken(frameQLParser.MASTER_SSL_KEY, 0) - - def MASTER_TLS_VERSION(self): - return self.getToken(frameQLParser.MASTER_TLS_VERSION, 0) - - def MASTER_USER(self): - return self.getToken(frameQLParser.MASTER_USER, 0) - - def MAX_CONNECTIONS_PER_HOUR(self): - return self.getToken(frameQLParser.MAX_CONNECTIONS_PER_HOUR, 0) - - def MAX_QUERIES_PER_HOUR(self): - return self.getToken(frameQLParser.MAX_QUERIES_PER_HOUR, 0) - - def MAX_ROWS(self): - return self.getToken(frameQLParser.MAX_ROWS, 0) - - def MAX_SIZE(self): - return self.getToken(frameQLParser.MAX_SIZE, 0) - - def MAX_UPDATES_PER_HOUR(self): - return self.getToken(frameQLParser.MAX_UPDATES_PER_HOUR, 0) - - def MAX_USER_CONNECTIONS(self): - return self.getToken(frameQLParser.MAX_USER_CONNECTIONS, 0) - - def MEDIUM(self): - return self.getToken(frameQLParser.MEDIUM, 0) - - def MEMORY(self): - return self.getToken(frameQLParser.MEMORY, 0) - - def MERGE(self): - return self.getToken(frameQLParser.MERGE, 0) - - def MID(self): - return self.getToken(frameQLParser.MID, 0) - - def MIGRATE(self): - return self.getToken(frameQLParser.MIGRATE, 0) - - def MIN_ROWS(self): - return self.getToken(frameQLParser.MIN_ROWS, 0) - - def MODIFY(self): - return self.getToken(frameQLParser.MODIFY, 0) - - def MUTEX(self): - return self.getToken(frameQLParser.MUTEX, 0) - - def MYSQL(self): - return self.getToken(frameQLParser.MYSQL, 0) - - def NAME(self): - return self.getToken(frameQLParser.NAME, 0) - - def NAMES(self): - return self.getToken(frameQLParser.NAMES, 0) - - def NCHAR(self): - return self.getToken(frameQLParser.NCHAR, 0) - - def NEVER(self): - return self.getToken(frameQLParser.NEVER, 0) - - def NO(self): - return self.getToken(frameQLParser.NO, 0) - - def NODEGROUP(self): - return self.getToken(frameQLParser.NODEGROUP, 0) - - def NONE(self): - return self.getToken(frameQLParser.NONE, 0) - - def OFFLINE(self): - return self.getToken(frameQLParser.OFFLINE, 0) - - def OFFSET(self): - return self.getToken(frameQLParser.OFFSET, 0) - - def OJ(self): - return self.getToken(frameQLParser.OJ, 0) - - def OLD_PASSWORD(self): - return self.getToken(frameQLParser.OLD_PASSWORD, 0) - - def ONE(self): - return self.getToken(frameQLParser.ONE, 0) - - def ONLINE(self): - return self.getToken(frameQLParser.ONLINE, 0) - - def ONLY(self): - return self.getToken(frameQLParser.ONLY, 0) - - def OPTIMIZER_COSTS(self): - return self.getToken(frameQLParser.OPTIMIZER_COSTS, 0) - - def OPTIONS(self): - return self.getToken(frameQLParser.OPTIONS, 0) - - def OWNER(self): - return self.getToken(frameQLParser.OWNER, 0) - - def PACK_KEYS(self): - return self.getToken(frameQLParser.PACK_KEYS, 0) - - def PAGE(self): - return self.getToken(frameQLParser.PAGE, 0) - - def PARSER(self): - return self.getToken(frameQLParser.PARSER, 0) - - def PARTIAL(self): - return self.getToken(frameQLParser.PARTIAL, 0) - - def PARTITIONING(self): - return self.getToken(frameQLParser.PARTITIONING, 0) - - def PARTITIONS(self): - return self.getToken(frameQLParser.PARTITIONS, 0) - - def PASSWORD(self): - return self.getToken(frameQLParser.PASSWORD, 0) - - def PHASE(self): - return self.getToken(frameQLParser.PHASE, 0) - - def PLUGINS(self): - return self.getToken(frameQLParser.PLUGINS, 0) - - def PLUGIN_DIR(self): - return self.getToken(frameQLParser.PLUGIN_DIR, 0) - - def PORT(self): - return self.getToken(frameQLParser.PORT, 0) - - def PRECEDES(self): - return self.getToken(frameQLParser.PRECEDES, 0) - - def PREPARE(self): - return self.getToken(frameQLParser.PREPARE, 0) - - def PRESERVE(self): - return self.getToken(frameQLParser.PRESERVE, 0) - - def PREV(self): - return self.getToken(frameQLParser.PREV, 0) - - def PROCESSLIST(self): - return self.getToken(frameQLParser.PROCESSLIST, 0) - - def PROFILE(self): - return self.getToken(frameQLParser.PROFILE, 0) - - def PROFILES(self): - return self.getToken(frameQLParser.PROFILES, 0) - - def PROXY(self): - return self.getToken(frameQLParser.PROXY, 0) - - def QUERY(self): - return self.getToken(frameQLParser.QUERY, 0) - - def QUICK(self): - return self.getToken(frameQLParser.QUICK, 0) - - def REBUILD(self): - return self.getToken(frameQLParser.REBUILD, 0) - - def RECOVER(self): - return self.getToken(frameQLParser.RECOVER, 0) - - def REDO_BUFFER_SIZE(self): - return self.getToken(frameQLParser.REDO_BUFFER_SIZE, 0) - - def REDUNDANT(self): - return self.getToken(frameQLParser.REDUNDANT, 0) - - def RELAYLOG(self): - return self.getToken(frameQLParser.RELAYLOG, 0) - - def RELAY_LOG_FILE(self): - return self.getToken(frameQLParser.RELAY_LOG_FILE, 0) - - def RELAY_LOG_POS(self): - return self.getToken(frameQLParser.RELAY_LOG_POS, 0) - - def REMOVE(self): - return self.getToken(frameQLParser.REMOVE, 0) - - def REORGANIZE(self): - return self.getToken(frameQLParser.REORGANIZE, 0) - - def REPAIR(self): - return self.getToken(frameQLParser.REPAIR, 0) - - def REPLICATE_DO_DB(self): - return self.getToken(frameQLParser.REPLICATE_DO_DB, 0) - - def REPLICATE_DO_TABLE(self): - return self.getToken(frameQLParser.REPLICATE_DO_TABLE, 0) - - def REPLICATE_IGNORE_DB(self): - return self.getToken(frameQLParser.REPLICATE_IGNORE_DB, 0) - - def REPLICATE_IGNORE_TABLE(self): - return self.getToken(frameQLParser.REPLICATE_IGNORE_TABLE, 0) - - def REPLICATE_REWRITE_DB(self): - return self.getToken(frameQLParser.REPLICATE_REWRITE_DB, 0) - - def REPLICATE_WILD_DO_TABLE(self): - return self.getToken(frameQLParser.REPLICATE_WILD_DO_TABLE, 0) - - def REPLICATE_WILD_IGNORE_TABLE(self): - return self.getToken(frameQLParser.REPLICATE_WILD_IGNORE_TABLE, 0) - - def REPLICATION(self): - return self.getToken(frameQLParser.REPLICATION, 0) - - def RESUME(self): - return self.getToken(frameQLParser.RESUME, 0) - - def RETURNS(self): - return self.getToken(frameQLParser.RETURNS, 0) - - def ROLLBACK(self): - return self.getToken(frameQLParser.ROLLBACK, 0) - - def ROLLUP(self): - return self.getToken(frameQLParser.ROLLUP, 0) - - def ROTATE(self): - return self.getToken(frameQLParser.ROTATE, 0) - - def ROW(self): - return self.getToken(frameQLParser.ROW, 0) - - def ROWS(self): - return self.getToken(frameQLParser.ROWS, 0) - - def ROW_FORMAT(self): - return self.getToken(frameQLParser.ROW_FORMAT, 0) - - def SAVEPOINT(self): - return self.getToken(frameQLParser.SAVEPOINT, 0) - - def SCHEDULE(self): - return self.getToken(frameQLParser.SCHEDULE, 0) - - def SECURITY(self): - return self.getToken(frameQLParser.SECURITY, 0) - - def SERIAL(self): - return self.getToken(frameQLParser.SERIAL, 0) - - def SERVER(self): - return self.getToken(frameQLParser.SERVER, 0) - - def SESSION(self): - return self.getToken(frameQLParser.SESSION, 0) - - def SHARE(self): - return self.getToken(frameQLParser.SHARE, 0) - - def SHARED(self): - return self.getToken(frameQLParser.SHARED, 0) - - def SIGNED(self): - return self.getToken(frameQLParser.SIGNED, 0) - - def SIMPLE(self): - return self.getToken(frameQLParser.SIMPLE, 0) - - def SLAVE(self): - return self.getToken(frameQLParser.SLAVE, 0) - - def SNAPSHOT(self): - return self.getToken(frameQLParser.SNAPSHOT, 0) - - def SOCKET(self): - return self.getToken(frameQLParser.SOCKET, 0) - - def SOME(self): - return self.getToken(frameQLParser.SOME, 0) - - def SOUNDS(self): - return self.getToken(frameQLParser.SOUNDS, 0) - - def SOURCE(self): - return self.getToken(frameQLParser.SOURCE, 0) - - def SQL_AFTER_GTIDS(self): - return self.getToken(frameQLParser.SQL_AFTER_GTIDS, 0) - - def SQL_AFTER_MTS_GAPS(self): - return self.getToken(frameQLParser.SQL_AFTER_MTS_GAPS, 0) - - def SQL_BEFORE_GTIDS(self): - return self.getToken(frameQLParser.SQL_BEFORE_GTIDS, 0) - - def SQL_BUFFER_RESULT(self): - return self.getToken(frameQLParser.SQL_BUFFER_RESULT, 0) - - def SQL_CACHE(self): - return self.getToken(frameQLParser.SQL_CACHE, 0) - - def SQL_NO_CACHE(self): - return self.getToken(frameQLParser.SQL_NO_CACHE, 0) - - def SQL_THREAD(self): - return self.getToken(frameQLParser.SQL_THREAD, 0) - - def START(self): - return self.getToken(frameQLParser.START, 0) - - def STARTS(self): - return self.getToken(frameQLParser.STARTS, 0) - - def STATS_AUTO_RECALC(self): - return self.getToken(frameQLParser.STATS_AUTO_RECALC, 0) - - def STATS_PERSISTENT(self): - return self.getToken(frameQLParser.STATS_PERSISTENT, 0) - - def STATS_SAMPLE_PAGES(self): - return self.getToken(frameQLParser.STATS_SAMPLE_PAGES, 0) - - def STATUS(self): - return self.getToken(frameQLParser.STATUS, 0) - - def STOP(self): - return self.getToken(frameQLParser.STOP, 0) - - def STORAGE(self): - return self.getToken(frameQLParser.STORAGE, 0) - - def STRING(self): - return self.getToken(frameQLParser.STRING, 0) - - def SUBJECT(self): - return self.getToken(frameQLParser.SUBJECT, 0) - - def SUBPARTITION(self): - return self.getToken(frameQLParser.SUBPARTITION, 0) - - def SUBPARTITIONS(self): - return self.getToken(frameQLParser.SUBPARTITIONS, 0) - - def SUSPEND(self): - return self.getToken(frameQLParser.SUSPEND, 0) - - def SWAPS(self): - return self.getToken(frameQLParser.SWAPS, 0) - - def SWITCHES(self): - return self.getToken(frameQLParser.SWITCHES, 0) - - def TABLESPACE(self): - return self.getToken(frameQLParser.TABLESPACE, 0) - - def TEMPORARY(self): - return self.getToken(frameQLParser.TEMPORARY, 0) - - def TEMPTABLE(self): - return self.getToken(frameQLParser.TEMPTABLE, 0) - - def THAN(self): - return self.getToken(frameQLParser.THAN, 0) - - def TRANSACTION(self): - return self.getToken(frameQLParser.TRANSACTION, 0) - - def TRUNCATE(self): - return self.getToken(frameQLParser.TRUNCATE, 0) - - def UNDEFINED(self): - return self.getToken(frameQLParser.UNDEFINED, 0) - - def UNDOFILE(self): - return self.getToken(frameQLParser.UNDOFILE, 0) - - def UNDO_BUFFER_SIZE(self): - return self.getToken(frameQLParser.UNDO_BUFFER_SIZE, 0) - - def UNKNOWN(self): - return self.getToken(frameQLParser.UNKNOWN, 0) - - def UPGRADE(self): - return self.getToken(frameQLParser.UPGRADE, 0) - - def USER(self): - return self.getToken(frameQLParser.USER, 0) - - def VALIDATION(self): - return self.getToken(frameQLParser.VALIDATION, 0) - - def VALUE(self): - return self.getToken(frameQLParser.VALUE, 0) - - def VARIABLES(self): - return self.getToken(frameQLParser.VARIABLES, 0) - - def VIEW(self): - return self.getToken(frameQLParser.VIEW, 0) - - def WAIT(self): - return self.getToken(frameQLParser.WAIT, 0) - - def WARNINGS(self): - return self.getToken(frameQLParser.WARNINGS, 0) - - def WITHOUT(self): - return self.getToken(frameQLParser.WITHOUT, 0) - - def WORK(self): - return self.getToken(frameQLParser.WORK, 0) - - def WRAPPER(self): - return self.getToken(frameQLParser.WRAPPER, 0) - - def X509(self): - return self.getToken(frameQLParser.X509, 0) - - def XA(self): - return self.getToken(frameQLParser.XA, 0) - - def XML(self): - return self.getToken(frameQLParser.XML, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_keywordsCanBeId - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterKeywordsCanBeId" ): - listener.enterKeywordsCanBeId(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitKeywordsCanBeId" ): - listener.exitKeywordsCanBeId(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitKeywordsCanBeId" ): - return visitor.visitKeywordsCanBeId(self) - else: - return visitor.visitChildren(self) - - - - - def keywordsCanBeId(self): - - localctx = frameQLParser.KeywordsCanBeIdContext(self, self._ctx, self.state) - self.enterRule(localctx, 616, self.RULE_keywordsCanBeId) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 6089 - _la = self._input.LA(1) - if not(((((_la - 202)) & ~0x3f) == 0 and ((1 << (_la - 202)) & ((1 << (frameQLParser.SERIAL - 202)) | (1 << (frameQLParser.ACCOUNT - 202)) | (1 << (frameQLParser.ACTION - 202)) | (1 << (frameQLParser.AFTER - 202)) | (1 << (frameQLParser.AGGREGATE - 202)) | (1 << (frameQLParser.ALGORITHM - 202)) | (1 << (frameQLParser.ANY - 202)) | (1 << (frameQLParser.AT - 202)) | (1 << (frameQLParser.AUTHORS - 202)) | (1 << (frameQLParser.AUTOCOMMIT - 202)) | (1 << (frameQLParser.AUTOEXTEND_SIZE - 202)) | (1 << (frameQLParser.AUTO_INCREMENT - 202)) | (1 << (frameQLParser.AVG_ROW_LENGTH - 202)) | (1 << (frameQLParser.BEGIN - 202)) | (1 << (frameQLParser.BINLOG - 202)) | (1 << (frameQLParser.BIT - 202)) | (1 << (frameQLParser.BLOCK - 202)))) != 0) or ((((_la - 266)) & ~0x3f) == 0 and ((1 << (_la - 266)) & ((1 << (frameQLParser.BOOL - 266)) | (1 << (frameQLParser.BOOLEAN - 266)) | (1 << (frameQLParser.BTREE - 266)) | (1 << (frameQLParser.CASCADED - 266)) | (1 << (frameQLParser.CHAIN - 266)) | (1 << (frameQLParser.CHANGED - 266)) | (1 << (frameQLParser.CHANNEL - 266)) | (1 << (frameQLParser.CHECKSUM - 266)) | (1 << (frameQLParser.CIPHER - 266)) | (1 << (frameQLParser.CLIENT - 266)) | (1 << (frameQLParser.COALESCE - 266)) | (1 << (frameQLParser.CODE - 266)) | (1 << (frameQLParser.COLUMNS - 266)) | (1 << (frameQLParser.COLUMN_FORMAT - 266)) | (1 << (frameQLParser.COMMENT - 266)) | (1 << (frameQLParser.COMMIT - 266)) | (1 << (frameQLParser.COMPACT - 266)) | (1 << (frameQLParser.COMPLETION - 266)) | (1 << (frameQLParser.COMPRESSED - 266)) | (1 << (frameQLParser.COMPRESSION - 266)) | (1 << (frameQLParser.CONCURRENT - 266)) | (1 << (frameQLParser.CONNECTION - 266)) | (1 << (frameQLParser.CONSISTENT - 266)) | (1 << (frameQLParser.CONTAINS - 266)) | (1 << (frameQLParser.CONTEXT - 266)) | (1 << (frameQLParser.CONTRIBUTORS - 266)) | (1 << (frameQLParser.COPY - 266)) | (1 << (frameQLParser.CPU - 266)) | (1 << (frameQLParser.DATA - 266)) | (1 << (frameQLParser.DATAFILE - 266)) | (1 << (frameQLParser.DEALLOCATE - 266)) | (1 << (frameQLParser.DEFAULT_AUTH - 266)) | (1 << (frameQLParser.DEFINER - 266)) | (1 << (frameQLParser.DELAY_KEY_WRITE - 266)) | (1 << (frameQLParser.DIRECTORY - 266)) | (1 << (frameQLParser.DISABLE - 266)) | (1 << (frameQLParser.DISCARD - 266)) | (1 << (frameQLParser.DISK - 266)) | (1 << (frameQLParser.DO - 266)) | (1 << (frameQLParser.DUMPFILE - 266)) | (1 << (frameQLParser.DUPLICATE - 266)) | (1 << (frameQLParser.DYNAMIC - 266)) | (1 << (frameQLParser.ENABLE - 266)) | (1 << (frameQLParser.ENCRYPTION - 266)) | (1 << (frameQLParser.ENDS - 266)) | (1 << (frameQLParser.ENGINE - 266)) | (1 << (frameQLParser.ENGINES - 266)) | (1 << (frameQLParser.ERROR - 266)) | (1 << (frameQLParser.ERRORS - 266)) | (1 << (frameQLParser.ESCAPE - 266)) | (1 << (frameQLParser.EVEN - 266)) | (1 << (frameQLParser.EVENT - 266)) | (1 << (frameQLParser.EVENTS - 266)) | (1 << (frameQLParser.EVERY - 266)) | (1 << (frameQLParser.EXCHANGE - 266)) | (1 << (frameQLParser.EXCLUSIVE - 266)) | (1 << (frameQLParser.EXPIRE - 266)) | (1 << (frameQLParser.EXTENDED - 266)) | (1 << (frameQLParser.EXTENT_SIZE - 266)))) != 0) or ((((_la - 330)) & ~0x3f) == 0 and ((1 << (_la - 330)) & ((1 << (frameQLParser.FAST - 330)) | (1 << (frameQLParser.FAULTS - 330)) | (1 << (frameQLParser.FIELDS - 330)) | (1 << (frameQLParser.FILE_BLOCK_SIZE - 330)) | (1 << (frameQLParser.FILTER - 330)) | (1 << (frameQLParser.FIRST - 330)) | (1 << (frameQLParser.FIXED - 330)) | (1 << (frameQLParser.FOLLOWS - 330)) | (1 << (frameQLParser.FULL - 330)) | (1 << (frameQLParser.FUNCTION - 330)) | (1 << (frameQLParser.GLOBAL - 330)) | (1 << (frameQLParser.GRANTS - 330)) | (1 << (frameQLParser.GROUP_REPLICATION - 330)) | (1 << (frameQLParser.HASH - 330)) | (1 << (frameQLParser.HOST - 330)) | (1 << (frameQLParser.IDENTIFIED - 330)) | (1 << (frameQLParser.IGNORE_SERVER_IDS - 330)) | (1 << (frameQLParser.IMPORT - 330)) | (1 << (frameQLParser.INDEXES - 330)) | (1 << (frameQLParser.INITIAL_SIZE - 330)) | (1 << (frameQLParser.INPLACE - 330)) | (1 << (frameQLParser.INSERT_METHOD - 330)) | (1 << (frameQLParser.INSTANCE - 330)) | (1 << (frameQLParser.INVOKER - 330)) | (1 << (frameQLParser.IO - 330)) | (1 << (frameQLParser.IO_THREAD - 330)) | (1 << (frameQLParser.IPC - 330)) | (1 << (frameQLParser.ISOLATION - 330)) | (1 << (frameQLParser.ISSUER - 330)) | (1 << (frameQLParser.KEY_BLOCK_SIZE - 330)) | (1 << (frameQLParser.LANGUAGE - 330)) | (1 << (frameQLParser.LAST - 330)) | (1 << (frameQLParser.LEAVES - 330)) | (1 << (frameQLParser.LESS - 330)) | (1 << (frameQLParser.LEVEL - 330)) | (1 << (frameQLParser.LIST - 330)) | (1 << (frameQLParser.LOCAL - 330)) | (1 << (frameQLParser.LOGFILE - 330)) | (1 << (frameQLParser.LOGS - 330)) | (1 << (frameQLParser.MASTER - 330)) | (1 << (frameQLParser.MASTER_AUTO_POSITION - 330)) | (1 << (frameQLParser.MASTER_CONNECT_RETRY - 330)) | (1 << (frameQLParser.MASTER_DELAY - 330)) | (1 << (frameQLParser.MASTER_HEARTBEAT_PERIOD - 330)) | (1 << (frameQLParser.MASTER_HOST - 330)) | (1 << (frameQLParser.MASTER_LOG_FILE - 330)) | (1 << (frameQLParser.MASTER_LOG_POS - 330)) | (1 << (frameQLParser.MASTER_PASSWORD - 330)) | (1 << (frameQLParser.MASTER_PORT - 330)) | (1 << (frameQLParser.MASTER_RETRY_COUNT - 330)) | (1 << (frameQLParser.MASTER_SSL - 330)) | (1 << (frameQLParser.MASTER_SSL_CA - 330)) | (1 << (frameQLParser.MASTER_SSL_CAPATH - 330)) | (1 << (frameQLParser.MASTER_SSL_CERT - 330)) | (1 << (frameQLParser.MASTER_SSL_CIPHER - 330)) | (1 << (frameQLParser.MASTER_SSL_CRL - 330)))) != 0) or ((((_la - 394)) & ~0x3f) == 0 and ((1 << (_la - 394)) & ((1 << (frameQLParser.MASTER_SSL_CRLPATH - 394)) | (1 << (frameQLParser.MASTER_SSL_KEY - 394)) | (1 << (frameQLParser.MASTER_TLS_VERSION - 394)) | (1 << (frameQLParser.MASTER_USER - 394)) | (1 << (frameQLParser.MAX_CONNECTIONS_PER_HOUR - 394)) | (1 << (frameQLParser.MAX_QUERIES_PER_HOUR - 394)) | (1 << (frameQLParser.MAX_ROWS - 394)) | (1 << (frameQLParser.MAX_SIZE - 394)) | (1 << (frameQLParser.MAX_UPDATES_PER_HOUR - 394)) | (1 << (frameQLParser.MAX_USER_CONNECTIONS - 394)) | (1 << (frameQLParser.MEDIUM - 394)) | (1 << (frameQLParser.MERGE - 394)) | (1 << (frameQLParser.MID - 394)) | (1 << (frameQLParser.MIGRATE - 394)) | (1 << (frameQLParser.MIN_ROWS - 394)) | (1 << (frameQLParser.MODIFY - 394)) | (1 << (frameQLParser.MUTEX - 394)) | (1 << (frameQLParser.MYSQL - 394)) | (1 << (frameQLParser.NAME - 394)) | (1 << (frameQLParser.NAMES - 394)) | (1 << (frameQLParser.NCHAR - 394)) | (1 << (frameQLParser.NEVER - 394)) | (1 << (frameQLParser.NO - 394)) | (1 << (frameQLParser.NODEGROUP - 394)) | (1 << (frameQLParser.NONE - 394)) | (1 << (frameQLParser.OFFLINE - 394)) | (1 << (frameQLParser.OFFSET - 394)) | (1 << (frameQLParser.OJ - 394)) | (1 << (frameQLParser.OLD_PASSWORD - 394)) | (1 << (frameQLParser.ONE - 394)) | (1 << (frameQLParser.ONLINE - 394)) | (1 << (frameQLParser.ONLY - 394)) | (1 << (frameQLParser.OPTIMIZER_COSTS - 394)) | (1 << (frameQLParser.OPTIONS - 394)) | (1 << (frameQLParser.OWNER - 394)) | (1 << (frameQLParser.PACK_KEYS - 394)) | (1 << (frameQLParser.PAGE - 394)) | (1 << (frameQLParser.PARSER - 394)) | (1 << (frameQLParser.PARTIAL - 394)) | (1 << (frameQLParser.PARTITIONING - 394)) | (1 << (frameQLParser.PARTITIONS - 394)) | (1 << (frameQLParser.PASSWORD - 394)) | (1 << (frameQLParser.PHASE - 394)) | (1 << (frameQLParser.PLUGIN_DIR - 394)) | (1 << (frameQLParser.PLUGINS - 394)) | (1 << (frameQLParser.PORT - 394)) | (1 << (frameQLParser.PRECEDES - 394)) | (1 << (frameQLParser.PREPARE - 394)) | (1 << (frameQLParser.PRESERVE - 394)) | (1 << (frameQLParser.PREV - 394)) | (1 << (frameQLParser.PROCESSLIST - 394)) | (1 << (frameQLParser.PROFILE - 394)) | (1 << (frameQLParser.PROFILES - 394)) | (1 << (frameQLParser.PROXY - 394)) | (1 << (frameQLParser.QUERY - 394)) | (1 << (frameQLParser.QUICK - 394)) | (1 << (frameQLParser.REBUILD - 394)) | (1 << (frameQLParser.RECOVER - 394)) | (1 << (frameQLParser.REDO_BUFFER_SIZE - 394)) | (1 << (frameQLParser.REDUNDANT - 394)))) != 0) or ((((_la - 459)) & ~0x3f) == 0 and ((1 << (_la - 459)) & ((1 << (frameQLParser.RELAY_LOG_FILE - 459)) | (1 << (frameQLParser.RELAY_LOG_POS - 459)) | (1 << (frameQLParser.RELAYLOG - 459)) | (1 << (frameQLParser.REMOVE - 459)) | (1 << (frameQLParser.REORGANIZE - 459)) | (1 << (frameQLParser.REPAIR - 459)) | (1 << (frameQLParser.REPLICATE_DO_DB - 459)) | (1 << (frameQLParser.REPLICATE_DO_TABLE - 459)) | (1 << (frameQLParser.REPLICATE_IGNORE_DB - 459)) | (1 << (frameQLParser.REPLICATE_IGNORE_TABLE - 459)) | (1 << (frameQLParser.REPLICATE_REWRITE_DB - 459)) | (1 << (frameQLParser.REPLICATE_WILD_DO_TABLE - 459)) | (1 << (frameQLParser.REPLICATE_WILD_IGNORE_TABLE - 459)) | (1 << (frameQLParser.REPLICATION - 459)) | (1 << (frameQLParser.RESUME - 459)) | (1 << (frameQLParser.RETURNS - 459)) | (1 << (frameQLParser.ROLLBACK - 459)) | (1 << (frameQLParser.ROLLUP - 459)) | (1 << (frameQLParser.ROTATE - 459)) | (1 << (frameQLParser.ROW - 459)) | (1 << (frameQLParser.ROWS - 459)) | (1 << (frameQLParser.ROW_FORMAT - 459)) | (1 << (frameQLParser.SAVEPOINT - 459)) | (1 << (frameQLParser.SCHEDULE - 459)) | (1 << (frameQLParser.SECURITY - 459)) | (1 << (frameQLParser.SERVER - 459)) | (1 << (frameQLParser.SESSION - 459)) | (1 << (frameQLParser.SHARE - 459)) | (1 << (frameQLParser.SHARED - 459)) | (1 << (frameQLParser.SIGNED - 459)) | (1 << (frameQLParser.SIMPLE - 459)) | (1 << (frameQLParser.SLAVE - 459)) | (1 << (frameQLParser.SNAPSHOT - 459)) | (1 << (frameQLParser.SOCKET - 459)) | (1 << (frameQLParser.SOME - 459)) | (1 << (frameQLParser.SOUNDS - 459)) | (1 << (frameQLParser.SOURCE - 459)) | (1 << (frameQLParser.SQL_AFTER_GTIDS - 459)) | (1 << (frameQLParser.SQL_AFTER_MTS_GAPS - 459)) | (1 << (frameQLParser.SQL_BEFORE_GTIDS - 459)) | (1 << (frameQLParser.SQL_BUFFER_RESULT - 459)) | (1 << (frameQLParser.SQL_CACHE - 459)) | (1 << (frameQLParser.SQL_NO_CACHE - 459)) | (1 << (frameQLParser.SQL_THREAD - 459)) | (1 << (frameQLParser.START - 459)) | (1 << (frameQLParser.STARTS - 459)) | (1 << (frameQLParser.STATS_AUTO_RECALC - 459)) | (1 << (frameQLParser.STATS_PERSISTENT - 459)) | (1 << (frameQLParser.STATS_SAMPLE_PAGES - 459)) | (1 << (frameQLParser.STATUS - 459)) | (1 << (frameQLParser.STOP - 459)) | (1 << (frameQLParser.STORAGE - 459)) | (1 << (frameQLParser.STRING - 459)) | (1 << (frameQLParser.SUBJECT - 459)) | (1 << (frameQLParser.SUBPARTITION - 459)) | (1 << (frameQLParser.SUBPARTITIONS - 459)) | (1 << (frameQLParser.SUSPEND - 459)) | (1 << (frameQLParser.SWAPS - 459)) | (1 << (frameQLParser.SWITCHES - 459)) | (1 << (frameQLParser.TABLESPACE - 459)))) != 0) or ((((_la - 523)) & ~0x3f) == 0 and ((1 << (_la - 523)) & ((1 << (frameQLParser.TEMPORARY - 523)) | (1 << (frameQLParser.TEMPTABLE - 523)) | (1 << (frameQLParser.THAN - 523)) | (1 << (frameQLParser.TRANSACTION - 523)) | (1 << (frameQLParser.TRUNCATE - 523)) | (1 << (frameQLParser.UNDEFINED - 523)) | (1 << (frameQLParser.UNDOFILE - 523)) | (1 << (frameQLParser.UNDO_BUFFER_SIZE - 523)) | (1 << (frameQLParser.UNKNOWN - 523)) | (1 << (frameQLParser.UPGRADE - 523)) | (1 << (frameQLParser.USER - 523)) | (1 << (frameQLParser.VALIDATION - 523)) | (1 << (frameQLParser.VALUE - 523)) | (1 << (frameQLParser.VARIABLES - 523)) | (1 << (frameQLParser.VIEW - 523)) | (1 << (frameQLParser.WAIT - 523)) | (1 << (frameQLParser.WARNINGS - 523)) | (1 << (frameQLParser.WITHOUT - 523)) | (1 << (frameQLParser.WORK - 523)) | (1 << (frameQLParser.WRAPPER - 523)) | (1 << (frameQLParser.X509 - 523)) | (1 << (frameQLParser.XA - 523)) | (1 << (frameQLParser.XML - 523)))) != 0) or _la==frameQLParser.MEMORY): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class FunctionNameBaseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ABS(self): - return self.getToken(frameQLParser.ABS, 0) - - def ACOS(self): - return self.getToken(frameQLParser.ACOS, 0) - - def ADDDATE(self): - return self.getToken(frameQLParser.ADDDATE, 0) - - def ADDTIME(self): - return self.getToken(frameQLParser.ADDTIME, 0) - - def AES_DECRYPT(self): - return self.getToken(frameQLParser.AES_DECRYPT, 0) - - def AES_ENCRYPT(self): - return self.getToken(frameQLParser.AES_ENCRYPT, 0) - - def AREA(self): - return self.getToken(frameQLParser.AREA, 0) - - def ASBINARY(self): - return self.getToken(frameQLParser.ASBINARY, 0) - - def ASIN(self): - return self.getToken(frameQLParser.ASIN, 0) - - def ASTEXT(self): - return self.getToken(frameQLParser.ASTEXT, 0) - - def ASWKB(self): - return self.getToken(frameQLParser.ASWKB, 0) - - def ASWKT(self): - return self.getToken(frameQLParser.ASWKT, 0) - - def ASYMMETRIC_DECRYPT(self): - return self.getToken(frameQLParser.ASYMMETRIC_DECRYPT, 0) - - def ASYMMETRIC_DERIVE(self): - return self.getToken(frameQLParser.ASYMMETRIC_DERIVE, 0) - - def ASYMMETRIC_ENCRYPT(self): - return self.getToken(frameQLParser.ASYMMETRIC_ENCRYPT, 0) - - def ASYMMETRIC_SIGN(self): - return self.getToken(frameQLParser.ASYMMETRIC_SIGN, 0) - - def ASYMMETRIC_VERIFY(self): - return self.getToken(frameQLParser.ASYMMETRIC_VERIFY, 0) - - def ATAN(self): - return self.getToken(frameQLParser.ATAN, 0) - - def ATAN2(self): - return self.getToken(frameQLParser.ATAN2, 0) - - def BENCHMARK(self): - return self.getToken(frameQLParser.BENCHMARK, 0) - - def BIN(self): - return self.getToken(frameQLParser.BIN, 0) - - def BIT_COUNT(self): - return self.getToken(frameQLParser.BIT_COUNT, 0) - - def BIT_LENGTH(self): - return self.getToken(frameQLParser.BIT_LENGTH, 0) - - def BUFFER(self): - return self.getToken(frameQLParser.BUFFER, 0) - - def CEIL(self): - return self.getToken(frameQLParser.CEIL, 0) - - def CEILING(self): - return self.getToken(frameQLParser.CEILING, 0) - - def CENTROID(self): - return self.getToken(frameQLParser.CENTROID, 0) - - def CHARACTER_LENGTH(self): - return self.getToken(frameQLParser.CHARACTER_LENGTH, 0) - - def CHARSET(self): - return self.getToken(frameQLParser.CHARSET, 0) - - def CHAR_LENGTH(self): - return self.getToken(frameQLParser.CHAR_LENGTH, 0) - - def COERCIBILITY(self): - return self.getToken(frameQLParser.COERCIBILITY, 0) - - def COLLATION(self): - return self.getToken(frameQLParser.COLLATION, 0) - - def COMPRESS(self): - return self.getToken(frameQLParser.COMPRESS, 0) - - def CONCAT(self): - return self.getToken(frameQLParser.CONCAT, 0) - - def CONCAT_WS(self): - return self.getToken(frameQLParser.CONCAT_WS, 0) - - def CONNECTION_ID(self): - return self.getToken(frameQLParser.CONNECTION_ID, 0) - - def CONV(self): - return self.getToken(frameQLParser.CONV, 0) - - def CONVERT_TZ(self): - return self.getToken(frameQLParser.CONVERT_TZ, 0) - - def COS(self): - return self.getToken(frameQLParser.COS, 0) - - def COT(self): - return self.getToken(frameQLParser.COT, 0) - - def COUNT(self): - return self.getToken(frameQLParser.COUNT, 0) - - def CRC32(self): - return self.getToken(frameQLParser.CRC32, 0) - - def CREATE_ASYMMETRIC_PRIV_KEY(self): - return self.getToken(frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY, 0) - - def CREATE_ASYMMETRIC_PUB_KEY(self): - return self.getToken(frameQLParser.CREATE_ASYMMETRIC_PUB_KEY, 0) - - def CREATE_DH_PARAMETERS(self): - return self.getToken(frameQLParser.CREATE_DH_PARAMETERS, 0) - - def CREATE_DIGEST(self): - return self.getToken(frameQLParser.CREATE_DIGEST, 0) - - def CROSSES(self): - return self.getToken(frameQLParser.CROSSES, 0) - - def DATABASE(self): - return self.getToken(frameQLParser.DATABASE, 0) - - def DATE(self): - return self.getToken(frameQLParser.DATE, 0) - - def DATEDIFF(self): - return self.getToken(frameQLParser.DATEDIFF, 0) - - def DATE_FORMAT(self): - return self.getToken(frameQLParser.DATE_FORMAT, 0) - - def DAY(self): - return self.getToken(frameQLParser.DAY, 0) - - def DAYNAME(self): - return self.getToken(frameQLParser.DAYNAME, 0) - - def DAYOFMONTH(self): - return self.getToken(frameQLParser.DAYOFMONTH, 0) - - def DAYOFWEEK(self): - return self.getToken(frameQLParser.DAYOFWEEK, 0) - - def DAYOFYEAR(self): - return self.getToken(frameQLParser.DAYOFYEAR, 0) - - def DECODE(self): - return self.getToken(frameQLParser.DECODE, 0) - - def DEGREES(self): - return self.getToken(frameQLParser.DEGREES, 0) - - def DES_DECRYPT(self): - return self.getToken(frameQLParser.DES_DECRYPT, 0) - - def DES_ENCRYPT(self): - return self.getToken(frameQLParser.DES_ENCRYPT, 0) - - def DIMENSION(self): - return self.getToken(frameQLParser.DIMENSION, 0) - - def DISJOINT(self): - return self.getToken(frameQLParser.DISJOINT, 0) - - def ELT(self): - return self.getToken(frameQLParser.ELT, 0) - - def ENCODE(self): - return self.getToken(frameQLParser.ENCODE, 0) - - def ENCRYPT(self): - return self.getToken(frameQLParser.ENCRYPT, 0) - - def ENDPOINT(self): - return self.getToken(frameQLParser.ENDPOINT, 0) - - def ENVELOPE(self): - return self.getToken(frameQLParser.ENVELOPE, 0) - - def EQUALS(self): - return self.getToken(frameQLParser.EQUALS, 0) - - def EXP(self): - return self.getToken(frameQLParser.EXP, 0) - - def EXPORT_SET(self): - return self.getToken(frameQLParser.EXPORT_SET, 0) - - def EXTERIORRING(self): - return self.getToken(frameQLParser.EXTERIORRING, 0) - - def EXTRACTVALUE(self): - return self.getToken(frameQLParser.EXTRACTVALUE, 0) - - def FIELD(self): - return self.getToken(frameQLParser.FIELD, 0) - - def FIND_IN_SET(self): - return self.getToken(frameQLParser.FIND_IN_SET, 0) - - def FLOOR(self): - return self.getToken(frameQLParser.FLOOR, 0) - - def FORMAT(self): - return self.getToken(frameQLParser.FORMAT, 0) - - def FOUND_ROWS(self): - return self.getToken(frameQLParser.FOUND_ROWS, 0) - - def FROM_BASE64(self): - return self.getToken(frameQLParser.FROM_BASE64, 0) - - def FROM_DAYS(self): - return self.getToken(frameQLParser.FROM_DAYS, 0) - - def FROM_UNIXTIME(self): - return self.getToken(frameQLParser.FROM_UNIXTIME, 0) - - def GEOMCOLLFROMTEXT(self): - return self.getToken(frameQLParser.GEOMCOLLFROMTEXT, 0) - - def GEOMCOLLFROMWKB(self): - return self.getToken(frameQLParser.GEOMCOLLFROMWKB, 0) - - def GEOMETRYCOLLECTION(self): - return self.getToken(frameQLParser.GEOMETRYCOLLECTION, 0) - - def GEOMETRYCOLLECTIONFROMTEXT(self): - return self.getToken(frameQLParser.GEOMETRYCOLLECTIONFROMTEXT, 0) - - def GEOMETRYCOLLECTIONFROMWKB(self): - return self.getToken(frameQLParser.GEOMETRYCOLLECTIONFROMWKB, 0) - - def GEOMETRYFROMTEXT(self): - return self.getToken(frameQLParser.GEOMETRYFROMTEXT, 0) - - def GEOMETRYFROMWKB(self): - return self.getToken(frameQLParser.GEOMETRYFROMWKB, 0) - - def GEOMETRYN(self): - return self.getToken(frameQLParser.GEOMETRYN, 0) - - def GEOMETRYTYPE(self): - return self.getToken(frameQLParser.GEOMETRYTYPE, 0) - - def GEOMFROMTEXT(self): - return self.getToken(frameQLParser.GEOMFROMTEXT, 0) - - def GEOMFROMWKB(self): - return self.getToken(frameQLParser.GEOMFROMWKB, 0) - - def GET_FORMAT(self): - return self.getToken(frameQLParser.GET_FORMAT, 0) - - def GET_LOCK(self): - return self.getToken(frameQLParser.GET_LOCK, 0) - - def GLENGTH(self): - return self.getToken(frameQLParser.GLENGTH, 0) - - def GREATEST(self): - return self.getToken(frameQLParser.GREATEST, 0) - - def GTID_SUBSET(self): - return self.getToken(frameQLParser.GTID_SUBSET, 0) - - def GTID_SUBTRACT(self): - return self.getToken(frameQLParser.GTID_SUBTRACT, 0) - - def HEX(self): - return self.getToken(frameQLParser.HEX, 0) - - def HOUR(self): - return self.getToken(frameQLParser.HOUR, 0) - - def IFNULL(self): - return self.getToken(frameQLParser.IFNULL, 0) - - def INET6_ATON(self): - return self.getToken(frameQLParser.INET6_ATON, 0) - - def INET6_NTOA(self): - return self.getToken(frameQLParser.INET6_NTOA, 0) - - def INET_ATON(self): - return self.getToken(frameQLParser.INET_ATON, 0) - - def INET_NTOA(self): - return self.getToken(frameQLParser.INET_NTOA, 0) - - def INSTR(self): - return self.getToken(frameQLParser.INSTR, 0) - - def INTERIORRINGN(self): - return self.getToken(frameQLParser.INTERIORRINGN, 0) - - def INTERSECTS(self): - return self.getToken(frameQLParser.INTERSECTS, 0) - - def ISCLOSED(self): - return self.getToken(frameQLParser.ISCLOSED, 0) - - def ISEMPTY(self): - return self.getToken(frameQLParser.ISEMPTY, 0) - - def ISNULL(self): - return self.getToken(frameQLParser.ISNULL, 0) - - def ISSIMPLE(self): - return self.getToken(frameQLParser.ISSIMPLE, 0) - - def IS_FREE_LOCK(self): - return self.getToken(frameQLParser.IS_FREE_LOCK, 0) - - def IS_IPV4(self): - return self.getToken(frameQLParser.IS_IPV4, 0) - - def IS_IPV4_COMPAT(self): - return self.getToken(frameQLParser.IS_IPV4_COMPAT, 0) - - def IS_IPV4_MAPPED(self): - return self.getToken(frameQLParser.IS_IPV4_MAPPED, 0) - - def IS_IPV6(self): - return self.getToken(frameQLParser.IS_IPV6, 0) - - def IS_USED_LOCK(self): - return self.getToken(frameQLParser.IS_USED_LOCK, 0) - - def LAST_INSERT_ID(self): - return self.getToken(frameQLParser.LAST_INSERT_ID, 0) - - def LCASE(self): - return self.getToken(frameQLParser.LCASE, 0) - - def LEAST(self): - return self.getToken(frameQLParser.LEAST, 0) - - def LEFT(self): - return self.getToken(frameQLParser.LEFT, 0) - - def LENGTH(self): - return self.getToken(frameQLParser.LENGTH, 0) - - def LINEFROMTEXT(self): - return self.getToken(frameQLParser.LINEFROMTEXT, 0) - - def LINEFROMWKB(self): - return self.getToken(frameQLParser.LINEFROMWKB, 0) - - def LINESTRING(self): - return self.getToken(frameQLParser.LINESTRING, 0) - - def LINESTRINGFROMTEXT(self): - return self.getToken(frameQLParser.LINESTRINGFROMTEXT, 0) - - def LINESTRINGFROMWKB(self): - return self.getToken(frameQLParser.LINESTRINGFROMWKB, 0) - - def LN(self): - return self.getToken(frameQLParser.LN, 0) - - def LOAD_FILE(self): - return self.getToken(frameQLParser.LOAD_FILE, 0) - - def LOCATE(self): - return self.getToken(frameQLParser.LOCATE, 0) - - def LOG(self): - return self.getToken(frameQLParser.LOG, 0) - - def LOG10(self): - return self.getToken(frameQLParser.LOG10, 0) - - def LOG2(self): - return self.getToken(frameQLParser.LOG2, 0) - - def LOWER(self): - return self.getToken(frameQLParser.LOWER, 0) - - def LPAD(self): - return self.getToken(frameQLParser.LPAD, 0) - - def LTRIM(self): - return self.getToken(frameQLParser.LTRIM, 0) - - def MAKEDATE(self): - return self.getToken(frameQLParser.MAKEDATE, 0) - - def MAKETIME(self): - return self.getToken(frameQLParser.MAKETIME, 0) - - def MAKE_SET(self): - return self.getToken(frameQLParser.MAKE_SET, 0) - - def MASTER_POS_WAIT(self): - return self.getToken(frameQLParser.MASTER_POS_WAIT, 0) - - def MBRCONTAINS(self): - return self.getToken(frameQLParser.MBRCONTAINS, 0) - - def MBRDISJOINT(self): - return self.getToken(frameQLParser.MBRDISJOINT, 0) - - def MBREQUAL(self): - return self.getToken(frameQLParser.MBREQUAL, 0) - - def MBRINTERSECTS(self): - return self.getToken(frameQLParser.MBRINTERSECTS, 0) - - def MBROVERLAPS(self): - return self.getToken(frameQLParser.MBROVERLAPS, 0) - - def MBRTOUCHES(self): - return self.getToken(frameQLParser.MBRTOUCHES, 0) - - def MBRWITHIN(self): - return self.getToken(frameQLParser.MBRWITHIN, 0) - - def MD5(self): - return self.getToken(frameQLParser.MD5, 0) - - def MICROSECOND(self): - return self.getToken(frameQLParser.MICROSECOND, 0) - - def MINUTE(self): - return self.getToken(frameQLParser.MINUTE, 0) - - def MLINEFROMTEXT(self): - return self.getToken(frameQLParser.MLINEFROMTEXT, 0) - - def MLINEFROMWKB(self): - return self.getToken(frameQLParser.MLINEFROMWKB, 0) - - def MONTH(self): - return self.getToken(frameQLParser.MONTH, 0) - - def MONTHNAME(self): - return self.getToken(frameQLParser.MONTHNAME, 0) - - def MPOINTFROMTEXT(self): - return self.getToken(frameQLParser.MPOINTFROMTEXT, 0) - - def MPOINTFROMWKB(self): - return self.getToken(frameQLParser.MPOINTFROMWKB, 0) - - def MPOLYFROMTEXT(self): - return self.getToken(frameQLParser.MPOLYFROMTEXT, 0) - - def MPOLYFROMWKB(self): - return self.getToken(frameQLParser.MPOLYFROMWKB, 0) - - def MULTILINESTRING(self): - return self.getToken(frameQLParser.MULTILINESTRING, 0) - - def MULTILINESTRINGFROMTEXT(self): - return self.getToken(frameQLParser.MULTILINESTRINGFROMTEXT, 0) - - def MULTILINESTRINGFROMWKB(self): - return self.getToken(frameQLParser.MULTILINESTRINGFROMWKB, 0) - - def MULTIPOINT(self): - return self.getToken(frameQLParser.MULTIPOINT, 0) - - def MULTIPOINTFROMTEXT(self): - return self.getToken(frameQLParser.MULTIPOINTFROMTEXT, 0) - - def MULTIPOINTFROMWKB(self): - return self.getToken(frameQLParser.MULTIPOINTFROMWKB, 0) - - def MULTIPOLYGON(self): - return self.getToken(frameQLParser.MULTIPOLYGON, 0) - - def MULTIPOLYGONFROMTEXT(self): - return self.getToken(frameQLParser.MULTIPOLYGONFROMTEXT, 0) - - def MULTIPOLYGONFROMWKB(self): - return self.getToken(frameQLParser.MULTIPOLYGONFROMWKB, 0) - - def NAME_CONST(self): - return self.getToken(frameQLParser.NAME_CONST, 0) - - def NULLIF(self): - return self.getToken(frameQLParser.NULLIF, 0) - - def NUMGEOMETRIES(self): - return self.getToken(frameQLParser.NUMGEOMETRIES, 0) - - def NUMINTERIORRINGS(self): - return self.getToken(frameQLParser.NUMINTERIORRINGS, 0) - - def NUMPOINTS(self): - return self.getToken(frameQLParser.NUMPOINTS, 0) - - def OCT(self): - return self.getToken(frameQLParser.OCT, 0) - - def OCTET_LENGTH(self): - return self.getToken(frameQLParser.OCTET_LENGTH, 0) - - def ORD(self): - return self.getToken(frameQLParser.ORD, 0) - - def OVERLAPS(self): - return self.getToken(frameQLParser.OVERLAPS, 0) - - def PERIOD_ADD(self): - return self.getToken(frameQLParser.PERIOD_ADD, 0) - - def PERIOD_DIFF(self): - return self.getToken(frameQLParser.PERIOD_DIFF, 0) - - def PI(self): - return self.getToken(frameQLParser.PI, 0) - - def POINT(self): - return self.getToken(frameQLParser.POINT, 0) - - def POINTFROMTEXT(self): - return self.getToken(frameQLParser.POINTFROMTEXT, 0) - - def POINTFROMWKB(self): - return self.getToken(frameQLParser.POINTFROMWKB, 0) - - def POINTN(self): - return self.getToken(frameQLParser.POINTN, 0) - - def POLYFROMTEXT(self): - return self.getToken(frameQLParser.POLYFROMTEXT, 0) - - def POLYFROMWKB(self): - return self.getToken(frameQLParser.POLYFROMWKB, 0) - - def POLYGON(self): - return self.getToken(frameQLParser.POLYGON, 0) - - def POLYGONFROMTEXT(self): - return self.getToken(frameQLParser.POLYGONFROMTEXT, 0) - - def POLYGONFROMWKB(self): - return self.getToken(frameQLParser.POLYGONFROMWKB, 0) - - def POSITION(self): - return self.getToken(frameQLParser.POSITION, 0) - - def POW(self): - return self.getToken(frameQLParser.POW, 0) - - def POWER(self): - return self.getToken(frameQLParser.POWER, 0) - - def QUARTER(self): - return self.getToken(frameQLParser.QUARTER, 0) - - def QUOTE(self): - return self.getToken(frameQLParser.QUOTE, 0) - - def RADIANS(self): - return self.getToken(frameQLParser.RADIANS, 0) - - def RAND(self): - return self.getToken(frameQLParser.RAND, 0) - - def RANDOM_BYTES(self): - return self.getToken(frameQLParser.RANDOM_BYTES, 0) - - def RELEASE_LOCK(self): - return self.getToken(frameQLParser.RELEASE_LOCK, 0) - - def REVERSE(self): - return self.getToken(frameQLParser.REVERSE, 0) - - def RIGHT(self): - return self.getToken(frameQLParser.RIGHT, 0) - - def ROUND(self): - return self.getToken(frameQLParser.ROUND, 0) - - def ROW_COUNT(self): - return self.getToken(frameQLParser.ROW_COUNT, 0) - - def RPAD(self): - return self.getToken(frameQLParser.RPAD, 0) - - def RTRIM(self): - return self.getToken(frameQLParser.RTRIM, 0) - - def SECOND(self): - return self.getToken(frameQLParser.SECOND, 0) - - def SEC_TO_TIME(self): - return self.getToken(frameQLParser.SEC_TO_TIME, 0) - - def SESSION_USER(self): - return self.getToken(frameQLParser.SESSION_USER, 0) - - def SHA(self): - return self.getToken(frameQLParser.SHA, 0) - - def SHA1(self): - return self.getToken(frameQLParser.SHA1, 0) - - def SHA2(self): - return self.getToken(frameQLParser.SHA2, 0) - - def SIGN(self): - return self.getToken(frameQLParser.SIGN, 0) - - def SIN(self): - return self.getToken(frameQLParser.SIN, 0) - - def SLEEP(self): - return self.getToken(frameQLParser.SLEEP, 0) - - def SOUNDEX(self): - return self.getToken(frameQLParser.SOUNDEX, 0) - - def SQL_THREAD_WAIT_AFTER_GTIDS(self): - return self.getToken(frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS, 0) - - def SQRT(self): - return self.getToken(frameQLParser.SQRT, 0) - - def SRID(self): - return self.getToken(frameQLParser.SRID, 0) - - def STARTPOINT(self): - return self.getToken(frameQLParser.STARTPOINT, 0) - - def STRCMP(self): - return self.getToken(frameQLParser.STRCMP, 0) - - def STR_TO_DATE(self): - return self.getToken(frameQLParser.STR_TO_DATE, 0) - - def ST_AREA(self): - return self.getToken(frameQLParser.ST_AREA, 0) - - def ST_ASBINARY(self): - return self.getToken(frameQLParser.ST_ASBINARY, 0) - - def ST_ASTEXT(self): - return self.getToken(frameQLParser.ST_ASTEXT, 0) - - def ST_ASWKB(self): - return self.getToken(frameQLParser.ST_ASWKB, 0) - - def ST_ASWKT(self): - return self.getToken(frameQLParser.ST_ASWKT, 0) - - def ST_BUFFER(self): - return self.getToken(frameQLParser.ST_BUFFER, 0) - - def ST_CENTROID(self): - return self.getToken(frameQLParser.ST_CENTROID, 0) - - def ST_CONTAINS(self): - return self.getToken(frameQLParser.ST_CONTAINS, 0) - - def ST_CROSSES(self): - return self.getToken(frameQLParser.ST_CROSSES, 0) - - def ST_DIFFERENCE(self): - return self.getToken(frameQLParser.ST_DIFFERENCE, 0) - - def ST_DIMENSION(self): - return self.getToken(frameQLParser.ST_DIMENSION, 0) - - def ST_DISJOINT(self): - return self.getToken(frameQLParser.ST_DISJOINT, 0) - - def ST_DISTANCE(self): - return self.getToken(frameQLParser.ST_DISTANCE, 0) - - def ST_ENDPOINT(self): - return self.getToken(frameQLParser.ST_ENDPOINT, 0) - - def ST_ENVELOPE(self): - return self.getToken(frameQLParser.ST_ENVELOPE, 0) - - def ST_EQUALS(self): - return self.getToken(frameQLParser.ST_EQUALS, 0) - - def ST_EXTERIORRING(self): - return self.getToken(frameQLParser.ST_EXTERIORRING, 0) - - def ST_GEOMCOLLFROMTEXT(self): - return self.getToken(frameQLParser.ST_GEOMCOLLFROMTEXT, 0) - - def ST_GEOMCOLLFROMTXT(self): - return self.getToken(frameQLParser.ST_GEOMCOLLFROMTXT, 0) - - def ST_GEOMCOLLFROMWKB(self): - return self.getToken(frameQLParser.ST_GEOMCOLLFROMWKB, 0) - - def ST_GEOMETRYCOLLECTIONFROMTEXT(self): - return self.getToken(frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT, 0) - - def ST_GEOMETRYCOLLECTIONFROMWKB(self): - return self.getToken(frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB, 0) - - def ST_GEOMETRYFROMTEXT(self): - return self.getToken(frameQLParser.ST_GEOMETRYFROMTEXT, 0) - - def ST_GEOMETRYFROMWKB(self): - return self.getToken(frameQLParser.ST_GEOMETRYFROMWKB, 0) - - def ST_GEOMETRYN(self): - return self.getToken(frameQLParser.ST_GEOMETRYN, 0) - - def ST_GEOMETRYTYPE(self): - return self.getToken(frameQLParser.ST_GEOMETRYTYPE, 0) - - def ST_GEOMFROMTEXT(self): - return self.getToken(frameQLParser.ST_GEOMFROMTEXT, 0) - - def ST_GEOMFROMWKB(self): - return self.getToken(frameQLParser.ST_GEOMFROMWKB, 0) - - def ST_INTERIORRINGN(self): - return self.getToken(frameQLParser.ST_INTERIORRINGN, 0) - - def ST_INTERSECTION(self): - return self.getToken(frameQLParser.ST_INTERSECTION, 0) - - def ST_INTERSECTS(self): - return self.getToken(frameQLParser.ST_INTERSECTS, 0) - - def ST_ISCLOSED(self): - return self.getToken(frameQLParser.ST_ISCLOSED, 0) - - def ST_ISEMPTY(self): - return self.getToken(frameQLParser.ST_ISEMPTY, 0) - - def ST_ISSIMPLE(self): - return self.getToken(frameQLParser.ST_ISSIMPLE, 0) - - def ST_LINEFROMTEXT(self): - return self.getToken(frameQLParser.ST_LINEFROMTEXT, 0) - - def ST_LINEFROMWKB(self): - return self.getToken(frameQLParser.ST_LINEFROMWKB, 0) - - def ST_LINESTRINGFROMTEXT(self): - return self.getToken(frameQLParser.ST_LINESTRINGFROMTEXT, 0) - - def ST_LINESTRINGFROMWKB(self): - return self.getToken(frameQLParser.ST_LINESTRINGFROMWKB, 0) - - def ST_NUMGEOMETRIES(self): - return self.getToken(frameQLParser.ST_NUMGEOMETRIES, 0) - - def ST_NUMINTERIORRING(self): - return self.getToken(frameQLParser.ST_NUMINTERIORRING, 0) - - def ST_NUMINTERIORRINGS(self): - return self.getToken(frameQLParser.ST_NUMINTERIORRINGS, 0) - - def ST_NUMPOINTS(self): - return self.getToken(frameQLParser.ST_NUMPOINTS, 0) - - def ST_OVERLAPS(self): - return self.getToken(frameQLParser.ST_OVERLAPS, 0) - - def ST_POINTFROMTEXT(self): - return self.getToken(frameQLParser.ST_POINTFROMTEXT, 0) - - def ST_POINTFROMWKB(self): - return self.getToken(frameQLParser.ST_POINTFROMWKB, 0) - - def ST_POINTN(self): - return self.getToken(frameQLParser.ST_POINTN, 0) - - def ST_POLYFROMTEXT(self): - return self.getToken(frameQLParser.ST_POLYFROMTEXT, 0) - - def ST_POLYFROMWKB(self): - return self.getToken(frameQLParser.ST_POLYFROMWKB, 0) - - def ST_POLYGONFROMTEXT(self): - return self.getToken(frameQLParser.ST_POLYGONFROMTEXT, 0) - - def ST_POLYGONFROMWKB(self): - return self.getToken(frameQLParser.ST_POLYGONFROMWKB, 0) - - def ST_SRID(self): - return self.getToken(frameQLParser.ST_SRID, 0) - - def ST_STARTPOINT(self): - return self.getToken(frameQLParser.ST_STARTPOINT, 0) - - def ST_SYMDIFFERENCE(self): - return self.getToken(frameQLParser.ST_SYMDIFFERENCE, 0) - - def ST_TOUCHES(self): - return self.getToken(frameQLParser.ST_TOUCHES, 0) - - def ST_UNION(self): - return self.getToken(frameQLParser.ST_UNION, 0) - - def ST_WITHIN(self): - return self.getToken(frameQLParser.ST_WITHIN, 0) - - def ST_X(self): - return self.getToken(frameQLParser.ST_X, 0) - - def ST_Y(self): - return self.getToken(frameQLParser.ST_Y, 0) - - def SUBDATE(self): - return self.getToken(frameQLParser.SUBDATE, 0) - - def SUBSTRING_INDEX(self): - return self.getToken(frameQLParser.SUBSTRING_INDEX, 0) - - def SUBTIME(self): - return self.getToken(frameQLParser.SUBTIME, 0) - - def SYSTEM_USER(self): - return self.getToken(frameQLParser.SYSTEM_USER, 0) - - def TAN(self): - return self.getToken(frameQLParser.TAN, 0) - - def TIME(self): - return self.getToken(frameQLParser.TIME, 0) - - def TIMEDIFF(self): - return self.getToken(frameQLParser.TIMEDIFF, 0) - - def TIMESTAMP(self): - return self.getToken(frameQLParser.TIMESTAMP, 0) - - def TIMESTAMPADD(self): - return self.getToken(frameQLParser.TIMESTAMPADD, 0) - - def TIMESTAMPDIFF(self): - return self.getToken(frameQLParser.TIMESTAMPDIFF, 0) - - def TIME_FORMAT(self): - return self.getToken(frameQLParser.TIME_FORMAT, 0) - - def TIME_TO_SEC(self): - return self.getToken(frameQLParser.TIME_TO_SEC, 0) - - def TOUCHES(self): - return self.getToken(frameQLParser.TOUCHES, 0) - - def TO_BASE64(self): - return self.getToken(frameQLParser.TO_BASE64, 0) - - def TO_DAYS(self): - return self.getToken(frameQLParser.TO_DAYS, 0) - - def TO_SECONDS(self): - return self.getToken(frameQLParser.TO_SECONDS, 0) - - def UCASE(self): - return self.getToken(frameQLParser.UCASE, 0) - - def UNCOMPRESS(self): - return self.getToken(frameQLParser.UNCOMPRESS, 0) - - def UNCOMPRESSED_LENGTH(self): - return self.getToken(frameQLParser.UNCOMPRESSED_LENGTH, 0) - - def UNHEX(self): - return self.getToken(frameQLParser.UNHEX, 0) - - def UNIX_TIMESTAMP(self): - return self.getToken(frameQLParser.UNIX_TIMESTAMP, 0) - - def UPDATEXML(self): - return self.getToken(frameQLParser.UPDATEXML, 0) - - def UPPER(self): - return self.getToken(frameQLParser.UPPER, 0) - - def UUID(self): - return self.getToken(frameQLParser.UUID, 0) - - def UUID_SHORT(self): - return self.getToken(frameQLParser.UUID_SHORT, 0) - - def VALIDATE_PASSWORD_STRENGTH(self): - return self.getToken(frameQLParser.VALIDATE_PASSWORD_STRENGTH, 0) - - def VERSION(self): - return self.getToken(frameQLParser.VERSION, 0) - - def WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS(self): - return self.getToken(frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, 0) - - def WEEK(self): - return self.getToken(frameQLParser.WEEK, 0) - - def WEEKDAY(self): - return self.getToken(frameQLParser.WEEKDAY, 0) - - def WEEKOFYEAR(self): - return self.getToken(frameQLParser.WEEKOFYEAR, 0) - - def WEIGHT_STRING(self): - return self.getToken(frameQLParser.WEIGHT_STRING, 0) - - def WITHIN(self): - return self.getToken(frameQLParser.WITHIN, 0) - - def YEAR(self): - return self.getToken(frameQLParser.YEAR, 0) - - def YEARWEEK(self): - return self.getToken(frameQLParser.YEARWEEK, 0) - - def Y_FUNCTION(self): - return self.getToken(frameQLParser.Y_FUNCTION, 0) - - def X_FUNCTION(self): - return self.getToken(frameQLParser.X_FUNCTION, 0) - - def getRuleIndex(self): - return frameQLParser.RULE_functionNameBase - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFunctionNameBase" ): - listener.enterFunctionNameBase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFunctionNameBase" ): - listener.exitFunctionNameBase(self) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitFunctionNameBase" ): - return visitor.visitFunctionNameBase(self) - else: - return visitor.visitChildren(self) - - - - - def functionNameBase(self): - - localctx = frameQLParser.FunctionNameBaseContext(self, self._ctx, self.state) - self.enterRule(localctx, 618, self.RULE_functionNameBase) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 6091 - _la = self._input.LA(1) - if not(_la==frameQLParser.DATABASE or _la==frameQLParser.LEFT or _la==frameQLParser.RIGHT or ((((_la - 184)) & ~0x3f) == 0 and ((1 << (_la - 184)) & ((1 << (frameQLParser.DATE - 184)) | (1 << (frameQLParser.TIME - 184)) | (1 << (frameQLParser.TIMESTAMP - 184)) | (1 << (frameQLParser.YEAR - 184)) | (1 << (frameQLParser.COUNT - 184)) | (1 << (frameQLParser.POSITION - 184)))) != 0) or ((((_la - 558)) & ~0x3f) == 0 and ((1 << (_la - 558)) & ((1 << (frameQLParser.QUARTER - 558)) | (1 << (frameQLParser.MONTH - 558)) | (1 << (frameQLParser.DAY - 558)) | (1 << (frameQLParser.HOUR - 558)) | (1 << (frameQLParser.MINUTE - 558)) | (1 << (frameQLParser.WEEK - 558)) | (1 << (frameQLParser.SECOND - 558)) | (1 << (frameQLParser.MICROSECOND - 558)))) != 0) or ((((_la - 630)) & ~0x3f) == 0 and ((1 << (_la - 630)) & ((1 << (frameQLParser.GEOMETRYCOLLECTION - 630)) | (1 << (frameQLParser.LINESTRING - 630)) | (1 << (frameQLParser.MULTILINESTRING - 630)) | (1 << (frameQLParser.MULTIPOINT - 630)) | (1 << (frameQLParser.MULTIPOLYGON - 630)) | (1 << (frameQLParser.POINT - 630)) | (1 << (frameQLParser.POLYGON - 630)) | (1 << (frameQLParser.ABS - 630)) | (1 << (frameQLParser.ACOS - 630)) | (1 << (frameQLParser.ADDDATE - 630)) | (1 << (frameQLParser.ADDTIME - 630)) | (1 << (frameQLParser.AES_DECRYPT - 630)) | (1 << (frameQLParser.AES_ENCRYPT - 630)) | (1 << (frameQLParser.AREA - 630)) | (1 << (frameQLParser.ASBINARY - 630)) | (1 << (frameQLParser.ASIN - 630)) | (1 << (frameQLParser.ASTEXT - 630)) | (1 << (frameQLParser.ASWKB - 630)) | (1 << (frameQLParser.ASWKT - 630)) | (1 << (frameQLParser.ASYMMETRIC_DECRYPT - 630)) | (1 << (frameQLParser.ASYMMETRIC_DERIVE - 630)) | (1 << (frameQLParser.ASYMMETRIC_ENCRYPT - 630)) | (1 << (frameQLParser.ASYMMETRIC_SIGN - 630)) | (1 << (frameQLParser.ASYMMETRIC_VERIFY - 630)) | (1 << (frameQLParser.ATAN - 630)) | (1 << (frameQLParser.ATAN2 - 630)) | (1 << (frameQLParser.BENCHMARK - 630)) | (1 << (frameQLParser.BIN - 630)) | (1 << (frameQLParser.BIT_COUNT - 630)) | (1 << (frameQLParser.BIT_LENGTH - 630)) | (1 << (frameQLParser.BUFFER - 630)) | (1 << (frameQLParser.CEIL - 630)) | (1 << (frameQLParser.CEILING - 630)) | (1 << (frameQLParser.CENTROID - 630)) | (1 << (frameQLParser.CHARACTER_LENGTH - 630)) | (1 << (frameQLParser.CHARSET - 630)) | (1 << (frameQLParser.CHAR_LENGTH - 630)) | (1 << (frameQLParser.COERCIBILITY - 630)) | (1 << (frameQLParser.COLLATION - 630)) | (1 << (frameQLParser.COMPRESS - 630)) | (1 << (frameQLParser.CONCAT - 630)) | (1 << (frameQLParser.CONCAT_WS - 630)) | (1 << (frameQLParser.CONNECTION_ID - 630)) | (1 << (frameQLParser.CONV - 630)) | (1 << (frameQLParser.CONVERT_TZ - 630)) | (1 << (frameQLParser.COS - 630)) | (1 << (frameQLParser.COT - 630)) | (1 << (frameQLParser.CRC32 - 630)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PRIV_KEY - 630)) | (1 << (frameQLParser.CREATE_ASYMMETRIC_PUB_KEY - 630)) | (1 << (frameQLParser.CREATE_DH_PARAMETERS - 630)) | (1 << (frameQLParser.CREATE_DIGEST - 630)) | (1 << (frameQLParser.CROSSES - 630)) | (1 << (frameQLParser.DATEDIFF - 630)) | (1 << (frameQLParser.DATE_FORMAT - 630)) | (1 << (frameQLParser.DAYNAME - 630)) | (1 << (frameQLParser.DAYOFMONTH - 630)) | (1 << (frameQLParser.DAYOFWEEK - 630)) | (1 << (frameQLParser.DAYOFYEAR - 630)) | (1 << (frameQLParser.DECODE - 630)) | (1 << (frameQLParser.DEGREES - 630)) | (1 << (frameQLParser.DES_DECRYPT - 630)) | (1 << (frameQLParser.DES_ENCRYPT - 630)) | (1 << (frameQLParser.DIMENSION - 630)))) != 0) or ((((_la - 694)) & ~0x3f) == 0 and ((1 << (_la - 694)) & ((1 << (frameQLParser.DISJOINT - 694)) | (1 << (frameQLParser.ELT - 694)) | (1 << (frameQLParser.ENCODE - 694)) | (1 << (frameQLParser.ENCRYPT - 694)) | (1 << (frameQLParser.ENDPOINT - 694)) | (1 << (frameQLParser.ENVELOPE - 694)) | (1 << (frameQLParser.EQUALS - 694)) | (1 << (frameQLParser.EXP - 694)) | (1 << (frameQLParser.EXPORT_SET - 694)) | (1 << (frameQLParser.EXTERIORRING - 694)) | (1 << (frameQLParser.EXTRACTVALUE - 694)) | (1 << (frameQLParser.FIELD - 694)) | (1 << (frameQLParser.FIND_IN_SET - 694)) | (1 << (frameQLParser.FLOOR - 694)) | (1 << (frameQLParser.FORMAT - 694)) | (1 << (frameQLParser.FOUND_ROWS - 694)) | (1 << (frameQLParser.FROM_BASE64 - 694)) | (1 << (frameQLParser.FROM_DAYS - 694)) | (1 << (frameQLParser.FROM_UNIXTIME - 694)) | (1 << (frameQLParser.GEOMCOLLFROMTEXT - 694)) | (1 << (frameQLParser.GEOMCOLLFROMWKB - 694)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMTEXT - 694)) | (1 << (frameQLParser.GEOMETRYCOLLECTIONFROMWKB - 694)) | (1 << (frameQLParser.GEOMETRYFROMTEXT - 694)) | (1 << (frameQLParser.GEOMETRYFROMWKB - 694)) | (1 << (frameQLParser.GEOMETRYN - 694)) | (1 << (frameQLParser.GEOMETRYTYPE - 694)) | (1 << (frameQLParser.GEOMFROMTEXT - 694)) | (1 << (frameQLParser.GEOMFROMWKB - 694)) | (1 << (frameQLParser.GET_FORMAT - 694)) | (1 << (frameQLParser.GET_LOCK - 694)) | (1 << (frameQLParser.GLENGTH - 694)) | (1 << (frameQLParser.GREATEST - 694)) | (1 << (frameQLParser.GTID_SUBSET - 694)) | (1 << (frameQLParser.GTID_SUBTRACT - 694)) | (1 << (frameQLParser.HEX - 694)) | (1 << (frameQLParser.IFNULL - 694)) | (1 << (frameQLParser.INET6_ATON - 694)) | (1 << (frameQLParser.INET6_NTOA - 694)) | (1 << (frameQLParser.INET_ATON - 694)) | (1 << (frameQLParser.INET_NTOA - 694)) | (1 << (frameQLParser.INSTR - 694)) | (1 << (frameQLParser.INTERIORRINGN - 694)) | (1 << (frameQLParser.INTERSECTS - 694)) | (1 << (frameQLParser.ISCLOSED - 694)) | (1 << (frameQLParser.ISEMPTY - 694)) | (1 << (frameQLParser.ISNULL - 694)) | (1 << (frameQLParser.ISSIMPLE - 694)) | (1 << (frameQLParser.IS_FREE_LOCK - 694)) | (1 << (frameQLParser.IS_IPV4 - 694)) | (1 << (frameQLParser.IS_IPV4_COMPAT - 694)) | (1 << (frameQLParser.IS_IPV4_MAPPED - 694)) | (1 << (frameQLParser.IS_IPV6 - 694)) | (1 << (frameQLParser.IS_USED_LOCK - 694)) | (1 << (frameQLParser.LAST_INSERT_ID - 694)) | (1 << (frameQLParser.LCASE - 694)) | (1 << (frameQLParser.LEAST - 694)) | (1 << (frameQLParser.LENGTH - 694)) | (1 << (frameQLParser.LINEFROMTEXT - 694)) | (1 << (frameQLParser.LINEFROMWKB - 694)) | (1 << (frameQLParser.LINESTRINGFROMTEXT - 694)) | (1 << (frameQLParser.LINESTRINGFROMWKB - 694)) | (1 << (frameQLParser.LN - 694)) | (1 << (frameQLParser.LOAD_FILE - 694)))) != 0) or ((((_la - 758)) & ~0x3f) == 0 and ((1 << (_la - 758)) & ((1 << (frameQLParser.LOCATE - 758)) | (1 << (frameQLParser.LOG - 758)) | (1 << (frameQLParser.LOG10 - 758)) | (1 << (frameQLParser.LOG2 - 758)) | (1 << (frameQLParser.LOWER - 758)) | (1 << (frameQLParser.LPAD - 758)) | (1 << (frameQLParser.LTRIM - 758)) | (1 << (frameQLParser.MAKEDATE - 758)) | (1 << (frameQLParser.MAKETIME - 758)) | (1 << (frameQLParser.MAKE_SET - 758)) | (1 << (frameQLParser.MASTER_POS_WAIT - 758)) | (1 << (frameQLParser.MBRCONTAINS - 758)) | (1 << (frameQLParser.MBRDISJOINT - 758)) | (1 << (frameQLParser.MBREQUAL - 758)) | (1 << (frameQLParser.MBRINTERSECTS - 758)) | (1 << (frameQLParser.MBROVERLAPS - 758)) | (1 << (frameQLParser.MBRTOUCHES - 758)) | (1 << (frameQLParser.MBRWITHIN - 758)) | (1 << (frameQLParser.MD5 - 758)) | (1 << (frameQLParser.MLINEFROMTEXT - 758)) | (1 << (frameQLParser.MLINEFROMWKB - 758)) | (1 << (frameQLParser.MONTHNAME - 758)) | (1 << (frameQLParser.MPOINTFROMTEXT - 758)) | (1 << (frameQLParser.MPOINTFROMWKB - 758)) | (1 << (frameQLParser.MPOLYFROMTEXT - 758)) | (1 << (frameQLParser.MPOLYFROMWKB - 758)) | (1 << (frameQLParser.MULTILINESTRINGFROMTEXT - 758)) | (1 << (frameQLParser.MULTILINESTRINGFROMWKB - 758)) | (1 << (frameQLParser.MULTIPOINTFROMTEXT - 758)) | (1 << (frameQLParser.MULTIPOINTFROMWKB - 758)) | (1 << (frameQLParser.MULTIPOLYGONFROMTEXT - 758)) | (1 << (frameQLParser.MULTIPOLYGONFROMWKB - 758)) | (1 << (frameQLParser.NAME_CONST - 758)) | (1 << (frameQLParser.NULLIF - 758)) | (1 << (frameQLParser.NUMGEOMETRIES - 758)) | (1 << (frameQLParser.NUMINTERIORRINGS - 758)) | (1 << (frameQLParser.NUMPOINTS - 758)) | (1 << (frameQLParser.OCT - 758)) | (1 << (frameQLParser.OCTET_LENGTH - 758)) | (1 << (frameQLParser.ORD - 758)) | (1 << (frameQLParser.OVERLAPS - 758)) | (1 << (frameQLParser.PERIOD_ADD - 758)) | (1 << (frameQLParser.PERIOD_DIFF - 758)) | (1 << (frameQLParser.PI - 758)) | (1 << (frameQLParser.POINTFROMTEXT - 758)) | (1 << (frameQLParser.POINTFROMWKB - 758)) | (1 << (frameQLParser.POINTN - 758)) | (1 << (frameQLParser.POLYFROMTEXT - 758)) | (1 << (frameQLParser.POLYFROMWKB - 758)) | (1 << (frameQLParser.POLYGONFROMTEXT - 758)) | (1 << (frameQLParser.POLYGONFROMWKB - 758)) | (1 << (frameQLParser.POW - 758)) | (1 << (frameQLParser.POWER - 758)) | (1 << (frameQLParser.QUOTE - 758)) | (1 << (frameQLParser.RADIANS - 758)) | (1 << (frameQLParser.RAND - 758)) | (1 << (frameQLParser.RANDOM_BYTES - 758)) | (1 << (frameQLParser.RELEASE_LOCK - 758)) | (1 << (frameQLParser.REVERSE - 758)) | (1 << (frameQLParser.ROUND - 758)) | (1 << (frameQLParser.ROW_COUNT - 758)) | (1 << (frameQLParser.RPAD - 758)) | (1 << (frameQLParser.RTRIM - 758)) | (1 << (frameQLParser.SEC_TO_TIME - 758)))) != 0) or ((((_la - 822)) & ~0x3f) == 0 and ((1 << (_la - 822)) & ((1 << (frameQLParser.SESSION_USER - 822)) | (1 << (frameQLParser.SHA - 822)) | (1 << (frameQLParser.SHA1 - 822)) | (1 << (frameQLParser.SHA2 - 822)) | (1 << (frameQLParser.SIGN - 822)) | (1 << (frameQLParser.SIN - 822)) | (1 << (frameQLParser.SLEEP - 822)) | (1 << (frameQLParser.SOUNDEX - 822)) | (1 << (frameQLParser.SQL_THREAD_WAIT_AFTER_GTIDS - 822)) | (1 << (frameQLParser.SQRT - 822)) | (1 << (frameQLParser.SRID - 822)) | (1 << (frameQLParser.STARTPOINT - 822)) | (1 << (frameQLParser.STRCMP - 822)) | (1 << (frameQLParser.STR_TO_DATE - 822)) | (1 << (frameQLParser.ST_AREA - 822)) | (1 << (frameQLParser.ST_ASBINARY - 822)) | (1 << (frameQLParser.ST_ASTEXT - 822)) | (1 << (frameQLParser.ST_ASWKB - 822)) | (1 << (frameQLParser.ST_ASWKT - 822)) | (1 << (frameQLParser.ST_BUFFER - 822)) | (1 << (frameQLParser.ST_CENTROID - 822)) | (1 << (frameQLParser.ST_CONTAINS - 822)) | (1 << (frameQLParser.ST_CROSSES - 822)) | (1 << (frameQLParser.ST_DIFFERENCE - 822)) | (1 << (frameQLParser.ST_DIMENSION - 822)) | (1 << (frameQLParser.ST_DISJOINT - 822)) | (1 << (frameQLParser.ST_DISTANCE - 822)) | (1 << (frameQLParser.ST_ENDPOINT - 822)) | (1 << (frameQLParser.ST_ENVELOPE - 822)) | (1 << (frameQLParser.ST_EQUALS - 822)) | (1 << (frameQLParser.ST_EXTERIORRING - 822)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTEXT - 822)) | (1 << (frameQLParser.ST_GEOMCOLLFROMTXT - 822)) | (1 << (frameQLParser.ST_GEOMCOLLFROMWKB - 822)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 822)) | (1 << (frameQLParser.ST_GEOMETRYCOLLECTIONFROMWKB - 822)) | (1 << (frameQLParser.ST_GEOMETRYFROMTEXT - 822)) | (1 << (frameQLParser.ST_GEOMETRYFROMWKB - 822)) | (1 << (frameQLParser.ST_GEOMETRYN - 822)) | (1 << (frameQLParser.ST_GEOMETRYTYPE - 822)) | (1 << (frameQLParser.ST_GEOMFROMTEXT - 822)) | (1 << (frameQLParser.ST_GEOMFROMWKB - 822)) | (1 << (frameQLParser.ST_INTERIORRINGN - 822)) | (1 << (frameQLParser.ST_INTERSECTION - 822)) | (1 << (frameQLParser.ST_INTERSECTS - 822)) | (1 << (frameQLParser.ST_ISCLOSED - 822)) | (1 << (frameQLParser.ST_ISEMPTY - 822)) | (1 << (frameQLParser.ST_ISSIMPLE - 822)) | (1 << (frameQLParser.ST_LINEFROMTEXT - 822)) | (1 << (frameQLParser.ST_LINEFROMWKB - 822)) | (1 << (frameQLParser.ST_LINESTRINGFROMTEXT - 822)) | (1 << (frameQLParser.ST_LINESTRINGFROMWKB - 822)) | (1 << (frameQLParser.ST_NUMGEOMETRIES - 822)) | (1 << (frameQLParser.ST_NUMINTERIORRING - 822)) | (1 << (frameQLParser.ST_NUMINTERIORRINGS - 822)) | (1 << (frameQLParser.ST_NUMPOINTS - 822)) | (1 << (frameQLParser.ST_OVERLAPS - 822)) | (1 << (frameQLParser.ST_POINTFROMTEXT - 822)) | (1 << (frameQLParser.ST_POINTFROMWKB - 822)) | (1 << (frameQLParser.ST_POINTN - 822)) | (1 << (frameQLParser.ST_POLYFROMTEXT - 822)) | (1 << (frameQLParser.ST_POLYFROMWKB - 822)) | (1 << (frameQLParser.ST_POLYGONFROMTEXT - 822)) | (1 << (frameQLParser.ST_POLYGONFROMWKB - 822)))) != 0) or ((((_la - 886)) & ~0x3f) == 0 and ((1 << (_la - 886)) & ((1 << (frameQLParser.ST_SRID - 886)) | (1 << (frameQLParser.ST_STARTPOINT - 886)) | (1 << (frameQLParser.ST_SYMDIFFERENCE - 886)) | (1 << (frameQLParser.ST_TOUCHES - 886)) | (1 << (frameQLParser.ST_UNION - 886)) | (1 << (frameQLParser.ST_WITHIN - 886)) | (1 << (frameQLParser.ST_X - 886)) | (1 << (frameQLParser.ST_Y - 886)) | (1 << (frameQLParser.SUBDATE - 886)) | (1 << (frameQLParser.SUBSTRING_INDEX - 886)) | (1 << (frameQLParser.SUBTIME - 886)) | (1 << (frameQLParser.SYSTEM_USER - 886)) | (1 << (frameQLParser.TAN - 886)) | (1 << (frameQLParser.TIMEDIFF - 886)) | (1 << (frameQLParser.TIMESTAMPADD - 886)) | (1 << (frameQLParser.TIMESTAMPDIFF - 886)) | (1 << (frameQLParser.TIME_FORMAT - 886)) | (1 << (frameQLParser.TIME_TO_SEC - 886)) | (1 << (frameQLParser.TOUCHES - 886)) | (1 << (frameQLParser.TO_BASE64 - 886)) | (1 << (frameQLParser.TO_DAYS - 886)) | (1 << (frameQLParser.TO_SECONDS - 886)) | (1 << (frameQLParser.UCASE - 886)) | (1 << (frameQLParser.UNCOMPRESS - 886)) | (1 << (frameQLParser.UNCOMPRESSED_LENGTH - 886)) | (1 << (frameQLParser.UNHEX - 886)) | (1 << (frameQLParser.UNIX_TIMESTAMP - 886)) | (1 << (frameQLParser.UPDATEXML - 886)) | (1 << (frameQLParser.UPPER - 886)) | (1 << (frameQLParser.UUID - 886)) | (1 << (frameQLParser.UUID_SHORT - 886)) | (1 << (frameQLParser.VALIDATE_PASSWORD_STRENGTH - 886)) | (1 << (frameQLParser.VERSION - 886)) | (1 << (frameQLParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 886)) | (1 << (frameQLParser.WEEKDAY - 886)) | (1 << (frameQLParser.WEEKOFYEAR - 886)) | (1 << (frameQLParser.WEIGHT_STRING - 886)) | (1 << (frameQLParser.WITHIN - 886)) | (1 << (frameQLParser.YEARWEEK - 886)) | (1 << (frameQLParser.Y_FUNCTION - 886)) | (1 << (frameQLParser.X_FUNCTION - 886)))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - - def sempred(self, localctx:RuleContext, ruleIndex:int, predIndex:int): - if self._predicates == None: - self._predicates = dict() - self._predicates[295] = self.expression_sempred - self._predicates[296] = self.predicate_sempred - self._predicates[297] = self.expressionAtom_sempred - pred = self._predicates.get(ruleIndex, None) - if pred is None: - raise Exception("No predicate with index:" + str(ruleIndex)) - else: - return pred(localctx, predIndex) - - def expression_sempred(self, localctx:ExpressionContext, predIndex:int): - if predIndex == 0: - return self.precpred(self._ctx, 3) - - - def predicate_sempred(self, localctx:PredicateContext, predIndex:int): - if predIndex == 1: - return self.precpred(self._ctx, 7) - - - if predIndex == 2: - return self.precpred(self._ctx, 5) - - - if predIndex == 3: - return self.precpred(self._ctx, 4) - - - if predIndex == 4: - return self.precpred(self._ctx, 2) - - - if predIndex == 5: - return self.precpred(self._ctx, 9) - - - if predIndex == 6: - return self.precpred(self._ctx, 8) - - - if predIndex == 7: - return self.precpred(self._ctx, 6) - - - if predIndex == 8: - return self.precpred(self._ctx, 3) - - - def expressionAtom_sempred(self, localctx:ExpressionAtomContext, predIndex:int): - if predIndex == 9: - return self.precpred(self._ctx, 2) - - - if predIndex == 10: - return self.precpred(self._ctx, 1) - - - if predIndex == 11: - return self.precpred(self._ctx, 11) - - - - - diff --git a/third_party/evaQL/parser/frameQLParserVisitor.py b/third_party/evaQL/parser/frameQLParserVisitor.py deleted file mode 100644 index 4daa132fab..0000000000 --- a/third_party/evaQL/parser/frameQLParserVisitor.py +++ /dev/null @@ -1,2665 +0,0 @@ -# Generated from frameQLParser.g4 by ANTLR 4.7.1 -from antlr4 import * -if __name__ is not None and "." in __name__: - from .frameQLParser import frameQLParser -else: - from frameQLParser import frameQLParser - -# This class defines a complete generic visitor for a parse tree produced by frameQLParser. - -class frameQLParserVisitor(ParseTreeVisitor): - - # Visit a parse tree produced by frameQLParser#root. - def visitRoot(self, ctx:frameQLParser.RootContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#sqlStatements. - def visitSqlStatements(self, ctx:frameQLParser.SqlStatementsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#sqlStatement. - def visitSqlStatement(self, ctx:frameQLParser.SqlStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#emptyStatement. - def visitEmptyStatement(self, ctx:frameQLParser.EmptyStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#ddlStatement. - def visitDdlStatement(self, ctx:frameQLParser.DdlStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#dmlStatement. - def visitDmlStatement(self, ctx:frameQLParser.DmlStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#transactionStatement. - def visitTransactionStatement(self, ctx:frameQLParser.TransactionStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#replicationStatement. - def visitReplicationStatement(self, ctx:frameQLParser.ReplicationStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#preparedStatement. - def visitPreparedStatement(self, ctx:frameQLParser.PreparedStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#compoundStatement. - def visitCompoundStatement(self, ctx:frameQLParser.CompoundStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#administrationStatement. - def visitAdministrationStatement(self, ctx:frameQLParser.AdministrationStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#utilityStatement. - def visitUtilityStatement(self, ctx:frameQLParser.UtilityStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#createDatabase. - def visitCreateDatabase(self, ctx:frameQLParser.CreateDatabaseContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#createEvent. - def visitCreateEvent(self, ctx:frameQLParser.CreateEventContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#createIndex. - def visitCreateIndex(self, ctx:frameQLParser.CreateIndexContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#createLogfileGroup. - def visitCreateLogfileGroup(self, ctx:frameQLParser.CreateLogfileGroupContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#createProcedure. - def visitCreateProcedure(self, ctx:frameQLParser.CreateProcedureContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#createFunction. - def visitCreateFunction(self, ctx:frameQLParser.CreateFunctionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#createServer. - def visitCreateServer(self, ctx:frameQLParser.CreateServerContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#copyCreateTable. - def visitCopyCreateTable(self, ctx:frameQLParser.CopyCreateTableContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#queryCreateTable. - def visitQueryCreateTable(self, ctx:frameQLParser.QueryCreateTableContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#columnCreateTable. - def visitColumnCreateTable(self, ctx:frameQLParser.ColumnCreateTableContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#createTablespaceInnodb. - def visitCreateTablespaceInnodb(self, ctx:frameQLParser.CreateTablespaceInnodbContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#createTablespaceNdb. - def visitCreateTablespaceNdb(self, ctx:frameQLParser.CreateTablespaceNdbContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#createTrigger. - def visitCreateTrigger(self, ctx:frameQLParser.CreateTriggerContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#createView. - def visitCreateView(self, ctx:frameQLParser.CreateViewContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#createDatabaseOption. - def visitCreateDatabaseOption(self, ctx:frameQLParser.CreateDatabaseOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#ownerStatement. - def visitOwnerStatement(self, ctx:frameQLParser.OwnerStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#preciseSchedule. - def visitPreciseSchedule(self, ctx:frameQLParser.PreciseScheduleContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#intervalSchedule. - def visitIntervalSchedule(self, ctx:frameQLParser.IntervalScheduleContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#timestampValue. - def visitTimestampValue(self, ctx:frameQLParser.TimestampValueContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#intervalExpr. - def visitIntervalExpr(self, ctx:frameQLParser.IntervalExprContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#intervalType. - def visitIntervalType(self, ctx:frameQLParser.IntervalTypeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#enableType. - def visitEnableType(self, ctx:frameQLParser.EnableTypeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#indexType. - def visitIndexType(self, ctx:frameQLParser.IndexTypeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#indexOption. - def visitIndexOption(self, ctx:frameQLParser.IndexOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#procedureParameter. - def visitProcedureParameter(self, ctx:frameQLParser.ProcedureParameterContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#functionParameter. - def visitFunctionParameter(self, ctx:frameQLParser.FunctionParameterContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#routineComment. - def visitRoutineComment(self, ctx:frameQLParser.RoutineCommentContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#routineLanguage. - def visitRoutineLanguage(self, ctx:frameQLParser.RoutineLanguageContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#routineBehavior. - def visitRoutineBehavior(self, ctx:frameQLParser.RoutineBehaviorContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#routineData. - def visitRoutineData(self, ctx:frameQLParser.RoutineDataContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#routineSecurity. - def visitRoutineSecurity(self, ctx:frameQLParser.RoutineSecurityContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#serverOption. - def visitServerOption(self, ctx:frameQLParser.ServerOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#createDefinitions. - def visitCreateDefinitions(self, ctx:frameQLParser.CreateDefinitionsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#columnDeclaration. - def visitColumnDeclaration(self, ctx:frameQLParser.ColumnDeclarationContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#constraintDeclaration. - def visitConstraintDeclaration(self, ctx:frameQLParser.ConstraintDeclarationContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#indexDeclaration. - def visitIndexDeclaration(self, ctx:frameQLParser.IndexDeclarationContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#columnDefinition. - def visitColumnDefinition(self, ctx:frameQLParser.ColumnDefinitionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#nullColumnConstraint. - def visitNullColumnConstraint(self, ctx:frameQLParser.NullColumnConstraintContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#defaultColumnConstraint. - def visitDefaultColumnConstraint(self, ctx:frameQLParser.DefaultColumnConstraintContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#autoIncrementColumnConstraint. - def visitAutoIncrementColumnConstraint(self, ctx:frameQLParser.AutoIncrementColumnConstraintContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#primaryKeyColumnConstraint. - def visitPrimaryKeyColumnConstraint(self, ctx:frameQLParser.PrimaryKeyColumnConstraintContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#uniqueKeyColumnConstraint. - def visitUniqueKeyColumnConstraint(self, ctx:frameQLParser.UniqueKeyColumnConstraintContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#commentColumnConstraint. - def visitCommentColumnConstraint(self, ctx:frameQLParser.CommentColumnConstraintContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#formatColumnConstraint. - def visitFormatColumnConstraint(self, ctx:frameQLParser.FormatColumnConstraintContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#storageColumnConstraint. - def visitStorageColumnConstraint(self, ctx:frameQLParser.StorageColumnConstraintContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#referenceColumnConstraint. - def visitReferenceColumnConstraint(self, ctx:frameQLParser.ReferenceColumnConstraintContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#generatedColumnConstraint. - def visitGeneratedColumnConstraint(self, ctx:frameQLParser.GeneratedColumnConstraintContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#serialDefaultColumnConstraint. - def visitSerialDefaultColumnConstraint(self, ctx:frameQLParser.SerialDefaultColumnConstraintContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#primaryKeyTableConstraint. - def visitPrimaryKeyTableConstraint(self, ctx:frameQLParser.PrimaryKeyTableConstraintContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#uniqueKeyTableConstraint. - def visitUniqueKeyTableConstraint(self, ctx:frameQLParser.UniqueKeyTableConstraintContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#foreignKeyTableConstraint. - def visitForeignKeyTableConstraint(self, ctx:frameQLParser.ForeignKeyTableConstraintContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#checkTableConstraint. - def visitCheckTableConstraint(self, ctx:frameQLParser.CheckTableConstraintContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#referenceDefinition. - def visitReferenceDefinition(self, ctx:frameQLParser.ReferenceDefinitionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#referenceAction. - def visitReferenceAction(self, ctx:frameQLParser.ReferenceActionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#referenceControlType. - def visitReferenceControlType(self, ctx:frameQLParser.ReferenceControlTypeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#simpleIndexDeclaration. - def visitSimpleIndexDeclaration(self, ctx:frameQLParser.SimpleIndexDeclarationContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#specialIndexDeclaration. - def visitSpecialIndexDeclaration(self, ctx:frameQLParser.SpecialIndexDeclarationContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionEngine. - def visitTableOptionEngine(self, ctx:frameQLParser.TableOptionEngineContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionAutoIncrement. - def visitTableOptionAutoIncrement(self, ctx:frameQLParser.TableOptionAutoIncrementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionAverage. - def visitTableOptionAverage(self, ctx:frameQLParser.TableOptionAverageContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionCharset. - def visitTableOptionCharset(self, ctx:frameQLParser.TableOptionCharsetContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionChecksum. - def visitTableOptionChecksum(self, ctx:frameQLParser.TableOptionChecksumContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionCollate. - def visitTableOptionCollate(self, ctx:frameQLParser.TableOptionCollateContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionComment. - def visitTableOptionComment(self, ctx:frameQLParser.TableOptionCommentContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionCompression. - def visitTableOptionCompression(self, ctx:frameQLParser.TableOptionCompressionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionConnection. - def visitTableOptionConnection(self, ctx:frameQLParser.TableOptionConnectionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionDataDirectory. - def visitTableOptionDataDirectory(self, ctx:frameQLParser.TableOptionDataDirectoryContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionDelay. - def visitTableOptionDelay(self, ctx:frameQLParser.TableOptionDelayContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionEncryption. - def visitTableOptionEncryption(self, ctx:frameQLParser.TableOptionEncryptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionIndexDirectory. - def visitTableOptionIndexDirectory(self, ctx:frameQLParser.TableOptionIndexDirectoryContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionInsertMethod. - def visitTableOptionInsertMethod(self, ctx:frameQLParser.TableOptionInsertMethodContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionKeyBlockSize. - def visitTableOptionKeyBlockSize(self, ctx:frameQLParser.TableOptionKeyBlockSizeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionMaxRows. - def visitTableOptionMaxRows(self, ctx:frameQLParser.TableOptionMaxRowsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionMinRows. - def visitTableOptionMinRows(self, ctx:frameQLParser.TableOptionMinRowsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionPackKeys. - def visitTableOptionPackKeys(self, ctx:frameQLParser.TableOptionPackKeysContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionPassword. - def visitTableOptionPassword(self, ctx:frameQLParser.TableOptionPasswordContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionRowFormat. - def visitTableOptionRowFormat(self, ctx:frameQLParser.TableOptionRowFormatContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionRecalculation. - def visitTableOptionRecalculation(self, ctx:frameQLParser.TableOptionRecalculationContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionPersistent. - def visitTableOptionPersistent(self, ctx:frameQLParser.TableOptionPersistentContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionSamplePage. - def visitTableOptionSamplePage(self, ctx:frameQLParser.TableOptionSamplePageContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionTablespace. - def visitTableOptionTablespace(self, ctx:frameQLParser.TableOptionTablespaceContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableOptionUnion. - def visitTableOptionUnion(self, ctx:frameQLParser.TableOptionUnionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tablespaceStorage. - def visitTablespaceStorage(self, ctx:frameQLParser.TablespaceStorageContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#partitionDefinitions. - def visitPartitionDefinitions(self, ctx:frameQLParser.PartitionDefinitionsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#partitionFunctionHash. - def visitPartitionFunctionHash(self, ctx:frameQLParser.PartitionFunctionHashContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#partitionFunctionKey. - def visitPartitionFunctionKey(self, ctx:frameQLParser.PartitionFunctionKeyContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#partitionFunctionRange. - def visitPartitionFunctionRange(self, ctx:frameQLParser.PartitionFunctionRangeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#partitionFunctionList. - def visitPartitionFunctionList(self, ctx:frameQLParser.PartitionFunctionListContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#subPartitionFunctionHash. - def visitSubPartitionFunctionHash(self, ctx:frameQLParser.SubPartitionFunctionHashContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#subPartitionFunctionKey. - def visitSubPartitionFunctionKey(self, ctx:frameQLParser.SubPartitionFunctionKeyContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#partitionComparision. - def visitPartitionComparision(self, ctx:frameQLParser.PartitionComparisionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#partitionListAtom. - def visitPartitionListAtom(self, ctx:frameQLParser.PartitionListAtomContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#partitionListVector. - def visitPartitionListVector(self, ctx:frameQLParser.PartitionListVectorContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#partitionSimple. - def visitPartitionSimple(self, ctx:frameQLParser.PartitionSimpleContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#partitionDefinerAtom. - def visitPartitionDefinerAtom(self, ctx:frameQLParser.PartitionDefinerAtomContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#partitionDefinerVector. - def visitPartitionDefinerVector(self, ctx:frameQLParser.PartitionDefinerVectorContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#subpartitionDefinition. - def visitSubpartitionDefinition(self, ctx:frameQLParser.SubpartitionDefinitionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#partitionOptionEngine. - def visitPartitionOptionEngine(self, ctx:frameQLParser.PartitionOptionEngineContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#partitionOptionComment. - def visitPartitionOptionComment(self, ctx:frameQLParser.PartitionOptionCommentContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#partitionOptionDataDirectory. - def visitPartitionOptionDataDirectory(self, ctx:frameQLParser.PartitionOptionDataDirectoryContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#partitionOptionIndexDirectory. - def visitPartitionOptionIndexDirectory(self, ctx:frameQLParser.PartitionOptionIndexDirectoryContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#partitionOptionMaxRows. - def visitPartitionOptionMaxRows(self, ctx:frameQLParser.PartitionOptionMaxRowsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#partitionOptionMinRows. - def visitPartitionOptionMinRows(self, ctx:frameQLParser.PartitionOptionMinRowsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#partitionOptionTablespace. - def visitPartitionOptionTablespace(self, ctx:frameQLParser.PartitionOptionTablespaceContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#partitionOptionNodeGroup. - def visitPartitionOptionNodeGroup(self, ctx:frameQLParser.PartitionOptionNodeGroupContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterSimpleDatabase. - def visitAlterSimpleDatabase(self, ctx:frameQLParser.AlterSimpleDatabaseContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterUpgradeName. - def visitAlterUpgradeName(self, ctx:frameQLParser.AlterUpgradeNameContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterEvent. - def visitAlterEvent(self, ctx:frameQLParser.AlterEventContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterFunction. - def visitAlterFunction(self, ctx:frameQLParser.AlterFunctionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterInstance. - def visitAlterInstance(self, ctx:frameQLParser.AlterInstanceContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterLogfileGroup. - def visitAlterLogfileGroup(self, ctx:frameQLParser.AlterLogfileGroupContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterProcedure. - def visitAlterProcedure(self, ctx:frameQLParser.AlterProcedureContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterServer. - def visitAlterServer(self, ctx:frameQLParser.AlterServerContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterTable. - def visitAlterTable(self, ctx:frameQLParser.AlterTableContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterTablespace. - def visitAlterTablespace(self, ctx:frameQLParser.AlterTablespaceContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterView. - def visitAlterView(self, ctx:frameQLParser.AlterViewContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByTableOption. - def visitAlterByTableOption(self, ctx:frameQLParser.AlterByTableOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByAddColumn. - def visitAlterByAddColumn(self, ctx:frameQLParser.AlterByAddColumnContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByAddColumns. - def visitAlterByAddColumns(self, ctx:frameQLParser.AlterByAddColumnsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByAddIndex. - def visitAlterByAddIndex(self, ctx:frameQLParser.AlterByAddIndexContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByAddPrimaryKey. - def visitAlterByAddPrimaryKey(self, ctx:frameQLParser.AlterByAddPrimaryKeyContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByAddUniqueKey. - def visitAlterByAddUniqueKey(self, ctx:frameQLParser.AlterByAddUniqueKeyContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByAddSpecialIndex. - def visitAlterByAddSpecialIndex(self, ctx:frameQLParser.AlterByAddSpecialIndexContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByAddForeignKey. - def visitAlterByAddForeignKey(self, ctx:frameQLParser.AlterByAddForeignKeyContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByAddCheckTableConstraint. - def visitAlterByAddCheckTableConstraint(self, ctx:frameQLParser.AlterByAddCheckTableConstraintContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterBySetAlgorithm. - def visitAlterBySetAlgorithm(self, ctx:frameQLParser.AlterBySetAlgorithmContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByChangeDefault. - def visitAlterByChangeDefault(self, ctx:frameQLParser.AlterByChangeDefaultContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByChangeColumn. - def visitAlterByChangeColumn(self, ctx:frameQLParser.AlterByChangeColumnContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByRenameColumn. - def visitAlterByRenameColumn(self, ctx:frameQLParser.AlterByRenameColumnContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByLock. - def visitAlterByLock(self, ctx:frameQLParser.AlterByLockContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByModifyColumn. - def visitAlterByModifyColumn(self, ctx:frameQLParser.AlterByModifyColumnContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByDropColumn. - def visitAlterByDropColumn(self, ctx:frameQLParser.AlterByDropColumnContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByDropPrimaryKey. - def visitAlterByDropPrimaryKey(self, ctx:frameQLParser.AlterByDropPrimaryKeyContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByDropIndex. - def visitAlterByDropIndex(self, ctx:frameQLParser.AlterByDropIndexContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByDropForeignKey. - def visitAlterByDropForeignKey(self, ctx:frameQLParser.AlterByDropForeignKeyContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByDisableKeys. - def visitAlterByDisableKeys(self, ctx:frameQLParser.AlterByDisableKeysContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByEnableKeys. - def visitAlterByEnableKeys(self, ctx:frameQLParser.AlterByEnableKeysContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByRename. - def visitAlterByRename(self, ctx:frameQLParser.AlterByRenameContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByOrder. - def visitAlterByOrder(self, ctx:frameQLParser.AlterByOrderContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByConvertCharset. - def visitAlterByConvertCharset(self, ctx:frameQLParser.AlterByConvertCharsetContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByDefaultCharset. - def visitAlterByDefaultCharset(self, ctx:frameQLParser.AlterByDefaultCharsetContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByDiscardTablespace. - def visitAlterByDiscardTablespace(self, ctx:frameQLParser.AlterByDiscardTablespaceContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByImportTablespace. - def visitAlterByImportTablespace(self, ctx:frameQLParser.AlterByImportTablespaceContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByForce. - def visitAlterByForce(self, ctx:frameQLParser.AlterByForceContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByValidate. - def visitAlterByValidate(self, ctx:frameQLParser.AlterByValidateContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByAddPartition. - def visitAlterByAddPartition(self, ctx:frameQLParser.AlterByAddPartitionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByDropPartition. - def visitAlterByDropPartition(self, ctx:frameQLParser.AlterByDropPartitionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByDiscardPartition. - def visitAlterByDiscardPartition(self, ctx:frameQLParser.AlterByDiscardPartitionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByImportPartition. - def visitAlterByImportPartition(self, ctx:frameQLParser.AlterByImportPartitionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByTruncatePartition. - def visitAlterByTruncatePartition(self, ctx:frameQLParser.AlterByTruncatePartitionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByCoalescePartition. - def visitAlterByCoalescePartition(self, ctx:frameQLParser.AlterByCoalescePartitionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByReorganizePartition. - def visitAlterByReorganizePartition(self, ctx:frameQLParser.AlterByReorganizePartitionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByExchangePartition. - def visitAlterByExchangePartition(self, ctx:frameQLParser.AlterByExchangePartitionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByAnalyzePartitiion. - def visitAlterByAnalyzePartitiion(self, ctx:frameQLParser.AlterByAnalyzePartitiionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByCheckPartition. - def visitAlterByCheckPartition(self, ctx:frameQLParser.AlterByCheckPartitionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByOptimizePartition. - def visitAlterByOptimizePartition(self, ctx:frameQLParser.AlterByOptimizePartitionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByRebuildPartition. - def visitAlterByRebuildPartition(self, ctx:frameQLParser.AlterByRebuildPartitionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByRepairPartition. - def visitAlterByRepairPartition(self, ctx:frameQLParser.AlterByRepairPartitionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByRemovePartitioning. - def visitAlterByRemovePartitioning(self, ctx:frameQLParser.AlterByRemovePartitioningContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterByUpgradePartitioning. - def visitAlterByUpgradePartitioning(self, ctx:frameQLParser.AlterByUpgradePartitioningContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#dropDatabase. - def visitDropDatabase(self, ctx:frameQLParser.DropDatabaseContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#dropEvent. - def visitDropEvent(self, ctx:frameQLParser.DropEventContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#dropIndex. - def visitDropIndex(self, ctx:frameQLParser.DropIndexContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#dropLogfileGroup. - def visitDropLogfileGroup(self, ctx:frameQLParser.DropLogfileGroupContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#dropProcedure. - def visitDropProcedure(self, ctx:frameQLParser.DropProcedureContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#dropFunction. - def visitDropFunction(self, ctx:frameQLParser.DropFunctionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#dropServer. - def visitDropServer(self, ctx:frameQLParser.DropServerContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#dropTable. - def visitDropTable(self, ctx:frameQLParser.DropTableContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#dropTablespace. - def visitDropTablespace(self, ctx:frameQLParser.DropTablespaceContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#dropTrigger. - def visitDropTrigger(self, ctx:frameQLParser.DropTriggerContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#dropView. - def visitDropView(self, ctx:frameQLParser.DropViewContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#renameTable. - def visitRenameTable(self, ctx:frameQLParser.RenameTableContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#renameTableClause. - def visitRenameTableClause(self, ctx:frameQLParser.RenameTableClauseContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#truncateTable. - def visitTruncateTable(self, ctx:frameQLParser.TruncateTableContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#callStatement. - def visitCallStatement(self, ctx:frameQLParser.CallStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#deleteStatement. - def visitDeleteStatement(self, ctx:frameQLParser.DeleteStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#doStatement. - def visitDoStatement(self, ctx:frameQLParser.DoStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#handlerStatement. - def visitHandlerStatement(self, ctx:frameQLParser.HandlerStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#insertStatement. - def visitInsertStatement(self, ctx:frameQLParser.InsertStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#loadDataStatement. - def visitLoadDataStatement(self, ctx:frameQLParser.LoadDataStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#loadXmlStatement. - def visitLoadXmlStatement(self, ctx:frameQLParser.LoadXmlStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#replaceStatement. - def visitReplaceStatement(self, ctx:frameQLParser.ReplaceStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#simpleSelect. - def visitSimpleSelect(self, ctx:frameQLParser.SimpleSelectContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#parenthesisSelect. - def visitParenthesisSelect(self, ctx:frameQLParser.ParenthesisSelectContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#unionSelect. - def visitUnionSelect(self, ctx:frameQLParser.UnionSelectContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#unionParenthesisSelect. - def visitUnionParenthesisSelect(self, ctx:frameQLParser.UnionParenthesisSelectContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#updateStatement. - def visitUpdateStatement(self, ctx:frameQLParser.UpdateStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#insertStatementValue. - def visitInsertStatementValue(self, ctx:frameQLParser.InsertStatementValueContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#updatedElement. - def visitUpdatedElement(self, ctx:frameQLParser.UpdatedElementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#assignmentField. - def visitAssignmentField(self, ctx:frameQLParser.AssignmentFieldContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#lockClause. - def visitLockClause(self, ctx:frameQLParser.LockClauseContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#singleDeleteStatement. - def visitSingleDeleteStatement(self, ctx:frameQLParser.SingleDeleteStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#multipleDeleteStatement. - def visitMultipleDeleteStatement(self, ctx:frameQLParser.MultipleDeleteStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#handlerOpenStatement. - def visitHandlerOpenStatement(self, ctx:frameQLParser.HandlerOpenStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#handlerReadIndexStatement. - def visitHandlerReadIndexStatement(self, ctx:frameQLParser.HandlerReadIndexStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#handlerReadStatement. - def visitHandlerReadStatement(self, ctx:frameQLParser.HandlerReadStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#handlerCloseStatement. - def visitHandlerCloseStatement(self, ctx:frameQLParser.HandlerCloseStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#singleUpdateStatement. - def visitSingleUpdateStatement(self, ctx:frameQLParser.SingleUpdateStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#multipleUpdateStatement. - def visitMultipleUpdateStatement(self, ctx:frameQLParser.MultipleUpdateStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#orderByClause. - def visitOrderByClause(self, ctx:frameQLParser.OrderByClauseContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#orderByExpression. - def visitOrderByExpression(self, ctx:frameQLParser.OrderByExpressionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableSources. - def visitTableSources(self, ctx:frameQLParser.TableSourcesContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableSourceBase. - def visitTableSourceBase(self, ctx:frameQLParser.TableSourceBaseContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableSourceNested. - def visitTableSourceNested(self, ctx:frameQLParser.TableSourceNestedContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#atomTableItem. - def visitAtomTableItem(self, ctx:frameQLParser.AtomTableItemContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#subqueryTableItem. - def visitSubqueryTableItem(self, ctx:frameQLParser.SubqueryTableItemContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableSourcesItem. - def visitTableSourcesItem(self, ctx:frameQLParser.TableSourcesItemContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#indexHint. - def visitIndexHint(self, ctx:frameQLParser.IndexHintContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#indexHintType. - def visitIndexHintType(self, ctx:frameQLParser.IndexHintTypeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#innerJoin. - def visitInnerJoin(self, ctx:frameQLParser.InnerJoinContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#straightJoin. - def visitStraightJoin(self, ctx:frameQLParser.StraightJoinContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#outerJoin. - def visitOuterJoin(self, ctx:frameQLParser.OuterJoinContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#naturalJoin. - def visitNaturalJoin(self, ctx:frameQLParser.NaturalJoinContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#queryExpression. - def visitQueryExpression(self, ctx:frameQLParser.QueryExpressionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#queryExpressionNointo. - def visitQueryExpressionNointo(self, ctx:frameQLParser.QueryExpressionNointoContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#querySpecification. - def visitQuerySpecification(self, ctx:frameQLParser.QuerySpecificationContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#querySpecificationNointo. - def visitQuerySpecificationNointo(self, ctx:frameQLParser.QuerySpecificationNointoContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#unionParenthesis. - def visitUnionParenthesis(self, ctx:frameQLParser.UnionParenthesisContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#unionStatement. - def visitUnionStatement(self, ctx:frameQLParser.UnionStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#selectSpec. - def visitSelectSpec(self, ctx:frameQLParser.SelectSpecContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#selectElements. - def visitSelectElements(self, ctx:frameQLParser.SelectElementsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#selectStarElement. - def visitSelectStarElement(self, ctx:frameQLParser.SelectStarElementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#selectColumnElement. - def visitSelectColumnElement(self, ctx:frameQLParser.SelectColumnElementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#selectFunctionElement. - def visitSelectFunctionElement(self, ctx:frameQLParser.SelectFunctionElementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#selectExpressionElement. - def visitSelectExpressionElement(self, ctx:frameQLParser.SelectExpressionElementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#errorTolerenceExpression. - def visitErrorTolerenceExpression(self, ctx:frameQLParser.ErrorTolerenceExpressionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#confLevelExpression. - def visitConfLevelExpression(self, ctx:frameQLParser.ConfLevelExpressionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#selectIntoVariables. - def visitSelectIntoVariables(self, ctx:frameQLParser.SelectIntoVariablesContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#selectIntoDumpFile. - def visitSelectIntoDumpFile(self, ctx:frameQLParser.SelectIntoDumpFileContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#selectIntoTextFile. - def visitSelectIntoTextFile(self, ctx:frameQLParser.SelectIntoTextFileContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#selectFieldsInto. - def visitSelectFieldsInto(self, ctx:frameQLParser.SelectFieldsIntoContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#selectLinesInto. - def visitSelectLinesInto(self, ctx:frameQLParser.SelectLinesIntoContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#fromClause. - def visitFromClause(self, ctx:frameQLParser.FromClauseContext): - - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#groupByItem. - def visitGroupByItem(self, ctx:frameQLParser.GroupByItemContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#limitClause. - def visitLimitClause(self, ctx:frameQLParser.LimitClauseContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#startTransaction. - def visitStartTransaction(self, ctx:frameQLParser.StartTransactionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#beginWork. - def visitBeginWork(self, ctx:frameQLParser.BeginWorkContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#commitWork. - def visitCommitWork(self, ctx:frameQLParser.CommitWorkContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#rollbackWork. - def visitRollbackWork(self, ctx:frameQLParser.RollbackWorkContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#savepointStatement. - def visitSavepointStatement(self, ctx:frameQLParser.SavepointStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#rollbackStatement. - def visitRollbackStatement(self, ctx:frameQLParser.RollbackStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#releaseStatement. - def visitReleaseStatement(self, ctx:frameQLParser.ReleaseStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#lockTables. - def visitLockTables(self, ctx:frameQLParser.LockTablesContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#unlockTables. - def visitUnlockTables(self, ctx:frameQLParser.UnlockTablesContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#setAutocommitStatement. - def visitSetAutocommitStatement(self, ctx:frameQLParser.SetAutocommitStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#setTransactionStatement. - def visitSetTransactionStatement(self, ctx:frameQLParser.SetTransactionStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#transactionMode. - def visitTransactionMode(self, ctx:frameQLParser.TransactionModeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#lockTableElement. - def visitLockTableElement(self, ctx:frameQLParser.LockTableElementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#lockAction. - def visitLockAction(self, ctx:frameQLParser.LockActionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#transactionOption. - def visitTransactionOption(self, ctx:frameQLParser.TransactionOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#transactionLevel. - def visitTransactionLevel(self, ctx:frameQLParser.TransactionLevelContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#changeMaster. - def visitChangeMaster(self, ctx:frameQLParser.ChangeMasterContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#changeReplicationFilter. - def visitChangeReplicationFilter(self, ctx:frameQLParser.ChangeReplicationFilterContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#purgeBinaryLogs. - def visitPurgeBinaryLogs(self, ctx:frameQLParser.PurgeBinaryLogsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#resetMaster. - def visitResetMaster(self, ctx:frameQLParser.ResetMasterContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#resetSlave. - def visitResetSlave(self, ctx:frameQLParser.ResetSlaveContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#startSlave. - def visitStartSlave(self, ctx:frameQLParser.StartSlaveContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#stopSlave. - def visitStopSlave(self, ctx:frameQLParser.StopSlaveContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#startGroupReplication. - def visitStartGroupReplication(self, ctx:frameQLParser.StartGroupReplicationContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#stopGroupReplication. - def visitStopGroupReplication(self, ctx:frameQLParser.StopGroupReplicationContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#masterStringOption. - def visitMasterStringOption(self, ctx:frameQLParser.MasterStringOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#masterDecimalOption. - def visitMasterDecimalOption(self, ctx:frameQLParser.MasterDecimalOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#masterBoolOption. - def visitMasterBoolOption(self, ctx:frameQLParser.MasterBoolOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#masterRealOption. - def visitMasterRealOption(self, ctx:frameQLParser.MasterRealOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#masterUidListOption. - def visitMasterUidListOption(self, ctx:frameQLParser.MasterUidListOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#stringMasterOption. - def visitStringMasterOption(self, ctx:frameQLParser.StringMasterOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#decimalMasterOption. - def visitDecimalMasterOption(self, ctx:frameQLParser.DecimalMasterOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#boolMasterOption. - def visitBoolMasterOption(self, ctx:frameQLParser.BoolMasterOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#channelOption. - def visitChannelOption(self, ctx:frameQLParser.ChannelOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#doDbReplication. - def visitDoDbReplication(self, ctx:frameQLParser.DoDbReplicationContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#ignoreDbReplication. - def visitIgnoreDbReplication(self, ctx:frameQLParser.IgnoreDbReplicationContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#doTableReplication. - def visitDoTableReplication(self, ctx:frameQLParser.DoTableReplicationContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#ignoreTableReplication. - def visitIgnoreTableReplication(self, ctx:frameQLParser.IgnoreTableReplicationContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#wildDoTableReplication. - def visitWildDoTableReplication(self, ctx:frameQLParser.WildDoTableReplicationContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#wildIgnoreTableReplication. - def visitWildIgnoreTableReplication(self, ctx:frameQLParser.WildIgnoreTableReplicationContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#rewriteDbReplication. - def visitRewriteDbReplication(self, ctx:frameQLParser.RewriteDbReplicationContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tablePair. - def visitTablePair(self, ctx:frameQLParser.TablePairContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#threadType. - def visitThreadType(self, ctx:frameQLParser.ThreadTypeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#gtidsUntilOption. - def visitGtidsUntilOption(self, ctx:frameQLParser.GtidsUntilOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#masterLogUntilOption. - def visitMasterLogUntilOption(self, ctx:frameQLParser.MasterLogUntilOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#relayLogUntilOption. - def visitRelayLogUntilOption(self, ctx:frameQLParser.RelayLogUntilOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#sqlGapsUntilOption. - def visitSqlGapsUntilOption(self, ctx:frameQLParser.SqlGapsUntilOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#userConnectionOption. - def visitUserConnectionOption(self, ctx:frameQLParser.UserConnectionOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#passwordConnectionOption. - def visitPasswordConnectionOption(self, ctx:frameQLParser.PasswordConnectionOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#defaultAuthConnectionOption. - def visitDefaultAuthConnectionOption(self, ctx:frameQLParser.DefaultAuthConnectionOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#pluginDirConnectionOption. - def visitPluginDirConnectionOption(self, ctx:frameQLParser.PluginDirConnectionOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#gtuidSet. - def visitGtuidSet(self, ctx:frameQLParser.GtuidSetContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#xaStartTransaction. - def visitXaStartTransaction(self, ctx:frameQLParser.XaStartTransactionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#xaEndTransaction. - def visitXaEndTransaction(self, ctx:frameQLParser.XaEndTransactionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#xaPrepareStatement. - def visitXaPrepareStatement(self, ctx:frameQLParser.XaPrepareStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#xaCommitWork. - def visitXaCommitWork(self, ctx:frameQLParser.XaCommitWorkContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#xaRollbackWork. - def visitXaRollbackWork(self, ctx:frameQLParser.XaRollbackWorkContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#xaRecoverWork. - def visitXaRecoverWork(self, ctx:frameQLParser.XaRecoverWorkContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#prepareStatement. - def visitPrepareStatement(self, ctx:frameQLParser.PrepareStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#executeStatement. - def visitExecuteStatement(self, ctx:frameQLParser.ExecuteStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#deallocatePrepare. - def visitDeallocatePrepare(self, ctx:frameQLParser.DeallocatePrepareContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#routineBody. - def visitRoutineBody(self, ctx:frameQLParser.RoutineBodyContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#blockStatement. - def visitBlockStatement(self, ctx:frameQLParser.BlockStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#caseStatement. - def visitCaseStatement(self, ctx:frameQLParser.CaseStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#ifStatement. - def visitIfStatement(self, ctx:frameQLParser.IfStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#iterateStatement. - def visitIterateStatement(self, ctx:frameQLParser.IterateStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#leaveStatement. - def visitLeaveStatement(self, ctx:frameQLParser.LeaveStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#loopStatement. - def visitLoopStatement(self, ctx:frameQLParser.LoopStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#repeatStatement. - def visitRepeatStatement(self, ctx:frameQLParser.RepeatStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#returnStatement. - def visitReturnStatement(self, ctx:frameQLParser.ReturnStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#whileStatement. - def visitWhileStatement(self, ctx:frameQLParser.WhileStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#CloseCursor. - def visitCloseCursor(self, ctx:frameQLParser.CloseCursorContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#FetchCursor. - def visitFetchCursor(self, ctx:frameQLParser.FetchCursorContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#OpenCursor. - def visitOpenCursor(self, ctx:frameQLParser.OpenCursorContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#declareVariable. - def visitDeclareVariable(self, ctx:frameQLParser.DeclareVariableContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#declareCondition. - def visitDeclareCondition(self, ctx:frameQLParser.DeclareConditionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#declareCursor. - def visitDeclareCursor(self, ctx:frameQLParser.DeclareCursorContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#declareHandler. - def visitDeclareHandler(self, ctx:frameQLParser.DeclareHandlerContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#handlerConditionCode. - def visitHandlerConditionCode(self, ctx:frameQLParser.HandlerConditionCodeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#handlerConditionState. - def visitHandlerConditionState(self, ctx:frameQLParser.HandlerConditionStateContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#handlerConditionName. - def visitHandlerConditionName(self, ctx:frameQLParser.HandlerConditionNameContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#handlerConditionWarning. - def visitHandlerConditionWarning(self, ctx:frameQLParser.HandlerConditionWarningContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#handlerConditionNotfound. - def visitHandlerConditionNotfound(self, ctx:frameQLParser.HandlerConditionNotfoundContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#handlerConditionException. - def visitHandlerConditionException(self, ctx:frameQLParser.HandlerConditionExceptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#procedureSqlStatement. - def visitProcedureSqlStatement(self, ctx:frameQLParser.ProcedureSqlStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#caseAlternative. - def visitCaseAlternative(self, ctx:frameQLParser.CaseAlternativeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#elifAlternative. - def visitElifAlternative(self, ctx:frameQLParser.ElifAlternativeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterUserMysqlV56. - def visitAlterUserMysqlV56(self, ctx:frameQLParser.AlterUserMysqlV56Context): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#alterUserMysqlV57. - def visitAlterUserMysqlV57(self, ctx:frameQLParser.AlterUserMysqlV57Context): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#createUserMysqlV56. - def visitCreateUserMysqlV56(self, ctx:frameQLParser.CreateUserMysqlV56Context): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#createUserMysqlV57. - def visitCreateUserMysqlV57(self, ctx:frameQLParser.CreateUserMysqlV57Context): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#dropUser. - def visitDropUser(self, ctx:frameQLParser.DropUserContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#grantStatement. - def visitGrantStatement(self, ctx:frameQLParser.GrantStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#grantProxy. - def visitGrantProxy(self, ctx:frameQLParser.GrantProxyContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#renameUser. - def visitRenameUser(self, ctx:frameQLParser.RenameUserContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#detailRevoke. - def visitDetailRevoke(self, ctx:frameQLParser.DetailRevokeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#shortRevoke. - def visitShortRevoke(self, ctx:frameQLParser.ShortRevokeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#revokeProxy. - def visitRevokeProxy(self, ctx:frameQLParser.RevokeProxyContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#setPasswordStatement. - def visitSetPasswordStatement(self, ctx:frameQLParser.SetPasswordStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#userSpecification. - def visitUserSpecification(self, ctx:frameQLParser.UserSpecificationContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#passwordAuthOption. - def visitPasswordAuthOption(self, ctx:frameQLParser.PasswordAuthOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#stringAuthOption. - def visitStringAuthOption(self, ctx:frameQLParser.StringAuthOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#hashAuthOption. - def visitHashAuthOption(self, ctx:frameQLParser.HashAuthOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#simpleAuthOption. - def visitSimpleAuthOption(self, ctx:frameQLParser.SimpleAuthOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tlsOption. - def visitTlsOption(self, ctx:frameQLParser.TlsOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#userResourceOption. - def visitUserResourceOption(self, ctx:frameQLParser.UserResourceOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#userPasswordOption. - def visitUserPasswordOption(self, ctx:frameQLParser.UserPasswordOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#userLockOption. - def visitUserLockOption(self, ctx:frameQLParser.UserLockOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#privelegeClause. - def visitPrivelegeClause(self, ctx:frameQLParser.PrivelegeClauseContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#privilege. - def visitPrivilege(self, ctx:frameQLParser.PrivilegeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#currentSchemaPriviLevel. - def visitCurrentSchemaPriviLevel(self, ctx:frameQLParser.CurrentSchemaPriviLevelContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#globalPrivLevel. - def visitGlobalPrivLevel(self, ctx:frameQLParser.GlobalPrivLevelContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#definiteSchemaPrivLevel. - def visitDefiniteSchemaPrivLevel(self, ctx:frameQLParser.DefiniteSchemaPrivLevelContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#definiteFullTablePrivLevel. - def visitDefiniteFullTablePrivLevel(self, ctx:frameQLParser.DefiniteFullTablePrivLevelContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#definiteTablePrivLevel. - def visitDefiniteTablePrivLevel(self, ctx:frameQLParser.DefiniteTablePrivLevelContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#renameUserClause. - def visitRenameUserClause(self, ctx:frameQLParser.RenameUserClauseContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#analyzeTable. - def visitAnalyzeTable(self, ctx:frameQLParser.AnalyzeTableContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#checkTable. - def visitCheckTable(self, ctx:frameQLParser.CheckTableContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#checksumTable. - def visitChecksumTable(self, ctx:frameQLParser.ChecksumTableContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#optimizeTable. - def visitOptimizeTable(self, ctx:frameQLParser.OptimizeTableContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#repairTable. - def visitRepairTable(self, ctx:frameQLParser.RepairTableContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#checkTableOption. - def visitCheckTableOption(self, ctx:frameQLParser.CheckTableOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#createUdfunction. - def visitCreateUdfunction(self, ctx:frameQLParser.CreateUdfunctionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#installPlugin. - def visitInstallPlugin(self, ctx:frameQLParser.InstallPluginContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#uninstallPlugin. - def visitUninstallPlugin(self, ctx:frameQLParser.UninstallPluginContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#setVariable. - def visitSetVariable(self, ctx:frameQLParser.SetVariableContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#setCharset. - def visitSetCharset(self, ctx:frameQLParser.SetCharsetContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#setNames. - def visitSetNames(self, ctx:frameQLParser.SetNamesContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#setPassword. - def visitSetPassword(self, ctx:frameQLParser.SetPasswordContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#setTransaction. - def visitSetTransaction(self, ctx:frameQLParser.SetTransactionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#setAutocommit. - def visitSetAutocommit(self, ctx:frameQLParser.SetAutocommitContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showMasterLogs. - def visitShowMasterLogs(self, ctx:frameQLParser.ShowMasterLogsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showLogEvents. - def visitShowLogEvents(self, ctx:frameQLParser.ShowLogEventsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showObjectFilter. - def visitShowObjectFilter(self, ctx:frameQLParser.ShowObjectFilterContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showColumns. - def visitShowColumns(self, ctx:frameQLParser.ShowColumnsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showCreateDb. - def visitShowCreateDb(self, ctx:frameQLParser.ShowCreateDbContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showCreateFullIdObject. - def visitShowCreateFullIdObject(self, ctx:frameQLParser.ShowCreateFullIdObjectContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showCreateUser. - def visitShowCreateUser(self, ctx:frameQLParser.ShowCreateUserContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showEngine. - def visitShowEngine(self, ctx:frameQLParser.ShowEngineContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showGlobalInfo. - def visitShowGlobalInfo(self, ctx:frameQLParser.ShowGlobalInfoContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showErrors. - def visitShowErrors(self, ctx:frameQLParser.ShowErrorsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showCountErrors. - def visitShowCountErrors(self, ctx:frameQLParser.ShowCountErrorsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showSchemaFilter. - def visitShowSchemaFilter(self, ctx:frameQLParser.ShowSchemaFilterContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showRoutine. - def visitShowRoutine(self, ctx:frameQLParser.ShowRoutineContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showGrants. - def visitShowGrants(self, ctx:frameQLParser.ShowGrantsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showIndexes. - def visitShowIndexes(self, ctx:frameQLParser.ShowIndexesContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showOpenTables. - def visitShowOpenTables(self, ctx:frameQLParser.ShowOpenTablesContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showProfile. - def visitShowProfile(self, ctx:frameQLParser.ShowProfileContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showSlaveStatus. - def visitShowSlaveStatus(self, ctx:frameQLParser.ShowSlaveStatusContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#variableClause. - def visitVariableClause(self, ctx:frameQLParser.VariableClauseContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showCommonEntity. - def visitShowCommonEntity(self, ctx:frameQLParser.ShowCommonEntityContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showFilter. - def visitShowFilter(self, ctx:frameQLParser.ShowFilterContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showGlobalInfoClause. - def visitShowGlobalInfoClause(self, ctx:frameQLParser.ShowGlobalInfoClauseContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showSchemaEntity. - def visitShowSchemaEntity(self, ctx:frameQLParser.ShowSchemaEntityContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#showProfileType. - def visitShowProfileType(self, ctx:frameQLParser.ShowProfileTypeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#binlogStatement. - def visitBinlogStatement(self, ctx:frameQLParser.BinlogStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#cacheIndexStatement. - def visitCacheIndexStatement(self, ctx:frameQLParser.CacheIndexStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#flushStatement. - def visitFlushStatement(self, ctx:frameQLParser.FlushStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#killStatement. - def visitKillStatement(self, ctx:frameQLParser.KillStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#loadIndexIntoCache. - def visitLoadIndexIntoCache(self, ctx:frameQLParser.LoadIndexIntoCacheContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#resetStatement. - def visitResetStatement(self, ctx:frameQLParser.ResetStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#shutdownStatement. - def visitShutdownStatement(self, ctx:frameQLParser.ShutdownStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableIndexes. - def visitTableIndexes(self, ctx:frameQLParser.TableIndexesContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#simpleFlushOption. - def visitSimpleFlushOption(self, ctx:frameQLParser.SimpleFlushOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#channelFlushOption. - def visitChannelFlushOption(self, ctx:frameQLParser.ChannelFlushOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableFlushOption. - def visitTableFlushOption(self, ctx:frameQLParser.TableFlushOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#flushTableOption. - def visitFlushTableOption(self, ctx:frameQLParser.FlushTableOptionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#loadedTableIndexes. - def visitLoadedTableIndexes(self, ctx:frameQLParser.LoadedTableIndexesContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#simpleDescribeStatement. - def visitSimpleDescribeStatement(self, ctx:frameQLParser.SimpleDescribeStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#fullDescribeStatement. - def visitFullDescribeStatement(self, ctx:frameQLParser.FullDescribeStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#helpStatement. - def visitHelpStatement(self, ctx:frameQLParser.HelpStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#useStatement. - def visitUseStatement(self, ctx:frameQLParser.UseStatementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#describeStatements. - def visitDescribeStatements(self, ctx:frameQLParser.DescribeStatementsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#describeConnection. - def visitDescribeConnection(self, ctx:frameQLParser.DescribeConnectionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#fullId. - def visitFullId(self, ctx:frameQLParser.FullIdContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tableName. - def visitTableName(self, ctx:frameQLParser.TableNameContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#fullColumnName. - def visitFullColumnName(self, ctx:frameQLParser.FullColumnNameContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#indexColumnName. - def visitIndexColumnName(self, ctx:frameQLParser.IndexColumnNameContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#userName. - def visitUserName(self, ctx:frameQLParser.UserNameContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#mysqlVariable. - def visitMysqlVariable(self, ctx:frameQLParser.MysqlVariableContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#charsetName. - def visitCharsetName(self, ctx:frameQLParser.CharsetNameContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#collationName. - def visitCollationName(self, ctx:frameQLParser.CollationNameContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#engineName. - def visitEngineName(self, ctx:frameQLParser.EngineNameContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#uuidSet. - def visitUuidSet(self, ctx:frameQLParser.UuidSetContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#xid. - def visitXid(self, ctx:frameQLParser.XidContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#xuidStringId. - def visitXuidStringId(self, ctx:frameQLParser.XuidStringIdContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#authPlugin. - def visitAuthPlugin(self, ctx:frameQLParser.AuthPluginContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#uid. - def visitUid(self, ctx:frameQLParser.UidContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#simpleId. - def visitSimpleId(self, ctx:frameQLParser.SimpleIdContext): - return ctx.getText() - #return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#dottedId. - def visitDottedId(self, ctx:frameQLParser.DottedIdContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#decimalLiteral. - def visitDecimalLiteral(self, ctx:frameQLParser.DecimalLiteralContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#fileSizeLiteral. - def visitFileSizeLiteral(self, ctx:frameQLParser.FileSizeLiteralContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#stringLiteral. - def visitStringLiteral(self, ctx:frameQLParser.StringLiteralContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#booleanLiteral. - def visitBooleanLiteral(self, ctx:frameQLParser.BooleanLiteralContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#hexadecimalLiteral. - def visitHexadecimalLiteral(self, ctx:frameQLParser.HexadecimalLiteralContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#nullNotnull. - def visitNullNotnull(self, ctx:frameQLParser.NullNotnullContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#constant. - def visitConstant(self, ctx:frameQLParser.ConstantContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#stringDataType. - def visitStringDataType(self, ctx:frameQLParser.StringDataTypeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#dimensionDataType. - def visitDimensionDataType(self, ctx:frameQLParser.DimensionDataTypeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#simpleDataType. - def visitSimpleDataType(self, ctx:frameQLParser.SimpleDataTypeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#collectionDataType. - def visitCollectionDataType(self, ctx:frameQLParser.CollectionDataTypeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#spatialDataType. - def visitSpatialDataType(self, ctx:frameQLParser.SpatialDataTypeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#convertedDataType. - def visitConvertedDataType(self, ctx:frameQLParser.ConvertedDataTypeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#lengthOneDimension. - def visitLengthOneDimension(self, ctx:frameQLParser.LengthOneDimensionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#lengthTwoDimension. - def visitLengthTwoDimension(self, ctx:frameQLParser.LengthTwoDimensionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#lengthTwoOptionalDimension. - def visitLengthTwoOptionalDimension(self, ctx:frameQLParser.LengthTwoOptionalDimensionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#uidList. - def visitUidList(self, ctx:frameQLParser.UidListContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#tables. - def visitTables(self, ctx:frameQLParser.TablesContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#indexColumnNames. - def visitIndexColumnNames(self, ctx:frameQLParser.IndexColumnNamesContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#expressions. - def visitExpressions(self, ctx:frameQLParser.ExpressionsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#expressionsWithDefaults. - def visitExpressionsWithDefaults(self, ctx:frameQLParser.ExpressionsWithDefaultsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#constants. - def visitConstants(self, ctx:frameQLParser.ConstantsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#simpleStrings. - def visitSimpleStrings(self, ctx:frameQLParser.SimpleStringsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#userVariables. - def visitUserVariables(self, ctx:frameQLParser.UserVariablesContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#defaultValue. - def visitDefaultValue(self, ctx:frameQLParser.DefaultValueContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#currentTimestamp. - def visitCurrentTimestamp(self, ctx:frameQLParser.CurrentTimestampContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#expressionOrDefault. - def visitExpressionOrDefault(self, ctx:frameQLParser.ExpressionOrDefaultContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#ifExists. - def visitIfExists(self, ctx:frameQLParser.IfExistsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#ifNotExists. - def visitIfNotExists(self, ctx:frameQLParser.IfNotExistsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#specificFunctionCall. - def visitSpecificFunctionCall(self, ctx:frameQLParser.SpecificFunctionCallContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#aggregateFunctionCall. - def visitAggregateFunctionCall(self, ctx:frameQLParser.AggregateFunctionCallContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#scalarFunctionCall. - def visitScalarFunctionCall(self, ctx:frameQLParser.ScalarFunctionCallContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#udfFunctionCall. - def visitUdfFunctionCall(self, ctx:frameQLParser.UdfFunctionCallContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#passwordFunctionCall. - def visitPasswordFunctionCall(self, ctx:frameQLParser.PasswordFunctionCallContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#simpleFunctionCall. - def visitSimpleFunctionCall(self, ctx:frameQLParser.SimpleFunctionCallContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#dataTypeFunctionCall. - def visitDataTypeFunctionCall(self, ctx:frameQLParser.DataTypeFunctionCallContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#valuesFunctionCall. - def visitValuesFunctionCall(self, ctx:frameQLParser.ValuesFunctionCallContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#caseFunctionCall. - def visitCaseFunctionCall(self, ctx:frameQLParser.CaseFunctionCallContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#charFunctionCall. - def visitCharFunctionCall(self, ctx:frameQLParser.CharFunctionCallContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#positionFunctionCall. - def visitPositionFunctionCall(self, ctx:frameQLParser.PositionFunctionCallContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#substrFunctionCall. - def visitSubstrFunctionCall(self, ctx:frameQLParser.SubstrFunctionCallContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#trimFunctionCall. - def visitTrimFunctionCall(self, ctx:frameQLParser.TrimFunctionCallContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#weightFunctionCall. - def visitWeightFunctionCall(self, ctx:frameQLParser.WeightFunctionCallContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#extractFunctionCall. - def visitExtractFunctionCall(self, ctx:frameQLParser.ExtractFunctionCallContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#getFormatFunctionCall. - def visitGetFormatFunctionCall(self, ctx:frameQLParser.GetFormatFunctionCallContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#caseFuncAlternative. - def visitCaseFuncAlternative(self, ctx:frameQLParser.CaseFuncAlternativeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#levelWeightList. - def visitLevelWeightList(self, ctx:frameQLParser.LevelWeightListContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#levelWeightRange. - def visitLevelWeightRange(self, ctx:frameQLParser.LevelWeightRangeContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#levelInWeightListElement. - def visitLevelInWeightListElement(self, ctx:frameQLParser.LevelInWeightListElementContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#aggregateWindowedFunction. - def visitAggregateWindowedFunction(self, ctx:frameQLParser.AggregateWindowedFunctionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#scalarFunctionName. - def visitScalarFunctionName(self, ctx:frameQLParser.ScalarFunctionNameContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#passwordFunctionClause. - def visitPasswordFunctionClause(self, ctx:frameQLParser.PasswordFunctionClauseContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#functionArgs. - def visitFunctionArgs(self, ctx:frameQLParser.FunctionArgsContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#functionArg. - def visitFunctionArg(self, ctx:frameQLParser.FunctionArgContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#isExpression. - def visitIsExpression(self, ctx:frameQLParser.IsExpressionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#notExpression. - def visitNotExpression(self, ctx:frameQLParser.NotExpressionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#logicalExpression. - def visitLogicalExpression(self, ctx:frameQLParser.LogicalExpressionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#predicateExpression. - def visitPredicateExpression(self, ctx:frameQLParser.PredicateExpressionContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#soundsLikePredicate. - def visitSoundsLikePredicate(self, ctx:frameQLParser.SoundsLikePredicateContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#expressionAtomPredicate. - def visitExpressionAtomPredicate(self, ctx:frameQLParser.ExpressionAtomPredicateContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#inPredicate. - def visitInPredicate(self, ctx:frameQLParser.InPredicateContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#subqueryComparasionPredicate. - def visitSubqueryComparasionPredicate(self, ctx:frameQLParser.SubqueryComparasionPredicateContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#betweenPredicate. - def visitBetweenPredicate(self, ctx:frameQLParser.BetweenPredicateContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#binaryComparasionPredicate. - def visitBinaryComparasionPredicate(self, ctx:frameQLParser.BinaryComparasionPredicateContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#isNullPredicate. - def visitIsNullPredicate(self, ctx:frameQLParser.IsNullPredicateContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#likePredicate. - def visitLikePredicate(self, ctx:frameQLParser.LikePredicateContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#regexpPredicate. - def visitRegexpPredicate(self, ctx:frameQLParser.RegexpPredicateContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#unaryExpressionAtom. - def visitUnaryExpressionAtom(self, ctx:frameQLParser.UnaryExpressionAtomContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#collateExpressionAtom. - def visitCollateExpressionAtom(self, ctx:frameQLParser.CollateExpressionAtomContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#subqueryExpessionAtom. - def visitSubqueryExpessionAtom(self, ctx:frameQLParser.SubqueryExpessionAtomContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#mysqlVariableExpressionAtom. - def visitMysqlVariableExpressionAtom(self, ctx:frameQLParser.MysqlVariableExpressionAtomContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#nestedExpressionAtom. - def visitNestedExpressionAtom(self, ctx:frameQLParser.NestedExpressionAtomContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#nestedRowExpressionAtom. - def visitNestedRowExpressionAtom(self, ctx:frameQLParser.NestedRowExpressionAtomContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#mathExpressionAtom. - def visitMathExpressionAtom(self, ctx:frameQLParser.MathExpressionAtomContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#intervalExpressionAtom. - def visitIntervalExpressionAtom(self, ctx:frameQLParser.IntervalExpressionAtomContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#existsExpessionAtom. - def visitExistsExpessionAtom(self, ctx:frameQLParser.ExistsExpessionAtomContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#constantExpressionAtom. - def visitConstantExpressionAtom(self, ctx:frameQLParser.ConstantExpressionAtomContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#functionCallExpressionAtom. - def visitFunctionCallExpressionAtom(self, ctx:frameQLParser.FunctionCallExpressionAtomContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#binaryExpressionAtom. - def visitBinaryExpressionAtom(self, ctx:frameQLParser.BinaryExpressionAtomContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#fullColumnNameExpressionAtom. - def visitFullColumnNameExpressionAtom(self, ctx:frameQLParser.FullColumnNameExpressionAtomContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#bitExpressionAtom. - def visitBitExpressionAtom(self, ctx:frameQLParser.BitExpressionAtomContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#unaryOperator. - def visitUnaryOperator(self, ctx:frameQLParser.UnaryOperatorContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#comparisonOperator. - def visitComparisonOperator(self, ctx:frameQLParser.ComparisonOperatorContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#logicalOperator. - def visitLogicalOperator(self, ctx:frameQLParser.LogicalOperatorContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#bitOperator. - def visitBitOperator(self, ctx:frameQLParser.BitOperatorContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#mathOperator. - def visitMathOperator(self, ctx:frameQLParser.MathOperatorContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#charsetNameBase. - def visitCharsetNameBase(self, ctx:frameQLParser.CharsetNameBaseContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#transactionLevelBase. - def visitTransactionLevelBase(self, ctx:frameQLParser.TransactionLevelBaseContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#privilegesBase. - def visitPrivilegesBase(self, ctx:frameQLParser.PrivilegesBaseContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#intervalTypeBase. - def visitIntervalTypeBase(self, ctx:frameQLParser.IntervalTypeBaseContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#dataTypeBase. - def visitDataTypeBase(self, ctx:frameQLParser.DataTypeBaseContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#keywordsCanBeId. - def visitKeywordsCanBeId(self, ctx:frameQLParser.KeywordsCanBeIdContext): - return self.visitChildren(ctx) - - - # Visit a parse tree produced by frameQLParser#functionNameBase. - def visitFunctionNameBase(self, ctx:frameQLParser.FunctionNameBaseContext): - return self.visitChildren(ctx) - - - -del frameQLParser \ No newline at end of file