UNPKG

dt-sql-parser

Version:

SQL Parsers for BigData, built with antlr4

828 lines 132 kB
// Generated from dt-sql-parser/src/grammar/trino/TrinoSql.g4 by ANTLR 4.13.1 // @ts-nocheck import * as antlr from "antlr4ng"; export class TrinoSqlLexer extends antlr.Lexer { constructor(input) { super(input); this.interpreter = new antlr.LexerATNSimulator(this, TrinoSqlLexer._ATN, TrinoSqlLexer.decisionsToDFA, new antlr.PredictionContextCache()); } get grammarFileName() { return "TrinoSql.g4"; } get literalNames() { return TrinoSqlLexer.literalNames; } get symbolicNames() { return TrinoSqlLexer.symbolicNames; } get ruleNames() { return TrinoSqlLexer.ruleNames; } get serializedATN() { return TrinoSqlLexer._serializedATN; } get channelNames() { return TrinoSqlLexer.channelNames; } get modeNames() { return TrinoSqlLexer.modeNames; } static get _ATN() { if (!TrinoSqlLexer.__ATN) { TrinoSqlLexer.__ATN = new antlr.ATNDeserializer().deserialize(TrinoSqlLexer._serializedATN); } return TrinoSqlLexer.__ATN; } get vocabulary() { return TrinoSqlLexer.vocabulary; } } TrinoSqlLexer.T__0 = 1; TrinoSqlLexer.T__1 = 2; TrinoSqlLexer.T__2 = 3; TrinoSqlLexer.T__3 = 4; TrinoSqlLexer.T__4 = 5; TrinoSqlLexer.T__5 = 6; TrinoSqlLexer.T__6 = 7; TrinoSqlLexer.T__7 = 8; TrinoSqlLexer.T__8 = 9; TrinoSqlLexer.T__9 = 10; TrinoSqlLexer.T__10 = 11; TrinoSqlLexer.T__11 = 12; TrinoSqlLexer.T__12 = 13; TrinoSqlLexer.T__13 = 14; TrinoSqlLexer.T__14 = 15; TrinoSqlLexer.T__15 = 16; TrinoSqlLexer.T__16 = 17; TrinoSqlLexer.KW_ABSENT = 18; TrinoSqlLexer.KW_ADD = 19; TrinoSqlLexer.KW_ADMIN = 20; TrinoSqlLexer.KW_AFTER = 21; TrinoSqlLexer.KW_ALL = 22; TrinoSqlLexer.KW_ALTER = 23; TrinoSqlLexer.KW_ANALYZE = 24; TrinoSqlLexer.KW_AND = 25; TrinoSqlLexer.KW_ANY = 26; TrinoSqlLexer.KW_ARRAY = 27; TrinoSqlLexer.KW_AS = 28; TrinoSqlLexer.KW_ASC = 29; TrinoSqlLexer.KW_AT = 30; TrinoSqlLexer.KW_AUTHORIZATION = 31; TrinoSqlLexer.KW_BEGIN = 32; TrinoSqlLexer.KW_BERNOULLI = 33; TrinoSqlLexer.KW_BETWEEN = 34; TrinoSqlLexer.KW_BOTH = 35; TrinoSqlLexer.KW_BY = 36; TrinoSqlLexer.KW_CALL = 37; TrinoSqlLexer.KW_CALLED = 38; TrinoSqlLexer.KW_CASCADE = 39; TrinoSqlLexer.KW_CASE = 40; TrinoSqlLexer.KW_CAST = 41; TrinoSqlLexer.KW_CATALOG = 42; TrinoSqlLexer.KW_CATALOGS = 43; TrinoSqlLexer.KW_COLUMN = 44; TrinoSqlLexer.KW_COLUMNS = 45; TrinoSqlLexer.KW_COMMENT = 46; TrinoSqlLexer.KW_COMMIT = 47; TrinoSqlLexer.KW_COMMITTED = 48; TrinoSqlLexer.KW_CONDITIONAL = 49; TrinoSqlLexer.KW_CONSTRAINT = 50; TrinoSqlLexer.KW_COUNT = 51; TrinoSqlLexer.KW_COPARTITION = 52; TrinoSqlLexer.KW_CREATE = 53; TrinoSqlLexer.KW_CROSS = 54; TrinoSqlLexer.KW_CUBE = 55; TrinoSqlLexer.KW_CURRENT = 56; TrinoSqlLexer.KW_CURRENT_CATALOG = 57; TrinoSqlLexer.KW_CURRENT_DATE = 58; TrinoSqlLexer.KW_CURRENT_PATH = 59; TrinoSqlLexer.KW_CURRENT_ROLE = 60; TrinoSqlLexer.KW_CURRENT_SCHEMA = 61; TrinoSqlLexer.KW_CURRENT_TIME = 62; TrinoSqlLexer.KW_CURRENT_TIMESTAMP = 63; TrinoSqlLexer.KW_CURRENT_USER = 64; TrinoSqlLexer.KW_DATA = 65; TrinoSqlLexer.KW_DATE = 66; TrinoSqlLexer.KW_DAY = 67; TrinoSqlLexer.KW_DEALLOCATE = 68; TrinoSqlLexer.KW_DECLARE = 69; TrinoSqlLexer.KW_DEFAULT = 70; TrinoSqlLexer.KW_DEFINE = 71; TrinoSqlLexer.KW_DEFINER = 72; TrinoSqlLexer.KW_DELETE = 73; TrinoSqlLexer.KW_DENY = 74; TrinoSqlLexer.KW_DESC = 75; TrinoSqlLexer.KW_DESCRIBE = 76; TrinoSqlLexer.KW_DESCRIPTOR = 77; TrinoSqlLexer.KW_DETERMINISTIC = 78; TrinoSqlLexer.KW_DISTINCT = 79; TrinoSqlLexer.KW_DISTRIBUTED = 80; TrinoSqlLexer.KW_DO = 81; TrinoSqlLexer.KW_DOUBLE = 82; TrinoSqlLexer.KW_DROP = 83; TrinoSqlLexer.KW_ELSE = 84; TrinoSqlLexer.KW_EMPTY = 85; TrinoSqlLexer.KW_ELSEIF = 86; TrinoSqlLexer.KW_ENCODING = 87; TrinoSqlLexer.KW_END = 88; TrinoSqlLexer.KW_ERROR = 89; TrinoSqlLexer.KW_ESCAPE = 90; TrinoSqlLexer.KW_EXCEPT = 91; TrinoSqlLexer.KW_EXCLUDING = 92; TrinoSqlLexer.KW_EXECUTE = 93; TrinoSqlLexer.KW_EXISTS = 94; TrinoSqlLexer.KW_EXPLAIN = 95; TrinoSqlLexer.KW_EXTRACT = 96; TrinoSqlLexer.KW_FALSE = 97; TrinoSqlLexer.KW_FETCH = 98; TrinoSqlLexer.KW_FILTER = 99; TrinoSqlLexer.KW_FINAL = 100; TrinoSqlLexer.KW_FIRST = 101; TrinoSqlLexer.KW_FOLLOWING = 102; TrinoSqlLexer.KW_FOR = 103; TrinoSqlLexer.KW_FORMAT = 104; TrinoSqlLexer.KW_FROM = 105; TrinoSqlLexer.KW_FULL = 106; TrinoSqlLexer.KW_FUNCTION = 107; TrinoSqlLexer.KW_FUNCTIONS = 108; TrinoSqlLexer.KW_GRACE = 109; TrinoSqlLexer.KW_GRANT = 110; TrinoSqlLexer.KW_GRANTED = 111; TrinoSqlLexer.KW_GRANTS = 112; TrinoSqlLexer.KW_GRAPHVIZ = 113; TrinoSqlLexer.KW_GROUP = 114; TrinoSqlLexer.KW_GROUPING = 115; TrinoSqlLexer.KW_GROUPS = 116; TrinoSqlLexer.KW_HAVING = 117; TrinoSqlLexer.KW_HOUR = 118; TrinoSqlLexer.KW_IF = 119; TrinoSqlLexer.KW_IGNORE = 120; TrinoSqlLexer.KW_IMMEDIATE = 121; TrinoSqlLexer.KW_IN = 122; TrinoSqlLexer.KW_INCLUDING = 123; TrinoSqlLexer.KW_INITIAL = 124; TrinoSqlLexer.KW_INNER = 125; TrinoSqlLexer.KW_INPUT = 126; TrinoSqlLexer.KW_INSERT = 127; TrinoSqlLexer.KW_INTERSECT = 128; TrinoSqlLexer.KW_INTERVAL = 129; TrinoSqlLexer.KW_INTO = 130; TrinoSqlLexer.KW_INVOKER = 131; TrinoSqlLexer.KW_IO = 132; TrinoSqlLexer.KW_IS = 133; TrinoSqlLexer.KW_ISOLATION = 134; TrinoSqlLexer.KW_ITERATE = 135; TrinoSqlLexer.KW_JOIN = 136; TrinoSqlLexer.KW_JSON = 137; TrinoSqlLexer.KW_JSON_ARRAY = 138; TrinoSqlLexer.KW_JSON_EXISTS = 139; TrinoSqlLexer.KW_JSON_OBJECT = 140; TrinoSqlLexer.KW_JSON_QUERY = 141; TrinoSqlLexer.KW_JSON_TABLE = 142; TrinoSqlLexer.KW_JSON_VALUE = 143; TrinoSqlLexer.KW_KEEP = 144; TrinoSqlLexer.KW_KEY = 145; TrinoSqlLexer.KW_KEYS = 146; TrinoSqlLexer.KW_LANGUAGE = 147; TrinoSqlLexer.KW_LAST = 148; TrinoSqlLexer.KW_LATERAL = 149; TrinoSqlLexer.KW_LEADING = 150; TrinoSqlLexer.KW_LEAVE = 151; TrinoSqlLexer.KW_LEFT = 152; TrinoSqlLexer.KW_LEVEL = 153; TrinoSqlLexer.KW_LIKE = 154; TrinoSqlLexer.KW_LIMIT = 155; TrinoSqlLexer.KW_LISTAGG = 156; TrinoSqlLexer.KW_LOCAL = 157; TrinoSqlLexer.KW_LOCALTIME = 158; TrinoSqlLexer.KW_LOCALTIMESTAMP = 159; TrinoSqlLexer.KW_LOGICAL = 160; TrinoSqlLexer.KW_LOOP = 161; TrinoSqlLexer.KW_MAP = 162; TrinoSqlLexer.KW_MATCH = 163; TrinoSqlLexer.KW_MATCHED = 164; TrinoSqlLexer.KW_MATCHES = 165; TrinoSqlLexer.KW_MATCH_RECOGNIZE = 166; TrinoSqlLexer.KW_MATERIALIZED = 167; TrinoSqlLexer.KW_MEASURES = 168; TrinoSqlLexer.KW_MERGE = 169; TrinoSqlLexer.KW_MINUTE = 170; TrinoSqlLexer.KW_MONTH = 171; TrinoSqlLexer.KW_NATURAL = 172; TrinoSqlLexer.KW_NESTED = 173; TrinoSqlLexer.KW_NEXT = 174; TrinoSqlLexer.KW_NFC = 175; TrinoSqlLexer.KW_NFD = 176; TrinoSqlLexer.KW_NFKC = 177; TrinoSqlLexer.KW_NFKD = 178; TrinoSqlLexer.KW_NO = 179; TrinoSqlLexer.KW_NONE = 180; TrinoSqlLexer.KW_NORMALIZE = 181; TrinoSqlLexer.KW_NOT = 182; TrinoSqlLexer.KW_NULL = 183; TrinoSqlLexer.KW_NULLIF = 184; TrinoSqlLexer.KW_NULLS = 185; TrinoSqlLexer.KW_OBJECT = 186; TrinoSqlLexer.KW_OF = 187; TrinoSqlLexer.KW_OFFSET = 188; TrinoSqlLexer.KW_OMIT = 189; TrinoSqlLexer.KW_ON = 190; TrinoSqlLexer.KW_ONE = 191; TrinoSqlLexer.KW_ONLY = 192; TrinoSqlLexer.KW_OPTION = 193; TrinoSqlLexer.KW_OR = 194; TrinoSqlLexer.KW_ORDER = 195; TrinoSqlLexer.KW_ORDINALITY = 196; TrinoSqlLexer.KW_OUTER = 197; TrinoSqlLexer.KW_OUTPUT = 198; TrinoSqlLexer.KW_OVER = 199; TrinoSqlLexer.KW_OVERFLOW = 200; TrinoSqlLexer.KW_PARTITION = 201; TrinoSqlLexer.KW_PARTITIONS = 202; TrinoSqlLexer.KW_PASSING = 203; TrinoSqlLexer.KW_PAST = 204; TrinoSqlLexer.KW_PATH = 205; TrinoSqlLexer.KW_PATTERN = 206; TrinoSqlLexer.KW_PER = 207; TrinoSqlLexer.KW_PERIOD = 208; TrinoSqlLexer.KW_PERMUTE = 209; TrinoSqlLexer.KW_PLAN = 210; TrinoSqlLexer.KW_POSITION = 211; TrinoSqlLexer.KW_PRECEDING = 212; TrinoSqlLexer.KW_PRECISION = 213; TrinoSqlLexer.KW_PREPARE = 214; TrinoSqlLexer.KW_PRIVILEGES = 215; TrinoSqlLexer.KW_PROPERTIES = 216; TrinoSqlLexer.KW_PRUNE = 217; TrinoSqlLexer.KW_QUOTES = 218; TrinoSqlLexer.KW_RANGE = 219; TrinoSqlLexer.KW_READ = 220; TrinoSqlLexer.KW_RECURSIVE = 221; TrinoSqlLexer.KW_REFRESH = 222; TrinoSqlLexer.KW_RENAME = 223; TrinoSqlLexer.KW_REPEAT = 224; TrinoSqlLexer.KW_REPEATABLE = 225; TrinoSqlLexer.KW_REPLACE = 226; TrinoSqlLexer.KW_RESET = 227; TrinoSqlLexer.KW_RESPECT = 228; TrinoSqlLexer.KW_RESTRICT = 229; TrinoSqlLexer.KW_RETURN = 230; TrinoSqlLexer.KW_RETURNING = 231; TrinoSqlLexer.KW_RETURNS = 232; TrinoSqlLexer.KW_REVOKE = 233; TrinoSqlLexer.KW_RIGHT = 234; TrinoSqlLexer.KW_ROLE = 235; TrinoSqlLexer.KW_ROLES = 236; TrinoSqlLexer.KW_ROLLBACK = 237; TrinoSqlLexer.KW_ROLLUP = 238; TrinoSqlLexer.KW_ROW = 239; TrinoSqlLexer.KW_ROWS = 240; TrinoSqlLexer.KW_RUNNING = 241; TrinoSqlLexer.KW_SCALAR = 242; TrinoSqlLexer.KW_SCHEMA = 243; TrinoSqlLexer.KW_SCHEMAS = 244; TrinoSqlLexer.KW_SECOND = 245; TrinoSqlLexer.KW_SECURITY = 246; TrinoSqlLexer.KW_SEEK = 247; TrinoSqlLexer.KW_SELECT = 248; TrinoSqlLexer.KW_SERIALIZABLE = 249; TrinoSqlLexer.KW_SESSION = 250; TrinoSqlLexer.KW_SET = 251; TrinoSqlLexer.KW_SETS = 252; TrinoSqlLexer.KW_SHOW = 253; TrinoSqlLexer.KW_SOME = 254; TrinoSqlLexer.KW_START = 255; TrinoSqlLexer.KW_STATS = 256; TrinoSqlLexer.KW_SUBSET = 257; TrinoSqlLexer.KW_SUBSTRING = 258; TrinoSqlLexer.KW_SYSTEM = 259; TrinoSqlLexer.KW_TABLE = 260; TrinoSqlLexer.KW_TABLES = 261; TrinoSqlLexer.KW_TABLESAMPLE = 262; TrinoSqlLexer.KW_TEXT = 263; TrinoSqlLexer.KW_TEXT_STRING = 264; TrinoSqlLexer.KW_THEN = 265; TrinoSqlLexer.KW_TIES = 266; TrinoSqlLexer.KW_TIME = 267; TrinoSqlLexer.KW_TIMESTAMP = 268; TrinoSqlLexer.KW_TO = 269; TrinoSqlLexer.KW_TRAILING = 270; TrinoSqlLexer.KW_TRANSACTION = 271; TrinoSqlLexer.KW_TRIM = 272; TrinoSqlLexer.KW_TRUE = 273; TrinoSqlLexer.KW_TRUNCATE = 274; TrinoSqlLexer.KW_TRY_CAST = 275; TrinoSqlLexer.KW_TYPE = 276; TrinoSqlLexer.KW_UESCAPE = 277; TrinoSqlLexer.KW_UNBOUNDED = 278; TrinoSqlLexer.KW_UNCOMMITTED = 279; TrinoSqlLexer.KW_UNCONDITIONAL = 280; TrinoSqlLexer.KW_UNION = 281; TrinoSqlLexer.KW_UNIQUE = 282; TrinoSqlLexer.KW_UNKNOWN = 283; TrinoSqlLexer.KW_UNMATCHED = 284; TrinoSqlLexer.KW_UNNEST = 285; TrinoSqlLexer.KW_UNTIL = 286; TrinoSqlLexer.KW_UPDATE = 287; TrinoSqlLexer.KW_USE = 288; TrinoSqlLexer.KW_USER = 289; TrinoSqlLexer.KW_USING = 290; TrinoSqlLexer.KW_UTF16 = 291; TrinoSqlLexer.KW_UTF32 = 292; TrinoSqlLexer.KW_UTF8 = 293; TrinoSqlLexer.KW_VALIDATE = 294; TrinoSqlLexer.KW_VALUE = 295; TrinoSqlLexer.KW_VALUES = 296; TrinoSqlLexer.KW_VERBOSE = 297; TrinoSqlLexer.KW_VERSION = 298; TrinoSqlLexer.KW_VIEW = 299; TrinoSqlLexer.KW_WHEN = 300; TrinoSqlLexer.KW_WHERE = 301; TrinoSqlLexer.KW_WHILE = 302; TrinoSqlLexer.KW_WINDOW = 303; TrinoSqlLexer.KW_WITH = 304; TrinoSqlLexer.KW_WITHIN = 305; TrinoSqlLexer.KW_WITHOUT = 306; TrinoSqlLexer.KW_WORK = 307; TrinoSqlLexer.KW_WRAPPER = 308; TrinoSqlLexer.KW_WRITE = 309; TrinoSqlLexer.KW_YEAR = 310; TrinoSqlLexer.KW_ZONE = 311; TrinoSqlLexer.EQ = 312; TrinoSqlLexer.NEQ = 313; TrinoSqlLexer.LT = 314; TrinoSqlLexer.LTE = 315; TrinoSqlLexer.GT = 316; TrinoSqlLexer.GTE = 317; TrinoSqlLexer.PLUS = 318; TrinoSqlLexer.MINUS = 319; TrinoSqlLexer.ASTERISK = 320; TrinoSqlLexer.SLASH = 321; TrinoSqlLexer.PERCENT = 322; TrinoSqlLexer.CONCAT = 323; TrinoSqlLexer.QUESTION_MARK = 324; TrinoSqlLexer.SEMICOLON = 325; TrinoSqlLexer.STRING = 326; TrinoSqlLexer.UNICODE_STRING = 327; TrinoSqlLexer.BINARY_LITERAL = 328; TrinoSqlLexer.INTEGER_VALUE = 329; TrinoSqlLexer.DECIMAL_VALUE = 330; TrinoSqlLexer.DOUBLE_VALUE = 331; TrinoSqlLexer.IDENTIFIER = 332; TrinoSqlLexer.DIGIT_IDENTIFIER = 333; TrinoSqlLexer.QUOTED_IDENTIFIER = 334; TrinoSqlLexer.BACKQUOTED_IDENTIFIER = 335; TrinoSqlLexer.LINE_COMMENT = 336; TrinoSqlLexer.BRACKETED_COMMENT = 337; TrinoSqlLexer.WHITE_SPACE = 338; TrinoSqlLexer.UNRECOGNIZED = 339; TrinoSqlLexer.channelNames = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" ]; TrinoSqlLexer.literalNames = [ null, "'('", "')'", "','", "'.'", "'SKIP'", "'=>'", "'->'", "'['", "']'", "':'", "'|'", "'^'", "'$'", "'{-'", "'-}'", "'{'", "'}'", "'ABSENT'", "'ADD'", "'ADMIN'", "'AFTER'", "'ALL'", "'ALTER'", "'ANALYZE'", "'AND'", "'ANY'", "'ARRAY'", "'AS'", "'ASC'", "'AT'", "'AUTHORIZATION'", "'BEGIN'", "'BERNOULLI'", "'BETWEEN'", "'BOTH'", "'BY'", "'CALL'", "'CALLED'", "'CASCADE'", "'CASE'", "'CAST'", "'CATALOG'", "'CATALOGS'", "'COLUMN'", "'COLUMNS'", "'COMMENT'", "'COMMIT'", "'COMMITTED'", "'CONDITIONAL'", "'CONSTRAINT'", "'COUNT'", "'COPARTITION'", "'CREATE'", "'CROSS'", "'CUBE'", "'CURRENT'", "'CURRENT_CATALOG'", "'CURRENT_DATE'", "'CURRENT_PATH'", "'CURRENT_ROLE'", "'CURRENT_SCHEMA'", "'CURRENT_TIME'", "'CURRENT_TIMESTAMP'", "'CURRENT_USER'", "'DATA'", "'DATE'", "'DAY'", "'DEALLOCATE'", "'DECLARE'", "'DEFAULT'", "'DEFINE'", "'DEFINER'", "'DELETE'", "'DENY'", "'DESC'", "'DESCRIBE'", "'DESCRIPTOR'", "'DETERMINISTIC'", "'DISTINCT'", "'DISTRIBUTED'", "'DO'", "'DOUBLE'", "'DROP'", "'ELSE'", "'EMPTY'", "'ELSEIF'", "'ENCODING'", "'END'", "'ERROR'", "'ESCAPE'", "'EXCEPT'", "'EXCLUDING'", "'EXECUTE'", "'EXISTS'", "'EXPLAIN'", "'EXTRACT'", "'FALSE'", "'FETCH'", "'FILTER'", "'FINAL'", "'FIRST'", "'FOLLOWING'", "'FOR'", "'FORMAT'", "'FROM'", "'FULL'", "'FUNCTION'", "'FUNCTIONS'", "'GRACE'", "'GRANT'", "'GRANTED'", "'GRANTS'", "'GRAPHVIZ'", "'GROUP'", "'GROUPING'", "'GROUPS'", "'HAVING'", "'HOUR'", "'IF'", "'IGNORE'", "'IMMEDIATE'", "'IN'", "'INCLUDING'", "'INITIAL'", "'INNER'", "'INPUT'", "'INSERT'", "'INTERSECT'", "'INTERVAL'", "'INTO'", "'INVOKER'", "'IO'", "'IS'", "'ISOLATION'", "'ITERATE'", "'JOIN'", "'JSON'", "'JSON_ARRAY'", "'JSON_EXISTS'", "'JSON_OBJECT'", "'JSON_QUERY'", "'JSON_TABLE'", "'JSON_VALUE'", "'KEEP'", "'KEY'", "'KEYS'", "'LANGUAGE'", "'LAST'", "'LATERAL'", "'LEADING'", "'LEAVE'", "'LEFT'", "'LEVEL'", "'LIKE'", "'LIMIT'", "'LISTAGG'", "'LOCAL'", "'LOCALTIME'", "'LOCALTIMESTAMP'", "'LOGICAL'", "'LOOP'", "'MAP'", "'MATCH'", "'MATCHED'", "'MATCHES'", "'MATCH_RECOGNIZE'", "'MATERIALIZED'", "'MEASURES'", "'MERGE'", "'MINUTE'", "'MONTH'", "'NATURAL'", "'NESTED'", "'NEXT'", "'NFC'", "'NFD'", "'NFKC'", "'NFKD'", "'NO'", "'NONE'", "'NORMALIZE'", "'NOT'", "'NULL'", "'NULLIF'", "'NULLS'", "'OBJECT'", "'OF'", "'OFFSET'", "'OMIT'", "'ON'", "'ONE'", "'ONLY'", "'OPTION'", "'OR'", "'ORDER'", "'ORDINALITY'", "'OUTER'", "'OUTPUT'", "'OVER'", "'OVERFLOW'", "'PARTITION'", "'PARTITIONS'", "'PASSING'", "'PAST'", "'PATH'", "'PATTERN'", "'PER'", "'PERIOD'", "'PERMUTE'", "'PLAN'", "'POSITION'", "'PRECEDING'", "'PRECISION'", "'PREPARE'", "'PRIVILEGES'", "'PROPERTIES'", "'PRUNE'", "'QUOTES'", "'RANGE'", "'READ'", "'RECURSIVE'", "'REFRESH'", "'RENAME'", "'REPEAT'", "'REPEATABLE'", "'REPLACE'", "'RESET'", "'RESPECT'", "'RESTRICT'", "'RETURN'", "'RETURNING'", "'RETURNS'", "'REVOKE'", "'RIGHT'", "'ROLE'", "'ROLES'", "'ROLLBACK'", "'ROLLUP'", "'ROW'", "'ROWS'", "'RUNNING'", "'SCALAR'", "'SCHEMA'", "'SCHEMAS'", "'SECOND'", "'SECURITY'", "'SEEK'", "'SELECT'", "'SERIALIZABLE'", "'SESSION'", "'SET'", "'SETS'", "'SHOW'", "'SOME'", "'START'", "'STATS'", "'SUBSET'", "'SUBSTRING'", "'SYSTEM'", "'TABLE'", "'TABLES'", "'TABLESAMPLE'", "'TEXT'", "'STRING'", "'THEN'", "'TIES'", "'TIME'", "'TIMESTAMP'", "'TO'", "'TRAILING'", "'TRANSACTION'", "'TRIM'", "'TRUE'", "'TRUNCATE'", "'TRY_CAST'", "'TYPE'", "'UESCAPE'", "'UNBOUNDED'", "'UNCOMMITTED'", "'UNCONDITIONAL'", "'UNION'", "'UNIQUE'", "'UNKNOWN'", "'UNMATCHED'", "'UNNEST'", "'UNTIL'", "'UPDATE'", "'USE'", "'USER'", "'USING'", "'UTF16'", "'UTF32'", "'UTF8'", "'VALIDATE'", "'VALUE'", "'VALUES'", "'VERBOSE'", "'VERSION'", "'VIEW'", "'WHEN'", "'WHERE'", "'WHILE'", "'WINDOW'", "'WITH'", "'WITHIN'", "'WITHOUT'", "'WORK'", "'WRAPPER'", "'WRITE'", "'YEAR'", "'ZONE'", "'='", null, "'<'", "'<='", "'>'", "'>='", "'+'", "'-'", "'*'", "'/'", "'%'", "'||'", "'?'", "';'" ]; TrinoSqlLexer.symbolicNames = [ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "KW_ABSENT", "KW_ADD", "KW_ADMIN", "KW_AFTER", "KW_ALL", "KW_ALTER", "KW_ANALYZE", "KW_AND", "KW_ANY", "KW_ARRAY", "KW_AS", "KW_ASC", "KW_AT", "KW_AUTHORIZATION", "KW_BEGIN", "KW_BERNOULLI", "KW_BETWEEN", "KW_BOTH", "KW_BY", "KW_CALL", "KW_CALLED", "KW_CASCADE", "KW_CASE", "KW_CAST", "KW_CATALOG", "KW_CATALOGS", "KW_COLUMN", "KW_COLUMNS", "KW_COMMENT", "KW_COMMIT", "KW_COMMITTED", "KW_CONDITIONAL", "KW_CONSTRAINT", "KW_COUNT", "KW_COPARTITION", "KW_CREATE", "KW_CROSS", "KW_CUBE", "KW_CURRENT", "KW_CURRENT_CATALOG", "KW_CURRENT_DATE", "KW_CURRENT_PATH", "KW_CURRENT_ROLE", "KW_CURRENT_SCHEMA", "KW_CURRENT_TIME", "KW_CURRENT_TIMESTAMP", "KW_CURRENT_USER", "KW_DATA", "KW_DATE", "KW_DAY", "KW_DEALLOCATE", "KW_DECLARE", "KW_DEFAULT", "KW_DEFINE", "KW_DEFINER", "KW_DELETE", "KW_DENY", "KW_DESC", "KW_DESCRIBE", "KW_DESCRIPTOR", "KW_DETERMINISTIC", "KW_DISTINCT", "KW_DISTRIBUTED", "KW_DO", "KW_DOUBLE", "KW_DROP", "KW_ELSE", "KW_EMPTY", "KW_ELSEIF", "KW_ENCODING", "KW_END", "KW_ERROR", "KW_ESCAPE", "KW_EXCEPT", "KW_EXCLUDING", "KW_EXECUTE", "KW_EXISTS", "KW_EXPLAIN", "KW_EXTRACT", "KW_FALSE", "KW_FETCH", "KW_FILTER", "KW_FINAL", "KW_FIRST", "KW_FOLLOWING", "KW_FOR", "KW_FORMAT", "KW_FROM", "KW_FULL", "KW_FUNCTION", "KW_FUNCTIONS", "KW_GRACE", "KW_GRANT", "KW_GRANTED", "KW_GRANTS", "KW_GRAPHVIZ", "KW_GROUP", "KW_GROUPING", "KW_GROUPS", "KW_HAVING", "KW_HOUR", "KW_IF", "KW_IGNORE", "KW_IMMEDIATE", "KW_IN", "KW_INCLUDING", "KW_INITIAL", "KW_INNER", "KW_INPUT", "KW_INSERT", "KW_INTERSECT", "KW_INTERVAL", "KW_INTO", "KW_INVOKER", "KW_IO", "KW_IS", "KW_ISOLATION", "KW_ITERATE", "KW_JOIN", "KW_JSON", "KW_JSON_ARRAY", "KW_JSON_EXISTS", "KW_JSON_OBJECT", "KW_JSON_QUERY", "KW_JSON_TABLE", "KW_JSON_VALUE", "KW_KEEP", "KW_KEY", "KW_KEYS", "KW_LANGUAGE", "KW_LAST", "KW_LATERAL", "KW_LEADING", "KW_LEAVE", "KW_LEFT", "KW_LEVEL", "KW_LIKE", "KW_LIMIT", "KW_LISTAGG", "KW_LOCAL", "KW_LOCALTIME", "KW_LOCALTIMESTAMP", "KW_LOGICAL", "KW_LOOP", "KW_MAP", "KW_MATCH", "KW_MATCHED", "KW_MATCHES", "KW_MATCH_RECOGNIZE", "KW_MATERIALIZED", "KW_MEASURES", "KW_MERGE", "KW_MINUTE", "KW_MONTH", "KW_NATURAL", "KW_NESTED", "KW_NEXT", "KW_NFC", "KW_NFD", "KW_NFKC", "KW_NFKD", "KW_NO", "KW_NONE", "KW_NORMALIZE", "KW_NOT", "KW_NULL", "KW_NULLIF", "KW_NULLS", "KW_OBJECT", "KW_OF", "KW_OFFSET", "KW_OMIT", "KW_ON", "KW_ONE", "KW_ONLY", "KW_OPTION", "KW_OR", "KW_ORDER", "KW_ORDINALITY", "KW_OUTER", "KW_OUTPUT", "KW_OVER", "KW_OVERFLOW", "KW_PARTITION", "KW_PARTITIONS", "KW_PASSING", "KW_PAST", "KW_PATH", "KW_PATTERN", "KW_PER", "KW_PERIOD", "KW_PERMUTE", "KW_PLAN", "KW_POSITION", "KW_PRECEDING", "KW_PRECISION", "KW_PREPARE", "KW_PRIVILEGES", "KW_PROPERTIES", "KW_PRUNE", "KW_QUOTES", "KW_RANGE", "KW_READ", "KW_RECURSIVE", "KW_REFRESH", "KW_RENAME", "KW_REPEAT", "KW_REPEATABLE", "KW_REPLACE", "KW_RESET", "KW_RESPECT", "KW_RESTRICT", "KW_RETURN", "KW_RETURNING", "KW_RETURNS", "KW_REVOKE", "KW_RIGHT", "KW_ROLE", "KW_ROLES", "KW_ROLLBACK", "KW_ROLLUP", "KW_ROW", "KW_ROWS", "KW_RUNNING", "KW_SCALAR", "KW_SCHEMA", "KW_SCHEMAS", "KW_SECOND", "KW_SECURITY", "KW_SEEK", "KW_SELECT", "KW_SERIALIZABLE", "KW_SESSION", "KW_SET", "KW_SETS", "KW_SHOW", "KW_SOME", "KW_START", "KW_STATS", "KW_SUBSET", "KW_SUBSTRING", "KW_SYSTEM", "KW_TABLE", "KW_TABLES", "KW_TABLESAMPLE", "KW_TEXT", "KW_TEXT_STRING", "KW_THEN", "KW_TIES", "KW_TIME", "KW_TIMESTAMP", "KW_TO", "KW_TRAILING", "KW_TRANSACTION", "KW_TRIM", "KW_TRUE", "KW_TRUNCATE", "KW_TRY_CAST", "KW_TYPE", "KW_UESCAPE", "KW_UNBOUNDED", "KW_UNCOMMITTED", "KW_UNCONDITIONAL", "KW_UNION", "KW_UNIQUE", "KW_UNKNOWN", "KW_UNMATCHED", "KW_UNNEST", "KW_UNTIL", "KW_UPDATE", "KW_USE", "KW_USER", "KW_USING", "KW_UTF16", "KW_UTF32", "KW_UTF8", "KW_VALIDATE", "KW_VALUE", "KW_VALUES", "KW_VERBOSE", "KW_VERSION", "KW_VIEW", "KW_WHEN", "KW_WHERE", "KW_WHILE", "KW_WINDOW", "KW_WITH", "KW_WITHIN", "KW_WITHOUT", "KW_WORK", "KW_WRAPPER", "KW_WRITE", "KW_YEAR", "KW_ZONE", "EQ", "NEQ", "LT", "LTE", "GT", "GTE", "PLUS", "MINUS", "ASTERISK", "SLASH", "PERCENT", "CONCAT", "QUESTION_MARK", "SEMICOLON", "STRING", "UNICODE_STRING", "BINARY_LITERAL", "INTEGER_VALUE", "DECIMAL_VALUE", "DOUBLE_VALUE", "IDENTIFIER", "DIGIT_IDENTIFIER", "QUOTED_IDENTIFIER", "BACKQUOTED_IDENTIFIER", "LINE_COMMENT", "BRACKETED_COMMENT", "WHITE_SPACE", "UNRECOGNIZED" ]; TrinoSqlLexer.modeNames = [ "DEFAULT_MODE", ]; TrinoSqlLexer.ruleNames = [ "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8", "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "T__16", "KW_ABSENT", "KW_ADD", "KW_ADMIN", "KW_AFTER", "KW_ALL", "KW_ALTER", "KW_ANALYZE", "KW_AND", "KW_ANY", "KW_ARRAY", "KW_AS", "KW_ASC", "KW_AT", "KW_AUTHORIZATION", "KW_BEGIN", "KW_BERNOULLI", "KW_BETWEEN", "KW_BOTH", "KW_BY", "KW_CALL", "KW_CALLED", "KW_CASCADE", "KW_CASE", "KW_CAST", "KW_CATALOG", "KW_CATALOGS", "KW_COLUMN", "KW_COLUMNS", "KW_COMMENT", "KW_COMMIT", "KW_COMMITTED", "KW_CONDITIONAL", "KW_CONSTRAINT", "KW_COUNT", "KW_COPARTITION", "KW_CREATE", "KW_CROSS", "KW_CUBE", "KW_CURRENT", "KW_CURRENT_CATALOG", "KW_CURRENT_DATE", "KW_CURRENT_PATH", "KW_CURRENT_ROLE", "KW_CURRENT_SCHEMA", "KW_CURRENT_TIME", "KW_CURRENT_TIMESTAMP", "KW_CURRENT_USER", "KW_DATA", "KW_DATE", "KW_DAY", "KW_DEALLOCATE", "KW_DECLARE", "KW_DEFAULT", "KW_DEFINE", "KW_DEFINER", "KW_DELETE", "KW_DENY", "KW_DESC", "KW_DESCRIBE", "KW_DESCRIPTOR", "KW_DETERMINISTIC", "KW_DISTINCT", "KW_DISTRIBUTED", "KW_DO", "KW_DOUBLE", "KW_DROP", "KW_ELSE", "KW_EMPTY", "KW_ELSEIF", "KW_ENCODING", "KW_END", "KW_ERROR", "KW_ESCAPE", "KW_EXCEPT", "KW_EXCLUDING", "KW_EXECUTE", "KW_EXISTS", "KW_EXPLAIN", "KW_EXTRACT", "KW_FALSE", "KW_FETCH", "KW_FILTER", "KW_FINAL", "KW_FIRST", "KW_FOLLOWING", "KW_FOR", "KW_FORMAT", "KW_FROM", "KW_FULL", "KW_FUNCTION", "KW_FUNCTIONS", "KW_GRACE", "KW_GRANT", "KW_GRANTED", "KW_GRANTS", "KW_GRAPHVIZ", "KW_GROUP", "KW_GROUPING", "KW_GROUPS", "KW_HAVING", "KW_HOUR", "KW_IF", "KW_IGNORE", "KW_IMMEDIATE", "KW_IN", "KW_INCLUDING", "KW_INITIAL", "KW_INNER", "KW_INPUT", "KW_INSERT", "KW_INTERSECT", "KW_INTERVAL", "KW_INTO", "KW_INVOKER", "KW_IO", "KW_IS", "KW_ISOLATION", "KW_ITERATE", "KW_JOIN", "KW_JSON", "KW_JSON_ARRAY", "KW_JSON_EXISTS", "KW_JSON_OBJECT", "KW_JSON_QUERY", "KW_JSON_TABLE", "KW_JSON_VALUE", "KW_KEEP", "KW_KEY", "KW_KEYS", "KW_LANGUAGE", "KW_LAST", "KW_LATERAL", "KW_LEADING", "KW_LEAVE", "KW_LEFT", "KW_LEVEL", "KW_LIKE", "KW_LIMIT", "KW_LISTAGG", "KW_LOCAL", "KW_LOCALTIME", "KW_LOCALTIMESTAMP", "KW_LOGICAL", "KW_LOOP", "KW_MAP", "KW_MATCH", "KW_MATCHED", "KW_MATCHES", "KW_MATCH_RECOGNIZE", "KW_MATERIALIZED", "KW_MEASURES", "KW_MERGE", "KW_MINUTE", "KW_MONTH", "KW_NATURAL", "KW_NESTED", "KW_NEXT", "KW_NFC", "KW_NFD", "KW_NFKC", "KW_NFKD", "KW_NO", "KW_NONE", "KW_NORMALIZE", "KW_NOT", "KW_NULL", "KW_NULLIF", "KW_NULLS", "KW_OBJECT", "KW_OF", "KW_OFFSET", "KW_OMIT", "KW_ON", "KW_ONE", "KW_ONLY", "KW_OPTION", "KW_OR", "KW_ORDER", "KW_ORDINALITY", "KW_OUTER", "KW_OUTPUT", "KW_OVER", "KW_OVERFLOW", "KW_PARTITION", "KW_PARTITIONS", "KW_PASSING", "KW_PAST", "KW_PATH", "KW_PATTERN", "KW_PER", "KW_PERIOD", "KW_PERMUTE", "KW_PLAN", "KW_POSITION", "KW_PRECEDING", "KW_PRECISION", "KW_PREPARE", "KW_PRIVILEGES", "KW_PROPERTIES", "KW_PRUNE", "KW_QUOTES", "KW_RANGE", "KW_READ", "KW_RECURSIVE", "KW_REFRESH", "KW_RENAME", "KW_REPEAT", "KW_REPEATABLE", "KW_REPLACE", "KW_RESET", "KW_RESPECT", "KW_RESTRICT", "KW_RETURN", "KW_RETURNING", "KW_RETURNS", "KW_REVOKE", "KW_RIGHT", "KW_ROLE", "KW_ROLES", "KW_ROLLBACK", "KW_ROLLUP", "KW_ROW", "KW_ROWS", "KW_RUNNING", "KW_SCALAR", "KW_SCHEMA", "KW_SCHEMAS", "KW_SECOND", "KW_SECURITY", "KW_SEEK", "KW_SELECT", "KW_SERIALIZABLE", "KW_SESSION", "KW_SET", "KW_SETS", "KW_SHOW", "KW_SOME", "KW_START", "KW_STATS", "KW_SUBSET", "KW_SUBSTRING", "KW_SYSTEM", "KW_TABLE", "KW_TABLES", "KW_TABLESAMPLE", "KW_TEXT", "KW_TEXT_STRING", "KW_THEN", "KW_TIES", "KW_TIME", "KW_TIMESTAMP", "KW_TO", "KW_TRAILING", "KW_TRANSACTION", "KW_TRIM", "KW_TRUE", "KW_TRUNCATE", "KW_TRY_CAST", "KW_TYPE", "KW_UESCAPE", "KW_UNBOUNDED", "KW_UNCOMMITTED", "KW_UNCONDITIONAL", "KW_UNION", "KW_UNIQUE", "KW_UNKNOWN", "KW_UNMATCHED", "KW_UNNEST", "KW_UNTIL", "KW_UPDATE", "KW_USE", "KW_USER", "KW_USING", "KW_UTF16", "KW_UTF32", "KW_UTF8", "KW_VALIDATE", "KW_VALUE", "KW_VALUES", "KW_VERBOSE", "KW_VERSION", "KW_VIEW", "KW_WHEN", "KW_WHERE", "KW_WHILE", "KW_WINDOW", "KW_WITH", "KW_WITHIN", "KW_WITHOUT", "KW_WORK", "KW_WRAPPER", "KW_WRITE", "KW_YEAR", "KW_ZONE", "EQ", "NEQ", "LT", "LTE", "GT", "GTE", "PLUS", "MINUS", "ASTERISK", "SLASH", "PERCENT", "CONCAT", "QUESTION_MARK", "SEMICOLON", "STRING", "UNICODE_STRING", "BINARY_LITERAL", "INTEGER_VALUE", "DECIMAL_VALUE", "DOUBLE_VALUE", "IDENTIFIER", "DIGIT_IDENTIFIER", "QUOTED_IDENTIFIER", "BACKQUOTED_IDENTIFIER", "DECIMAL_INTEGER", "HEXADECIMAL_INTEGER", "OCTAL_INTEGER", "BINARY_INTEGER", "EXPONENT", "DIGIT", "LETTER", "LINE_COMMENT", "BRACKETED_COMMENT", "WHITE_SPACE", "UNRECOGNIZED", ]; TrinoSqlLexer._serializedATN = [ 4, 0, 339, 3114, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, 7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, 111, 7, 111, 2, 112, 7, 112, 2, 113, 7, 113, 2, 114, 7, 114, 2, 115, 7, 115, 2, 116, 7, 116, 2, 117, 7, 117, 2, 118, 7, 118, 2, 119, 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, 2, 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, 2, 125, 7, 125, 2, 126, 7, 126, 2, 127, 7, 127, 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, 7, 130, 2, 131, 7, 131, 2, 132, 7, 132, 2, 133, 7, 133, 2, 134, 7, 134, 2, 135, 7, 135, 2, 136, 7, 136, 2, 137, 7, 137, 2, 138, 7, 138, 2, 139, 7, 139, 2, 140, 7, 140, 2, 141, 7, 141, 2, 142, 7, 142, 2, 143, 7, 143, 2, 144, 7, 144, 2, 145, 7, 145, 2, 146, 7, 146, 2, 147, 7, 147, 2, 148, 7, 148, 2, 149, 7, 149, 2, 150, 7, 150, 2, 151, 7, 151, 2, 152, 7, 152, 2, 153, 7, 153, 2, 154, 7, 154, 2, 155, 7, 155, 2, 156, 7, 156, 2, 157, 7, 157, 2, 158, 7, 158, 2, 159, 7, 159, 2, 160, 7, 160, 2, 161, 7, 161, 2, 162, 7, 162, 2, 163, 7, 163, 2, 164, 7, 164, 2, 165, 7, 165, 2, 166, 7, 166, 2, 167, 7, 167, 2, 168, 7, 168, 2, 169, 7, 169, 2, 170, 7, 170, 2, 171, 7, 171, 2, 172, 7, 172, 2, 173, 7, 173, 2, 174, 7, 174, 2, 175, 7, 175, 2, 176, 7, 176, 2, 177, 7, 177, 2, 178, 7, 178, 2, 179, 7, 179, 2, 180, 7, 180, 2, 181, 7, 181, 2, 182, 7, 182, 2, 183, 7, 183, 2, 184, 7, 184, 2, 185, 7, 185, 2, 186, 7, 186, 2, 187, 7, 187, 2, 188, 7, 188, 2, 189, 7, 189, 2, 190, 7, 190, 2, 191, 7, 191, 2, 192, 7, 192, 2, 193, 7, 193, 2, 194, 7, 194, 2, 195, 7, 195, 2, 196, 7, 196, 2, 197, 7, 197, 2, 198, 7, 198, 2, 199, 7, 199, 2, 200, 7, 200, 2, 201, 7, 201, 2, 202, 7, 202, 2, 203, 7, 203, 2, 204, 7, 204, 2, 205, 7, 205, 2, 206, 7, 206, 2, 207, 7, 207, 2, 208, 7, 208, 2, 209, 7, 209, 2, 210, 7, 210, 2, 211, 7, 211, 2, 212, 7, 212, 2, 213, 7, 213, 2, 214, 7, 214, 2, 215, 7, 215, 2, 216, 7, 216, 2, 217, 7, 217, 2, 218, 7, 218, 2, 219, 7, 219, 2, 220, 7, 220, 2, 221, 7, 221, 2, 222, 7, 222, 2, 223, 7, 223, 2, 224, 7, 224, 2, 225, 7, 225, 2, 226, 7, 226, 2, 227, 7, 227, 2, 228, 7, 228, 2, 229, 7, 229, 2, 230, 7, 230, 2, 231, 7, 231, 2, 232, 7, 232, 2, 233, 7, 233, 2, 234, 7, 234, 2, 235, 7, 235, 2, 236, 7, 236, 2, 237, 7, 237, 2, 238, 7, 238, 2, 239, 7, 239, 2, 240, 7, 240, 2, 241, 7, 241, 2, 242, 7, 242, 2, 243, 7, 243, 2, 244, 7, 244, 2, 245, 7, 245, 2, 246, 7, 246, 2, 247, 7, 247, 2, 248, 7, 248, 2, 249, 7, 249, 2, 250, 7, 250, 2, 251, 7, 251, 2, 252, 7, 252, 2, 253, 7, 253, 2, 254, 7, 254, 2, 255, 7, 255, 2, 256, 7, 256, 2, 257, 7, 257, 2, 258, 7, 258, 2, 259, 7, 259, 2, 260, 7, 260, 2, 261, 7, 261, 2, 262, 7, 262, 2, 263, 7, 263, 2, 264, 7, 264, 2, 265, 7, 265, 2, 266, 7, 266, 2, 267, 7, 267, 2, 268, 7, 268, 2, 269, 7, 269, 2, 270, 7, 270, 2, 271, 7, 271, 2, 272, 7, 272, 2, 273, 7, 273, 2, 274, 7, 274, 2, 275, 7, 275, 2, 276, 7, 276, 2, 277, 7, 277, 2, 278, 7, 278, 2, 279, 7, 279, 2, 280, 7, 280, 2, 281, 7, 281, 2, 282, 7, 282, 2, 283, 7, 283, 2, 284, 7, 284, 2, 285, 7, 285, 2, 286, 7, 286, 2, 287, 7, 287, 2, 288, 7, 288, 2, 289, 7, 289, 2, 290, 7, 290, 2, 291, 7, 291, 2, 292, 7, 292, 2, 293, 7, 293, 2, 294, 7, 294, 2, 295, 7, 295, 2, 296, 7, 296, 2, 297, 7, 297, 2, 298, 7, 298, 2, 299, 7, 299, 2, 300, 7, 300, 2, 301, 7, 301, 2, 302, 7, 302, 2, 303, 7, 303, 2, 304, 7, 304, 2, 305, 7, 305, 2, 306, 7, 306, 2, 307, 7, 307, 2, 308, 7, 308, 2, 309, 7, 309, 2, 310, 7, 310, 2, 311, 7, 311, 2, 312, 7, 312, 2, 313, 7, 313, 2, 314, 7, 314, 2, 315, 7, 315, 2, 316, 7, 316, 2, 317, 7, 317, 2, 318, 7, 318, 2, 319, 7, 319, 2, 320, 7, 320, 2, 321, 7, 321, 2, 322, 7, 322, 2, 323, 7, 323, 2, 324, 7, 324, 2, 325, 7, 325, 2, 326, 7, 326, 2, 327, 7, 327, 2, 328, 7, 328, 2, 329, 7, 329, 2, 330, 7, 330, 2, 331, 7, 331, 2, 332, 7, 332, 2, 333, 7, 333, 2, 334, 7, 334, 2, 335, 7, 335, 2, 336, 7, 336, 2, 337, 7, 337, 2, 338, 7, 338, 2, 339, 7, 339, 2, 340, 7, 340, 2, 341, 7, 341, 2, 342, 7, 342, 2, 343, 7, 343, 2, 344, 7, 344, 2, 345, 7, 345, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 66, 1, 66, 1, 66, 1, 66, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 80, 1, 80, 1, 80, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 87, 1, 87, 1, 87, 1, 87, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 102, 1, 102, 1, 102, 1, 102, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 118, 1, 118, 1, 118, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 121, 1, 121, 1, 121, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 131, 1, 131, 1, 131, 1, 132, 1, 132, 1, 132, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 141, 1, 141, 1, 141, 1, 141, 1, 141, 1, 141, 1, 141, 1, 141, 1, 141, 1, 141, 1, 141, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, 144, 1, 144, 1, 144, 1, 144, 1, 145, 1, 145, 1, 145, 1, 145, 1, 145, 1, 146, 1, 146, 1, 146, 1, 146, 1, 146, 1, 146, 1, 146, 1, 146, 1, 146, 1, 147, 1, 147, 1, 147, 1, 147, 1, 147, 1, 148, 1, 148, 1, 148, 1, 148, 1, 148, 1, 148, 1, 148, 1, 148, 1, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 151, 1, 151, 1, 151, 1, 151, 1, 151, 1, 152, 1, 152, 1, 152, 1, 152, 1, 152, 1, 152, 1, 153, 1, 153, 1, 153, 1, 153, 1, 153, 1, 154, 1, 154, 1, 154, 1, 154, 1, 154, 1, 154, 1, 155, 1, 155, 1, 155, 1, 155, 1, 155, 1, 155, 1, 155, 1, 155, 1, 156, 1, 156, 1, 156, 1, 156, 1, 156, 1, 156, 1, 157, 1, 157, 1, 157, 1, 157, 1, 157, 1, 157, 1, 157, 1, 157, 1, 157, 1, 157, 1, 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, 159, 1, 159, 1, 159, 1, 159, 1, 159, 1, 159, 1, 159, 1, 159, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 161, 1, 161, 1, 161, 1, 161, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 164, 1, 164, 1, 164, 1, 164, 1, 164, 1, 164, 1, 164, 1, 164, 1, 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 166, 1, 166, 1, 166, 1, 166, 1, 166, 1, 166, 1, 166, 1, 166, 1, 166, 1, 166, 1, 166, 1, 166, 1, 166, 1, 167, 1, 167, 1, 167, 1, 167, 1, 167, 1, 167, 1, 167, 1, 167, 1, 167, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 172, 1, 172, 1, 172, 1, 172, 1, 172, 1, 172, 1, 172, 1, 173, 1, 173, 1, 173, 1, 173, 1, 173, 1, 174, 1, 174, 1, 174, 1, 174, 1, 175, 1, 175, 1, 175, 1, 175, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 178, 1, 178, 1, 178, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 180, 1, 180, 1, 180, 1, 180, 1, 180, 1, 180, 1, 180, 1, 180, 1, 180, 1, 180, 1, 181, 1, 181, 1, 181, 1, 181, 1, 182, 1, 182, 1, 182, 1, 182, 1, 182, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 185, 1, 185, 1, 185, 1, 185, 1, 185, 1, 185, 1, 185, 1, 186, 1, 186, 1, 186, 1, 187, 1, 187, 1, 187, 1, 187, 1, 187, 1, 187, 1, 187, 1, 188, 1, 188, 1, 188, 1, 188, 1, 188, 1, 189, 1, 189, 1, 189, 1, 190, 1, 190, 1, 190, 1, 190, 1, 191, 1, 191, 1, 191, 1, 191, 1, 191, 1, 192, 1, 192, 1, 192, 1, 192, 1, 192, 1, 192, 1, 192, 1, 193, 1, 193, 1, 193, 1, 194, 1, 194, 1, 194, 1, 194, 1, 194, 1, 194, 1, 195, 1, 195, 1, 195, 1, 195, 1, 195, 1, 195, 1, 195, 1, 195, 1, 195, 1, 195, 1, 195, 1, 196, 1, 196, 1, 196, 1, 196, 1, 196, 1, 196, 1, 197, 1, 197, 1, 197, 1, 197, 1, 197, 1, 197, 1, 197, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, 199, 1, 199, 1, 199, 1, 199, 1, 199, 1, 199, 1, 199, 1, 199, 1, 199, 1, 200, 1, 200, 1, 200, 1, 200, 1, 200, 1, 200, 1, 200, 1, 200, 1, 200, 1, 200, 1, 201, 1, 201, 1, 201, 1, 201, 1, 201, 1, 201, 1, 201, 1, 201, 1, 201, 1, 201, 1, 201, 1, 202, 1, 202, 1, 202, 1, 202, 1, 202, 1, 202, 1, 202, 1, 202, 1, 203, 1, 203, 1, 203, 1, 203, 1, 203, 1, 204, 1, 204, 1, 204, 1, 204, 1, 204, 1, 205, 1, 205, 1, 205, 1, 205, 1, 205, 1, 205, 1, 205, 1, 205, 1, 206, 1, 206, 1, 206, 1, 206, 1, 207, 1, 207, 1, 207, 1, 207, 1, 207, 1, 207, 1, 207, 1, 208, 1, 208, 1, 208, 1, 208, 1, 208, 1, 208, 1, 208, 1, 208, 1, 209, 1, 209, 1, 209, 1, 209, 1, 209, 1, 210, 1, 210, 1, 210, 1, 210, 1, 210, 1, 210, 1, 210, 1, 210, 1, 210, 1, 211, 1, 211, 1, 211, 1, 211, 1, 211, 1, 211, 1, 211, 1, 211, 1, 211, 1, 211, 1, 212, 1, 212, 1, 212, 1, 212, 1, 212, 1, 212, 1, 212, 1, 212, 1, 212, 1, 212, 1, 213, 1, 213, 1, 213, 1, 213, 1, 213, 1, 213, 1, 213, 1, 213, 1, 214, 1, 214, 1, 214, 1, 214, 1, 214, 1, 214, 1, 214, 1, 214, 1, 214, 1, 214, 1, 214, 1, 215, 1, 215, 1, 215, 1, 215, 1, 215, 1, 215, 1, 215, 1, 215, 1, 215, 1, 215, 1, 215, 1, 216, 1, 216, 1, 216, 1, 216, 1, 216, 1, 216, 1, 217, 1, 217, 1, 217, 1, 217, 1, 217, 1, 217, 1, 217, 1, 218, 1, 218, 1, 218, 1, 218, 1, 218, 1, 218, 1, 219, 1, 219, 1, 219, 1, 219, 1, 219, 1, 220, 1, 220, 1, 220, 1, 220, 1, 220, 1, 220, 1, 220, 1, 220, 1, 220, 1, 220, 1, 221, 1, 221, 1, 221, 1, 221, 1, 221, 1, 221, 1, 221, 1, 221, 1, 222, 1, 222, 1, 222, 1, 222, 1, 222, 1, 222, 1, 222, 1, 223, 1, 223, 1, 223, 1, 223, 1, 223, 1, 223, 1, 223, 1, 224, 1, 224, 1, 224, 1, 224, 1, 224, 1, 224, 1, 224, 1, 224, 1, 224, 1, 224, 1, 224, 1, 225, 1, 225, 1, 225, 1, 225, 1, 225, 1, 225, 1, 225, 1, 225, 1, 226, 1, 226, 1, 226, 1, 226, 1, 226, 1, 226, 1, 227, 1, 227, 1, 227, 1, 227, 1, 227, 1, 227, 1, 227, 1, 227, 1, 228, 1, 228, 1, 228, 1, 228, 1, 228, 1, 228, 1, 228, 1, 228, 1, 228, 1, 229, 1, 229, 1, 229, 1, 229, 1, 229, 1, 229, 1, 229, 1, 230, 1, 230, 1, 230, 1, 230, 1, 230, 1, 230, 1, 230, 1, 230, 1, 230, 1, 230, 1, 231, 1, 231, 1, 231, 1, 231, 1, 231, 1, 231, 1, 231, 1, 231, 1, 232, 1, 232, 1, 232, 1, 232, 1, 232, 1, 232, 1, 232, 1, 233, 1, 233, 1, 233, 1, 233, 1, 233, 1, 233, 1, 234, 1, 234, 1, 234, 1, 234, 1, 234, 1, 235, 1, 235, 1, 235, 1, 235, 1, 235, 1, 235, 1, 236, 1, 236, 1, 236, 1, 236, 1, 236, 1, 236, 1, 236, 1, 236, 1, 236, 1, 237, 1, 237, 1, 237, 1, 237, 1, 237, 1, 237, 1, 237, 1, 238, 1, 238, 1, 238, 1, 238, 1, 239, 1, 239, 1, 239, 1, 239, 1, 239, 1, 240, 1, 240, 1, 240, 1, 240, 1, 240, 1, 240, 1, 240, 1, 240, 1, 241, 1, 241, 1, 241, 1, 241, 1, 241, 1, 241, 1, 241, 1, 242, 1, 242, 1, 242, 1, 242, 1, 242, 1, 242, 1, 242, 1, 243, 1, 243, 1, 243, 1, 243, 1, 243, 1, 243, 1, 243, 1, 243, 1, 244, 1, 244, 1, 244, 1, 244, 1, 244, 1, 244, 1, 244, 1, 245, 1, 245, 1, 245, 1, 245, 1, 245, 1, 245, 1, 245, 1, 245, 1, 245, 1, 246, 1, 246, 1, 246, 1, 246, 1, 246, 1, 247, 1, 247, 1, 247, 1, 247, 1, 247, 1, 247, 1, 247, 1, 248, 1, 248, 1, 248, 1, 248, 1, 248, 1, 248, 1, 248, 1, 248, 1, 248, 1, 248, 1, 248, 1, 248, 1, 248, 1, 249, 1, 249, 1, 249, 1, 249, 1, 249, 1, 249, 1, 249, 1, 249, 1, 250, 1, 250, 1, 250, 1, 250, 1, 251, 1, 251, 1, 251, 1, 251, 1, 251, 1, 252, 1, 252, 1, 252, 1, 252, 1, 252, 1, 253, 1, 253, 1, 253, 1, 253, 1, 253, 1, 254, 1, 254, 1, 254, 1, 254, 1, 254, 1, 254, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, 256, 1, 256, 1, 256, 1, 256, 1, 256, 1, 256, 1, 256, 1, 257, 1, 257, 1, 257, 1, 257, 1, 257, 1, 257, 1, 257, 1, 257, 1, 257, 1, 257, 1, 258, 1, 258, 1, 258, 1, 258, 1, 258, 1, 258, 1, 258, 1, 259, 1, 259, 1, 259, 1, 259, 1, 259, 1, 259, 1, 260, 1, 260, 1, 260, 1, 260, 1, 260, 1, 260, 1, 260, 1, 261, 1, 261, 1, 261, 1, 261, 1, 261, 1, 261, 1, 261, 1, 261, 1, 261, 1, 261, 1, 261, 1, 261, 1, 262, 1, 262, 1, 262, 1, 262, 1, 262, 1, 263, 1, 263, 1, 263, 1, 263, 1, 263, 1, 263, 1, 263, 1, 264, 1, 264, 1, 264, 1, 264, 1, 264, 1, 265, 1, 265, 1, 265, 1, 265, 1, 265, 1, 266, 1, 266, 1, 266, 1, 266, 1, 266, 1, 267, 1, 267, 1, 267, 1, 267, 1, 267, 1, 267, 1, 267, 1, 267, 1, 267, 1, 267, 1, 268, 1, 268, 1, 268, 1, 269, 1, 269, 1, 269, 1, 269, 1, 269, 1, 269, 1, 269, 1, 269, 1, 269, 1, 270, 1, 270, 1, 270, 1, 270, 1, 270, 1, 270, 1, 270, 1, 270, 1, 270, 1, 270, 1, 270, 1, 270, 1, 271, 1, 271, 1, 271, 1, 271, 1, 271, 1, 272, 1, 272, 1, 272, 1, 272, 1, 272, 1, 273, 1, 273, 1, 273, 1, 273, 1, 273, 1, 273, 1, 273, 1, 273, 1, 273, 1, 274, 1, 274, 1, 274, 1, 274, 1, 274, 1, 274, 1, 274, 1, 274, 1, 274, 1, 275, 1, 275, 1, 275, 1, 275, 1, 275, 1, 276, 1, 276, 1, 276, 1, 276, 1, 276, 1, 276, 1, 276, 1, 276, 1, 277, 1, 277, 1, 277, 1, 277, 1, 277, 1, 277, 1, 277, 1, 277, 1, 277, 1, 277, 1, 278, 1, 278, 1, 278, 1, 278, 1, 278, 1, 278, 1, 278, 1, 278, 1, 278, 1, 278, 1, 278, 1, 278, 1, 279, 1, 279, 1, 279, 1, 279, 1, 279, 1, 279, 1, 279, 1, 279, 1, 279, 1, 279, 1, 279, 1, 279, 1, 279, 1, 279, 1, 280, 1, 280, 1, 280, 1, 280, 1, 280, 1, 280, 1, 281, 1, 281, 1, 281, 1, 281, 1, 281, 1, 281, 1, 281, 1, 282, 1, 282, 1, 282, 1, 282, 1, 282, 1, 282, 1, 282, 1, 282, 1, 283, 1, 283, 1, 283, 1, 283, 1, 283, 1, 283, 1, 283, 1, 283, 1, 283, 1, 283, 1, 284, 1, 284, 1, 284, 1, 284, 1, 284, 1, 284, 1, 284, 1, 285, 1, 285, 1, 285, 1, 285, 1, 285, 1, 285, 1, 286, 1, 286, 1, 286, 1, 286, 1, 286, 1, 286, 1, 286, 1, 287, 1, 287, 1, 287, 1, 287, 1, 288, 1, 288, 1, 288, 1, 288, 1, 288, 1, 289, 1, 289, 1, 289, 1, 289, 1, 289, 1, 289, 1, 290, 1, 290, 1, 290, 1, 290, 1, 290, 1, 290, 1, 291, 1, 291, 1, 291, 1, 291, 1, 291, 1, 291, 1, 292, 1, 292, 1, 292, 1, 292, 1, 292, 1, 293, 1, 293, 1, 293, 1, 293, 1, 293, 1, 293, 1, 293, 1, 293, 1, 293, 1, 294, 1, 294, 1, 294, 1, 294, 1, 294, 1, 294, 1, 295, 1, 295, 1, 295, 1, 295, 1, 295, 1, 295, 1, 295, 1, 296, 1, 296, 1, 296, 1, 296, 1, 296, 1, 296, 1, 296, 1, 296, 1, 297, 1, 297, 1, 297, 1, 297, 1, 297, 1, 297, 1, 297, 1, 297, 1, 298, 1, 298, 1, 298, 1, 298, 1, 298, 1, 299, 1, 299, 1, 299, 1, 299, 1, 299, 1, 300, 1, 300, 1, 300, 1, 300, 1, 300, 1, 300, 1, 301, 1, 301, 1, 301, 1, 301, 1, 301, 1, 301, 1, 302, 1, 302, 1, 302, 1, 302, 1, 302, 1, 302, 1, 302, 1, 303, 1, 303, 1, 303, 1, 303, 1, 303, 1, 304, 1, 304, 1, 304, 1, 304, 1, 304, 1, 304, 1, 304, 1, 305, 1, 305, 1, 305, 1, 305, 1, 305, 1, 305, 1, 305, 1, 305, 1, 306, 1, 306, 1, 306, 1, 306, 1, 306, 1, 307, 1, 307, 1, 307, 1, 307, 1, 307, 1, 307, 1, 307, 1, 307, 1, 308, 1, 308, 1, 308, 1, 308, 1, 308, 1, 308, 1, 309, 1, 309, 1, 309, 1, 309, 1, 309, 1, 310, 1, 310, 1, 310, 1, 310, 1, 310, 1, 311, 1, 311, 1, 312, 1, 312, 1, 312, 1, 312, 3, 312, 2871, 8, 312, 1, 313, 1, 313, 1, 314, 1, 314, 1, 314, 1, 315, 1, 315, 1, 316, 1, 316, 1, 316, 1, 317, 1, 317, 1, 318, 1, 318, 1, 319, 1, 319, 1, 320, 1, 320, 1, 321, 1, 321, 1, 322, 1, 322, 1, 322, 1, 323, 1, 323, 1, 324, 1, 324, 1, 325, 1, 325, 1, 325, 1, 325, 5, 325, 2904, 8, 325, 10, 325, 12, 325, 2907, 9, 325, 1, 325, 1, 325, 1, 326, 1, 326, 1, 326, 1, 326, 1, 326, 1, 326, 1, 326, 5, 326, 2918, 8, 326, 10, 326, 12, 326, 2921, 9, 326, 1, 326, 1, 326, 1, 327, 1, 327, 1, 327, 1, 327, 5, 327, 2929, 8, 327, 10, 327, 12, 327, 2932, 9, 327, 1, 327, 1, 327, 1, 328, 1, 328, 1, 328, 1, 328, 3, 328, 2940, 8, 328, 1, 329, 1, 329, 1, 329, 3, 329, 2945, 8, 329, 1, 329, 1, 329, 3, 329, 2949, 8, 329, 1, 330, 4, 330, 2952, 8, 330, 11, 330, 12, 330, 2953, 1, 330, 1, 330, 5, 330, 2958, 8, 330, 10, 330, 12, 330, 2961, 9, 330, 3, 330, 2963, 8, 330, 1, 330, 1, 330, 1, 330, 1, 330, 4, 330, 2969, 8, 330, 11, 330, 12, 330, 2970, 1, 330, 1, 330, 3, 330, 2975, 8, 330, 1, 331, 1, 331, 3, 331, 2979, 8, 331, 1, 331, 1, 331, 1, 331, 5, 331, 2984, 8, 331, 10, 331, 12, 331, 2987, 9, 331, 1, 332, 1, 332, 1, 332, 1, 332, 4, 332, 2993, 8, 332, 11, 332, 12, 332, 2994, 1, 333, 1, 333, 1, 333, 1, 333, 5, 333, 3001, 8, 333, 10, 333, 12, 333, 3004, 9, 333, 1, 333, 1, 333, 1, 334, 1, 334, 1, 334, 1, 334, 5, 334, 3012, 8, 334, 10, 334, 12, 334, 3015, 9, 334, 1, 334, 1, 334, 1, 335, 1, 335, 3, 335, 3021, 8, 335, 1, 335, 5, 335, 3024, 8, 335, 10, 335, 12, 335, 3027, 9, 335, 1, 336, 1, 336, 1, 336, 1, 336, 3, 336, 3033, 8, 336, 1, 336, 1, 336, 3, 336, 3037, 8, 336, 4, 336, 3039, 8, 336, 11, 336, 12, 336, 3040, 1, 337, 1, 337, 1, 337, 1, 337, 3, 337, 3047, 8, 337, 1, 337,